.grind-page{color:#252923;background:radial-gradient(at 10% 30%,#e9ebe3b5,#0000 50%),radial-gradient(at 88% 70%,#ece7df9c,#0000 50%),#f6f6f2;min-height:100dvh;overflow-x:clip}.grind-top{align-items:center;gap:22px;max-width:1080px;min-height:80px;margin:auto;padding:18px 28px;display:flex}.grind-back{align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:550;display:flex}.grind-top-topic{text-overflow:ellipsis;white-space:nowrap;color:#85887e;flex:1;min-width:0;font-size:12px;overflow:hidden}.grind-counter{color:#707669;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.grind-menu-button{background:#ffffff80;border:1px solid #fff;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.grind-progress{background:#25292308;height:2px}.grind-progress>span{background:#9ba68e;height:100%;transition:width .3s;display:block}.grind-main{max-width:920px;margin:auto;padding:34px 35px 26px}.grind-stack{isolation:isolate;margin:0 0 28px;position:relative}.grind-stack-back{pointer-events:none;z-index:-1;background:#ffffff7a;border:1px solid #ffffffeb;border-radius:30px;position:absolute;box-shadow:0 10px 35px #30382509}.back-one{inset:12px 12px -10px;transform:rotate(.7deg)}.back-two{opacity:.6;inset:24px 25px -19px;transform:rotate(-.8deg)}.grind-card{overscroll-behavior:contain;scrollbar-width:thin;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform-origin:50% 65%;background:linear-gradient(135deg,#fffffff0,#fffefaca);border:1px solid #fffffff2;border-radius:30px;min-height:410px;max-height:calc(100dvh - 180px);transition:box-shadow .25s,transform .28s cubic-bezier(.2,.85,.25,1.12);animation:.32s cubic-bezier(.2,.85,.25,1.1) grind-arrive;position:relative;overflow-y:auto;box-shadow:0 20px 65px #30382512,inset 0 1px #fff}.grind-card[data-ready=true]{cursor:grab}.grind-card[data-ready=true]:active{cursor:grabbing}.grind-card[data-ready=true] .grind-grab,.grind-swipe-zone{touch-action:pinch-zoom}.grind-card[data-result=correct]{border-color:#a5bb9580;box-shadow:0 15px 60px #5b875012,0 0 0 1px #9bb88726}.grind-card[data-result=partial]{border-color:#cbb47f80;box-shadow:0 15px 60px #ba964312,0 0 0 1px #cbb47f26}.grind-card[data-result=incorrect]{border-color:#ca9d9080;box-shadow:0 15px 60px #b6786212,0 0 0 1px #ca9d9026}.grind-question{width:100%;padding:34px 42px 30px}.grind-question .exam-text{font-size:20px;line-height:1.65}.grind-question .answer-field{background:#ffffff95;border-color:#dfe2d6;border-radius:14px;min-height:56px}.grind-question textarea.answer-field{min-height:110px}.grind-bookmark{background:#ffffff91;border:1px solid #e5e8dc;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;transition:transform .2s,background .2s;display:grid}.grind-bookmark.is-saved{background:#e8ecdf;transform:rotate(-8deg)}.grind-feedback{cursor:text;border-top:1px solid #dfe3d6;margin-top:28px;padding-top:26px;font-size:15px;line-height:1.65}.grind-feedback h3{text-transform:uppercase;letter-spacing:.09em;color:#808773;margin:22px 0 10px;font-size:11px;font-weight:600}.grind-score{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grind-score h2{letter-spacing:-.035em;color:#252923;font-size:25px;font-weight:600}.grind-score>span{color:#858d79;font-size:12px}.grind-score[data-result=correct]>svg{color:#668853}.grind-score[data-result=partial]>svg{color:#ac8b40}.grind-score[data-result=incorrect]>svg{color:#b47761}.grind-mark-points{gap:8px;display:grid}.grind-mark-points li{align-items:flex-start;gap:10px;display:flex}.grind-mark-points svg{flex-shrink:0;margin-top:5px}.grind-part-score{color:#8a927d;margin:14px 0 8px;font-size:12px}.grind-model-answer{margin:10px 0}.grind-exam-tip{font-size:13px}.grind-feedback-links{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.grind-feedback-links button{text-underline-offset:4px;color:#707c61;align-items:center;gap:7px;min-height:44px;font-size:12px;text-decoration:underline;display:flex}.grind-full-explanation{font-size:13px}.grind-recovered{color:#628251;margin-top:8px;font-size:12px}.grind-swipe-zone{border-top:1px solid #e4e8dc;margin-top:26px;padding-top:18px}.grind-swipe-controls{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.grind-swipe-controls button{cursor:pointer;background:#fff9;border:1px solid #e0e4d8;border-radius:15px;justify-content:center;align-items:center;gap:9px;min-height:52px;font-size:13px;transition:background .2s,transform .2s;display:flex}.grind-swipe-controls button:first-child:hover{background:#f6eae5}.grind-swipe-controls button:nth-child(3):hover{background:#eaf1e3}.grind-swipe-controls button:nth-child(2){color:#fff;background:#2e3429;border-color:#2e3429}.grind-swipe-controls button:active{transform:scale(.97)}.grind-swipe-controls button:disabled{opacity:.4;cursor:wait}.grind-drag-label{z-index:3;float:right;pointer-events:none;opacity:0;letter-spacing:.035em;max-height:0;padding:0 25px;font-size:20px;font-weight:550;position:sticky;top:12px}.grind-card[data-cue=understood]{background:linear-gradient(130deg,#f0f6ebf5,#fffefae8)}.grind-card[data-cue=review]{background:linear-gradient(130deg,#fbf0ebf5,#fffefae8)}.grind-card[data-cue=understood] .grind-drag-label{opacity:1;color:#668853}.grind-card[data-cue=review] .grind-drag-label{opacity:1;color:#b47761}.grind-card[data-cue=next] .grind-drag-label{opacity:1;color:#818c76}.grind-card.leave-understood{animation:.48s cubic-bezier(.3,.05,.65,.65) forwards grind-right}.grind-card.leave-review{animation:.48s cubic-bezier(.3,.05,.65,.65) forwards grind-left}.grind-card.leave-next{animation:.3s ease-in forwards grind-up}.grind-save{text-align:center;color:#959d88;min-height:18px;margin-top:22px;font-size:11px}.grind-tutorial{text-align:center;color:#889479;margin-top:18px;font-size:11px}.grind-tutorial>p:nth-child(2){justify-content:center;gap:16px;margin:9px 0;animation:1.5s 2 grind-hint;display:flex}.grind-tutorial button{text-underline-offset:3px;min-height:40px;text-decoration:underline}.grind-error{color:#935e48;background:#fff8f2;border:1px solid #d8b4a3;border-radius:14px;margin:18px 0;padding:16px;font-size:13px}.grind-error button{min-height:44px;font-weight:600;text-decoration:underline;display:block}.grind-question-menu{background:#ffffffce;border:1px solid #e1e5d7;border-radius:16px;max-width:850px;margin:16px auto;padding:20px}.grind-question-menu p{color:#869277;margin-bottom:12px;font-size:12px}.grind-question-menu>div{flex-wrap:wrap;gap:8px;display:flex}.grind-question-menu button{border:1px solid #e1e5d7;border-radius:10px;min-width:44px;min-height:44px;font-size:13px}.grind-question-menu button[aria-current=step]{color:#fff;background:#30352a}.grind-summary{text-align:center;background:#ffffffb8;border:1px solid #fff;border-radius:30px;padding:44px;animation:.35s grind-arrive;box-shadow:0 20px 65px #30382512}.grind-summary-check{color:#769265;margin:0 auto 22px}.grind-eyebrow{letter-spacing:.16em;color:#8c977f;font-size:11px}.grind-summary h1{letter-spacing:-.05em;margin:12px 0;font-size:44px;font-weight:500}.grind-summary>p:not(.grind-eyebrow){color:#87927a;font-size:13px}.grind-summary-stats{grid-template-columns:repeat(3,1fr);margin:34px 0;display:grid}.grind-summary-stats>div{gap:8px;display:grid}.grind-summary-stats strong{font-size:30px;font-weight:500}.grind-summary-stats span{color:#839174;font-size:12px}.grind-summary-actions{gap:12px;max-width:330px;margin:auto;display:grid}.grind-summary-actions>*{border:1px solid #e1e5d7;border-radius:14px;justify-content:center;align-items:center;gap:10px;min-height:50px;font-size:14px;display:flex}.grind-summary-actions .grind-primary{color:#fff;background:#30362a;border-color:#30362a}.grind-zoom-button{color:#7b876d;align-items:center;gap:8px;min-height:44px;margin:auto;font-size:12px;display:flex}.grind-asset-dialog{background:#fffefa;border-radius:24px;width:min(95vw,1000px);max-height:92dvh;margin:auto;padding:24px;box-shadow:0 20px 80px #17201133}.grind-asset-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1f281c66}.grind-asset-dialog header{justify-content:space-between;align-items:center;gap:20px;display:flex}.grind-asset-dialog header>button{place-items:center;width:44px;height:44px;display:grid}.grind-asset-dialog label{align-items:center;gap:14px;display:flex}.grind-asset-scroll{touch-action:pan-x pan-y pinch-zoom;max-height:75dvh;overflow:auto}.grind-asset-scroll figure>*{max-width:none!important}.grind-empty{text-align:center;padding:80px 20px}.grind-page button:focus-visible,.grind-page a:focus-visible{outline-offset:4px;outline:2px solid #91a27e}@keyframes grind-arrive{0%{opacity:.8;translate:0 12px;scale:.97}to{opacity:1;translate:0;scale:1}}@keyframes grind-feedback-in{0%{opacity:0;translate:0 -8px}to{opacity:1;translate:0}}@keyframes grind-right{0%{transform:var(--swipe-start,none)}to{transform:translate(calc(100vw + 100%),55vh)rotate(32deg)}}@keyframes grind-left{0%{transform:var(--swipe-start,none)}to{transform:translate(calc(-100vw - 100%),55vh)rotate(-32deg)}}@keyframes grind-up{to{opacity:0;transform:translateY(-180px)}}@keyframes grind-hint{50%{transform:translateY(-3px)}}@media (max-width:700px){.grind-top{flex-wrap:wrap;gap:12px;padding:12px 18px}.grind-back{flex:1}.grind-top-topic{flex-basis:100%;order:4;margin-top:-5px;font-size:11px}.grind-main{padding:22px 16px 24px}.grind-question{padding:25px 24px}.grind-question .exam-text{font-size:18px}.grind-card{border-radius:24px;min-height:390px;max-height:calc(100dvh - 172px)}.grind-swipe-controls{gap:7px}.grind-swipe-controls button{gap:6px;min-height:50px;font-size:12px}.grind-summary{padding:32px 20px}.grind-summary h1{font-size:36px}.grind-question-menu{margin:12px 16px}.grind-summary-stats{gap:10px}.grind-summary-stats span{font-size:11px}.grind-tutorial>p:nth-child(2){gap:9px;font-size:10px}}@media (max-height:600px){.grind-main{padding-top:14px}.grind-card{min-height:220px;max-height:calc(100dvh - 140px)}.grind-top{min-height:64px;padding-top:8px;padding-bottom:8px}}@media (prefers-reduced-motion:reduce){.grind-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.grind-page[data-reduced=true] *{transition:none!important;animation:none!important}.grind-working{color:#7b896c;margin-bottom:16px;font-size:12px}.grind-working summary{cursor:pointer;min-height:40px}.grind-working p{margin:4px 0 8px;font-size:11px}.grind-working textarea{color:#252923;resize:vertical;background:#fff9;border:1px solid #dfe3d5;border-radius:12px;width:100%;padding:12px;font-size:15px}.grind-card:has([data-part] :focus){cursor:auto}.grind-card[data-ready=true] .grind-grab,.grind-swipe-zone{-webkit-user-select:none;user-select:none}[data-theme=dark] .grind-page{color:var(--fg);background:#000}[data-theme=dark] :is(.grind-card,.grind-summary){border-color:var(--border-strong);background:#141414;box-shadow:0 20px 65px #0003}[data-theme=dark] .grind-stack-back{background:#1b1b1b;border-color:#333}[data-theme=dark] :is(.grind-menu-button,.grind-bookmark,.grind-question .answer-field,.grind-swipe-controls button,.grind-question-menu,.grind-asset-dialog){background:var(--card);color:var(--fg);border-color:var(--border-strong)}[data-theme=dark] :is(.grind-top-topic,.grind-counter,.grind-score>span,.grind-feedback h3,.grind-part-score,.grind-feedback-links button,.grind-save,.grind-tutorial,.grind-eyebrow,.grind-summary>p:not(.grind-eyebrow),.grind-summary-stats span,.grind-question-menu p,.grind-zoom-button){color:var(--muted)}[data-theme=dark] .grind-score h2{color:var(--fg)}[data-theme=dark] :is(.grind-feedback,.grind-swipe-zone,.grind-summary-actions>*,.grind-question-menu button){border-color:var(--border-strong)}[data-theme=dark] :is(.grind-swipe-controls button:nth-child(2),.grind-summary-actions .grind-primary,.grind-question-menu button[aria-current=step]){color:#182019;background:#b9caae;border-color:#b9caae}[data-theme=dark] :is(.grind-card[data-cue=understood],.grind-swipe-controls button:nth-child(3):hover,.grind-bookmark.is-saved){background:#2c4030}[data-theme=dark] :is(.grind-card[data-cue=review],.grind-swipe-controls button:first-child:hover,.grind-error){color:#efb6a0;background:#402e2a}[data-theme=dark] :is(.grind-recovered,.grind-summary-check,.grind-score[data-result=correct]>svg,.grind-card[data-cue=understood] .grind-drag-label){color:var(--correct)}[data-theme=dark] .grind-score[data-result=partial]>svg{color:var(--partial)}[data-theme=dark] :is(.grind-score[data-result=incorrect]>svg,.grind-card[data-cue=review] .grind-drag-label){color:var(--incorrect)}.layout-switcher{z-index:30;position:relative}.layout-popover{border:1px solid var(--border-strong,#e0e4d8);background:var(--card,#fffef9);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border-radius:22px;width:min(310px,100vw - 32px);padding:20px;position:absolute;top:54px;right:0;box-shadow:0 16px 60px #15201124}.layout-intro{color:var(--muted);margin:12px 0;font-size:12px;line-height:1.6}.practice-fields{font-size:13px}.practice-fields legend{margin:12px 0;font-size:12px;font-weight:600}.layout-options{gap:8px;margin-bottom:14px;display:grid}.layout-options label{border:1px solid var(--border-strong,#e0e4d8);cursor:pointer;border-radius:14px;align-items:center;gap:12px;min-height:64px;padding:12px;display:flex}.layout-options label:has(:checked){background:var(--accent-soft,#e9efdf);border-color:var(--accent,#879b70)}.layout-options strong,.layout-options small{display:block}.layout-options small{color:var(--muted);margin-top:3px;font-size:11px}.practice-check{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.practice-fields input{accent-color:var(--accent,#708659);flex-shrink:0;width:17px;height:17px}.confidence-saved{color:var(--muted);text-align:center;margin-top:12px;font-size:12px}.grind-swipe-controls button[aria-pressed=true]{outline:2px solid var(--accent,#8ba27b);outline-offset:2px}.layout-scroll{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.layout-scroll .grind-top{flex-shrink:0;width:100%}.layout-scroll .grind-progress{flex-shrink:0}.layout-scroll .grind-main{flex-direction:column;flex:1;width:100%;max-width:1020px;min-height:0;padding:0 20px;display:flex}.layout-scroll .grind-save{flex-shrink:0;margin:4px 0 8px}.layout-scroll .grind-question-menu{z-index:20;position:absolute;top:80px;left:16px;right:16px}.scroll-layout{flex:1;min-height:0;position:relative}.question-feed{overscroll-behavior-y:contain;scrollbar-width:none;touch-action:pan-y pinch-zoom;scroll-snap-type:y proximity;outline-offset:-3px;height:100%;position:relative;overflow:hidden auto}.question-feed[data-snap=false]{scroll-snap-type:none}.question-scene{scroll-snap-align:start;scroll-snap-stop:normal;flex-direction:column;justify-content:center;min-height:100%;padding:28px 48px 36px;display:flex;position:relative}.scene-number{text-align:center;letter-spacing:.15em;color:var(--muted,#818a76);margin-bottom:18px;font-size:11px}.question-scene .grind-card{cursor:auto;min-height:calc(100dvh - 255px);max-height:none;transform:scale(var(--scene-scale,1));opacity:var(--scene-opacity,1);flex-shrink:0;transition:transform .38s cubic-bezier(.2,.8,.3,1),opacity .3s;animation:none;overflow:visible}.question-scene[inert]{opacity:.55}.question-scene .grind-grab,.question-scene .grind-swipe-zone{touch-action:pan-y pinch-zoom}.question-progress-rail{scrollbar-width:none;z-index:2;flex-direction:column;max-height:80%;display:flex;position:absolute;top:50%;right:-14px;overflow-y:auto;translate:0 -50%}.question-progress-rail button{place-items:center;width:44px;min-height:32px;display:grid;position:relative}.question-progress-rail button span{border:1px solid var(--muted,#8b957e);background:0 0;border-radius:50%;width:6px;height:6px}.question-progress-rail button[data-completed=true] span{background:var(--muted,#8b957e)}.question-progress-rail button[aria-current=step] span{background:var(--accent,#6b8256);outline:3px solid var(--accent-soft,#dce7d2)}.question-progress-rail small{font-size:9px;position:absolute;right:0}.question-progress-rail button:disabled{opacity:.35}.scroll-lock-hint{white-space:nowrap;pointer-events:none;background:var(--card,#fffef9);border-radius:30px;font-size:12px;position:absolute;bottom:12px;left:50%;translate:-50%;box-shadow:0 4px 22px #0001}.scroll-lock-hint:not(:empty){padding:10px 18px}.layout-enter-scroll{animation:.4s ease-out layout-spread}.layout-enter-stack{animation:.4s ease-out layout-gather}.layout-scroll .grind-summary{margin-top:28px;overflow-y:auto}.layout-scroll .grind-error{flex-shrink:0}@keyframes layout-spread{0%{opacity:.65;transform:translateY(16px)scale(.97)}to{opacity:1;transform:none}}@keyframes layout-gather{0%{opacity:.65;transform:translateY(-16px)scale(1.02)}to{opacity:1;transform:none}}@media (max-width:700px){.layout-scroll .grind-main{padding:0 8px}.question-scene{padding:20px 25px 32px 6px}.question-scene .grind-question{padding:24px 20px}.question-progress-rail{right:-6px}.question-progress-rail button{width:28px;min-height:44px}.layout-scroll .paper-streak-counter{font-size:10px}.layout-scroll .grind-top{gap:8px}.layout-scroll .grind-top .paper-streak-counter>span{display:none}.layout-scroll .grind-back{flex:initial}.layout-scroll .grind-top-topic{order:5}.layout-scroll .grind-counter{margin-left:auto}.question-scene .grind-swipe-controls{grid-template-columns:1fr 1fr}.question-scene .grind-swipe-controls button:nth-child(2){grid-area:2/1/auto/-1}.layout-scroll .grind-save{font-size:10px}}.grind-page[data-reduced=true] .question-feed{scroll-behavior:auto}.grind-page[data-reduced=true] .question-scene .grind-card{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.question-scene .grind-card{opacity:1;transform:none}}.scroll-layout[data-locked-hint=true] .question-feed{animation:.35s ease-out grind-boundary}@keyframes grind-boundary{0%,to{translate:0}45%{translate:0 4px}}.layout-stack .grind-card[data-ready=true] :is(.grind-swipe-handle,.grind-grab,.grind-swipe-zone){touch-action:pinch-zoom}.grind-swipe-handle{z-index:5;background:var(--card);min-height:52px;color:var(--muted);border-top:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:space-between;align-items:center;gap:8px;padding:12px 18px;font-size:11px;font-weight:600;display:flex;position:sticky;bottom:0}.grind-swipe-handle:active{cursor:grabbing}.layout-stack .grind-card{-webkit-overflow-scrolling:touch;overflow-x:hidden}.layout-stack .grind-card[data-cue]{will-change:transform}@media (pointer:coarse){.grind-swipe-handle{min-height:56px}.layout-stack .grind-card[data-ready=true] .grind-grab{-webkit-user-select:none;user-select:none}}.layout-stack .grind-card[data-ready=true]{overscroll-behavior-x:contain}.layout-stack .grind-card[data-cue]{transition:none}.grind-paper-clock{font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid var(--border);border-radius:8px;padding:4px 8px;font-size:12px}.layout-stack .grind-card[data-dragging=true]{will-change:transform;transition:box-shadow .25s;animation:none}.layout-stack .grind-card:is(.leave-understood,.leave-review){will-change:transform;pointer-events:none}.grind-summary-context{max-width:620px;margin:12px auto 28px}.grind-summary .grind-summary-context h2{font-family:var(--serif-display,Georgia);margin:8px 0;font-size:clamp(24px,4vw,34px);font-weight:400;line-height:1.2}.grind-summary .grind-summary-context p{color:var(--muted);font-size:14px;line-height:1.6}.grind-summary-context details{color:var(--muted);margin-top:12px;font-size:13px}.grind-summary-context summary{cursor:pointer;padding:10px}.grind-summary-context ul{text-align:left;padding:8px 0;list-style:none}.grind-summary-context li{border-bottom:1px solid var(--border);color:var(--fg);padding:8px 0}.grind-summary-context small{color:var(--muted);margin-top:4px;display:block}.layout-stack .grind-swipe-controls{grid-template-columns:1fr 1fr}.layout-stack .grind-swipe-controls button:nth-child(2){grid-area:auto}
