.mcq-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mcq-label{color:var(--muted);font-size:22px}.bm{font-family:var(--f-hand);color:var(--muted);border-radius:6px;margin-left:auto;padding:0 6px;font-size:20px;font-weight:700}.bm:hover{color:var(--ink);background:var(--hl-soft)}.bm[aria-pressed=true]{color:var(--amber)}.mcq-prompt{font-family:var(--f-head);letter-spacing:-.01em;margin:14px 0 12px;font-size:23px;line-height:1.32}.mcq-prompt p+p{margin-top:8px}.mcq-prompt code{font-size:.78em}.mcq-code .shiki,.q-code .shiki{border:2px solid var(--code-border);box-shadow:3px 4px 0 rgba(var(--shadow-rgb), .08);border-radius:10px;margin:12px 0 18px;font-size:14.5px}.opts{gap:10px;padding:0;list-style:none;display:grid}.opt{text-align:left;background:var(--card);border:2px solid var(--ink);border-radius:12px 16px 12px 18px/14px 12px 16px;align-items:center;gap:14px;width:100%;padding:11px 16px 11px 12px;font-size:16px;line-height:1.4;transition:background .12s,transform .12s;display:flex}.opt:hover:not(:disabled){background:var(--hl-soft);transform:translate(3px)}.opt:disabled{cursor:default}.opt-k{border:2px solid var(--ink);width:32px;height:32px;font-family:var(--f-hand);border-radius:50% 45% 55% 48%;flex:none;place-items:center;font-size:21px;font-weight:700;line-height:1;display:grid}.opt-t{flex:1}.opt-mark{font-family:var(--f-hand);font-size:24px;font-weight:700}.opt.correct{background:var(--ok-bg);border-color:var(--green)}.opt.correct .opt-k{background:var(--green);border-color:var(--green);color:#fff}.opt.correct .opt-mark:after{content:"✓";color:var(--green)}.opt.wrong{background:var(--bad-bg);border-color:var(--red)}.opt.wrong .opt-t{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px}.opt.wrong .opt-mark:after{content:"✗";color:var(--red)}.answered .opt:not(.correct):not(.wrong){opacity:.6}.mcq-exp{background:var(--sticky-yellow);color:var(--sticky-ink);box-shadow:0 14px 22px -16px rgba(var(--shadow-rgb), .45);margin-top:18px;padding:16px 20px 18px;font-size:16px;transform:rotate(-.4deg)}.is-wrong .mcq-exp{background:var(--sticky-pink)}.mcq-exp p+p,.mcq-exp ul{margin-top:8px}.mcq-exp code,.sticky code,.fc-back code{color:inherit;background:#1f2a4412;border-color:#1f2a4426}.mcq-exp a:not(.btn){color:#2b59c3}.verdict{font-family:var(--f-hand);color:#1f7a4d;font-size:27px;font-weight:700;line-height:1.1}.is-wrong .verdict{color:#c2353b}.exp-more{margin-top:10px}.pr-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.panel{background:var(--card);border:2px solid var(--ink);box-shadow:5px 6px 0 rgba(var(--shadow-rgb), .12);border-radius:6px 14px 14px;padding:28px 30px}.setup{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:34px;margin-top:30px;display:grid}.setup .panel{gap:26px;display:grid}.opt-group>h3,.opt-group>legend{font-family:var(--f-hand);color:var(--pen);letter-spacing:0;margin-bottom:10px;padding:0;font-size:25px;font-weight:700}fieldset.opt-group{border:0;min-width:0;margin:0;padding:0}.opt-group .chip-row{gap:10px}.opt-group input[type=checkbox],.opt-group input[type=radio]{opacity:0;pointer-events:none;position:absolute}.opt-group input:focus-visible+.chip{outline:2.5px solid var(--pen);outline-offset:3px}.chip small{color:var(--muted);font-weight:500}.setup-foot{border-top:2px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;display:flex}.pool{font-family:var(--f-hand);color:var(--muted);font-size:23px}.pool b{color:var(--ink)}.side-notes{gap:22px;display:grid}.side-notes .sticky{font-size:21px}.side-notes .sticky:first-child{transform:rotate(1.5deg)}.side-notes .sticky:nth-child(2){transform:rotate(-1.2deg)}.side-notes kbd{color:var(--sticky-ink);background:#fff9;font-size:13px}.runbar{flex-wrap:wrap;align-items:center;gap:18px;margin:28px 0 18px;display:flex}.runbar .count{font-family:var(--f-hand);font-size:26px;font-weight:700}.runbar .pb{--c:var(--c-js);flex:1;min-width:160px}.timer{font-family:var(--f-hand);text-align:right;font-variant-numeric:tabular-nums;min-width:70px;font-size:28px;font-weight:700}.timer.low{color:var(--red);animation:1s infinite pulse}@keyframes pulse{50%{opacity:.45}}.quit{font-family:var(--f-hand);color:var(--muted);font-size:21px;font-weight:700}.quit:hover{color:var(--red)}.stage{max-width:820px;margin:0 auto}.stage .page{padding:34px 34px 30px 70px}.stage-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.stage-actions .hint{color:var(--muted);font-size:14px}.results{max-width:900px;margin:30px auto 0}.score-card{grid-template-columns:240px minmax(0,1fr);align-items:center;gap:34px;display:grid}.score-ring{place-items:center;width:220px;height:200px;display:grid;position:relative}.score-ring svg{width:100%;height:100%;position:absolute;inset:0}.score-ring .big{font-family:var(--f-head);letter-spacing:-.04em;font-size:64px;line-height:1}.score-ring .big small{color:var(--muted);font-size:30px}.score-ring .lbl{font-family:var(--f-hand);color:var(--muted);font-size:22px;font-weight:700;position:absolute;bottom:30px}.score-card h2{font-size:40px}.score-card p{color:var(--ink-2);margin-top:8px}.score-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.breakdown{gap:12px;margin-top:34px;display:grid}.brow{grid-template-columns:150px minmax(0,1fr) 70px;align-items:center;gap:14px;font-size:15px;font-weight:600;display:grid}.brow span:last-child{text-align:right;color:var(--muted)}.review{gap:16px;margin-top:40px;display:grid}.review h3{font-size:30px}.rv{background:var(--card);border:2px solid var(--line);border-left:6px solid var(--green);border-radius:10px;padding:16px 20px}.rv.bad{border-left-color:var(--red)}.rv summary{cursor:pointer;align-items:baseline;gap:12px;list-style:none;display:flex}.rv summary::-webkit-details-marker{display:none}.rv summary .n{font-family:var(--f-hand);flex:none;width:34px;font-size:22px;font-weight:700}.rv summary .q{flex:1;font-weight:600}.rv summary .res{font-family:var(--f-hand);flex:none;font-size:21px;font-weight:700}.rv .rv-body{border-top:2px dashed var(--line);gap:8px;margin-top:12px;padding-top:12px;font-size:15.5px;display:grid}.rv .rv-body .ans b{font-family:var(--f-hand);color:var(--muted);margin-right:6px;font-size:20px}.fc-wrap{max-width:760px;margin:26px auto 0}.fc{perspective:1600px;cursor:pointer}.fc-inner{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,.7,.2,1);display:grid}.fc.flipped .fc-inner{transform:rotateY(180deg)}.fc-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;flex-direction:column;grid-area:1/1;min-height:380px;display:flex}.fc-front{padding:34px 34px 28px 70px}.fc-back{background:var(--sticky-yellow);color:var(--sticky-ink);box-shadow:0 22px 34px -22px rgba(var(--shadow-rgb), .55);padding:30px 32px 26px;transform:rotateY(180deg)}.fc-top{font-family:var(--f-hand);color:var(--muted);justify-content:space-between;align-items:center;font-size:21px;font-weight:700;display:flex}.fc-back .fc-top{color:#1f2a4499}.fc-q{font-family:var(--f-head);flex:0;margin:18px 0 12px;font-size:30px;line-height:1.25}.fc-q code{font-size:.75em}.fc-flip-hint{font-family:var(--f-hand);color:var(--pen);text-align:right;margin-top:auto;font-size:23px;font-weight:700}.fc-back .model{margin-top:12px;font-size:16.5px;line-height:1.6}.fc-back .model p+p,.fc-back .model ul{margin-top:8px}.fc-back .model ul,.kp ul{padding-left:20px}.kp{border-top:2px dashed #1f2a4440;margin-top:16px;padding-top:12px}.kp h4{font-family:var(--f-hand);letter-spacing:0;font-size:22px;font-weight:700}.kp li{font-size:15.5px}.grades{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px;display:grid}.grade{border:2px solid var(--ink);background:var(--card);border-radius:12px 16px 12px 18px/14px 12px 16px;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;font-size:15.5px;font-weight:700;display:flex}.grade small{color:var(--muted);font-size:12.5px;font-weight:500}.grade:hover{transform:translateY(-2px)}.grade.g0{background:var(--bad-bg)}.grade.g1{background:color-mix(in srgb, var(--sticky-peach) 45%, var(--card))}.grade.g2{background:var(--ok-bg)}.grade.g3{background:color-mix(in srgb, var(--sticky-blue) 55%, var(--card))}.fc-status{font-family:var(--f-hand);color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:23px;font-weight:700;display:flex}.fc-status b{color:var(--ink)}.deck-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.deck{text-align:left;background:var(--card);border:2px solid var(--ink);box-shadow:4px 5px 0 rgba(var(--shadow-rgb), .1), 8px 9px 0 -2px var(--card), 8px 9px 0 0 var(--line);border-radius:6px 14px 14px;padding:18px 18px 16px;transition:transform .12s;position:relative}.deck:hover{transform:translateY(-2px)rotate(-.5deg)}.deck[aria-pressed=true]{background:var(--hl-soft)}.deck b{font-family:var(--f-head);font-size:21px;font-weight:400;display:block}.deck span{color:var(--muted);font-size:13.5px;font-weight:600}.deck .due{font-family:var(--f-hand);background:var(--red);color:#fff;border-radius:999px;padding:0 9px;font-size:19px;font-weight:700;line-height:24px;position:absolute;top:-12px;right:10px}.opt-group input:checked+.deck{background:var(--hl-soft)}.opt-group input:not(:checked)+.deck{opacity:.55}.opt-group input:focus-visible+.deck{outline:2.5px solid var(--pen);outline-offset:3px}.deck-grid label{cursor:pointer;display:block}.deck-grid label .deck{height:100%;display:block}.mock-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:28px;margin-top:10px;display:grid}.interviewer{align-items:flex-start;gap:14px;display:flex}.avatar{border:2px solid var(--ink);background:var(--sticky-blue);border-radius:50% 46% 52% 48%;flex:none;place-items:center;width:58px;height:58px;display:grid}.bubble{background:var(--card);border:2px solid var(--ink);box-shadow:4px 5px 0 rgba(var(--shadow-rgb), .1);border-radius:6px 18px 18px;flex:1;min-width:0;padding:18px 20px;position:relative}.bubble .who{font-family:var(--f-hand);color:var(--muted);font-size:21px;font-weight:700}.bubble .mq{font-family:var(--f-head);margin-top:4px;font-size:25px;line-height:1.3}.bubble .mq code{font-size:.76em}.answer-pad{position:relative}.answer-pad label{font-family:var(--f-hand);color:var(--pen);margin-bottom:6px;font-size:24px;font-weight:700;display:block}.answer-pad textarea{resize:vertical;border:2px solid var(--ink);width:100%;min-height:250px;font-family:var(--f-body);background-color:var(--card);background-image:linear-gradient(90deg, transparent 44px, var(--margin-line) 44px, var(--margin-line) 46px, transparent 46px), linear-gradient(transparent 29px, var(--rule) 29px);background-size:100% 100%,100% 30px;background-attachment:local;border-radius:6px;outline:none;padding:12px 16px 12px 58px;font-size:16.5px;line-height:30px}.answer-pad textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--pen) 25%, transparent)}.answer-pad .wc{color:var(--muted);font-size:12.5px;position:absolute;bottom:10px;right:12px}.reveal{margin-top:22px}.checklist{gap:8px;margin-top:10px;padding:0;list-style:none;display:grid}.checklist label{cursor:pointer;background:#ffffff80;border-radius:10px;align-items:flex-start;gap:12px;padding:8px 12px;font-size:16px;display:flex}.checklist input{accent-color:#1f8a57;flex:none;width:20px;height:20px;margin-top:2px}.self{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.self .chip{color:var(--sticky-ink);border-color:var(--sticky-ink);background:#ffffffa6}.self .chip[aria-pressed=true]{color:#fff;background:#1f2a44}.followups{margin-top:14px;font-size:15px}.followups b{font-family:var(--f-hand);font-size:21px}.model-sticky{font-family:var(--f-body);padding:22px 24px 24px;font-size:16px;line-height:1.6}.model-sticky .hand{font-size:24px}.model-sticky .model p+p,.model-sticky .model ul{margin-top:8px}.model-sticky .model ul{padding-left:20px}.stats{grid-template-columns:repeat(6,1fr);gap:16px;display:grid}.stat{background:var(--card);border:2px solid var(--ink);box-shadow:3px 4px 0 rgba(var(--shadow-rgb), .1);border-radius:6px 14px 14px;padding:16px 18px}.stat b{font-family:var(--f-head);letter-spacing:-.03em;font-size:38px;font-weight:400;line-height:1.05;display:block}.stat span{color:var(--muted);font-size:13.5px;font-weight:600}.stat .hand{color:var(--pen);font-size:20px}.dash{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:26px;margin-top:26px;display:grid}.dash h3{margin-bottom:14px;font-size:26px}.acc-row{border-bottom:1px dashed var(--line);grid-template-columns:130px minmax(0,1fr) 92px;align-items:center;gap:14px;padding:8px 0;font-size:15px;font-weight:600;display:grid}.acc-row:last-child{border-bottom:0}.acc-row .r{text-align:right;color:var(--muted);font-size:13.5px}.sess{gap:0;padding:0;list-style:none;display:grid}.sess li{border-bottom:1px dashed var(--line);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;font-size:15px;display:grid}.sess li:last-child{border-bottom:0}.sess .ic{text-align:center;font-size:20px}.sess .when{color:var(--muted);font-size:13px;display:block}.sess .sc{font-family:var(--f-hand);font-size:22px;font-weight:700}.data-tools{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.saved-list{gap:8px;padding:0;list-style:none;display:grid}.saved-list a{align-items:baseline;gap:10px;font-size:15px;font-weight:600;display:flex}.saved-list a:hover{text-decoration:underline}.ch-table{gap:12px;display:grid}.crow{background:var(--card);border:2px solid var(--ink);box-shadow:3px 4px 0 rgba(var(--shadow-rgb), .08);border-radius:6px 14px 14px;grid-template-columns:42px minmax(0,1fr) 120px 110px 110px;align-items:center;gap:16px;padding:14px 18px;transition:transform .12s;display:grid}.crow:hover{transform:translate(4px)}.crow .ck{border:2px solid var(--ink);width:30px;height:30px;font-family:var(--f-hand);color:var(--green);border-radius:8px 10px 7px 9px;place-items:center;font-size:22px;font-weight:700;display:grid}.crow b{font-family:var(--f-head);font-size:20px;font-weight:400}.crow small{color:var(--muted);font-size:13.5px;display:block}.crow .mins{font-family:var(--f-hand);color:var(--muted);font-size:21px;font-weight:700}.ide{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:24px;margin-top:24px;display:grid}.problem{padding:30px 30px 26px 66px}.problem h1{margin:8px 0 12px;font-size:36px}.problem .prose-sm{font-size:16px}.prose-sm p+p,.prose-sm ul,.prose-sm p+ul{margin-top:10px}.prose-sm ul{padding-left:20px}.prose-sm li+li{margin-top:4px}.hints{gap:10px;margin-top:20px;display:grid}.hints .sticky{padding:12px 16px;font-size:20px}.editor-col{gap:14px;display:grid;position:sticky;top:90px}.editor-box{border:2px solid var(--code-border);background:var(--code-bg);box-shadow:4px 5px 0 rgba(var(--shadow-rgb), .1);border-radius:10px;overflow:hidden}.editor-bar{border-bottom:2px dashed var(--line);font-family:var(--f-hand);color:var(--muted);align-items:center;gap:10px;padding:8px 10px 8px 16px;font-size:20px;font-weight:700;display:flex}.editor-bar .sp{margin-left:auto}.editor-host{height:440px}.editor-host .cm-editor{height:100%}.results-box{border:2px solid var(--ink);background:var(--card);border-radius:10px;min-height:120px;padding:16px 18px}.results-box h3{font-family:var(--f-hand);letter-spacing:0;justify-content:space-between;font-size:24px;font-weight:700;display:flex}.test{border-bottom:1px dashed var(--line);grid-template-columns:24px minmax(0,1fr);gap:8px;padding:7px 0;font-size:15px;display:grid}.test:last-child{border-bottom:0}.test .i{font-weight:800}.test.pass .i{color:var(--green)}.test.fail .i{color:var(--red)}.test .err{font-family:var(--f-code);color:var(--red);white-space:pre-wrap;word-break:break-word;grid-column:2;font-size:13px}.console{font-family:var(--f-code);background:var(--paper-2);white-space:pre-wrap;border-radius:8px;max-height:180px;margin-top:10px;padding:10px 12px;font-size:13px;overflow:auto}.console .warn{color:var(--amber)}.console .error{color:var(--red)}.solved-banner{font-family:var(--f-hand);color:var(--green);font-size:26px;font-weight:700}@media (width<=980px){.setup,.mock-stage,.ide,.dash{grid-template-columns:minmax(0,1fr)}.editor-col{position:static}.stats{grid-template-columns:repeat(3,1fr)}.deck-grid{grid-template-columns:repeat(2,1fr)}.score-card{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}.score-actions{justify-content:center}.crow{grid-template-columns:36px minmax(0,1fr) auto}.crow .lvlc,.crow .mins{display:none}}@media (width<=620px){.panel{padding:22px 18px}.stage .page,.fc-front,.problem{padding:26px 18px 22px 52px}.mcq-prompt{font-size:20px}.fc-q{font-size:24px}.fc-face{min-height:320px}.grades,.stats{grid-template-columns:repeat(2,1fr)}.brow,.acc-row{grid-template-columns:100px minmax(0,1fr) 70px}.editor-host{height:360px}.stage-actions{flex-direction:column-reverse;align-items:stretch}.stage-actions .btn{width:100%}}@media print{.mock-report .no-print{display:none!important}}
