@import"https://fonts.googleapis.com/css2?family=Bangers&family=Sora:wght@500;600;700;800&family=Inter:wght@400;450;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{color-scheme:light;--ink: #1a1a22;--sh: #1a1a22;--b1: #ff6f5e;--b2: #ffa53d;--b3: #7c4dff;--accent: #6b4cff;--accent-2: #ff6f5e;--grad: linear-gradient(112deg, var(--b1) 0%, var(--b2) 44%, var(--b3) 100%);--bg: #f6f1e6;--bg-2: #fffdf8;--surface: #fffdf8;--surface-2: #f1ebdd;--line: #e2dac8;--text: #1a1a22;--muted: #55525f;--faint: #86818f;--on-accent: #fffdf8;--logo-back: var(--b2);--logo-front: var(--bg-2);--good: #17915f;--warn: #b7710a;--bad: #d93b45;--t1: #17915f;--t2: #2668d8;--t3: #b7710a;--t4: #d93b45;--t5: #7c3aed;--tauto: #6b4cff;--dots: rgba(26, 26, 34, .09);--display: "Sora", ui-sans-serif, system-ui, sans-serif;--fun: "Bangers", var(--display), cursive;--body: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bw: 2.5px;--r: 14px;--r-sm: 10px;--hard-sm: 3px 3px 0 var(--sh);--hard: 5px 5px 0 var(--sh);--hard-lg: 8px 8px 0 var(--sh);--ease: cubic-bezier(.22, 1, .36, 1);--spring: cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{color-scheme:dark;--ink: #efe8d8;--sh: #000000;--b1: #ff8674;--b2: #ffb95c;--b3: #9d78ff;--accent: #9d86ff;--accent-2: #ff8674;--bg: #14141b;--bg-2: #1e1e28;--surface: #1e1e28;--surface-2: #272733;--line: #3a3a49;--text: #efe8d8;--muted: #a9a4b8;--faint: #7d7889;--on-accent: #14141b;--logo-back: var(--b2);--logo-front: var(--bg-2);--good: #3ecf8e;--warn: #f0b429;--bad: #ff6b6b;--t1: #3ecf8e;--t2: #62aaff;--t3: #f0b429;--t4: #ff6b6b;--t5: #b18bff;--tauto: #9d86ff;--dots: rgba(239, 232, 216, .09)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background-color:var(--bg);background-image:radial-gradient(var(--dots) 1.1px,transparent 1.2px);background-size:15px 15px;color:var(--text);font-family:var(--body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;transition:background-color .3s var(--ease),color .3s var(--ease)}h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1.15}h1{font-size:31px}h2{font-size:19px;font-weight:700}h3{font-size:17px;font-weight:700}p{margin:0}button{font:inherit;font-family:var(--body);color:inherit}code{font-family:var(--mono);font-size:.88em;padding:1px 5px;border-radius:4px;background:var(--surface-2);border:1.5px solid var(--line)}.icon{flex:none}.logo{display:inline-flex;align-items:center;gap:9px}.logo-mark{display:grid;place-items:center;transition:transform .35s var(--spring)}.wordmark{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.045em;color:var(--ink);line-height:1}.wordmark span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes riseSmall{0%{opacity:0;transform:translateY(6px)}}@keyframes fadeIn{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.94)}}@keyframes popIn{0%{opacity:0;transform:scale(.7) rotate(-6deg)}60%{transform:scale(1.07) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes stampIn{0%{opacity:0;transform:scale(1.5) rotate(-8deg)}70%{transform:scale(.96) rotate(1deg)}to{opacity:1;transform:scale(1) rotate(-1.5deg)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@keyframes shimmer{to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{50%{transform:translateY(-5px) rotate(-3deg)}}@keyframes drawIn{0%{transform:scaleX(0)}}@keyframes wiggle{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.fade{animation:rise .4s var(--ease) both}.reveal{animation:rise .42s var(--ease) both}.pop{animation:pop .32s var(--spring) both}.stagger>*{animation:riseSmall .4s var(--ease) both;animation-delay:calc(var(--i, 0) * 55ms)}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;padding:12px 22px;background:var(--bg);border-bottom:var(--bw) solid var(--ink)}.brand{background:none;border:0;padding:0;cursor:pointer}.brand:hover .logo-mark{transform:rotate(-8deg) scale(1.08)}.spacer{flex:1}.theme-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);border:var(--bw) solid var(--ink);background:var(--surface);cursor:pointer;color:var(--ink);box-shadow:var(--hard-sm);transition:transform .16s var(--ease),box-shadow .16s var(--ease)}.theme-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--hard)}.theme-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--sh)}.theme-btn .icon{animation:popIn .4s var(--spring) both}.main{flex:1;width:100%;max-width:1060px;margin:0 auto;padding:32px 22px 96px}.main.narrow{max-width:760px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--r-sm);border:var(--bw) solid var(--ink);background:var(--surface);color:var(--ink);cursor:pointer;font-weight:550;white-space:nowrap;box-shadow:var(--hard-sm);transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s}.btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--hard)}.btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--sh)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:var(--hard-sm)}.btn.primary{background:var(--grad);color:#1a1a22;font-weight:700}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted);box-shadow:none}.btn.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink);transform:none;box-shadow:none}.btn.ghost:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn.danger{background:transparent;border-color:transparent;color:var(--bad);box-shadow:none}.btn.danger:hover:not(:disabled){background:var(--surface);border-color:var(--bad);box-shadow:3px 3px 0 var(--bad)}.btn.big{padding:12px 22px;font-size:15.5px}.btn.block{width:100%}.card{background:var(--surface);border:var(--bw) solid var(--ink);border-radius:var(--r);padding:20px;box-shadow:var(--hard)}.card+.card{margin-top:16px}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:13.5px}.tiny{font-size:12px}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:16px}.stack.tight{gap:9px}input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{width:100%;padding:11px 13px;border-radius:var(--r-sm);border:var(--bw) solid var(--ink);background:var(--bg-2);color:var(--text);font:inherit;font-family:var(--body);outline:none;transition:box-shadow .16s var(--ease)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,textarea:focus,select:focus{box-shadow:var(--hard-sm)}textarea{resize:vertical;min-height:110px;line-height:1.6}label.field{display:block}label.field>span{display:block;margin-bottom:7px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;border:2px solid var(--ink);color:var(--ink);background:var(--surface)}.pill[data-tier="1"],.pill[data-tier="2"],.pill[data-tier="3"],.pill[data-tier="4"],.pill[data-tier="5"]{font-family:var(--fun);font-weight:400;letter-spacing:.05em;font-size:13.5px;padding:2px 11px 1px;background:var(--tc);color:#fffdf8}.pill[data-tier="1"]{--tc: var(--t1)}.pill[data-tier="2"]{--tc: var(--t2)}.pill[data-tier="3"]{--tc: var(--t3)}.pill[data-tier="4"]{--tc: var(--t4)}.pill[data-tier="5"]{--tc: var(--t5)}.bar{height:12px;border-radius:999px;border:2px solid var(--ink);background:var(--surface-2);overflow:hidden}.bar>i{display:block;height:100%;background:var(--grad);transform-origin:left;animation:drawIn .65s var(--ease) both;transition:width .65s var(--ease)}.bar[data-tone=weak]>i{background:var(--t4)}.bar[data-tone=mid]>i{background:var(--t3)}.bar[data-tone=good]>i{background:var(--t2)}.bar[data-tone=strong]>i{background:var(--t1)}.banner{display:flex;gap:11px;padding:13px 15px;border-radius:var(--r-sm);border:var(--bw) solid var(--ink);background:var(--surface-2);box-shadow:var(--hard-sm);font-size:14px;animation:pop .28s var(--spring) both}.banner.bad{background:color-mix(in srgb,var(--bad) 16%,var(--surface))}.banner.warn{background:color-mix(in srgb,var(--warn) 20%,var(--surface))}.spinner{width:15px;height:15px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--ink);animation:spin .7s linear infinite}.loading{display:flex;flex-direction:column;align-items:center;gap:14px;padding:70px 20px;color:var(--muted);text-align:center;animation:fadeIn .28s var(--ease) both}.loading .spinner{width:30px;height:30px;border-width:3.5px}.loading b{font-family:var(--fun);font-size:26px;letter-spacing:.03em;color:var(--ink)}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg,var(--surface-2) 25%,var(--line) 37%,var(--surface-2) 63%);background-size:200% 100%;animation:shimmer 1.5s linear infinite}.section-label{display:inline-block;transform:rotate(-1.2deg);padding:3px 10px 1px;margin-bottom:8px;border:2px solid var(--ink);border-radius:3px;background:var(--surface-2);font-family:var(--fun);font-size:13px;letter-spacing:.07em;color:var(--ink);box-shadow:2px 2px 0 var(--sh)}.diff{--c: var(--tauto);border:var(--bw) solid var(--ink);background:var(--surface);border-radius:var(--r);padding:16px 18px 14px;box-shadow:var(--hard)}.diff[data-mode=easy]{--c: var(--t1)}.diff[data-mode=medium]{--c: var(--t2)}.diff[data-mode=hard]{--c: var(--t3)}.diff[data-mode=impossible]{--c: var(--t4)}.diff[data-mode=singularity]{--c: var(--t5)}.diff-compact{padding:12px 14px 10px}.diff-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.diff-title{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.diff-value{text-align:right}.diff-value>span{display:inline-block;padding:2px 12px 0;border:2px solid var(--ink);border-radius:4px;background:var(--c);color:#fffdf8;font-family:var(--fun);font-size:18px;letter-spacing:.05em;box-shadow:2px 2px 0 var(--sh);animation:stampIn .4s var(--spring) both;transform:rotate(-1.5deg)}.diff-value em{display:block;margin-top:5px;font-style:normal;font-size:11.5px;color:var(--faint)}.diff-range{-webkit-appearance:none;appearance:none;width:100%;height:26px;background:transparent;cursor:pointer;margin:0}.diff-range::-webkit-slider-runnable-track{height:12px;border-radius:999px;border:2px solid var(--ink);background:linear-gradient(90deg,var(--t1),var(--t2),var(--t3),var(--t4),var(--t5))}.diff-range::-moz-range-track{height:12px;border-radius:999px;border:2px solid var(--ink);background:linear-gradient(90deg,var(--t1),var(--t2),var(--t3),var(--t4),var(--t5))}.diff-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-7px;border-radius:50%;background:var(--c);border:2.5px solid var(--ink);box-shadow:2px 2px 0 var(--sh);transition:transform .16s var(--spring)}.diff-range:hover::-webkit-slider-thumb{transform:scale(1.12)}.diff-range:active::-webkit-slider-thumb{transform:scale(1.22)}.diff-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--c);border:2.5px solid var(--ink)}.plain-range{-webkit-appearance:none;appearance:none;height:26px;background:transparent;cursor:pointer;margin:0}.plain-range::-webkit-slider-runnable-track{height:12px;border-radius:999px;border:2px solid var(--ink);background:var(--surface-2)}.plain-range::-moz-range-track{height:12px;border-radius:999px;border:2px solid var(--ink);background:var(--surface-2)}.plain-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-7px;border-radius:50%;background:var(--b2);border:2.5px solid var(--ink);box-shadow:2px 2px 0 var(--sh);transition:transform .16s var(--spring)}.plain-range:hover::-webkit-slider-thumb{transform:scale(1.12)}.plain-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--b2);border:2.5px solid var(--ink)}.diff-ticks{display:flex;justify-content:space-between;gap:2px;margin-top:4px}.diff-tick{flex:1;border:0;background:none;padding:4px 0;font-size:11px;font-weight:600;color:var(--faint);cursor:pointer;transition:color .16s,transform .2s var(--spring);text-align:center}.diff-tick:hover{color:var(--muted);transform:translateY(-1px)}.diff-tick.on{color:var(--ink);transform:translateY(-1px)}.diff-blurb{margin-top:10px;font-size:13.5px;line-height:1.5;color:var(--muted);animation:fadeIn .3s var(--ease) both}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px}.subject-card{display:flex;flex-direction:column;gap:13px;text-align:left;cursor:pointer;border:var(--bw) solid var(--ink);background:var(--surface);border-radius:var(--r);padding:19px;box-shadow:var(--hard);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.subject-card:hover{transform:translate(-3px,-3px);box-shadow:var(--hard-lg)}.subject-card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--sh)}.subject-card h3{line-height:1.2}.empty{text-align:center;padding:62px 24px;border:var(--bw) dashed var(--ink);border-radius:var(--r);color:var(--muted);animation:pop .35s var(--spring) both}.empty .mark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border-radius:16px;border:var(--bw) solid var(--ink);background:var(--b2);color:var(--ink);box-shadow:var(--hard);animation:bob 3.6s ease-in-out infinite}.steps{display:flex;gap:8px;margin-bottom:26px}.step{flex:1;height:10px;border-radius:999px;border:2px solid var(--ink);background:var(--surface-2);transition:background .4s var(--ease)}.step.on{background:var(--grad)}.drop{border:var(--bw) dashed var(--ink);border-radius:var(--r);padding:40px 24px;text-align:center;cursor:pointer;background:var(--surface);transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s}.drop:hover,.drop.over{background:var(--surface-2);transform:translate(-2px,-2px);box-shadow:var(--hard)}.drop.over{border-style:solid}.drop .mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 15px;border-radius:14px;border:var(--bw) solid var(--ink);background:var(--b1);color:var(--ink);box-shadow:var(--hard-sm);transition:transform .3s var(--spring)}.drop:hover .mark,.drop.over .mark{transform:rotate(-7deg) scale(1.06)}.drop b{font-family:var(--fun);font-size:21px;letter-spacing:.04em}.filelist{display:flex;flex-direction:column;gap:9px}.fileitem{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:var(--r-sm);border:2px solid var(--ink);background:var(--bg-2);font-size:14px;animation:riseSmall .32s var(--ease) both}.fileitem .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.choice{display:flex;gap:13px;padding:14px 15px;border-radius:var(--r-sm);border:2px solid var(--ink);background:var(--bg-2);cursor:pointer;text-align:left;width:100%;transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s}.choice:hover{transform:translate(-2px,-2px);box-shadow:var(--hard-sm)}.choice.on{background:color-mix(in srgb,var(--b2) 22%,var(--bg-2));box-shadow:var(--hard-sm)}.choice .tick{flex:none;width:21px;height:21px;margin-top:2px;border-radius:5px;border:2px solid var(--ink);background:var(--surface);display:grid;place-items:center;color:transparent;transition:background .2s var(--spring),color .16s,transform .2s var(--spring)}.choice.on .tick{background:var(--ink);color:var(--surface);transform:rotate(-6deg) scale(1.05)}.choice.radio .tick{border-radius:50%}.choice b{font-family:var(--display);font-weight:700}.flip{perspective:1800px;min-height:340px;cursor:pointer;margin:8px 0 20px}.flip-inner{position:relative;width:100%;min-height:340px;transition:transform .6s var(--ease);transform-style:preserve-3d}.flip.on .flip-inner{transform:rotateY(180deg)}.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:3px solid var(--ink);border-radius:18px;background:var(--surface);padding:30px;display:flex;flex-direction:column;box-shadow:var(--hard-lg)}.face.back{transform:rotateY(180deg);background:color-mix(in srgb,var(--b2) 16%,var(--surface))}.face .body{flex:1;display:grid;place-items:center;text-align:center;font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.025em;line-height:1.35;padding:14px 0}.face.back .body{font-family:var(--body);font-weight:450;font-size:18px;letter-spacing:0}.face .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--faint)}.rate{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;animation:riseSmall .28s var(--ease) both}.rate button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:11px 6px;border-radius:var(--r-sm);border:var(--bw) solid var(--ink);background:var(--surface);cursor:pointer;box-shadow:var(--hard-sm);transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s}.rate button:hover{transform:translate(-2px,-2px);box-shadow:var(--hard)}.rate button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--sh)}.rate button b{font-family:var(--fun);font-weight:400;font-size:19px;letter-spacing:.04em}.rate button span{font-size:11px;color:var(--faint)}.rate button[data-r=again]:hover{background:color-mix(in srgb,var(--t4) 22%,var(--surface))}.rate button[data-r=hard]:hover{background:color-mix(in srgb,var(--t3) 25%,var(--surface))}.rate button[data-r=good]:hover{background:color-mix(in srgb,var(--t2) 20%,var(--surface))}.rate button[data-r=easy]:hover{background:color-mix(in srgb,var(--t1) 22%,var(--surface))}.qbody{font-family:var(--display);font-weight:700;font-size:19.5px;letter-spacing:-.025em;line-height:1.4;margin:10px 0 20px;animation:riseSmall .3s var(--ease) both}.choices{display:flex;flex-direction:column;gap:10px}.opt{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-radius:var(--r-sm);border:2px solid var(--ink);background:var(--bg-2);cursor:pointer;text-align:left;line-height:1.45;animation:riseSmall .36s var(--ease) both;animation-delay:calc(var(--i, 0) * 50ms);transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s}.opt:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--hard-sm)}.opt .key{flex:none;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;background:var(--surface);border:2px solid var(--ink);font-family:var(--fun);font-size:14px;letter-spacing:.04em;transition:background .18s var(--spring),color .16s,transform .2s var(--spring)}.opt.sel{background:color-mix(in srgb,var(--b2) 26%,var(--bg-2));box-shadow:var(--hard-sm)}.opt.sel .key{background:var(--ink);color:var(--surface);transform:rotate(-6deg) scale(1.08)}.opt.right{background:color-mix(in srgb,var(--good) 20%,var(--bg-2))}.opt.right .key{background:var(--good);color:#fffdf8}.opt.wrong{background:color-mix(in srgb,var(--bad) 18%,var(--bg-2))}.opt.wrong .key{background:var(--bad);color:#fffdf8}.opt:disabled{cursor:default}.verdict{display:flex;gap:11px;padding:13px 15px;border-radius:var(--r-sm);border:2px solid var(--ink);background:var(--bg-2);font-size:14px;line-height:1.55;animation:riseSmall .3s var(--ease) both}.verdict[data-v=correct]{background:color-mix(in srgb,var(--good) 16%,var(--bg-2))}.verdict[data-v=partial]{background:color-mix(in srgb,var(--warn) 20%,var(--bg-2))}.verdict[data-v=incorrect]{background:color-mix(in srgb,var(--bad) 15%,var(--bg-2))}.verdict b{display:block;font-family:var(--display);font-weight:700;margin-bottom:3px}.qprogress{display:flex;gap:5px;margin-bottom:18px}.qprogress i{flex:1;height:9px;border-radius:999px;border:2px solid var(--ink);background:var(--surface-2);transition:background .3s var(--ease),transform .25s var(--spring)}.qprogress i.done{background:var(--good)}.qprogress i.miss{background:var(--bad)}.qprogress i.part{background:var(--warn)}.qprogress i.now{background:var(--grad);transform:scaleY(1.5)}.score-ring{display:grid;place-items:center;width:124px;height:124px;border-radius:50%;flex:none;border:3px solid var(--ink);background:conic-gradient(from -90deg,var(--b1),var(--b2) calc(var(--p) * .6%),var(--b3) calc(var(--p) * 1%),var(--surface-2) 0);box-shadow:var(--hard);position:relative;animation:popIn .55s var(--spring) both}.score-ring:after{content:"";position:absolute;inset:11px;border-radius:50%;border:2.5px solid var(--ink);background:var(--surface)}.score-ring>div{position:relative;z-index:1;text-align:center;line-height:1}.score-ring b{font-family:var(--fun);font-size:36px;letter-spacing:.02em;font-variant-numeric:tabular-nums}.finding{display:flex;gap:12px;padding:13px 0;border-top:2px solid var(--line);animation:riseSmall .4s var(--ease) both;animation-delay:calc(var(--i, 0) * 60ms)}.finding:first-child{border-top:0}.finding .dot{flex:none;width:27px;height:27px;border-radius:8px;border:2px solid var(--ink);display:grid;place-items:center;margin-top:1px;color:var(--ink)}.finding .dot.good{background:var(--good);color:#fffdf8}.finding .dot.bad{background:var(--bad);color:#fffdf8}.finding .dot.warn{background:var(--warn);color:#fffdf8}.finding b{display:block;font-family:var(--display);font-weight:700;margin-bottom:2px}.finding .fix{display:block;margin-top:4px;color:var(--muted);font-size:13.5px}.delta{font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:11.5px}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.topic-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:2px solid var(--line);animation:riseSmall .38s var(--ease) both;animation-delay:calc(var(--i, 0) * 50ms)}.topic-row:first-child{border-top:0}.topic-row .info{flex:1;min-width:0}.topic-row .name{font-family:var(--display);font-weight:700;font-size:14.5px;margin-bottom:7px}.topic-row .bar{max-width:230px}.paper{--pink: #1a1a22;--rule: #c9c9c9;font-family:var(--ws-font);background:#fff;color:var(--pink);border:3px solid var(--ink);border-radius:6px;box-shadow:var(--hard-lg);padding:44px 50px 54px;max-width:820px;margin:0 auto;line-height:1.6;font-size:15px;animation:rise .42s var(--ease) both}.ws-head{display:flex;justify-content:space-between;align-items:flex-start;gap:26px;padding-bottom:16px;border-bottom:3px solid var(--pink)}.ws-title{font-family:inherit;font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:1.15}.ws-sub{margin-top:5px;font-size:13px;color:#555}.ws-fields{display:flex;flex-direction:column;gap:9px;font-size:12.5px;color:#444;min-width:210px}.ws-fields span{display:flex;align-items:baseline;gap:8px}.ws-fields i{flex:1;border-bottom:1.5px solid var(--pink);height:15px}.ws-intro{margin-top:16px;font-size:14.5px;color:#333}.ws-section{margin-top:30px;break-inside:avoid}.ws-h2{font-family:inherit;display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;letter-spacing:0;padding-bottom:6px;border-bottom:2px solid var(--pink)}.ws-num{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--pink);color:#fff;font-size:13px;flex:none}.ws-marks{margin-left:auto;font-size:12px;font-weight:400;color:#666}.ws-instruction{margin-top:8px;font-size:13.5px;font-style:italic;color:#444}.ws-bank{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;padding:12px 14px;border:2px dashed var(--pink);border-radius:4px}.ws-bank span{font-weight:600;font-size:14px}.ws-items{margin:14px 0 0;padding-left:26px}.ws-items>li{margin-bottom:16px;break-inside:avoid}.ws-prompt{display:flex;gap:10px;align-items:baseline}.ws-item-marks{margin-left:auto;font-style:normal;font-size:12px;color:#666;white-space:nowrap}.ws-choices{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.ws-choices li{display:flex;gap:9px;align-items:baseline;font-size:14.5px}.ws-choices b{display:inline-grid;place-items:center;width:21px;height:21px;border:2px solid var(--pink);border-radius:50%;font-size:11.5px;font-weight:600;flex:none}.ws-lines{margin-top:10px}.ws-lines i{display:block;border-bottom:1px solid var(--rule);height:26px}.ws-blank{margin-top:6px;border-bottom:1px solid var(--rule);height:26px}.ws-match{width:100%;border-collapse:collapse;margin-top:14px}.ws-match td{padding:9px 8px;vertical-align:top;font-size:14.5px;border-bottom:1px solid #eaeaea}.ws-match-n,.ws-match-k{width:26px;font-weight:700;color:#555}.ws-match-l{width:34%;font-weight:600}.ws-match-box{width:40px}.ws-match-box:after{content:"";display:block;width:30px;height:30px;border:2px solid var(--pink);border-radius:3px;margin:0 auto}.ws-key{margin-top:40px;padding-top:22px;border-top:3px dashed var(--pink);break-before:page}.ws-key-block{margin-top:16px;break-inside:avoid}.ws-key-block h3{font-family:inherit;font-size:14.5px;font-weight:700;letter-spacing:0}.ws-key-block ol{margin:6px 0 0;padding-left:24px;font-size:14px;columns:2;column-gap:28px}.ws-key-block li{margin-bottom:3px;break-inside:avoid}@media print{@page{size:A4;margin:15mm}body{background:#fff!important;background-image:none!important}.topbar,.no-print{display:none!important}.main{padding:0!important;max-width:none!important}.paper{box-shadow:none;border:0;border-radius:0;padding:0;max-width:none;animation:none;font-size:12pt}.ws-section{margin-top:22px}}@media(max-width:640px){h1{font-size:25px}.main{padding:22px 15px 80px}.topbar{padding:10px 15px}.wordmark{font-size:19px}.grid{grid-template-columns:1fr}.face{padding:22px}.face .body{font-size:19px}.rate{grid-template-columns:repeat(2,1fr)}.diff{padding:15px 14px 12px}.diff-ticks{gap:3px}.diff-tick{font-size:9px;letter-spacing:-.02em}.topic-row .bar{max-width:110px}.paper{padding:26px 22px 34px}.ws-head{flex-direction:column;gap:14px}.ws-fields{width:100%}.ws-choices{grid-template-columns:1fr}.ws-key-block ol{columns:1}}.landing{max-width:780px;margin:0 auto;padding:46px 22px 90px}.landing-head{display:flex;justify-content:center;margin-bottom:40px}.landing-h1{font-size:clamp(32px,6vw,52px);line-height:1.02;text-align:center;letter-spacing:-.04em}.landing-h1 span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-lead{max-width:46ch;margin:16px auto 0;text-align:center;color:var(--muted);font-size:15.5px;line-height:1.65}.landing-q{font-size:clamp(22px,3.6vw,30px);text-align:center;margin-bottom:4px}.landing .section-label{display:block;width:fit-content;margin:0 auto 10px}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:18px;margin-top:22px}.role-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;cursor:pointer;padding:24px;border:var(--bw) solid var(--ink);border-radius:var(--r);background:var(--surface);box-shadow:var(--hard);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.role-card:hover{transform:translate(-3px,-3px);box-shadow:var(--hard-lg)}.role-card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--sh)}.role-card b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.03em}.role-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;border:var(--bw) solid var(--ink);background:var(--b2);color:var(--ink);box-shadow:var(--hard-sm);margin-bottom:4px;transition:transform .3s var(--spring)}.role-mark.alt{background:var(--b1)}.role-card:hover .role-mark{transform:rotate(-8deg) scale(1.06)}.role-go{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-family:var(--fun);font-size:16px;letter-spacing:.05em;color:var(--ink)}.linky{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.linky:hover{color:var(--accent)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:40px 20px}.auth-card{width:100%;max-width:430px;padding:30px;border:var(--bw) solid var(--ink);border-radius:var(--r);background:var(--surface);box-shadow:var(--hard-lg)}.site-pill{font-family:var(--fun);font-size:13.5px;letter-spacing:.06em;padding:2px 11px 1px;background:var(--b2);transform:rotate(-1.5deg)}.account{position:relative}.avatar{width:36px;height:36px;border-radius:50%;border:var(--bw) solid var(--ink);background:var(--grad);color:#1a1a22;font-family:var(--fun);font-size:17px;cursor:pointer;box-shadow:var(--hard-sm);transition:transform .16s var(--ease),box-shadow .16s var(--ease)}.avatar:hover{transform:translate(-2px,-2px);box-shadow:var(--hard)}.scrim{position:fixed;inset:0;z-index:50;border:0;background:transparent;cursor:default}.menu{position:absolute;right:0;top:calc(100% + 10px);z-index:51;min-width:210px;padding:6px;border:var(--bw) solid var(--ink);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--hard)}.menu-head{padding:9px 10px 11px;border-bottom:2px solid var(--line);margin-bottom:5px}.menu-head b{display:block;font-family:var(--display);font-weight:700;font-size:14px}.menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;border-radius:7px;background:none;cursor:pointer;font-size:14px;text-align:left;color:var(--text);text-decoration:none}.menu-item:hover{background:var(--surface-2)}.menu-item.danger{color:var(--bad)}@media(max-width:640px){.landing{padding:30px 16px 70px}.auth-card{padding:22px}}.filelist.queue{max-height:340px;overflow-y:auto;padding-right:4px}.filelist.queue .fileitem{animation:riseSmall .3s var(--ease) both;animation-delay:calc(var(--i, 0) * 22ms)}.reading-banner{display:flex;gap:18px;align-items:flex-start;padding:18px 20px;margin-bottom:20px;border:var(--bw) solid var(--ink);border-radius:var(--r);background:linear-gradient(105deg,color-mix(in srgb,var(--b2) 26%,var(--surface)),var(--surface) 62%);box-shadow:var(--hard);animation:rise .4s var(--ease) both}.reading-body{flex:1;min-width:0}.reading-pages{position:relative;flex:none;width:46px;height:56px;margin-top:2px}.reading-pages i{position:absolute;inset:0;border:2.5px solid var(--ink);border-radius:4px 7px 7px 4px;background:var(--bg-2);transform-origin:left center;animation:pageTurn 2.4s cubic-bezier(.5,0,.4,1) infinite;backface-visibility:hidden}.reading-pages i:nth-child(2){animation-delay:.8s;background:color-mix(in srgb,var(--b2) 40%,var(--bg-2))}.reading-pages i:nth-child(3){animation-delay:1.6s;background:color-mix(in srgb,var(--b1) 32%,var(--bg-2))}@keyframes pageTurn{0%{transform:rotateY(0);opacity:1}55%{transform:rotateY(-155deg);opacity:1}56%,to{transform:rotateY(-155deg);opacity:0}}.reading-title{font-family:var(--display);font-weight:700;font-size:15.5px}.reading-title span{font-style:normal}.reading-eta{font-family:var(--fun);font-size:15px;letter-spacing:.05em;color:var(--ink);padding:1px 10px 0;border:2px solid var(--ink);border-radius:999px;background:var(--surface);white-space:nowrap}.reading-bar>i{background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.36) 0 10px,transparent 10px 20px),var(--grad);background-size:40px 100%,100% 100%;animation:drawIn .6s var(--ease) both,stripe 1.1s linear infinite}@keyframes stripe{to{background-position:-40px 0,0 0}}.reading-note{margin-top:9px;font-size:13px;line-height:1.55;color:var(--muted)}.reading-found{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.reading-found .pill{animation:popIn .35s var(--spring) both;font-size:11.5px}.subject-card.is-reading{opacity:.75}.subject-card.is-failed{border-color:var(--bad)}@media(max-width:640px){.reading-banner{padding:15px;gap:13px}.reading-pages{width:34px;height:42px}}.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;padding:14px;border-radius:var(--r-sm);border:2px solid var(--ink);background:var(--bg-2);cursor:pointer;transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s}.mode-card:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--hard-sm);background:var(--surface)}.mode-card:active:not(:disabled){transform:translate(1px,1px);box-shadow:none}.mode-card:disabled{opacity:.55;cursor:wait}.mode-card b{font-family:var(--display);font-weight:700;font-size:14.5px}.mode-mark{display:grid;place-items:center;width:38px;height:38px;margin-bottom:4px;border-radius:11px;border:2px solid var(--ink);color:var(--ink)}.mode-mark[data-mode=tutor]{background:var(--b2)}.mode-mark[data-mode=podcast]{background:var(--b1)}.mode-mark[data-mode=explain]{background:var(--t1)}.mode-mark[data-mode=plan]{background:var(--t2)}.tutor{display:flex;flex-direction:column;min-height:62vh}.tutor-log{flex:1;display:flex;flex-direction:column;gap:12px;padding:4px 2px 12px}.tutor-empty{border:2px dashed var(--ink);border-radius:var(--r);padding:20px;background:var(--surface)}.tutor-openers{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.tutor-openers .btn{padding:6px 11px;font-size:13px;box-shadow:2px 2px 0 var(--sh)}.tutor-msg{max-width:88%;padding:13px 15px;border:2px solid var(--ink);border-radius:var(--r-sm);animation:riseSmall .3s var(--ease) both;line-height:1.6;font-size:14.5px}.tutor-msg.you{align-self:flex-end;background:color-mix(in srgb,var(--b2) 26%,var(--surface));box-shadow:var(--hard-sm);font-weight:500}.tutor-msg.them{align-self:flex-start;background:var(--surface);box-shadow:var(--hard-sm)}.tutor-answer p{margin:0 0 10px}.tutor-answer p:last-child{margin-bottom:0}.tutor-answer ul{margin:0 0 10px;padding-left:20px}.tutor-answer li{margin-bottom:4px}.tutor-flag{display:inline-flex;align-items:center;gap:5px;margin-bottom:8px;padding:2px 9px;border:2px solid var(--ink);border-radius:999px;background:color-mix(in srgb,var(--warn) 26%,var(--surface));font-size:11.5px;font-weight:600}.tutor-sources{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}.tutor-sources .pill{font-size:11px}.tutor-typing{display:inline-flex;gap:4px;padding:3px 0}.tutor-typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.2s ease-in-out infinite}.tutor-typing i:nth-child(2){animation-delay:.18s}.tutor-typing i:nth-child(3){animation-delay:.36s}@keyframes blink{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.tutor-bar{display:flex;gap:9px;position:sticky;bottom:0;padding:12px 0 4px;background:linear-gradient(to top,var(--bg) 72%,transparent)}.tutor-bar input{flex:1}.tutor-bar .btn{padding:11px 16px}.pod-script{display:flex;flex-direction:column;gap:7px;max-height:460px;overflow-y:auto;padding-right:4px}.pod-line{display:flex;gap:11px;align-items:flex-start;text-align:left;padding:10px 12px;border-radius:var(--r-sm);border:2px solid transparent;background:transparent;cursor:pointer;font-size:14px;line-height:1.55;transition:background .16s,border-color .16s}.pod-line:hover:not(:disabled){background:var(--surface-2)}.pod-line.now{border-color:var(--ink);background:color-mix(in srgb,var(--b2) 24%,var(--surface));box-shadow:var(--hard-sm)}.pod-who{flex:none;width:46px;font-family:var(--fun);font-size:14px;letter-spacing:.05em;padding-top:1px}.pod-line.alex .pod-who{color:var(--b3)}.pod-line.sam .pod-who{color:var(--b1)}.pod-takeaways{margin:10px 0 0;padding-left:20px;font-size:14px;line-height:1.65}.pod-takeaways li{margin-bottom:5px}@media(max-width:640px){.mode-grid{grid-template-columns:1fr 1fr}.tutor-msg{max-width:96%}.pod-who{width:40px;font-size:13px}}.rate-scrim{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--ink) 55%,transparent);animation:fadeIn .25s var(--ease) both}.rate-card{width:100%;max-width:460px;padding:24px;border:var(--bw) solid var(--ink);border-radius:var(--r);background:var(--surface);box-shadow:var(--hard-lg);animation:popIn .42s var(--spring) both}.stars{display:flex;justify-content:center;gap:6px;margin:22px 0 18px}.star{border:0;background:none;padding:4px;cursor:pointer;color:var(--line);transition:transform .18s var(--spring),color .16s}.star:hover,.star:focus-visible{transform:translateY(-3px) rotate(-6deg) scale(1.12)}.star.on{color:var(--b2)}.star.on .icon{fill:var(--b2)}.want-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.want{display:flex;align-items:center;gap:8px;padding:9px 11px;border:2px solid var(--ink);border-radius:var(--r-sm);background:var(--bg-2);cursor:pointer;font-size:12.5px;text-align:left;line-height:1.35;transition:background .16s,transform .16s var(--ease)}.want:hover{transform:translate(-1px,-1px)}.want.on{background:color-mix(in srgb,var(--b2) 26%,var(--bg-2));box-shadow:2px 2px 0 var(--sh)}.want .tick{flex:none;width:17px;height:17px;border-radius:5px;border:2px solid var(--ink);background:var(--surface);display:grid;place-items:center;color:transparent}.want.on .tick{background:var(--ink);color:var(--surface)}.rate-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}.rate-thanks{text-align:center;padding:8px 0}.rate-tick{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:16px;border:var(--bw) solid var(--ink);background:var(--good);color:#fffdf8;box-shadow:var(--hard-sm);animation:popIn .45s var(--spring) both}.rate-thanks .btn{margin-top:16px}@media(max-width:480px){.want-grid{grid-template-columns:1fr}.rate-card{padding:20px 17px}}
