@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f4f5f8;--panel: #ffffff;--panel-2: #f8f9fb;--ink: #16181d;--muted: #6a6f7b;--line: #e3e5ea;--accent: #4f46e5;--accent-soft: #eef0ff;--good: #16a34a;--ok: #d97706;--bad: #dc2626;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);--shadow-lg: 0 8px 24px rgba(16, 24, 40, .08);--radius: 14px;--plot1: #4f46e5;--plot2: #db2777;--plot3: #0891b2;--plot4: #ca8a04;--plot5: #16a34a;font-family:Bricolage Grotesque Variable,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1c2028;--ink: #e8eaef;--muted: #8d93a1;--line: #282d38;--accent: #8b87ff;--accent-soft: #23244a;--shadow: none;--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--plot1: #8b87ff;--plot2: #f472b6;--plot3: #22d3ee;--plot4: #facc15;--plot5: #4ade80}.page{background:#16181c!important}.page img,.orig-crop img{filter:invert(.88) hue-rotate(180deg)}}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit;color:inherit}button{cursor:pointer;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:7px 12px;display:inline-flex;align-items:center;gap:6px;transition:border-color .15s,background .15s}button:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}select,input{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:7px 10px;outline:none}select:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}kbd{font-size:11px;opacity:.65;border:1px solid currentColor;border-radius:5px;padding:0 5px;font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.icon{flex-shrink:0;vertical-align:-.2em}.muted{color:var(--muted)}.small{font-size:13px}.strong{font-weight:600}.grow{flex:1}.loading,.empty{padding:60px 20px;text-align:center;color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.page-title{font-size:26px;margin:4px 0 18px;letter-spacing:-.02em}.app{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:6px;padding:18px 14px;background:var(--panel);border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:17px;letter-spacing:-.01em;margin-bottom:10px;color:var(--accent)}.brand span{color:var(--ink)}.subject{font-weight:600}.subject-name{font-size:12px;color:var(--muted);padding:0 4px 12px;border-bottom:1px solid var(--line);margin-bottom:8px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav button{border:none;background:none;justify-content:flex-start;padding:9px 12px;color:var(--muted);font-weight:500}.sidebar nav button:hover{background:var(--panel-2);color:var(--ink)}.sidebar nav button.active{background:var(--accent-soft);color:var(--accent)}.side-stats{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:var(--panel-2)}.ring{--p: 0;width:44px;height:44px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--p) * 1%),var(--line) 0);display:grid;place-items:center;flex-shrink:0}.ring span{width:34px;height:34px;border-radius:50%;background:var(--panel-2);display:grid;place-items:center;font-size:11px;font-weight:700}main{flex:1;min-width:0;max-width:1040px;margin:0 auto;padding:24px 24px 80px}main.wide{max-width:none;padding:0}.practice{display:grid;grid-template-columns:380px minmax(0,1fr);height:100vh}.practice.list-hidden{grid-template-columns:0px minmax(0,1fr)}.practice.list-hidden .qlist{visibility:hidden;opacity:0;transform:translate(-24px)}.qlist{display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel);min-height:0}.qlist-head{display:flex;gap:8px;padding:14px 14px 8px}.search{flex:1;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:0 8px;background:var(--panel-2);color:var(--muted)}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search input{border:none;background:none;flex:1;padding:8px 0;box-shadow:none!important;color:var(--ink)}.icon-btn{padding:6px;border-radius:9px;background:none;border:1px solid transparent;color:var(--muted);position:relative}.icon-btn:hover{background:var(--panel-2);color:var(--ink);border-color:var(--line)}.filter-btn{border-color:var(--line)}.filter-btn.on{background:var(--accent-soft);color:var(--accent)}.dot{position:absolute;top:-5px;right:-5px;background:var(--accent);color:var(--on-accent);font-size:10px;border-radius:99px;min-width:16px;height:16px;display:grid;place-items:center}.chip-btn{white-space:nowrap}.filter-panel{padding:4px 14px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-2);min-width:0}.flabel{font-size:13px;font-weight:600;color:var(--ink);margin:10px 0 6px}.chip-wrap{display:flex;flex-wrap:wrap;gap:6px}.filter-panel .clear{margin-top:12px;display:block}.qlist-count{padding:6px 16px}.qitems{overflow-y:auto;flex:1;padding:0 8px 20px}.qitem{width:100%;display:flex;align-items:flex-start;gap:10px;text-align:left;border:1px solid transparent;background:none;border-radius:12px;padding:10px;margin-bottom:2px}.qitem:hover{background:var(--panel-2);border-color:transparent}.qitem.active{background:var(--accent-soft);border-color:transparent}.qitem-body{min-width:0;flex:1}.marks{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.qitem-text{font-size:13px;color:var(--ink);margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.qitem-tags{display:flex;gap:4px;flex-wrap:wrap}.st.new{color:var(--muted)}.st.correct{color:var(--good)}.st.partial{color:var(--ok)}.st.wrong{color:var(--bad)}.detail{overflow-y:auto;min-width:0}.question{max-width:900px;margin:0 auto;padding:16px 28px 80px}.toolbar{display:flex;align-items:center;gap:6px;position:sticky;top:0;z-index:3;padding:10px 0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-soft{background:var(--accent-soft);color:var(--accent);border-color:transparent;font-weight:500}.qhead{margin:6px 0 14px;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.meta-item{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--muted)}.qhead h2{margin:4px 0 8px;font-size:24px;letter-spacing:-.02em}.meta{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--muted);align-items:center}.meta span,.meta a{display:inline-flex;align-items:center;gap:4px}.tags{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;align-items:center}.check{display:inline-flex;gap:6px;align-items:center;font-size:14px}.link{border:none;background:none;padding:0;color:var(--accent);font-size:14px}.link:hover{text-decoration:underline}.seg{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:3px}.seg button{border:none;background:none;padding:5px 12px;border-radius:8px;font-size:13px;color:var(--muted)}.seg button.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.page{background:#fff;padding:18px;display:flex;flex-direction:column;gap:10px}.page img{max-width:100%;height:auto;display:block;margin:0 auto}.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.primary:hover{filter:brightness(1.08);border-color:var(--accent)}.big{display:flex;margin:24px auto;padding:12px 26px;font-size:16px;border-radius:12px;box-shadow:var(--shadow-lg)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 10px}.section-head h2,.section-head h3{margin:0;font-size:1.17em;display:flex;align-items:center;gap:6px}.marking{margin-top:18px;padding:16px;display:flex;flex-direction:column;gap:12px}.marking-q{font-weight:600}.marking.done{flex-direction:row;align-items:center;justify-content:space-between}.marking.done .st{display:inline-flex;gap:6px;align-items:center}.marking input{width:100%}.buttons{display:flex;gap:8px}.res{flex:1;justify-content:center;padding:11px;font-weight:600;background:var(--panel)}.res.correct{color:var(--good)}.res.correct:hover{background:color-mix(in srgb,var(--good) 10%,var(--panel));border-color:var(--good)}.res.partial{color:var(--ok)}.res.partial:hover{background:color-mix(in srgb,var(--ok) 10%,var(--panel));border-color:var(--ok)}.res.wrong{color:var(--bad)}.res.wrong:hover{background:color-mix(in srgb,var(--bad) 10%,var(--panel));border-color:var(--bad)}.content{padding:22px 26px;font-size:16px;line-height:1.65}.rich>div>:first-child{margin-top:0}.rich p{margin:0 0 12px}.rich ol,.rich ul{padding-left:24px;margin:0 0 12px}.rich li{margin-bottom:6px}.rich h4{margin:18px 0 8px;font-size:15px;color:var(--accent)}.rich blockquote{margin:12px 0;padding:10px 14px;background:var(--panel-2);border-radius:10px;color:var(--ink)}.rich table{border-collapse:collapse;margin:10px 0;display:block;max-width:100%;overflow-x:auto}.rich th,.rich td{border:1px solid var(--line);padding:5px 12px}.rich .katex-display{margin:10px 0;overflow-x:auto;overflow-y:hidden;padding:2px 0;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.rich strong{font-weight:650}.rich pre.code{display:flex;gap:14px;margin:12px 0;padding:12px 14px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;overflow-x:auto;font-family:Cascadia Mono,Consolas,Courier New,monospace;font-size:14px;line-height:1.5;color:var(--ink)}.rich pre.code .gutter{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;white-space:pre;opacity:.7}.rich pre.code code{white-space:pre}.rich .inline-code{font-family:Cascadia Mono,Consolas,monospace;font-size:.86em;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;white-space:pre-wrap}.rich .tk{color:#a142c4}.rich .ts{color:#3f8a3f}.rich .tn{color:#c26a1a}.rich .tc{color:var(--muted);font-style:italic}.rich .tb{color:#2f6fb8}@media(prefers-color-scheme:dark){.rich .tk{color:#d09bff}.rich .ts{color:#8fd18f}.rich .tn{color:#f0a868}.rich .tb{color:#7fb3ee}}.rich p,.rich li{overflow-x:auto;overflow-y:hidden}.rich hr{border:none;border-top:1px solid var(--line);margin:16px 0}.plot{margin:12px auto;max-width:480px}.plot svg{width:100%;height:auto;background:var(--panel-2);border:1px solid var(--line);border-radius:12px}.plot .grid{stroke:var(--line);stroke-width:1}.plot .axis{stroke:var(--muted);stroke-width:1.3}.plot .arrowhead{fill:var(--muted)}.plot .tick{font-size:10px;fill:var(--muted)}.plot .axlabel{font-size:13px;font-style:italic;fill:var(--ink)}.plot .curve{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.plot .curve.thin{stroke-width:1.4}.plot .slope{stroke:var(--muted);stroke-width:1.3;stroke-linecap:round}.plot .plabel{font-size:12px;fill:var(--ink);paint-order:stroke;stroke:var(--panel-2);stroke-width:3px}figcaption{font-size:12px;color:var(--muted);text-align:center;margin-top:4px}.orig-crop{margin:12px 0}.orig-window{position:relative;overflow:hidden;border-radius:10px;border:1px solid var(--line);background:#fff}.plot-error{color:var(--bad);font-size:12px}.advice{padding:14px 16px;margin-bottom:18px;display:flex;gap:10px;align-items:center}.advice>.icon{color:var(--accent)}.bar{height:8px;background:var(--line);border-radius:99px;overflow:hidden}.bar div{height:100%;border-radius:99px}.good{background:var(--good)}.ok{background:var(--ok)}.bad{background:var(--bad)}table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);font-size:14px}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--panel-2)}.mistake{width:100%;display:flex;gap:12px;align-items:flex-start;text-align:left;padding:14px 16px;margin-bottom:8px}.mistake:hover{box-shadow:var(--shadow-lg)}.note{margin-top:6px;font-style:italic}.formats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:16px 0}.format{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}.format h2{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.fstats{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-size:14px}.frules{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.exam-opts{margin-bottom:24px}.exam-bar{position:sticky;top:8px;z-index:4;display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;flex-wrap:wrap;box-shadow:var(--shadow-lg)}.exam-bar.planning{border-color:var(--ok)}.exam-bar.urgent{border-color:var(--bad)}.exam-bar.urgent .clock{color:var(--bad)}.clock{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;margin-left:auto}.bar-actions{display:flex;gap:8px}.exam-q{margin-bottom:28px}.exam-q h3{margin:0 0 8px}.sheet{margin-bottom:16px}details{margin-bottom:8px}.award{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.award input{width:80px}.result-head{display:flex;gap:20px;align-items:center;margin:12px 0 16px}.big-score{font-size:48px;font-weight:800;color:var(--accent)}.good-text{color:var(--good);font-weight:600}.ok-text{color:var(--ok);font-weight:600}.bad-text{color:var(--bad);font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.app{flex-direction:column}.sidebar{width:auto;height:auto;position:sticky;top:0;z-index:10;flex-direction:row;align-items:center;padding:8px 12px;border-right:none;border-bottom:1px solid var(--line)}.brand span,.subject-name,.side-stats,.sidebar nav button span{display:none}.brand{margin:0}.sidebar nav{flex-direction:row;margin-left:auto}main{padding:16px}.practice{grid-template-columns:1fr;height:auto}.practice:not(.list-hidden) .detail{display:none}.practice.list-hidden .qlist{display:none}.qlist{border-right:none;height:calc(100vh - 56px)}.question{padding:8px 16px 60px}.content{padding:16px}.marking.done{flex-direction:column}}.rich .mk{display:inline-block;font-size:11px;font-weight:600;color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent);border-radius:6px;padding:0 7px;margin-left:6px;vertical-align:.15em;line-height:1.7}.rich th{text-transform:none;letter-spacing:normal;font-size:14px;color:var(--ink)}.rich table{width:auto;border-radius:10px}.content{background:#fff;color:#111;font-family:KaTeX_Main,Latin Modern Roman,"CMU Serif",Times New Roman,serif;font-size:17.5px;line-height:1.7}.content .rich p{-webkit-hyphens:auto;hyphens:auto}.content .rich strong{font-weight:700}.content .rich blockquote{font-family:var(--display);font-size:14px;background:#f3f4f8;color:#222}.content .rich .mk{font-family:var(--display)}.content .plot svg{background:#fff}@media(prefers-color-scheme:dark){.content{background:#1b1d22;color:#e9e9ec}.content .rich blockquote{background:#252830;color:#ddd}.content .plot svg{background:#1b1d22}}input[type=checkbox]:after{content:"";width:5px;height:9px;border:solid var(--accent);border-width:0 2px 2px 0}.badge{margin-left:auto;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;border-radius:99px;min-width:20px;height:20px;padding:0 6px;display:inline-grid;place-items:center}.side-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:16px;padding:12px 8px 0;border-top:1px solid var(--line)}.side-links .link{display:inline-flex;gap:6px;align-items:center;color:var(--muted)}.side-links .link:hover{color:var(--accent)}.reveal-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:20px 0}.row-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.q-foot{display:flex;gap:18px;justify-content:flex-end;margin-top:22px}.q-foot .link{color:var(--muted);display:inline-flex;gap:4px;align-items:center}.q-foot .link:hover{color:var(--accent)}.report{margin-top:10px;padding:14px;display:flex;flex-direction:column;gap:8px}.report textarea{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:8px 10px;resize:vertical}.report textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.danger{color:var(--bad)!important}.modal-back{position:fixed;inset:0;z-index:50;background:#0006;display:grid;place-items:center;padding:16px}.modal{width:min(720px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:18px}.modal-body{overflow-y:auto;padding:18px}.modal-body .content{border-radius:12px;padding:18px}.sheet-md table{width:100%}.about p{margin:0 0 12px;line-height:1.5}.about ul{padding-left:20px;line-height:1.6;margin:0 0 12px}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:8px}.plan{padding:16px 18px;display:flex;flex-direction:column;gap:8px}.plan .flabel{margin:0}.plan p{margin:0;line-height:1.5}.plan input[type=date]{align-self:flex-start}.big-num{font-size:36px;font-weight:800;color:var(--accent);line-height:1}.sec-title{font-size:18px;margin:28px 0 12px}table.types td:first-child{font-weight:500}@media print{.sidebar,.exam-bar .bar-actions,.exam-bar .clock,.toolbar,.q-foot,.modal-back,.link{display:none!important}.app,main{display:block;padding:0;max-width:none}body,:root{background:#fff;color:#000}.card,.content{box-shadow:none;border:none;background:#fff!important;color:#000!important}.exam-bar{position:static;border:none;box-shadow:none}.exam-q{break-inside:avoid;padding-bottom:120px}}@media(max-width:900px){.sidebar{position:sticky;top:0;flex-wrap:wrap;gap:8px}.side-links{display:none}.sidebar nav{position:fixed;left:0;right:0;bottom:0;z-index:20;margin:0;flex-direction:row;justify-content:space-around;background:var(--panel);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}.sidebar nav button{flex-direction:column;gap:2px;font-size:11px;padding:6px 4px;flex:1;position:relative}.sidebar nav button span:not(.badge){display:inline!important}.sidebar nav .badge{position:absolute;top:0;right:18%;min-width:16px;height:16px;font-size:10px;margin:0}.subject{margin-left:auto}.practice,.practice.list-hidden{grid-template-columns:minmax(0,1fr)}main{padding-bottom:90px}.qlist{height:calc(100vh - 120px)}.question{padding-bottom:100px}.marking .buttons{display:grid;grid-template-columns:1fr;gap:8px}.marking .res{justify-content:center;padding:12px;font-size:16px}.hide-sm{display:none}.pager .pos{min-width:64px;font-size:12px}.big{width:100%;justify-content:center}}.answer-box{margin:14px 0 0;padding:14px 16px;display:flex;flex-direction:column;gap:12px}.answer-head{font-weight:600;display:flex;align-items:center;gap:6px;font-size:14px}.answer-head .icon{color:var(--accent)}.exam-font{font-family:KaTeX_Main,Latin Modern Roman,"CMU Serif",Times New Roman,serif}.answer-form{display:flex;flex-direction:column;gap:12px}.answer-grid{display:grid;grid-template-columns:max-content minmax(110px,240px) max-content;gap:8px 10px;align-items:center;justify-content:start}.answer-field{display:contents}.answer-name{font-size:17px;display:inline-flex;gap:5px;align-items:baseline;white-space:nowrap;justify-self:end;grid-column:1}.answer-grid .answer-input{grid-column:2}.answer-input{flex:1;min-width:110px;max-width:240px;font:inherit;font-size:17px;padding:6px 10px;border-radius:8px;transition:border-color .15s,background .15s}.answer-input.small{width:64px;min-width:48px;flex:none;padding:6px;text-align:center}.answer-input.ok{border-color:var(--good);background:color-mix(in srgb,var(--good) 8%,var(--panel))}.answer-input.bad{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 8%,var(--panel))}.answer-unit{font:inherit;font-size:16px;padding:6px 8px;border-radius:8px;min-width:72px;cursor:pointer}.answer-unit.empty{color:var(--muted);border-style:dashed}.answer-fixed-unit{font-size:17px;color:var(--muted)}.answer-vector{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:17px;row-gap:8px}.answer-vector .bracket{font-size:26px;font-weight:300;color:var(--muted)}.vec-cell{display:inline-flex;align-items:center;gap:4px}.answer-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.answer-foot{min-height:20px;display:flex;align-items:center}.answer-foot .st{display:inline-flex;align-items:center;gap:4px;font-weight:600}.choice.exam-font{font-size:16px}.choice.right{background:color-mix(in srgb,var(--good) 15%,var(--panel));border-color:var(--good);color:var(--good);font-weight:600}.choice.wrongc{background:color-mix(in srgb,var(--bad) 12%,var(--panel));border-color:var(--bad);color:var(--bad)}.mistake-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--ok) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);font-size:14px}.mistake-note>.icon{color:var(--ok);margin-top:2px}.mistake-note .rich p{margin:4px 0 0}.primer .rich h3{margin:18px 0 6px;font-size:16px}.primer-btn{font-size:13px}.diagram{margin:14px auto;max-width:540px}.diagram svg{width:100%;height:auto;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;font-family:var(--display)}.content .diagram svg{background:#fff}.diagram figcaption{text-align:center;font-size:13px;color:var(--muted);margin-top:6px;font-family:var(--display)}.dbody{fill:color-mix(in srgb,var(--plot1) 12%,transparent);stroke:var(--plot1);stroke-width:2}.dmark{fill:var(--plot1);opacity:.5}.dcv{fill:none;stroke:var(--muted);stroke-width:1.2;stroke-dasharray:6 5}.dpipe,.dloop,.dpipeline{stroke:#3a3f4a;stroke-width:2.2;fill:none}.darrowhead{fill:#3a3f4a}.dheat{stroke:var(--bad);stroke-width:2.2}.dwork{stroke:var(--plot3);stroke-width:3}.dstream{stroke:var(--bad);stroke-width:2;stroke-dasharray:5 3}.dstream2{stroke:var(--plot3);stroke-width:2;stroke-dasharray:5 3}.dcoil{fill:none;stroke:var(--bad);stroke-width:2}.dcoil.cold{stroke:var(--plot3)}.dwall{fill:none;stroke:#3a3f4a;stroke-width:3}.dpiston{fill:#9aa0ab;stroke:#3a3f4a;stroke-width:1.5}.dgas{fill:color-mix(in srgb,var(--plot1) 10%,transparent)}.dlabel{font-size:12.5px;fill:#22252b}.dlabel .dtag{font-weight:700}.dlabel.heat{fill:var(--bad);font-weight:600}.dlabel.work{fill:var(--plot3);font-weight:600}.dlabel.inside{font-size:12px}.dname{font-size:13px;font-weight:700;fill:#22252b}.dstate{fill:#fff;stroke:#3a3f4a;stroke-width:1.5}.dstatet{font-size:12px;font-weight:700;fill:#22252b}.circuit text{font-family:KaTeX_Main,Latin Modern Roman,"CMU Serif",Times New Roman,serif}.cpm.small{font-size:14px}.cwire{stroke:#2b2f38;stroke-width:2;fill:none;stroke-linecap:round}.cpart{stroke:#2b2f38;stroke-width:2;fill:none;stroke-linejoin:round}.cpart.thin{stroke-width:1.4}.cplate{stroke:#2b2f38;stroke-width:3;fill:none}.cbody{fill:#fff;stroke:#2b2f38;stroke-width:2}.cdot{fill:#2b2f38}.cterm{fill:#fff;stroke:#2b2f38;stroke-width:2}.carrowhead{fill:#2b2f38}.ccur{stroke:var(--plot1);stroke-width:2}.ccurhead{fill:var(--plot1)}.cvolt{stroke:var(--plot3);stroke-width:1.6}.cvolthead{fill:var(--plot3)}.diagram:has(svg.circuit){max-width:660px}.diagram.small{display:inline-block;width:48%;margin:6px 1%;vertical-align:top}.diagram.small .cval,.diagram.small .cnode,.diagram.small .cpm{font-size:21px}.clabel,.cval{font-size:17px;fill:#22252b}.cval{font-weight:400}.cann{font-size:18px;font-style:italic}.cann.cur{fill:var(--plot1)}.cann.volt{fill:var(--plot3)}.cnode{font-size:18px;font-weight:400;fill:#22252b}.cpm{font-size:17px;font-weight:700;fill:#22252b}.csub{font-size:12.5px}.sketch text{font-family:KaTeX_Main,Latin Modern Roman,"CMU Serif",Times New Roman,serif}.diagram:has(svg.sketch){max-width:600px}.kbody{fill:#e3e6ec;stroke:#2b2f38;stroke-width:1.8;stroke-linejoin:round}.ksolid{fill:#b9bfc9;stroke:#2b2f38;stroke-width:1.8;stroke-linejoin:round}.kfluid{fill:color-mix(in srgb,var(--plot1) 28%,#fff);stroke:none}.kfluid2{fill:color-mix(in srgb,var(--plot3) 30%,#fff);stroke:none}.kfluid3{fill:color-mix(in srgb,var(--plot4) 30%,#fff);stroke:none}.kgas{fill:color-mix(in srgb,var(--plot2) 10%,#fff);stroke:none}.kwall{stroke:#2b2f38;stroke-width:2.4;fill:none;stroke-linejoin:round;stroke-linecap:round}.kmember{stroke:#2b2f38;stroke-width:4.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.kthin{stroke:#2b2f38;stroke-width:1.2;fill:none}.kdash{stroke:#8a909c;stroke-width:1;stroke-dasharray:5 4;fill:none}.khole,.kpin,.ksupport{fill:#fff;stroke:#2b2f38;stroke-width:1.8}.kdot{fill:#2b2f38}.knone{fill:none;stroke:none}.kext{stroke:#5b616e;stroke-width:1}.kdimhead{fill:#5b616e}.kval{font-size:16px;fill:#22252b}.kval.small{font-size:13px}.kdimtext{font-size:14px;fill:#3a3f4a}@media(prefers-color-scheme:dark){.kbody{fill:#2c3038;stroke:#d5d8de}.ksolid{fill:#4a505c;stroke:#d5d8de}.kfluid{fill:color-mix(in srgb,var(--plot1) 35%,#1b1d22)}.kfluid2{fill:color-mix(in srgb,var(--plot3) 35%,#1b1d22)}.kfluid3{fill:color-mix(in srgb,var(--plot4) 35%,#1b1d22)}.kgas{fill:color-mix(in srgb,var(--plot2) 12%,#1b1d22)}.kwall,.kmember,.kthin{stroke:#d5d8de}.khole,.kpin,.ksupport{fill:#1b1d22;stroke:#d5d8de}.kdot{fill:#d5d8de}.kval{fill:#e9e9ec}.kdimtext{fill:#c7cad1}}.statics text{font-family:KaTeX_Main,Latin Modern Roman,"CMU Serif",Times New Roman,serif}.diagram:has(svg.statics){max-width:660px}.sbeam{stroke:#2b2f38;stroke-width:5;stroke-linecap:round}.sbar{stroke:#2b2f38;stroke-width:2.4;stroke-linecap:round}.sshape{fill:#d9dde4;stroke:#2b2f38;stroke-width:1.8;stroke-linejoin:round}.shole,.ssupport{fill:#fff;stroke:#2b2f38;stroke-width:1.8}.sground{stroke:#2b2f38;stroke-width:2}.shatch{stroke:#2b2f38;stroke-width:1.1}.spin{fill:#fff;stroke:#2b2f38;stroke-width:1.8}.shinge{fill:#fff;stroke:#2b2f38;stroke-width:2}.sload{stroke:var(--plot1);stroke-width:2.2;fill:none}.sudl{stroke:var(--plot1);stroke-width:1.5;fill:none}.sarrowhead{fill:var(--plot1)}.sdim,.sext{stroke:#5b616e;stroke-width:1}.sdimhead{fill:#5b616e}.scut{stroke:var(--plot3);stroke-width:2;stroke-dasharray:7 5}.saxis{stroke:#2b2f38;stroke-width:1.4}.sref{stroke:#8a909c;stroke-width:1;stroke-dasharray:4 4}.scen{fill:#fff;stroke:#2b2f38;stroke-width:1.5}.scenfill{fill:#2b2f38}.sval,.snode{font-size:17px;fill:#22252b}.snode{font-size:18px}.sdimtext{font-size:15px;fill:#3a3f4a}.sval.it{font-style:italic}@media(prefers-color-scheme:dark){.content .diagram svg{background:#1b1d22}.cwire,.cpart,.cplate{stroke:#d5d8de}.cbody,.cterm{fill:#1b1d22;stroke:#d5d8de}.cdot,.carrowhead{fill:#d5d8de}.clabel,.cval,.cnode,.cpm{fill:#e9e9ec}.sbeam,.sbar,.sground,.shatch,.saxis{stroke:#d5d8de}.sshape{fill:#3a3f4a;stroke:#d5d8de}.shole,.ssupport,.spin,.shinge,.scen{fill:#1b1d22;stroke:#d5d8de}.scenfill{fill:#d5d8de}.sval,.snode{fill:#e9e9ec}.sdimtext{fill:#c7cad1}.sdim,.sext{stroke:#9aa0ab}.sdimhead{fill:#9aa0ab}.dlabel,.dname,.dstatet{fill:#e9e9ec}.dpipe,.dloop,.dpipeline,.dwall{stroke:#c7cad1}.darrowhead{fill:#c7cad1}.dstate{fill:#1b1d22;stroke:#c7cad1}}.progress{max-width:1000px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.stat{padding:14px 16px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left}.stat.clickable{cursor:pointer}.stat.clickable:hover:not(:disabled){border-color:var(--accent)}.stat-num{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.stat-num span{font-size:15px;font-weight:600;color:var(--muted)}.stat-num.good{color:var(--good)}.stat-num.ok{color:var(--ok)}.stat-num.bad{color:var(--bad)}.stat-lbl{font-size:13px;color:var(--muted)}.minibar{width:100%;height:5px;border-radius:99px;background:var(--panel-2);overflow:hidden;margin-top:6px}.minibar div{height:100%;background:var(--accent)}.plan-head{display:flex;align-items:baseline;justify-content:space-between}.plan-date{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.plan-date .flabel{margin:0}.today{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin-top:4px;padding-top:10px;border-top:1px solid var(--line)}.activity{display:grid;grid-template-columns:repeat(14,1fr);gap:5px;height:130px;align-items:end;margin-top:6px}.aday{display:flex;flex-direction:column;align-items:stretch;height:100%;gap:4px}.acol{flex:1;display:flex;flex-direction:column-reverse;justify-content:flex-start;background:var(--panel-2);border-radius:6px;overflow:hidden}.aseg{display:block}.aseg.correct{background:var(--good)}.aseg.partial{background:var(--ok)}.aseg.wrong{background:var(--bad)}.alab{text-align:center;font-size:11px;color:var(--muted)}.legend{display:flex;gap:14px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:26px 0 10px}.sec-head .sec-title{margin:0}.topic-list{padding:4px 0}.trow{display:grid;grid-template-columns:1fr 64px auto;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.trow:last-child{border-bottom:none}.tname{font-weight:600;margin-bottom:6px}.stack{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--panel-2)}.sseg.correct{background:var(--good)}.sseg.partial{background:var(--ok)}.sseg.wrong{background:var(--bad)}.tmeta{margin-top:5px}.tpct{font-size:18px;font-weight:800;text-align:right;color:var(--muted)}.tpct.good-text{color:var(--good)}.tpct.ok-text{color:var(--ok)}.tpct.bad-text{color:var(--bad)}.tacts{display:flex;gap:6px;align-items:center}.tacts button.small{padding:5px 10px;font-size:13px}.type-list{padding:4px 0}.type-row{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;border:none;border-bottom:1px solid var(--line);border-radius:0;background:none;text-align:left}.type-row:last-child{border-bottom:none}.type-row:not(.static):hover{background:var(--panel-2)}.type-row .tt{flex:1;min-width:0}.answer-hint{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ink)}.answer-hint .icon{color:var(--ok);flex:none;margin-top:1px}.answer-hint p{margin:0;display:inline}.answer-hint>div{white-space:pre-line}.offline-pill{display:flex;gap:6px;align-items:center;margin:8px 0;padding:6px 10px;border-radius:8px;background:color-mix(in srgb,var(--ok) 14%,transparent)}.save-offline{display:grid;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.save-offline button{justify-self:start;display:inline-flex;gap:6px;align-items:center}.format-actions{display:flex;flex-wrap:wrap;gap:8px}.print-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 14px;margin-bottom:20px;position:sticky;top:8px;z-index:5}.print-tools .grow{flex:1}.paper-cover{border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:20px}.paper-cover h1{margin:6px 0 2px;font-size:26px}.paper-cover h2{margin:0 0 10px;font-size:18px;font-weight:600}.paper-cover ul{margin:8px 0;padding-left:20px}.paper-part{margin-top:32px}.paper-sol{break-inside:avoid;margin-bottom:14px}.paper-sol h3{font-size:15px;margin:0 0 6px}@media print{.print-tools{display:none!important}.print-paper .paper-part{break-before:page}.print-paper .paper-sol{padding-bottom:0}.paper-cover{break-after:avoid}}.plot .pick-area{fill:transparent;cursor:crosshair}.plot.pickable svg{touch-action:manipulation}.pick-mark line{stroke-width:2}.pick-mark circle{stroke-width:2}.pick-mark.mine line,.pick-mark.mine circle{stroke:var(--accent);fill:var(--accent)}.pick-mark.mine line{stroke-dasharray:4 3}.pick-mark.right line,.pick-mark.right circle{stroke:var(--good);fill:var(--good)}.pick-mark{pointer-events:none}.mmap{padding:14px 16px;display:grid;gap:10px}.mrow{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:12px;align-items:center}.mname{color:var(--muted);line-height:1.25}.mtiles{display:flex;flex-wrap:wrap;gap:4px}.mtile{width:18px;height:18px;padding:0;border-radius:4px;border:1px solid transparent;background:color-mix(in srgb,var(--muted) 18%,transparent);cursor:pointer;display:inline-block}.mtile:hover,.mtile:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mtile.learning{background:var(--bad)}.mtile.shaky{background:var(--ok)}.mtile.solid{background:color-mix(in srgb,var(--good) 55%,transparent)}.mtile.mastered{background:var(--good)}.mmap .legend{display:flex;flex-wrap:wrap;gap:14px;padding-top:6px;border-top:1px solid var(--line)}.mmap .legend span{display:inline-flex;align-items:center;gap:6px}.mmap .legend .mtile{width:12px;height:12px;cursor:default}@media(max-width:600px){.mrow{grid-template-columns:1fr;gap:4px}}.tdot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex:none}.tdot.good{background:var(--good)}.tdot.ok{background:var(--ok)}.tdot.bad{background:var(--bad)}@media(max-width:700px){.trow{grid-template-columns:1fr auto}.tacts{grid-column:1 / -1}.stat-num{font-size:24px}}@media(max-width:600px){.diagram:has(svg.circuit):not(.small){overflow-x:auto}.diagram:not(.small) svg.circuit{min-width:460px}.diagram:has(svg.statics){overflow-x:auto}.diagram svg.statics:not([style]){min-width:420px}}.guest-note{margin:6px 4px 0;line-height:1.4;color:var(--muted)}.guest-note .link{padding:0;border:none;background:none;color:var(--accent);font:inherit;text-decoration:underline;text-underline-offset:2px;display:inline}.head-actions{display:none}@media(max-width:900px){.head-actions{display:inline-flex;gap:2px;order:2}.sidebar .subject{order:3}.guest-note{display:none}}.signin{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.signin input{flex:1 1 200px;padding:9px 11px;border-radius:10px;border:1px solid var(--line, #3a3f4a);background:transparent;color:inherit;font:inherit}.google-btn{width:100%;justify-content:center;padding:10px;font-weight:600;margin-top:6px}.or{text-align:center;margin:8px 0 0}.legal h3{margin:18px 0 6px;font-size:16px}.legal p,.legal li{line-height:1.55}.legal ul{padding-left:20px}.legal-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:14px}.legal-table th,.legal-table td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}.legal-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;padding:18px 16px 90px;border-top:1px solid var(--line);margin-top:24px}.legal-links{display:inline-flex;gap:12px;flex-wrap:wrap}.legal-footer .link{padding:0;border:none;background:none;text-decoration:underline;color:inherit;display:inline}.danger-btn{color:#c2410c}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--accent) 28%,transparent)}html{scrollbar-color:color-mix(in srgb,var(--muted) 45%,transparent) transparent;accent-color:var(--accent)}input,textarea{caret-color:var(--accent)}a{text-underline-offset:2px}.stat-num,.big-num,.pos,.side-stats,.ring,.timer,.legal-table,table td{font-variant-numeric:tabular-nums}.empty-state{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;max-width:440px;margin:48px auto;color:var(--muted)}.empty-state p{margin:0;line-height:1.5}.empty-state b{color:var(--ink)}.empty-state .primary{margin-top:12px}.solution-step{animation:step-in .2s cubic-bezier(.16,1,.3,1)}@keyframes step-in{0%{opacity:0;transform:translateY(4px)}}:root{--h: 285;--display: "Bricolage Grotesque Variable", "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;--on-accent: #fff;--ease-out: cubic-bezier(.16, 1, .3, 1);--fam-dynamics: 0;--fam-design: 30;--fam-electrical: 60;--fam-computing: 150;--fam-solids: 185;--fam-thermofluids: 225;--fam-maths: 285;--fam-statistics: 330}[data-subject=MATH1051],[data-subject=MATH1052],[data-subject=MATH2001],[data-subject=MATH2010]{--h: var(--fam-maths)}[data-subject=STAT2201]{--h: var(--fam-statistics)}[data-subject=CSSE1001],[data-subject=ENGG1001],[data-subject=MECH2700]{--h: var(--fam-computing)}[data-subject=ENGG1300]{--h: var(--fam-electrical)}[data-subject=ENGG1500],[data-subject=MECH2410]{--h: var(--fam-thermofluids)}[data-subject=ENGG1700],[data-subject=MECH2300]{--h: var(--fam-solids)}[data-subject=MECH2210]{--h: var(--fam-dynamics)}[data-subject=MECH2100],[data-subject=MECH2305]{--h: var(--fam-design)}.app{--accent: oklch(.47 .16 var(--h));--accent-soft: oklch(.95 .035 var(--h));--tint: oklch(.97 .02 var(--h));--plot1: var(--accent)}@media(prefers-color-scheme:dark){:root{--on-accent: #101217}.app{--accent: oklch(.78 .13 var(--h));--accent-soft: oklch(.3 .06 var(--h));--tint: oklch(.22 .03 var(--h))}}.page-title,.brand span,.modal-head h2,.big-num,.stat-num,.big-score,.section-head h2,.section-head h3,.marking-q,.empty-state b{font-family:var(--display);font-variation-settings:"wdth" 100}.page-title{font-size:32px;font-weight:750;letter-spacing:-.03em;margin:6px 0 20px;text-wrap:balance}.brand span{font-weight:750;letter-spacing:-.02em;font-size:18px}.stat-num{font-weight:750;letter-spacing:-.03em}.big-num{font-weight:800;letter-spacing:-.03em}main{position:relative;isolation:isolate}main:before{content:"";position:absolute;top:0;left:50%;width:100vw;transform:translate(-50%);height:340px;z-index:-1;pointer-events:none;background:radial-gradient(120% 100% at 85% -10%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 62%)}.sidebar{background:linear-gradient(to bottom,color-mix(in srgb,var(--accent) 5%,var(--panel)),var(--panel) 260px)}.brand .icon{color:var(--accent)}:root{--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 14px -6px rgba(16, 24, 40, .1)}.card{transition:border-color .2s}.sidebar nav button{transition:background-color .2s,color .2s;position:relative}.sidebar nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}button{transition:border-color .15s,background-color .15s,color .15s,transform .1s}button:active:not(:disabled){transform:scale(.97)}.primary{box-shadow:0 1px #ffffff26 inset,0 6px 16px -8px color-mix(in srgb,var(--accent) 70%,transparent)}.primary:hover:not(:disabled){filter:brightness(1.06)}.view-enter{animation:rise .28s var(--ease-out)}.question.enter-next{animation:from-right .3s var(--ease-out)}.question.enter-prev{animation:from-left .3s var(--ease-out)}.question.enter-fade{animation:rise .28s var(--ease-out)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes from-right{0%{opacity:0;transform:translate(18px)}}@keyframes from-left{0%{opacity:0;transform:translate(-18px)}}.modal-back{animation:fade .18s ease-out}.modal{animation:sheet-in .3s var(--ease-out)}@keyframes fade{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px) scale(.98)}}.bar div,.minibar div{transform-origin:left center;animation:fill .6s var(--ease-out) both}.activity>*>*{transform-origin:bottom;animation:grow-up .5s var(--ease-out) both}@keyframes fill{0%{transform:scaleX(0)}}@keyframes grow-up{0%{transform:scaleY(0)}}.answer-box{transition:border-color .3s,background-color .3s}.answer-box.solved{border-color:color-mix(in srgb,var(--good) 55%,var(--line));background:color-mix(in srgb,var(--good) 6%,var(--panel))}.answer-box.solved .answer-head .icon{color:var(--good)}.answer-foot .st.correct,.answer-foot .st.wrong{animation:rise .3s var(--ease-out)}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}.marking.done{animation:rise .3s var(--ease-out)}.qitem{transition:background-color .15s,border-color .15s,transform .15s var(--ease-out)}.qitem:hover{background:var(--panel-2)}@media(prefers-reduced-motion:reduce){.view-enter,.question.enter-next,.question.enter-prev,.question.enter-fade,.marking.done,.solution-step,.answer-foot .st,.modal{animation:fade .2s ease-out!important}.bar div,.minibar div,.sseg,.activity>*>*,.answer-box.solved .answer-head .icon,.sidebar nav button.active .icon{animation:none!important}button:active:not(:disabled),.qitem:hover{transform:none}}.primary{box-shadow:0 8px 16px -8px color-mix(in srgb,var(--accent) 80%,transparent)}.primary:disabled{box-shadow:none}.bar,.minibar{box-shadow:inset 0 1px 2px #0000001a}.bar div,.minibar div{background-image:linear-gradient(#ffffff47,#fff0 70%)}.choice-form{display:flex;flex-direction:column;gap:14px}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px}.choice-grid:has(.letter){grid-template-columns:repeat(auto-fit,minmax(64px,1fr));max-width:420px}.choice-grid.two{grid-template-columns:1fr 1fr;max-width:420px}.choice-grid .choice{position:relative;display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--ink);transition:border-color .15s,background-color .15s,box-shadow .15s,transform .15s var(--ease-out),opacity .2s}.choice-grid .choice.letter{justify-content:center;padding:12px 8px}.choice-grid .choice:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-1px)}.choice-key{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--panel-2);color:var(--muted);font:700 14px var(--display);transition:background-color .15s,color .15s}.choice-text{min-width:0;overflow-wrap:anywhere}.choice-grid .choice.sel{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px);box-shadow:0 8px 16px -10px color-mix(in srgb,var(--accent) 80%,transparent)}.choice-grid .choice.sel .choice-key{background:var(--accent);color:var(--on-accent)}.choice-grid .choice:disabled{cursor:default}.choice-grid .choice.right{border-color:var(--good);background:color-mix(in srgb,var(--good) 10%,var(--panel));color:var(--ink);font-weight:400}.choice-grid .choice.right .choice-key{background:var(--good);color:#fff}.choice-grid .choice.wrongc{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 8%,var(--panel));color:var(--ink);animation:choice-shake .32s ease-out}.choice-grid .choice.wrongc .choice-key{background:var(--bad);color:#fff}.choice-grid .choice.dim{opacity:.55}.choice-badge{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--good);box-shadow:0 0 0 3px var(--panel),0 4px 8px -2px #0000004d;animation:badge-pop .4s cubic-bezier(.34,1.56,.64,1) both}.wrongc .choice-badge{background:var(--bad)}.choice-badge svg{width:14px;height:14px;stroke-dasharray:30;stroke-dashoffset:30;animation:badge-draw .3s .15s ease-out forwards}@keyframes badge-pop{0%{transform:scale(0);opacity:0}}@keyframes badge-draw{to{stroke-dashoffset:0}}@keyframes choice-shake{25%{translate:-5px 0}50%{translate:4px 0}75%{translate:-2px 0}}@media(prefers-reduced-motion:reduce){.choice-grid .choice.wrongc{animation:none}.choice-badge{animation:fade .2s ease-out both}.choice-badge svg{animation:none;stroke-dashoffset:0}.choice-grid .choice:hover:not(:disabled),.choice-grid .choice.sel{transform:none}}.reveal-row{justify-content:flex-start;margin:16px 0}.reveal-row button,.row-btns button,.marking .buttons button,.answer-actions button:not(.link){min-height:40px}.reveal-row button:not(.primary),.row-btns button:not(.primary),.marking .buttons button{box-shadow:var(--shadow)}.primary .icon,.reveal-row .icon{flex:none}.choice-grid .choice.letter .choice-key{width:auto;height:auto;background:none;font-size:18px;color:var(--ink)}.choice-grid .choice.letter.sel{background:var(--accent);border-color:var(--accent)}.choice-grid .choice.letter.sel .choice-key{color:var(--on-accent);background:none}.choice-grid .choice.letter.right{background:var(--good);border-color:var(--good)}.choice-grid .choice.letter.wrongc{background:var(--bad);border-color:var(--bad)}.choice-grid .choice.letter.right .choice-key,.choice-grid .choice.letter.wrongc .choice-key{background:none;color:#fff}.answer-foot .st{flex-wrap:wrap}@media(max-width:600px){.reveal-row button{flex:1;justify-content:center}}.toolbar{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:6px;margin:4px 0 14px;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow);top:8px}.toolbar .btn-soft{border-radius:10px;padding:7px 12px}.pager{display:inline-flex;align-items:center;gap:2px;background:var(--panel-2);border-radius:10px;padding:2px}.pager .icon-btn{border:0;background:transparent}.pager .icon-btn:hover{background:var(--panel)}.pager .pos{min-width:76px;text-align:center;font-size:13px;font-weight:600;color:var(--muted)}.side-stats{gap:12px;padding:12px 14px}.side-stats .small{display:flex;flex-direction:column;gap:2px;line-height:1.35}.side-stats b{font-weight:700;margin-right:1px}.stat{gap:6px}.stat-num span{margin-left:5px}.acct{display:flex;flex-direction:column;gap:14px}.acct h3{margin:0 0 2px;font:700 19px var(--display);letter-spacing:-.01em}.acct p{margin:0;line-height:1.5}.acct-hero{display:flex;gap:14px;align-items:center}.acct-icon{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.acct-perks{list-style:none;margin:0;padding:12px 14px;display:flex;flex-direction:column;gap:8px;border-radius:12px;background:var(--panel-2);font-size:14px}.acct-perks li{display:flex;gap:8px;align-items:flex-start;line-height:1.4}.acct-perks .icon{color:var(--good);flex:none;margin-top:1px}.signin{flex-direction:column;flex-wrap:nowrap;gap:6px;margin:0}.field-label{font-size:13px;font-weight:600}.signin input{flex:none;width:100%;padding:11px 12px;font-size:16px}.signin input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.signin .primary{margin-top:6px}.acct-wide{width:100%;justify-content:center;padding:10px 14px;min-height:44px}.acct-msg{display:flex;gap:6px;align-items:flex-start;font-size:14px;padding:10px 12px;border-radius:10px;background:var(--panel-2)}.acct-msg.error{color:var(--bad);background:color-mix(in srgb,var(--bad) 9%,var(--panel))}.acct-msg .icon{flex:none;margin-top:2px}.legal-note{font-size:12.5px}.acct-card{display:flex;gap:12px;align-items:center;padding:14px;border-radius:14px;background:var(--panel-2)}.avatar{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font:700 19px var(--display)}.acct-who{min-width:0;display:flex;flex-direction:column;gap:4px}.acct-email{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-pill{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px;background:var(--panel);color:var(--muted)}.sync-pill.good{color:var(--good)}.sync-pill.warn{color:var(--ok)}.acct .hint{margin-top:-6px}.danger-zone{border:1px solid color-mix(in srgb,var(--bad) 30%,var(--line));border-radius:12px;padding:10px 14px}.danger-zone summary{cursor:pointer;display:flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--bad);list-style:none}.danger-zone summary::-webkit-details-marker{display:none}.danger-zone[open] summary{margin-bottom:8px}.danger-zone .row-btns{margin-top:10px}.acct-sent{align-items:center;text-align:center;padding:8px 0}.acct-sent .acct-icon{background:color-mix(in srgb,var(--good) 14%,var(--panel));color:var(--good);width:60px;height:60px;border-radius:50%;animation:badge-pop .45s cubic-bezier(.34,1.56,.64,1)}.choice-grid:has(.letter){grid-template-columns:repeat(var(--n, 4),minmax(0,1fr));max-width:calc(var(--n, 4) * 84px)}.stat.card:disabled{opacity:1;cursor:default}.stat.card:disabled .stat-num{color:var(--muted)}.stat-num .na{margin:0;font-size:16px;font-weight:600;color:var(--muted);letter-spacing:0;line-height:1.6}.stat-row .stat{min-height:96px;justify-content:flex-start}.stat .minibar{margin-top:auto}.big-num.zero{color:var(--muted)}.acol{background:color-mix(in srgb,var(--panel-2) 70%,transparent)}.activity{position:relative}.activity.none:after{content:"No practice yet. Each day you study shows up here.";position:absolute;inset:0 0 20px;display:grid;place-items:center;text-align:center;padding:0 20px;font-size:13px;color:var(--muted)}.activity.none .acol{opacity:.5}main:not(.wide){box-sizing:border-box;padding-bottom:0;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}main:not(.wide)>.legal-footer{margin-top:auto}main:not(.wide)>.view-enter{margin-bottom:24px}.tpct .na{font-size:12px;font-weight:600;color:var(--muted)}.side-legal{margin-top:auto;padding:12px 4px 10px;color:var(--muted);line-height:1.4;font-size:12px}.side-legal p{margin:0 0 4px}.side-legal .legal-links{display:flex;gap:10px}.side-legal .link{padding:0;border:0;background:none;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:2px}.side-legal .link:hover{color:var(--accent)}.side-legal+.side-stats{margin-top:0}.legal-footer{display:none}@media(max-width:900px){.side-legal{display:none}.legal-footer{display:flex}}:root{color-scheme:light;--chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2366707f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3abb8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}}select{appearance:none;-webkit-appearance:none;background-image:var(--chev);background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:32px;cursor:pointer}option{background:var(--panel);color:var(--ink)}select.subject{width:100%;padding:10px 36px 10px 14px;border-radius:12px;font:700 16px var(--display);letter-spacing:-.01em;color:var(--accent);background-color:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);background-position:right 12px center;transition:border-color .15s,box-shadow .15s}select.subject option{font:500 15px system-ui,sans-serif;color:var(--ink)}@media(max-width:900px){select.subject{width:auto;padding:7px 32px 7px 12px;font-size:15px}}:root,.app{--ctl-bg: var(--panel);--ctl-line: var(--line);--ctl-hover: color-mix(in srgb, var(--accent) 50%, var(--line));--ctl-on-bg: var(--accent-soft);--ctl-on-line: color-mix(in srgb, var(--accent) 55%, transparent);--ctl-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}select,select.subject{background-color:var(--ctl-bg);border:1px solid var(--ctl-line);border-radius:10px;transition:border-color .15s,box-shadow .15s,background-color .15s}select:hover,select.subject:hover{border-color:var(--ctl-hover)}select:focus,select.subject:focus{border-color:var(--accent);box-shadow:var(--ctl-ring);outline:none}select.subject{color:var(--accent)}.tag,.chip,.chip-btn,.chip-wrap .chip-btn{display:inline-flex;align-items:center;gap:4px;border-radius:99px;border:1px solid transparent;background:color-mix(in srgb,var(--ink) 6%,var(--panel));color:var(--muted);font-weight:500;line-height:1.3;box-shadow:none;transition:background-color .15s,border-color .15s,color .15s,transform .1s}.tag{font-size:11px;padding:1px 8px}.chip,.chip-btn,.chip-wrap .chip-btn{font-size:13px;padding:4px 11px}.chip-btn:hover:not(.on){background:color-mix(in srgb,var(--accent) 10%,color-mix(in srgb,var(--ink) 6%,var(--panel)));color:var(--ink)}.chip,.chip-btn.on,.chip-wrap .chip-btn.on{background:var(--ctl-on-bg);border-color:transparent;color:var(--accent)}.chip-btn.on{animation:pop-sm .25s var(--ease-out)}.chip-btn:focus-visible{outline:none;box-shadow:var(--ctl-ring)}input[type=checkbox],input[type=radio]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;flex:none;cursor:pointer;display:inline-grid;place-content:center;padding:0;background:var(--ctl-bg);border:1.5px solid var(--ctl-line);border-radius:6px;transition:background-color .15s,border-color .15s,box-shadow .15s}input[type=radio]{border-radius:50%}input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--ctl-hover)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:none;box-shadow:var(--ctl-ring)}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--ctl-on-bg);border-color:var(--accent)}input[type=checkbox]:after{border-color:var(--accent);transform:rotate(45deg) translate(-1px,-1px) scale(0);opacity:1;transition:transform .2s var(--ease-out)}input[type=checkbox]:checked:after{transform:rotate(45deg) translate(-1px,-1px) scale(1)}input[type=radio]:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .2s var(--ease-out)}input[type=radio]:checked:after{transform:scale(1)}.check{cursor:pointer;gap:8px}.award button{border-radius:99px;min-width:40px;justify-content:center;background:var(--ctl-bg);border-color:var(--ctl-line)}.award button.active{background:var(--ctl-on-bg);border-color:var(--ctl-on-line);color:var(--accent);font-weight:600;animation:pop-sm .25s var(--ease-out)}@keyframes pop-sm{50%{transform:scale(1.06)}}.formats{gap:16px;margin:20px 0 16px}.format{gap:14px;padding:20px;animation:rise .35s var(--ease-out) backwards;animation-delay:calc(var(--i, 0) * 70ms);transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),border-color .2s}.format:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--ctl-hover)}.format-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.format-head h2{font-family:var(--display);font-size:20px;font-weight:750;letter-spacing:-.02em}.format-time{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--accent);background:var(--ctl-on-bg);border:1px solid var(--ctl-on-line);border-radius:99px;padding:3px 10px}.fstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.fstats div{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.fstats dt{font-size:12px;color:var(--muted)}.fstats dd{margin:2px 0 0;font:750 18px var(--display);letter-spacing:-.02em}.frules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.frules li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--muted);line-height:1.4}.frules .icon{color:var(--accent);margin-top:1px}.format button.primary{margin-top:auto;align-self:stretch;justify-content:center;padding:10px 14px}.exam-opts{display:flex;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-bottom:28px}.section-title{font-family:var(--display);font-size:18px;letter-spacing:-.01em;margin:8px 0 10px}.exam-bar{overflow:hidden;padding:12px 16px 14px}.exam-bar .clock{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);letter-spacing:-.02em}.exam-bar .clock .icon{color:var(--accent)}.exam-bar.urgent .clock .icon{color:var(--bad)}.exam-bar button.on{background:var(--ctl-on-bg);border-color:var(--ctl-on-line);color:var(--accent)}.exam-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform-origin:left;transform:scaleX(var(--used, 0));transition:transform 1s linear}.exam-bar.urgent .exam-progress{background:var(--bad)}.exam-bar.planning .exam-progress{background:var(--ok)}.exam-jump{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px}.exam-jump a{min-width:32px;height:32px;padding:0 8px;display:grid;place-items:center;border-radius:99px;border:1px solid var(--ctl-line);background:var(--ctl-bg);color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;text-decoration:none;transition:border-color .15s,color .15s,background-color .15s}.exam-jump a:hover{border-color:var(--ctl-on-line);background:var(--ctl-on-bg);color:var(--accent)}.exam-q{scroll-margin-top:96px;animation:rise .3s var(--ease-out) backwards}.exam-q h3{display:flex;align-items:baseline;gap:10px;font-family:var(--display);letter-spacing:-.01em}.danger-link{color:var(--bad);gap:4px}.exam-result .result-head{padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.big-score{animation:pop .5s var(--ease-out)}@media(max-width:600px){.fstats dd{font-size:16px}.exam-bar .clock{margin-left:0}}@media print{.exam-jump,.exam-progress{display:none!important}}.qitem{content-visibility:auto;contain-intrinsic-size:auto 64px}@media(prefers-reduced-motion:reduce){.icon,.format,.exam-q,.big-score,.chip-btn.on,.award button.active{animation:none!important;transition:none!important}:is(button,a,summary,label):hover>.icon{transform:none!important}.format:hover{transform:none}}.practice{transition:grid-template-columns .35s var(--ease-out)}.qlist{overflow:hidden;transition:opacity .25s,transform .35s var(--ease-out),visibility .35s}.qlist>*{min-width:380px}.sort-select{width:100%}.flabel .muted{font-weight:400}@media(max-width:900px){.qlist>*{min-width:0}.practice{transition:none}}@media(prefers-reduced-motion:reduce){.practice,.qlist{transition:none}}.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 14px 10px}.active-filters .removable{font-size:12px;padding:3px 6px 3px 10px;gap:2px}.active-filters .removable .icon{opacity:.7}.active-filters .removable:hover .icon{opacity:1}.saved-mark,.save-btn.on{color:var(--accent)}.daily{display:flex;flex-direction:column;align-items:stretch;gap:7px;width:100%;margin:0 0 8px;padding:10px 12px;border-radius:12px;background:var(--panel-2);border:1px solid transparent;text-align:left;font-size:13px}.daily:hover{border-color:var(--ctl-hover)}.daily-top{display:flex;justify-content:space-between;align-items:center}.daily-top b{font-weight:700}.streak{display:inline-flex;align-items:center;gap:2px;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}.streak.on{color:#ea580c}.daily-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden}.daily-bar span{display:block;height:100%;background:var(--accent);border-radius:inherit;transform-origin:left;transition:transform .5s var(--ease-out)}.daily.met .daily-bar span{background:var(--good)}.daily.met .daily-top b{color:var(--good)}.daily+.side-stats{margin-top:0}@media(max-width:900px){.daily{display:none}}.shortcuts{display:grid;gap:18px}.shortcuts h3{margin:0 0 8px;font-size:14px;color:var(--muted);font-weight:600}.shortcuts dl{margin:0;display:grid;gap:6px}.shortcuts dl div{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.shortcuts dt{white-space:nowrap}.shortcuts dd{margin:0;color:var(--ink);font-size:14px;text-align:right}.shortcuts kbd{font-size:12px;opacity:1;padding:2px 7px;border-radius:6px;border:1px solid var(--line);background:var(--panel-2);box-shadow:0 1px 0 var(--line)}@media(hover:none){.hide-touch{display:none!important}}.toolbar .btn-soft{white-space:nowrap;flex-shrink:0}.toolbar{container-type:inline-size}@container (max-width: 440px){.toolbar .hide-sm{display:none}}.qitem-hint{display:block;margin:-2px 0 6px;font-family:Cascadia Mono,Consolas,monospace;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:600px){.rich pre.code{font-size:12px;line-height:1.35;padding:8px 10px;gap:10px;margin:8px 0}.content{font-size:16px;line-height:1.55}}.head-btn{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:4px 8px;border:none;background:none;color:var(--muted);font-size:10.5px;border-radius:10px}.head-btn:hover{color:var(--ink);background:var(--panel-2)}.resume-toast{position:fixed;right:20px;bottom:20px;z-index:30;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(420px,calc(100vw - 32px));padding:12px 8px 12px 16px;border-radius:14px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-lg);color:var(--ink);font-size:14px;animation:toast-in .35s var(--ease-out) both}.resume-toast>svg{flex-shrink:0;color:var(--accent)}.resume-toast>span{flex:1;min-width:0;line-height:1.35}.resume-toast .link{flex-shrink:0;padding:6px 10px;border-radius:8px;white-space:nowrap;color:var(--accent)}.resume-toast .link:hover{background:var(--accent-soft)}.resume-toast .icon-btn{flex-shrink:0;border:0;background:transparent}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@media(max-width:900px){.resume-toast{left:16px;right:16px;width:auto;max-width:none;bottom:calc(76px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.resume-toast{animation:none}}.ascii-sky{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;color:var(--ink);opacity:.06}.app{overflow-x:clip}.app>:not(.ascii-sky):not(.sidebar):not(.modal-back):not(.room-float-layer){position:relative;z-index:1}.app>.sidebar{z-index:2}@media(max-width:900px){.app>.sidebar{z-index:10}}@media(max-width:900px){main{width:100%;box-sizing:border-box}}.stat-row{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}@media(max-width:600px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.content .opt{cursor:pointer;margin:4px -10px;padding:6px 10px;border-radius:10px;border:1px solid transparent;transition:background-color .15s,border-color .15s}.content .opt:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.content .opt.picked{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.content.locked .opt{cursor:default}.content.locked .opt:hover:not(.picked){background:none}.date-field{position:relative;display:inline-flex;align-items:center;gap:2px}.date-field>input{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none}.welcome{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-bottom:14px}.welcome>svg{flex-shrink:0;color:var(--accent)}.welcome>div{flex:1}.welcome p{margin:4px 0 0}@media(max-width:600px){.welcome{flex-wrap:wrap}.welcome .primary{width:100%;justify-content:center}}.q-foot{justify-content:flex-start;margin-top:16px}.qitems-more{padding:12px;text-align:center}.room[data-subject]{--accent: oklch(.47 .16 var(--h));--accent-soft: oklch(.95 .035 var(--h));--tint: oklch(.97 .02 var(--h))}@media(prefers-color-scheme:dark){.room[data-subject]{--accent: oklch(.78 .13 var(--h));--accent-soft: oklch(.3 .06 var(--h));--tint: oklch(.22 .03 var(--h))}}.together{display:flex;flex-direction:column;gap:16px}.together .page-title{margin-bottom:4px}.tg-intro{padding:22px;max-width:620px}.tg-intro-copy{display:flex;flex-direction:column;gap:14px}.tg-intro-copy p{margin:0;line-height:1.5}.tg-lede{font-size:17px;text-wrap:pretty}.tg-setup{padding:20px;max-width:460px;display:flex;flex-direction:column;gap:8px}.tg-setup p,.tg-handle-form p{margin:0}.tg-handle-form{display:flex;flex-direction:column;gap:8px}.tg-handle-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding-left:12px;max-width:320px}.tg-handle-input:focus-within{border-color:var(--accent);box-shadow:var(--ctl-ring)}.tg-handle-input span{color:var(--muted);font-weight:600}.tg-handle-input input{border:0;outline:0;background:none;padding:9px 12px 9px 2px;flex:1;min-width:0;font-weight:600}.tg-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tg-me{display:flex;align-items:center;gap:10px}.tg-me b{font-size:15px}.tg-edit{padding:16px 18px}.tg-avatar{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font:700 17px var(--display);text-transform:uppercase}.tg-avatar.small{width:30px;height:30px;border-radius:9px;font-size:14px;position:relative}.tg-avatar.on:after{content:"";position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border-radius:50%;background:var(--good);border:2px solid var(--panel)}.tg-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;align-items:start}.tg-col{display:flex;flex-direction:column;gap:10px;min-width:0}.tg-col-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;min-height:40px}.tg-col-head h2{margin:0;font:700 21px var(--display);letter-spacing:-.02em}.tg-sub{margin:10px 0 2px;font-size:14px;font-weight:650;display:flex;align-items:center;gap:8px}.tg-sub .badge{margin-left:0}.tg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tg-row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line);min-height:52px}.tg-row:last-child{border-bottom:0}.tg-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.tg-row-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.tg-none{padding:10px 2px}.tg-empty{padding:18px;border:1px dashed var(--line);border-radius:var(--radius)}.tg-empty p{margin:0 0 4px}.tg-subj{flex:none;display:inline-block;width:fit-content;font-size:12px;font-weight:700;padding:4px 8px;border-radius:8px;color:oklch(.42 .15 var(--h));background:oklch(.95 .035 var(--h));font-variant-numeric:tabular-nums}.tg-subj.big{font-size:14px;vertical-align:middle;margin-left:6px}@media(prefers-color-scheme:dark){.tg-subj{color:oklch(.82 .12 var(--h));background:oklch(.3 .06 var(--h))}}.tg-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--panel);color:var(--muted)}.tg-search:focus-within{border-color:var(--accent);box-shadow:var(--ctl-ring)}.tg-search input{border:0;outline:0;background:none;padding:10px 0;flex:1;min-width:0;color:var(--ink)}.tg-found{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0 12px}.tg-menu{position:relative}.tg-menu>summary{list-style:none;display:grid;place-items:center;cursor:pointer}.tg-menu>summary::-webkit-details-marker{display:none}.tg-menu-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:20;padding:6px;display:flex;flex-direction:column;gap:2px;min-width:170px;box-shadow:var(--shadow-lg)}.tg-menu-pop button{border:0;background:none;justify-content:flex-start}.tg-menu-pop button:hover{background:var(--panel-2)}.tg-report{padding:16px;display:flex;flex-direction:column;gap:10px}.tg-report fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.tg-report p{margin:0}.tg-blocked summary,.room-invite summary{cursor:pointer;color:var(--muted);font-size:14px;display:inline-flex;gap:6px;align-items:center;padding:6px 0}.room-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.room-head p{margin:0}.room-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}.room-people,.room-say,.room-exam-card{padding:16px 18px}.room-people>p{margin:8px 0 0}.room-tally{display:inline-flex;gap:10px;font-variant-numeric:tabular-nums;font-weight:600;font-size:14px}.room-tally span{display:inline-flex;align-items:center;gap:2px}.room-presets{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.room-presets button{min-height:40px;min-width:44px;justify-content:center}@keyframes feed-in{0%{opacity:0;transform:translateY(4px)}}.room-exam-card{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.room-exam-card p{margin:0}.room-formats{display:flex;flex-wrap:wrap;gap:10px}.room-formats button{flex-direction:column;align-items:flex-start;gap:2px;padding:12px 16px;min-width:170px}.room-count{align-items:center;text-align:center;padding:28px}.room-count .big-score{font-variant-numeric:tabular-nums}.room-paper .answer-box{margin-top:10px;padding:14px}.room-board{display:flex;flex-direction:column;gap:12px}.room-board p{margin:0}.room-rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.room-rank li{display:grid;grid-template-columns:34px 1fr auto 48px;align-items:center;gap:10px;padding:12px 16px}.room-rank li.me{border-color:var(--accent);background:var(--tint)}.room-place{font:800 20px var(--display);color:var(--accent);font-variant-numeric:tabular-nums}.room-score{font:700 20px var(--display);font-variant-numeric:tabular-nums}.room-rank li>:last-child{text-align:right;font-variant-numeric:tabular-nums}.room-compare-wrap{overflow-x:auto;border-radius:var(--radius)}.room-compare-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.room-compare th,.room-compare td{white-space:nowrap;font-variant-numeric:tabular-nums}.room-compare tbody th{text-align:left;font-weight:600}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.97)}}.room-float-layer{position:fixed;inset:0;z-index:60;pointer-events:none;overflow:hidden}.room-float{position:absolute;bottom:calc(-90px - var(--dy));display:flex;flex-direction:column;align-items:center;gap:4px;--sx: -140px;animation:float-up 3.4s cubic-bezier(.2,.7,.45,1) forwards;will-change:transform,opacity}.room-float.left{left:calc(16px + var(--dx))}.room-float.right{right:calc(16px + var(--dx));--sx: 140px}.room-float-msg{background:var(--panel);color:var(--ink);font-weight:700;font-size:17px;padding:10px 16px;border-radius:16px;box-shadow:var(--shadow-lg);white-space:nowrap}.room-float-img{width:112px;height:112px;display:block;filter:drop-shadow(0 4px 10px rgb(0 0 0 / .18))}.room-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));max-height:236px;overflow-y:auto;overscroll-behavior:contain;padding:2px}.room-presets button{padding:4px 6px;font-size:13px}.room-presets .room-sticker-btn{padding:2px;border-color:transparent;background:none}.room-presets .room-sticker-btn:hover{background:var(--panel-2)}.room-sticker-btn img{width:44px;height:44px;margin:0 auto;display:block}.room-float-who{font-size:12px;font-weight:650;color:var(--accent);background:var(--accent-soft);padding:2px 8px;border-radius:999px}@keyframes float-up{0%{opacity:1;transform:translate(var(--sx)) scale(.7) rotate(var(--tilt))}70%{opacity:1}to{opacity:0;transform:translateY(-62vh) scale(1.6) rotate(calc(var(--tilt) * -1))}}@media(prefers-reduced-motion:reduce){.room-float{bottom:calc(84px + var(--dy));animation:float-fade 2.6s linear forwards}}@keyframes float-fade{0%,75%{opacity:1}to{opacity:0}}@media(max-width:700px){.room-grid,.tg-cols{grid-template-columns:1fr}.room-rank li{grid-template-columns:28px 1fr auto}.room-rank li>:last-child{display:none}}.res.correct:hover,.res.partial:hover,.res.wrong:hover,.answer-input.ok,.answer-input.bad,.choice.right,.choice.wrongc,.choice-grid .choice.sel,.choice-grid .choice.right,.choice-grid .choice.wrongc,.mistake-note,.answer-box.solved,select.subject,.award button.active,.format-time,.exam-bar button.on,.exam-jump a:hover,.content .opt.picked,.room-rank li.me,.daily:hover,.choice-grid .choice.letter.sel,.choice-grid .choice.letter.right,.choice-grid .choice.letter.wrongc,.primary,.primary:hover{border-color:transparent}.answer-input.ok{background:color-mix(in srgb,var(--good) 13%,var(--panel))}.answer-input.bad{background:color-mix(in srgb,var(--bad) 12%,var(--panel))}.daily:hover{background:color-mix(in srgb,var(--accent) 8%,var(--panel-2))}
