:root{--vce-ink:#07111f;--vce-blue:#0077ff;--vce-cyan:#38e8ff;--vce-paper:#f4f8fc;--vce-red:#ff385c;--vce-green:#08a66c}
.vce-page{min-height:calc(100vh - 74px);background:linear-gradient(135deg,#eaf3ff 0,#f8fbff 46%,#e8faff 100%);color:var(--vce-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;padding:clamp(1rem,3vw,2.5rem)}
.vce-shell,.vce-review-shell{width:min(1180px,100%);margin:auto}.vce-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.vce-back,.vce-board-link{color:#25415e;text-decoration:none;font-weight:800;font-size:.9rem;letter-spacing:.02em}.vce-back:hover,.vce-board-link:hover{color:var(--vce-blue)}
.vce-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:1rem;align-items:stretch}.vce-arena,.vce-leaderboard{border:1px solid rgba(23,64,105,.14);background:rgba(255,255,255,.9);box-shadow:0 22px 60px rgba(24,73,122,.12);border-radius:1.5rem;overflow:hidden}.vce-arena{min-height:650px;position:relative;display:grid}.vce-idle,.vce-game,.vce-result{padding:clamp(1.5rem,5vw,4.5rem)}.vce-idle{align-self:center}.vce-kicker{color:var(--vce-blue);font-size:.76rem;font-weight:950;letter-spacing:.17em}.vce-idle h1{font-size:clamp(2.7rem,6vw,5.7rem);line-height:.91;letter-spacing:-.065em;margin:.75rem 0 1.3rem;font-weight:950}.vce-idle h1 span{color:var(--vce-blue)}.vce-intro{max-width:670px;font-size:clamp(1rem,2vw,1.2rem);line-height:1.55;color:#4b6680}.vce-start{display:flex;align-items:center;gap:1.1rem;margin-top:2rem;border:0;border-radius:1rem;background:var(--vce-ink);color:#fff;padding:1rem 1.4rem;box-shadow:0 14px 30px rgba(7,17,31,.24);transition:.16s transform,.16s background}.vce-start:hover{transform:translateY(-2px);background:#102945}.vce-start span{font-size:1.25rem;font-weight:950;letter-spacing:.08em}.vce-start small{border-left:1px solid #45617d;padding-left:1.1rem;color:var(--vce-cyan);font-size:.68rem;font-weight:900;letter-spacing:.12em}.vce-stats{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:2rem;color:#6d8195;font-size:.8rem}.vce-stats strong{color:#27435f}
.vce-leaderboard{min-height:650px;background:var(--vce-ink);color:#fff}.vce-board-head{display:flex;justify-content:space-between;padding:1.25rem;border-bottom:1px solid #1c3852;font-size:.82rem;font-weight:950;letter-spacing:.11em}.vce-board-head small{color:var(--vce-cyan)}.vce-leaderboard ol{list-style:none;margin:0;padding:.65rem}.vce-leaderboard li a{display:grid;grid-template-columns:2.1rem minmax(0,1fr) 2rem;gap:.45rem;padding:.62rem .55rem;color:#dceaff;text-decoration:none;border-radius:.6rem;align-items:center}.vce-leaderboard li a:hover{background:#132b42}.vce-rank{color:#688198;font-variant-numeric:tabular-nums;font-size:.75rem}.vce-name-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.86rem}.vce-leaderboard li strong{text-align:right;color:var(--vce-cyan);font-size:1rem}.vce-empty{padding:2.5rem;text-align:center;color:#8298ad;line-height:1.6}
.vce-game{display:flex;flex-direction:column}.vce-hud{display:grid;grid-template-columns:5rem 1fr 5rem;gap:1rem;align-items:center}.vce-hud>div:first-child,.vce-hud>div:last-child{display:flex;flex-direction:column}.vce-hud>div:last-child{text-align:right}.vce-hud small{font-size:.64rem;letter-spacing:.14em;color:#6b839a;font-weight:950}.vce-hud strong{font-size:1.8rem;font-variant-numeric:tabular-nums;line-height:1}.vce-hud strong.urgent{color:var(--vce-red)}.vce-progress{height:.48rem;border-radius:1rem;background:#dfe9f3;overflow:hidden}.vce-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--vce-blue),var(--vce-cyan));transition:width .08s linear}.vce-topic{margin-top:clamp(2rem,7vh,4.5rem);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--vce-blue)}.vce-question{font-size:clamp(1.45rem,3vw,2.35rem);line-height:1.18;letter-spacing:-.025em;font-weight:850;margin:.65rem 0 1.5rem}.vce-options{display:grid;gap:.7rem}.vce-option{display:grid;grid-template-columns:2.5rem 1fr;gap:.8rem;align-items:center;text-align:left;border:1px solid #d5e1ec;border-radius:.85rem;background:#fff;padding:.82rem 1rem;color:var(--vce-ink);transition:.12s border-color,.12s transform,.12s background}.vce-option:hover{border-color:var(--vce-blue);background:#f2f8ff;transform:translateX(3px)}.vce-option>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.5rem;background:#e9f3ff;color:var(--vce-blue);font-weight:950}.vce-option>strong{font-size:.95rem;line-height:1.35}.vce-source{margin-top:auto;padding-top:1.3rem;color:#7e91a3;font-size:.72rem}
.vce-penalty{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:rgba(7,17,31,.82);backdrop-filter:blur(8px);padding:1rem}.vce-penalty[hidden]{display:none}.vce-penalty-card{width:min(540px,100%);background:#fff;border-radius:1.4rem;padding:2rem;box-shadow:0 30px 100px rgba(0,0,0,.35)}.vce-wrong{display:inline-flex;gap:.3rem;background:var(--vce-red);color:#fff;border-radius:999px;padding:.45rem .75rem;font-size:.8rem;font-weight:950;letter-spacing:.08em}.vce-penalty-card h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#71869a;margin:1.5rem 0 .4rem}.vce-correct-answer{font-size:1.3rem;font-weight:900}.vce-penalty-card p{margin:.65rem 0 0;color:#506a82}
.vce-result{align-self:center;text-align:center}.vce-final-score{font-size:clamp(6rem,17vw,11rem);font-weight:950;letter-spacing:-.08em;line-height:.85;color:var(--vce-blue)}.vce-result h2{font-size:1.25rem;margin:1.3rem 0 2rem}.vce-name-label{display:block;font-size:.75rem;font-weight:850;color:#536c83;margin-bottom:.4rem}.vce-name{width:min(340px,100%);border:1px solid #c9d7e5;border-radius:.75rem;padding:.8rem 1rem;text-align:center;font-size:1rem}.vce-signed-in{color:#536c83}.vce-submit{display:block;margin:1rem auto 0;border:0;border-radius:.8rem;background:var(--vce-ink);color:#fff;font-weight:900;padding:.9rem 1.25rem}.vce-submit-error{color:var(--vce-red);font-size:.85rem;margin:.8rem 0}
.vce-review-page{padding-block:2rem 4rem}.vce-review-hero{display:flex;justify-content:space-between;align-items:end;margin:1.6rem 0 1rem;background:var(--vce-ink);color:#fff;border-radius:1.4rem;padding:clamp(1.3rem,4vw,2.5rem)}.vce-review-hero h1{font-weight:950;letter-spacing:-.04em;margin:.3rem 0}.vce-review-hero p{margin:0;color:#8ea5bb}.vce-review-score{display:flex;flex-direction:column;text-align:right}.vce-review-score strong{font-size:4rem;line-height:.8;color:var(--vce-cyan)}.vce-review-score span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;margin-top:.7rem}.vce-review-list{display:grid;gap:.65rem}.vce-review-item{border:1px solid #d7e2ed;border-radius:1rem;background:#fff;overflow:hidden}.vce-review-item summary{display:grid;grid-template-columns:2.5rem 1fr 1.5rem;gap:.7rem;align-items:center;padding:1rem;cursor:pointer;font-weight:750;line-height:1.35}.vce-review-item summary::marker{display:none}.vce-review-number{font-size:.72rem;color:#7890a6}.vce-review-item.is-correct summary i{color:var(--vce-green)}.vce-review-item.is-wrong summary i{color:var(--vce-red)}.vce-review-body{border-top:1px solid #e4ebf2;padding:1rem}.vce-review-options{display:grid;gap:.45rem}.vce-review-options>div{display:grid;grid-template-columns:1.8rem minmax(0,1fr);gap:.1rem .65rem;padding:.7rem;border-radius:.65rem;background:#f5f8fb}.vce-review-options>div.answer-correct{background:#e8f9f2;color:#076842}.vce-review-options>div.answer-wrong{background:#fff0f3;color:#a91e3a}.vce-review-options small{grid-column:2;color:#698096}.vce-again{display:block;width:max-content;margin:1.3rem auto 0;background:var(--vce-blue);color:#fff;text-decoration:none;border-radius:.8rem;padding:.85rem 1.2rem;font-weight:900}
@media(max-width:900px){.vce-grid{grid-template-columns:1fr}.vce-leaderboard{min-height:0;max-height:520px}.vce-arena{min-height:620px}}@media(max-width:560px){.vce-page{padding:.65rem}.vce-topbar{padding:.25rem}.vce-arena,.vce-leaderboard{border-radius:1rem}.vce-idle,.vce-game,.vce-result{padding:1.25rem}.vce-arena{min-height:600px}.vce-hud{grid-template-columns:4.5rem 1fr 4.5rem}.vce-question{font-size:1.35rem}.vce-option{padding:.72rem}.vce-review-hero{align-items:center}.vce-review-score strong{font-size:3rem}.vce-review-item summary{font-size:.9rem}}
.vce-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;width:min(560px,100%);margin:1.35rem auto .7rem}.vce-mode-picker button{border:1px solid #cbdbea;border-radius:.9rem;background:#fff;padding:.85rem;color:var(--vce-ink)}.vce-mode-picker button.active{border-color:var(--vce-blue);background:#eaf4ff;box-shadow:0 0 0 2px rgba(0,119,255,.1)}.vce-mode-picker strong,.vce-mode-picker small{display:block}.vce-mode-picker small{margin-top:.2rem;color:#6b839a}.vce-chaos-modes{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;align-items:center;margin:.7rem auto 1rem}.vce-chaos-modes>button{border:1px solid #cbdbea;border-radius:999px;background:#fff;padding:.5rem .75rem;font-weight:900}.vce-chaos-modes>button.active{background:var(--vce-ink);color:#fff}.vce-chaos-modes .vce-camera-enable{background:var(--vce-blue);color:#fff;border-color:var(--vce-blue)}.vce-chaos-modes p{flex-basis:100%;margin:0;color:#6b839a;font-size:.75rem}.vce-start:disabled{opacity:.48;cursor:not-allowed}
.vce-board-tabs{display:flex;gap:.35rem;flex-wrap:wrap;padding:0 1rem 1rem}.vce-board-tabs a{font-size:.68rem;text-decoration:none;color:#6b839a;background:#edf3f8;border-radius:999px;padding:.35rem .55rem;font-weight:850}.vce-board-tabs a.active{background:var(--vce-blue);color:#fff}.vce-tools{display:grid;align-content:start;gap:1rem}.vce-theorem,.vce-camera{background:var(--vce-ink);color:#fff;border-radius:1.4rem;overflow:hidden;box-shadow:0 20px 60px rgba(7,17,31,.12)}.vce-theorem .vce-board-head{color:#fff}.vce-theorem-body{padding:1.2rem 1rem 1.5rem;text-align:center}.vce-theorem-recurrence{font-size:clamp(1.45rem,2.5vw,2.15rem);font-weight:900;color:var(--vce-cyan)}.vce-theorem-body p{color:#8ea5bb;font-size:.8rem}.vce-cases{font-size:clamp(1rem,1.7vw,1.35rem);overflow-x:auto}.vce-camera{padding:.65rem;background:#07111f}.vce-camera-stage{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:1rem;background:#142235}.vce-camera video,.vce-camera canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.vce-camera canvas{transform:none}.vce-movement-score{display:flex;justify-content:space-between;align-items:center;padding:.8rem .35rem .2rem}.vce-movement-score span{font-size:.68rem;letter-spacing:.12em;color:#8ea5bb;font-weight:900}.vce-movement-score strong{font-size:2rem;color:var(--vce-cyan)}.vce-combo-live{display:flex;gap:.5rem;padding:.35rem}.vce-combo-live span{flex:1;text-align:center;background:#142235;border-radius:.6rem;padding:.4rem;font-size:.7rem}.vce-combo-live b{color:var(--vce-cyan);font-size:1rem;margin-left:.25rem}
.vce-correct-flash{position:fixed;z-index:2100;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.55rem;background:var(--vce-green);color:#fff;border-radius:999px;padding:.9rem 1.25rem;box-shadow:0 20px 70px rgba(8,166,108,.45);animation:vce-pop .26s ease}.vce-correct-flash[hidden]{display:none}.vce-correct-flash i{font-size:1.25rem}.vce-correct-flash span{opacity:.8}.vce-option.is-correct{border-color:var(--vce-green);background:#e8f9f2;transform:scale(1.01)}@keyframes vce-pop{from{opacity:0;transform:translate(-50%,-50%) scale(.75)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.vce-result-equation,.vce-review-breakdown{text-align:center;color:#536c83;font-weight:800}.vce-review-breakdown{background:#eaf4ff;border-radius:.8rem;padding:.75rem;margin:.5rem 0 1rem}
@media(max-width:900px){.vce-tools{grid-template-columns:1fr 1fr}.vce-camera-stage{aspect-ratio:16/10}}@media(max-width:650px){.vce-tools{grid-template-columns:1fr}.vce-mode-picker{grid-template-columns:1fr}.vce-theorem-recurrence{font-size:1.35rem}.vce-cases{font-size:.9rem}}
.vce-option>strong{min-width:0;color:var(--vce-ink)}.vce-option>strong .MathJax,.vce-option>strong mjx-container{color:inherit!important;font-size:1em!important}
.vce-picker-hero{padding:clamp(2rem,6vw,4.8rem) clamp(1rem,4vw,3rem) 2rem}.vce-picker-hero h1{font-size:clamp(2.5rem,7vw,5.4rem);font-weight:950;line-height:.94;letter-spacing:-.065em;margin:.65rem 0 1rem}.vce-picker-hero h1 span{color:var(--vce-blue)}.vce-picker-hero p{max-width:720px;color:#60778d;font-size:1rem;line-height:1.6}.vce-bank-groups{display:grid;gap:1.2rem;padding:0 clamp(0rem,3vw,2rem) 3rem}.vce-bank-group{background:rgba(255,255,255,.82);border:1px solid #dbe5ef;border-radius:1.4rem;padding:1.1rem}.vce-bank-group>header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.vce-bank-group h2{font-size:1.2rem;font-weight:950;margin:0}.vce-bank-group header span{font-size:.75rem;color:#70869b}.vce-bank-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.65rem}.vce-bank-card{position:relative;display:flex;flex-direction:column;min-height:125px;border:1px solid #dce5ed;border-top:4px solid var(--bank-accent);border-radius:.85rem;background:#fff;padding:.85rem;color:var(--vce-ink);text-decoration:none;transition:.15s transform,.15s box-shadow}.vce-bank-card:hover{color:var(--vce-ink);transform:translateY(-2px);box-shadow:0 12px 28px rgba(7,17,31,.1)}.vce-bank-card>span{font-size:.7rem;letter-spacing:.1em;color:var(--bank-accent);font-weight:950}.vce-bank-card strong{font-size:1rem;margin-top:.35rem}.vce-bank-card small{margin-top:auto;color:#758ba0}.vce-bank-card i{position:absolute;right:.85rem;bottom:.85rem;color:var(--bank-accent)}.is-chaos .vce-picker-hero h1 span,.is-chaos .vce-bank-card>span,.is-chaos .vce-bank-card i{color:#8bbd00}.is-chaos .vce-bank-card{border-top-color:#bdf33b}
.vce-page[style] .vce-kicker,.vce-page[style] .vce-topic{color:var(--bank-accent)}.vce-reference{background:#fff;color:var(--vce-ink);border:1px solid #d5e0ea}.vce-reference .vce-board-head{background:var(--vce-ink);color:#fff}.vce-reference-body{height:min(57vh,620px);background:#edf2f7}.vce-reference-body iframe{width:100%;height:100%;border:0;background:#fff}.vce-reference-link{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-top:1px solid #dce5ed;color:var(--vce-blue);font-size:.78rem;font-weight:850;text-decoration:none}.official-theorem{padding:1rem;text-align:left}.official-theorem>p{margin:.1rem 0 .65rem;color:#344b61;font-size:.82rem}.official-theorem .MathJax_Display,.official-theorem mjx-container[display="true"]{margin:.8rem 0!important;overflow-x:auto;overflow-y:hidden;text-align:left!important}.vce-question .MathJax,.vce-option>strong .MathJax,.vce-question mjx-container,.vce-option>strong mjx-container{color:var(--vce-ink)!important}.vce-question .MathJax,.vce-question mjx-container{font-size:.9em!important}.vce-question span,.vce-option>strong span{max-width:100%}.MathJax_Display,mjx-container[display="true"]{max-width:100%;overflow-x:auto;overflow-y:hidden}
@media(max-width:650px){.vce-picker-hero{padding-top:1.6rem}.vce-bank-groups{padding-inline:0}.vce-bank-group{border-radius:1rem}.vce-reference-body{height:430px}.official-theorem{font-size:.72rem}.official-theorem .MathJax_Display,.official-theorem mjx-container[display="true"]{font-size:.8em!important}.vce-question .MathJax,.vce-option>strong .MathJax,.vce-question mjx-container,.vce-option>strong mjx-container{white-space:normal!important}}
.vce-name-cell small{display:block;color:#71869a;font-size:.55rem;letter-spacing:.08em}.vce-recording-preview{width:min(460px,100%);margin:1rem auto}.vce-recording-preview video{display:block;width:100%;border-radius:1rem;background:#07111f}.vce-recording-preview small{display:block;margin-top:.4rem;color:#70869b}.vce-run-video{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:1rem;align-items:center;margin:1rem 0 1.5rem;padding:1rem;border-radius:1rem;background:#07111f;color:#fff}.vce-run-video video{width:100%;max-height:480px;border-radius:.75rem}.vce-run-video div{display:grid;gap:.45rem}.vce-run-video span{color:#91a7bc;font-size:.8rem}.vce-run-video a{color:var(--vce-cyan)}.vce-legacy-video{margin:1rem 0 1.5rem;padding:.85rem 1rem;border:1px solid #d5e0ea;border-radius:.8rem;color:#6b7f91;background:#f4f7fa}
@media(max-width:650px){.vce-run-video{grid-template-columns:1fr}.vce-recording-preview{margin:.75rem auto}}
