:root,[data-theme=light]{--bg:#fbf6ee;--card:#fff;--ink:#2c2a26;--mute:#6b665a;--line:#eadfcb;--acc:#3f7d6e;--acc-ink:#fff;--soft:#e7f2ee;--warn:#fff4dc;--warn-ink:#7a5a00;--ok:#1f7a46;--bad:#b3372b;--bad-soft:#fbe3e0;--ok-soft:#d9f2e3;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#14151a;--card:#1c1e25;--ink:#e6e4de;--mute:#9a9892;--line:#2b2d36;--acc:#e8b44a;--acc-ink:#14151a;--soft:#2a2619;--warn:#2a2619;--warn-ink:#e8b44a;--ok:#7fd49a;--bad:#e58a7a;--bad-soft:#3a1f1c;--ok-soft:#17301f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3,h4{margin:0 0 .5rem;line-height:1.25}h1{font-size:1.6rem}h2{font-size:1.25rem}h3{font-size:1.05rem}p{margin:0 0 .75rem}a{color:var(--acc)}button,input,select,textarea{font:inherit;color:inherit}.page{max-width:1100px;margin:0 auto;padding:16px}.narrow{max-width:460px;margin:8vh auto}.topbar{border-bottom:1px solid var(--line);background:var(--card);z-index:5;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.topbar nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.brand{color:var(--ink);font-weight:700;text-decoration:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:14px 16px}.grid{gap:12px;display:grid}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.muted{color:var(--mute)}.small{font-size:.85rem}.btn{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:8px 16px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--acc)}.btn.primary{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn.sm{padding:4px 12px;font-size:.9rem}.btn:disabled{opacity:.55;cursor:not-allowed}.chip{background:var(--soft);color:var(--ink);border-radius:999px;padding:2px 10px;font-size:.82rem;display:inline-block}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.warn{background:var(--warn);color:var(--warn-ink)}.notice{background:var(--warn);color:var(--warn-ink);border-radius:12px;margin-bottom:12px;padding:10px 14px}.notice.bad{background:var(--bad-soft);color:var(--bad)}.notice.ok{background:var(--ok-soft);color:var(--ok)}label.field{margin-bottom:12px;display:block}label.field>span{color:var(--mute);margin-bottom:4px;font-size:.85rem;display:block}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{border:1px solid var(--line);background:var(--bg);border-radius:10px;width:100%;padding:9px 11px}textarea{resize:vertical}.tabs{border:1px solid var(--line);background:var(--bg);border-radius:999px;display:inline-flex;overflow:hidden}.tabs button{cursor:pointer;color:var(--mute);background:0 0;border:0;padding:7px 16px}.tabs button.on{background:var(--acc);color:var(--acc-ink)}.exam-shell{flex-direction:column;height:100dvh;display:flex}.exam-top{border-bottom:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.timer{font-variant-numeric:tabular-nums;background:var(--soft);border-radius:999px;padding:4px 14px;font-size:1.15rem;font-weight:700}.timer.low{background:var(--bad-soft);color:var(--bad)}.exam-main{flex:1;grid-template-columns:1fr 1fr;gap:14px;min-height:0;padding:14px;display:grid}.pane{min-height:0;overflow:auto}.pane.text{font-family:Georgia,Times New Roman,serif;line-height:1.65}.instruction{background:var(--soft);border-radius:12px;margin-bottom:12px;padding:10px 14px;font-family:inherit}.textblock{margin-bottom:14px}.textblock h4{font-family:Trebuchet MS,Segoe UI,sans-serif}.textblock .letter{background:var(--acc);width:24px;height:24px;color:var(--acc-ink);border-radius:50%;place-items:center;margin-right:6px;font-family:Trebuchet MS,sans-serif;font-size:.8rem;display:inline-grid}.item{margin-bottom:18px}.item .q{margin-bottom:6px;font-weight:600}.opt{border:1px solid var(--line);cursor:pointer;background:var(--card);border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:7px;padding:9px 12px;display:flex}.opt:hover{border-color:var(--acc)}.opt.sel{border-color:var(--acc);background:var(--soft)}.opt .k{border:1px solid var(--mute);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;margin-top:1px;font-size:.8rem;display:grid}.opt.sel .k{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.matchkeys{flex-wrap:wrap;gap:6px;display:flex}.matchkeys button{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;min-width:40px;height:38px}.matchkeys button.sel{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}.exam-bottom{border-top:1px solid var(--line);background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;display:flex}.navigator{flex-wrap:wrap;gap:4px;max-width:100%;display:flex}.navigator button{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:8px;width:30px;height:30px;padding:0;font-size:.78rem}.navigator button.done{background:var(--soft);border-color:var(--acc)}.navigator button.cur{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}.navigator button.flag{box-shadow:inset 0 -4px 0 var(--bad)}.partnav{flex-wrap:wrap;gap:6px;display:flex}.partnav button{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:999px;padding:4px 12px}.partnav button.on{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}.mobile-tabs{display:none}.player{text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:14px;padding:20px}.player .big{font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:700}.progress{background:var(--line);border-radius:4px;height:8px;margin:10px 0;overflow:hidden}.progress>span{background:var(--acc);height:100%;display:block}.wave{justify-content:center;align-items:center;gap:4px;height:54px;display:flex}.wave i{background:var(--acc);border-radius:3px;width:6px;animation:1s ease-in-out infinite wv;display:block}.wave i:nth-child(2n){animation-delay:.2s}.wave i:nth-child(3n){animation-delay:.4s}.wave.off i{opacity:.4;animation:none;height:8px!important}@keyframes wv{0%,to{height:12px}50%{height:46px}}.editor textarea{min-height:300px;font-family:Segoe UI,system-ui,sans-serif;line-height:1.6}.wc{font-variant-numeric:tabular-nums}.rec{border:6px solid var(--bad-soft);background:var(--bad);color:#fff;cursor:pointer;border-radius:50%;width:84px;height:84px;font-size:.8rem}.rec.on{animation:1.2s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.bubble{border:1px solid var(--line);background:var(--card);border-radius:14px;max-width:85%;margin:6px 0;padding:8px 12px}.bubble.student{background:var(--soft);margin-left:auto}.bubble .who{color:var(--mute);font-size:.75rem}table.sheet{border-collapse:collapse;width:100%}table.sheet th,table.sheet td{border-bottom:1px solid var(--line);text-align:left;padding:8px 6px}.bar{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.bar>span{background:var(--acc);height:100%;display:block}.bar.bad>span{background:var(--bad)}@media (width<=800px){.exam-main{grid-template-columns:1fr}.mobile-tabs{padding:8px 14px 0;display:flex}.exam-main .pane.hidden-mobile,.topbar nav .hide-mobile{display:none}}@media print{.topbar,.no-print,.exam-main,.mobile-tabs,button{display:none!important}body{color:#000!important;background:#fff!important}.card,.notice{break-inside:avoid;box-shadow:none!important;border:1px solid #bbb!important}.result-sheet{display:block}}
