@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff");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}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff");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{--font-mono: "JetBrains Mono", "Cascadia Code", Consolas, "Fira Mono", monospace;--text-caption: .8125rem;--text-body: 1rem;--text-heading: 1.25rem;--text-title: 1.5rem;--leading-prose: 1.6;--leading-code: 1.4;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-small: 2px;--radius-panel: 4px}:root[data-theme=matrix]{color-scheme:dark;--color-bg: #0a0f0a;--color-surface: #111a12;--color-border: #487552;--color-text: #b7f5c4;--color-accent: #46ff7e;--color-phosphor: #00ff41;--color-dim: #58a46c;--color-note: #86cf9a;--color-warn: #ffb020;--color-error: #ff6b5e;--color-focus: #46ff7e;--glow-title: 0 0 12px rgba(70, 255, 126, .35);--rain-opacity: .14;--cm-comment: #ff9e42;--cm-string: #ff86b5;--cm-keyword: #cf9bef;--cm-function: #5ce08f;--cm-def: #7cc6ff;--cm-variable: var(--color-text);--cm-number: #ffcf7a;--cm-operator: var(--color-text);--color-star: #ffd447}:root[data-theme=contrast]{color-scheme:light;--color-bg: #f6f6f1;--color-surface: #fcfdf8;--color-border: #7f8981;--color-text: #141814;--color-accent: #106b2e;--color-phosphor: #106b2e;--color-dim: #5a6b5d;--color-note: var(--color-dim);--color-warn: #7a5300;--color-error: #a81e1e;--color-focus: #141814;--glow-title: none;--rain-opacity: 0;--cm-comment: #9a5200;--cm-string: #a11111;--cm-keyword: #6a1b9a;--cm-function: #0b6b2e;--cm-def: #0d47a1;--cm-variable: var(--color-text);--cm-number: #7a4b00;--cm-operator: var(--color-text);--color-star: #b8860b}html{height:100%}body{margin:0;min-height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-body);line-height:var(--leading-prose);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}#root{min-height:100vh;display:flex;flex-direction:column}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-small)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root[data-tool=questionnaire][data-theme=matrix]{color-scheme:dark;--color-bg: #0a1220;--color-surface: #14203a;--color-border: #5b7bb0;--color-text: #d6e4ff;--color-accent: #5aa2ff;--color-phosphor: #5aa2ff;--color-dim: #93accf;--color-note: #a9c2e6;--color-warn: #ffb020;--color-error: #ff6b5e;--color-focus: #5aa2ff;--glow-title: 0 0 12px rgba(90, 162, 255, .3);--rain-opacity: 0;--cm-comment: #ff9e42;--cm-string: #ff86b5;--cm-keyword: #cf9bef;--cm-function: #5ce08f;--cm-def: #7cc6ff;--cm-variable: var(--color-text);--cm-number: #ffcf7a;--cm-operator: var(--color-text);--color-star: #ffd447}:root[data-tool=questionnaire][data-theme=contrast]{color-scheme:light;--color-bg: #eef3fc;--color-surface: #ffffff;--color-border: #6a82a8;--color-text: #0e1c33;--color-accent: #1560c0;--color-phosphor: #1560c0;--color-dim: #45566f;--color-note: #45566f;--color-warn: #7a5300;--color-error: #a81e1e;--color-focus: #0e1c33;--glow-title: none;--rain-opacity: 0;--cm-comment: #9a5200;--cm-string: #a11111;--cm-keyword: #6a1b9a;--cm-function: #0b6b2e;--cm-def: #0d47a1;--cm-variable: var(--color-text);--cm-number: #7a4b00;--cm-operator: var(--color-text);--color-star: #b8860b}.theme-controls{display:flex;align-items:center;gap:var(--space-3)}.font-control{display:flex;align-items:center;gap:var(--space-1)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;font-family:var(--font-mono);font-size:var(--text-body);line-height:1;color:var(--color-text);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-small);cursor:pointer}.icon-button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.icon-button:disabled{color:var(--color-dim);cursor:not-allowed}.font-reset{min-width:2.75rem;height:1.75rem;padding:0 var(--space-2);font-family:var(--font-mono);font-size:var(--text-caption);line-height:1;color:var(--color-text);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-small);cursor:pointer}.font-reset:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.font-reset:disabled{color:var(--color-dim);cursor:default}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rain{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:var(--rain-opacity);pointer-events:none;z-index:0}.gate{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-5);overflow:hidden}.gate-panel{position:relative;z-index:1;width:min(28rem,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-6)}.gate-title{margin:0 0 var(--space-5);font-size:var(--text-title);font-weight:700;color:var(--color-accent);text-shadow:var(--glow-title);text-wrap:balance}.gate-form{display:flex;flex-direction:column;gap:var(--space-3)}.gate-label{font-size:var(--text-body)}.gate-input{font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-2) var(--space-3);caret-color:var(--color-accent)}.gate-input:focus-visible{border-color:var(--color-accent)}.gate-invalid{margin:0;font-size:var(--text-caption);color:var(--color-error)}.gate-submit{align-self:flex-start;font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-accent);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-small);padding:var(--space-2) var(--space-4);cursor:pointer;transition:background-color .18s cubic-bezier(.25,1,.5,1)}.gate-submit:hover:not(:disabled){background:var(--color-surface)}.gate-submit:disabled{color:var(--color-dim);border-color:var(--color-dim);cursor:wait}.gate-error-panel{display:flex;flex-direction:column;gap:var(--space-3)}.gate-error-text{margin:0;color:var(--color-warn)}.gate-topbar{position:absolute;top:var(--space-3);right:var(--space-4);z-index:1}.gate-copyright{position:absolute;bottom:var(--space-3);right:var(--space-4);z-index:1;margin:0;color:var(--color-dim);font-size:var(--text-caption)}.star-icon{display:inline-block}.star-filled{fill:var(--color-star);stroke:none}.star-empty{fill:none;stroke:var(--color-dim);stroke-width:1.5}.question-circle{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);font-family:var(--font-mono);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);cursor:pointer;transition:border-color .16s cubic-bezier(.25,1,.5,1)}.question-circle:hover{border-color:var(--color-accent)}.question-circle-disc{width:4.5rem;height:4.5rem;display:block}.wedge-done{fill:var(--color-accent);stroke:none;transition:fill .16s linear}.disc-rim{fill:none;stroke:var(--color-border);stroke-width:2}.disc-divider{stroke:var(--color-border);stroke-width:2}.question-circle-number{font-size:var(--text-body);color:var(--color-text);line-height:1}.question-circle[data-next]{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.circle-stars{display:flex;gap:4px;height:.6rem}.star-bank{display:inline-flex;gap:1px}.star-tiny{width:.55rem;height:.55rem}.category-section{margin-bottom:var(--space-7)}.category-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.category-toggle{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;padding:0;color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);cursor:pointer}.category-toggle-glyph{font-size:var(--text-heading);line-height:1}.category-title{margin:0;font-size:var(--text-heading);font-weight:700;color:var(--color-text)}.category-count{font-size:var(--text-caption);color:var(--color-dim)}.category-circles{display:flex;flex-wrap:wrap;gap:var(--space-3)}.pinned-name{max-width:min(70vw,26rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-caption);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-1) var(--space-2)}.pinned-name-label{color:var(--color-dim)}.pinned-name-value{color:var(--color-accent)}.save-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0000008c}.save-modal{width:min(34rem,100%);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);padding:var(--space-5)}.save-modal-title{margin:0 0 var(--space-3);font-size:var(--text-heading);color:var(--color-accent)}.save-code{margin:0 0 var(--space-3);padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-small);font-family:var(--font-mono);font-size:var(--text-body);line-height:var(--leading-code);letter-spacing:.08em;white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all}.save-keep-safe,.save-instruction{margin:0 0 var(--space-4);font-size:var(--text-caption);color:var(--color-dim)}.save-paste{width:100%;box-sizing:border-box;margin-bottom:var(--space-3);font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-3);resize:vertical;letter-spacing:.08em}.save-error{margin:0 0 var(--space-3);color:var(--color-error);font-size:var(--text-caption)}.save-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.rename-page{min-height:100vh;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:var(--space-5) var(--space-4);background:var(--color-bg)}.rename-topbar{width:min(34rem,100%);display:flex;justify-content:flex-end;margin-bottom:var(--space-4)}.rename-card{margin-top:var(--space-4)}.rename-tool-tag{margin:0 0 var(--space-2);font-size:var(--text-caption);color:var(--color-dim);letter-spacing:.06em}.rename-step{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.rename-field-label{display:block;margin:0 0 var(--space-2);font-size:var(--text-caption);color:var(--color-text)}.rename-current-name{margin:0 0 var(--space-3);color:var(--color-accent);font-size:var(--text-body)}.grid{flex:1;display:flex;flex-direction:column}.grid-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-5);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.grid-header-left{min-width:0}.grid-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.grid-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3)}.grid-title{margin:0;font-size:var(--text-heading);font-weight:700;color:var(--color-accent);text-shadow:var(--glow-title)}.grid-progress{margin:var(--space-1) 0 0;font-size:var(--text-caption);color:var(--color-dim)}.grid-header-action{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-1) var(--space-3);cursor:pointer}.grid-header-action:disabled{color:var(--color-dim);cursor:not-allowed}.grid-main{flex:1;padding:var(--space-6) var(--space-5)}.grid-status{padding:var(--space-6) var(--space-5);color:var(--color-dim)}.grid-retry{margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-accent);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-small);padding:var(--space-2) var(--space-4);cursor:pointer}.part-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);margin:0 0 var(--space-3);flex-wrap:wrap}.part-tab{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-dim);background:transparent;border:1px solid transparent;border-bottom:3px solid transparent;border-radius:var(--radius-small) var(--radius-small) 0 0;padding:var(--space-2) var(--space-4);margin-bottom:-1px;cursor:pointer}.part-tab-complete,.part-tab-unlocked{color:var(--color-text)}.part-tab-locked{color:var(--color-dim);cursor:not-allowed;opacity:.65}.part-tab:disabled{cursor:not-allowed}.part-tab:hover:not(:disabled):not([aria-selected=true]){border-color:var(--color-border);border-bottom-color:transparent}.part-tab[aria-selected=true]{color:var(--color-accent);background:var(--color-surface);border-color:var(--color-border);border-bottom-color:var(--color-accent);font-weight:700}.part-tab-tick{color:var(--color-accent)}.part-tab-lock{font-size:var(--text-caption)}.code-editor{border:1px solid var(--color-border);border-radius:var(--radius-small);overflow:hidden}.code-editor .cm-editor{font-family:var(--font-mono);font-size:var(--text-body);background:var(--color-bg);color:var(--color-text);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.code-editor .cm-editor.cm-focused{outline:2px solid var(--color-focus);outline-offset:-2px}.code-editor .cm-scroller{font-family:var(--font-mono);line-height:var(--leading-code)}.code-editor .cm-gutters{background:var(--color-surface);color:var(--color-dim);border-right:1px solid var(--color-border)}.code-editor .cm-activeLineGutter,.code-editor .cm-activeLine{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.code-editor .cm-cursor{border-left-color:var(--color-accent)}.code-editor .cm-selectionBackground,.code-editor .cm-content ::selection{background:color-mix(in srgb,var(--color-accent) 25%,transparent)!important}.feedback-strip{margin:var(--space-3) 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);font-size:var(--text-body);line-height:var(--leading-prose)}.feedback-strip-pass{border-left-color:var(--color-accent);color:var(--color-accent)}.feedback-strip-fail{border-left-color:var(--color-warn);color:var(--color-text)}.files-note{margin:0 0 var(--space-2);color:var(--color-dim);font-size:var(--text-caption);line-height:var(--leading-prose)}.files-empty{margin:0;color:var(--color-dim);font-size:var(--text-caption)}.files-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.files-item{border:1px solid var(--color-border);border-radius:var(--radius-small);overflow:hidden}.files-item-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.files-name{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-accent);overflow-wrap:anywhere}.files-download{flex:0 0 auto;font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-dim);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-small);padding:0 var(--space-2);cursor:pointer}.files-download:hover{color:var(--color-text);border-color:var(--color-text)}.files-content{margin:0;padding:var(--space-2);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--leading-code);white-space:pre-wrap;overflow-wrap:anywhere}.files-content-empty{color:var(--color-dim);font-style:italic}.part-instruction{margin:0;font-size:var(--text-body);white-space:pre-wrap}.predict-options{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.predict-option{display:flex;align-items:baseline;gap:var(--space-3);cursor:pointer}.predict-option-text{font-family:var(--font-mono)}.predict-typed{width:100%;box-sizing:border-box;font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-3);resize:vertical}.run-console{margin-top:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-bg)}.run-console-scroll{max-height:16rem;overflow-y:auto;padding:var(--space-3)}.run-console-log{margin:0;font-family:var(--font-mono);font-size:var(--text-body);line-height:var(--leading-code);white-space:pre-wrap;word-break:break-word}.run-line{white-space:pre-wrap}.run-line-out{color:var(--color-text)}.run-line-err{color:var(--color-error)}.run-line-sys{color:var(--color-dim)}.run-line-in{color:var(--color-accent)}.run-console-input{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.run-console-prompt{color:var(--color-accent)}.run-console-field{flex:1;font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-1) var(--space-2)}.run-console-submit{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-accent);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-small);padding:var(--space-1) var(--space-3);cursor:pointer}.success-criteria{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.criterion{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-body)}.criterion-box{flex:0 0 auto;width:1em;height:1em;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-dim);border-radius:var(--radius-small);color:var(--color-bg);background:transparent;font-size:.85em;line-height:1;transform:translateY(.1em)}.criterion-met .criterion-box{border-color:var(--color-accent);background:var(--color-accent)}.criterion-unmet .criterion-label{color:var(--color-dim)}.criterion-met .criterion-label{color:var(--color-text)}.review-note{margin:0 0 var(--space-3);color:var(--color-dim);font-size:var(--text-caption)}.part-prompt{margin:0 0 var(--space-3);font-size:var(--text-body)}.part-teaching-note{margin:0;padding-left:var(--space-3);border-left:2px solid var(--color-border);color:var(--color-note);font-size:var(--text-caption)}.part-teaching-note p{margin:0 0 var(--space-1)}.part-teaching-note p:last-child{margin-bottom:0}.expected-output{margin-bottom:var(--space-3)}.expected-output-label{display:block;color:var(--color-dim);font-size:var(--text-caption);margin-bottom:var(--space-1)}.expected-output-block{margin:0;padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-small);font-family:var(--font-mono);line-height:var(--leading-code);white-space:pre-wrap}.engine-error{color:var(--color-error);font-size:var(--text-caption);margin:0}.well-done{margin:0;color:var(--color-accent);font-size:var(--text-body)}.nav-button{color:var(--color-accent);background:var(--color-bg);border-color:var(--color-accent)}.nav-button:hover:not(:disabled){background:var(--color-surface)}.nav-button-primary{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent)}.part-actions{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.action-button{font-family:var(--font-mono);font-size:var(--text-body);line-height:1.2;min-height:2.4rem;padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius-small);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.run-button{color:var(--color-accent);background:var(--color-bg);border-color:var(--color-accent)}.run-button:hover:not(:disabled){background:var(--color-surface)}.run-button:disabled{color:var(--color-dim);border-color:var(--color-dim);cursor:wait}.run-button-stop{color:var(--color-warn);border-color:var(--color-warn)}.validate-button{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent)}.validate-button:disabled{color:var(--color-dim);background:transparent;border-color:var(--color-dim);cursor:wait}.restore-button{color:var(--color-dim);background:transparent;border-color:transparent;text-decoration:underline}.restore-button:disabled{opacity:.6;cursor:not-allowed}.error-types-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0000008c}.error-types{width:min(34rem,100%);max-height:85vh;overflow-y:auto;padding:var(--space-5);border:1px solid var(--color-accent);border-radius:var(--radius-panel);background:var(--color-surface)}.error-types-title{margin:0 0 var(--space-2);font-size:var(--text-heading);color:var(--color-accent)}.error-types-intro{margin:0 0 var(--space-4);font-size:var(--text-body);color:var(--color-text)}.error-types-list{margin:0 0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.error-types-row{display:flex;flex-direction:column;gap:var(--space-1)}.error-types-name{margin:0;font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-accent)}.error-types-meaning{margin:0;font-size:var(--text-caption);line-height:var(--leading-prose);color:var(--color-text)}.error-types-actions{display:flex;justify-content:flex-end}.error-types-button{flex:0 0 auto;font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-accent);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-1) var(--space-3);cursor:pointer}.error-types-button:hover{border-color:var(--color-accent)}.star-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0000008c}.star-popup{position:relative;width:min(28rem,100%);border:1px solid var(--color-accent);border-radius:var(--radius-panel);background:var(--color-surface);overflow:hidden}.confetti-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.star-popup-inner{position:relative;padding:var(--space-5);text-align:center}.star-popup-stars{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-3)}.star-slot{display:inline-flex;transform:scale(0);animation:star-pop .36s cubic-bezier(.2,1.4,.5,1) forwards}@keyframes star-pop{to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.star-slot{animation:none;transform:scale(1)}}.star-large{width:3rem;height:3rem}.star-popup-heading{margin:0 0 var(--space-2);font-size:var(--text-heading);color:var(--color-accent)}.star-popup-perfect{margin:0 0 var(--space-3);color:var(--color-star);font-size:var(--text-body)}.star-popup-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-4)}.question-view{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.question-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-border)}.question-header-right{display:flex;align-items:center;gap:var(--space-4)}.question-back{font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-accent);background:transparent;border:1px solid transparent;border-radius:var(--radius-small);padding:var(--space-1) var(--space-3);cursor:pointer}.question-back:hover{border-color:var(--color-border)}.question-briefing{flex:0 0 auto;display:flex;align-items:baseline;gap:var(--space-4);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-border);max-height:22vh;overflow-y:auto}.question-title{flex:0 0 auto;display:inline-flex;align-items:baseline;gap:var(--space-2);margin:0;font-size:var(--text-heading);color:var(--color-accent);text-shadow:var(--glow-title)}.question-number{flex:0 0 auto;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-small);font-size:var(--text-body);color:var(--color-text);text-shadow:none}.briefing-text{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.briefing-label{flex:0 0 auto;color:var(--color-dim);font-size:var(--text-caption);text-transform:lowercase;letter-spacing:.05em}.briefing-body{margin:0;font-size:var(--text-body);line-height:var(--leading-prose)}.briefing-body p{margin:0 0 var(--space-1)}.briefing-body p:last-child{margin-bottom:0}.briefing-body ul{margin:var(--space-1) 0;padding-left:var(--space-5)}.briefing-body li{margin:0}.question-status{padding:var(--space-5)}.question-retry{font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-accent);background:transparent;border:1px solid var(--color-accent);border-radius:var(--radius-small);padding:var(--space-2) var(--space-4);cursor:pointer}.question-body{flex:1 1 auto;min-height:0;display:flex;padding:var(--space-3) var(--space-5) var(--space-4)}.part-grid{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column;gap:var(--space-3)}.part-row{display:flex;gap:var(--space-3);min-height:0}.part-row-top,.part-row-python,.part-row-answer{flex:1 1 0}.part-footer{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--space-2)}.qpanel.panel-files{flex:.6 1 0}.qpanel{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);overflow:hidden}.qpanel-header{flex:0 0 auto;padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:var(--text-caption);font-weight:700;letter-spacing:.04em}.qpanel-body{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--space-3)}.qpanel-body-flush{padding:0;overflow:hidden}.panel-code .code-editor{height:100%;border:none;border-radius:0;display:flex;flex-direction:column;min-height:0}.panel-code .code-editor-mount{flex:1 1 auto;min-height:0}.panel-code .cm-editor{height:100%}.panel-terminal .run-console{height:100%;margin:0;border:none;border-radius:0;background:transparent;display:flex;flex-direction:column}.panel-terminal .run-console-scroll{flex:1 1 auto;max-height:none}.sandbox-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.sandbox-action{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-1) var(--space-3);cursor:pointer}.sandbox-action:hover{border-color:var(--color-accent)}.sandbox-intro{color:var(--color-dim);font-size:var(--text-caption)}.sandbox-run-hint{margin:0;color:var(--color-dim);font-size:var(--text-caption)}.save-code-long{max-height:40vh;overflow:auto;font-size:var(--text-caption);letter-spacing:.06em}.shell{flex:1;display:flex;flex-direction:column}.sandbox-header{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.sandbox-back{font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-accent);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-1) var(--space-3);cursor:pointer}.sandbox-back:hover{border-color:var(--color-accent)}.sandbox-main{flex:1;padding:var(--space-5);max-width:60rem;width:100%}.quiz-code-input{text-transform:uppercase;letter-spacing:.35em;text-align:center;font-size:var(--text-heading);padding-right:calc(var(--space-3) - .35em)}.quiz-code-input::placeholder{letter-spacing:normal;text-transform:none;color:var(--color-dim)}.quiz-gate-actions{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;margin-top:var(--space-2)}.quiz-gate-back{font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-dim);background:transparent;border:none;padding:var(--space-2);cursor:pointer}.quiz-gate-back:hover:not(:disabled){color:var(--color-text)}.quiz-resume{margin-top:var(--space-5);border-top:1px solid var(--color-border);padding-top:var(--space-4)}.quiz-resume-summary{color:var(--color-dim);cursor:pointer;font-size:var(--text-caption);list-style-position:inside}.quiz-resume-summary:hover{color:var(--color-text)}.quiz-resume-form{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.quiz-resume-instruction{margin:0;color:var(--color-dim);font-size:var(--text-caption)}.grid-header-finish{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent)}.grid-header-finish:hover:not(:disabled){background:var(--color-text);border-color:var(--color-text)}.quiz-progress{margin:0;padding:var(--space-3) var(--space-5) 0;color:var(--color-dim);font-size:var(--text-caption)}.quiz-grid-main{padding-top:var(--space-3)}.quiz-grid-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--space-5) var(--space-4);align-items:start}.quiz-grid-cell{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.quiz-cell-caption{display:flex;flex-direction:column;gap:var(--space-1);max-width:12rem}.quiz-cell-title{color:var(--color-text);font-size:var(--text-caption);line-height:1.3;text-wrap:balance}.quiz-cell-marks{color:var(--color-dim);font-size:var(--text-caption)}.quiz-briefing{min-height:0}.quiz-total-marks{margin-left:var(--space-3);color:var(--color-dim);font-size:var(--text-heading);white-space:nowrap}.quiz-part-marks{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-heading);color:var(--color-text)}.quiz-marks{color:var(--color-dim);font-size:var(--text-body);white-space:nowrap}.quiz-record-status{min-height:1.4rem;flex:1 1 auto}.quiz-record-message{font-size:var(--text-body)}.quiz-record-info{color:var(--color-accent)}.quiz-record-error{color:var(--color-error)}.record-button{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent);min-width:7rem}.record-button:hover:not(:disabled){background:var(--color-text);border-color:var(--color-text)}.record-button:disabled{color:var(--color-dim);background:transparent;border-color:var(--color-dim);cursor:not-allowed}.record-button[data-status=recorded]{background:var(--color-surface);color:var(--color-accent)}.quiz-submit-count{margin:0 0 var(--space-3);color:var(--color-text)}.quiz-submit-incomplete{color:var(--color-warn)}.quiz-submit-warning{margin:0 0 var(--space-4);color:var(--color-warn);font-size:var(--text-heading);text-wrap:balance}.quiz-screen{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-5);box-sizing:border-box;position:relative}.quiz-screen-topbar{position:absolute;top:var(--space-4);right:var(--space-4);left:var(--space-4);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.quiz-screen-panel{width:min(32rem,100%);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);padding:var(--space-6) var(--space-5)}.quiz-screen-tool{margin:0;color:var(--color-dim);font-size:var(--text-caption);letter-spacing:.08em}.quiz-screen-title{margin:0;font-size:var(--text-title);color:var(--color-accent);text-shadow:var(--glow-title);text-wrap:balance}.quiz-screen-instruction{margin:0;color:var(--color-text);line-height:var(--leading-prose);max-width:30rem}.quiz-review-overall{margin:0;padding:var(--space-4) var(--space-5) 0;display:flex;flex-direction:column;gap:var(--space-1)}.quiz-review-result-label{margin:0;color:var(--color-dim);font-size:var(--text-caption);letter-spacing:.08em}.quiz-review-result-score{margin:0;font-size:var(--text-title);color:var(--color-accent);text-shadow:var(--glow-title)}.quiz-review-paper-comment{margin-top:var(--space-2);max-width:65ch}.quiz-review-cell-score{color:var(--color-text)}.review-qview{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.review-qview-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.review-answer-card{display:flex;flex-direction:column;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);padding:var(--space-4)}.review-answer-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.review-answer-label{margin:0;font-size:var(--text-heading);color:var(--color-text)}.review-answer-score{font-size:var(--text-heading);color:var(--color-accent);white-space:nowrap}.review-answer-editor .cm-editor{max-height:24rem}.review-answer-pre{margin:0;padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text);font-size:var(--text-body);line-height:var(--leading-code);white-space:pre-wrap;overflow:auto;max-height:16rem}.review-answer-typed{margin:0;color:var(--color-text);font-size:var(--text-body)}.review-answer-none{margin:0;color:var(--color-dim);font-size:var(--text-body)}.review-answer-comment{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.quiz-review-comment-label{margin:0 0 var(--space-1);color:var(--color-dim);font-size:var(--text-caption)}.quiz-review-comment-text{margin:0;color:var(--color-text);font-size:var(--text-body);line-height:var(--leading-prose);white-space:pre-wrap}.teacher-screen{flex:1 1 auto;display:flex;flex-direction:column;min-height:100vh;box-sizing:border-box;background:var(--color-bg);color:var(--color-text)}.teacher-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-5);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.teacher-header-left{min-width:0}.teacher-title{margin:0;font-size:var(--text-heading);font-weight:700;color:var(--color-accent);text-shadow:var(--glow-title)}.teacher-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-caption);color:var(--color-dim)}.teacher-header-right{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3)}.teacher-main{flex:1 1 auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.teacher-gate-tool{margin:0;color:var(--color-dim);font-size:var(--text-caption);letter-spacing:.08em}.teacher-gate-instruction{margin:0 0 var(--space-2);color:var(--color-dim);font-size:var(--text-caption);line-height:var(--leading-prose)}.teacher-primary{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent)}.teacher-primary:hover:not(:disabled){background:var(--color-text);border-color:var(--color-text)}.teacher-link{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-accent);background:transparent;border:none;border-radius:var(--radius-small);padding:var(--space-1) var(--space-2);cursor:pointer;white-space:nowrap}.teacher-link:hover{text-decoration:underline}.teacher-reset{color:var(--color-error)}.teacher-danger{color:var(--color-bg);background:var(--color-error);border-color:var(--color-error)}.teacher-danger:hover:not(:disabled){background:var(--color-text);border-color:var(--color-text)}.teacher-link:focus-visible,.teacher-input:focus-visible,.teacher-swap:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.teacher-input{font-family:var(--font-mono);font-size:var(--text-body);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-2) var(--space-3);box-sizing:border-box}.teacher-inline-label{font-size:var(--text-caption);color:var(--color-dim)}.teacher-code-input{min-width:min(22rem,100%);letter-spacing:.06em}.teacher-count-input{width:4.5rem;text-align:center}.teacher-name-input{flex:1 1 18rem;min-width:0}.teacher-swap{max-width:14rem}.teacher-status{margin:0;padding:var(--space-4) 0;color:var(--color-dim)}.teacher-dim{color:var(--color-dim)}.teacher-note{margin:0;color:var(--color-note);font-size:var(--text-caption);line-height:var(--leading-prose)}.teacher-note-inline{color:var(--color-note)}.teacher-warn{margin:0;color:var(--color-warn);font-weight:700}.teacher-error{margin:0;color:var(--color-error)}.teacher-section-heading{margin:var(--space-2) 0 0;font-size:var(--text-body);font-weight:700;color:var(--color-text)}.teacher-table-scroll{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-panel)}.teacher-table{width:100%;border-collapse:collapse;font-size:var(--text-caption)}.teacher-table thead{background:var(--color-surface)}.teacher-table th,.teacher-table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:top}.teacher-table tbody tr:last-child th,.teacher-table tbody tr:last-child td{border-bottom:none}.teacher-table th[scope=col]{color:var(--color-dim);font-weight:700;white-space:nowrap}.teacher-paper-name,.teacher-topic-name,.teacher-draft-title,.teacher-breakdown-q{color:var(--color-text);font-weight:700}.teacher-row-actions{display:flex;flex-wrap:wrap;gap:var(--space-1)}.teacher-topic-table th[scope=row],.teacher-topic-table td{vertical-align:middle}.teacher-activation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.teacher-activation{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.teacher-badge{font-size:var(--text-caption);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:0 var(--space-2);color:var(--color-text);white-space:nowrap}.teacher-badge-active{color:var(--color-accent);border-color:var(--color-accent)}.teacher-badge-deactivated{color:var(--color-dim);border-color:var(--color-dim)}.teacher-badge-mode{color:var(--color-dim)}.teacher-badge-tier-exam{color:var(--color-warn);border-color:var(--color-warn)}.teacher-badge-tier-standard{color:var(--color-dim)}.teacher-code-chip{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-text)}.teacher-builder-controls{display:flex;flex-wrap:wrap;gap:var(--space-5)}.teacher-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-3) var(--space-4) var(--space-4);margin:0;min-width:0}.teacher-fieldset:disabled{opacity:.6}.teacher-legend{padding:0 var(--space-2);font-size:var(--text-caption);color:var(--color-dim)}.teacher-radio-inline{display:inline-flex;align-items:center;gap:var(--space-2);margin-right:var(--space-4);cursor:pointer}.teacher-radio{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;cursor:pointer}.teacher-radio-label{display:block;color:var(--color-text)}.teacher-radio-hint{display:block;font-size:var(--text-caption);color:var(--color-dim)}.teacher-availability{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-dim);white-space:nowrap}.teacher-builder-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.teacher-total-marks{margin:0;color:var(--color-text);font-weight:700}.teacher-save-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.teacher-shortfall-list{margin:var(--space-2) 0;padding-left:var(--space-5);color:var(--color-warn);display:flex;flex-direction:column;gap:var(--space-2)}.teacher-draft,.teacher-shortfall{display:flex;flex-direction:column;gap:var(--space-3)}.teacher-exam-tail-row td{background:var(--color-surface);color:var(--color-dim);font-size:var(--text-caption);letter-spacing:.04em;text-transform:uppercase}.teacher-paper-view{max-width:62rem}.teacher-paper-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);color:var(--color-dim)}.teacher-paper-questions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-5)}.teacher-paper-question{border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-4)}.teacher-paper-question-title{margin:0 0 var(--space-2);font-size:var(--text-body);color:var(--color-text)}.teacher-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:0 0 var(--space-3);font-size:var(--text-caption)}.teacher-part-block{border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-3)}.teacher-part-label{margin:0 0 var(--space-2);font-size:var(--text-caption);font-weight:700;color:var(--color-accent);letter-spacing:.04em}.teacher-part-prompt{margin:0 0 var(--space-2);color:var(--color-text);line-height:var(--leading-prose)}.teacher-code-block{margin:0 0 var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);font-family:var(--font-mono);line-height:var(--leading-code);overflow-x:auto;white-space:pre}.teacher-options{margin:0 0 var(--space-2);padding-left:var(--space-5);color:var(--color-text)}.teacher-sample{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:baseline}.teacher-sample-label{color:var(--color-dim);font-size:var(--text-caption)}.teacher-sample-value{font-family:var(--font-mono);color:var(--color-text);white-space:pre-wrap}.teacher-score{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-4)}.teacher-score-total{color:var(--color-text)}.teacher-percentage-big{font-size:var(--text-title);font-weight:700;color:var(--color-accent)}.teacher-code-label{margin:0 0 var(--space-2);color:var(--color-dim);font-size:var(--text-caption)}.teacher-entry-code{font-size:var(--text-heading);text-align:center;letter-spacing:.18em}.teacher-confirm-body{margin:0 0 var(--space-3);color:var(--color-text);line-height:var(--leading-prose)}.teacher-confirm-input{width:100%;margin-bottom:var(--space-3)}.teacher-status-badge{font-size:var(--text-caption);white-space:nowrap}.teacher-status-reviewed{color:var(--color-accent);font-weight:700}.teacher-status-submitted{color:var(--color-text)}.teacher-status-in_progress{color:var(--color-dim)}.teacher-review{max-width:60rem}.review-overall{display:flex;flex-direction:column;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-4)}.review-overall-score{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3) var(--space-4)}.review-status{color:var(--color-dim);font-size:var(--text-caption)}.review-overall-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.review-code{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.review-paper-comment{display:flex;flex-direction:column;gap:var(--space-2)}.review-comment{width:100%;box-sizing:border-box;resize:vertical;line-height:var(--leading-prose)}.review-questions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-5)}.review-question{border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.review-question-title{margin:0;font-size:var(--text-body);font-weight:700;color:var(--color-text)}.review-part{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.review-part-label{margin:0;font-size:var(--text-caption);font-weight:700;color:var(--color-accent);letter-spacing:.04em}.review-part-prompt{margin:0;color:var(--color-text);line-height:var(--leading-prose)}.review-part-answer{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.review-answer-label{font-size:var(--text-caption);color:var(--color-dim)}.review-answer-code{margin:0;max-height:18rem;overflow:auto;width:100%;box-sizing:border-box}.review-answer-typed{margin:0;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);font-family:var(--font-mono);white-space:pre-wrap;color:var(--color-text);max-height:18rem;overflow:auto;width:100%;box-sizing:border-box}.review-no-answer{font-style:italic}.review-part-mark{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.review-auto{color:var(--color-text);font-weight:700}.review-override-field{display:inline-flex;align-items:center;gap:var(--space-2)}.review-part-comment{display:flex;flex-direction:column;gap:var(--space-2)}.review-run-open{align-self:flex-start}.review-run-modal{width:min(60rem,100%);max-height:90vh;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);padding:var(--space-5)}.review-run-hint{margin:0 0 var(--space-3)}.review-run-panes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}@media(max-width:52rem){.review-run-panes{grid-template-columns:1fr}}.review-run-pane{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.review-run-pane-label{font-size:var(--text-caption);color:var(--color-dim)}.review-run-editor{max-height:45vh;overflow:auto}.teacher-settings{max-width:48rem}.teacher-settings-actions{display:flex;flex-direction:column;gap:var(--space-4)}.teacher-settings-action{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-4)}.teacher-settings-copy{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.teacher-settings-title{color:var(--color-text);font-weight:700}.teacher-settings-year{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.teacher-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3) var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.teacher-filter{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.teacher-filter-search{flex:1 1 16rem}.teacher-filter-search .teacher-input{width:100%}.teacher-year{display:flex;flex-direction:column;gap:var(--space-4)}.teacher-year-heading{margin:var(--space-2) 0 0;font-size:var(--text-body);font-weight:700;color:var(--color-accent);letter-spacing:.04em}.teacher-class{border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.teacher-class-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.teacher-class-name{margin:0;font-size:var(--text-body);font-weight:700;color:var(--color-text);display:flex;align-items:center;gap:var(--space-2)}.teacher-class-head .teacher-row-actions{margin-left:auto}.teacher-class-empty{padding:var(--space-2) 0}.teacher-badge-archived{color:var(--color-dim);border-color:var(--color-dim)}.teacher-access-open{color:var(--color-accent);border-color:var(--color-accent)}.teacher-access-closed{color:var(--color-note);border-color:var(--color-note)}.teacher-access-archived{color:var(--color-dim);border-color:var(--color-dim)}.teacher-form-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.teacher-form-row .teacher-input{flex:1 1 16rem;min-width:0}.teacher-field-hint{flex-basis:100%;font-size:var(--text-caption);color:var(--color-dim);line-height:var(--leading-prose)}.teacher-save-fields{display:flex;flex-direction:column;gap:var(--space-3);align-items:stretch;max-width:40rem}.teacher-save-fields .action-button{align-self:flex-start}.teacher-policy{margin:0}.teacher-policy-days{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.teacher-checkbox{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-text)}.teacher-duplicate-classes{display:flex;flex-direction:column;gap:var(--space-2);max-height:18rem;overflow-y:auto}.teacher-duplicate-codes{list-style:none;margin:0 0 var(--space-3);padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.teacher-duplicate-codes li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);font-family:var(--font-mono);color:var(--color-text)}.teacher-info-list{margin:0 0 var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.teacher-info-item{display:flex;flex-direction:column;gap:var(--space-1)}.teacher-info-item dt{font-weight:700;color:var(--color-accent)}.teacher-info-item dd{margin:0;color:var(--color-text);line-height:var(--leading-prose)}
