.cv2{--bg:#0B1117;--surface:#161C24;--surface-2:#1C242E;--border:#2D3748;--border-2:#3F4852;--ink:#DDE3EC;--ink-2:#BEC7D4;--ink-3:#88919D;--accent:#00A3FF;--accent-2:#98CBFF;--on-accent:#00243B;--accent-soft:rgba(0,163,255,.13);--accent-line:#2A6FA8;--ok:#00E639;--ok-soft:rgba(0,230,57,.12);--warn:#FFBA20;--warn-soft:rgba(255,186,32,.12);--danger:#FFB4AB;--danger-soft:rgba(255,180,171,.12);--pro-g:linear-gradient(135deg,#7C3AED,#DB2777);--sh-1:0 1px 0 rgba(255,255,255,.04) inset,0 8px 24px rgba(0,0,0,.4);--sh-2:0 12px 34px rgba(0,0,0,.55);--glow-accent:0 0 12px -2px rgba(0,163,255,.3);--c-grid:#2D3748;--c-axis:#88919D;--c-trend:rgba(0,163,255,.55);--c-trend-t:#98CBFF;--c-cohort:#FFBA20;--c-cohort-t:#C89B3C;--c-spark:#6B7A9E;--c-spark-dim:#3A465E;--r-sm:4px;--r-md:8px;--r-lg:8px;--card-h:236px;--rail-h:calc(2 * var(--card-h) + 12px + 8px);--hdr-h:80px;--proto-h:53px;--band-h:0px;--main-pad:31px;--font-head:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--deck-h:calc(100vh - var(--hdr-h) - var(--proto-h) - var(--band-h) - var(--main-pad));min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}.cv2 h1,.cv2 h2,.cv2 h3{font-family:var(--font-head);letter-spacing:-.01em}.cv2 *{box-sizing:border-box;margin:0;padding:0}.cv2 button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.cv2 button:focus-visible,.cv2 summary:focus-visible,.cv2 input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.cv2 .num{font-family:var(--mono);font-variant-numeric:tabular-nums}.cv2 .hdr{position:sticky;top:0;z-index:40;background:#0b1117eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.cv2 .hdr-in{display:flex;align-items:center;gap:18px;padding:12px 20px}.cv2 .brand{display:flex;align-items:center;gap:9px;flex:none}.cv2 a.brand{color:inherit;text-decoration:none;cursor:pointer;transition:opacity .15s ease,transform .16s ease-out}@media(hover:hover)and (pointer:fine){.cv2 a.brand:hover{opacity:.82}}.cv2 a.brand:active{transform:scale(.98)}.cv2 a.brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px}.cv2 .brand .blogo{width:30px;height:30px;border-radius:9px;overflow:hidden;flex:none;box-shadow:0 4px 12px #0006}.cv2 .brand .blogo img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transform:scale(2.05);transform-origin:center;display:block}.cv2 .brand .btext{font-family:var(--font-head);font-size:19px;font-weight:700;letter-spacing:.01em;white-space:nowrap}.cv2 .brand .btext i{font-style:normal;color:var(--ink-3);font-weight:600}@media(max-width:760px){.cv2 .brand .btext{font-size:15px}.cv2 .brand .btext i{display:none}}.cv2 .hdr-proto{display:flex;align-items:center;gap:12px;height:52px;padding:0 20px;border-top:1px solid var(--border);background:#ffffff03}.cv2 .proto-lbl{flex:none;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.16em;color:var(--ink-3);white-space:nowrap}.cv2 .proto-gap{flex:1;min-width:8px}.cv2 .proto-btn,.cv2 .proto-week{flex:none;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);white-space:nowrap}.cv2 .proto-btn .lbl,.cv2 .proto-week .lbl{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.16em;color:var(--ink-3)}.cv2 .proto-btn .val,.cv2 .proto-week .val{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--ink)}.cv2 button.proto-btn{cursor:pointer;transition:border-color .15s ease}.cv2 button.proto-btn:hover{border-color:var(--accent-line)}.cv2 .proto-btn .tdot{width:7px;height:7px;border-radius:50%;flex:none;background:currentColor}.cv2 .proto-week.hit .val{color:var(--ok)}.cv2 .proto-week.behind .val{color:var(--warn)}.cv2 .proto-week.s-days .val,.cv2 .proto-btn.s-days .val,.cv2 .proto-week.s-theory .val{color:var(--ink)}@media(max-width:900px){.cv2 .s-days{display:none}}@media(max-width:760px){.cv2 .proto-lbl{display:none}}@media(max-width:640px){.cv2 .proto-btn.s-tempo{display:none}}.cv2 .chips{display:flex;gap:3px;align-items:center;overflow-x:auto;flex:none;min-width:0;padding:3px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.cv2 .chip{flex:none;display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 13px;border-radius:2px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;border:none;color:var(--ink-3);background:none;transition:background .15s,color .15s}.cv2 .chip:hover{color:var(--ink)}.cv2 .chip.on{color:var(--ink-2);background:none}.cv2 .chip.focus{background:var(--accent-2);color:#0b1117}.cv2 .chip.add{border-style:dashed;color:var(--ink-3);font-weight:600}.cv2 .addwrap{position:relative;flex:none;display:inline-flex}.cv2 .chip.plus{width:26px;padding:0;justify-content:center;color:var(--ink-3);font-size:15px;font-weight:600;border-left:1px solid var(--border)}.cv2 .chip.plus.on{color:var(--accent-2)}.cv2-addveil{position:fixed;inset:0;z-index:69}.cv2-addmenu{position:fixed;z-index:70;display:flex;flex-direction:column;min-width:150px;padding:5px;border:1px solid #2D3748;border-radius:8px;background:#161c24;box-shadow:0 10px 28px #00000073}.cv2-addmenu button{display:block;text-align:left;padding:9px 12px;border-radius:8px;font-size:12.5px;font-weight:700;color:#bec7d4;white-space:nowrap;background:none;border:none;cursor:pointer;font-family:inherit}.cv2-addmenu button:hover{background:#00a3ff1f;color:#00a3ff}.cv2 .chip .x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:11px;line-height:1;opacity:.75}.cv2 .chip.on:not(.focus) .x:hover{background:var(--danger-soft);color:var(--danger)}.cv2 .hdr-right{display:flex;align-items:center;gap:10px;flex:none;margin-left:auto}.cv2 .hud{display:flex;align-items:stretch;flex:none;height:56px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);overflow:hidden;box-shadow:var(--sh-1)}.cv2 .hud-seg{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:0 13px;background:none;border:none;white-space:nowrap}.cv2 .hud-seg+.hud-seg{border-left:1px solid var(--border)}.cv2 .hud-seg .val{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:13px;font-weight:700;color:var(--ink);line-height:1.1}.cv2 .hud-seg .val.none{color:var(--ink-3)}.cv2 .hud-seg .lbl{font-family:var(--mono);color:var(--ink-3);font-size:8.5px;font-weight:700;letter-spacing:.16em;line-height:1}.cv2 .hud-seg .gl{font-style:normal;font-size:11px;line-height:1}.cv2 .hud .tdot{font-style:normal;font-size:12px;line-height:1;background:none}.cv2 .hud .tdot.unset{color:var(--ink-3)}.cv2 .hud .tierdot{width:6px;height:6px;border-radius:50%;flex:none}.cv2 .hud .tierdot.GUEST{background:var(--ink-3)}.cv2 .hud .tierdot.FREE{background:var(--accent)}.cv2 .hud .tierdot.PRO{background:var(--pro-g)}.cv2 button.hud-seg{cursor:pointer;transition:background-color .15s ease,color .15s ease}@media(hover:hover)and (pointer:fine){.cv2 button.hud-seg:hover{background:var(--surface-2);color:var(--ink)}}.cv2 button.hud-seg:active{background:var(--border)}.cv2 .hud button:focus-visible{outline-offset:-2px;border-radius:0}.cv2 .hud-seg.s-pilot .val{font-variant-numeric:tabular-nums;letter-spacing:.06em}.cv2 .pilotcard{position:fixed;z-index:60;width:266px;border:1px solid var(--border-2);border-radius:14px;background:var(--surface);box-shadow:0 18px 44px #0000008c,0 0 0 1px #0000004d;padding:12px 13px 10px;pointer-events:none;transform:translate(-50%);animation:cv2cardin .16s ease-out}@keyframes cv2cardin{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.cv2 .pc-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:9px}.cv2 .pc-cs{font-size:14.5px;font-weight:900;letter-spacing:.06em;color:var(--ink);font-variant-numeric:tabular-nums}.cv2 .pc-rank{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--warn)}.cv2 .pc-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 0;font-size:11.5px}.cv2 .pc-k{color:var(--ink-3);font-weight:600}.cv2 .pc-v{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}.cv2 .pc-bar{height:3px;border-radius:2px;background:var(--border-2);overflow:hidden;margin:7px 0 6px}.cv2 .pc-bar i{display:block;height:100%;border-radius:2px;background:var(--warn)}.cv2 .pc-next{font-size:11px;font-weight:700;color:var(--warn);line-height:1.4}.cv2 .pc-next.top{color:var(--ok)}.cv2 .pc-ahead{margin-top:7px;font-size:11.5px;font-weight:700;color:var(--ink-2)}.cv2 .pc-foot{margin-top:9px;padding-top:8px;border-top:1px solid var(--border);font-size:9.5px;font-weight:600;line-height:1.45;color:var(--ink-3)}@media(max-width:960px){.cv2 .hud-seg.s-pilot{display:none}}@media(max-width:880px){.cv2 .hud-seg.s-streak{display:none}}.cv2 .langseg{display:flex;border:1px solid var(--border-2);border-radius:999px;overflow:hidden}.cv2 .langseg button{height:26px;padding:0 10px;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:var(--ink-3)}.cv2 .langseg button.on{background:var(--accent);color:#fff}.cv2 .langseg button:not(.on):hover{color:var(--accent)}.cv2 .avatar{width:56px;height:56px;border-radius:50%;background:var(--surface-2);color:var(--ink);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;flex:none;font-size:18px;font-weight:800;letter-spacing:.04em;border:1px solid var(--border-2);transition:border-color .15s ease,transform .16s ease-out}.cv2 .avatar .avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;border-radius:50%}.cv2 .avatar.guest{color:var(--ink-3);border-style:dashed}@media(hover:hover)and (pointer:fine){.cv2 .avatar:hover{border-color:var(--accent-line)}}.cv2 .avatar:active{transform:scale(.94)}.cv2 .btn-ghost{border:1px solid var(--border-2);color:var(--ink-2);height:38px;padding:0 15px;border-radius:11px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.cv2 .btn-ghost:hover{border-color:var(--accent-line);color:var(--accent)}.cv2 .hdr-right .btn-ghost{height:32px;padding:0 14px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.04em;transition:border-color .15s ease,color .15s ease,transform .16s ease-out}.cv2 .hdr-right .btn-ghost:active{transform:scale(.97)}.cv2 .propill{flex:none;display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.06em;border:none;background:var(--pro-g);color:#fff;white-space:nowrap;box-shadow:0 2px 8px #7c3aed38;transition:box-shadow .15s ease,transform .16s ease-out}@media(hover:hover)and (pointer:fine){.cv2 .propill:hover{box-shadow:0 4px 14px #7c3aed52}}.cv2 .propill:active{transform:scale(.97)}.cv2 .tempo{font-size:11px;font-weight:800;letter-spacing:.4px;padding:5px 11px;border-radius:999px;white-space:nowrap;flex:none}.cv2 .t-yogun{color:#ffa98b;background:#ff785029}.cv2 .t-std{color:#8fb8ff;background:#5b97ff29}.cv2 .t-rahat{color:#5fe3b4;background:#3cd9a024}.cv2 .t-serbest{color:var(--warn);background:var(--warn-soft)}.cv2.hasband{--band-h:35px}.cv2 .towerband{display:flex;align-items:stretch;height:34px;border-bottom:1px solid var(--border);background:var(--surface);overflow:hidden}.cv2 .tb-view{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 32px),transparent)}.cv2 .tb-run{display:inline-flex;align-items:center;white-space:nowrap;flex:none;animation:tbscroll linear infinite;will-change:transform}@keyframes tbscroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.cv2 .towerband:hover .tb-run{animation-play-state:paused}.cv2 .tb-ev{position:relative;display:inline-flex;align-items:center;gap:8px;padding:0 17px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.06em;color:var(--ink-2);text-transform:uppercase}.cv2 .tb-ev:before{content:"";position:absolute;left:-1px;top:50%;width:3px;height:3px;margin-top:-1.5px;border-radius:50%;background:var(--border-2)}.cv2 .tb-ev.t-hi .tb-tx{color:var(--warn);font-weight:800}.cv2 .tb-ev.t-mid .tb-tx{color:var(--ink);font-weight:700}.cv2 .tb-ev.t-low .tb-tx{color:var(--ink-2)}.cv2 .tb-ev.t-stat .tb-tx{color:var(--ink-3)}.cv2 .tb-ev.t-notice .tb-tx{color:var(--accent);font-weight:700}.cv2 .tb-ev.me{height:24px;margin:0 9px;padding:0 11px;border-radius:999px;border:1px solid var(--accent-line);background:var(--accent-soft);box-shadow:0 0 0 1px #4c8dff1a,0 2px 12px #4c8dff33}.cv2 .tb-ev.me:before,.cv2 .tb-ev.me+.tb-ev:before{display:none}.cv2 .tb-ev.me .tb-tx{color:#fff;font-weight:800}.cv2 .tb-me{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.13em;line-height:1;color:var(--on-accent);border:none;background:var(--accent);border-radius:var(--r-sm);padding:3px 6px}@media(max-width:700px){.cv2 .tb-ev{padding:0 13px}}@media(prefers-reduced-motion:reduce){.cv2 .tb-run{animation:none}.cv2 .tb-view{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}.cv2 main{max-width:1440px;margin:0 auto;padding:14px 20px 12px}.cv2 .deck{display:grid;gap:12px;height:var(--deck-h);min-height:560px;grid-template-columns:minmax(0,1fr) clamp(310px,26vw,392px);grid-template-rows:minmax(0,1fr);grid-template-areas:"rail side"}.cv2 .deck.has-filter{grid-template-rows:auto minmax(0,1fr);grid-template-areas:"filter side" "rail side"}.cv2 .deckside{grid-area:side;display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}.cv2 .deckside .d-coach{flex:0 1 auto;max-height:48%}.cv2 .deckside .d-results{flex:1 1 auto;min-height:0}.cv2 .dpanel{position:relative;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1);min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.cv2 .dmax{position:absolute;top:10px;right:10px;z-index:6;width:34px;height:34px;border-radius:10px;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;box-shadow:0 0 0 1px #4c8dff1f,0 4px 14px #00000073}.cv2 .dmax:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.cv2 .deckmaxview{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px;height:var(--deck-h)}.cv2 .dback{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:11px;border:1px solid var(--border-2);font-size:12.5px;font-weight:700;color:var(--ink-2);background:var(--surface)}.cv2 .dback:hover{border-color:var(--accent-line);color:var(--accent)}@media(max-width:1100px){.cv2 .deck{display:flex;flex-direction:column;height:auto}.cv2 .deckmaxview{height:auto}.cv2 .deckside{width:100%}.cv2 .deckside .d-coach{max-height:none}}.cv2 .d-coach{padding:9px 14px 6px;overflow:hidden;display:flex;flex-direction:column;gap:7px}.cv2 .coachstream{display:flex;align-items:center;gap:9px;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;flex:none}.cv2 .coachstream::-webkit-scrollbar{display:none}.cv2 .cs-card{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid var(--border);border-left:3px solid var(--border-2);border-radius:999px;background:var(--surface-2);padding:5px 14px;font-size:12.5px;line-height:1.4;color:var(--ink-2);animation:cv2rise .25s ease}.cv2 .cs-card.intro{color:#fff;border-left-color:var(--accent)}.cv2 .cs-card.gold{border-left-color:var(--warn)}.cv2 .cs-card.ok{border-left-color:var(--ok);color:var(--ok);font-weight:700}.cv2 .cs-card.report{border-color:var(--accent-line);border-left-color:var(--accent);background:var(--accent-soft)}.cv2 .cs-card .coach-typing{margin-top:0;padding:3px 10px}.cv2 .cs-tag{font-size:9.5px;font-weight:800;letter-spacing:.14em;color:var(--accent);text-transform:uppercase}.cv2 .cs-up{color:#7ce3bc}.cv2 .cs-down{color:#fca5a5}.cv2 .cs-hook{color:var(--warn);font-weight:600}.cv2 .cs-card .cs-btn{height:24px;padding:0 11px;border-radius:999px;font-size:11px}.cv2 .dtc-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:none}.cv2 .dtc-title{flex:none;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}.cv2 .dtc-side{margin-left:auto;display:flex;align-items:center;gap:10px}.cv2 .ladder{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding:4px 2px}.cv2 .lstep{position:relative;flex:none}.cv2 .lchip{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 11px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);font-size:12px;color:var(--ink);white-space:nowrap;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .16s ease-out}.cv2 .lchip:disabled{cursor:default}.cv2 .lchip b{flex:1;min-width:0;text-align:left;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv2 .lstep.done .lchip b{text-decoration:line-through;text-decoration-thickness:1px}.cv2 .lnum{flex:none;width:17px;height:17px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;border:1px solid var(--border-2);color:var(--ink-2);background:var(--surface);font-variant-numeric:tabular-nums}.cv2 .lgate{flex:none;font-size:9.5px;font-weight:800;letter-spacing:.06em;white-space:nowrap;padding:2px 6px;border-radius:4px;border:1px solid var(--border-2);color:var(--ink-2);background:var(--surface)}.cv2 .lstep.done .lgate{opacity:.55}.cv2 .lpts{font-size:11.5px;font-weight:800;color:var(--warn);font-variant-numeric:tabular-nums}.cv2 .lpts.capped{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.02em;text-transform:uppercase}.cv2 .lscore{font-size:11.5px;font-weight:800;color:var(--ok)}.cv2 .lretry{font-size:11px;font-weight:800;color:var(--warn)}.cv2 .lstep.active .lchip{border-color:var(--accent-line);background:var(--accent-soft)}.cv2 .lstep.active .lnum{background:none;border-color:var(--accent)}.cv2 .lstep.done .lchip{background:var(--surface);opacity:.6}.cv2 .lstep.done .lnum{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.cv2 .lstep.retry .lchip{border-color:#f5b84173}.cv2 .lstep.retry .lnum{color:var(--warn);border-color:#f5b84180}.cv2 .lstep.bonus .lchip{border-color:#f5b84161;background:linear-gradient(180deg,#f5b8411a,#f5b84108)}.cv2 .lstep.bonus .lnum{border-color:#f5b8418c;color:var(--warn);background:var(--warn-soft)}.cv2 .lstep.locked .lchip{border-style:dashed;border-color:var(--border-2);opacity:.85}.cv2 .lstep.locked .lnum{background:transparent;border-color:var(--border-2)}.cv2 .lstep.locked .lpts{color:var(--accent);letter-spacing:.06em}.cv2 .lstep.locked .lchip:hover{border-color:var(--accent-line);opacity:1}@media(hover:hover)and (pointer:fine){.cv2 .lstep:not(.done) .lchip:hover{border-color:var(--accent-line);background:var(--surface)}}.cv2 .lchip:not(:disabled):active{transform:scale(.98)}.cv2 .lstep.goal .lgoal{display:flex;align-items:center;gap:8px;width:100%;height:38px;padding:0 11px;border:1px dashed rgba(245,184,65,.42);border-radius:var(--r-sm);background:none;color:var(--warn);font-size:11.5px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.cv2 .lstep.goal.reached .lgoal{border-color:#34d39966;color:var(--ok)}.cv2 .lstep.goal .lgoal.rich{flex-direction:row;align-items:center;gap:8px;height:38px;min-height:0;padding:0 11px;text-align:left;position:relative;overflow:hidden}.cv2 .lgoal.rich b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11.5px;font-weight:800;letter-spacing:.02em}.cv2 .lgoal.rich small{flex:none;font-size:10px;font-weight:600;letter-spacing:.01em;color:var(--muted)}.cv2 .lgoal .gbar{position:absolute;left:0;right:0;bottom:0;width:auto;height:2px;margin:0;background:var(--border-2);overflow:hidden}.cv2 .lgoal .gbar i{display:block;height:100%;background:var(--warn);transition:width .42s cubic-bezier(.22,1,.36,1)}.cv2 .lstep.goal.ready .lgoal{border-style:solid;border-color:#f5b841d9;background:var(--warn-soft)}.cv2 .lstep.goal.ready .lgoal small{color:var(--warn)}.cv2 .lstep.goal.close .lgoal{border-color:#f5b841b3}.cv2 button.lgoal{cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .16s ease-out}@media(hover:hover)and (pointer:fine){.cv2 button.lgoal:hover{border-color:#f5b841bf;background:var(--warn-soft)}}.cv2 button.lgoal:active{transform:scale(.98)}.cv2 .lstep.goal:after{right:0}.cv2 .leaguechip{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 11px;border:1px solid var(--border-2);border-radius:999px;background:var(--surface);font-size:11px;font-weight:700;color:var(--ink-2);white-space:nowrap;transition:border-color .15s,color .15s}.cv2 .leaguechip b{font-weight:800;color:var(--ink)}.cv2 .leaguechip .lc-gl{font-style:normal;font-size:12px;line-height:1}.cv2 .leaguechip .lc-rank{color:var(--accent);font-weight:900}.cv2 .leaguechip .lc-left{color:var(--ink-3);font-size:10px;font-variant-numeric:tabular-nums}.cv2 .leaguechip.out b{color:var(--warn)}@media(hover:hover)and (pointer:fine){.cv2 .leaguechip:hover{border-color:var(--accent-line);color:var(--ink)}}.cv2 .modal.lsum{text-align:center}.cv2 .lsum .ls-rank{display:flex;flex-direction:column;align-items:center;gap:2px;margin:14px 0 16px}.cv2 .lsum .ls-rank b{font-size:56px;font-weight:900;line-height:1;letter-spacing:-.03em;color:var(--ink)}.cv2 .lsum .ls-rank span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.cv2 .lsum .ls-verdict{display:flex;align-items:center;justify-content:center;gap:9px;font-size:15px;line-height:1.4;padding:12px 14px;border-radius:14px;border:1px solid var(--border-2)}.cv2 .lsum.up .ls-verdict{border-color:#34d39973;background:var(--ok-soft);color:var(--ok)}.cv2 .lsum.down .ls-verdict{border-color:#f8717166;background:var(--danger-soft);color:var(--danger)}.cv2 .lsum.stay .ls-verdict{color:var(--ink-2)}.cv2 .lsum .ls-note{margin-top:12px;font-size:12.5px;line-height:1.55;color:var(--ink-2)}.cv2 .lsum .btn{width:100%}.cv2 .lg-intro{margin:10px 0 12px;padding:11px 13px;border:1px solid rgba(52,211,153,.4);border-radius:12px;background:var(--ok-soft);font-size:12.5px;line-height:1.55;color:var(--ink)}.cv2 .lg-sub{font-size:12.5px;line-height:1.5;color:var(--ink-2);margin-bottom:12px}.cv2 .lgtable{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;overflow:hidden}.cv2 .lgrow{display:flex;align-items:center;gap:10px;padding:8px 13px;font-size:12.5px;border-bottom:1px solid var(--border);background:var(--surface)}.cv2 .lgrow:last-child{border-bottom:none}.cv2 .lg-n{flex:none;width:20px;color:var(--ink-3);font-weight:800;font-size:11px}.cv2 .lg-cs{flex:1;min-width:0;font-weight:800;letter-spacing:.05em;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis}.cv2 .lg-p{flex:none;font-weight:900;color:var(--ink);font-variant-numeric:tabular-nums}.cv2 .lgrow.me{background:var(--accent-soft)}.cv2 .lgrow.me .lg-cs{color:#fff}.cv2 .lg-you{flex:none;font-size:8.5px;font-weight:900;letter-spacing:.12em;color:#fff;background:var(--accent);border-radius:4px;padding:2px 5px}.cv2 .lgrow.z-up .lg-p{color:var(--ok)}.cv2 .lgrow.z-down .lg-p{color:var(--danger)}.cv2 .lgline{position:relative;height:0;border-top:2px dashed var(--border-2)}.cv2 .lgline span{position:absolute;right:12px;top:-8px;padding:0 7px;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;background:var(--surface)}.cv2 .lgline.up{border-top-color:#34d39980}.cv2 .lgline.up span{color:var(--ok)}.cv2 .lgline.down{border-top-color:#f8717180}.cv2 .lgline.down span{color:var(--danger)}.cv2 .lgrules{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.cv2 .lgrules div{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--ink-3)}.cv2 .lgrules b{color:var(--warn);font-weight:900;font-variant-numeric:tabular-nums}.cv2 .lg-note{margin-top:10px;font-size:10.5px;line-height:1.5;color:var(--ink-3)}@media(max-width:520px){.cv2 .lgrules{grid-template-columns:1fr}}@media(max-width:760px){.cv2 .leaguechip .lc-left{display:none}}.cv2 .coach-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.86fr);gap:18px;align-items:start;margin-top:4px}.cv2 .coach-left{min-width:0;display:flex;flex-direction:column}.cv2 .coach-right{min-width:0}.cv2 .coach-right .checklist{margin-top:0}@media(max-width:860px){.cv2 .coach-split{grid-template-columns:1fr;gap:12px}}.cv2 .d-coach h2{font-size:17px;font-weight:900;letter-spacing:-.01em;margin-top:6px;text-wrap:balance}.cv2 .d-coach .coach-note{margin-top:7px;font-size:13px;line-height:1.55;color:#fff;animation:cv2rise .25s ease}.cv2 .coach-typing{display:inline-flex;align-items:center;gap:4px;margin-top:9px;padding:9px 13px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:14px 14px 14px 4px}.cv2 .coach-typing i{width:6px;height:6px;border-radius:50%;background:#fff;animation:cv2typing 1s ease-in-out infinite}.cv2 .coach-typing i:nth-child(2){animation-delay:.15s}.cv2 .coach-typing i:nth-child(3){animation-delay:.3s}@keyframes cv2typing{0%,70%,to{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.cv2 .coach-note strong{color:var(--ink);font-weight:700}.cv2 .hero-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cv2 .eyebrow{font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.cv2 .sampletag{font-size:9.5px;font-weight:800;letter-spacing:.14em;color:var(--warn);background:var(--warn-soft);border:1px solid #4A3A14;border-radius:999px;padding:2px 9px}.cv2 .guide-link{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-3);text-decoration:none;white-space:nowrap;transition:color .15s}.cv2 .guide-link:hover{color:var(--accent)}.cv2 .guide-link.drawer{display:block;margin:14px 0 0;font-size:12px;letter-spacing:0;color:var(--ink-2)}.cv2 .guide-link.drawer:hover{color:var(--accent)}.cv2 .hero-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.cv2 .hstat{display:flex;align-items:baseline;gap:6px;border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:5px 13px;font-size:12px;color:var(--ink-2)}.cv2 .hstat b{font-size:13.5px;font-weight:800;color:var(--ink)}.cv2 .hstat.ok{background:var(--ok-soft);border-color:#34d3994d;color:var(--ok)}.cv2 .hstat.ok b{color:var(--ok)}.cv2 .hstat.focus{background:var(--warn-soft);border-color:#4a3a14;color:var(--warn)}.cv2 .hstat.focus b{color:var(--warn)}.cv2 .hero-cta{display:flex;align-items:center;gap:16px;margin-top:11px;flex-wrap:wrap}.cv2 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 22px;border-radius:13px;font-size:14px;font-weight:800;letter-spacing:.01em;transition:background .15s,transform .1s}.cv2 .btn:active{transform:scale(.985)}.cv2 .btn-primary{background:var(--accent);color:#fff}.cv2 .btn-primary:hover{background:#3b78e8}.cv2 .hero-prog{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--ink-2);flex-wrap:wrap}.cv2 .hero-prog .focuschip{display:inline-flex;align-items:baseline;gap:5px;background:var(--warn-soft);border:1px solid #4A3A14;border-radius:999px;padding:5px 12px;color:var(--warn);font-size:12px}.cv2 .hero-prog .focuschip b{font-weight:800;color:var(--warn)}.cv2 .dtc-side .prognum{font-size:12px;color:var(--ink-2);white-space:nowrap}.cv2 .dtc-side .prognum b{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--ink)}.cv2 .dtc-side .prognum.over b{color:var(--warn)}.cv2 .hero-prog .progover{color:var(--warn);font-weight:800}.cv2 .bar{width:150px;height:9px;border-radius:999px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border)}.cv2 .bar i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .35s cubic-bezier(.3,.9,.4,1)}.cv2 .bar i.over{background:linear-gradient(90deg,var(--accent),#D99A12)}.cv2 .coachlog-wrap{flex:none;position:relative;margin-top:9px}.cv2 .coachlog{display:flex;flex-direction:column;gap:6px;max-height:96px;overflow-y:auto;padding-right:3px}.cv2 .coachlog-wrap.more:after{content:"";position:absolute;left:0;right:3px;bottom:0;height:30px;pointer-events:none;border-radius:0 0 9px 9px;background:linear-gradient(to bottom,transparent,var(--surface) 88%);backdrop-filter:blur(1.4px);-webkit-backdrop-filter:blur(1.4px)}.cv2 .clog-item{font-size:12.5px;line-height:1.5;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--border-2);border-radius:9px;padding:8px 11px;animation:cv2rise .25s ease}.cv2 .clog-item:first-child{color:var(--ink);border-left-color:var(--accent)}.cv2 .clog-item.gold{border-left-color:var(--warn)}.cv2 .checklist{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:6px}.cv2 .tasklist{position:relative;min-height:0}.cv2 .tasklist-scroll{display:flex;flex-direction:column;gap:6px;max-height:114px;overflow-y:auto;padding-right:3px;position:relative;scroll-behavior:smooth}.cv2 .tasklist.more-bottom:after,.cv2 .tasklist.more-top:before{content:"";position:absolute;left:0;right:3px;height:26px;pointer-events:none;z-index:2}.cv2 .tasklist.more-bottom:after{bottom:0;background:linear-gradient(to bottom,transparent,var(--surface) 88%);backdrop-filter:blur(1.4px);-webkit-backdrop-filter:blur(1.4px)}.cv2 .tasklist.more-top:before{top:0;background:linear-gradient(to top,transparent,var(--surface) 88%);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.cv2 .cl-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.cv2 .cl-head b{font-size:13.5px;font-weight:800}.cv2 .cl-head-cta{align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:9px}.cv2 .cta-mission{height:32px;padding:0 13px;font-size:12px;white-space:nowrap;border-radius:var(--r-sm);border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-2)}.cv2 .cta-mission:hover{border-color:var(--accent);color:var(--accent)}.cv2 .cl-head-cta .bar{width:82px}.cv2 .targetchip{display:inline-flex;align-items:baseline;gap:5px;background:var(--surface);border:1px solid var(--border-2);border-radius:999px;padding:5px 12px;font-size:12px;color:var(--ink-2)}.cv2 .targetchip .tc-k{color:var(--ink-3);font-weight:700}.cv2 .targetchip b{font-weight:800;color:var(--ink)}.cv2 .cl-head-cta .progover{color:var(--warn);font-weight:800}.cv2 .citem.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 10px #4c8dff38}.cv2 .citem{display:flex;align-items:center;gap:11px;padding:7px 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.cv2 .citem:hover{border-color:var(--accent-line)}.cv2 .citem .cbox{flex:none;width:20px;height:20px;border-radius:7px;border:1.5px solid var(--border-2);display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;transition:background .15s,border-color .15s}.cv2 .citem .clab{flex:1;min-width:0;font-size:13px;color:var(--ink)}.cv2 .citem .clab b{font-weight:800}.cv2 .citem .clab small{display:block;font-size:11.5px;color:var(--ink-3);margin-top:1px}.cv2 .citem .cpts{flex:none;font-size:13px;font-weight:900;color:var(--accent)}.cv2 .citem.done{background:var(--ok-soft);border-color:#34d3994d}.cv2 .citem.done .cbox{background:var(--ok);border-color:var(--ok)}.cv2 .citem.done .cpts{color:var(--ok)}.cv2 .citem.bonusrow{border-style:dashed}.cv2 .citem.bonusrow .cpts{color:var(--warn)}.cv2 .citem.bonusrow.done{background:#f5b84114;border-color:#f5b8414d}.cv2 .citem.bonusrow.done .cbox{background:#d99a12;border-color:#d99a12}.cv2 .demo-hint{font-size:10.5px;color:var(--ink-3);margin-top:5px}.cv2 .goalbanner{display:flex;align-items:center;gap:9px;border-radius:12px;padding:10px 14px;font-size:13.5px;font-weight:800;animation:cv2rise .25s ease}.cv2 .goalbanner.hit{background:var(--ok-soft);border:1px solid rgba(52,211,153,.3);color:var(--ok)}.cv2 .goalbanner.over{background:var(--warn-soft);border:1px solid rgba(255,186,32,.3);color:var(--warn)}@keyframes cv2rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.cv2 .cheer{position:absolute;top:10px;left:12px;right:12px;z-index:40;display:flex;align-items:center;gap:12px;margin:0;padding:11px 14px 14px;border-radius:14px;border:1px solid rgba(52,211,153,.28);background:#08182ef7;box-shadow:0 12px 32px #0000008c;overflow:hidden;animation:cv2cheerin .35s cubic-bezier(.2,.9,.3,1.15)}.cv2 .cheer.gold{border-color:#f5b8414d}@keyframes cv2cheerin{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}.cv2 .ch-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ok);transform-origin:left center;animation-name:cv2cheerbar;animation-timing-function:linear;animation-fill-mode:forwards}.cv2 .cheer.gold .ch-bar{background:var(--warn)}@keyframes cv2cheerbar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.cv2 .cheer.bye{opacity:0;transform:translateY(-6px);transition:opacity .4s,transform .4s}.cv2 .ch-ico{font-size:19px;flex:none}.cv2 .ch-txt{flex:1;min-width:0;font-size:13.5px;line-height:1.45;color:#7ce3bc}.cv2 .cheer.gold .ch-txt{color:var(--warn)}.cv2 .ch-txt b{font-weight:900}.cv2 .ch-pts{font-weight:900;color:var(--ok);margin-left:5px;white-space:nowrap}.cv2 .cheer.gold .ch-pts{color:var(--warn)}.cv2 .ch-actions{display:flex;gap:7px;flex:none;flex-wrap:wrap}.cv2 .btn-cheer{height:33px;padding:0 13px;border-radius:10px;background:var(--ok);color:#062;font-size:12px;font-weight:800}.cv2 .btn-cheer.ghost{background:none;border:1px solid rgba(52,211,153,.3);color:var(--ok)}.cv2 .cheer.gold .btn-cheer{background:#d99a12;color:#231a05}.cv2 .cheer.gold .btn-cheer.ghost{background:none;border-color:#ffba204d;color:var(--warn)}.cv2 .ch-x{color:var(--ink-3);font-size:13px;flex:none;padding:4px}@media(max-width:640px){.cv2 .cheer{flex-wrap:wrap}.cv2 .ch-actions{width:100%}}.cv2 .badgecard{position:relative;border:1px solid #1E2C44;border-radius:var(--r-md);overflow:hidden;color:#e9eef6;background:radial-gradient(ellipse at 50% -10%,#16294a,#0b1526 46%,#070e1b)}.cv2 .d-badge{grid-area:badge;border-color:var(--border);background:linear-gradient(180deg,#1C242E 0%,var(--surface) 42%,var(--surface) 100%)}.cv2 .d-badge .badge-h{padding:12px 16px 2px}.cv2 .d-badge .badge-emblem{flex:1;min-height:0;padding:0 12px 8px}.cv2 .d-badge .badge-emblem svg{height:100%;width:100%}.cv2 .bh-title{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#9db0cc}.cv2 .badge-rows-panel{flex:1;min-height:0;overflow-y:auto;padding:8px 14px 12px;gap:8px;scrollbar-width:thin}.cv2 .d-badge-skills:after{content:"";position:absolute;left:0;right:0;bottom:0;height:58px;z-index:4;pointer-events:none;opacity:0;transition:opacity .2s ease;background:linear-gradient(to bottom,#070e1b00,#070e1bb3 55%,#070e1bf5);-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 62%);mask-image:linear-gradient(to bottom,transparent 0%,#000 62%)}.cv2 .d-badge-skills.scroll-more:after{opacity:1}.cv2 .deckmaxview .d-badge-skills:after{display:none}@media(prefers-reduced-motion:reduce){.cv2 .d-badge-skills:after{transition:none}}.cv2 .badge-h-skills{justify-content:flex-start;gap:9px;flex-wrap:wrap}.cv2 .dmax-inline{position:static;width:30px;height:30px;flex:none}.cv2 .sim-legend{margin-left:auto;font-size:9.5px;font-weight:700;letter-spacing:.02em;color:#6d7a92;white-space:nowrap}.cv2 .simrow{will-change:transform;cursor:pointer}.cv2 .simrow.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 12px #4c8dff40;background:#14223ce6}.cv2 .simv-comm.locked{border:none;background:none;font:inherit;cursor:pointer;color:#8fa1bc;padding:0}.cv2 .simv-comm.locked:hover{color:var(--accent)}.cv2 .simrow .mv.simv{width:auto;min-width:70px;display:flex;flex-direction:column;align-items:flex-end;gap:1px;line-height:1.05}.cv2 .simv-me{font-size:13px;font-weight:900;color:#e9eef6}.cv2 .simv-sub{display:flex;align-items:center;gap:7px}.cv2 .simv-comm,.cv2 .simv-comp{font-size:9px;font-weight:700;letter-spacing:.02em;color:#7c8ba4;white-space:nowrap}.cv2 .simrow .mn.simn{flex:1;font-size:11px;font-weight:800;letter-spacing:.02em;color:#c7d2e4;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv2 .simrow .mchunk i{width:0}.cv2 .mchunk i{transition:width .7s cubic-bezier(.22,.61,.36,1),background .3s ease}.cv2 .sim-red .mchunk i{background:linear-gradient(180deg,#e85a5a,#b22626)}.cv2 .sim-yellow .mchunk i{background:linear-gradient(180deg,#f5c542,#c9971a)}.cv2 .sim-green .mchunk i{background:linear-gradient(180deg,#41c36b,#1e9e4c)}.cv2 .sim-gold .mchunk{box-shadow:inset 0 0 0 1px #ffd65e59,0 0 5px #ffd75a66}.cv2 .sim-gold .mchunk i{background:linear-gradient(110deg,#8a6206,#c9971a 18%,#f4ce4b 38%,#fff7ce,#f4ce4b 62%,#c9971a 82%,#8a6206);background-size:260% 100%;animation:cv2goldshine 2.6s linear infinite;box-shadow:inset 0 1px #fff8ce99}@keyframes cv2goldshine{0%{background-position:200% 0}to{background-position:-60% 0}}@media(prefers-reduced-motion:reduce){.cv2 .sim-gold .mchunk i{animation:none;background-position:50% 0}}.cv2 .simrow.sim-none{opacity:.55}.cv2 .simarrow{margin-left:5px;font-size:9px;vertical-align:middle}.cv2 .simarrow.up{color:#41c36b}.cv2 .simarrow.down{color:#e85a5a}@media(prefers-reduced-motion:reduce){.cv2 .simrow .mchunk i{transition:none}}.cv2 .badge-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px 4px}.cv2 .bh-day{font-size:10.5px;font-weight:900;letter-spacing:.22em;color:#8fa1bc;border:1px solid #24344F;border-radius:999px;padding:4px 12px;background:#0d192eb3}.cv2 .bh-overall{font-size:11px;font-weight:800;letter-spacing:.02em;color:#9db0cc;white-space:nowrap}.cv2 .bh-overall b{font-size:13px;font-weight:900;color:#e9eef6;margin-left:2px}.cv2 .sample-strip{margin:2px 14px 6px;padding:4px 10px;border:1px solid #4A3A14;border-radius:8px;background:var(--warn-soft);color:var(--warn);font-size:10px;font-weight:900;letter-spacing:.14em;text-align:center}.cv2 .hud-seg.s-score{cursor:pointer;flex-direction:row;align-items:center;gap:9px;padding:0 14px;background:#ffffff08}.cv2 .hud-seg.s-score .rd-ring{flex:none}.cv2 .s-score-txt{display:flex;flex-direction:column;gap:1px;min-width:0}.cv2 .hud-seg.s-score .val{font-size:19px;font-weight:700;letter-spacing:-.02em}.cv2 .hud-seg.s-score.rd-low .val{color:var(--danger)}.cv2 .hud-seg.s-score.rd-mid .val{color:var(--warn)}.cv2 .hud-seg.s-score.rd-high .val{color:var(--ok)}.cv2 .hud-seg.s-score.rd-low .rd-ring-fill{stroke:var(--danger)}.cv2 .hud-seg.s-score.rd-high .rd-ring-fill{stroke:var(--ok)}.cv2 .hud-seg.s-score .rd-delta{align-self:flex-start;margin-top:9px;padding:2px 5px;border-radius:var(--r-sm);font-size:9.5px;font-weight:700;line-height:1}.cv2 .rd-delta.up{color:var(--ok);background:var(--ok-soft)}.cv2 .rd-delta.down{color:var(--danger);background:var(--danger-soft)}.cv2 .rd-ring circle:first-child{stroke:#93a5bb47}.cv2 .rd-ring-fill{stroke:var(--warn);transition:stroke-dashoffset .6s cubic-bezier(.22,1,.36,1)}.cv2 .rd-delta{font-size:10.5px;font-weight:800}.cv2 .rd-delta.up{color:var(--ok)}.cv2 .rd-delta.down{color:var(--danger)}.cv2 .sim-legend-row{display:flex;justify-content:flex-end;margin:6px 14px 2px}.cv2 .wdots{display:inline-flex;gap:2.5px;margin-left:5px;align-items:center}.cv2 .wd{width:5px;height:5px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border-2)}.cv2 .wd-played{background:var(--ink-2);border-color:var(--ink-2)}.cv2 .s-week.hit .wd-played{background:var(--ok);border-color:var(--ok)}.cv2 .s-week.behind .wd-played{background:var(--warn);border-color:var(--warn)}.cv2 .wd-today{background:transparent;border-color:var(--accent);box-shadow:0 0 4px #4c8dff80}.cv2 .badge-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:6px;align-items:center;padding:0 16px 6px}.cv2 .badge-emblem svg{width:100%;height:auto;display:block}.cv2 .badge-rows{display:flex;flex-direction:column;gap:7px;padding:8px 2px}.cv2 .mrow{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #1E2C44;border-radius:12px;background:#0d192ebf;cursor:pointer;transition:border-color .15s}.cv2 .mrow:hover,.cv2 .mrow:focus-visible{border-color:#3d5580}.cv2 .mrow .mic{width:24px;flex:none;display:flex;align-items:center;justify-content:center;color:#7c8ba4}.cv2 .mrow .mn{flex:1;font-size:10.5px;font-weight:800;letter-spacing:.09em;color:#c7d2e4;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv2 .mchunks{display:flex;gap:3px;width:112px;flex:none}.cv2 .mchunk{flex:1;height:12px;border-radius:2.5px;background:#121f38;border:1px solid #24344F;overflow:hidden;transform:skew(-12deg)}.cv2 .mchunk i{display:block;height:100%;width:0;background:linear-gradient(180deg,#e23b3b,#a81e1e)}.cv2 .mrow.safe .mchunk i{background:linear-gradient(180deg,#ffd75e,#d99a12)}.cv2 .mrow.safe{border-color:#5c4a1e}.cv2 .mrow .mv{width:42px;text-align:right;font-size:13px;font-weight:900;color:#e9eef6}.cv2 .mrow.weak{border-color:#d97706;animation:cv2weakglow 2.2s ease-in-out infinite}.cv2 .badge-f{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 18px 14px;border-top:1px solid #16233C}.cv2 .bf-note{font-size:11.5px;color:#8fa1bc}.cv2 .ranknote{background:#0d192ebf;border:1px solid #24344F;color:#e9eef6;font-size:12px;font-weight:700;border-radius:10px;padding:7px 11px}.cv2 .badge-emblem .piece{cursor:pointer;outline:none}.cv2 .badge-emblem .wempty{fill:#0e1a30;stroke:#4a5f88;stroke-width:1.4;stroke-dasharray:4 3}.cv2 .badge-emblem .wfill{fill:url(#cv2redg);stroke:#7e2020;stroke-width:1.4}.cv2 .badge-emblem .piece.safe .wfill{fill:url(#cv2goldg);stroke:#8a6508}.cv2 .badge-emblem .piece.safe{filter:drop-shadow(0 0 5px rgba(255,199,64,.4))}.cv2 .badge-emblem .piece.flash{filter:drop-shadow(0 0 13px rgba(255,214,94,.95))}.cv2 .badge-emblem .piece.weak .wempty{stroke:#d97706;stroke-width:1.6;animation:cv2weakpulse 2.2s ease-in-out infinite}.cv2 .badge-emblem .piece:hover .wempty,.cv2 .badge-emblem .piece:focus-visible .wempty{stroke:var(--accent)}@keyframes cv2weakpulse{0%,to{stroke-opacity:.3}50%{stroke-opacity:1}}@keyframes cv2weakglow{0%,to{box-shadow:0 0 #d9770600}50%{box-shadow:0 0 11px 1px #d9770673}}.cv2 .mosaic-hint{font-size:11px;color:var(--ink-3);text-align:center;padding:8px 0 0;max-width:60ch;margin:0 auto}.cv2 .samplebanner{display:flex;align-items:center;gap:9px;background:var(--warn-soft);border:1px solid #4A3A14;color:var(--warn);border-radius:12px;padding:9px 14px;font-size:12.5px;font-weight:600}@media(max-width:860px){.cv2 .badge-grid{grid-template-columns:1fr}}.cv2-skilltip{position:fixed;z-index:66;background:#000;color:#fff;border:1px solid #2D3748;border-radius:10px;padding:9px 12px;font-size:12px;line-height:1.55;pointer-events:none;opacity:0;transition:opacity .12s;transform:translate(-50%,-112%);max-width:240px}.cv2-skilltip.on{opacity:1}.cv2-skilltip b{font-size:13px}.cv2-skilltip .up{color:#7ce3bc}.cv2-skilltip .down{color:#fca5a5}.cv2-skilltip .dim{color:#b7c1d4}.cv2 .d-results{padding:10px 14px 8px;overflow:hidden;display:flex;flex-direction:column}.cv2 .vtabs{display:flex;gap:3px;flex:none;align-self:flex-start;margin-bottom:8px;padding:3px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.cv2 .vtab{height:24px;padding:0 12px;border-radius:2px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--ink-3);transition:background .15s,color .15s}.cv2 .vtab:hover{color:var(--ink)}.cv2 .vtab.on{background:var(--accent-2);color:#0b1117}.cv2 .vtabs-spacer{display:none}.cv2 .tablecard{flex:1;min-height:0;display:flex;flex-direction:column}.cv2 .fullreport{flex:none;margin-top:8px;height:34px;border:1px solid var(--border-2);border-radius:var(--r-sm);font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--ink-2);background:var(--surface-2);transition:border-color .15s,color .15s}.cv2 .fullreport:hover{border-color:var(--accent-line);color:var(--accent-2)}.cv2 .d-results .rangebar{margin-bottom:5px}.cv2 .d-results .cfilters{margin:5px 0 0}.cv2 .d-results .legend{margin:5px 0 1px}.cv2 .rangebar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px;padding-right:38px;flex:none}.cv2 .rangebtn{height:27px;padding:0 11px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);font-size:11px;font-weight:700;color:var(--ink-2);transition:border-color .15s,background .15s,color .15s}.cv2 .rangebtn:hover{border-color:var(--accent-line);color:var(--accent)}.cv2 .rangebtn.on{background:#000;border-color:#000;color:#fff}.cv2 .rbsep{width:1px;height:16px;background:var(--border-2);margin:0 4px;flex:none}.cv2 .deckmaxview .rangebar{padding-right:0}.cv2 .ccard{border:1px solid var(--border);border-radius:var(--r-md);padding:15px 16px 10px;background:var(--surface)}.cv2 .d-results .ccard{border:none;box-shadow:none;padding:0;background:none;flex:1;min-height:0;display:flex;flex-direction:column}.cv2 .d-results .ccard-h,.cv2 .d-results .legend,.cv2 .d-results .cfilters{flex:none}.cv2 .cbody{display:flex;gap:12px;align-items:stretch}.cv2 .d-results .cbody{flex:1;min-height:0}.cv2 .cchart{flex:1;min-width:0;display:flex}.cv2 .cchart .gated-wrap{flex:1;min-width:0;min-height:0;display:flex;cursor:default}.cv2 .d-results .cchart .gated-wrap svg,.cv2 .d-results .cchart>svg{flex:1;min-height:0;min-width:0;height:100%;width:100%}.cv2 .cmetrics{flex:none;align-self:center;display:grid;grid-template-columns:auto auto;-moz-column-gap:10px;column-gap:10px;row-gap:7px;align-items:baseline}.cv2 .cmetrics span{display:contents}.cv2 .cmetrics i{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.02em;color:var(--ink-3);white-space:nowrap}.cv2 .cmetrics b{font-size:15px;font-weight:900;color:var(--ink);text-align:right;white-space:nowrap}.cv2 .ccard-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.cv2 .ccard-h b{font-size:14px;font-weight:800}.cv2 .ccard-h .ttabs{display:flex;align-items:baseline;gap:14px;min-width:0}.cv2 .ttab{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:12px;font-weight:700;color:var(--ink-3);letter-spacing:.02em;white-space:nowrap;transition:color .15s}.cv2 .ttab:hover{color:var(--ink)}.cv2 .cstats{display:flex;gap:11px;font-size:11px;color:var(--ink-3);flex-wrap:wrap}.cv2 .cstats b{color:var(--ink);font-weight:800;font-size:12px}.cv2 .cfilters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 2px;flex:none}.cv2 .cfilters .rangebar{margin-bottom:0;padding-right:0}.cv2 .comparebtn{height:27px;padding:0 12px;border-radius:999px;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800;white-space:nowrap;transition:border-color .15s,background .15s}.cv2 .comparebtn:hover{border-color:var(--accent);background:var(--accent);color:#fff}.cv2 .legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:9px 0 3px;font-size:11px;color:var(--ink-2)}.cv2 .legend .cstats{margin-left:auto;gap:11px}.cv2 .lg{display:inline-flex;align-items:center;gap:6px}.cv2 .lg i{width:14px;height:0;border-top:2.5px solid;border-radius:2px}.cv2 .lg.dash i{border-top-style:dashed}.cv2 .lg .lock{font-size:10px}.cv2 .ccard svg{width:100%;height:auto;display:block}.cv2 .chartgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(430px,1fr));gap:13px}.cv2 .emptychart{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px dashed var(--border-2);border-radius:12px;padding:20px 15px;font-size:12.5px;color:var(--ink-3);margin-top:9px}.cv2 .viewtoggle{flex:none;align-self:center;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-2);border-radius:8px;background:var(--surface);color:var(--ink-2);transition:border-color .15s,color .15s}.cv2 .d-results .viewtoggle{margin-right:38px}.cv2 .viewtoggle:hover{border-color:var(--accent-line);color:var(--accent)}.cv2 .ccard .viewtoggle svg{width:15px;height:15px}.cv2 .runlist{flex:1;min-width:0;min-height:0;max-height:238px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.cv2 .d-results .runlist{max-height:none}.cv2 .runrow{display:flex;align-items:center;gap:10px;padding:7px 12px;font-size:12px;border-bottom:1px solid var(--border)}.cv2 .runrow:last-child{border-bottom:none}.cv2 .runrow.rh{position:sticky;top:0;z-index:1;background:var(--surface-2);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:5px 12px}.cv2 .runrow.rh .rscore,.cv2 .runrow.rh .rdiff{font-size:10px;color:var(--ink-3)}.cv2 .runrow .rwhen{flex:1;min-width:0;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv2 .runrow .rscore{flex:none;width:46px;text-align:right;font-size:13px;font-weight:900;color:var(--ink)}.cv2 .runrow .rdiff{flex:none;width:46px;text-align:right;font-weight:800}.cv2 .runrow .rdiff.up{color:var(--ok)}.cv2 .runrow .rdiff.down{color:var(--danger)}.cv2 .runrow .rdiff.flat,.cv2 .runrow .rdiff.first{color:var(--ink-3)}.cv2 .runrow.all .rwhen{flex:none;width:118px}.cv2 .runrow .rgame{flex:1;min-width:0;font-weight:700;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv2 .runrow.rh .rgame{font-size:10px;color:var(--ink-3);font-weight:800}.cv2 .runrow.rh .runsort{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);display:inline-flex;align-items:center;gap:4px;text-align:left;transition:color .15s}.cv2 .runrow.rh .runsort:hover{color:var(--ink)}.cv2 .runrow.rh .runsort i{font-style:normal;opacity:.55}.cv2 .runrow.rh .runsort.on{color:var(--ink-2)}.cv2 .runrow.rh .runsort.on i{opacity:1;color:var(--accent)}.cv2-charttip{position:fixed;z-index:60;pointer-events:none;background:#000;border:1px solid #2D3748;color:#fff;font-size:11.5px;font-weight:600;border-radius:8px;padding:5px 9px;transform:translate(-50%,-130%);opacity:0;transition:opacity .1s}.cv2-charttip.on{opacity:1}.cv2 .gated-wrap{position:relative;cursor:pointer}.cv2 .gated-blur{filter:blur(7px);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.cv2 .lockchip{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.cv2 .lockchip span{display:inline-flex;align-items:center;gap:6px;background:#1c2436f0;border:1px solid var(--border-2);border-radius:999px;padding:5px 13px;font-size:11px;font-weight:800;color:var(--ink);box-shadow:0 8px 20px #00000080}.cv2 .gated-wrap:hover .lockchip span{border-color:var(--accent-line);color:var(--accent)}.cv2 .d-filter{grid-area:filter;display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.cv2 .filterbar{display:flex;align-items:center;gap:7px;min-width:0}.cv2 .fbtn{height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);font-size:12.5px;font-weight:800;letter-spacing:.2px;white-space:nowrap;transition:border-color .15s,color .15s,background .15s}.cv2 .fbtn:hover{border-color:var(--accent-line);color:var(--accent)}.cv2 .fbtn.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.cv2 .fbtn.mock{margin-left:auto;border-color:#3a2a55;background:#966ef024;color:#c6a9ff;display:inline-flex;align-items:center;gap:6px}.cv2 .fbtn.mock:hover{border-color:#7c5ce0;color:#e0ccff;background:#966ef038}.cv2 .filter-guide{margin-left:auto;display:inline-flex;align-items:center;height:32px;padding:0 13px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);font-size:11.5px;font-weight:800;letter-spacing:0;color:var(--ink-2);white-space:nowrap;text-decoration:none}.cv2 .filter-guide:hover{border-color:var(--accent-line);color:var(--accent)}.cv2 .d-filter .fbtn.mock{margin-left:8px}.cv2 .railwrap{grid-area:rail;position:relative;min-width:0;min-height:0;padding:0 44px}.cv2 .d-rail{height:100%;display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,var(--card-h));align-content:start;grid-auto-columns:calc((100% - 2 * var(--rail-gap)) / 3);--rail-gap:12px;gap:var(--rail-gap);overflow-x:auto;overflow-y:hidden;padding:4px 2px;scrollbar-width:thin;scroll-snap-type:x proximity;scroll-padding-left:2px}.cv2 .d-rail>*{scroll-snap-align:start}.cv2 .railnav{position:absolute;top:calc(4px + var(--card-h) + 6px);transform:translateY(-50%);z-index:8;width:40px;height:40px;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--surface-2);box-shadow:0 6px 18px #00000073;font-size:22px;line-height:1;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}.cv2 .railnav.rn-next{right:0}.cv2 .railnav.rn-prev{left:0}.cv2 .railnav:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cv2 .rc-succ{display:flex;align-items:center;gap:10px}.cv2 .rc-succ .mchunks{width:auto;flex:1;min-width:0}.cv2 .rc-succ .mchunk{height:14px}.cv2 .rc-succ-v{flex:none;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.cv2 .rc-succ.sim-none .rc-succ-v{color:var(--ink-3)}.cv2 .rcard{position:relative;min-width:0;min-height:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:12px 13px;display:flex;flex-direction:column;gap:9px;cursor:pointer;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .16s ease}.cv2 .rcard:hover{border-color:var(--accent-line);box-shadow:var(--sh-1),var(--glow-accent);z-index:2}.cv2 .rcard.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.cv2 .rcard.pv{border-color:#2a6fa8;border-bottom-left-radius:0;border-bottom-right-radius:0;z-index:5}.cv2 .rcard.pv.pv-up{border-radius:0 0 var(--r-lg) var(--r-lg)}.cv2 .rcard.spent{opacity:.68}.cv2 .rcard-h{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.cv2 .rcard-h b{flex:1 1 auto;min-width:0;font-size:12.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv2 .rcard-h b .rcode{display:block;font-size:9px;font-weight:600;color:var(--ink-3);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv2 .rcard-h .rcard-ic{flex:none;align-self:center;display:flex;color:var(--ink-3);transition:color .15s}.cv2 .rcard:hover .rcard-h .rcard-ic,.cv2 .rcard.sel .rcard-h .rcard-ic{color:var(--accent)}.cv2 .rcard-h small{font-size:9.5px;color:var(--ink-3);flex:none}.cv2 .rcard-mid{display:flex;justify-content:space-between;align-items:center;gap:8px}.cv2 .rcard-mid .rlb{font-size:10px;color:var(--ink-3);letter-spacing:.06em}.cv2 .rcard-mid .rlb b{font-size:13px;color:var(--ink);letter-spacing:0}.cv2 .rcard-f{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:auto}.cv2 .rcard-f .lim{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-2)}.cv2 .rcard-f .lim svg{display:block;flex:none}.cv2 .rcard-f .lim.low{color:var(--warn);font-weight:700}.cv2 .rcard-f .lim.unl{color:var(--ok);font-weight:700}.cv2 .rcard-f .lim.spent{color:var(--ink-3)}.cv2 .btn-start{height:27px;padding:0 11px;border-radius:8px;border:1px solid var(--accent-line);color:var(--accent);font-size:11px;font-weight:800;white-space:nowrap;flex:none;transition:background .15s,color .15s}.cv2 .rcard-f .lim.stack{flex-direction:column;align-items:flex-start;gap:0;line-height:1.28;min-width:0}.cv2 .rcard-f .lim.stack .sub{font-weight:600;color:var(--ink-3)}.cv2 .btn-start:hover{background:var(--accent);color:#fff}.cv2 .btn-start.solid{background:var(--accent);color:#fff;border-color:var(--accent)}.cv2 .btn-start.off,.cv2 .btn-start:disabled{opacity:.45;cursor:default;color:var(--ink-3);border-color:var(--border)}.cv2 .btn-start.off:hover,.cv2 .btn-start:disabled:hover{background:none;color:var(--ink-3)}.cv2 .rcard .pmode{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 4px;border-radius:8px;border:1px solid var(--pm-bd);background:var(--pm-bg);color:var(--pm-fg);transition:background .13s,border-color .13s,transform .13s}.cv2 .rcard .pmode:hover:not(:disabled){border-color:var(--pm-bd-h);background:var(--pm-bg-h);transform:translateY(-1px)}.cv2 .rcard .pmode:active:not(:disabled){transform:translateY(0)}.cv2 .rcard .ndband{margin:2px -14px -13px;padding:3px 0;text-align:center;font-size:8px;font-weight:800;letter-spacing:.22em;color:#fff;background:linear-gradient(90deg,var(--accent),#7c5cff);border-radius:0 0 13px 13px}.cv2 .studybtns{display:flex;flex-direction:column;gap:6px}.cv2 .sbtn{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 11px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface-2);color:var(--ink);text-align:left;transition:background .13s,border-color .13s,transform .13s}.cv2 .sbtn b{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em}.cv2 .sbtn span{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.06em;opacity:.65;white-space:nowrap}.cv2 .sbtn:hover{border-color:var(--accent-line);transform:translateY(-1px)}.cv2 .sbtn:active{transform:translateY(0)}.cv2 .sbtn.up{background:none;border-color:var(--accent-line);color:var(--accent-2)}.cv2 .spark{flex:none}.cv2-pvbubble{position:fixed;background:var(--surface,#161C24);border:1px solid #2A6FA8;border-top-color:#2d3748;border-radius:0 0 8px 8px;box-shadow:0 14px 34px #0000008c;padding:8px;z-index:46;overflow:hidden;animation:cv2drawer .56s cubic-bezier(.22,1,.36,1)}@keyframes cv2drawer{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}.cv2-pvbubble .pv-inner{animation:cv2drawerin .56s cubic-bezier(.22,1,.36,1)}@keyframes cv2drawerin{0%{transform:translateY(-14px)}to{transform:translateY(0)}}.cv2-pvbubble.up{transform:translateY(-100%);border-radius:8px 8px 0 0;border-top-color:#2a6fa8;border-bottom-color:#2d3748;animation-name:cv2drawerup}@keyframes cv2drawerup{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}.cv2-pvbubble.up .pv-inner{animation-name:cv2drawerinup}@keyframes cv2drawerinup{0%{transform:translateY(14px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.cv2-pvbubble,.cv2-pvbubble .pv-inner{animation:none}}.cv2-pvbubble img{width:100%;border-radius:4px;display:block}.cv2-pvbubble .pv-howto{display:block;width:100%;margin-top:8px;padding:8px 0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-align:center;color:#98cbff;background:#00a3ff14;border:1px solid #2A6FA8;border-radius:4px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.cv2-pvbubble .pv-howto:hover{background:#00a3ff;border-color:#00a3ff;color:#00243b}.cv2 .pdrawer{position:fixed;inset:0;z-index:75;display:flex;justify-content:flex-end;background:#05080e99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:cv2fadein .15s ease}@keyframes cv2fadein{0%{opacity:0}to{opacity:1}}.cv2 .pdrawer-panel{width:min(480px,94vw);height:100%;background:var(--bg);border-left:1px solid var(--border);padding:18px;overflow:auto;animation:cv2drawerin .22s ease}@keyframes cv2drawerin{0%{transform:translate(26px);opacity:0}to{transform:none;opacity:1}}.cv2 .pdrawer-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cv2 .pdrawer-h b{font-size:15px;font-weight:900}.cv2 .pcard{border:1px solid var(--border);border-radius:var(--r-md);padding:17px;display:flex;flex-direction:column;gap:12px;background:var(--surface);margin-bottom:12px}.cv2 .pcard h4{font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.cv2 .pcard .langseg{align-self:flex-start}.cv2 .pcard .langseg button{height:32px;padding:0 16px;font-size:12px}.cv2 .prow{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:7px 0;border-bottom:1px dashed var(--border)}.cv2 .prow.prow-temp b{color:var(--warn,#F59E0B)}.cv2 .prow:last-child{border-bottom:none}.cv2 .prow span{color:var(--ink-3)}.cv2 .prow b{font-weight:700}.cv2 .phint{font-size:11.5px;line-height:1.5;color:var(--ink-3);margin:-2px 0 0}.cv2 .csrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cv2 .cspre{flex:none;font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--warn);border:1px solid var(--border-2);border-radius:9px;padding:0 10px;height:38px;display:inline-flex;align-items:center}.cv2 .csinput{width:92px;height:38px;padding:0 12px;border-radius:11px;border:1px solid var(--border-2);background:var(--surface-2);color:var(--ink);font-size:14px;font-weight:800;letter-spacing:.06em}.cv2 .csinput::-moz-placeholder{color:var(--ink-3);font-weight:700}.cv2 .csinput::placeholder{color:var(--ink-3);font-weight:700}.cv2 .csinput:focus{border-color:var(--accent);outline:none}.cv2 .csrow .btn-ghost:disabled{opacity:.45;cursor:default}.cv2 .btn-danger{border:1px solid rgba(248,113,113,.35);color:var(--danger);height:38px;padding:0 16px;border-radius:11px;font-size:13px;font-weight:700}.cv2 .btn-danger:hover{background:var(--danger-soft)}.cv2 .overlay{position:fixed;inset:0;z-index:70;background:#05080eb8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;overscroll-behavior:contain;animation:cv2fadein .18s ease}.cv2 .overlay>*{margin:auto}.cv2 .modal{background:var(--surface);border:1px solid var(--border-2);border-radius:22px;box-shadow:0 30px 80px #0009;max-width:470px;width:100%;padding:28px;animation:cv2pop .2s ease;position:relative}@keyframes cv2pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.cv2 .modal h3{font-size:19px;font-weight:900;letter-spacing:-.015em;margin-top:12px;text-wrap:balance}.cv2 .modal p{font-size:13.5px;color:var(--ink-2);margin-top:7px}.cv2 .modal .close{position:absolute;top:16px;right:18px;color:var(--ink-3);font-size:16px}.cv2 .tut-rules{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-2);margin-top:13px}.cv2 .tut-rules li{padding-left:16px;position:relative}.cv2 .tut-rules li:before{content:"•";position:absolute;left:2px;color:var(--accent)}.cv2 .tut-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}.cv2 .tut-controls div{border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:12px;color:var(--ink-2)}.cv2 .tut-controls b{display:block;font-size:12.5px;color:var(--ink)}.cv2 .btn-pro{background:var(--pro-g);color:#fff;height:42px;padding:0 20px;border-radius:12px;font-size:13.5px;font-weight:800;min-width:190px}.cv2 .cvco{position:relative;width:100%;max-width:440px;background:var(--surface);border:1px solid var(--border-2);border-radius:22px;box-shadow:0 30px 80px #0009;padding:26px;animation:cv2pop .2s ease}.cv2 .cvco-x{position:absolute;top:15px;right:17px;color:var(--ink-3);font-size:16px}.cv2 .cvco-eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--accent)}.cv2 .cvco-title{font-size:20px;font-weight:900;letter-spacing:-.015em;margin-top:6px}.cv2 .cvco-sub{font-size:12.5px;color:var(--ink-2);margin-top:8px;line-height:1.5}.cv2 .cvco-tabs{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.cv2 .cvco-tab{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1.5px solid var(--border);background:var(--surface-2);border-radius:13px;padding:11px 13px;text-align:left;transition:border-color .15s,background .15s}.cv2 .cvco-tab.on{border-color:var(--accent);background:var(--accent-soft)}.cv2 .cvco-tab-d{font-size:12px;color:var(--ink-2);font-weight:700}.cv2 .cvco-tab.on .cvco-tab-d{color:var(--accent)}.cv2 .cvco-tab-p{font-size:18px;font-weight:900;color:var(--ink)}.cv2 .cvco-off{position:absolute;top:-9px;right:9px;background:var(--ok);color:#062;font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px}.cv2 .cvco-feats{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:18px}.cv2 .cvco-feats li{font-size:13px;color:var(--ink-2);display:flex;align-items:flex-start;gap:9px}.cv2 .cvco-feats li:before{content:"✓";color:var(--ok);font-weight:900;flex:none}.cv2 .cvco-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.cv2 .cvco-total{display:flex;flex-direction:column;gap:1px}.cv2 .cvco-total span{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em}.cv2 .cvco-total b{font-size:22px;font-weight:900;color:var(--ink)}.cv2 .cvco-buy{min-width:150px}.cv2 .cvco-buy:disabled{opacity:.6;cursor:not-allowed}.cv2 .cvco-secure{margin-top:13px;text-align:center;font-size:11px;color:var(--ink-3)}@media(max-width:480px){.cv2 .cvco-foot{flex-direction:column;align-items:stretch}.cv2 .cvco-buy{width:100%}}.cv2 .ob-modal{background:var(--surface);border:1px solid var(--border-2);border-radius:22px;max-width:560px;width:100%;box-shadow:0 30px 80px #0009,0 1px #ffffff0a inset;overflow:hidden;animation:cv2pop .22s ease}.cv2 .ob-head{display:flex;align-items:center;gap:9px;padding:24px 30px 20px}.cv2 .ob-head .bt{font-weight:800;font-size:15px;letter-spacing:-.3px}.cv2 .ob-head .bt b{color:var(--accent)}.cv2 .ob-dots{margin-left:auto;display:flex;gap:7px}.cv2 .ob-dot{width:7px;height:7px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border-2)}.cv2 .ob-dot.on{background:var(--accent);border-color:var(--accent)}.cv2 .ob-step{padding:0 30px;animation:cv2rise .25s ease}.cv2 .ob-step h2{font-size:22px;letter-spacing:-.4px;margin-bottom:7px}.cv2 .ob-step .sub{color:var(--ink-2);font-size:13.5px;line-height:1.55;margin-bottom:20px}.cv2 .ob-exams{display:grid;grid-template-columns:1fr 1fr;gap:11px}.cv2 .ob-exam{display:flex;align-items:center;gap:12px;padding:14px 15px;border-radius:14px;border:1px solid var(--border-2);background:var(--surface-2);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.cv2 .ob-exam:hover{border-color:var(--accent-line)}.cv2 .ob-exam .tick{width:22px;height:22px;border-radius:6px;border:2px solid var(--ink-3);flex:none;display:grid;place-items:center}.cv2 .ob-exam .nm{font-weight:700;font-size:14.5px;display:block}.cv2 .ob-exam .ds{font-size:11.5px;color:var(--ink-3);margin-top:1px;display:block}.cv2 .ob-exam.on{border-color:var(--accent);background:var(--accent-soft)}.cv2 .ob-exam.on .tick{background:var(--accent);border-color:var(--accent)}.cv2 .ob-exam.on .tick:after{content:"✓";color:#fff;font-weight:900;font-size:12px}.cv2 .ob-dates{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.cv2 .ob-date{display:flex;align-items:center;gap:15px;padding:12px 16px;border-radius:14px;border:1px solid var(--border-2);background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s}.cv2 .ob-date:hover{border-color:var(--accent-line)}.cv2 .ob-date.on{border-color:var(--accent);background:var(--accent-soft)}.cv2 .ob-date .nm{font-weight:700;font-size:14px;flex:1}.cv2 .ob-date input[type=date]{background:var(--surface);color:var(--ink);border:1px solid var(--border-2);border-radius:10px;padding:8px 10px;font-size:13.5px;font-variant-numeric:tabular-nums;color-scheme:dark}.cv2 .ob-date input[type=date]:focus{outline:none;border-color:var(--accent)}.cv2 .ob-date-note{font-size:12.5px;color:var(--ink-2);margin:2px 4px 0}.cv2 .ob-date-note b{font-weight:800}.cv2 .ob-times{display:flex;flex-direction:column;gap:10px}.cv2 .ob-time{display:flex;align-items:center;gap:15px;padding:14px 16px;border-radius:14px;border:1px solid var(--border-2);background:var(--surface-2);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.cv2 .ob-time:hover{border-color:var(--accent-line)}.cv2 .ob-time .radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--ink-3);flex:none;display:grid;place-items:center}.cv2 .ob-time.on{border-color:var(--accent);background:var(--accent-soft)}.cv2 .ob-time.on .radio{border-color:var(--accent)}.cv2 .ob-time.on .radio:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent)}.cv2 .ob-time .txt{flex:1;min-width:0}.cv2 .ob-time .top{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.cv2 .ob-time .nm{font-weight:700;font-size:14.5px}.cv2 .ob-time .when{font-size:11.5px;color:var(--ink-3)}.cv2 .ob-time .mi{font-size:12px;color:var(--ink-2);margin-top:2px;display:block}.cv2 .ob-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 30px 24px;margin-top:20px;border-top:1px solid var(--border)}.cv2 .ob-ghost{color:var(--ink-3);font-size:13.5px;font-weight:600;padding:10px 6px}.cv2 .ob-ghost:hover{color:var(--ink-2)}.cv2 .ob-next{background:var(--accent);color:#fff;border-radius:12px;padding:13px 24px;font-size:14.5px;font-weight:700}.cv2 .ob-next:disabled{opacity:.4;cursor:default}.cv2 .ob-rgt{display:flex;align-items:center;gap:6px}.cv2 .rolechip{display:inline-block;margin-left:6px;font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--ink-3);border:1px solid var(--border-2);border-radius:999px;padding:1px 7px;vertical-align:1px}.cv2 .citem .btn-start{flex:none;margin-left:8px}.cv2 .coachreport{margin-top:12px;border:1px solid var(--accent-line);border-radius:14px;background:var(--accent-soft);padding:14px 16px;animation:cv2rise .25s ease}.cv2 .cr-eyebrow{font-size:9.5px;font-weight:800;letter-spacing:.2em;color:var(--accent);margin-bottom:7px}.cv2 .cr-headline{font-size:14px;font-weight:800;line-height:1.5}.cv2 .cr-line{font-size:12.5px;color:var(--ink-2);margin-top:6px;line-height:1.5}.cv2 .cr-line.up{color:#7ce3bc}.cv2 .cr-line.down{color:#fca5a5}.cv2 .cr-hook{font-size:12.5px;color:var(--warn);margin-top:9px;font-weight:600}.cv2 .cr-dots{display:inline-flex;gap:3px;margin-right:9px;vertical-align:middle}.cv2 .cr-dots i{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:cv2typing 1s ease-in-out infinite}.cv2 .cr-dots i:nth-child(2){animation-delay:.15s}.cv2 .cr-dots i:nth-child(3){animation-delay:.3s}.cv2-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);z-index:80;background:#000;border:1px solid #2D3748;color:#fff;font-size:13px;font-weight:600;border-radius:12px;padding:11px 18px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:88vw;text-align:center}.cv2-toast.on{opacity:1;transform:translate(-50%)}.cv2 .pulse{animation:cv2pulse 1.1s ease 2}@keyframes cv2pulse{0%{box-shadow:0 0 #34d39980}70%{box-shadow:0 0 0 12px #34d39900}to{box-shadow:0 0 #34d39900}}@media(prefers-reduced-motion:reduce){.cv2 *,.cv2 *:before,.cv2 *:after{animation:none!important;transition:none!important}}.cv2 .gift-active{margin:6px 0 0;font-size:12.5px;color:var(--warn);font-weight:700}.cv2 .gift-progress{display:flex;align-items:center;gap:10px;margin:14px 0 6px}.cv2 .gift-bar{flex:1;height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border-2)}.cv2 .gift-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--warn),#ffd98a);transition:width .35s ease}.cv2 .gift-progress .num{font-size:12.5px;font-weight:900;color:var(--ink-2);white-space:nowrap}.cv2 .gift-hint{margin:2px 0 0;font-size:12.5px;color:var(--ink-3)}.cv2 .gift-hint.gift-ready{color:var(--ok,#16a34a);font-weight:600;font-size:13.5px}.cv2 .gift-list{display:grid;gap:9px;margin:16px 0 4px}.cv2 .gift-list .btn{justify-content:space-between;text-align:left}.cv2 .gift-list .btn small{font-weight:700;opacity:.75}.cv2 .gift-list .btn:disabled{opacity:.45;cursor:not-allowed}.cv2 .gift-foot{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding-top:11px;border-top:1px solid var(--border-2);font-size:11.5px;color:var(--ink-3);font-weight:700}.cv2 .gift-streak{margin:9px 0 0;font-size:12.5px;color:var(--warn);font-weight:700;line-height:1.45}.cv2 .gift-ladder{margin:7px 0 0;font-size:11px;color:var(--ink-3);letter-spacing:.04em}.cv2 .gift-source{margin:6px 0 0;font-size:12.5px;color:var(--ink-3);line-height:1.5}.cv2.study main{padding-top:12px}.cv2 .study-deck{grid-template-columns:minmax(0,1fr) clamp(320px,30vw,420px);grid-template-rows:minmax(0,1fr) minmax(150px,.62fr);grid-template-areas:"cards side" "stats side"}.cv2 .s-cards{grid-area:cards;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding-right:4px}.cv2 .s-loading{min-height:60vh;display:flex;align-items:center;justify-content:center;color:var(--accent-2)}.cv2 .s-band-h{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--ink-3)}.cv2 .s-band-h:after{content:"";flex:1;height:1px;background:var(--border)}.cv2 .s-band-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.cv2 .s-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:12px 13px}.cv2 .s-card-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.cv2 .s-card-code{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv2 .s-card-tier{flex:none;font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.1em;padding:2px 7px;border-radius:999px;border:1px solid var(--border-2);color:var(--ink-2)}.cv2 .s-card-tier.pro{border-color:var(--accent-line);color:var(--accent-2)}.cv2 .s-card-title{display:flex;align-items:center;gap:7px;font-size:14.5px;font-weight:700;letter-spacing:-.01em}.cv2 .s-card-desc{font-size:11px;color:var(--ink-3);line-height:1.45}.cv2 .s-settings{padding:12px 14px;gap:12px;overflow-y:auto}.cv2 .s-settings-h{display:flex;align-items:center;gap:8px;flex:none;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--ink-2)}.cv2 .s-empty{margin:auto;padding:24px 0;text-align:center;font-size:12.5px;color:var(--ink-3)}.cv2 .s-field{display:flex;flex-direction:column;gap:6px}.cv2 .s-lbl{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--ink-3)}.cv2 .s-select{height:34px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface-2);color:var(--ink);font-size:12.5px}.cv2 .s-row{display:flex;flex-wrap:wrap;gap:6px}.cv2 .s-opt{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:34px;padding:0 11px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface-2);color:var(--ink-2);font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;transition:border-color .13s,color .13s,background .13s}.cv2 .s-opt.wide{flex:1;flex-direction:column;gap:1px;height:40px}.cv2 .s-opt i{font-style:normal;font-size:8px;font-weight:600;letter-spacing:.04em;opacity:.6}.cv2 .s-opt b{font-size:9.5px;opacity:.6}.cv2 .s-opt:hover:not(:disabled){border-color:var(--accent-line);color:var(--ink)}.cv2 .s-opt.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2)}.cv2 .s-opt:disabled{opacity:.45;cursor:not-allowed}.cv2 .s-num{width:78px;height:34px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface-2);color:var(--ink);font-family:var(--mono);font-size:11px}.cv2 .s-num:disabled{opacity:.45}.cv2 .s-pro{padding:9px 11px;border-radius:var(--r-sm);border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-2);font-size:11.5px;font-weight:600;line-height:1.45;text-align:left}.cv2 .s-pro:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.cv2 .s-actions{display:flex;gap:8px;margin-top:auto;padding-top:4px}.cv2 .s-start{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;border-radius:var(--r-sm);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.12em}.cv2 .s-start:disabled{background:var(--surface-2);border-color:var(--border);color:var(--ink-3);cursor:not-allowed}.cv2 .s-reset{flex:none;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--border-2);color:var(--danger);background:var(--surface-2)}.cv2 .s-reset:hover{border-color:var(--danger)}@media(max-width:1100px){.cv2 .study-deck{display:flex;flex-direction:column;height:auto}.cv2 .s-cards{overflow:visible}}.cv2 .s-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.cv2 .s-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 9px;border-radius:999px;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-2);font-size:11px;font-weight:600;line-height:1.4}.cv2 .s-chip button{width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;line-height:1;color:inherit;opacity:.7}.cv2 .s-chip button:hover{opacity:1;background:#ffffff1f}.cv2 .s-chip.clear{padding:3px 10px;border-style:dashed;border-color:var(--border-2);background:none;color:var(--ink-3);font-weight:500}.cv2 .s-chip.clear:hover{color:var(--danger);border-color:var(--danger)}.cv2 .s-note{padding:8px 10px;border-radius:var(--r-sm);border:1px solid var(--border);background:#ffffff05;font-size:11.5px;line-height:1.5;color:var(--ink-3)}.cv2 .s-note.warn{border-color:#ffba2059;background:var(--warn-soft);color:var(--warn)}.cv2 .s-stats{grid-area:stats;min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1);overflow:hidden}.cv2 .s-stats-h{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--border);background:#ffffff05}.cv2 .s-stats-title{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv2 .s-stats-sum{flex:none;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}.cv2 .s-stats-sum b{color:var(--ink);font-weight:700}.cv2 .s-stats-sum i{font-style:normal;font-weight:700}.cv2 .s-stats-sum i.ok{color:var(--ok)}.cv2 .s-stats-sum i.bad{color:var(--danger)}.cv2 .s-stats-rows{flex:1;min-height:0;overflow-y:auto;padding:6px 10px 8px;scrollbar-width:thin}.cv2 .s-stats-empty{margin:auto;padding:20px;text-align:center;font-size:12px;color:var(--ink-3)}.cv2 .s-stats .simv-comm{color:var(--ink-3)}@media(max-width:1100px){.cv2 .s-stats{min-height:220px}}.cv2 .s-stats .simrow{align-items:center}.cv2 .s-stats .mv.simv{width:104px;min-width:104px;flex:none}.cv2 .s-stats .mchunks{flex:none}.cv2 .s-stats .simv-me{line-height:1.15}.cv2 .s-stats .simv-sub{gap:6px;white-space:nowrap}.cv2 .s-stats .simrow.locked{cursor:default}.cv2 .s-stats .simrow.locked:hover{border-color:#1e2c44}.cv2.ss-veil{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;background:#05080ec7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);min-height:0}.cv2 .ss-modal{width:100%;max-width:840px;max-height:88vh;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-2);overflow:hidden}.cv2 .ss-modal-h{flex:none;display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--border);background:#ffffff05}.cv2 .ss-modal-t{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--ink-2)}.cv2 .ss-x{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--border-2);color:var(--ink-2)}.cv2 .ss-x:hover{border-color:var(--danger);color:var(--danger)}.cv2 .ss-modal-b{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}.cv2 .ss-subject{flex:none;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);overflow:hidden}.cv2 .ss-head{display:flex;align-items:center;gap:10px;width:100%;height:52px;flex:none;padding:0 13px;text-align:left;color:var(--ink)}.cv2 .ss-head .mchunks{flex:none}.cv2 .ss-head>svg{flex:none}.cv2 .ss-head:hover{background:#ffffff08}.cv2 .ss-ic{flex:none;display:inline-flex;color:var(--ink-3)}.cv2 .ss-title{flex:1;min-width:0;font-size:13.5px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cv2 .ss-sum{flex:none;display:none;align-items:center;gap:8px;white-space:nowrap;font-family:var(--mono);font-size:10px;color:var(--ink-3)}.cv2 .ss-sum b{color:var(--ink);font-weight:700}.cv2 .ss-sum i{font-style:normal;font-weight:700}.cv2 .ss-sum i.ok{color:var(--ok)}.cv2 .ss-sum i.bad{color:var(--danger)}@media(min-width:640px){.cv2 .ss-sum{display:inline-flex}}.cv2 .ss-rate{flex:none;width:34px;text-align:right;font-size:14px;font-weight:700}.cv2 .ss-subject.sim-red .ss-rate{color:#e85a5a}.cv2 .ss-subject.sim-yellow .ss-rate{color:var(--warn)}.cv2 .ss-subject.sim-green .ss-rate{color:var(--ok)}.cv2 .ss-subject.sim-gold .ss-rate{color:#f4ce4b}.cv2 .ss-subject.sim-none .ss-rate{color:var(--ink-3)}.cv2 .ss-body{padding:0 13px 12px;display:flex;flex-direction:column;gap:10px}.cv2 .ss-weak{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(255,186,32,.3);border-radius:var(--r-sm);background:var(--warn-soft)}.cv2 .ss-weak-h{display:inline-flex;align-items:center;gap:6px;margin-right:4px;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--warn)}.cv2 .ss-weak-item{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;border:1px solid rgba(255,186,32,.35);font-size:11px;color:var(--ink-2)}.cv2 .ss-weak-item b{color:var(--warn)}.cv2 .ss-rows{display:flex;flex-direction:column;gap:5px}.cv2 .ss-rows .simrow{align-items:center;cursor:default}.cv2 .ss-rows .simrow:hover{border-color:#1e2c44}.cv2 .ss-rows .mv.simv{width:104px;min-width:104px;flex:none}.cv2 .ss-rows .mchunks{flex:none}.cv2 .ss-rows .simv-sub{gap:6px;white-space:nowrap}.cv2 .ss-rows .simv-comm{color:var(--ink-3)}.cv2 .s-hint{flex:none;padding:8px 10px;border-radius:var(--r-sm);border:1px dashed var(--border-2);font-size:11.5px;line-height:1.5;color:var(--ink-3)}.cv2 .s-fields{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.cv2 .s-fields.idle{opacity:.42;pointer-events:none}.cv2.quiz{height:100vh;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cv2 .quiz-body{flex:1;min-height:0;display:grid;gap:12px;padding:12px 20px 14px;max-width:1800px;width:100%;margin:0 auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"cols"}.cv2 .quiz-body.mapopen{grid-template-columns:250px minmax(0,1fr);grid-template-areas:"map cols"}.cv2 .quiz-cols{grid-area:cols;min-width:0;min-height:0;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cv2 .quiz-main{min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px}.cv2 .quiz-q{position:relative;flex:1;min-height:0;overflow-y:auto;padding:18px;scrollbar-width:thin}.cv2 .quiz-side{min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin}.cv2 .quiz-map{grid-area:map;min-height:0;display:none}.cv2 .quiz-map.open{display:block}.cv2 .quiz-map-in{height:100%;min-height:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:10px}.cv2 .quiz-map-h{flex:none;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--ink-3)}.cv2 .quiz-map-h button{width:24px;height:24px;border-radius:var(--r-sm);color:var(--ink-3)}.cv2 .quiz-map-h button:hover{color:var(--danger)}.cv2 .quiz-mapbtn{position:absolute;top:12px;right:12px;z-index:2;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface-2);color:var(--ink-2)}.cv2 .quiz-mapbtn:hover{border-color:var(--accent-line);color:var(--accent-2)}.cv2 .hud-seg .val.ok{color:var(--ok)}.cv2 .hud-seg .val.bad{color:var(--danger)}@media(max-width:1100px){.cv2 .quiz-cols{grid-template-columns:minmax(0,1fr)}.cv2 .quiz-body.mapopen{grid-template-columns:minmax(0,1fr);grid-template-areas:"cols"}.cv2 .quiz-map.open{position:fixed;inset:0;z-index:80;display:block;padding:14px;background:var(--bg)}}.cv2 .q-code{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface-2);font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;color:var(--ink-3)}.cv2 .q-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 13px;text-align:left;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface-2);color:var(--ink);transition:border-color .13s,background .13s,opacity .13s}.cv2 .q-opt+.q-opt{margin-top:8px}.cv2 .q-opt:hover:not(:disabled){border-color:var(--accent-line);background:#00a3ff0f}.cv2 .q-opt:disabled{cursor:default}.cv2 .q-opt-k{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface);font-family:var(--mono);font-size:12px;font-weight:700;color:var(--ink-2)}.cv2 .q-opt.picked .q-opt-k{border-color:var(--accent);color:var(--accent-2)}.cv2 .q-opt.ok{border-color:var(--ok);background:var(--ok-soft);color:var(--ink)}.cv2 .q-opt.ok .q-opt-k{border-color:var(--ok);color:var(--ok)}.cv2 .q-opt.ok>svg{color:var(--ok)}.cv2 .q-opt.bad{border-color:var(--danger);background:var(--danger-soft)}.cv2 .q-opt.bad .q-opt-k{border-color:var(--danger);color:var(--danger)}.cv2 .q-opt.bad>svg{color:var(--danger)}.cv2 .q-opt.idk{border-color:var(--border-2);background:#ffffff08}.cv2 .q-opt.idk>svg{color:var(--ink-3)}.cv2 .q-opt.dim{opacity:.45}.cv2 .q-solution{display:flex;flex-direction:column;gap:10px}.cv2 .q-verdict{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}.cv2 .q-verdict-h{display:flex;align-items:center;gap:8px;padding:9px 13px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em}.cv2 .q-verdict.ok{border-color:#00e63959}.cv2 .q-verdict.ok .q-verdict-h{background:var(--ok-soft);color:var(--ok)}.cv2 .q-verdict.bad{border-color:#ffb4ab59}.cv2 .q-verdict.bad .q-verdict-h{background:var(--danger-soft);color:var(--danger)}.cv2 .q-verdict-b{padding:12px 13px;font-size:13.5px;line-height:1.65;color:var(--ink-2)}.cv2 .q-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;border-radius:var(--r-sm);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.12em}.cv2 .q-cta.ghost{background:var(--surface-2);border-color:var(--border-2);color:var(--ink-2)}.cv2 .q-cta.ghost:hover{border-color:var(--accent-line);color:var(--accent-2)}.cv2 .q-wait{margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px;border:1px dashed var(--border-2);border-radius:var(--r-lg);text-align:center;color:var(--ink-3)}.cv2 .q-wait b{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--ink-2)}.cv2 .q-wait span{font-size:12px;line-height:1.55;max-width:280px}.cv2 .q-navbar{flex:none;display:flex;align-items:center;gap:10px}.cv2 .q-nav{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface-2);color:var(--ink-2);font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.12em}.cv2 .q-nav:hover:not(:disabled){border-color:var(--accent-line);color:var(--accent-2)}.cv2 .q-nav.next{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.cv2 .q-nav.next:hover:not(:disabled){filter:brightness(1.08)}.cv2 .q-nav:disabled{opacity:.4;cursor:not-allowed}.cv2 .qmap-grid{flex:1;min-height:0;overflow-y:auto;display:grid;gap:6px;padding-right:4px;grid-template-columns:repeat(5,1fr);align-content:start;scrollbar-width:thin}.cv2 .qmap-c{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--surface-2);font-family:var(--mono);font-size:12px;font-weight:700;color:var(--ink-3);transition:border-color .12s,background .12s,color .12s}.cv2 .qmap-c:hover:not(:disabled){border-color:var(--accent-line);color:var(--ink)}.cv2 .qmap-c.ok{background:var(--ok-soft);border-color:#00e63973;color:var(--ok)}.cv2 .qmap-c.bad{background:var(--danger-soft);border-color:#ffb4ab73;color:var(--danger)}.cv2 .qmap-c.done{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-2)}.cv2 .qmap-c.cur{box-shadow:0 0 0 2px var(--accent);border-color:var(--accent);color:var(--ink)}.cv2 .qmap-c:disabled{cursor:default}.cv2 .q-lang{margin-left:auto;padding:2px}.cv2 .q-lang .vtab{height:20px;padding:0 8px;font-size:9px;letter-spacing:.08em}.cv2 .q-passage{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.cv2 .q-passage-h{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid var(--border);background:#ffffff05}.cv2 .q-passage-l{padding:2px 8px;border-radius:999px;border:1px solid var(--border-2);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--ink-3)}.cv2 .q-passage-h h3{font-size:13.5px;font-weight:700;color:var(--ink)}.cv2 .q-passage-b{padding:14px;display:flex;flex-direction:column;gap:11px;font-size:14.5px;line-height:1.7;color:var(--ink-2)}.cv2 .q-passage-b b,.cv2 .q-passage-b strong{color:var(--ink)}.cv2 .ds-tabs{display:flex;flex-wrap:wrap;gap:3px;padding:3px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.cv2 .ds-tab{display:inline-flex;min-width:0;align-items:center;gap:6px;height:28px;padding:0 9px;border-radius:2px;border:1px solid transparent;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-3);transition:background .13s,color .13s,border-color .13s}.cv2 .ds-tab:hover{color:var(--ink)}.cv2 .ds-tab.on{background:var(--accent-2);color:#0b1117}.cv2 .ds-tab.hit{border-color:var(--ok)}.cv2 .ds-tab-t{display:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:640px){.cv2 .ds-tab-t{display:inline}}.cv2 .ds-tab-ok{color:var(--ok)}.cv2 .ds-sheet{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;transition:border-color .15s}.cv2 .ds-sheet.hit{border-color:var(--ok)}.cv2 .ds-sheet-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--border);background:#ffffff05}.cv2 .ds-sheet-h h3{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--ink-2)}.cv2 .ds-sheet-ok{padding:2px 8px;border-radius:999px;border:1px solid var(--ok);font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.1em;color:var(--ok)}.cv2 .ds-sheet>:not(.ds-sheet-h){padding:12px 14px}.cv2 .ds-sheet-empty{padding:24px;text-align:center;font-size:13px;color:var(--ink-3)}.cv2 .q-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px}.cv2 .q-chip{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface-2);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--ink-2)}.cv2 .q-chip.code{color:var(--ink-3);letter-spacing:.06em}.cv2 .q-chip.lvl{background:none}.cv2 .q-chip.lvl.e{border-color:var(--ok);color:var(--ok)}.cv2 .q-chip.lvl.m{border-color:var(--warn);color:var(--warn)}.cv2 .q-chip.lvl.h{border-color:var(--danger);color:var(--danger)}.cv2-tour-veil{position:fixed;inset:0;z-index:66}.cv2-tour-hole{position:fixed;z-index:67;pointer-events:none;border-radius:16px;box-shadow:0 0 0 9999px #05080ec7,0 0 0 2px #00a3ff,0 0 22px -2px #00a3ff8c;transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease}.cv2-tour-pop{position:fixed;z-index:68;background:#161c24;border:1px solid #3F4852;border-radius:16px;padding:18px 20px 16px;box-shadow:0 24px 60px #0009,0 1px #ffffff0a inset;animation:cv2pop .2s ease}.cv2-tour-pop h3{font-size:17px;font-weight:800;letter-spacing:-.3px;color:#dde3ec;margin:0 0 6px}.cv2-tour-pop p{font-size:13.5px;line-height:1.6;color:#bec7d4;margin:0}.cv2-tour-dots{display:flex;gap:6px;margin-bottom:11px}.cv2-tour-dots i{width:6px;height:6px;border-radius:50%;background:#1c242e;border:1px solid #3F4852}.cv2-tour-dots i.on{background:#00a3ff;border-color:#00a3ff}.cv2-tour-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.cv2-tour-skip{font-size:12.5px;font-weight:700;color:#88919d;padding:8px 2px;background:none;border:0;cursor:pointer}.cv2-tour-skip:hover{color:#bec7d4}.cv2-tour-go{font-size:13px;font-weight:800;color:#00243b;background:#00a3ff;border:0;border-radius:11px;padding:10px 18px;cursor:pointer;transition:filter .15s,transform .12s}.cv2-tour-go:hover{filter:brightness(1.08)}.cv2-tour-go:active{transform:scale(.97)}@media(max-width:560px){.cv2-tour-pop{left:12px!important;right:12px;top:auto!important;bottom:14px;width:auto!important;max-width:none}}.cv2 .rcard-help{flex:none;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-3);font-size:11px;font-weight:800;line-height:1;cursor:pointer;transition:color .15s,border-color .15s}.cv2 .rcard-help:hover{color:var(--accent-2);border-color:var(--accent-line)}.cv2 .rcard-help:active{transform:scale(.92)}.cv2 .avatar .avatar-anon{width:26px;height:26px;display:block}.fp{--void:#05070C;--face:#111826;--edge:#1E2A42;--edge-2:#2B3A58;--scale:#D8E2F2;--dim:#7C8AA6;--dimmer:#4E5C77;--cmd:#FF5EE0;--sel:#4FD8FF;--ok:#3FE39B;--caut:#FFB020;--warn:#FF5A5A;--pro-a:#8B5CF6;--pro-b:#EC4899;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;min-height:100vh;background:var(--void);color:var(--scale);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;padding:18px 16px 60px}.fp *{box-sizing:border-box}.fp .num{font-variant-numeric:tabular-nums;font-family:var(--mono)}.fp button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.fp button:focus-visible{outline:2px solid var(--sel);outline-offset:2px;border-radius:4px}.fp .wrap{max-width:1180px;margin:0 auto}.fp .panel{position:relative;background:linear-gradient(180deg,#0d1220,#0a0e18);border:1px solid var(--edge);border-radius:14px;box-shadow:0 1px #ffffff0a inset,0 18px 44px #0009}.fp .tag{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.18em;color:var(--dimmer);text-transform:uppercase}.fp .fma{display:flex;align-items:stretch;gap:1px;background:var(--edge);border:1px solid var(--edge);border-radius:10px;margin-bottom:12px;flex-wrap:wrap}.fp .cell{background:#0c111c;padding:7px 14px;display:flex;flex-direction:column;gap:3px;justify-content:center}.fp .cell b{font-size:13px;font-weight:800;letter-spacing:.02em}.fp .cell b i{font-style:normal;color:var(--sel)}.fp .seg{display:flex;gap:4px}.fp .seg button{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:3px 10px;border-radius:3px;color:var(--dim);border:1px solid transparent;transition:.14s}.fp .seg button:hover{color:var(--scale)}.fp .seg button[aria-pressed=true]{color:var(--sel);border-color:var(--sel);background:#4fd8ff17}.fp .push{margin-left:auto}.fp .cell .val{font-family:var(--mono);font-size:15px;font-weight:700}.fp .cell .val.cmd{color:var(--cmd)}.fp .top{display:grid;grid-template-columns:270px 1fr;gap:12px;margin-bottom:12px}.fp .dialbox{padding:16px 18px;display:flex;gap:16px;align-items:center}.fp .dial{position:relative;width:118px;height:118px;flex:none}.fp .dial .read{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.fp .dial .read b{font-family:var(--mono);font-size:26px;font-weight:700;line-height:1}.fp .dial .read span{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;color:var(--dimmer);margin-top:3px}.fp .side{display:flex;flex-direction:column;gap:11px;min-width:0}.fp .side .row .tag{display:block;margin-bottom:2px}.fp .side .row b{font-family:var(--mono);font-size:17px;font-weight:700}.fp .side .row b small{font-size:10px;color:var(--dim);font-weight:600}.fp .weekbox{padding:16px 18px}.fp .wkhead{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.fp .wkhead .note{margin-left:auto;font-size:11.5px;color:var(--dimmer)}.fp .wt{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;background:#0b111c;border:1px solid var(--edge);margin-bottom:7px;flex-wrap:wrap}.fp .wt .nm{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.05em;white-space:nowrap}.fp .wt .gate{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;padding:2px 8px;border-radius:3px;border:1px solid var(--edge-2);color:var(--dim);white-space:nowrap;flex:none;min-width:-moz-max-content;min-width:max-content}.fp .wt .gate.med{color:var(--caut);border-color:#ffb02073}.fp .wt .gate.hard{color:var(--warn);border-color:#ff5a5a73}.fp .wt .gate.chk{color:var(--sel);border-color:#4fd8ff80;background:#4fd8ff14}.fp .wt .arrow{font-family:var(--mono);font-size:12px;color:var(--dim)}.fp .wt .to{margin-left:auto;font-family:var(--mono);font-size:13px;font-weight:700;color:var(--cmd);flex:none}.fp .wt .hint{flex:1 0 100%;order:9;padding-left:2px;font-family:var(--mono);font-size:9px;letter-spacing:.07em;color:var(--dimmer)}.fp .wt .badge{font-family:var(--mono);font-size:8.5px;font-weight:800;letter-spacing:.1em;padding:2px 7px;border-radius:3px;border:1px solid rgba(63,227,155,.45);color:var(--ok)}.fp .empty{padding:16px;text-align:center;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--dimmer);border:1px dashed var(--edge);border-radius:8px}.fp .daynav{display:flex;align-items:center;gap:8px}.fp .daynav button{width:24px;height:24px;border-radius:5px;border:1px solid var(--edge-2);color:var(--dim);font-size:13px;line-height:1;transition:.14s}.fp .daynav button:hover:not(:disabled){border-color:var(--sel);color:var(--sel)}.fp .daynav button:disabled{opacity:.3;cursor:default}.fp .daynav .lbl{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.1em;min-width:118px;text-align:center}.fp .daynav .lbl em{font-style:normal;color:var(--sel)}.fp .wt .chk{width:15px;height:15px;border-radius:3px;border:1.5px solid var(--edge-2);flex:none;position:relative}.fp .wt.flown{opacity:.5}.fp .wt.flown .chk{background:var(--ok);border-color:var(--ok)}.fp .wt.flown .chk:after{content:"";position:absolute;left:4.5px;top:1px;width:4px;height:8px;border:solid #07110C;border-width:0 2px 2px 0;transform:rotate(45deg)}.fp .wt.flown .to{color:var(--ok)}.fp .daysum{margin-top:10px;display:flex;align-items:center;gap:9px;font-size:11.5px;padding:8px 11px;border-radius:6px;border:1px solid var(--edge);background:#0a0f1a}.fp .daysum .dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--dimmer)}.fp .daysum.done{color:var(--ok);border-color:#3fe39b4d}.fp .daysum.done .dot{background:var(--ok);box-shadow:0 0 6px #3fe39b99}.fp .daysum.missed,.fp .daysum.partial{color:var(--caut);border-color:#ffb0204d}.fp .daysum.missed .dot,.fp .daysum.partial .dot{background:var(--caut);box-shadow:0 0 6px #ffb02099}.fp .daysum.open{color:var(--scale);border-color:#4fd8ff4d}.fp .daysum.open .dot{background:var(--sel);box-shadow:0 0 6px #4fd8ff99}.fp .daysum.rest{color:var(--dimmer)}.fp .tapes{padding:16px 18px 12px;margin-bottom:12px}.fp .thead{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.fp .lg{margin-left:auto;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.fp .lgi{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--dim);font-family:var(--mono);letter-spacing:.03em}.fp .lgi i{display:inline-block;font-style:normal}.fp .lgi i.fill{background:var(--ok);height:9px;width:5px;border-radius:1px}.fp .lgi i.bug{width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:6px solid var(--cmd)}.fp .lgi i.band{height:0;border-top:2px dashed var(--scale);width:12px}.fp .rack{display:grid;grid-template-columns:56px repeat(7,1fr);gap:10px;align-items:end}.fp .axis{padding-bottom:9px}.fp .axis .col{height:168px;display:flex;flex-direction:column-reverse;justify-content:space-between;padding:4px 0;align-items:flex-end}.fp .axis .col span{height:7px;display:flex;align-items:center;font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:.06em;color:var(--dimmer);white-space:nowrap}.fp .axis .cap{height:22px}.fp .tp{display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer;padding:8px 4px 9px;border-radius:9px;border:1px solid transparent;transition:.15s;width:100%}.fp .tp:hover{background:#4fd8ff0d;border-color:var(--edge)}.fp .tp.on{background:#4fd8ff14;border-color:var(--sel)}.fp .tp.dim{opacity:.5}.fp .tp .cur{font-family:var(--mono);font-size:16px;font-weight:700;line-height:1;padding:2px 5px}.fp .tp .cur.g{color:var(--ok)}.fp .tp .cur.a{color:var(--caut)}.fp .tp .cur.r{color:var(--warn)}.fp .tp .col{position:relative;width:100%;height:168px}.fp .tp .slot{position:absolute;left:50%;transform:translate(-50%);width:22px;height:100%;background:linear-gradient(180deg,#0a0f1a,#0e1626);border:1px solid var(--edge);border-radius:3px;overflow:hidden}.fp .tp .fill{position:absolute;left:0;right:0;bottom:0;transition:height .7s cubic-bezier(.4,0,.2,1)}.fp .tp .fill.g{background:linear-gradient(180deg,#3fe39b,#1e8f63)}.fp .tp .fill.a{background:linear-gradient(180deg,#ffb020,#a66b00)}.fp .tp .fill.r{background:linear-gradient(180deg,#ff5a5a,#9e2b2b)}.fp .tp .tick{position:absolute;left:50%;transform:translate(-50%);width:22px;height:1px;background:#d8e2f21a}.fp .tp .band{position:absolute;left:50%;transform:translate(-50%);width:32px;height:0;border-top:2px dashed var(--scale);opacity:.75;margin-bottom:-1px}.fp .tp .bug{position:absolute;left:calc(50% + 12px);width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid var(--cmd);margin-bottom:-5px;filter:drop-shadow(0 0 4px rgba(255,94,224,.5))}.fp .tp .bugv{position:absolute;left:calc(50% + 22px);font-family:var(--mono);font-size:10.5px;font-weight:700;color:var(--cmd);margin-bottom:-8px;white-space:nowrap}.fp .tp .gates{position:absolute;right:calc(50% + 13px);top:0;height:100%;display:flex;flex-direction:column-reverse;justify-content:space-between;padding:4px 0;align-items:flex-end}.fp .gp{width:7px;height:7px;border-radius:50%;border:1px solid var(--dimmer);background:transparent}.fp .gp.pass{background:var(--ok);border-color:var(--ok);box-shadow:0 0 5px #3fe39b80}.fp .gp.now{background:var(--caut);border-color:var(--caut);box-shadow:0 0 5px #ffb02080}.fp .gp.ticket{background:var(--sel);border-color:var(--sel);box-shadow:0 0 5px #4fd8ff80}.fp .gp.spent{background:var(--pro-b);border-color:var(--pro-b)}.fp .tp .code{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--dim);text-align:center}.fp .tp.on .code,.fp .tp:hover .code{color:var(--scale)}.fp .readout{margin-top:12px;border-top:1px solid var(--edge);padding-top:11px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;min-height:40px}.fp .readout .nm{font-size:13.5px;font-weight:700}.fp .kv{display:flex;align-items:baseline;gap:6px}.fp .kv b{font-family:var(--mono);font-size:15px;font-weight:700}.fp .kv b.cmd{color:var(--cmd)}.fp .kv b.ok{color:var(--ok)}.fp .kv b.caut{color:var(--caut)}.fp .readout .hint{font-size:11.5px;color:var(--dimmer)}.fp .bottom{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}.fp .ann{padding:15px 16px;display:flex;flex-direction:column;gap:12px}.fp .anngrid{display:grid;grid-template-columns:52px repeat(7,1fr);gap:4px}.fp .annlbl{display:flex;flex-direction:column;gap:4px}.fp .annlbl span{height:22px;display:flex;align-items:center;font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:.08em;color:var(--dimmer)}.fp .anncol{display:flex;flex-direction:column;gap:4px;padding:3px;border-radius:5px;border:1px solid transparent;transition:.15s;cursor:pointer}.fp .anncol:hover{border-color:var(--edge-2)}.fp .anncol.on{border-color:var(--sel);background:#4fd8ff14}.fp .lp{height:22px;border-radius:3px;border:1px solid var(--edge);background:#0a0f1a;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;color:var(--dimmer)}.fp .lp.free{border-color:#3fe39b80;background:#3fe39b1f;color:var(--ok)}.fp .lp.spent{border-color:#ec489973;background:#8b5cf624;color:#e879c7}.fp .anncol .cc{font-family:var(--mono);font-size:8px;font-weight:700;color:var(--dimmer);text-align:center}.fp .anncol.on .cc{color:var(--sel)}.fp .eta2{margin-top:auto;display:flex;flex-direction:column;gap:7px}.fp .er{display:flex;align-items:center;gap:9px}.fp .er u{text-decoration:none;width:34px;font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--dimmer)}.fp .er .bar{flex:1;height:14px;border-radius:3px;background:#0a0f1a;border:1px solid var(--edge);overflow:hidden;position:relative}.fp .er .bar i{position:absolute;left:0;top:0;bottom:0;transition:width .45s cubic-bezier(.4,0,.2,1)}.fp .er .bar i.f{background:var(--edge-2)}.fp .er .bar i.p{background:linear-gradient(90deg,var(--pro-a),var(--pro-b))}.fp .er b{width:56px;text-align:right;font-family:var(--mono);font-size:12.5px;font-weight:700}.fp .er:first-of-type b{color:var(--dim)}.fp .er:last-of-type b{color:#e879c7}.fp .why{font-size:10.5px;line-height:1.35;color:var(--dimmer)}.fp .pro{display:block;text-align:center;padding:9px;border-radius:7px;font-size:12.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--pro-a),var(--pro-b));box-shadow:0 6px 18px #8b5cf64d}.fp .state{padding:60px 20px;text-align:center;color:var(--dim)}.fp .state b{display:block;font-size:16px;color:var(--scale);margin-bottom:6px}@media(max-width:1040px){.fp .top,.fp .bottom{grid-template-columns:1fr}.fp .rack{grid-template-columns:46px repeat(4,1fr);row-gap:16px}.fp .anngrid{grid-template-columns:52px repeat(4,1fr);row-gap:8px}.fp .push{margin-left:0}}@media(prefers-reduced-motion:reduce){.fp *{transition:none!important}}.fp .tickcell{flex:1;min-width:60px;overflow:hidden;position:relative;padding:7px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 26px,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(90deg,transparent,#000 26px,#000 calc(100% - 26px),transparent)}.fp .ticker{display:flex;gap:34px;white-space:nowrap;width:-moz-max-content;width:max-content;height:100%;align-items:center;animation:fp-slide 52s linear infinite}.fp .tickcell:hover .ticker{animation-play-state:paused}@keyframes fp-slide{0%{transform:translate(0)}to{transform:translate(-50%)}}.fp .tk{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--dim);display:inline-flex;align-items:center;gap:7px}.fp .tk:before{content:"▸";color:var(--edge-2);font-size:9px}.fp .tk b{color:var(--scale);font-weight:700}.fp .tk .c{color:var(--sel)}.fp .tk .m{color:var(--cmd)}.fp .tk .g{color:var(--ok)}.fp .tk .a{color:var(--caut)}@media(prefers-reduced-motion:reduce){.fp .ticker{animation:none}}.fp .helpcell{justify-content:center;padding:7px 12px}.fp #help{font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.12em;padding:6px 14px;border-radius:4px;border:1px solid var(--edge-2);color:var(--dim);transition:.15s}.fp #help[aria-pressed=true]{color:#08121a;background:var(--sel);border-color:var(--sel);animation:fp-pulse 1.8s ease-in-out infinite}@keyframes fp-pulse{0%,to{box-shadow:0 0 #4fd8ff8c}50%{box-shadow:0 0 0 7px #4fd8ff00}}.fp .backbtn{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--dim)}.fp .backbtn:hover{color:var(--sel)}.fp .note{display:none}.fp.explain .note{display:block;position:absolute;z-index:5;font-size:11px;line-height:1.35;color:#08121a;background:var(--sel);border-radius:5px;padding:5px 8px;max-width:230px;box-shadow:0 6px 16px #0000008c;pointer-events:none}.fp.explain .note b{font-weight:800}.fp.explain .note:after{content:"";position:absolute;width:8px;height:8px;background:var(--sel);transform:rotate(45deg)}.fp .note.n-down:after{left:14px;bottom:-4px}.fp .note.n-up:after{left:14px;top:-4px}.fp .fma{position:relative}.fp .route{padding:16px 20px 14px}.fp .rhead{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.fp .rhead .now{font-family:var(--mono);font-size:12px;color:var(--sel);letter-spacing:.06em}.fp .modechip{margin-left:auto;font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:.14em;padding:3px 9px;border-radius:3px;border:1px solid currentColor}.fp .modechip.now{color:var(--sel)}.fp .modechip.future{color:var(--cmd)}.fp .legz{position:relative;height:74px;margin:0 26px}.fp .legz .line{position:absolute;left:0;right:0;top:38px;height:2px;background:linear-gradient(90deg,var(--ok) 0%,var(--ok) var(--done),var(--edge-2) var(--done),var(--edge-2) 100%)}.fp .wp{position:absolute;top:33px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;background:none;border:none;padding:0}.fp .wp .dot{width:11px;height:11px;transform:rotate(45deg);background:#0b0f17;border:1.5px solid var(--edge-2);transition:.15s}.fp .wp.done .dot{background:var(--ok);border-color:var(--ok)}.fp .wp.now .dot{background:var(--sel);border-color:var(--sel);box-shadow:0 0 0 4px #4fd8ff29}.fp .wp:hover .dot{border-color:var(--sel)}.fp .wp .lb{font-family:var(--mono);font-size:10px;color:var(--dimmer);white-space:nowrap}.fp .wp.now .lb{color:var(--sel)}.fp .rt-end{position:absolute;top:16px;display:flex;flex-direction:column;align-items:center;gap:6px}.fp .rt-end.a{left:-26px}.fp .rt-end.b{right:-26px}.fp .rt-end .lb{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;color:var(--dimmer);white-space:nowrap}.fp .rt-end.b .lb{color:var(--scale)}.fp .rt-end .cap{width:2px;height:12px;background:var(--edge-2);border-radius:1px}.fp .rt-end.b .cap{background:var(--scale)}.fp .plane{position:absolute;top:8px;transform:translate(-50%);color:var(--sel);transition:left .5s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 0 6px rgba(79,216,255,.5))}.fp .side .row b.up{color:var(--ok)}.fp .side .row b.down{color:var(--warn)}.fp .veil{position:fixed;inset:0;background:#030509c7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}.fp .dlg{width:min(560px,100%);background:linear-gradient(180deg,#0e1422,#0a0e18);border:1px solid var(--edge-2);border-radius:14px;box-shadow:0 26px 64px #000000b3;overflow:hidden}.fp .dlg header{padding:14px 18px;border-bottom:1px solid var(--edge);display:flex;align-items:center;gap:10px}.fp .dlg header .tag{color:var(--caut)}.fp .dlg header h3{font-family:var(--mono);font-size:14px;font-weight:800;letter-spacing:.06em}.fp .cmp{display:grid;grid-template-columns:1fr auto 1fr}.fp .cmp .side{padding:14px 18px;display:block}.fp .cmp .side.to{background:#4fd8ff0d}.fp .cmp .arrow{display:flex;align-items:center;color:var(--dimmer);padding:0 2px}.fp .cmp .side u{text-decoration:none;font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:.16em;color:var(--dimmer)}.fp .cmp .side .big{font-family:var(--mono);font-size:23px;font-weight:800;margin-top:5px;line-height:1}.fp .cmp .side.to .big{color:var(--sel)}.fp .cmp .side .r{display:flex;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--dim);margin-top:7px}.fp .cmp .side .r b{font-family:var(--mono);color:var(--scale);font-weight:700}.fp .keep{padding:12px 18px;border-top:1px solid var(--edge);background:#0a0f1a;font-size:11.5px;color:var(--dim)}.fp .keep b{color:var(--ok)}.fp .keep .w{display:block;margin-top:6px;color:var(--caut)}.fp .acts{display:flex;gap:9px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--edge)}.fp .acts button{font-family:var(--mono);font-size:11.5px;font-weight:800;letter-spacing:.08em;padding:8px 16px;border-radius:5px;border:1px solid var(--edge-2);color:var(--dim)}.fp .acts button:hover{color:var(--scale);border-color:var(--dim)}.fp .acts button.go{background:var(--sel);border-color:var(--sel);color:#08121a}.fp .cform{padding:15px 18px;display:flex;flex-direction:column;gap:13px}.fp .fld label{display:block;font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--dimmer);margin-bottom:6px;text-transform:uppercase}.fp .sld{display:flex;align-items:center;gap:12px}.fp .sld input[type=range]{flex:1;accent-color:var(--sel);height:4px}.fp .sld output{width:56px;text-align:right;font-size:13.5px;font-weight:700}.fp .cout{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--edge);border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}.fp .cout div{background:#0c111c;padding:11px 14px}.fp .cout div:last-child{background:#4fd8ff0f}.fp .cout u{text-decoration:none;display:block;font-family:var(--mono);font-size:8.5px;font-weight:800;letter-spacing:.14em;color:var(--dimmer)}.fp .cout b{display:block;font-size:18px;font-weight:800;margin-top:4px}.fp .cout div:last-child b{color:var(--sel)}.fp .cwarn{padding:0 18px;display:flex;flex-direction:column;gap:7px}.fp .cwarn:not(:empty){padding:13px 18px}.fp .cwarn .w{font-size:11.5px;line-height:1.4;padding:9px 11px;border-radius:6px;border:1px solid}.fp .cwarn .w.low{border-color:#ff5a5a66;background:#ff5a5a14;color:#ff9b9b}.fp .cwarn .w.cap{border-color:#ec489966;background:#8b5cf61f;color:#e8b4dc}.fp .tp .ghost{position:absolute;left:0;right:0;bottom:0;border:1.5px solid var(--cmd);border-bottom:none;background:repeating-linear-gradient(-45deg,rgba(255,94,224,.1) 0 3px,transparent 3px 7px);transition:height .55s cubic-bezier(.4,0,.2,1)}.fp .tp .cur.cmd{color:var(--cmd)}.fp .lgi i.ghost{width:6px;height:10px;border:1.5px solid var(--cmd);border-bottom:none;background:none}.fp .tp.idle{opacity:.35}.fp .tp .cur.none{color:var(--dimmer)}.fp .lgbody{padding:16px 18px;display:flex;flex-direction:column;gap:11px}.fp .lgrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fp .lgrow b{font-size:13px;font-weight:800;color:var(--caut)}.fp .lgbody p{font-size:12.5px;line-height:1.5;color:var(--dim)}.fp .lgtar{display:flex;align-items:center;gap:9px;padding-top:10px;border-top:1px solid var(--edge)}.fp .lgtar b{font-family:var(--mono);font-size:15px;font-weight:800;color:var(--cmd)}.fp .wt{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .14s,background .14s}.fp .wt:hover:not(:disabled){border-color:var(--sel);background:#0d1522}.fp .wt:disabled{cursor:default}
