@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAn4ABMAAAAAEwQAAAmOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjQbgnQcLj9IVkFSgQEGYD9TVEFUgQIAgQovahEICok0h0ULIAAwhzoBNgIkAzwEIAWHJgeBDgwHG6QQUdRKTmoBFD8K42bniObKrG3LZFcMWZzFmrjTFhQ6TVTqPJcInrfrvzq3b2PGn1wwMiNYGTy9ViREYARlL1zAGcPdPqBt3gNWrfKthv4xnM+b9caw+wmjgEUVRjHXhS6jgCK6zf5HiWQacJpGdAgdrbV6g/Rf1BfxRqZVQnrxRVWSJb6RLFnyu0elilmjeoSQCKnxsmwLaddUMjnksriSYuuPl06EAl7KfAiWQjCUETz0zNZ3EII94CDQtzkMfZ/9IkkY8tZRZTDky5ZVwBAM+GYpdd4ZVAWYImnLkiTg48l79gGx3D+VBtLeyg8u7bJAd4uo0pFuQBFysE9C95l0W4Fkiao6GfrDbu77lVU7wk9cV3uqOsXmQiMkhVKl1ugjzUAJBSIkkVWHijkpkVSyUFsgVBuJMA0N+ZnXtyUv5yMigGdfQRmwL1AAjQ3YXG6iIFNSUdPQo8+AISPGAltBMDQRAtyf4ZspLlZkpyOVoMZPvFGWzvk8p5SUC/NWPMj6T2/Yas2EdlON5GkfdkeFwVGjta825H89NIenlLWAPAp5h1KDtRhCaAQWMsFKtEvOKpIhgLHlXPARokkgEGEOAkqxJRQpKYq4ezahIiLHP6hZpqMbV0pUF2vdvEimLEQ/iIUYLgYWs0VXGVlLTOPdaPmFfCC/XrtzqVo1ez7vz6+Kd2+7o11ZJ+4MreLbB5BKVGxobAq4jZYalZ5aX2CKJiwUuc9GNJyi4M8bGyKcdjSRrG4JohdF8buJfmQefbYYREnMFsOoiNliFDVxmRgL0XUmUMLqzW0A4gCQAhWGYCQpFNukwXhIkPMsbRI19ewtw8Cp2Wj/Ro5cM2OTAbJAvZ/L4opBXb9+UHscYuOKM/W8isgwN26Exexjizmfnlp9dE3hOSqdZ/F5QqbckIlPb+oKfXxd6hftJ7Sm/uyPYpONza84CRlMNk/uhOrLpyf53982++zRkXNu3g3VF8qFbx1+7fbHZ9DrB3VXWNSmhnT2vrwS1+1Z+kHGBaZIhnnvuLBTNDeA340D1DWu5/jEa9pVfl6+Jij+yo3EELNixXCLjr173Q5eDP7Y7/L4iQFHbjpaJLFoP4cCsYP6sAPL7gMHNg53yYjqxqTDrYqLDl5DzW/eTLjYxCvucprjI3yl2ykKowKUC2Ox2FJLFo6Fa1HBWLC2jMCIIBEmklkYhmkpmBhTm/LCvJAH5oGcMKcgFEP1xUdho8ANPa6RFD99/PN60fjj9eXy2Eex4B5MpmRapXidzFk1p4uLk3+hn6jAP9ovJcXPPwk8o/0ltizbdbnTprvx4PSxT0VZ3Xc772aN7RflgbXRYwc3hLNO+k878nxGwfuVM8m8Gs7WEoVGWLHwSpx4vNSHBCMNqJ4m15Kp/TfHHVkQd++eY7PGN4W5byTs+6Ft8Ozvb/D60btv37de8ER0mS3P/0sLW84qGjEVkwztPzz06eGUWwKLwPb0D/WFd3vltl2aP276KpM0JNz6AfnAnZ5ADlF2zVyZ2OkxHSMxWPMnSZLbbDR3F1UjPVqp4d68da13F1YZujdWw7271iecO2l9+/4p47Oztjck355/75wFOI+VdGDqbNGs+ISgxg3iB2jb2r+b0CWsNLHIM4sdv8SDSFBP/Oromz6FNCWw2iMTxV0R8QLyBTkpe0j5+pSSJOOTB5Mck/gh3IopuNQnhKj02t3FL80gGbEh89SZcwTxcYt5cZT/nMnB3uXfPy8BSpVMBuRx+ZhACGzDBmwHsJRAjhotOnzuj2wDz3ug2wOUAY2NgZln9/TK/enG/oE4rO1wxvGUFMAxsZ0qNjRC7hl9d17e7imbgDt6uJXhUobDg7v3RX/yRCKxgMhfyiKcZfbpk0wmCcdQlIAOHeakXLvCNt++WfKiozNqSZxxJotn+c0a7DdPsx7DPYgKIDxwwYUZDg9aJbxocTjcwovr9WAsVV32mQoiiIOCHc60Oltst9qCQYuCqN1yHo0Kj60OgI2OqmiuBUWrNA0NDhYCDcdpmMrs1fZZ0xdTzMr1HdPtIHstYhqaPDDA5YxUDx7J4fJiisBSDI/L6G/bn34GNy8Q2g044ZTulAdFLb0tI6NNxfj3DzLjWiNGxje1pz7aXOcNV68lDPEd2SXl6VfBuwmHzdf1gxFy1HvA7pD8I2BnnmyGw852Cg5XbgIdEEGE5UCzen5jTlG6JCU5iajlxVcsXvbcS0SAcg1dcesWJLVK8+hYHOYQ+Pjy+EyVGXP0aPTFagrV9E03hCQvYx+g47KGq+1GsLj8uBIyihNw33YUe8PNC4BOJ3Lm1AglLV3nCuvUdIP+v15tVGbWIwgxLVpPkfpthCGpTKG+oA/DQfsKKvxhScqaN6FuElAUtTKv2UYgOmQegsN/n7njHUju8wM4VTcm+Q8xfX9SFwjTzdVqu95UOWSIGOabH8OGBEba//8Yxl3GcPdP/dMBOoSX/0z5SZmBoLbaPs+9asaMpb36yknKaw6FqWZa6A5vDa02mhkOba1q6KtLV208xrkwmW5C4VD6n2fvRjADy2qDYYnNy+H10Fq0LMbNzS863gkO7iQ8eC48/Ny5m59tOcEso3u7Qg3yrqDL6eKXwJAuWnhylfbWrRObe66rzX59+XDtzusnL66dI/86ArmtLlzED860Ef3bFPV78OX/zFTA11fcBn2Vntb7qiGBSgLBHyuv/uEaqqoTgSpOyjlzh86me1Vriv7i9rLPLvtghWmSnblRbAsBJL/4dScSQTBxOivHMO5QvBBY0iheJvfwWLxLOGzYKZyM4zVc2Cll46zEpeUV4MqGEWZj22SdOxhGAjgs9AEnfT+RoiMfcDb0GS5NncKVxju4Nt/mRk13O9Gz3FLct5oCD6wkwUNrCfHIUg6SMf8LwQGyVaBUqpLPW5BaMpRshEpl8nS1qw5dgnzlik8QBXmdy5UrIH74heTKZKMSilQso4hsRiGraQZRzxpNGqlEJMsXuAU7GlcR8mWSykUpVkWGyIf0a8v4qEQp5CtGsMiZa+4ESYQy+WilCiguHzxMXO54ogShooTV2bj2z1zL6DYSoImoQ8lFUWxMLBNQQgLkV2tHYgUoIbkuREz+fJHKxxWBcnvu3KQppFCxLkguB1NyVSp/TknRvNwYlCdbblWu3ze6owHdWluhE5tgQ6ej2SV65CijijoaRfSiH4Nqz1OpfEW+WeI/oU0ly60zkV9YzOQSYtZVEGYmrysTZAJkY4qZtIBD9/LYTIK7Nww3vMiYBwA=)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235b6386' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--ink:#0f1a3c;--ink-2:#1b2a5e;--night:#0a1130;--paper:#f7f4ee;--bg:#f7f4ee;--surface:#fff;--surface-2:#fbfaf7;--glass:#ffffffb8;--text:#15193a;--muted:#5f6480;--border:#e6e1d6;--brand:#2d4fd6;--accent:var(--brand);--accent-fill:var(--brand);--accent-deep:#1f3aa8;--accent-soft:#eef1ff;--accent-2:#e5533d;--gold:#f2b632;--gold-deep:#9a6c00;--gold-soft:#fff3cf;--gold-line:#f3e2a9;--sun:#ffd43b;--ok:#12b886;--ok-bg:#e6fcf5;--ok-text:#0b6b4f;--error:#e03131;--error-bg:#fff0f0;--error-text:#7a1c1c;--warn-bg:#fdf0d5;--warn-text:#6e4700;--info-bg:#e3f2fd;--info-text:#0d47a1;--track:#ece8df;--chip-ghost:#eef0f7;--flow-a:#f2b632;--flow-b:#ffe8a3;--flow-c:#62d6ff;--radius:14px;--shadow:0 1px 2px #0f1a3c0d, 0 8px 24px #0f1a3c12;--font-display:"Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--font-body:"Manrope Variable", "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.5}:root[data-theme=dark]{--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23a7aed0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--bg:#0a1130;--surface:#131c45;--surface-2:#0f1740;--glass:#ffffff0f;--text:#eef1ff;--muted:#a7aed0;--border:#ffffff1f;--accent:#8ea2ff;--accent-fill:#3b5bdb;--accent-deep:#2b45b8;--accent-soft:#8ea2ff29;--accent-2:#ff8a73;--gold-deep:#ffd166;--gold-soft:#f2b63229;--gold-line:#f2b63266;--ok:#3ddc97;--ok-bg:#3ddc9724;--ok-text:#9ff0d5;--error:#ff7b7b;--error-bg:#ff7b7b24;--error-text:#ffb4a8;--warn-bg:#ffd43b24;--warn-text:#ffe28a;--info-bg:#8ea2ff29;--info-text:#c3cdff;--track:#ffffff1a;--chip-ghost:#ffffff14;--shadow:0 1px 2px #0000004d, 0 12px 32px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.branded{--accent:var(--brand);--accent-fill:var(--brand);--accent-soft:color-mix(in srgb, var(--brand) 12%, var(--surface))}:root[data-theme=dark] .branded{--accent:color-mix(in oklab, var(--brand) 58%, white);--accent-soft:color-mix(in srgb, var(--brand) 22%, var(--surface))}[style*=--card-ink]{--card-surface:var(--card-bg);--card-text:color-mix(in srgb, var(--card-ink) 75%, var(--text));--card-track:#fffc}:root[data-theme=dark] [style*=--card-ink]{--card-surface:color-mix(in srgb, var(--card-ink) 22%, var(--surface));--card-text:color-mix(in oklab, var(--card-ink) 62%, white);--card-track:#ffffff1f}*{box-sizing:border-box}body{margin:0}h1{margin:0;font-size:1.6rem}h2{margin:0 0 .5rem;font-size:1.05rem}a{color:var(--accent)}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;padding:.75rem 1.5rem;display:flex}.brand{font-weight:650}.topbar nav{gap:1rem;display:flex}.topbar nav a{color:var(--muted);text-decoration:none}.topbar nav a.active{color:var(--text);font-weight:600}.content{width:100%;max-width:1040px;margin:0 auto;padding:2rem 1.5rem}.stack{flex-direction:column;gap:1rem;display:flex}.muted{color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.card p{margin:0}.badge{background:var(--border);border-radius:999px;padding:.1rem .55rem;font-size:.85rem;display:inline-block}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.error{background:var(--error-bg);color:var(--error)}.facts{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .8rem}th{color:var(--muted);font-size:.85rem;font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums}button,input{font:inherit}button{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;align-self:flex-start;padding:.45rem .9rem}button:disabled{opacity:.55;cursor:default}input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:.4rem .6rem}.account{align-items:center;gap:.75rem;margin-left:auto;display:flex}button.primary{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff;font-weight:600}[role=alert]{color:var(--error);margin:0}.level{margin-top:.5rem;font-size:1.15rem}.courses{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.course-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.course-head h3{margin:0;font-size:1.05rem}.unit{margin-top:.75rem}.unit-name{color:var(--muted);margin:0 0 .25rem;font-size:.9rem;font-weight:600}.topics{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.topics li{justify-content:space-between;gap:.75rem;display:flex}.topics .count{color:var(--muted);white-space:nowrap;font-size:.85rem}.crumbs{color:var(--muted);font-size:.9rem}.watch{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.5rem;display:grid}@media (max-width:860px){.watch{grid-template-columns:1fr}}.watch-main h2{margin:.75rem 0 .25rem;font-size:1.15rem}.player{border-radius:var(--radius);aspect-ratio:16/9;background:#000;position:relative;overflow:hidden}.player video{width:100%;height:100%;display:block}.player-status{color:#fff;background:#0009;margin:0;padding:.5rem .75rem;position:absolute;inset:auto 0 0}.lesson-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lesson{text-align:left;grid-template-rows:auto auto;grid-template-columns:2rem 1fr;gap:.15rem .5rem;width:100%;padding:.7rem .8rem;display:grid}.lesson.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.lesson-no{color:var(--muted);font-variant-numeric:tabular-nums;grid-row:span 2}.lesson-title{font-weight:600}.lesson-meta{color:var(--muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.small{font-size:.85rem}.empty{padding:1rem 0}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.link{color:var(--accent);background:0 0;border:none;padding:0;font-size:.875rem}button.link:hover{text-decoration:underline}button.link.danger,.danger-btn{color:var(--error)}.danger-btn{border-color:var(--error)}.badge.staff{background:var(--accent-fill);color:#fff;font-size:.75rem}.badge.wait{background:var(--warn-bg);color:var(--warn-text)}.nav-count{background:var(--error);color:#fff;border-radius:999px;place-items:center;min-width:1.25rem;height:1.25rem;margin-left:.35rem;padding:0 .3rem;font-size:.75rem;font-weight:700;display:inline-grid}.topbar nav a{align-items:center;display:inline-flex}.composer{flex-direction:column;gap:.5rem;display:flex}.composer textarea{font:inherit;resize:vertical;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:100%;min-height:4.5rem;color:var(--text);padding:.65rem .75rem}.composer textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.composer textarea[aria-invalid]{border-color:var(--error)}.composer-error{font-size:.9rem}.composer-bar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.composer-bar .counter{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.8rem}.check{color:var(--muted);cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.watch-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.watch-title .ask.card{flex-basis:100%}.ask-button{border-color:var(--accent);color:var(--accent);margin-top:.75rem;font-weight:600}.ask h3{margin:0 0 .25rem;font-size:1rem}.ask .muted{margin-bottom:.75rem}.ok-card{border-color:var(--ok);background:var(--ok-bg)}.ok-card p+p{margin-top:.4rem}.discussion{border-top:1px solid var(--border);flex-direction:column;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.discussion-head h2{margin:0;font-size:1.1rem}.comment-list{flex-direction:column;gap:1.1rem;margin:0;padding:0;list-style:none;display:flex}.comment-list.replies{gap:.85rem;margin-top:.85rem;padding-left:.25rem}.comment{grid-template-columns:2.25rem 1fr;gap:.75rem;display:grid}.comment.reply{grid-template-columns:1.85rem 1fr}.avatar{background:var(--border);width:2.25rem;height:2.25rem;color:var(--text);border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:700;display:grid}.reply .avatar{width:1.85rem;height:1.85rem;font-size:.7rem}.avatar.staff{background:var(--accent-fill);color:#fff}.comment-main{min-width:0}.comment-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:.9rem;display:flex}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:.2rem 0 0}.comment-body.deleted{color:var(--muted);font-style:italic}.comment-actions{gap:1rem;margin-top:.35rem;display:flex}.time-chip{font-variant-numeric:tabular-nums;background:var(--bg);border-color:var(--border);color:var(--accent);border-radius:999px;padding:.05rem .5rem;font-size:.8rem}.pending-note{color:var(--warn-text);margin:.35rem 0 0;font-size:.85rem}.inline-confirm{border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;padding:.6rem .75rem;font-size:.9rem;display:flex}.inline-confirm button{padding:.3rem .65rem;font-size:.85rem}.tabs{border-bottom:1px solid var(--border);gap:.25rem;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.5rem .75rem}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.split{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.back-link{margin-bottom:.75rem;display:none}@media (max-width:860px){.split{grid-template-columns:1fr}.split.has-detail .split-list,.split:not(.has-detail) .split-detail{display:none}.back-link{display:inline-block}}.placeholder{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);padding:2rem}.question-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.question-row{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text);flex-direction:column;gap:.25rem;padding:.75rem .85rem;text-decoration:none;display:flex}.question-row.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.question-row.unread{background:color-mix(in srgb, var(--accent) 7%, var(--surface))}.question-top{align-items:center;gap:.5rem;display:flex}.question-top .muted{white-space:nowrap;margin-left:auto;font-size:.8rem}.question-preview{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box;overflow:hidden}.question-bottom{align-items:center;gap:.5rem;display:flex}.dot{background:var(--error);border-radius:50%;width:.5rem;height:.5rem}.thread{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1rem 1.25rem;display:flex}.thread-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;display:flex}.thread-head h2{margin:0}.messages{flex-direction:column;gap:.85rem;max-height:55vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.message{align-items:flex-end;gap:.6rem;max-width:85%;display:flex}.message.mine{align-self:flex-end}.bubble{background:var(--bg);border:1px solid var(--border);border-radius:14px 14px 14px 4px;padding:.6rem .85rem}.mine .bubble{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-color:color-mix(in srgb, var(--accent) 30%, var(--border));border-radius:14px 14px 4px}.bubble-meta{align-items:center;gap:.5rem;margin:0 0 .2rem;font-size:.8rem;display:flex}.bubble-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.thread-foot{justify-content:flex-end;display:flex}.closed-note{background:var(--bg);border-radius:var(--radius);padding:.75rem}.moderation-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.moderation-card{flex-direction:column;gap:.5rem;display:flex}.moderation-actions{flex-wrap:wrap;gap:.5rem;display:flex}.plain-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.small-title{margin:0 0 .5rem;font-size:.95rem}.invite{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 8%, var(--surface));border:1px dashed var(--accent);flex-direction:column;align-items:flex-start;gap:.4rem;padding:1rem;display:flex}.invite-code{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:2rem}.child-head{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}.child-head h2{margin:0;font-size:1.25rem}.avatar.big{width:3.25rem;height:3.25rem;font-size:1.1rem}.stats{gap:1.75rem;margin:0 0 0 auto;display:flex}.stats div{flex-direction:column-reverse;display:flex}.stats dt{color:var(--muted);font-size:.8rem}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.6rem;font-weight:700}.parent-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.parent-grid .card h2{margin:0}.progress-head{align-items:baseline;gap:.5rem;margin-bottom:.35rem;display:flex}.progress-count{font-variant-numeric:tabular-nums;margin-left:auto;font-size:.9rem}.bar{background:var(--border);border-radius:999px;height:.6rem;display:flex;overflow:hidden}.legend{align-items:center;gap:.4rem;display:flex}.key{border-radius:3px;width:.7rem;height:.7rem;display:inline-block}.key.done{background:var(--ok)}.key.partial{background:color-mix(in srgb, var(--ok) 40%, var(--border));margin-left:.6rem}.recent-list li{justify-content:space-between;align-items:center;gap:1rem;display:flex}.recent-meta{white-space:nowrap;align-items:center;gap:.5rem;display:flex}button.question-row{text-align:left;width:100%;font:inherit;cursor:pointer}.messages.readonly{max-height:none;margin-top:.75rem}.field{flex-direction:column;gap:.3rem;max-width:280px;display:flex}.field input{letter-spacing:.08em;text-transform:uppercase;font-size:1.1rem}.row{gap:.5rem;display:flex}@media (max-width:600px){.stats{margin-left:0}}.block{display:block}.content:has(.editor-grid){max-width:1280px}.editor-grid{grid-template-columns:minmax(340px,5fr) 7fr;align-items:start;gap:1.25rem;display:grid}@media (max-width:960px){.editor-grid{grid-template-columns:1fr}}.tree-list{flex-direction:column;gap:.15rem;margin:0;padding:0 0 0 1.1rem;list-style:none;display:flex}.tree>.tree-list{padding-left:0}.tree-row{border-radius:6px;align-items:center;gap:.45rem;min-height:2.2rem;padding:.3rem .4rem;display:flex}.tree-row:hover{background:var(--bg)}.tree-row.selected{background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.twisty{width:1.2rem;color:var(--muted);text-align:center;background:0 0;border:none;flex-shrink:0;padding:0}.kind{text-transform:uppercase;letter-spacing:.04em;background:var(--border);color:var(--muted);border-radius:4px;flex-shrink:0;padding:.05rem .4rem;font-size:.68rem}.kind-level{background:color-mix(in srgb, var(--accent) 18%, var(--surface));color:var(--accent)}.node-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.link-like{text-align:left;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.link-like:hover{text-decoration:underline}.node-meta{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.icon-btn{color:var(--muted);background:0 0;border:none;padding:.15rem .35rem;font-size:.95rem}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--border)}.icon-btn.danger:hover{color:var(--error)}.switch{color:var(--muted);cursor:pointer;align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.switch input:checked+span{color:var(--ok);font-weight:600}.inline-form{flex-wrap:wrap;flex:1;align-items:center;gap:.4rem;display:flex}.inline-form input{flex:1;min-width:10rem}.small-btn{padding:.25rem .6rem;font-size:.85rem}.add-node{margin:.35rem 0 .35rem 1.6rem;font-size:.85rem}.tree>.add-node{margin-top:.75rem;margin-left:0}.tree-confirm,.tree-error{margin-left:1.6rem}.lessons-panel h2{margin:0;font-size:1.2rem}.lesson-row{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.6rem .75rem;display:grid}.lesson-row .inline-confirm,.lesson-row .row-error{grid-column:1/-1}.order-btns{flex-direction:column;display:flex}.lesson-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.lesson-actions{align-items:center;gap:.35rem;display:flex}.lesson-form{flex-direction:column;gap:.85rem;display:flex}.lesson-form h3{margin:0}.field.wide{max-width:none}.field input:not([type=radio]):not([type=search]){letter-spacing:normal;text-transform:none;font-size:1rem}fieldset.field{border:1px solid var(--border);border-radius:var(--radius);gap:.5rem;padding:.75rem}fieldset.field legend{padding:0 .3rem}.license-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;display:grid}.picker{flex-direction:column;gap:.5rem;display:flex}.picker-current{align-items:center;gap:.75rem;display:flex}.picker-panel{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:.6rem;display:flex}.picker-list{gap:.25rem;max-height:14rem;overflow-y:auto}.picker-item{text-align:left;justify-content:space-between;gap:1rem;width:100%;display:flex}.picker-item.active{border-color:var(--accent)}.dropzone{border:2px dashed var(--border);text-align:center;background:var(--surface);border-radius:12px;flex-direction:column;align-items:center;gap:.6rem;padding:1.75rem;display:flex}.dropzone.dragging{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.dropzone button{align-self:center}.upload{grid-template-columns:minmax(0,2fr) 3fr auto;align-items:center;gap:.75rem;display:grid}.upload-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upload-bar .bar-done{background:var(--accent-fill);transition:width .2s}.library-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.library-tools input{min-width:16rem}.video-table td{vertical-align:top}.title-cell{align-items:center;gap:.25rem;display:inline-flex}a.button{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;padding:.45rem .9rem;text-decoration:none;display:inline-block}a.button.primary{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff;font-weight:600}select{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:.4rem .6rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.page-head h2{margin:0}.search{width:100%;max-width:420px}.search.narrow,.form-field.narrow{max-width:11rem}.form-field.grow{flex:16rem;max-width:26rem}.row.align-end{flex-wrap:wrap;align-items:flex-end}.row{flex-wrap:wrap;align-items:center}.form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem 1rem;display:grid}.form-field{flex-direction:column;gap:.3rem;display:flex}.form-label{font-size:.85rem;font-weight:600}.form-field input,.form-field select{width:100%}.field-error{color:var(--error);font-size:.85rem}.warn-note,.ok-note{border-radius:var(--radius);margin:0;padding:.6rem .8rem}.warn-note{background:var(--warn-bg);color:var(--warn-text)}.batch-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.batch{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);gap:.45rem;padding:.8rem .9rem;display:grid}.batch-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.batch-bar{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.batch-bar i{border-radius:inherit;background:var(--accent-fill);height:100%;transition:width .6s;display:block}@media (prefers-reduced-motion:reduce){.batch-bar i{transition:none}}.ok-note{background:var(--ok-bg);color:var(--ok)}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin:0;display:grid}.stat-grid .card{flex-direction:column;gap:.15rem;display:flex}.stat-grid dt{color:var(--muted);font-size:.85rem}.stat-grid dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.8rem;font-weight:700}.big-bar{height:1rem}.small-bar{width:6rem;height:.45rem}.usage{white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.legend{flex-wrap:wrap}.legend .key:not(.done):not(.partial){background:var(--border);margin-left:.6rem}tr.inactive td{color:var(--muted)}.row-actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:inline-flex}.temp-password{border:1px solid var(--ok);background:var(--ok-bg);border-radius:var(--radius);flex-direction:column;gap:.3rem;padding:.5rem .7rem;display:flex}.temp-code{letter-spacing:.04em;-webkit-user-select:all;user-select:all;font-size:1.1rem;font-weight:700}.students-table td:last-child{min-width:12rem}@media (max-width:760px){table{display:block;overflow-x:auto}}.print-sheet{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.academy-card{border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface);break-inside:avoid;flex-direction:column;gap:.3rem;padding:.9rem 1rem;display:flex}.academy-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:700}.academy-org{font-weight:600}.academy-code{letter-spacing:.06em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.15rem}.academy-help{color:var(--muted);font-size:.75rem}@media print{.topbar,.tabs,.no-print,.back-link,.page-head,.ok-note{display:none!important}body,:root{color:#000;background:#fff}.content{max-width:none;padding:0}.print-sheet{grid-template-columns:1fr 1fr;gap:0}.academy-card{background:#fff;border:1px dashed #999;border-radius:0;justify-content:center;height:54mm}.academy-card:nth-child(10n){break-after:page}.academy-help,.academy-brand{color:#333}}.hero{border-color:var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.hero-text{flex-direction:column;flex:1;gap:.35rem;min-width:14rem;display:flex}.hero-text h2{margin:0;font-size:1.3rem}.hero .bar{max-width:22rem}.hero a.button{padding:.6rem 1.2rem;font-size:1.05rem}.reply-link{color:inherit;flex-direction:column;padding:.4rem 0;text-decoration:none;display:flex}.reply-link:hover strong{text-decoration:underline}.next-up{border-top:1px dashed var(--border);padding-top:.6rem}.shortcut-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.shortcut{color:inherit;flex-direction:column;gap:.3rem;text-decoration:none;display:flex}.shortcut:hover{border-color:var(--accent)}.welcome{max-width:36rem}.students-table td:not(:last-child){white-space:nowrap}.license-banner{background:var(--warn-bg);color:var(--warn-text);text-align:center;border-bottom:1px solid var(--border);margin:0;padding:.7rem 1.5rem}.license-banner.blocked{background:var(--error-bg);color:var(--error);font-weight:600}.audit-list{margin:0;padding:0;list-style:none}.audit-list li{border-bottom:1px solid var(--border);grid-template-columns:8.5rem 1fr;gap:.75rem;padding:.6rem 0;display:grid}.audit-list li:last-child{border-bottom:none}.audit-list time{color:var(--muted);padding-top:.1rem;font-size:.85rem}.audit-list p{margin:0}@media (max-width:600px){.audit-list li{grid-template-columns:1fr;gap:.2rem}}.history-link{margin-left:.8rem;display:inline-block}textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);resize:vertical;width:100%;padding:.5rem .6rem}.danger-zone{border:1px solid var(--error);border-radius:var(--radius);background:var(--error-bg);padding:.8rem 1rem}.danger-zone p{margin:0}.request-list>li{border-bottom:1px solid var(--border);padding:.8rem 0}.request-list>li:last-child{border-bottom:none}.warn-note.stack p{margin:0}.steps{gap:.4rem;margin:0;padding-left:1.2rem;display:grid}.stat-grid.compact dd{font-size:1.3rem}.stat-grid.compact>div{border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem}.issue-list{gap:.25rem;margin:0;padding-left:1.2rem;font-size:.9rem;display:grid}.row.center{justify-content:center}:root[data-theme=light] body,:root:not([data-theme]) body{background:radial-gradient(1100px 480px at 100% -12%, #e4e8fb 0%, transparent 60%), radial-gradient(800px 380px at -10% 0%, #fff0d6 0%, transparent 55%), var(--bg)}h1,h2,h3,.display{font-family:var(--font-display);font-variation-settings:"SOFT" 60, "WONK" 0;letter-spacing:-.015em}h1{font-size:2rem;font-weight:600;line-height:1.15}h2{font-size:1.2rem;font-weight:600}h3{font-weight:600}.topbar{background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;box-shadow:0 1px 0 var(--border);border-bottom-color:#0000;position:sticky;top:0}.brand{color:var(--text);align-items:center;text-decoration:none;display:inline-flex}.logo{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);white-space:nowrap;align-items:center;gap:.55rem;font-size:1.25rem;display:inline-flex}.logo-paper{color:#f7f4ee}.wordmark{font-weight:700}.wordmark-first{opacity:.78;font-weight:400}.topbar nav a{border-radius:999px;padding:.35rem .65rem;font-weight:700}.topbar{flex-wrap:nowrap;gap:.75rem 1rem}.topbar nav{flex-wrap:wrap;flex:1 1 0;gap:.35rem;min-width:0}.topbar-right{flex:none;align-items:center;gap:.6rem;margin-left:auto;display:flex}.topbar-right .account{margin-left:0}@media (max-width:760px){.topbar{flex-wrap:wrap}.topbar-right{margin-left:auto}.topbar nav{scrollbar-width:none;flex-wrap:nowrap;flex:1 0 100%;order:3;margin:0 -.25rem;padding:0 .25rem .15rem;overflow-x:auto}.topbar nav::-webkit-scrollbar{display:none}.topbar nav a{white-space:nowrap;flex:none}}@media (max-width:480px){.topbar .brand .wordmark{display:none}}@media (max-width:1360px){.org-chip span{display:none}.org-chip{gap:0;padding-right:.25rem}}@media (max-width:1180px){.account>.muted{display:none}}.topbar nav a:hover{background:var(--accent-soft);color:var(--accent)}.topbar nav a.active{background:var(--ink);color:#fff}:root[data-theme=dark] .topbar nav a.active,.shell.branded .topbar nav a.active{background:var(--accent-fill)}.card{box-shadow:var(--shadow);border-radius:var(--radius);border:none}button{border-radius:999px;font-weight:600}button.primary,a.button.primary{background:var(--accent-fill);box-shadow:0 8px 20px -8px var(--accent-fill);color:#fff;border:none}button.primary:hover:not(:disabled),a.button.primary:hover{filter:brightness(1.07)}button.big,a.button.big{padding:.8rem 1.6rem;font-size:1.05rem}button.primary:disabled{background:var(--track);color:var(--muted);box-shadow:none;opacity:1}button.outline{border:1.5px solid var(--border);color:var(--text);background:0 0;font-weight:700}button.outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}a.button{border-radius:999px;font-weight:600}input,select{background-color:var(--surface);border-radius:12px}select:not([multiple]):not([size]){appearance:none;background-image:var(--select-chevron);background-position:right .8rem center;background-repeat:no-repeat;background-size:.7rem;padding-right:2.25rem}select::-ms-expand{display:none}input:focus,select:focus{outline:3px solid color-mix(in srgb, var(--accent) 30%, transparent);border-color:var(--accent)}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--accent-2);margin:0;font-size:.78rem;font-weight:800}.eyebrow.gold{color:var(--gold)}.bar{background:var(--track);height:.55rem}.bar-done{background:var(--card-ink,var(--ok))}.bar-partial{background:color-mix(in srgb, var(--card-ink,var(--ok)) 35%, var(--track))}.content:has(.vitrin){max-width:none;padding:0}.vitrin{flex-direction:column;display:flex}.vitrin h2{letter-spacing:-.02em;margin:0 0 1.25rem;font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:560}.v-section{width:100%;max-width:1120px;margin:0 auto;padding:3.5rem 1.5rem 0}.v-hero{color:#eef1ff;background:linear-gradient(180deg, var(--night) 0%, #0d1740 100%);position:relative;overflow:hidden}.v-backdrop{color:#fff;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.v-hero-inner{grid-template-columns:minmax(0,10fr) minmax(0,9fr);align-items:center;gap:3rem;max-width:1120px;margin:0 auto;padding:4rem 1.5rem 3.5rem;display:grid;position:relative}.v-copy h1{letter-spacing:-.028em;font-variation-settings:"SOFT" 100, "WONK" 1;text-wrap:balance;margin:0 0 1.1rem;font-size:clamp(2.3rem,4.8vw,3.7rem);font-weight:560;line-height:1.04}.v-lead{color:#c3cae6;max-width:32rem;margin:0 0 1.6rem;font-size:1.1rem;line-height:1.55}.v-actions{flex-wrap:wrap;gap:.75rem;display:flex}.v-btn{font:inherit;cursor:pointer;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.5rem;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .15s,filter .15s;display:inline-flex}.v-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.v-btn:focus-visible{outline:3px solid var(--flow-c);outline-offset:2px}.v-btn.gold{background:linear-gradient(135deg, #ffd166, var(--gold));color:var(--night);box-shadow:0 12px 30px -12px var(--gold)}.v-btn.ghost{color:#eef1ff;background:#ffffff0f;border-color:#ffffff47}.v-section .v-btn.ghost{border-color:var(--border);color:var(--text);background:0 0}.v-facts{color:#c3cae6;flex-wrap:wrap;gap:.5rem 1.4rem;margin:1.6rem 0 0;padding:0;font-size:.95rem;font-weight:600;list-style:none;display:flex}.v-facts li:before{content:"";background:var(--gold);vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:.5rem;display:inline-block}.flow-stage{aspect-ratio:520/560;width:100%;max-width:520px;margin:0 auto;position:relative;container-type:inline-size}.flow-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.thread-dash{stroke-dasharray:10 14}.thread-dash.flowing{animation:linear infinite thread-flow}@keyframes thread-flow{to{stroke-dashoffset:-240px}}.stage-card{color:#eef1ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#131c45c7;border:1px solid #ffffff24;border-radius:3.6cqw;flex-direction:column;gap:2.2cqw;padding:3.4cqw 3.8cqw;font-size:2.6cqw;display:flex;position:absolute;box-shadow:0 16px 40px #00000059}.stage-card header,.stage-card footer{color:#a7aed0;justify-content:space-between;gap:1cqw;display:flex}.stage-card strong{font-family:var(--font-display);letter-spacing:-.015em;align-items:center;gap:1.6cqw;font-size:4.4cqw;font-weight:560;display:inline-flex}.stage-tag{background:var(--gold-soft);color:#ffd166;border-radius:999px;padding:.3cqw 2cqw;font-size:2.3cqw;font-weight:800}.stage-bar{background:#ffffff1f;border-radius:999px;height:1.6cqw;overflow:hidden}.stage-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--flow-a), var(--flow-c));transform-origin:0;width:70%;height:100%;animation:1.4s cubic-bezier(.2,.7,.2,1) .6s both bar-grow;display:block}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.stage-dots{gap:1.4cqw;display:flex}.stage-dots i{background:#ffffff24;border-radius:50%;width:3.2cqw;height:3.2cqw}.stage-dots i.on{background:var(--ok)}.card-watch{width:68%;top:3%;left:27%}.card-solve{width:60%;top:36%;left:4%}.card-earn{width:60%;top:69%;left:36%}.card-watch{animation:lit-a var(--loop,9s) linear infinite}.card-solve{animation:lit-b var(--loop,9s) linear infinite}.card-earn{animation:lit-c var(--loop,9s) linear infinite}@keyframes lit-a{0%,8%,36%,to{border-color:#ffffff24;box-shadow:0 16px 40px #00000059}18%{border-color:#f2b632bf;box-shadow:0 0 0 1px #f2b63273,0 18px 48px #f2b6324d}}@keyframes lit-b{0%,40%,66%,to{border-color:#ffffff24;box-shadow:0 16px 40px #00000059}50%{border-color:#f2b632bf;box-shadow:0 0 0 1px #f2b63273,0 18px 48px #f2b6324d}}@keyframes lit-c{0%,70%,96%,to{border-color:#ffffff24;box-shadow:0 16px 40px #00000059}82%{border-color:#f2b632bf;box-shadow:0 0 0 1px #f2b63273,0 18px 48px #f2b6324d}}@media (prefers-reduced-motion:reduce){.stage-card,.stage-bar i{animation:none}}.how-line{grid-template-columns:repeat(3,1fr);gap:2rem;margin:0;padding:0;list-style:none;display:grid;position:relative}.how-line:before{content:"";background:linear-gradient(90deg, var(--flow-a), var(--flow-b), var(--flow-c));opacity:.6;height:2px;position:absolute;top:.55rem;left:1rem;right:1rem}.how-line li{padding-top:1.6rem;position:relative}.how-dot{background:var(--gold);width:1.2rem;height:1.2rem;box-shadow:0 0 0 5px var(--gold-soft);border-radius:50%;position:absolute;top:0;left:0}.how-line h3{margin:0 0 .3rem;font-size:1.3rem;font-weight:560}.how-line p{color:var(--muted);margin:0}.bento{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.tile{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;gap:.5rem;padding:1.4rem 1.5rem;display:flex}.tile h3{margin:0;font-size:1.2rem;font-weight:560}.tile>p{color:var(--muted);margin:0 0 .4rem;line-height:1.5}.tile-wide{grid-column:span 2}.tile-gold{background:linear-gradient(160deg, color-mix(in srgb, var(--gold) 18%, var(--surface)), var(--surface));border-color:var(--gold-line)}.chat-demo{flex-direction:column;gap:.5rem;margin-top:auto;display:flex}.bubble{border-radius:16px;max-width:34rem;margin:0;padding:.65rem .9rem;font-size:.95rem;line-height:1.45}.bubble.me{background:var(--accent-fill);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.bubble.ai{background:var(--accent-soft);color:var(--text);border-bottom-left-radius:4px;align-self:flex-start}.plan-demo,.league-demo,.earn-demo,.meter-demo{flex-direction:column;gap:.4rem;margin:auto 0 0;padding:0;list-style:none;display:flex}.plan-demo li{background:var(--chip-ghost);border-radius:10px;align-items:center;gap:.6rem;padding:.45rem .6rem;font-size:.95rem;display:flex}.plan-demo li span{color:var(--muted);margin-left:auto;font-size:.85rem}.plan-demo i{border-radius:3px;width:.7rem;height:.7rem}.plan-demo .k-video{background:var(--gold)}.plan-demo .k-quiz{background:var(--accent-fill)}.plan-demo .k-exam{background:var(--accent-2)}.exam-demo{flex-wrap:wrap;gap:.4rem;margin-top:auto;display:flex}.exam-demo span{background:var(--ink);color:#fff;letter-spacing:.04em;border-radius:999px;padding:.4rem .8rem;font-size:.85rem;font-weight:800}:root[data-theme=dark] .exam-demo span{background:var(--accent-soft);color:var(--text)}.meter-demo li{grid-template-columns:5rem 1fr 2rem;align-items:center;gap:.6rem;font-size:.92rem;display:grid}.meter-demo div{background:var(--track);border-radius:999px;height:.5rem;overflow:hidden}.meter-demo i{border-radius:inherit;background:linear-gradient(90deg, var(--flow-a), var(--flow-c));height:100%;display:block}.meter-demo b{text-align:right;font-variant-numeric:tabular-nums}.league-demo{counter-reset:lig}.league-demo li{counter-increment:lig;border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.4rem 0;font-size:.95rem;display:flex}.league-demo li:before{content:counter(lig);background:var(--gold-soft);width:1.5rem;height:1.5rem;color:var(--gold-deep);border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:grid}.league-demo b,.earn-demo b{color:var(--gold-deep);white-space:nowrap;align-items:center;gap:.3rem;margin-left:auto;display:inline-flex}.earn-demo li{border-bottom:1px solid var(--gold-line);align-items:center;gap:.6rem;padding:.35rem 0;font-size:.95rem;display:flex}.earn-demo li:last-child,.league-demo li:last-child{border-bottom:none}.earn-demo.two-col{grid-template-columns:1fr 1fr;gap:.2rem 2rem;display:grid}.earn-demo.two-col li:nth-last-child(2){border-bottom:none}.notice-demo{flex-direction:column;gap:.5rem;margin-top:auto;display:flex}.notice-demo p{background:var(--chip-ghost);border-left:3px solid var(--gold);border-radius:12px;flex-direction:column;gap:.1rem;margin:0;padding:.6rem .8rem;font-size:.92rem;display:flex}.notice-demo span{color:var(--muted);font-size:.85rem}@media (max-width:900px){.earn-demo.two-col{grid-template-columns:1fr}.earn-demo.two-col li:nth-last-child(2){border-bottom:1px solid var(--gold-line)}}.v-institutions{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:26px;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center;gap:2rem;padding:2.2rem;display:grid}.v-institutions>div>p{color:var(--muted);max-width:40rem;margin:0 0 1.2rem;line-height:1.55}.v-footer{border-top:1px solid var(--border);width:100%;max-width:1120px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:3.5rem auto 0;padding:1.5rem;font-size:.9rem;display:flex}.v-footer p{margin:0}@media (max-width:900px){.v-hero-inner{grid-template-columns:1fr;gap:2.2rem;padding:2.6rem 1.25rem 2.4rem}.how-line,.bento{grid-template-columns:1fr}.how-line:before{display:none}.tile-wide{grid-column:auto}.v-institutions{grid-template-columns:1fr;padding:1.6rem}}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;align-items:center;gap:.5rem;padding:.25rem .6rem .25rem .25rem;font-size:.85rem;font-weight:600;display:inline-flex}.theme-toggle.compact{padding:.25rem}.theme-toggle-track{background:var(--track);border-radius:999px;width:2.6rem;height:1.5rem;transition:background .2s;position:relative}:root[data-theme=dark] .theme-toggle-track{background:var(--accent-deep)}.theme-toggle-knob{width:1.2rem;height:1.2rem;color:var(--ink);background:#fff;border-radius:50%;place-items:center;transition:transform .25s cubic-bezier(.2,.7,.2,1);display:grid;position:absolute;top:.15rem;left:.15rem}:root[data-theme=dark] .theme-toggle-knob{background:var(--night);color:#ffd166;transform:translate(1.1rem)}.gold-btn,button.primary.gold-btn{background:var(--gold);color:var(--ink);box-shadow:0 10px 28px -10px var(--gold);font-weight:800}.coin{transform-box:fill-box;transform-origin:50%;animation:4s ease-in-out infinite float}.coin-1{animation-delay:-1.3s}.coin-2{animation-delay:-2.6s}@keyframes float{0%,to{translate:0}50%{translate:0 -8px}}.welcome{grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:center;gap:2rem;max-width:none;padding:1rem 0 2rem;display:grid}.welcome h1{margin:.4rem 0 .8rem;font-size:2.4rem;line-height:1.15}.welcome-text .muted{margin-bottom:1.25rem;font-size:1.05rem}.welcome-art{width:100%;height:auto}@media (max-width:760px){.welcome{grid-template-columns:1fr}.welcome h1{font-size:1.9rem}}.greeting{background:linear-gradient(135deg, var(--surface) 0%, var(--surface-2) 100%);box-shadow:var(--shadow);border-radius:22px;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:grid}.greeting-text{flex-direction:column;gap:.5rem;display:flex}.greeting-art{width:100%;height:auto}@media (max-width:680px){.greeting{grid-template-columns:1fr}.greeting-art{display:none}}.goal-chip{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.chip{border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.9rem;font-weight:700;display:inline-flex}.chip.grade{background:var(--gold-soft);color:var(--gold-deep)}.chip.target{background:var(--error-bg);color:var(--error)}.chip.ghost{background:var(--chip-ghost);color:var(--muted);font-weight:600}.hero{background:linear-gradient(135deg, var(--ink), var(--ink-2));color:#fff;border:none}.shell.branded .hero{background:linear-gradient(135deg, var(--accent-fill), var(--accent-deep,var(--ink)))}.hero .muted{color:#ffffffd9}.hero .bar{background:#ffffff4d}.hero .bar-done{background:var(--sun)}.hero a.button.primary{background:var(--gold);color:var(--ink);box-shadow:none}.section-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.5rem;display:flex}.section-head h2{margin:0;font-size:1.3rem}.subject-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;display:grid}.subject-card{color:var(--text);background:var(--card-surface);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--card-ink) 14%, transparent);border-radius:20px;flex-direction:column;gap:.35rem;padding:1.1rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.subject-card:hover{box-shadow:inset 0 0 0 2px var(--card-ink), 0 10px 24px color-mix(in srgb, var(--card-ink) 20%, transparent);transform:translateY(-3px)}.subject-card strong{color:var(--card-text);font-size:1.05rem}.subject-meta{color:var(--muted)}.subject-card .bar{background:var(--card-track);margin-top:.35rem}.soon{background:var(--card-track);color:var(--card-text);border-radius:999px;align-self:flex-start;margin-top:auto;padding:.15rem .6rem;font-size:.78rem;font-weight:700}.level-tabs{gap:.4rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.level-tab{white-space:nowrap;background:var(--surface);border:2px solid var(--border);color:var(--muted);padding:.4rem .9rem;font-weight:700}.level-tab.on{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff}.level-tab .mine{background:var(--sun);color:#5c3c00;border-radius:999px;margin-left:.4rem;padding:.05rem .4rem;font-size:.7rem}.courses{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start}.course-card{background:var(--surface);box-shadow:var(--shadow);border-radius:20px;scroll-margin-top:5rem;overflow:hidden}.course-card.focus{box-shadow:0 0 0 3px var(--card-ink), var(--shadow)}.course-banner{background:var(--card-surface);align-items:center;gap:.85rem;padding:1rem 1.1rem;display:flex}.course-banner h3{color:var(--card-text);margin:0;font-size:1.15rem}.course-banner .small{color:var(--muted)}.course-card>p{padding:0 1.1rem 1rem}details.unit{border-top:1px solid var(--border);margin:0}details.unit summary{cursor:pointer;align-items:center;gap:.6rem;padding:.7rem 1.1rem;list-style:none;display:flex}details.unit summary::-webkit-details-marker{display:none}details.unit summary:hover{background:var(--accent-soft)}details.unit[open] summary{background:color-mix(in srgb, var(--card-surface) 60%, var(--surface))}.unit-no{background:var(--card-surface);width:1.6rem;height:1.6rem;color:var(--card-text);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid}details.unit .unit-name{color:var(--text);flex:1;margin:0;font-size:.95rem;font-weight:700}details.unit .count{color:var(--muted);white-space:nowrap;font-size:.8rem}details.unit .topics{padding:.25rem 1.1rem .9rem 3.3rem}.goal-page{flex-direction:column;gap:1.25rem;display:flex}.goal-hero{grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:1.5rem;display:grid}.goal-hero h1{margin:.3rem 0 .4rem;font-size:2rem}.goal-art{width:100%;height:auto}@media (max-width:720px){.goal-hero{grid-template-columns:1fr}.goal-art{max-width:320px}}.steps{counter-reset:s;gap:.5rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.steps li{counter-increment:s;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .8rem .25rem .3rem;font-size:.85rem;font-weight:700;display:inline-flex}.steps li:before{content:counter(s);background:var(--surface);width:1.4rem;height:1.4rem;color:var(--text);border-radius:50%;place-items:center;display:grid}.steps li.on{background:var(--accent-fill);color:#fff;border-color:var(--accent-fill)}.steps li.on:before{color:var(--accent-fill);background:#fff}.steps li.done{background:var(--ok-bg);color:var(--ok-text)}.grade-group{border:none;margin:0;padding:0}.grade-group legend{margin-bottom:.5rem;font-size:1.05rem;font-weight:800}.grade-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem;display:grid}.grade-card{background:var(--surface);box-shadow:var(--shadow);color:var(--text);cursor:pointer;border:3px solid #0000;border-radius:18px;flex-direction:column;align-items:center;gap:.4rem;padding:.9rem .5rem;font-size:1rem;transition:transform .12s;display:flex}.grade-card:hover{background:var(--card-surface);transform:translateY(-2px)}.grade-card.on{background:var(--card-surface);border-color:var(--card-ink)}.grade-card.on strong{color:var(--card-text)}.goal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.goal-card{max-width:640px;padding:1.5rem}.goal-card .field{max-width:none}.goal-card .field input{padding:.7rem .9rem;font-size:1.05rem}.chosen{align-items:center;gap:.6rem;display:flex}.tip{background:var(--warn-bg);color:var(--warn-text);border-radius:12px;margin:0;padding:.7rem .9rem}.combo{position:relative}.combo label{align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.combo-list{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:14px;max-height:18rem;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000047}.combo-list li{cursor:pointer;border-radius:10px;padding:.55rem .75rem}.combo-list li.active,.combo-list li:hover{background:var(--accent-soft);color:var(--accent)}button.secondary{background:var(--surface);border:2px solid var(--accent);color:var(--accent);font-weight:700}button.secondary:hover{background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.brand-mark{object-fit:contain;background:#fff;border-radius:12px;flex:none;display:inline-block}.brand-mark.initials{color:#fff;border-radius:50%;place-items:center;font-weight:800;display:inline-grid}.org-chip{border-left:2px solid var(--border);color:var(--text);align-items:center;gap:.5rem;max-width:16rem;margin-left:-.5rem;padding-left:.75rem;font-weight:700;display:inline-flex}.org-chip span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (max-width:760px){.org-chip span{display:none}}.shell.branded .topbar{box-shadow:inset 0 4px 0 var(--accent), 0 1px 0 var(--border)}.org-landing{gap:1.5rem}.org-hero{position:relative}.org-id{border-bottom:4px solid var(--accent);align-items:center;gap:.9rem;width:-moz-fit-content;width:fit-content;margin-bottom:.4rem;padding-bottom:.9rem;display:flex}.org-id strong{font-size:1.25rem;line-height:1.2;display:block}.org-hero .row+.small{margin-top:.75rem}.org-id span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:700}.org-perks{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.org-perks li{border-top:4px solid var(--accent);flex-direction:column;gap:.3rem;display:flex}.perk-icon{font-size:1.8rem}.branding-grid{grid-template-columns:minmax(0,1fr) minmax(0,22rem);align-items:start;gap:1rem;display:grid}@media (max-width:900px){.branding-grid{grid-template-columns:1fr}}.share-link{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.share-link code{background:var(--bg);word-break:break-all;border-radius:10px;padding:.45rem .7rem;font-size:1rem}.color-row{align-items:center;gap:.5rem;display:flex}.color-row input[type=color]{border-radius:10px;width:3rem;height:2.5rem;padding:.15rem}.color-row input[type=text]{width:8rem;font-family:ui-monospace,Menlo,monospace}.swatches{flex-wrap:wrap;gap:.4rem;display:flex}.swatch{width:1.9rem;height:1.9rem;box-shadow:0 0 0 1px var(--border);border:3px solid #fff;border-radius:50%;padding:0}.swatch.on{box-shadow:0 0 0 2px var(--text)}.logo-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.logo-empty{border:2px dashed var(--border);width:72px;height:72px;color:var(--muted);text-align:center;border-radius:12px;place-items:center;font-size:.8rem;display:grid}.preview{padding:0;overflow:hidden}.preview-bar{background:var(--accent-fill);height:6px}.preview-body{flex-direction:column;gap:.6rem;padding:1rem 1.1rem 1.2rem;display:flex}.preview-body h3{margin:0;font-size:1.15rem;line-height:1.25}.preview-body .row button{padding:.45rem .9rem;font-size:.9rem}.contrast-warn{color:var(--error);font-size:.85rem}.file-button{cursor:pointer;border:2px solid var(--accent);width:-moz-fit-content;width:fit-content;color:var(--accent);background:var(--surface);border-radius:999px;align-items:center;padding:.5rem 1rem;font-weight:700;display:inline-flex}.file-button:hover{background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.file-button:focus-within{outline:3px solid color-mix(in srgb, var(--accent) 35%, #fff);outline-offset:2px}@media (max-width:760px){.org-hero .welcome-art{justify-self:center;max-width:260px}.org-hero .row>*{flex:100%;justify-content:center}}.announcement{border-left:5px solid var(--border);flex-direction:column;gap:.5rem;display:flex}.announcement.unread{border-left-color:var(--accent)}.announcement.pinned{background:color-mix(in srgb, var(--accent) 6%, var(--surface));border-left-color:var(--accent)}.announcement header{align-items:flex-start;gap:.75rem;display:flex}.announcement-icon{font-size:1.5rem;line-height:1.2}.announcement-title{flex-direction:column;flex:1;min-width:0;display:flex}.announcement-title h3{margin:0;font-size:1.05rem;line-height:1.3}.announcement-body{white-space:pre-line;margin:0;line-height:1.55}.announcement-body.clamped{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.badge.important{background:var(--accent-fill);color:#fff;font-size:.75rem;font-weight:700}.badge.new{background:var(--gold-soft);color:var(--gold-deep);font-size:.75rem;font-weight:700}.heading-note{margin-left:.6rem;font-weight:600}.announcements-section{gap:.75rem}.choice-group{border:none;flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}.choice-group legend{margin-bottom:.4rem;padding:0;font-weight:600}.pill-choices{flex-wrap:wrap;gap:.4rem;display:flex}.pill-choice{border:2px solid var(--border);background:var(--surface);cursor:pointer;min-width:2.4rem;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:.4rem .95rem;font-weight:700;display:inline-flex}.pill-choice.small{padding:.25rem .6rem;font-size:.9rem}.pill-choice.on{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff}.pill-choice:focus-within{outline:3px solid color-mix(in srgb, var(--accent) 35%, #fff);outline-offset:2px}.grade-picker{background:var(--bg);border-radius:12px;flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.grade-stage{grid-template-columns:6rem 1fr;align-items:center;gap:.5rem;display:grid}.grade-stage>.link{justify-self:start;font-weight:700}.sent-announcement.ended{opacity:.7}.sent-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.sent-head h3{margin:0;font-size:1.05rem}.read-stats{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.read-stat{flex-direction:column;gap:.3rem;display:flex}.read-stat .bar-done{background:var(--accent-fill)}.report-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.report-head p{margin:0}.report-table th[scope=row]{color:var(--text);font-size:.95rem}.report-table td:has(.meter){white-space:nowrap}.meter{vertical-align:middle;background:var(--track);border-radius:999px;width:7rem;height:.55rem;display:inline-block;overflow:hidden}.meter-fill{background:var(--accent-fill);border-radius:999px;height:100%;display:block}.meter-value{font-variant-numeric:tabular-nums;margin-left:.5rem;font-size:.9rem}.month-charts{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.month-chart{flex-direction:column;gap:.75rem;margin:0;display:flex}.month-chart figcaption{font-weight:700}.chart-area{height:11rem;padding-left:2.6rem;position:relative}.chart-grid{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0 0 1.6rem 2.6rem}.gridline{border-top:1px solid var(--border);height:0;position:relative}.tick{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem;position:absolute;top:-.6rem;right:calc(100% + .4rem)}.columns{margin:0;padding:0;list-style:none;display:flex;position:absolute;inset:0 0 0 2.6rem}.column-slot{cursor:default;outline:none;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;padding-bottom:1.6rem;display:flex;position:relative}.column{background:var(--accent-fill);border-radius:4px 4px 0 0;width:min(24px,60%);min-height:2px;position:relative}.cap-label{color:var(--text);white-space:nowrap;font-size:.8rem;font-weight:700;position:absolute;bottom:calc(100% + .2rem);left:50%;transform:translate(-50%)}.column-label{color:var(--muted);font-size:.78rem;position:absolute;bottom:.2rem}.column-tip{background:var(--text);color:var(--bg);white-space:nowrap;z-index:2;pointer-events:none;border-radius:10px;flex-direction:column;gap:.1rem;padding:.4rem .6rem;font-size:.78rem;display:none;position:absolute;bottom:calc(100% - 1rem);left:50%;transform:translate(-50%,-.5rem)}.column-tip strong{font-size:.9rem}.column-slot:hover .column-tip,.column-slot:focus-visible .column-tip{display:flex}.column-slot:hover .column,.column-slot:focus-visible .column{filter:brightness(1.12)}.column-slot:focus-visible .column-label{color:var(--text);font-weight:700}.gold-pill{background:var(--gold-soft);color:var(--gold-deep);font-variant-numeric:tabular-nums;border:1px solid var(--gold-line);border-radius:999px;align-items:center;gap:.35rem;margin-left:auto;padding:.3rem .75rem .3rem .5rem;font-weight:800;text-decoration:none;display:inline-flex}.gold-pill:hover{filter:brightness(1.05)}.gold-pill.pulse{animation:.9s ease-in-out 3 pulse}@keyframes pulse{50%{opacity:.75}}.gold-pill+.account{margin-left:0}.gold-toast{z-index:50;background:var(--ink);color:#fff;border-radius:16px;align-items:center;gap:.7rem;padding:.8rem 1.1rem;animation:.35s ease-out toast-in;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 16px 40px #0f1a3c59}.gold-toast div{flex-direction:column;line-height:1.25;display:flex}.gold-toast strong{color:var(--gold);font-size:1.05rem}.gold-toast span{opacity:.85;font-size:.85rem}@keyframes toast-in{0%{opacity:0;translate:0 1rem}to{opacity:1;translate:0}}.gold-hero{background:radial-gradient(600px 300px at 90% -20%, #2a3a78 0%, transparent 60%), linear-gradient(135deg, var(--ink), #0a1230);color:#f7f4ee;box-shadow:var(--shadow);border-radius:24px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:1.6rem 1.8rem;display:grid}.gold-balance{align-items:baseline;gap:.6rem;margin:.3rem 0;display:flex}.gold-balance svg{align-self:center}.gold-balance strong{font-family:var(--font-display);letter-spacing:-.03em;color:var(--gold);font-variant-numeric:tabular-nums;font-size:3.2rem;font-weight:600;line-height:1}.gold-balance span{opacity:.85;font-size:1.1rem}.gold-sub{color:#c7cce6;margin:0}.gold-streak{text-align:center;background:#ffffff14;border:1px solid #ffffff24;border-radius:18px;flex-direction:column;align-items:center;gap:.1rem;min-width:9rem;padding:.9rem 1rem;display:flex}.gold-streak .flame{font-size:1.6rem}.gold-streak strong{font-family:var(--font-display);font-size:2rem;line-height:1}.gold-streak small{color:#c7cce6}.reward-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;display:grid}.reward{border-top:4px solid var(--gold);flex-direction:column;gap:.4rem;display:flex}.reward.locked{opacity:.85}.reward h3{margin:0;font-size:1.1rem}.reward-icon{font-size:2rem}.reward-icon.small{font-size:1.2rem}.reward-foot{justify-content:space-between;align-items:center;margin-top:auto;padding-top:.3rem;display:flex}.reward-cost{color:var(--gold-deep);align-items:center;gap:.3rem;display:inline-flex}.reward button{text-align:center;align-self:stretch;margin-top:.4rem}.reward .inline-confirm{margin-top:.5rem}.claim-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.badge.claim-requested{background:var(--gold-soft);color:var(--gold-deep)}.badge.claim-approved{background:var(--info-bg);color:var(--info-text)}.badge.claim-delivered{background:var(--ok-bg);color:var(--ok)}.badge.claim-rejected{background:var(--error-bg);color:var(--error)}.gold-columns{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start;gap:1rem;display:grid}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.badge-card{background:var(--bg);text-align:center;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:.2rem;padding:.8rem .5rem;display:flex}.badge-card.earned{background:var(--gold-soft);border-color:var(--gold)}.badge-card:not(.earned) .badge-icon{filter:grayscale();opacity:.55}.badge-icon{font-size:1.7rem}.badge-card strong{font-size:.9rem}.bar.mini{width:80%;height:.35rem;margin-top:.2rem}.bar.mini .bar-done{background:var(--gold)}.leader-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.leader-list li{border-radius:10px;grid-template-columns:2rem 1fr auto;align-items:center;gap:.6rem;padding:.45rem .6rem;display:grid}.leader-list li.me{background:var(--gold-soft)}.leader-list li:nth-child(-n+3) .rank{background:var(--gold);color:var(--ink)}.leader-list .rank{background:var(--border);border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:.85rem;font-weight:800;display:grid}.leader-list strong{font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;display:inline-flex}.rule-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rule-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.5rem 0;display:flex}.rule-list li:last-child{border-bottom:none}.rule-list strong{color:var(--gold-deep);white-space:nowrap;text-align:right;align-items:center;gap:.3rem;display:inline-flex}.ledger{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ledger li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.ledger li:last-child{border-bottom:none}.ledger-title{flex-direction:column;min-width:0;display:flex}.ledger-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.ledger-amount.plus{color:var(--gold-deep)}.ledger-amount.minus{color:var(--error)}.claim-admin{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.claim-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.claim-actions input{min-width:12rem}.reward-table td{vertical-align:top}@media (max-width:680px){.gold-hero{grid-template-columns:1fr}.gold-streak{flex-direction:row;justify-content:center;gap:.6rem}}.quiz-card{border-top:4px solid var(--gold);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.quiz-card h2{font-family:var(--font-display);margin:.1rem 0;font-size:1.2rem}.quiz-list{flex-direction:column;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.quiz-q{border-top:1px solid var(--border);padding-top:1rem}.quiz-stem{margin:0 0 .6rem;font-size:1.02rem;line-height:1.55}.q-no{background:var(--ink);color:#fff;min-width:1.7rem;height:1.7rem;font-size:.85rem;font-weight:700;font-family:var(--font-body);border-radius:8px;place-items:center;margin-right:.6rem;padding:0 .4rem;display:inline-grid}.q-no.big{border-radius:10px;min-width:2.4rem;height:2.4rem;font-size:1.05rem}.option-list{gap:.45rem;display:grid}.option{text-align:left;border:1.5px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:.75rem;padding:.6rem .8rem;line-height:1.45;display:flex}.option:hover:not(:disabled){border-color:var(--accent)}.option.picked{border-color:var(--accent);background:var(--accent-soft)}.option.correct{border-color:var(--ok);background:var(--ok-bg)}.option.wrong{border-color:var(--error);background:var(--error-bg)}.option.static{cursor:default}.option:disabled{opacity:1}.option .letter,.option-row .letter{border:1.5px solid;border-radius:50%;flex:none;place-items:center;width:1.9rem;height:1.9rem;font-size:.85rem;font-weight:700;display:grid}.option.picked .letter{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff}.option.correct .letter{background:var(--ok);border-color:var(--ok);color:#fff}.option.wrong .letter{background:var(--error);border-color:var(--error);color:#fff}.option-list.big .option{padding:.85rem 1rem;font-size:1.05rem}.quiz-exp{background:var(--error-bg);color:var(--error-text);border-radius:10px;margin:.6rem 0 0;padding:.6rem .8rem;font-size:.95rem}.quiz-exp.ok{background:var(--ok-bg);color:var(--ok-text)}.quiz-result{border-radius:var(--radius);background:var(--gold-soft);align-items:center;gap:1.25rem;padding:1rem 1.25rem;display:flex}.quiz-result.perfect{background:linear-gradient(135deg, var(--gold-soft), color-mix(in srgb, var(--gold) 45%, var(--surface)))}.quiz-score{font-family:var(--font-display);color:var(--text);white-space:nowrap;font-size:2.4rem}.quiz-verdict{margin:0 0 .25rem;font-weight:600}.exam-hero,.exam-lobby,.result-hero{background:linear-gradient(135deg, var(--ink), #243a8a 70%, #2d4fd6);color:#fff;border-radius:20px;gap:1.5rem;padding:1.75rem;display:grid}.exam-hero h1,.exam-lobby h1,.result-hero h1{font-family:var(--font-display);margin:.2rem 0 .6rem;font-size:1.9rem;line-height:1.15}.exam-hero .muted,.exam-lobby .muted,.result-hero .muted,.exam-lobby .lead{color:#ffffffc7}.exam-lobby{grid-template-columns:1.3fr 1fr;align-items:start}.exam-lobby .exam-start{color:var(--text)}.exam-lobby .exam-start .muted{color:var(--muted)}.exam-facts{flex-wrap:wrap;gap:1.5rem;margin:1rem 0 0;display:flex}.exam-facts dt{text-transform:uppercase;letter-spacing:.06em;color:#ffffffb3;font-size:.8rem}.exam-facts dd{font-family:var(--font-display);margin:0;font-size:1.5rem}.rule-check{color:var(--muted);gap:.3rem;margin:0;padding-left:1.2rem;display:grid}.prize{color:var(--gold-deep);margin:.4rem 0 0;font-weight:600}.prize.big{color:var(--sun);font-size:1.05rem}.exam-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.exam-card{border-top:4px solid var(--border);flex-direction:column;gap:.5rem;display:flex}.exam-card.open{border-top-color:var(--gold)}.exam-card.upcoming{border-top-color:var(--accent)}.exam-card h3{font-family:var(--font-display);margin:0;font-size:1.2rem}.exam-card h3 a{color:var(--text);text-decoration:none}.exam-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.exam-format{letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:#fff;border-radius:6px;padding:.15rem .55rem;font-size:.78rem;font-weight:800}.exam-format.lgs{background:#b3261e}.exam-format.ayt{background:#6b21a8}.exam-when{margin:0;font-size:.92rem}.exam-card-foot{justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.5rem;display:flex}.exam-mine{color:var(--text);font-weight:700}.session-list{gap:1rem;margin:0;padding-left:1.4rem;display:grid}.session-head{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.section-chips{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.section-chips li{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.2rem .6rem;font-size:.85rem}.section-chips li b{color:var(--text)}.section-chips li.missing{border-color:var(--error);color:var(--error)}.exam-room{flex-direction:column;gap:1rem;display:flex}.exam-bar{z-index:5;background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:14px;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.7rem 1rem;display:grid;position:sticky;top:0}.exam-bar .muted{color:#ffffffb8}.exam-bar-title{flex-direction:column;min-width:0;display:flex}.exam-bar-right{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.exam-timer{background:#ffffff1a;border-radius:10px;flex-direction:column;align-items:center;padding:.2rem 1rem;display:flex}.exam-timer strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.7rem;line-height:1.1}.exam-timer.urgent{background:var(--error);animation:1.2s ease-in-out infinite pulse}.save-state{text-align:right;min-width:7rem}.exam-body{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1rem;display:grid}.exam-question{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.exam-q-head{align-items:center;gap:.75rem;display:flex}.exam-q-head .mark{border:1px solid var(--border);background:0 0;border-radius:999px;margin-left:auto;padding:.3rem .7rem;font-size:.85rem}.exam-q-head .mark.on{background:var(--gold-soft);border-color:var(--gold);color:var(--gold-deep)}.exam-stem{margin:0;font-size:1.15rem;line-height:1.6}.exam-nav{border-top:1px solid var(--border);justify-content:space-between;gap:.5rem;padding-top:.5rem;display:flex}.exam-end-note{text-align:right;margin:.6rem 0 0}.optik{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:1rem;display:flex;position:sticky;top:5.2rem}.optik-head{justify-content:space-between;align-items:baseline;display:flex}.optik-section{flex-direction:column;gap:.4rem;display:flex}.optik-section>.link{align-self:flex-start;padding:0;font-weight:600}.optik-grid{grid-template-columns:repeat(5,1fr);gap:.3rem;display:grid}.optik .cell{border:1.5px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;height:2.3rem;padding:0;font-size:.85rem;font-weight:600;display:grid;position:relative}.optik .cell.done{background:var(--ink);border-color:var(--ink);color:#fff}:root[data-theme=dark] .optik .cell.done{background:var(--accent-fill);border-color:var(--accent-fill)}.optik .cell.current{outline:2px solid var(--gold);outline-offset:1px}.optik .cell.marked:after{content:"★";color:var(--gold-deep);font-size:.7rem;position:absolute;top:-.45rem;right:-.2rem}.optik .cell small{opacity:.8;font-size:.6rem;position:absolute;bottom:.05rem;right:.25rem}.exam-break{text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:560px;margin:2rem auto;display:flex}.exam-break>button{align-self:center}.exam-break h1{font-family:var(--font-display);margin:0;font-size:2rem}.break-timer{font-family:var(--font-display);color:var(--text);font-variant-numeric:tabular-nums;font-size:4rem;line-height:1}.next-session{flex-direction:column;align-items:center;gap:.3rem;width:100%;display:flex}.modal-backdrop{z-index:20;background:#0f1a3c8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{width:min(460px,100%);box-shadow:var(--shadow)}.result-hero{grid-template-columns:1fr auto;align-items:center}.result-net{align-items:baseline;gap:.5rem;display:flex}.result-net strong{font-family:var(--font-display);color:var(--sun);font-size:3.4rem;line-height:1}.result-line{margin:.5rem 0 0}.ok-text{color:#9ff0d5;font-weight:600}.bad-text{color:#ffb4a8;font-weight:600}.result-rank{text-align:center;background:#ffffff1a;border-radius:16px;flex-direction:column;align-items:center;gap:.2rem;min-width:180px;padding:1rem 1.5rem;display:flex}.rank-big{font-family:var(--font-display);color:var(--sun);font-size:2.6rem;line-height:1}.result-rank small{color:#ffffffbf}.section-bars{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.section-bar-head{justify-content:space-between;gap:1rem;display:flex}.section-bar{background:var(--bg);border-radius:999px;height:.7rem;margin:.25rem 0;display:flex;overflow:hidden}.section-bar .seg.ok{background:var(--ok)}.section-bar .seg.bad{background:var(--error)}.section-bar .seg.blank{background:var(--border)}.weak-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.weak-list li{background:var(--bg);border-radius:10px;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem .7rem;display:flex}.missed-subject h3{margin:.4rem 0;font-size:1rem}.missed-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.missed-list li{background:var(--bg);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;padding:.5rem .7rem;display:flex}.missed-qs{flex-wrap:wrap;gap:.3rem;display:flex}.missed-q{font-variant-numeric:tabular-nums;border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem;font-size:.82rem}.missed-q small{color:var(--muted)}.missed-q.wrong{border-color:color-mix(in srgb, var(--error) 55%, transparent)}.format-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.75rem;display:grid}.format-card{text-align:left;border:1.5px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.9rem 1rem;display:flex}.format-card.on{border-color:var(--accent);background:var(--accent-soft)}.warn-chip,.ok-chip{border-radius:999px;padding:.1rem .5rem;font-size:.78rem}.warn-chip{background:var(--gold-soft);color:var(--gold-deep)}.ok-chip{background:var(--ok-bg);color:var(--ok)}.exam-admin-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.75rem 0;display:flex}.exam-admin-row>.table-wrap{flex-basis:100%}.table-wrap{overflow-x:auto}.results-table th,.results-table td{white-space:nowrap}.question-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.question-row{border-top:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.question-row.inactive{opacity:.6}.q-stem{margin:.2rem 0 .4rem;font-weight:600}.q-options{color:var(--muted);flex-wrap:wrap;gap:.3rem 1rem;font-size:.9rem;display:flex}.q-options .opt.correct{color:var(--ok);font-weight:600}.option-edit .option-row{align-items:center;gap:.5rem;display:flex}.option-edit .option-row input[type=text],.option-edit .option-row input:not([type]){flex:1}@media (max-width:860px){.exam-lobby,.result-hero,.exam-body{grid-template-columns:1fr}.optik{position:static}.exam-bar{grid-template-columns:1fr auto}.exam-bar-right{grid-column:1/-1;justify-content:space-between}}body.exam-focus .topbar nav,body.exam-focus .topbar .gold-pill,body.exam-focus .topbar .account{display:none}.plan-hero{background:linear-gradient(135deg, var(--ink), #1f3a6e 60%, #2d4fd6);color:#fff;border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;padding:1.75rem;display:grid}.plan-hero h1{font-family:var(--font-display);margin:.2rem 0 .5rem;font-size:2rem}.plan-hero .muted{color:#ffffffbf}.plan-summary{max-width:60ch;margin:0 0 .5rem;font-size:1.05rem;line-height:1.55}.plan-progress{background:#ffffff1a;border-radius:16px;flex-direction:column;align-items:center;gap:.3rem;min-width:180px;padding:1rem 1.25rem;display:flex}.plan-percent{font-family:var(--font-display);color:var(--sun);font-size:2.4rem;line-height:1}.plan-progress .bar{background:#fff3;border-radius:999px;width:100%;height:.5rem;display:block;overflow:hidden}.plan-progress .bar-done{background:var(--sun);height:100%;display:block}.plan-loading{text-align:center;padding:3rem 1rem}.notice{border-left:4px solid var(--gold)}.plan-week-head h2{font-family:var(--font-display);font-size:1.25rem}.plan-days{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;display:grid}.plan-day{flex-direction:column;gap:.5rem;padding:.9rem 1rem;display:flex}.plan-day.today{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.plan-day.rest{background:var(--bg)}.plan-day-head{justify-content:space-between;align-items:baseline;display:flex}.plan-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.plan-item{background:var(--bg);border-radius:10px;align-items:flex-start;gap:.6rem;padding:.5rem .6rem;display:flex}.plan-item.done{opacity:.6}.plan-item.done .plan-item-title a,.plan-item.done .plan-item-title span:first-child{text-decoration:line-through}.plan-item.kind-rest{background:0 0}.plan-check{cursor:pointer;align-items:center;gap:.4rem;display:flex}.plan-check input{width:1.1rem;height:1.1rem;accent-color:var(--ok)}.plan-icon{background:var(--ink);color:#fff;border-radius:8px;flex:none;place-items:center;width:1.6rem;height:1.6rem;font-size:.8rem;display:grid}.kind-quiz .plan-icon{background:var(--accent-fill)}.kind-review .plan-icon{background:var(--gold-deep)}.kind-exam .plan-icon{background:#b3261e}.kind-rest .plan-icon{background:var(--sun);color:var(--ink)}.plan-item-body{flex:1;min-width:0}.plan-item-title a{color:var(--text);font-weight:600;text-decoration:none}.plan-item-title a:hover{text-decoration:underline}.plan-minutes{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.85rem}.plan-list.compact .plan-item{padding:.35rem .5rem}.today-card{border-top:4px solid var(--gold)}.tip-list{gap:.4rem;margin:0;padding-left:1.2rem;display:grid}.pill-choice.weak.on{background:var(--error-bg);border-color:var(--error);color:var(--error)}.pill-choice.strong.on{background:var(--ok-bg);border-color:var(--ok);color:var(--ok-text)}@media (max-width:860px){.plan-hero{grid-template-columns:1fr}}.notif-bell{position:relative}.bell-button{border:1px solid var(--border);background:var(--surface);width:2.25rem;height:2.25rem;color:var(--text);border-radius:999px;place-items:center;padding:0;display:grid;position:relative}.bell-button:hover{border-color:var(--accent);color:var(--accent)}.bell-button.ringing svg{transform-origin:50% 15%;animation:1.4s ease-in-out bell-ring}.bell-count{background:var(--accent-fill);color:#fff;min-width:1.15rem;height:1.15rem;box-shadow:0 0 0 2px var(--bg);border-radius:999px;place-items:center;padding:0 .25rem;font-size:.7rem;font-weight:800;line-height:1;display:grid;position:absolute;top:-.3rem;right:-.35rem}@keyframes bell-ring{0%,to{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}75%{transform:rotate(2deg)}}@media (prefers-reduced-motion:reduce){.bell-button.ringing svg{animation:none}}.notif-panel{z-index:40;border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;width:min(24rem,100vw - 2rem);max-height:min(70vh,34rem);display:flex;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 18px 48px #00000047}.notif-panel>header,.notif-panel>footer{justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem .9rem;display:flex}.notif-panel>header{border-bottom:1px solid var(--border)}.notif-panel>footer{border-top:1px solid var(--border);justify-content:center;font-weight:600}.notif-panel .notif-list{overflow-y:auto}.notif-empty{margin:0;padding:1rem .9rem}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;font-weight:600}.link-button:hover{text-decoration:underline}.notif-list{margin:0;padding:0;list-style:none}.notif-list li+li{border-top:1px solid var(--border)}.notif-item{width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:flex-start;gap:.75rem;padding:.75rem .9rem;display:flex}.notif-item:hover{background:var(--surface-2)}.notif-item.unread{background:var(--accent-soft)}.notif-item.unread:hover{background:color-mix(in oklab, var(--accent-soft) 70%, var(--surface-2))}.notif-icon{background:var(--surface-2);width:2.1rem;height:2.1rem;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.notif-icon.kind-reward-claim,.notif-icon.kind-league{color:#d4a72c}.notif-icon.kind-security{color:var(--warn-text);background:var(--warn-bg)}.notif-text{flex:1;gap:.15rem;min-width:0;display:grid}.notif-text strong{font-size:.92rem;line-height:1.3}.notif-body{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem;line-height:1.4}.notif-text time{color:var(--muted);font-size:.75rem}.notif-dot{background:var(--accent-fill);border-radius:50%;flex:none;width:.55rem;height:.55rem;margin-top:.4rem}.card.flush{padding:0;overflow:hidden}.notif-page{max-width:46rem}.notif-page .page-head h1{margin:0}body.exam-focus .topbar .notif-bell{display:none}@media (max-width:640px){.notif-panel{width:auto;max-height:calc(100dvh - 5.5rem);position:fixed;top:4.25rem;left:.75rem;right:.75rem}}.emblem{vertical-align:middle;flex:none;display:inline-block}.v-sub{max-width:46rem;color:var(--muted);margin:-.4rem 0 1.4rem;line-height:1.55}.levels{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.level{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--level-ink);border-radius:20px;flex-direction:column;gap:.7rem;padding:1.1rem;display:flex}.level-head{align-items:center;gap:.7rem;display:flex}.level-head h3{margin:0;font-size:1.15rem}.level-head span{color:var(--muted);font-size:.85rem;font-weight:600}.level>p{color:var(--muted);flex:1;margin:0;font-size:.92rem;line-height:1.5}.level-chips{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.level-chips li{background:var(--level-bg);color:#1f2340;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:700}.exam-table{border:1px solid var(--border);background:var(--surface);border-radius:20px;display:grid;overflow:hidden}.exam-row{grid-template-columns:6rem minmax(12rem,1fr) minmax(0,2fr);align-items:center;gap:1rem;padding:1rem 1.2rem;display:grid}.exam-row+.exam-row{border-top:1px solid var(--border)}.exam-name{font-family:var(--font-display);color:var(--accent);font-size:1.5rem;font-weight:700}.exam-row b{display:block}.exam-row small{color:var(--muted)}.exam-note{color:var(--muted);font-size:.92rem;line-height:1.45}@media (max-width:720px){.exam-row{grid-template-columns:4.5rem 1fr}.exam-note{grid-column:1/-1}}.inst-points{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.inst-points li{background:var(--chip-ghost);border-radius:14px;gap:.15rem;padding:.8rem 1rem;display:grid}.inst-points span{color:var(--muted);font-size:.9rem}.faq{gap:.6rem;max-width:52rem;display:grid}.faq details{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:0 1.1rem}.faq summary{cursor:pointer;justify-content:space-between;gap:1rem;padding:1rem 0;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--accent);font-size:1.3rem;line-height:1;transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{color:var(--muted);margin:0 0 1rem;line-height:1.55}.v-footer-links{flex-wrap:wrap;gap:.4rem 1.1rem;display:flex}.v-footer-links a{color:var(--muted);text-decoration:none}.v-footer-links a:hover{color:var(--text);text-decoration:underline}[id]{scroll-margin-top:5.5rem}.account-menu{position:relative}.account-button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;align-items:center;gap:.5rem;padding:.25rem .6rem .25rem .25rem;font-weight:600;display:inline-flex}.account-button:hover{border-color:var(--accent)}.avatar.small{width:1.9rem;height:1.9rem;font-size:.75rem}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;overflow:hidden}.account-dropdown{z-index:40;border:1px solid var(--border);background:var(--surface);border-radius:14px;min-width:14rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 18px 48px #00000047}.account-dropdown a,.account-dropdown button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;font-weight:600;text-decoration:none;display:flex}.account-dropdown a:hover,.account-dropdown button:hover{background:var(--surface-2)}.account-dropdown .danger-item{color:var(--error);border-top:1px solid var(--border);border-radius:0 0 10px 10px;margin-top:.3rem}.account-who{border-bottom:1px solid var(--border);color:var(--muted);margin:0 0 .3rem;padding:.5rem .75rem .6rem;font-size:.9rem}@media (max-width:1180px){.account-name{display:none}}@media (max-width:520px){.register-btn{display:none}}.level-picker{flex-wrap:wrap;gap:.35rem;margin-bottom:.4rem;display:flex}.level-picker button{cursor:pointer}.tree-tools{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.7rem 0;display:flex}.tree-tools input{border-radius:999px;flex:14rem;padding:.55rem .8rem}.duration-input{border:0;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;padding:0;display:flex}.duration-input legend{margin-bottom:.3rem;padding:0;font-weight:600}.duration-input input{width:5rem}.external-url{text-overflow:ellipsis;white-space:nowrap;max-width:22rem;overflow:hidden}.reward-rules{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.reward-rules li{background:var(--chip-ghost);color:var(--muted);border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.reward-reason{background:var(--warn-bg);color:var(--warn-text);border-radius:10px;margin:0;padding:.5rem .65rem;font-size:.85rem}.rule-set{border:1px solid var(--border);border-radius:14px;margin:0;padding:.8rem 1rem 1rem}.rule-set legend{padding:0 .3rem;font-weight:700}.legal-admin{max-width:60rem}.legal-doc textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;line-height:1.5}.placeholder-chip{background:var(--chip-ghost);border-radius:6px;margin:.1rem .25rem;padding:0 .4rem;font-family:ui-monospace,Menlo,monospace;font-size:.8rem;display:inline-block}.legal-preview{border-top:1px solid var(--border);padding-top:1rem;line-height:1.6}.legal-preview h2{margin:1.1rem 0 .4rem;font-size:1.05rem}.legal-preview .missing{background:var(--warn-bg);color:var(--warn-text);border-radius:4px;padding:0 .3rem}.booklet-notice{color:var(--text);border-left:4px solid var(--gold);align-items:center;gap:.85rem;text-decoration:none;display:flex}.booklet-notice:hover{border-color:var(--gold)}.booklet-notice-icon{background:var(--accent-soft);width:2.6rem;height:2.6rem;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.booklet-page{max-width:720px}.pickup-code{background:var(--bg);border:1px dashed var(--border);border-radius:16px;justify-items:start;gap:.15rem;padding:1rem 1.2rem;display:grid}.pickup-code strong{font-family:var(--font-display);letter-spacing:.08em;font-variant-numeric:tabular-nums;font-size:2.6rem;line-height:1.1}.pickup-point{gap:.1rem;display:grid}.point-choices{border:none;gap:.5rem;margin:0;padding:0;display:grid}.point-choice{border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--surface);align-items:flex-start;gap:.75rem;padding:.75rem .9rem;display:flex}.point-choice.on{border-color:var(--accent);background:var(--accent-soft)}.point-choice input{margin-top:.25rem}.desk-link{border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent);gap:.5rem;padding:.9rem 1rem;display:grid}.desk-link code{word-break:break-all;font-size:.9rem}.stat-row{flex-wrap:wrap;gap:.5rem 2rem;margin:0;padding:0;list-style:none;display:flex}.stat-row li{display:grid}.stat-row b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.6rem}.stat-row span{color:var(--muted);font-size:.85rem}.desk{max-width:560px;margin:0 auto}.desk header h1{margin:.1rem 0}.desk header p{margin:0}.desk-code{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;text-align:center;font-size:2rem}.desk-form .primary{justify-self:stretch}.desk-student{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.desk-student strong{font-size:1.4rem}.grade-pill{background:var(--gold);color:var(--ink);border-radius:999px;padding:.25rem .75rem;font-weight:800}.desk-recent{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.desk-recent li{grid-template-columns:1fr auto auto;align-items:baseline;gap:.75rem;display:grid}.form-field.narrow-wide{max-width:22rem}.catalog-head p{max-width:60ch;margin:.25rem 0 0}.catalog-visitor{border-left:4px solid var(--gold);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.catalog-visitor p{max-width:52ch;margin:0}.watch-strip{gap:.6rem;display:grid}.watch-cards{scroll-snap-type:x proximity;grid-auto-columns:minmax(250px,280px);grid-auto-flow:column;gap:.8rem;margin:0;padding:0 0 .4rem;list-style:none;display:grid;overflow-x:auto}.watch-cards li{scroll-snap-align:start}.watch-card{background:var(--surface);height:100%;box-shadow:var(--shadow);color:var(--text);border-radius:18px;grid-template-rows:auto 1fr;text-decoration:none;display:grid;overflow:hidden}.watch-thumb{aspect-ratio:16/8;background:linear-gradient(135deg, var(--card-surface,var(--card-bg)), color-mix(in srgb, var(--card-ink) 28%, var(--surface)));place-items:center;display:grid;position:relative}.watch-play{background:var(--card-ink);color:#fff;width:2.2rem;height:2.2rem;box-shadow:0 6px 16px -6px var(--card-ink);border-radius:50%;place-items:center;padding-left:2px;font-size:.8rem;display:grid;position:absolute;bottom:.6rem;right:.7rem}.watch-card:hover .watch-play,.watch-card:focus-visible .watch-play{transform:scale(1.08)}.watch-text{gap:.2rem;padding:.75rem .9rem .9rem;display:grid}.watch-text strong{line-height:1.25}.topics .count.has{color:var(--card-ink,var(--accent));font-weight:700}@media (prefers-reduced-motion:no-preference){.watch-play{transition:transform .15s}}.topic-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.topic-head h1{margin:0}.assistant{grid-template-columns:260px 1fr;align-items:start;gap:1.25rem;min-height:calc(100dvh - 9rem);display:grid}.assistant-side{gap:.6rem;display:grid;position:sticky;top:5rem}.assistant-side>.primary{justify-self:stretch}.assistant-side p{margin:0}.assistant-list{gap:.2rem;max-height:60vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.assistant-list li{border-radius:10px;align-items:center;display:flex}.assistant-list li.on{background:var(--accent-soft)}.assistant-item{text-align:left;color:var(--text);box-shadow:none;background:0 0;border:none;flex:1;gap:.1rem;min-width:0;padding:.5rem .6rem;font-weight:600;display:grid}.assistant-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assistant-list .icon-btn{opacity:.5}.assistant-list li:hover .icon-btn,.assistant-list .icon-btn:focus-visible{opacity:1}.assistant-chat{grid-template-rows:auto auto 1fr auto auto;gap:.75rem;min-height:calc(100dvh - 9rem);display:grid}.assistant-head{align-items:center;gap:.75rem;display:flex}.assistant-head h1{margin:0;font-size:1.5rem}.assistant-list-toggle{display:none}.assistant-thread{flex-direction:column;gap:.75rem;padding:.25rem 0;display:flex}.assistant-empty{background:var(--surface);box-shadow:var(--shadow);border-radius:20px;justify-items:start;gap:.5rem;margin:auto 0;padding:1.5rem;display:grid}.assistant-empty h2{font-family:var(--font-display);margin:0}.assistant-empty p{max-width:56ch;margin:0}.assistant-ideas{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.assistant-ideas button{text-align:left;font-weight:600}.bubble-row{display:flex}.bubble-row.me{justify-content:flex-end}.bubble{border-radius:18px;max-width:min(46rem,88%);padding:.75rem 1rem;line-height:1.55}.bubble p{margin:0 0 .5rem}.bubble p:last-child,.bubble ol:last-child,.bubble ul:last-child{margin-bottom:0}.bubble ol,.bubble ul{gap:.25rem;margin:0 0 .5rem;padding-left:1.3rem;display:grid}.bubble.me{background:var(--accent-fill);color:#fff;border-bottom-right-radius:6px}.bubble.ai{background:var(--surface);box-shadow:var(--shadow);border-bottom-left-radius:6px}.bubble code{background:var(--bg);border-radius:6px;padding:.05rem .3rem;font-size:.9em}.bubble-photo{border-radius:12px;max-width:100%;max-height:320px;margin-bottom:.5rem;display:block}.typing{gap:.3rem;margin:.2rem 0;display:inline-flex}.typing span{background:var(--muted);opacity:.4;border-radius:50%;width:.45rem;height:.45rem}@media (prefers-reduced-motion:no-preference){.typing span{animation:1.1s ease-in-out infinite typing}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}}@keyframes typing{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.assistant-composer{background:var(--surface);box-shadow:var(--shadow);border-radius:20px;gap:.4rem;padding:.75rem;display:grid;position:sticky;bottom:0}.assistant-composer>p{margin:0}.composer-row{align-items:flex-end;gap:.5rem;display:flex}.composer-row textarea{resize:none;field-sizing:content;flex:1;min-height:2.6rem;max-height:10rem}.composer-attach{padding:.45rem .6rem}.composer-photo{justify-self:start;position:relative}.composer-photo img{border-radius:10px;max-height:120px;display:block}.composer-photo .icon-btn{background:var(--surface);box-shadow:var(--shadow);position:absolute;top:-.5rem;right:-.5rem}@media (max-width:760px){.assistant{grid-template-columns:1fr}.assistant-side{display:none;position:static}.assistant-side.open{display:grid}.assistant-list-toggle{display:inline-flex}.bubble{max-width:94%}}.practice{max-width:860px}.practice-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.practice-head h1{margin:0}.practice-head p{max-width:60ch;margin:.25rem 0 0}.chip-field{border:none;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;padding:0;display:flex}.chip-field legend{margin-bottom:.35rem}.chip-field button.chip{border:1.5px solid var(--border);background:var(--surface);color:var(--text);box-shadow:none}.chip-field button.chip.on{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff}.practice-setup>.primary{justify-self:start}.practice-q-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.practice-bar{background:var(--border);border-radius:999px;height:6px;overflow:hidden}.practice-bar i{background:var(--accent-fill);border-radius:inherit;height:100%;display:block}.practice-q>.primary,.practice-done .primary{justify-self:start}.practice-done h2{font-family:var(--font-display);margin:0}.option small{margin-left:auto}.mistake .exam-stem{margin:0}.insights{max-width:960px}.week-bars{grid-template-columns:repeat(8,1fr);align-items:end;gap:.6rem;height:190px;display:grid}.week-bar{text-align:center;grid-template-rows:auto 1fr auto;gap:.3rem;height:100%;display:grid}.week-track{justify-content:center;align-items:flex-end;display:flex;position:relative}.week-track i{background:var(--accent-fill);border-radius:4px 4px 0 0;width:min(100%,2.6rem);min-height:2px;display:block}.week-bar:last-child .week-track i{background:var(--gold)}.week-value{font-variant-numeric:tabular-nums;min-height:1.1em;font-size:.85rem;font-weight:700}.week-label{color:var(--muted);white-space:nowrap;font-size:.75rem}.subject-acc{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.subject-acc li{grid-template-columns:minmax(8rem,13rem) 1fr 3rem 96px 4.5rem;align-items:center;gap:.75rem;display:grid}.subject-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.acc-track{background:var(--border);border-radius:999px;height:10px;overflow:hidden}.acc-track i{border-radius:inherit;background:var(--card-ink);height:100%;display:block}.subject-acc b{font-variant-numeric:tabular-nums;text-align:right}.spark{display:block}.topic-acc{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.topic-acc li{background:var(--bg);border-radius:12px;grid-template-columns:1fr auto;align-items:baseline;gap:.4rem .75rem;padding:.6rem .75rem;display:grid}.topic-acc .topic-actions{grid-column:1/-1}.topic-acc .button{padding:.3rem .7rem;font-size:.85rem}.acc-low{color:var(--error);font-variant-numeric:tabular-nums}.acc-high{color:var(--ok);font-variant-numeric:tabular-nums}.exam-history{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.exam-history li{grid-template-columns:minmax(10rem,1.4fr) 5rem 1fr 7rem;align-items:center;gap:.75rem;display:grid}.exam-history-bar{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.exam-history-bar i{background:var(--gold);border-radius:inherit;height:100%;display:block}@media (max-width:640px){.subject-acc li{grid-template-columns:1fr 3rem}.subject-acc .acc-track{grid-area:2/1/auto/-1}.subject-acc .spark,.subject-acc li>.small{display:none}.exam-history li{grid-template-columns:1fr auto}.exam-history-bar{grid-column:1/-1}.week-bars{gap:.25rem}.week-label{font-size:.65rem}}.calendar-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.calendar-head{justify-content:space-between;align-items:center;display:flex}.calendar-head h2{text-transform:capitalize;margin:0}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;margin-top:.75rem;display:grid}.calendar-weekday{text-align:center;color:var(--muted);padding-bottom:.25rem;font-size:.78rem;font-weight:700}.calendar-day{aspect-ratio:1/.9;box-shadow:none;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;grid-template-rows:auto 1fr;justify-items:center;gap:.2rem;padding:.35rem .2rem;font-weight:600;display:grid}.calendar-day:hover{background:var(--bg)}.calendar-day.other{color:var(--muted);opacity:.5}.calendar-day.today .calendar-num{background:var(--gold);color:var(--ink);border-radius:999px;padding:0 .4rem}.calendar-day.on{border-color:var(--accent);background:var(--accent-soft)}.calendar-dots{align-items:flex-start;gap:3px;display:flex}.dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.dot.exam{background:#e8590c}.dot.plan{background:var(--accent-fill)}.dot.notice{background:#8a93b8}.dot.goal{background:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb, var(--gold) 35%, transparent)}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:.4rem 1rem;margin:.75rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.calendar-legend li{align-items:center;gap:.4rem;display:flex}.day-events,.upcoming{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.day-events li{align-items:baseline;gap:.6rem;display:flex}.day-events li.done strong{text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.upcoming li{gap:.1rem;display:grid}.upcoming .link{justify-self:start;padding:0;font-weight:700}@media (max-width:860px){.calendar-layout{grid-template-columns:1fr}}
