@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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-cyan:#00b8f0;--brand-cyan-active:#0095c2;--brand-cyan-soft:#00b8f01f;--on-brand-cyan:#071a31;--brand-navy:#071a31;--brand-navy-2:#102d4c;--canvas:#f4f8fb;--surface:#fff;--surface-soft:#eaf1f6;--surface-glass:#ffffffe0;--ink:#071a31;--text:#34475b;--muted:#5c6b7a;--placeholder:#5e6e7d;--disabled-ink:#4f5964;--disabled-surface:#e2e6e9;--hairline:#d8e2e9;--hairline-strong:#7b95a7;--danger:#c73849;--danger-soft:#c738491a;--success:#15845b;--success-soft:#15845b1a;--shadow:#071a311a;--admin-field:#071a31;--admin-field-soft:#102d4c;--on-admin:#f4f8fb;--on-admin-muted:#b2c3d2;--font-sans:"Manrope Variable", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", ui-monospace, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand-cyan:#34c7f4;--brand-cyan-active:#5fd3f7;--brand-cyan-soft:#34c7f426;--brand-navy:#e1eaf4;--brand-navy-2:#c8d6e4;--canvas:#0e141b;--surface:#141b24;--surface-soft:#1d2630;--surface-glass:#141b24f0;--ink:#f1f5f8;--text:#b1bdc9;--muted:#8794a1;--placeholder:#9ba6b0;--disabled-ink:#9aa3ac;--disabled-surface:#262d36;--hairline:#28333e;--hairline-strong:#596b7d;--danger:#e97280;--danger-soft:#e972801f;--success:#56d2a4;--success-soft:#56d2a41f;--shadow:#03040761;--admin-field:#0a1119;--admin-field-soft:#16202c;--on-admin:#f1f5f8;--on-admin-muted:#a3b4c2}}.class-brand{color:var(--ink,#071d32);align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.class-logo-asset{aspect-ratio:2.5;background:#fff;border-radius:8px;flex:none;width:112px;display:block;position:relative;overflow:hidden}.class-logo-asset img{top:50%;left:50%;transform:translate(-50%,-50%);opacity:1!important;filter:none!important;width:125%!important;max-width:none!important;height:auto!important;position:absolute!important}.class-brand-label{overflow-wrap:anywhere;font-size:14px;font-weight:750;line-height:1.35}.class-switch-link{white-space:nowrap;font-size:13px;font-weight:700}.admin-sidebar .class-brand-label{color:#f5f8fc}[hidden]{display:none!important}.workspace-shell{max-width:1240px;margin:0 auto;padding:20px 24px 60px}.workspace-topbar,.workspace-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.workspace-tabs{flex-wrap:wrap;gap:6px;margin-block:16px;display:flex}.workspace-tabs button[aria-selected=true]{background:var(--ink);color:var(--surface,#fff)}.workspace-class-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:14px;display:grid}.workspace-card{background:var(--surface,#fff);border:1px solid var(--border,#d6e0e6);border-radius:14px;min-width:0;padding:18px}.workspace-card h2{margin:0 0 8px;font-size:19px}.workspace-card p{margin:6px 0;font-size:14px}.workspace-facts{flex-wrap:wrap;gap:16px;margin:12px 0;font-size:13px;display:flex}.workspace-dialog{width:min(720px,100vw - 24px)}.workspace-dialog h2{margin-top:0;font-size:21px}.workspace-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workspace-form-grid label{gap:6px;min-width:0;font-size:14px;display:grid}.workspace-form-grid input,.workspace-form-grid select{width:100%;min-width:0}.workspace-wide{grid-column:1/-1}.workspace-table{border-collapse:collapse;width:100%;font-size:14px}.workspace-table th,.workspace-table td{text-align:left;border-bottom:1px solid var(--border,#d6e0e6);overflow-wrap:anywhere;padding:10px}.workspace-scroll{overflow:auto}.workspace-code{overflow-wrap:anywhere;font-family:monospace;font-size:13px}.workspace-danger{border:1px solid #b23446;border-radius:8px;padding:12px}.workspace-invite-qr{object-fit:contain;background:#fff;width:180px;height:180px}.platform-topbar .desktop-nav button{white-space:nowrap;flex:none}@media (width>=761px) and (width<=1100px){.platform-topbar{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding-inline:12px}.platform-topbar .class-logo-asset{width:76px}.platform-topbar .class-brand{gap:6px}.platform-topbar .class-brand-label{max-width:96px;font-size:12px;line-height:1.25}.platform-topbar .desktop-nav{gap:0}.platform-topbar .desktop-nav button{gap:4px;padding:7px 6px;font-size:12px}.platform-topbar .topbar-tools{gap:8px}.platform-topbar .theme-control>span{display:none}.platform-topbar .theme-control select{min-height:30px;padding:4px 7px;font-size:12px}.platform-topbar .clock{white-space:nowrap}.platform-topbar .clock strong{font-size:13px}.platform-topbar .clock span{font-size:10px}}@media (width<=600px){.workspace-shell{padding:14px 12px 50px}.workspace-form-grid{grid-template-columns:1fr}.class-logo-asset{width:90px}.class-brand{gap:7px}.class-brand-label{font-size:12px}.workspace-card{padding:14px}}@media (width<=760px){.admin-app>.admin-sidebar{flex-wrap:wrap;gap:8px;height:auto;min-height:62px}.admin-sidebar .class-brand{flex:1 0 calc(100% - 92px)}.admin-sidebar .class-brand-label{word-break:normal;max-width:calc(100vw - 220px);font-size:13px}.admin-sidebar>a:not(.class-brand){white-space:nowrap;flex:none}.admin-app>.admin-sidebar>.theme-control{margin:0 auto 0 0}.admin-sidebar>.theme-control select{min-height:40px}.admin-sidebar .admin-account{flex:none}.admin-sidebar .admin-account button{min-width:44px;min-height:40px;font-size:12px}}.platform-notices{gap:16px;min-width:0;display:grid}.platform-notices h1,.platform-notices h2,.platform-notices h3{margin-block:0 8px}.platform-notices h1{font-size:28px}.platform-notices p,.platform-notices li{overflow-wrap:anywhere}.platform-notices fieldset{border:0;min-width:0;margin:0;padding:0}.platform-notice-recipients{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:8px;margin-block:16px;display:grid}.platform-notice-recipients label{align-items:center;gap:8px;min-width:0;display:flex}.platform-notice-recipients input{flex:0 0 20px;width:20px;height:20px;min-height:20px}.platform-notice-recipients small{font-size:12px}.platform-notice-field{gap:6px;margin-block:14px;display:grid}.platform-notice-field input,.platform-notice-field textarea{width:100%;min-width:0}.platform-notice-preview{border:2px solid var(--accent,#087d92)}.platform-notice-body{white-space:pre-wrap}.operations-status{gap:14px;min-width:0;display:grid}.operations-status .workspace-toolbar{margin-bottom:0}.operations-status h2{margin:0;font-size:24px}.operations-status h3{margin:0 0 10px;font-size:16px}.operations-status .workspace-card{padding:16px}.operations-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;display:grid}.operations-metric{min-width:0}.operations-metrics>.operations-metric{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.operations-metric dt{color:var(--muted);font-size:12px;line-height:1.5}.operations-metric dd{color:var(--ink);overflow-wrap:anywhere;margin:6px 0 0;font-size:22px;font-weight:750}.operations-note{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.65;font-size:12px!important}.operations-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.operations-inline-metrics{flex-wrap:wrap;gap:14px 22px;margin:0 0 10px;display:flex}.operations-inline-metrics dd{font-size:19px}.operations-quota{gap:6px;margin:10px 0;font-size:14px;display:grid}.operations-quota progress{width:100%;accent-color:var(--primary)}.operations-warning{color:var(--danger);font-size:13px;line-height:1.6}.operations-table{min-width:700px}.operations-table small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.operations-status .workspace-toolbar label{gap:5px;font-size:12px;display:grid}.operations-status .workspace-toolbar input{width:210px;min-width:0}@media (width<=640px){.operations-columns{grid-template-columns:1fr}.operations-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-status h2{font-size:21px}.operations-status .workspace-toolbar input{width:100%}}.governance-policy-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;min-width:0;margin:0 0 20px;padding:18px}.governance-policy-card h2,.governance-policy-card h3{margin:0 0 12px;font-size:1.1rem}.governance-policy-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.governance-check{white-space:nowrap;align-items:center;gap:8px;display:inline-flex!important}.governance-check input[type=checkbox]{flex:0 0 20px;min-width:20px;margin:0;padding:0;width:20px!important;height:20px!important}.governance-policy-card>label,.governance-confirm>label{gap:7px;margin-bottom:12px;display:grid}.governance-relations{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:12px;margin:12px 0;padding:12px;display:flex}.governance-confirm{border:1px solid var(--line);border-radius:12px;gap:10px;margin-top:14px;padding:14px;display:grid}.governance-policy-card input,.governance-policy-card select,.governance-policy-card textarea{box-sizing:border-box;min-width:0;max-width:100%}.governance-policy-card .button-row{flex-wrap:wrap}.admin-workspace-options{gap:12px;margin:20px 0;display:grid}.admin-workspace-options>button{white-space:normal;text-align:left;overflow-wrap:anywhere;flex-direction:column;gap:8px;min-height:70px;display:flex}.admin-workspace-options>button span{font-size:.85rem;font-weight:400}.user-class-administration{margin-top:18px}.governance-privacy-switches{flex-wrap:wrap;gap:16px;margin:16px 0;display:flex}.governance-preview{background:var(--surface-2);border-radius:12px;gap:12px;padding:14px;display:grid}.governance-preview>div{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.governance-preview>div>b{min-width:165px;font-size:.9rem}@media (width<=480px){.governance-policy-card{padding:14px}.governance-policy-card .button-row>button{white-space:normal}.governance-policy-card h1{font-size:1.8rem}}.governance-announcement>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.governance-announcement-body{white-space:pre-wrap;overflow-wrap:anywhere}.group-snapshot-correction{margin-block:1rem;padding:1rem}.group-snapshot-correction p{margin-block:.6rem;line-height:1.5}.group-snapshot-members{gap:.4rem;max-height:28rem;margin-block:.8rem;display:grid;overflow:auto}.group-snapshot-member{border-bottom:1px solid var(--border);grid-template-columns:minmax(10rem,1.5fr) minmax(7rem,1fr) minmax(6rem,.8fr);align-items:center;gap:.6rem;padding:.35rem;display:grid}.group-snapshot-member .checkbox-label{align-items:center;gap:.4rem;margin:0;display:flex}.group-snapshot-member input[type=checkbox]{flex:none;width:1rem;height:1rem}.group-snapshot-member select{padding:.45rem}.group-snapshot-correction textarea{width:100%;min-height:5rem;margin-block:.4rem;display:block}@media (width<=600px){.group-snapshot-member{grid-template-columns:minmax(0,1fr) minmax(6rem,.7fr)}.group-snapshot-member small{grid-column:1/-1}}.photo-review-policy{margin-bottom:16px;padding:14px 18px}.photo-review-policy label{align-items:center;gap:10px;font-weight:700;display:flex}.photo-review-policy input[type=checkbox]{flex:0 0 20px;width:20px;height:20px}.photo-review-policy p{margin:8px 0 0;font-size:.9rem}.reward-admin{min-width:0;color:var(--ink)}.reward-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.reward-admin h1{letter-spacing:0;margin:6px 0;font-size:28px}.reward-admin h2{letter-spacing:0;margin:0 0 12px;font-size:20px}.reward-admin h3{margin:20px 0 10px;font-size:17px}.reward-admin p{overflow-wrap:anywhere;margin:8px 0;font-size:14px;line-height:1.65}.reward-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;margin:16px 0;padding:20px}.reward-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;margin:12px 0;display:grid}.reward-admin label{flex-direction:column;gap:6px;min-width:0;font-size:14px;display:flex}.reward-admin input,.reward-admin select,.reward-admin textarea{width:100%;min-width:0;min-height:42px;font:inherit}.reward-admin small{color:var(--muted);font-size:12px}.reward-admin fieldset{border:0;min-width:0;padding:0}.reward-admin label.reward-check{flex-direction:row;align-items:center;gap:10px}.reward-admin .reward-check input{flex:none;width:20px;height:20px;min-height:20px;margin:0}.reward-actions{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:16px 0 0;display:flex}.reward-rule-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:8px;margin:16px 0;display:grid}.reward-rule-list button{text-align:left;border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:10px;flex-direction:column;gap:6px;padding:12px;display:flex}.reward-rule-list button.active{outline:2px solid var(--accent);outline-offset:-2px}.reward-rule-list span{color:var(--muted);font-size:12px}.reward-message{background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:8px;margin:12px 0;padding:12px}.reward-admin .table-scroll{overflow:auto}.reward-admin th,.reward-admin td{white-space:nowrap;padding:10px;font-size:13px}.reward-curve{max-width:700px;margin-top:12px}.reward-curve>div{grid-template-columns:55px 1fr 70px;align-items:center;gap:12px;margin:5px 0;font-size:13px;display:grid}.reward-curve meter{width:100%}.reward-admin summary{cursor:pointer;padding:12px 0}@media (width<=600px){.reward-card{padding:14px}.reward-admin h1{font-size:24px}.reward-heading{gap:8px}}.growth-entry{min-width:0;max-width:100%;margin:16px 0}.growth-panel{padding-top:16px}.growth-dimensions{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:16px 0;display:grid}.growth-dimensions>div{text-align:center;border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px;display:flex}.growth-dimensions span{color:var(--muted);font-size:12px}.growth-badges{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;margin:16px 0;display:grid}.growth-badge-button{text-align:center;border:1px solid var(--line);background:var(--surface);width:100%;height:100%;color:var(--ink);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;display:flex}.growth-badge-button span{color:var(--muted);font-size:12px}.growth-badges>div{flex-direction:column;gap:8px;min-width:0;display:flex}.growth-badges strong,.growth-badges small,.growth-badges span{overflow-wrap:anywhere}.growth-badges>div>.growth-badge-button{flex:1;height:auto}.growth-badge-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.growth-badge-button small{font-size:12px}.growth-badge-icon{color:var(--muted);flex:none}.growth-badge-icon.earned{color:var(--accent)}.growth-badge-art{vertical-align:middle;justify-content:center;align-items:center;display:inline-flex;position:relative}.growth-badge-art>img{object-fit:contain;filter:grayscale(.9);opacity:.6;width:100%;height:100%;display:block}.growth-badge-art.earned>img{filter:none;opacity:1}.growth-badge-level-dots{justify-content:center;gap:3px;display:flex;position:absolute;inset:auto 0 -3px}.growth-badge-level-dots i{background:var(--accent);outline:1px solid var(--surface);border-radius:50%;width:5px;height:5px}.badge-art-preview-button{cursor:zoom-in;background:0 0;border:1px solid #0000;border-radius:14px;width:fit-content;min-height:44px;padding:4px;display:inline-flex}.badge-art-preview-button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.badge-hd-preview{text-align:center;overflow-wrap:anywhere;min-width:0}.badge-hd-preview>img{object-fit:contain;width:min(100%,460px);height:auto;margin-inline:auto;display:block}.growth-badge-detail{text-align:center;overflow-wrap:anywhere;min-width:0}.modal:has(.badge-hd-preview,.growth-badge-detail) .modal-head h2{overflow-wrap:anywhere;min-width:0}.modal:has(.badge-hd-preview,.growth-badge-detail) .modal-head .icon-button{flex:none}.growth-badge-detail>.growth-badge-icon{max-width:100%;max-height:60vw}.mission-nodes{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0;display:grid}.mission-nodes span{text-align:center;border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:14px 5px;font-size:12px}.mission-nodes .lit{border-color:var(--accent);color:var(--ink);font-weight:700}.mission-panel progress{width:100%;accent-color:var(--accent)}@media (prefers-reduced-motion:reduce){.growth-panel *{transition:none!important;animation:none!important}}.growth-share-preview{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:18px;margin-block:16px;padding:24px}.growth-share-preview.theme-orbit{background:repeating-radial-gradient(at 80% 20%,#0000 0 50px,#08a3c51c 52px 54px)}.growth-share-preview.theme-star-map{color:#eaf6ff;background:#0c263f}.growth-share-preview.theme-star-map p,.growth-share-preview.theme-star-map h3{color:inherit}.growth-share-preview.theme-star-map .growth-badge-icon.earned{color:#67d7ef}.growth-selected-badges{align-items:flex-start}.growth-selected-badges>span{align-items:center;gap:8px;max-width:100%;font-size:14px;line-height:1.5;display:flex}.growth-card-avatar{border-radius:50%;place-items:center;width:64px;height:64px;font-size:28px;display:inline-grid}.growth-card-avatar.framed{outline-offset:4px;border:3px double #079abb;outline:3px solid #079abb30}.growth-celebration{border:1px solid #078da0;border-radius:14px;padding:16px;animation:.35s ease-out growth-arrive}@keyframes growth-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.growth-celebration{animation:none}}.supporter-section,.supporter-management{min-width:0}.supporter-section{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:14px;margin:18px 0;padding:clamp(12px,2vw,22px)}.supporter-section h3,.supporter-section p{margin:0 0 12px}.supporter-heading,.supporter-actions,.supporter-route-tabs,.supporter-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.supporter-heading{justify-content:space-between;margin-bottom:12px}.supporter-heading>div,.supporter-heading strong{overflow-wrap:anywhere;min-width:0}.supporter-route-tabs,.supporter-actions{margin:12px 0}.supporter-route-tabs button,.supporter-actions button,.supporter-actions a{min-height:40px;padding:8px 13px;font-size:.82rem}.supporter-toolbar{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:end;margin:14px 0;padding:12px}.supporter-toolbar label{flex:145px}.supporter-toolbar label,.supporter-form label,.supporter-backfill-preview>label,.supporter-rule-card label{gap:6px;min-width:0;font-size:.82rem;display:grid}.supporter-toolbar input,.supporter-toolbar select,.supporter-form input,.supporter-form select,.supporter-form textarea,.supporter-backfill-preview input{width:100%;min-width:0;min-height:40px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:8px 10px;font-size:.85rem}.supporter-form textarea{resize:vertical;min-height:100px}.supporter-form{gap:14px;display:grid}.supporter-check,.supporter-toolbar label.supporter-check,.supporter-form label.supporter-check{align-items:center;gap:9px;line-height:1.6;display:flex}.supporter-check input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;min-height:20px;padding:0}.supporter-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.supporter-metrics>div{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:12px}.supporter-metrics dt{color:var(--muted);font-size:.75rem}.supporter-metrics dd{color:var(--ink);margin:6px 0 0;font-size:1.3rem;font-weight:800}.supporter-metrics small{font-size:.72rem;font-weight:500}.supporter-footnote,.supporter-fingerprint{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem;line-height:1.7}.supporter-check-card,.supporter-rule-card{border:1px solid var(--line);background:var(--surface);overflow-wrap:anywhere;border-radius:12px;margin:12px 0;padding:14px}.supporter-checks summary,.supporter-other-badges summary{cursor:pointer;padding:12px 0;font-weight:750}.supporter-rule-grid,.supporter-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.supporter-rule-level{grid-template-columns:54px minmax(0,1fr) minmax(0,1fr);align-items:end;gap:9px;margin:12px 0;display:grid}.supporter-rule-level>strong{align-self:center;font-size:.78rem}.supporter-photo-card{border:1px solid var(--line);border-radius:12px;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px;display:grid}.supporter-photo-card>img,.supporter-photo-placeholder{object-fit:cover;border-radius:8px;width:100px;height:100px}.supporter-photo-placeholder{border:1px dashed var(--line);color:var(--muted);place-items:center;padding:10px;font-size:.72rem;display:grid}.supporter-photo-card p{margin:8px 0;font-size:.8rem}.supporter-table{width:100%;font-size:.82rem}.supporter-management .table-scroll{width:100%;max-width:100%;overflow-x:auto}.supporter-management .table-scroll table{min-width:640px}.supporter-table td,.supporter-table th{text-align:left;padding:10px 12px}.supporter-table caption{text-align:left;color:var(--muted);padding:10px 0}.supporter-table small{white-space:normal;overflow-wrap:anywhere;max-width:260px;display:block}.supporter-snapshot{white-space:pre-wrap;overflow-wrap:anywhere;max-height:55vh;font-size:.72rem;overflow:auto}.supporter-backfill-preview{gap:14px;margin-top:18px;display:grid}.supporter-progress-explanation{border-left:3px solid var(--accent);margin:14px 0;padding-left:12px}.review-list.encourager-review-list article{grid-template-columns:minmax(130px,1fr) minmax(145px,1fr) minmax(185px,1.2fr) auto auto}.review-list.encourager-review-list article>div{min-width:0}.encourager-review-times strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.78rem}@media (width<=1000px){.review-list.encourager-review-list article{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.supporter-rule-grid,.supporter-photo-grid{grid-template-columns:1fr}}@media (width<=480px){.supporter-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.supporter-photo-card{grid-template-columns:72px minmax(0,1fr)}.supporter-photo-card>img,.supporter-photo-placeholder{width:72px;height:72px}.review-list.encourager-review-list article{grid-template-columns:minmax(0,1fr)}.encourager-review-times strong{white-space:normal}}.record-review-tabs{gap:8px;margin-bottom:20px;display:flex}.record-review-tabs button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 20px;font-weight:700}.record-review-tabs button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.record-review-panel[hidden]{display:none}.status-pill.valid.audit-short-lap{color:var(--danger);background:var(--danger-soft)}.lap-pace-panel{--pace-daily:#2463bd;--pace-class:#197444;--pace-history:#8650a8;min-width:0}html[data-theme=dark] .lap-pace-panel{--pace-daily:#80baff;--pace-class:#74d6a5;--pace-history:#d1a6f3}.pace-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-block:18px;display:grid}.pace-filters label,.pace-chart-controls label{min-width:0;color:var(--muted);gap:6px;font-size:14px;display:grid}.pace-filters select,.pace-chart-controls select{width:100%;min-width:0;color:var(--ink)}.pace-note{color:var(--muted);margin-block:12px;font-size:14px;line-height:1.7}.pace-short,.pace-short small{color:var(--danger);font-weight:700}.pace-chart-controls{grid-template-columns:1fr minmax(150px,1fr) minmax(150px,1fr);align-items:end;gap:16px;margin-block:24px 12px;display:grid}.lap-pace-panel h2{margin:0;font-size:20px}.pace-chart-panel{border:1px solid var(--line);background:var(--surface);border-radius:16px;min-width:0;padding:20px}.pace-chart-heading{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.pace-chart-heading span{color:var(--muted);font-size:14px}.pace-averages{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.pace-average{align-items:baseline;gap:8px;font-size:14px;display:flex}.pace-average strong,.pace-average small{margin-top:4px;display:block}.pace-average strong{font-size:18px}.pace-average small{color:var(--muted)}.pace-average-daily{color:var(--pace-daily)}.pace-average-class{color:var(--pace-class)}.pace-average-history{color:var(--pace-history)}.pace-line-key{border-top:3px solid;flex:0 0 24px}.pace-average-class .pace-line-key{border-top-style:dashed}.pace-average-history .pace-line-key{border-top-style:dotted}.pace-chart-scroll,.pace-table-scroll{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.pace-chart-scroll svg{width:100%;height:auto;display:block}.pace-grid-line{stroke:var(--line);stroke-width:1px}.pace-axis-label{fill:var(--muted);font-size:13px}.pace-baseline{stroke-width:2px}.pace-baseline-daily{stroke:var(--pace-daily)}.pace-baseline-class{stroke:var(--pace-class);stroke-dasharray:9 5}.pace-baseline-history{stroke:var(--pace-history);stroke-dasharray:2 5}.pace-curve{fill:none;stroke:var(--ink);stroke-width:2px}.pace-point{fill:var(--ink);stroke:var(--surface);stroke-width:1.5px}.pace-point-short{fill:var(--danger)}.pace-table-heading{flex-wrap:wrap;align-items:baseline;gap:12px;margin-block:28px 12px;display:flex}.pace-table-heading>span{color:var(--muted);font-size:14px}.pace-table-scroll{background:var(--surface);border:1px solid var(--line);border-radius:12px}.pace-table-scroll table{border-collapse:collapse;width:100%;min-width:980px;font-size:14px}.pace-table-scroll th,.pace-table-scroll td{text-align:left;border-bottom:1px solid var(--line);padding:14px 12px}.pace-table-scroll th{background:var(--surface-2)}.pace-table-scroll td small{margin-top:4px;display:block}.pace-pagination{justify-content:flex-end;align-items:center;gap:16px;margin-top:14px;display:flex}.pace-empty{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:12px;padding:24px}@media (width<=700px){.pace-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.pace-chart-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pace-chart-controls h2{grid-column:1/-1}.pace-chart-panel{padding:12px}.pace-averages{grid-template-columns:1fr;gap:12px}.pace-average>div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pace-average strong{margin:0;font-size:16px}.pace-average small{margin:0}}.badge-collection-page{max-width:1080px;margin:0 auto;padding:12px 0 28px}.badge-page-heading,.badge-collection-toolbar,.profile-badge-caption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.badge-page-heading h2{margin:4px 0;font-size:1.5rem}.badge-owner{overflow-wrap:anywhere;margin:16px 0 12px;font-size:1rem}.badge-equipped-row{grid-template-columns:1.2fr repeat(3,1fr);gap:8px;display:grid}.badge-slot{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:152px;color:var(--ink);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 4px;display:flex}.badge-slot strong{overflow-wrap:anywhere;font-size:.8rem}.badge-slot small{color:var(--muted)}.badge-slot:disabled{opacity:1;cursor:default}.badge-primary-slot{border-color:var(--accent)}.badge-empty-slot{min-height:48px;color:var(--muted);justify-content:center;align-items:center;font-size:1.5rem;display:flex}.badge-visible-check{align-items:center;gap:8px;margin:16px 0;font-size:.875rem;display:flex}.badge-visible-check input{flex:none;width:18px;height:18px}.badge-collection-toolbar{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.badge-collection-toolbar h3{font-variant-numeric:tabular-nums;flex:100%;margin:0}.badge-collection-toolbar label{flex:200px;align-items:center;gap:8px;min-width:0;font-size:.85rem;display:flex}.badge-collection-toolbar select{flex:1;min-width:0;padding:8px}.badge-count-note{color:var(--muted);font-size:.8rem;line-height:1.5}.badge-collection-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;display:grid}.badge-collection-item{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;display:flex}.badge-collection-item strong{overflow-wrap:anywhere;font-size:.875rem;line-height:1.4}.badge-collection-item span,.badge-collection-item small{color:var(--muted);font-size:.75rem}.badge-collection-item.is-earned{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.badge-collection-item:hover,.badge-slot:not(:disabled):hover{border-color:var(--accent)}.badge-collection-item:active,.badge-slot:not(:disabled):active{transform:translateY(1px)}.badge-legacy{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.badge-dialog{max-width:600px;max-height:calc(100dvh - 32px);color:var(--ink);overflow:auto}.badge-dialog:focus{outline:none}.badge-dialog p{overflow-wrap:anywhere;line-height:1.6}.badge-dialog h2{font-size:1.125rem}.badge-hd-art{flex-direction:column;align-items:center;display:flex}.badge-hd-art>img{aspect-ratio:1;object-fit:contain;width:min(100%,360px);height:auto}.badge-unearned{filter:grayscale();opacity:.55}.badge-detail-actions,.badge-slot-choices{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.badge-slot-choices{width:100%}.badge-slot-choices button{white-space:normal;flex:45%;min-width:0}.badge-admin-reason{flex-direction:column;gap:8px;margin:12px 0;display:flex}.profile-badge-cards{gap:12px;display:grid}.profile-badge-card{text-align:left;background:var(--surface);width:100%;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:14px}.profile-badge-caption>span{color:var(--muted);font-size:.8rem}.profile-badge-slots{grid-template-columns:1.15fr repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.profile-badge-slots>span{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.profile-badge-slots small{color:var(--muted);font-size:.7rem}.profile-badge-slots>span>span:last-child{overflow-wrap:anywhere;text-align:center;font-size:.75rem}.profile-primary-badge{border-right:1px solid var(--line);padding-right:6px}.badge-claim-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;max-height:55dvh;display:grid;overflow:auto}.badge-claim-grid article{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.badge-claim-grid strong{font-size:.875rem}.badge-claim-grid article>span:last-child{color:var(--muted);font-size:.85rem}.badge-claim-button{width:100%;margin-top:20px;display:block}.badge-claim-intro p{color:var(--muted)}@media (width<=400px){.badge-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-equipped-row{gap:4px}.badge-slot strong{font-size:.7rem}.badge-slot .growth-badge-icon{max-width:100%}.profile-badge-card{padding:10px}.profile-badge-slots{gap:4px}}@media (prefers-reduced-motion:reduce){.badge-slot,.badge-collection-item{transition:none;transform:none}}.rank-primary-badge{vertical-align:middle;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;width:44px;min-height:44px;margin-inline-start:2px;padding:2px;display:inline-flex}.rank-primary-badge:focus-visible{outline:2px solid var(--accent,#00a6ce);outline-offset:2px}.ranking-group-row>.rank-group-members{text-align:start;grid-column:1/-1;min-width:0;line-height:2;display:block}.ranking-group-row .rank-group-member{vertical-align:middle;overflow-wrap:anywhere;min-width:0;max-width:100%;color:var(--ink);align-items:center;font-size:14px;display:inline-flex}.rank-group-member-name{min-width:0}.rank-group-member .rank-primary-badge{width:26px;min-height:28px;margin-inline-start:0;padding:1px}.rank-group-member-separator{flex:none}.ranking-row.ranking-group-row{grid-template-columns:42px 40px minmax(0,1fr) max-content;align-items:start}.ranking-row.ranking-group-row>.rank-number{grid-column:1}.ranking-row.ranking-group-row>.avatar{grid-column:2}.ranking-row.ranking-group-row>.rank-person{grid-column:3;min-width:0}.ranking-row.ranking-group-row>.rank-metric{white-space:nowrap;grid-column:4;font-size:18px}.profile-badges-section,.profile-layout>.profile-card{grid-column:1/-1}.profile-badges-section{min-width:0}.profile-page .participation-quick-setting{padding:12px 16px}.profile-page .participation-quick-setting .participation-toggle{min-height:36px;margin:0}.ranking-row>.rank-metric{justify-items:end;gap:6px;display:grid}.ranking-row>.rank-metric>strong{white-space:nowrap;font:inherit}.rank-metric .rank-trend{color:var(--muted);font:500 11px/1.5 var(--font-sans);white-space:normal;max-width:128px}.rank-metric .rank-trend-up{color:var(--success)}.rank-metric .rank-trend-down{color:var(--danger)}@media (width<=760px){.platform-topbar .class-brand-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ranking-row.ranking-group-row{grid-template-columns:26px minmax(0,1fr) max-content;gap:8px;padding:12px 8px}.ranking-row.ranking-group-row>.avatar{display:none}.ranking-row.ranking-group-row>.rank-person{grid-column:2}.ranking-row.ranking-group-row>.rank-metric{white-space:nowrap;grid-column:3;font-size:clamp(12px,3.25vw,14px);line-height:1.4}.ranking-group-row .rank-metric .rank-trend{max-width:100px;font-size:10px}}@media (width<=360px){.platform-topbar .class-logo-asset{width:66px}.platform-topbar .class-brand{gap:4px}}.ranking-workspace-tabs{gap:8px;margin-bottom:16px;display:flex}.ranking-workspace-tabs button[aria-selected=true]{background:var(--ink);color:var(--surface)}.student-summary-export{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:0 0 20px;padding:20px}.student-summary-export h2{margin:0;font-size:1.1rem}.student-summary-export p{font-size:.86rem}.student-summary-export-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-summary-export label{gap:6px;min-width:0;display:grid}.student-summary-export-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.ranking-other-exports{margin:0 0 20px}.ranking-history-toggle{margin:0 0 16px}.ranking-other-exports>summary{cursor:pointer;padding:12px 0;font-weight:700}.ranking-row>.rank-metric>strong.rank-laps-distance{white-space:normal;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:4px 8px;display:flex}.rank-laps-distance>span,.rank-laps-distance>small{white-space:nowrap}.rank-laps-distance>small{color:var(--muted);font-size:.72em}@media (width<=760px){.student-summary-export-filters{grid-template-columns:minmax(0,1fr)}.ranking-row>.rank-metric>strong.rank-laps-distance{flex-direction:column;align-items:flex-end;gap:1px}}.period-select-row{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:8px 0 14px;display:flex}.period-select-row label{align-items:center;gap:10px;min-width:0;display:flex}.period-select-row select{width:auto;max-width:min(65vw,320px);min-height:36px;padding:6px 10px}.period-select-row small,.period-hint{color:var(--muted);font-size:13px}.period-actions{flex-wrap:wrap;gap:8px;display:flex}.period-editor,.period-preview{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:16px 0;padding:16px}.period-editor fieldset{grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;min-width:0;margin-bottom:12px;padding:12px;display:grid}.period-editor label,.period-confirm label{gap:5px;min-width:0;font-size:14px;display:grid}.period-editor input,.period-editor select,.period-confirm input{width:100%;min-width:0}.period-confirm{gap:12px;margin-top:12px;display:grid}.period-member-editor{grid-template-columns:1fr 1fr;gap:8px;max-height:40vh;display:grid;overflow:auto}.period-member-editor label{font-size:13px}.period-preview h2{font-size:20px}.period-preview p{font-size:14px}.period-preview .table-scroll{overflow:auto}.period-list{gap:8px;margin-top:16px;display:grid}.period-list article{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:16px;padding:14px 16px;display:flex}.period-list article>div{flex:1;min-width:0}.period-list small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.period-list article>span{font-size:13px}@media (width<=650px){.period-editor fieldset{grid-template-columns:1fr 1fr}.period-list article{flex-wrap:wrap;gap:8px}.period-list article>div{flex-basis:100%}}*{box-sizing:border-box}:root{--accent:#00a0d1;--accent-hover:#0091bd;--accent-soft:#00b8f01a;--accent-ink:#071a31;--link:#007194;--paper:#f9f6f1;--canvas:#f4f8fb;--surface:#fff;--surface-2:#eaf1f5;--surface-glass:#ffffffe0;--canvas-glass:#f4f8fbeb;--ink:#071a31;--text:#37495d;--muted:#5c6b7a;--placeholder:#5e6e7d;--disabled-ink:#4f5964;--disabled-surface:#e2e6e9;--line:#d5e0e7;--line-strong:#7b95a7;--success:#187c57;--success-soft:#187c571a;--success-border:#187c576b;--warning:#966008;--warning-soft:#d0850b1f;--warning-border:#9660086b;--danger:#c12f40;--danger-soft:#c530411a;--danger-border:#c12f406b;--inverse-surface:#071a31;--inverse-ink:#f4f8fb;--inverse-muted:#b3c3d1;--inverse-accent:#55d1f6;--photo-label-bg:#071a31e0;--photo-label-ink:#f4f8fb;--shadow:#071a3117;--radius:14px;--topbar:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{background:var(--canvas);-webkit-text-size-adjust:100%;min-width:320px}@media (width<=320px){html:has(.auth-shell){min-width:0}}body{color:var(--ink);background:var(--canvas);font-family:var(--font-sans);font-feature-settings:"ss02", "ss03";margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.72}a{color:inherit}img{max-width:100%}:focus-visible{outline:3px solid var(--link);outline-offset:2px}::selection{color:var(--accent-ink);background:var(--accent)}.icon{flex:none}.eyebrow{color:var(--link);font:750 .7rem/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px}.brand{align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand img{width:38px;height:38px}.brand .theme-logo-dark,:root[data-theme=dark] .brand .theme-logo-light{display:none}:root[data-theme=dark] .brand .theme-logo-dark{display:block}.brand>span{line-height:1.05;display:grid}.brand strong{letter-spacing:-.025em;font-size:1rem}.brand small{color:var(--muted);margin-top:5px;font-size:.68rem}.brand.compact img{width:34px;height:34px}.version-label{color:var(--muted);font:650 .72rem/1 var(--font-mono)}.public-actions,.topbar-tools,.status-page-head{align-items:center;gap:10px;display:flex}.status-page-head{justify-content:space-between;width:100%}.theme-control{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:.68rem;font-weight:700;display:inline-flex}.theme-control select{border-color:var(--line-strong);width:auto;min-width:62px;min-height:32px;color:var(--ink);background-color:var(--surface);border-radius:8px;padding:5px 22px 5px 8px;font-size:.7rem;font-weight:750}.theme-control.on-inverse{color:var(--inverse-muted)}.theme-control.on-inverse select{color:var(--inverse-ink);background-color:#ffffff17;border-color:#ffffff59}.button-primary,.button-secondary,.text-button,.icon-button{border-radius:10px;font-weight:700;transition:transform .16s,background .16s,border-color .16s}.button-primary{border:1px solid var(--accent);min-height:42px;color:var(--accent-ink);background:var(--accent);justify-content:center;align-items:center;gap:7px;padding:9px 17px;display:inline-flex}.button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.button-primary:disabled{border-color:var(--line-strong);color:var(--disabled-ink);background:var(--disabled-surface);opacity:1;transform:none}.button-secondary{border:1px solid var(--line-strong);background:0 0;min-height:40px;padding:8px 15px}.button-secondary:hover{border-color:var(--accent);transform:translateY(-1px)}.button-primary:active,.button-secondary:active,button:active{transform:scale(.97)}.text-button{color:var(--link);background:0 0;border:0;padding:0}.icon-button{border:1px solid var(--line);background:0 0;place-items:center;width:38px;height:38px;padding:0;display:grid}.button-row{flex-wrap:wrap;gap:10px;display:flex}input,select,textarea{border:1px solid var(--line-strong);width:100%;min-height:42px;color:var(--ink);background:var(--surface);caret-color:var(--link);accent-color:var(--accent);border-radius:9px;padding:9px 11px}input[type=checkbox],input[type=radio]{flex:none;width:18px;height:18px;min-height:0;margin:0;padding:0}input::placeholder,textarea::placeholder{color:var(--placeholder);opacity:1}input:disabled,select:disabled,textarea:disabled{color:var(--disabled-ink);background:var(--disabled-surface);-webkit-text-fill-color:var(--disabled-ink);opacity:1}select option{color:var(--ink);background:var(--surface)}input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--link)}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--link)}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--link)}textarea:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--link)}select:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--link)}textarea{resize:vertical;line-height:1.55}label{color:var(--text);font-size:.82rem;font-weight:650}.stack-form{gap:9px;display:grid}.stack-form label{margin-top:3px}.stack-form .button-primary{margin-top:8px}.form-error{color:var(--danger);margin:2px 0;font-size:.8rem}.form-message{color:var(--link);margin:2px 0;font-size:.8rem;line-height:1.55}.form-hint{color:var(--muted);margin:2px 0;font-size:.78rem;line-height:1.55}.privacy-note,.section-note,.download-note{max-width:65ch;color:var(--muted);font-size:.78rem;line-height:1.6}.subtle-link{color:var(--muted);text-underline-offset:3px;font-size:.78rem}.auth-shell{background:radial-gradient(circle at 84% 12%, var(--accent-soft), transparent 26rem), var(--paper);min-height:100dvh}.public-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(1160px,100% - 36px);min-height:72px;margin:auto;display:flex}.auth-layout{grid-template-columns:minmax(0,1.2fr) minmax(340px,.62fr);align-items:center;gap:clamp(36px,8vw,110px);width:min(1160px,100% - 36px);min-height:calc(100dvh - 72px);margin:auto;padding:48px 0 70px;display:grid}.auth-story h1{letter-spacing:-.058em;max-width:760px;margin:0;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.99}.auth-story>p:not(.eyebrow){max-width:54ch;color:var(--text);margin:25px 0 0;font-size:1.02rem;line-height:1.75}.auth-facts{gap:2px;margin:42px 0 0;display:flex}.auth-facts div{border-left:1px solid var(--line);min-width:112px;padding:15px 18px}.auth-facts dt{color:var(--muted);font-size:.72rem}.auth-facts dd{font:750 1.08rem/1 var(--font-mono);margin:5px 0 0}.auth-card{border:1px solid var(--line);color:var(--ink);background:var(--surface);box-shadow:0 24px 64px var(--shadow);border-radius:22px;padding:clamp(26px,4vw,42px)}.auth-tabs{background:var(--surface-2);border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:30px;padding:3px;display:grid}.auth-tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:8px}.auth-tabs button.active{color:var(--ink);background:var(--surface);box-shadow:0 3px 10px var(--shadow)}.panel-heading{margin-bottom:26px}.panel-heading h2{letter-spacing:-.035em;margin:0;font-size:1.8rem}.auth-card .privacy-note{margin:20px 0 12px}.password-reset-help{border-top:1px solid var(--line);gap:12px;margin-top:14px;padding-top:14px;display:grid}.password-reset-help>.subtle-link{color:var(--link);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;text-decoration:underline}.password-reset-help form,.forced-password-form{border-radius:var(--radius);background:var(--surface)}.forced-password-page{place-content:start center;padding:32px 0}.boot-screen,.status-page{place-content:center;gap:24px;width:min(560px,100% - 36px);min-height:100dvh;margin:auto;display:grid}.boot-screen .brand,.status-page .brand{justify-self:start}.pending-profile-page{place-content:start center;padding:32px 0}.pending-profile-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:22px}.inline-state{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:24px}.inline-state strong{font-size:1rem;display:block}.inline-state p{max-width:60ch;color:var(--muted);margin:8px 0 14px;line-height:1.6}.inline-state.error{border-color:var(--danger-border);background:var(--danger-soft)}.inline-state.success{border-color:var(--success-border);background:var(--success-soft)}.skeleton{gap:9px;display:grid}.skeleton span{background:linear-gradient(90deg, var(--surface-2), var(--surface), var(--surface-2));background-size:240% 100%;border-radius:9px;height:44px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-240% 0}}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#04101fa8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{overscroll-behavior:contain;background:var(--surface);border:1px solid #ffffff26;border-radius:20px;width:min(480px,100%);min-width:0;max-height:calc(100dvh - 36px);padding:24px;overflow-y:auto;box-shadow:0 28px 100px #030c1661}.modal-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.modal-head h2{margin:0;font-size:1.2rem}.modal:has(.manual-record-form){max-height:calc(100dvh - 36px);overflow-y:auto}.manual-record-form{gap:14px;min-width:0;margin-top:18px;display:grid}.manual-record-form p{margin:0}.manual-record-form label{gap:6px;min-width:0;display:grid}.manual-record-form input,.manual-record-form select{width:100%;min-width:0;max-width:100%}.manual-record-session{background:var(--surface-2);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:8px;gap:4px;padding:10px;font-size:.85rem;display:grid}.manual-record-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.manual-record-badge{color:var(--muted);margin-top:4px;display:block}.time-confirmation{margin-top:26px;display:grid}.time-confirmation>strong{font-size:1.25rem}.time-confirmation time{color:var(--link);font:750 clamp(2.8rem, 12vw, 4.5rem)/1 var(--font-mono);letter-spacing:-.07em;margin:8px 0 20px}.time-confirmation>p:not(.eyebrow){color:var(--muted);line-height:1.6}.platform-shell{min-height:100dvh}.platform-topbar{height:var(--topbar);border-bottom:1px solid var(--line);background:var(--canvas-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:auto 1fr auto;align-items:center;gap:30px;padding:0 max(18px,50vw - 660px);display:grid}.desktop-nav{justify-content:center;gap:3px;display:flex}.desktop-nav button{color:var(--muted);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 11px;font-size:.79rem;font-weight:700;display:inline-flex}.desktop-nav button.active{color:var(--link);background:var(--accent-soft)}.clock{justify-items:end;display:grid}.topbar-tools{justify-content:flex-end}.clock strong{font:750 .92rem/1 var(--font-mono)}.clock span{color:var(--muted);margin-top:5px;font-size:.64rem}.platform-main{min-height:calc(100dvh - var(--topbar))}.mobile-nav{display:none}.content-page{width:min(1120px,100% - 36px);margin:auto;padding:clamp(34px,6vw,72px) 0 90px}.section-heading,.admin-section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;padding-bottom:22px;display:flex}.section-heading h1,.admin-section-head h1,.run-module-head h1{letter-spacing:-.045em;margin:0;font-size:clamp(1.8rem,4vw,3rem)}.section-heading>span,.admin-section-head>span{color:var(--muted);font-size:.76rem}.admin-date-filter{min-width:170px;color:var(--muted);gap:5px;font-size:.72rem;display:grid}.admin-date-filter select{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:8px;padding:0 34px 0 11px}.announcement-list{gap:11px;margin-top:24px;display:grid}.announcement{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:23px;position:relative}.announcement.unread{border-left:4px solid var(--accent)}.announcement>div{color:var(--muted);gap:14px;font-size:.72rem;display:flex}.announcement h2{margin:12px 0 8px;font-size:1.08rem}.announcement p{max-width:65ch;color:var(--text);white-space:pre-wrap;margin:0 0 13px;line-height:1.65}.run-module{height:calc(100dvh - var(--topbar));flex-direction:column;min-height:0;padding:9px max(8px,50vw - 720px);display:flex;overflow:hidden}.run-module-head{flex:0 0 58px;justify-content:space-between;align-items:center;gap:15px;display:flex}.run-module-head .eyebrow{margin-bottom:4px;font-size:.57rem}.run-module-head h1{font-size:1.32rem}.segmented{background:var(--surface-2);border-radius:10px;gap:3px;padding:3px;display:flex}.segmented button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.segmented button.active{color:var(--ink);background:var(--surface);box-shadow:0 2px 8px var(--shadow)}.run-panel-body{flex:1;min-height:0;overflow:auto}.panel-record .run-panel-body{overflow:hidden}.record-board{flex-direction:column;height:100%;min-height:0;display:flex}.run-group-tabs{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex:0 0 31px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:3px;padding:3px;display:grid}.run-group-tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:.68rem;font-weight:750}.run-group-tabs button.active{color:var(--ink);background:var(--surface);box-shadow:0 2px 8px var(--shadow)}.ranking-group-tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:min(360px,100%);min-height:42px;margin:0 0 10px}.board-toolbar{flex:0 0 36px;justify-content:space-between;align-items:center;gap:8px;display:flex}.toolbar-actions{gap:5px;min-width:0;display:flex}.toolbar-actions button,.sync-chip,.filter-row button{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:7px;align-items:center;gap:5px;height:28px;padding:4px 8px;font-size:.66rem;font-weight:700;display:inline-flex}.sync-chip.done{color:var(--success)}.sync-chip.offline{color:var(--warning)}.sync-chip.syncing .icon{animation:1s linear infinite spin}.session-timing-strip{flex:0 0 32px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-width:0;margin-bottom:3px;display:grid}.session-timing-strip>div{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;align-content:center;gap:1px;min-width:0;padding:3px 7px;display:grid}.session-timing-strip span{color:var(--muted);flex:none;font-size:.55rem;font-weight:750}.session-timing-strip strong{min-width:0;color:var(--ink);font:720 .63rem/1 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}.board-message{color:var(--warning);background:var(--warning-soft);border-radius:6px;flex:0 0 24px;margin:0 0 3px;padding:4px 8px;font-size:.66rem}.student-grid{flex:1;grid-template-rows:repeat(10,minmax(0,1fr));grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;min-height:0;display:grid}.student-grid.supporter-grid{overscroll-behavior:contain;scrollbar-width:thin;grid-template-rows:none;grid-auto-rows:max(34px,10% - 2.7px);align-content:start;overflow-y:auto}.student-card{--lap-color:var(--surface);--lap-ink:var(--accent-ink);--student-main-size:clamp(1rem, 2vw, 1.35rem);--student-meta-size:clamp(.36rem, .65vw, .55rem);border:1px solid #2632402b;border-color:color-mix(in srgb, var(--lap-ink) 20%, transparent);min-width:0;min-height:0;color:var(--lap-ink);background:var(--lap-color);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;align-items:stretch;padding:2px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff7a}.student-card:not(.unavailable):hover{border-color:var(--accent)}.student-card.unavailable{color:var(--disabled-ink);cursor:not-allowed;background:var(--disabled-surface)!important}.student-card.ended{color:var(--lap-ink);background:var(--lap-color);cursor:not-allowed}.student-card.group-sorted{border-top:3px solid var(--group-accent)}.student-card.group-sorted:before{content:"";background:var(--group-accent);pointer-events:none;height:3px;position:absolute;inset:0 0 auto}.student-card.group-sorted .student-meta{font-weight:800}.student-card.group-sorted .student-main{z-index:1;position:relative}.student-card:disabled{opacity:1}.student-card.placeholder{opacity:.22;background:0 0;border-style:dashed}.student-main{min-width:0;min-height:0;line-height:1.45;font-size:var(--student-main-size);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;display:flex}.student-main strong{max-width:100%;font-size:var(--student-main-size);white-space:nowrap;flex:none;font-weight:800}.board-status-actions{align-items:center;gap:6px;display:flex}.end-session-button{font-weight:750;color:var(--danger)!important;border-color:var(--danger-border)!important;background:var(--danger-soft)!important}.end-session-confirm{gap:18px;margin-top:22px;display:grid}.end-session-confirm>strong{color:var(--danger);text-align:center}.end-session-confirm>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.student-main .student-number{font:780 clamp(.5rem, 1vw, .78rem)/1 var(--font-mono)}.student-card[data-display-mode=number] .student-number{font-size:var(--student-main-size);font-weight:800}.student-meta{border-top:1px solid #1b253224;border-top-color:color-mix(in srgb, var(--lap-ink) 18%, transparent);min-height:7px;font-size:var(--student-meta-size);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:0 0 14%;padding-top:1px;line-height:1;overflow:hidden}.student-card.group-sorted:not([data-display-mode=both]) .student-meta{flex:none;min-height:0;font-size:clamp(8px,.75vw,10px);line-height:1.1}.lap-count{z-index:1;font:800 clamp(.38rem, .66vw, .56rem)/1 var(--font-mono);position:absolute;top:2px;right:3px}.board-foot{color:var(--muted);white-space:nowrap;flex:0 0 23px;justify-content:space-between;align-items:center;gap:10px;font-size:.59rem;display:flex;overflow:hidden}.records-panel,.encourager-panel{width:min(980px,100%);margin:auto;padding:14px 0 80px}.filter-row{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:15px;display:flex}.record-filter-tabs{gap:5px;display:flex;overflow-x:auto}.record-filter-tabs.compact{margin-left:auto}.date-chips{gap:5px;display:flex;overflow-x:auto}.filter-row button.active,.date-chips button.active{color:var(--link);border-color:var(--accent);background:var(--accent-soft)}.record-list{gap:6px;display:grid}.record-row{border:1px solid var(--line);border-left:3px solid var(--success);background:var(--surface);border-radius:9px;grid-template-columns:130px minmax(150px,1fr) 82px minmax(0,170px) 38px;align-items:center;gap:12px;padding:10px 12px;font-size:.78rem;display:grid}.record-person{gap:3px;min-width:0;display:grid}.record-person strong,.record-person small,.duplicate-detail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-person small,.duplicate-detail{color:var(--muted);font-size:.66rem}.record-row.status-duplicate{border-left-color:var(--warning);background:var(--warning-soft)}.record-row.status-invalid,.record-row.status-deleted{border-left-color:var(--danger);background:var(--danger-soft)}.record-row time{color:var(--muted);font:650 .72rem/1 var(--font-mono)}.record-row>span{color:var(--muted)}.record-row button{border:1px solid var(--line);background:0 0;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.panel-intro{margin-bottom:20px}.panel-intro h2{margin:0;font-size:1.8rem}.encourager-intro-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;display:flex}.encourager-submit-top{white-space:nowrap;flex:none;min-height:38px;padding:8px 13px;font-size:.76rem}.panel-intro>p:last-child{color:var(--muted)}.session-list{gap:7px;display:grid}.session-option{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:22px 180px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px;display:grid}.session-option>input{width:17px;min-height:17px}.session-selection-placeholder{width:17px;height:17px}.session-option>div{gap:4px;display:grid}.encourager-session-date .encourager-count{color:var(--link);white-space:nowrap;font-size:.65rem;font-weight:720}.session-option div span,.encourager-names{color:var(--muted);font-size:.72rem}.encourager-names{white-space:normal;flex-wrap:wrap;align-content:center;line-height:1.55;overflow:visible;row-gap:5px!important;display:flex!important}.encourager-names>span{white-space:nowrap}.session-option.locked{background:var(--surface-2)}.session-withdraw-button{white-space:nowrap;padding:6px 9px}.encourager-submit-bottom{margin-top:16px}.inline-message{color:var(--link);background:var(--accent-soft);border-radius:8px;padding:9px 11px;font-size:.79rem}.status-pill{width:max-content;color:var(--muted);background:var(--surface-2);border-radius:999px;justify-content:center;padding:4px 8px;font-size:.66rem;font-weight:750;display:inline-flex}.status-pill.approved,.status-pill.valid{color:var(--success);background:var(--success-soft)}.status-pill.hidden{color:var(--warning);background:var(--warning-soft)}.status-pill.trashed{color:var(--danger);background:var(--danger-soft)}.status-pill.pending,.status-pill.duplicate{color:var(--warning);background:var(--warning-soft)}.status-pill.rejected,.status-pill.invalid,.status-pill.deleted,.status-pill.cancelled{color:var(--danger);background:var(--danger-soft)}.ranking-tabs{gap:6px;margin:22px 0;display:flex;overflow-x:auto}.ranking-tabs button{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:.76rem;font-weight:700}.ranking-tabs button.active{color:var(--link);border-color:var(--accent);background:var(--accent-soft)}.ranking-export{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:minmax(190px,1fr) 150px auto 145px 145px auto auto;align-items:end;gap:9px;margin:0 0 20px;padding:16px;display:grid}.ranking-export>div,.ranking-export label{gap:5px;display:grid}.ranking-export small,.ranking-export label span,.ranking-export>p{color:var(--muted);font-size:.68rem}.ranking-export>p{grid-column:1/-1;margin:0}.ranking-export-history{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:12px;margin:-4px 0 20px;padding:16px;display:grid}.ranking-export-history>header,.ranking-export-source>header,.ranking-export-records article,.ranking-export-history-actions,.ranking-export-record-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.ranking-export-history>header>div:first-child,.ranking-export-source>header>div:first-child,.ranking-export-records article>div:first-child,.ranking-export-history-actions label{gap:4px;display:grid}.ranking-export-history small,.ranking-export-history-actions label span{color:var(--muted);font-size:.7rem}.ranking-export-records{gap:8px;display:grid}.ranking-export-records article{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:10px 12px}.ranking-export-record-actions{flex:none}.ranking-export-source{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.ranking-export-source-table{border:1px solid var(--line);border-radius:8px;max-height:430px;overflow:auto}.ranking-export-source table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.74rem}.ranking-export-source th,.ranking-export-source td{border-bottom:1px solid var(--line);text-align:left;padding:8px 10px}.ranking-export-source th{z-index:1;color:var(--inverse-ink);background:var(--inverse-surface);position:sticky;top:0}.ranking-list{gap:6px;display:grid}.ranking-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:42px 40px minmax(170px,1fr) minmax(150px,auto) 80px;align-items:center;gap:12px;min-height:62px;padding:9px 15px;display:grid}.ranking-row.rank-1{border-color:var(--warning-border);background:var(--warning-soft)}.rank-number{color:var(--muted);font:750 .82rem/1 var(--font-mono)}.avatar,.profile-avatar{color:var(--inverse-ink);background:var(--inverse-surface);border-radius:50%;place-items:center;font-weight:800;display:grid;overflow:hidden}.avatar{width:38px;height:38px}.avatar img,.profile-avatar img{object-fit:cover;width:100%;height:100%}.rank-person{gap:3px;display:grid}.rank-person span{color:var(--muted);font-size:.68rem}.badge-strip{justify-content:flex-end;gap:4px;display:flex}.badge-strip span{border:1px solid var(--badge);white-space:nowrap;border-radius:999px;padding:4px 6px;font-size:.56rem}.rank-metric{text-align:right;font:780 .9rem/1 var(--font-mono)}.level-guide{color:var(--inverse-ink);background:var(--inverse-surface);border-radius:16px;margin-top:30px;padding:24px}.level-guide .eyebrow{color:var(--inverse-accent)}.level-guide h2{margin:0}.level-guide>p:not(.eyebrow){max-width:65ch;color:var(--inverse-muted);line-height:1.6}.level-guide>div{flex-wrap:wrap;gap:6px;display:flex}.level-guide span{font:650 .66rem/1 var(--font-mono);border:1px solid #ffffff2b;border-radius:7px;padding:6px 8px}.photo-upload-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:24px 0;overflow:hidden}.photo-upload-panel>summary{min-height:50px;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-weight:750;display:flex}.photo-upload-panel>summary::marker{color:var(--link)}.photo-upload-panel>summary span{align-items:center;gap:7px;display:inline-flex}.photo-upload-panel>summary small{color:var(--muted);font-size:.7rem;font-weight:550}.photo-upload-panel[open]>summary{border-bottom:1px solid var(--line)}.photo-uploader{background:0 0;grid-template-columns:1fr 1.3fr 1.3fr;align-items:end;gap:10px;margin:0;padding:18px;display:grid}.photo-uploader>div{gap:6px;min-width:0;display:grid}.photo-upload-help,.photo-uploader .photo-upload-actions{grid-column:1/-1}.photo-uploader .photo-upload-actions{flex-wrap:wrap;gap:10px;display:flex}.photo-upload-help{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.photo-upload-queue{gap:8px;margin:0;padding:0 18px 18px;list-style:none;display:grid}.photo-upload-item{border:1px solid var(--line);background:var(--surface-2);min-width:0;color:var(--ink);border-radius:10px;padding:12px;font-size:13px}.photo-upload-item-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.photo-upload-item-header strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.photo-upload-item-header button{flex-shrink:0;min-height:36px;padding:6px 12px}.photo-upload-item progress{width:100%;height:12px;accent-color:var(--link);margin-top:8px;display:block}.photo-upload-item p{overflow-wrap:anywhere;margin:6px 0 0}.photo-upload-item.is-failed{border-color:var(--danger)}.photo-upload-item.is-failed>span,.photo-upload-item.is-failed p{color:var(--danger)}.photo-upload-item.is-success>span{color:var(--link)}.photo-upload-message{color:var(--ink);margin:0;padding:0 18px 18px;font-size:14px}.photo-reselect{color:var(--ink);gap:6px;margin-top:10px;font-size:13px;display:grid}.photo-reselect input{width:100%;min-width:0;font-size:12px}.photo-uploader .check-row{grid-column:1/-1}.check-row{align-items:center;gap:8px;display:flex}.check-row input{width:17px;min-height:17px}.gallery-toolbar{justify-content:space-between;align-items:end;gap:8px;margin:18px 0;display:flex}.gallery-toolbar>div:first-child{gap:3px;display:grid}.gallery-toolbar>div:first-child>span{color:var(--muted);font-size:.72rem}.gallery-back{align-items:center;gap:6px;min-height:42px;display:inline-flex}.gallery-filters{gap:8px;display:flex}.gallery-filters label{color:var(--muted);gap:5px;font-size:.68rem;display:grid}.gallery-filters select{width:auto;min-width:150px}.album-list{gap:14px;display:grid}.album-row{border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);background:var(--surface);box-shadow:0 8px 28px var(--shadow);text-align:left;gap:12px;padding:14px;transition:border-color .16s,transform .16s;display:grid}.album-row:hover{border-color:var(--line-strong);transform:translateY(-2px)}.album-row-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.album-row-head>span:first-child{gap:4px;display:grid}.album-row-head strong{font-size:1rem}.album-row-head small{color:var(--muted);font-size:.7rem}.album-open{color:var(--link);white-space:nowrap;font-size:.75rem;font-weight:750}.album-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.album-cover{aspect-ratio:4/3;background:var(--surface-2);border-radius:10px;min-width:0;position:relative;overflow:hidden}.album-cover img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:transform .22s;display:block}.album-row:hover .album-cover img{transform:scale(1.025)}.album-cover small{max-width:calc(100% - 14px);color:var(--photo-label-ink);background:var(--photo-label-bg);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:4px 6px;font-size:.66rem;line-height:1;position:absolute;bottom:7px;right:7px;overflow:hidden}.gallery-detail>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:12px;margin:28px 0 16px;padding-bottom:14px;display:flex}.gallery-detail>header h2{margin:0}.gallery-detail>header>span{color:var(--muted);font-size:.76rem}.photo-grid{columns:3 260px;column-gap:10px}.photo-card{break-inside:avoid;border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-bottom:10px;overflow:hidden}.photo-card .photo-open{background:var(--surface-2);cursor:zoom-in;border:0;border-radius:0;width:100%;padding:0;display:block}.photo-card .photo-open img{background:var(--surface-2);width:100%;display:block}.photo-card>div{padding:11px}.photo-card>div>span{color:var(--muted);font-size:.68rem}.photo-card p{color:var(--text);margin:7px 0;font-size:.78rem;line-height:1.5}.photo-card>div>div{justify-content:space-between;align-items:center;display:flex}.photo-card>div button{background:var(--surface-2);border:0;border-radius:7px;align-items:center;gap:4px;padding:5px 7px;display:inline-flex}.photo-card>div button.liked{color:var(--danger);background:var(--danger-soft)}.modal:has(.photo-viewer){width:min(1100px,100%);max-height:calc(100dvh - 24px);overflow:auto}.photo-viewer{gap:12px;margin-top:16px;display:grid}.photo-viewer>img{object-fit:contain;touch-action:auto;-webkit-touch-callout:default;background:#050b12;border-radius:12px;width:100%;max-height:calc(100dvh - 190px)}.photo-viewer>p{color:var(--muted);text-align:center;margin:0}.photo-viewer>div{grid-template-columns:1fr auto 1fr;gap:8px;display:grid}.photo-viewer>div button:last-child{justify-self:stretch}.download-note{margin-top:18px}.my-photo-manager{gap:12px;margin-top:16px;display:grid}.my-photo-manager-toggle{justify-self:start}.my-photo-manager-body{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:14px;padding:16px;display:grid}.my-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.my-photo-grid article{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;min-width:0;overflow:hidden}.my-photo-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.my-photo-grid article>div{gap:7px;padding:10px;display:grid}.my-photo-grid small{color:var(--muted)}.profile-layout{grid-template-columns:1.1fr .9fr;gap:14px;margin-top:24px;display:grid}.profile-section{align-content:start}.profile-section h2{margin:2px 0 12px;font-size:1.1rem}.profile-edit-toggle{white-space:nowrap}.profile-readonly{grid-column:1/-1}.profile-summary-list{border:1px solid var(--line);background:var(--line);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.profile-summary-list div{background:var(--surface);gap:5px;padding:13px;display:grid}.profile-summary-list dt{color:var(--muted);font-size:.68rem}.profile-summary-list dd{color:var(--ink);margin:0;font-weight:750}.binding-section,.participation-section{gap:12px;display:grid}.participation-quick-setting{grid-column:1/-1}.profile-facts{grid-template-columns:auto 1fr;gap:8px 14px;display:grid}.profile-facts span,.participation-section small,.pending-change small{color:var(--muted)}.pending-change{border:1px solid var(--warning-border);background:var(--warning-soft);border-radius:9px;gap:7px;padding:12px;display:grid}.binding-change-form{margin-top:4px}.participation-toggle{justify-content:space-between;align-items:center;gap:14px;min-height:64px;display:flex}.participation-toggle>span{gap:4px;display:grid}.participation-toggle input{width:44px;height:24px;accent-color:var(--accent)}.profile-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-column:1/-1;align-items:center;gap:16px;padding:22px;display:flex}.profile-avatar{width:68px;height:68px;font-size:1.4rem}.profile-card h2{margin:0 0 6px}.profile-card p{color:var(--muted);margin:0}.upload-avatar{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-content:center;place-items:center;gap:8px;min-height:120px;display:grid}.upload-avatar input{opacity:0;width:1px;height:1px;position:absolute}.compact-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:18px}.danger-button{width:max-content;color:var(--danger)}.admin-app{background:var(--canvas);grid-template-columns:230px minmax(0,1fr);min-height:100dvh;display:grid}.admin-sidebar{height:100dvh;color:var(--inverse-ink);background:var(--inverse-surface);flex-direction:column;padding:24px 16px 16px;display:flex;position:sticky;top:0}.admin-sidebar .brand small{color:var(--inverse-muted)}.admin-sidebar nav{flex:1;align-content:start;gap:2px;min-height:0;margin-top:30px;display:grid;overflow-y:auto}.admin-sidebar nav button{min-height:40px;color:var(--inverse-muted);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:.78rem;display:flex;position:relative}.admin-sidebar nav button.active{color:var(--inverse-ink);background:#ffffff17}.admin-sidebar nav button b{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;right:8px}.admin-account{border-top:1px solid #ffffff1a;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;margin-top:10px;padding-top:15px;display:grid}.admin-sidebar>.theme-control{margin-top:auto}.admin-sidebar>.brand,.admin-sidebar>.theme-control,.admin-sidebar>.admin-account{flex-shrink:0}.admin-account>span{width:32px;height:32px;color:var(--accent-ink);background:var(--accent);border-radius:50%;place-items:center;font-weight:800;display:grid}.admin-account>div{gap:3px;display:grid;overflow:hidden}.admin-account strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.admin-account small{color:var(--inverse-muted);font-size:.6rem}.admin-account button{color:var(--inverse-muted);background:0 0;border:0;padding:4px;font-size:.65rem}.admin-content{width:min(1180px,100% - 48px);margin:0 auto;padding:42px 0 90px}.admin-mobile-nav{display:none}.admin-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:22px 0;display:grid}.admin-section-note{max-width:80ch;color:var(--muted);line-height:1.6}.password-reset-actions{grid-template-columns:minmax(150px,1fr) auto auto;gap:6px;min-width:390px;display:grid}.password-reset-actions small{color:var(--danger);grid-column:1/-1}.admin-metrics button{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:12px;justify-items:start;padding:18px;display:grid}.admin-metrics span,.admin-metrics small{color:var(--muted);font-size:.7rem}.admin-metrics strong{font:750 2.2rem/1 var(--font-mono);margin:12px 0}.admin-two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:22px}.admin-card h2,.inline-create-form h2{margin:0 0 17px;font-size:1rem}.admin-card p{color:var(--text);line-height:1.65}.definition-list{margin:0}.definition-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:9px 0;display:flex}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0;font-weight:750}.status-line{color:var(--success);gap:8px;font-size:.78rem;display:flex}.inline-create-form{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:1fr 1fr 1.2fr auto;align-items:end;gap:8px;margin:22px 0;padding:17px;display:grid}.inline-create-form h2{grid-column:1/-1}.admin-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-top:20px;overflow-x:auto}.admin-subhead{justify-content:space-between;align-items:end;gap:16px;margin:34px 0 14px;display:flex}.admin-subhead h2{margin:3px 0 0}.admin-record-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,165px),1fr));align-items:end;gap:10px;margin-bottom:16px;display:grid}.admin-record-filters label{gap:5px;min-width:0;display:grid}.admin-record-filters select{width:100%;min-width:0;max-width:100%}.admin-record-result-count{color:var(--muted);margin:0 0 12px;font-size:.78rem}.table-sort{color:inherit;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:0;align-items:center;gap:4px;padding:0;font-weight:700;display:inline-flex}.table-sort:hover,.table-sort:focus-visible{color:var(--accent)}.admin-record-filters label span{color:var(--muted);font-size:.72rem;font-weight:700}table{border-collapse:collapse;width:100%;font-size:.75rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:11px 12px}th{color:var(--muted);background:var(--surface-2);letter-spacing:.04em;font-size:.67rem}td>strong,td>small{display:block}td>small{color:var(--muted);margin-top:4px}.table-actions{flex-wrap:wrap;gap:4px;display:flex}.table-actions button,.student-admin-card button{border:1px solid var(--line-strong);background:0 0;border-radius:6px;padding:5px 8px;font-size:.66rem;font-weight:700}.table-actions button:hover{border-color:var(--accent)}.table-actions .danger,button.danger{color:var(--danger)}.student-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:20px;display:grid}.student-admin-card{border:1px solid var(--line);background:var(--surface);border-radius:9px;grid-template-columns:34px 1fr 1fr 60px;align-items:center;gap:6px;padding:9px;display:grid}.student-admin-card.readonly{grid-template-columns:24px 38px minmax(0,1fr) auto;min-height:92px}.student-admin-card.editing{grid-template-columns:30px 42px 1fr 1fr}.admin-student-avatar{background:var(--accent-soft);border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid;overflow:hidden;color:var(--ink)!important}.admin-student-avatar img{object-fit:cover;width:100%;height:100%}.student-admin-card .avatar-file{border:1px dashed var(--line-strong);cursor:pointer;border-radius:7px;justify-content:center;min-height:34px}.student-admin-card .avatar-file input{opacity:0;width:1px;height:1px;position:absolute}.student-edit-actions{justify-content:flex-end;gap:5px;display:flex}.student-admin-card .student-edit-actions button{grid-column:auto}.student-admin-card input,.student-admin-card select{min-height:34px;padding:5px 7px;font-size:.72rem}.student-admin-card label{align-items:center;gap:3px;font-size:.65rem;display:flex}.student-admin-card label input{width:14px;min-height:14px}.student-admin-card>span:not(.roster-order){color:var(--muted);font-size:.62rem}.roster-order{color:var(--muted);font:650 .7rem/1 var(--font-mono);grid-row:1/3}.student-admin-card button,.student-admin-card.readonly>button{grid-column:4}.student-admin-card.readonly .roster-order{grid-row:auto}.student-roster-details{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.student-roster-details strong{font-size:.92rem}.student-roster-details span{color:var(--muted);font-size:.7rem;line-height:1.5}.student-roster-edit-group{overflow-wrap:anywhere;grid-column:3/-1}.student-roster-tools{border:1px solid var(--line);background:var(--surface);border-radius:11px;flex-wrap:wrap;align-items:end;gap:10px;padding:12px;display:flex}.student-roster-tools label{min-width:0;color:var(--muted);flex:130px;gap:5px;font-size:.72rem;display:grid}.student-roster-tools .student-roster-search{flex:2 230px}.student-roster-tools input,.student-roster-tools select,.student-roster-tools button{min-width:0;min-height:38px;padding:7px 10px;font-size:.76rem}.student-roster-summary{color:var(--muted);margin:10px 0 0;font-size:.76rem}.student-roster-tools button{color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;border-radius:7px}.student-group-workspace-tools{border:1px solid var(--line);background:var(--surface);border-radius:11px;grid-template-columns:minmax(300px,1.3fr) auto minmax(220px,.8fr);align-items:end;gap:12px;margin:16px 0 12px;padding:12px;display:grid}.student-group-create{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px;display:grid}.student-group-create label,.student-group-search{gap:5px;min-width:0;display:grid}.student-group-create label>span,.student-group-search>span{color:var(--muted);font-size:.66rem;font-weight:750}.student-group-create input,.student-group-search input{min-height:36px;padding:6px 9px}.student-group-create .button-primary{min-height:36px;padding:7px 13px}.student-group-summary{border-right:1px solid var(--line);border-left:1px solid var(--line);min-height:36px;color:var(--muted);white-space:nowrap;align-items:center;gap:12px;padding:0 12px;font-size:.7rem;display:flex}.student-group-summary span{align-items:baseline;gap:4px;display:inline-flex}.student-group-summary strong{color:var(--ink);font:800 1rem/1 var(--font-mono)}.student-group-summary .attention,.student-group-summary .attention strong{color:var(--warning)}.student-group-board{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;display:grid}.student-group-panel{border:1px solid var(--line);background:var(--surface);border-radius:11px;min-width:0;overflow:hidden}.student-group-panel>header{border-bottom:1px solid var(--line);background:var(--surface-2);grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-height:48px;padding:8px 10px;display:grid}.student-group-panel.unassigned>header{background:var(--warning-soft)}.student-group-order{color:var(--accent);font:750 .68rem/1 var(--font-mono)}.student-group-panel.unassigned .student-group-order{color:var(--warning)}.student-group-title{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.student-group-title>div:first-child{align-items:baseline;gap:7px;min-width:0;display:flex}.student-group-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.student-group-title small{color:var(--muted);font:650 .64rem/1 var(--font-mono);white-space:nowrap}.student-group-actions{gap:4px;display:flex}.student-group-actions button,.student-group-rename button{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;min-height:29px;padding:4px 7px;font-size:.64rem;font-weight:700}.student-group-actions button:hover:not(:disabled),.student-group-rename button:hover:not(:disabled){border-color:var(--accent);color:var(--link)}.student-group-actions button:active:not(:disabled),.student-group-rename button:active:not(:disabled){transform:scale(.97)}.student-group-rename{grid-template-columns:minmax(100px,1fr) auto auto;gap:5px;min-width:0;display:grid}.student-group-rename input{min-width:0;min-height:31px;padding:4px 7px}.student-group-members{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-group-member{border-top:1px solid var(--line);grid-template-columns:minmax(80px,1fr) minmax(100px,.72fr);align-items:center;gap:7px;min-width:0;padding:7px 9px;display:grid}.student-group-member:nth-child(-n+2){border-top:0}.student-group-member:nth-child(odd){border-right:1px solid var(--line)}.student-group-member-identity{gap:2px;min-width:0;display:grid}.student-group-member-identity strong,.student-group-member-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-group-member-identity strong{font-size:.75rem}.student-group-member-identity small{color:var(--muted);font-size:.59rem}.student-group-member select{border-radius:6px;min-width:0;min-height:31px;padding:4px 24px 4px 6px;font-size:.66rem}.student-group-empty{color:var(--muted);text-align:center;grid-column:1/-1;margin:0;padding:17px 12px;font-size:.68rem}.student-group-save-bar{z-index:20;border:1px solid var(--accent);background:var(--surface-glass);box-shadow:0 10px 36px var(--shadow);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;font-size:.72rem;display:flex;position:sticky;bottom:14px}.student-group-save-bar>span{color:var(--text)}.student-group-save-bar>span strong{color:var(--link);font:800 .9rem/1 var(--font-mono)}.student-group-save-bar>div{gap:7px;display:flex}.student-group-save-bar button{min-height:34px;padding:6px 11px}.server-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.server-status-grid .admin-card{gap:10px;display:grid}.server-status-grid strong{font:800 clamp(1.8rem, 4vw, 3rem)/1 var(--font-mono)}.server-status-grid progress{width:100%;height:10px;accent-color:var(--accent)}.server-status-grid p,.server-status-grid small{margin:0}.schedule-form{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0;padding:18px;display:grid}.schedule-form>div{gap:6px;display:grid}.schedule-form fieldset{border:0;grid-column:1/-1;gap:10px;padding:4px 0;display:flex}.schedule-form fieldset label{align-items:center;gap:4px;display:flex}.schedule-form fieldset input{width:15px;min-height:15px}.schedule-form>.button-primary{width:max-content}.session-admin-list{gap:6px;display:grid}.session-admin-card{border:1px solid var(--line);background:var(--surface);border-radius:9px;min-width:0;padding:12px}.session-admin-card.is-expired{background:var(--surface-2)}.session-admin-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.session-admin-summary>div:first-child{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.session-admin-summary>div:first-child>span,.session-admin-summary small,.session-admin-edit-actions>span{color:var(--muted);font-size:.75rem;line-height:1.5}.session-admin-summary-actions,.session-admin-edit-actions{align-items:center;gap:8px;display:flex}.session-admin-summary-actions{flex-shrink:0}.session-admin-card button{border:1px solid var(--line-strong);white-space:nowrap;border-radius:7px;min-height:36px;padding:6px 12px;font-size:.8rem;font-weight:700}.session-admin-card button:not(.button-primary){background:var(--surface)}.session-admin-edit-form{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.session-admin-edit-form fieldset{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0;margin:0;padding:0;display:grid}.session-admin-edit-form label{gap:5px;min-width:0;font-size:.75rem;display:grid}.session-admin-edit-form input,.session-admin-edit-form select{width:100%;min-width:0;min-height:38px;padding:6px 8px;font-size:.85rem}.session-admin-edit-actions{flex-wrap:wrap;justify-content:flex-end;margin-top:12px}.session-admin-edit-actions>span{flex:230px}.review-list{gap:7px;margin-top:22px;display:grid}.application-filters{margin-top:20px}.encourager-review-mode{border:1px solid var(--line);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:15px 16px;display:flex}.encourager-review-mode>div:first-child{gap:5px;display:grid}.encourager-review-mode small{max-width:680px;color:var(--muted);line-height:1.55}.encourager-review-mode-actions{background:var(--surface-2);border-radius:9px;flex:none;gap:5px;padding:4px;display:flex}.encourager-review-mode-actions button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:7px 12px}.encourager-review-mode-actions button.active{color:var(--accent-ink);background:var(--accent)}.review-list article{border:1px solid var(--line);background:var(--surface);border-radius:9px;grid-template-columns:1.2fr 1fr auto auto;align-items:center;gap:14px;padding:13px;display:grid}.review-list article>div:not(.table-actions){gap:4px;display:grid}.review-list article span{color:var(--muted);font-size:.7rem}.moderation-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px;display:grid}.moderation-grid article{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.moderation-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}.moderation-grid article>div{gap:8px;padding:11px;display:grid}.moderation-grid p{color:var(--text);margin:0;font-size:.75rem}.settings-form,.announcement-form{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:12px;width:min(720px,100%);margin-top:22px;padding:22px;display:grid}.settings-form>label,.announcement-form>label{gap:6px;display:grid}.settings-form fieldset{border:1px solid var(--line);border-radius:9px;grid-column:1/-1;gap:14px;padding:16px;display:flex}.settings-form fieldset label{justify-items:center;gap:6px;display:grid}.settings-form input[type=color]{width:45px;min-height:36px;padding:2px}.locked-setting{background:var(--surface-2);border-radius:8px;grid-column:1/-1;justify-content:space-between;gap:20px;padding:12px;font-size:.75rem;display:flex}.settings-form>.button-primary{width:max-content}.settings-form>.settings-toggle{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;grid-column:1/-1;grid-template-columns:none;align-items:center;gap:10px;padding:12px;display:flex}.settings-toggle input{width:18px;min-height:18px}.settings-toggle span{gap:2px;display:grid}.settings-toggle small{color:var(--muted)}.share-image-setting{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:center;gap:18px;padding:16px;display:grid}.share-image-setting>div{justify-items:start;gap:9px;display:grid}.share-image-setting small{color:var(--muted);line-height:1.55}.share-image-setting img{aspect-ratio:1200/630;border:1px solid var(--line);object-fit:cover;background:var(--surface);border-radius:8px;width:100%}.share-image-setting label{cursor:pointer}.share-image-setting label.is-disabled{cursor:wait;opacity:.65}.share-image-setting input{display:none}.announcement-form{grid-template-columns:1fr}.announcement-form .check-row{display:flex}.compact-list{width:min(720px,100%)}.archive-list{gap:10px;margin-top:22px;display:grid}.archive-list article{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:20px;display:grid}.archive-list h2{margin:0 0 7px;font-size:1rem}.archive-list p{color:var(--muted);margin:0;font-size:.74rem}.archive-list dl{gap:22px;margin:0;display:flex}.archive-list dl div{gap:4px;display:grid}.archive-list dt{color:var(--muted);font-size:.64rem}.archive-list dd{margin:0;font-size:.72rem;font-weight:700}.toast{z-index:120;border:1px solid var(--success-border);max-width:min(420px,100% - 40px);color:var(--success);background:var(--surface);box-shadow:0 16px 50px var(--shadow);border-radius:10px;padding:12px 16px;font-size:.78rem;position:fixed;bottom:20px;right:20px}.toast.error{color:var(--danger);border-color:var(--danger-border)}@media (width<=900px){.auth-layout{grid-template-columns:1fr;gap:36px}.auth-story h1{font-size:clamp(2.5rem,10vw,4.8rem)}.admin-app{grid-template-columns:190px minmax(0,1fr)}.student-admin-grid{grid-template-columns:repeat(2,1fr)}.student-group-workspace-tools{grid-template-columns:minmax(0,1fr) minmax(190px,.72fr)}.student-group-create{grid-column:1/-1}.student-group-summary{border-left:0}.student-group-board{grid-template-columns:1fr}.photo-uploader{grid-template-columns:1fr 1fr}.session-admin-edit-form fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){:root{--topbar:54px}.platform-topbar{grid-template-columns:1fr auto;padding:0 10px}.platform-topbar .brand small,.desktop-nav{display:none}.platform-topbar .theme-control>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.platform-topbar .theme-control select{min-width:56px;padding-left:6px}.platform-main{min-height:calc(100dvh - var(--topbar) - 58px);padding-bottom:58px}.mobile-nav{z-index:30;height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--surface-glass);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-nav button{color:var(--muted);background:0 0;border:0;align-content:center;place-items:center;gap:3px;padding:3px;font-size:.57rem;display:grid}.mobile-nav button.active{color:var(--link)}.run-module{height:calc(100dvh - var(--topbar) - 58px);padding:4px 3px}.run-module-head{flex:0 0 36px}.run-module-head h1{font-size:1rem}.run-module-head .eyebrow{display:none}.segmented button{padding:5px 7px;font-size:.61rem}.segmented .icon{display:none}.board-toolbar{flex-basis:33px}.student-grid{gap:3px}.student-card.group-sorted{border-top-width:2px;padding-block:1px}.student-card.group-sorted:before{height:2px}.student-card .lap-count{font-size:7px;line-height:1.1;top:auto;bottom:2px}.student-card:has(.lap-count) .student-meta{padding-right:15px}.session-timing-strip{flex-basis:29px}.session-timing-strip>div{padding-inline:5px}.session-timing-strip span{font-size:.5rem}.session-timing-strip strong{font-size:.55rem}.toolbar-actions button{text-overflow:ellipsis;max-width:46vw;overflow:hidden}.board-foot{font-size:.48rem}.student-card{border-radius:4px}.content-page{width:min(100% - 24px,720px);padding-top:28px}.section-heading{align-items:start}.ranking-row{grid-template-columns:28px 34px 1fr 64px;gap:7px;padding:8px}.ranking-export{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-export>div,.ranking-export>p,.ranking-export>.button-secondary,.ranking-export>.button-primary{grid-column:1/-1}.ranking-export-history>header,.ranking-export-records article{flex-direction:column;align-items:stretch}.ranking-export-history-actions,.ranking-export-record-actions{flex-wrap:wrap;width:100%}.ranking-export-record-actions button{flex:140px}.badge-strip{display:none}.rank-metric{grid-column:4}.photo-uploader,.server-status-grid{grid-template-columns:1fr}.photo-uploader .check-row{grid-column:auto}.gallery-toolbar{flex-direction:column;align-items:stretch;gap:12px}.gallery-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gallery-filters select{width:100%;min-width:0}.album-list{gap:10px}.album-row{border-radius:12px;gap:9px;padding:10px}.album-preview{gap:4px}.album-cover{aspect-ratio:1;border-radius:7px}.album-cover small{max-width:calc(100% - 8px);padding:3px 4px;font-size:.56rem;bottom:4px;right:4px}.photo-grid{columns:2 150px}.my-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout{grid-template-columns:1fr}.profile-card{grid-column:auto}.profile-summary-list{grid-template-columns:1fr}.record-row{grid-template-columns:95px 1fr 58px 32px;gap:6px;padding:8px;font-size:.66rem}.record-row .duplicate-detail{display:none}.session-option{grid-template-columns:18px minmax(112px,.72fr) minmax(0,1.28fr);align-items:start;gap:7px}.session-option .status-pill{grid-column:2}.session-withdraw-button{grid-column:3;justify-self:end}.encourager-names{align-content:start;align-self:stretch;min-height:22px}.auth-layout{width:min(100% - 28px,540px);padding-top:30px}.auth-story{padding-top:10px}.auth-story h1{font-size:clamp(2.25rem,12vw,4rem)}.auth-facts div{min-width:0;padding:12px}.admin-app{display:block}.admin-sidebar{flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:62px;padding:8px 12px;position:static}.admin-sidebar nav{display:none}.admin-account{border:0;margin:0;padding:0}.admin-sidebar>.theme-control{margin:0 8px 0 auto}.admin-sidebar>.theme-control>span,.admin-account>div{display:none}.admin-content{width:min(100% - 24px,720px);padding:24px 0 100px}.admin-mobile-nav{z-index:30;border:1px solid var(--line);background:var(--surface-glass);box-shadow:0 10px 40px var(--shadow);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:12px;padding:6px;display:block;position:fixed;bottom:12px;left:12px;right:12px}.admin-mobile-nav select{min-height:38px}.admin-metrics{grid-template-columns:repeat(2,1fr)}.admin-two-col,.inline-create-form,.schedule-form,.settings-form{grid-template-columns:1fr}.schedule-form fieldset,.settings-form fieldset,.locked-setting{flex-wrap:wrap;grid-column:auto}.share-image-setting{grid-column:auto;grid-template-columns:1fr}.student-admin-grid,.student-group-workspace-tools{grid-template-columns:1fr}.student-group-create{grid-column:auto}.student-group-summary{border:0;min-height:30px;padding:0}.student-group-save-bar{bottom:72px}.review-list article{grid-template-columns:1fr auto}.encourager-review-mode{flex-direction:column;align-items:stretch}.encourager-review-mode-actions{width:100%}.encourager-review-mode-actions button{flex:1}.moderation-grid{grid-template-columns:repeat(2,1fr)}.archive-list article{grid-template-columns:1fr}.archive-list dl{flex-wrap:wrap}}@media (width<=480px){.public-topbar{width:min(100% - 24px,456px)}.public-topbar .brand small{display:none}.public-actions{gap:6px}.student-group-members{grid-template-columns:1fr}.student-group-member:nth-child(-n+2){border-top:1px solid var(--line)}.student-group-member:first-child{border-top:0}.student-group-member:nth-child(odd){border-right:0}.student-group-title{flex-direction:column;align-items:flex-start}.student-group-actions{flex-wrap:wrap;width:100%}.student-group-save-bar{flex-direction:column;align-items:stretch}.student-group-save-bar>div,.student-group-save-bar button{flex:1}.public-actions .theme-control>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=760px) and (height>=501px) and (height<=740px){.platform-shell.module-run{--topbar:46px}.run-module.panel-record .run-module-head{flex-basis:28px}.record-board>.run-group-tabs{flex-basis:25px}.record-board .board-toolbar{flex-basis:28px}.record-board .session-timing-strip{flex-basis:24px}.record-board .board-foot{flex-basis:18px}}@media (height<=500px){.platform-shell.module-run{--topbar:44px}.run-module{padding-block:4px}.run-module-head{flex-basis:28px}.run-module-head .segmented button{min-height:24px;padding-block:3px}.record-board>.run-group-tabs{flex-basis:25px}.run-module-head>div:first-child{display:none}.run-module-head{justify-content:flex-end}.board-toolbar{flex-basis:28px}.board-toolbar button{height:24px;padding-block:2px}.session-timing-strip{flex-basis:21px;margin-bottom:2px}.session-timing-strip>div{padding-block:1px}.session-timing-strip span{display:none}.session-timing-strip strong{font-size:.5rem}.board-foot{flex-basis:17px}.student-grid{gap:2px}.student-card{--student-main-size:clamp(.68rem, 1.5vw, .9rem);padding-block:0}.student-main{flex-direction:row;gap:3px;min-width:0}.student-meta{display:none}.student-card.group-sorted{border-top-width:2px;flex-direction:row;align-items:center;gap:3px}.student-card.group-sorted:before{height:2px}.student-card.group-sorted .student-main{align-self:stretch;height:100%}.student-card.group-sorted .student-meta{border-top:0;border-left:1px solid color-mix(in srgb, var(--lap-ink) 18%, transparent);flex:0 auto;max-width:25%;min-height:0;padding:0 2px 0 3px;display:block}.student-card.group-sorted:not([data-display-mode=both]) .student-meta{flex:0 auto;min-height:0}.student-card:has(.lap-count){padding-right:22px}.lap-count{top:50%;transform:translateY(-50%)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#34c7f4;--accent-hover:#5fd3f7;--accent-soft:#34c7f426;--link:#5fd3f7;--paper:#0e141b;--canvas:#0e141b;--surface:#141b24;--surface-2:#1d262f;--surface-glass:#141b24f0;--canvas-glass:#0e141beb;--ink:#f2f5f8;--text:#b7c2cc;--muted:#8b96a2;--placeholder:#9ba6b0;--disabled-ink:#9aa3ac;--disabled-surface:#262d36;--line:#29333d;--line-strong:#596b7d;--success:#56d2a4;--success-soft:#56d2a41f;--success-border:#56d2a473;--warning:#f6b855;--warning-soft:#f6b8551f;--warning-border:#f6b85573;--danger:#e97280;--danger-soft:#e972801f;--danger-border:#e9728073;--inverse-surface:#090f16;--inverse-ink:#f1f5f8;--inverse-muted:#a3b4c2;--shadow:#03040861}@media (prefers-contrast:more){:root{--muted:var(--text);--placeholder:var(--text);--line:var(--line-strong);--surface-glass:var(--surface);--canvas-glass:var(--canvas)}}@media (forced-colors:active){:focus-visible{outline-color:highlight}.button-primary,.student-card,.announcement.unread,.record-row{forced-color-adjust:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portal-page{--portal-bg:#051324;--portal-surface:#0e1d2f;--portal-surface-2:#17283b;--portal-ink:#f4f8fb;--portal-muted:#a6b9c9;--portal-line:#afd0de2e;min-height:100dvh;color:var(--portal-ink);background:linear-gradient(90deg, transparent 0 49.8%, #34c7f40d 50%, transparent 50.2%), linear-gradient(var(--portal-bg), #050e19)}.portal-topbar,.portal-footer,.portal-page>main{width:min(100% - 40px,1240px);margin-inline:auto}.portal-topbar{border-bottom:1px solid var(--portal-line);justify-content:space-between;align-items:center;min-height:74px;display:flex}.portal-topbar .class-brand{color:var(--portal-ink)}.portal-brand,.forms-brand{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.portal-brand img,.forms-brand img{width:42px;height:42px}.portal-brand>span,.forms-brand>span{gap:3px;display:grid}.portal-brand strong,.forms-brand strong{font-size:1.05rem}.portal-brand small{color:var(--portal-muted);font-size:.7rem}.portal-account,.portal-account>span,.portal-account>a{align-items:center;gap:12px;display:flex}.portal-account>span{color:var(--portal-muted);font-size:.78rem}.portal-account>a,.portal-account>button{border:1px solid var(--portal-line);min-height:36px;color:var(--portal-ink);background:#ffffff0d;border-radius:9px;padding:7px 13px;text-decoration:none}.portal-hero{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:center;gap:clamp(40px,7vw,100px);min-height:520px;padding-block:clamp(65px,10vw,130px);display:grid}.portal-hero-copy h1{letter-spacing:-.065em;max-width:720px;margin:0;font-size:clamp(3rem,7vw,6.4rem);line-height:.98}.portal-hero-copy h1 span{color:#55d1f6;display:block}.portal-hero-copy>p:not(.eyebrow){max-width:48ch;color:var(--portal-muted);margin:30px 0 0;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.8}.portal-meta{flex-wrap:wrap;gap:8px;margin-top:35px;display:flex}.portal-meta span{border:1px solid var(--portal-line);color:var(--portal-muted);font:700 .66rem/1 var(--font-mono);border-radius:999px;padding:7px 10px}.portal-hero-visual{border:1px solid var(--portal-line);background:radial-gradient(circle at 72% 24%, #34c7f42e, transparent 31%), repeating-linear-gradient(90deg, transparent 0 38px, #34c7f40d 39px 40px), repeating-linear-gradient(0deg, transparent 0 38px, #34c7f40d 39px 40px), var(--portal-surface);border-radius:32px 6px;min-height:410px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1c}.portal-hero-visual:before,.portal-hero-visual:after{content:"";border:0 solid #ffc94ce0;border-width:0 0 2px 11px;width:110px;height:42px;position:absolute;transform:skew(-32deg)rotate(-24deg)}.portal-hero-visual:before{top:12%;right:5%}.portal-hero-visual:after{top:23%;right:17%;transform:skew(-32deg)rotate(156deg)}.portal-code-line{color:#55d1f6;font:700 .68rem/1 var(--font-mono);letter-spacing:.12em;position:absolute;top:22px;left:24px}.portal-hero-visual>strong{z-index:2;font:800 clamp(9rem, 20vw, 17rem)/.82 var(--font-sans);letter-spacing:-.12em;color:#0000;-webkit-text-stroke:2px #55d1f6c2;position:absolute;bottom:3%;right:11%}.portal-track{border:2px solid #55d1f657;border-radius:50%;width:115%;height:66%;position:absolute;bottom:-24%;left:-20%;transform:rotate(-18deg)}.portal-track.track-two{width:100%;height:55%;inset:auto auto -14% -13%}.portal-track.track-three{width:84%;height:44%;inset:auto auto -4% -6%}.portal-runner{z-index:3;color:#ffc94c;background:var(--portal-bg);border:1px solid #ffc94c9e;border-radius:50%;place-items:center;width:68px;height:68px;animation:3s ease-in-out infinite portal-pulse;display:grid;position:absolute;bottom:27%;left:26%}@keyframes portal-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.portal-content-section{border-top:1px solid var(--portal-line);padding-block:58px}.portal-open-forms-feature{border-bottom:1px solid var(--portal-line);padding:clamp(30px,5vw,58px) 0}.portal-open-forms-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.portal-open-forms-heading h1{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,4vw,3.8rem)}.portal-open-forms-heading>a{color:var(--portal-muted);font-size:.76rem}.portal-section-head,.forms-section-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.portal-section-head h2,.forms-section-head h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.7rem,3vw,2.7rem)}.portal-section-head>span,.portal-section-head>a{color:var(--portal-muted);font-size:.75rem}.portal-module-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;display:grid}.portal-module{border:1px solid var(--portal-line);min-height:210px;color:var(--portal-ink);background:var(--portal-surface);animation:.48s cubic-bezier(.16,1,.3,1) both portal-card-in;animation-delay:calc(var(--module-index) * 80ms);border-radius:5px 24px;grid-template-columns:48px 56px 1fr auto;align-items:center;gap:22px;padding:30px;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;display:grid;position:relative;overflow:hidden}.portal-module:nth-child(4n+2),.portal-module:nth-child(4n+3){grid-template-columns:36px 48px 1fr}.portal-module:nth-child(4n+2) .portal-module-status,.portal-module:nth-child(4n+3) .portal-module-status{grid-column:2/-1;justify-self:start}.portal-module:after{content:"";border:20px solid color-mix(in srgb, var(--module-accent) 18%, transparent);border-radius:50%;width:160px;height:160px;position:absolute;top:-70px;right:-40px}.portal-module:hover{border-color:color-mix(in srgb, var(--module-accent) 70%, white);background:var(--portal-surface-2);transform:translateY(-3px)}.portal-module:active{transform:scale(.985)}.portal-module.disabled{opacity:.58;pointer-events:none}.portal-module-number{color:var(--portal-muted);font:750 .72rem/1 var(--font-mono)}.portal-module-icon{border:1px solid color-mix(in srgb, var(--module-accent) 70%, transparent);width:54px;height:54px;color:var(--module-accent);border-radius:50%;place-items:center;display:grid}.portal-module h3{letter-spacing:-.035em;margin:0 0 10px;font-size:1.55rem}.portal-module p{max-width:38ch;color:var(--portal-muted);margin:0;line-height:1.55}.portal-module-status{color:var(--module-accent);align-self:end;font-size:.75rem;font-weight:750}@keyframes portal-card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.portal-active-forms{gap:8px;display:grid}.portal-active-forms>a{border:1px solid var(--portal-line);background:linear-gradient(90deg,#ffc94c1a,#0000 42%),#ffffff0a;border-radius:12px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;text-decoration:none;transition:transform .16s,background .16s;display:grid}.portal-active-forms>a:hover{background:#ffffff14;transform:translate(3px)}.form-status-dot{background:#ffc94c;border-radius:50%;width:8px;height:8px}.form-status-dot.completed{background:#3ecc98}.portal-active-forms div{gap:5px;display:grid}.portal-open-forms-feature .portal-active-forms strong{color:#ffd470;letter-spacing:-.025em;font-size:clamp(1.35rem,3vw,2.15rem)}.portal-active-forms small{color:var(--portal-muted)}.portal-form-deadline{text-align:right}.portal-form-deadline span{color:#55d1f6;font-size:.78rem;font-weight:750}.portal-login-note{max-width:760px;padding:70px 0 90px}.portal-login-note h2{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.5rem)}.portal-login-note>p:not(.eyebrow){color:var(--portal-muted);line-height:1.7}.portal-login-note .button-primary{margin-top:18px;text-decoration:none}.portal-footer{border-top:1px solid var(--portal-line);min-height:80px;color:var(--portal-muted);justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.forms-page{min-height:100dvh;color:var(--ink);background:var(--canvas)}.forms-topbar{z-index:20;border-bottom:1px solid var(--line);background:var(--canvas-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;min-height:68px;padding:8px max(20px,50vw - 620px);display:flex;position:sticky;top:0}.forms-brand{color:var(--ink)}.forms-brand small{color:var(--muted);font-size:.68rem}.forms-topbar>div{align-items:center;gap:12px;display:flex}.forms-topbar>div>a,.forms-topbar>div>button{color:var(--muted);background:0 0;border:0;padding:7px 10px;font-size:.75rem;text-decoration:none}.forms-shell{width:min(100% - 40px,1240px);margin-inline:auto;padding:22px 0 100px}.forms-intro{border-bottom:1px solid var(--line);padding:34px 0 42px;position:relative}.forms-intro h1{letter-spacing:-.055em;max-width:780px;margin:0;font-size:clamp(2.3rem,5vw,4.8rem);line-height:1.02}.forms-intro>p:not(.eyebrow){max-width:58ch;color:var(--text);margin:20px 0 0;line-height:1.75}.forms-intro>span{color:var(--muted);font:700 .7rem/1 var(--font-mono);position:absolute;bottom:42px;right:0}.forms-tabs{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:4px;margin:0 0 32px;padding:5px;display:flex;overflow-x:auto}.forms-tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;padding:8px 15px;font-size:.78rem;font-weight:700}.forms-tabs button.active{color:var(--inverse-ink);background:var(--inverse-surface)}.forms-tabs button:active{transform:scale(.97)}.forms-tabs .forms-tab-back{border-right:1px solid var(--line);color:var(--link);border-radius:8px 2px 2px 8px;margin-right:2px}.form-group+.form-group{margin-top:40px}.form-group>h3{color:var(--muted);letter-spacing:.08em;margin:0 0 12px;font-size:.76rem}.form-card-list{grid-template-columns:1.3fr .7fr;gap:10px;display:grid}.form-card{border:1px solid var(--line);text-align:left;background:var(--surface);min-height:156px;box-shadow:0 10px 30px -20px var(--shadow);border-radius:16px;grid-template-columns:auto 1fr auto;align-items:start;gap:20px;padding:24px;transition:transform .16s,border-color .16s;display:grid}.form-card:nth-child(4n+2),.form-card:nth-child(4n+3){grid-template-columns:auto 1fr}.form-card:nth-child(4n+2) .form-card-time,.form-card:nth-child(4n+3) .form-card-time{text-align:left;grid-column:2}.form-card:hover{border-color:var(--accent);transform:translateY(-2px)}.form-card:active{transform:scale(.99)}.form-card-state{color:var(--warning);background:var(--warning-soft);border-radius:999px;padding:6px 8px;font-size:.68rem;font-weight:750}.form-card-state.completed{color:var(--success);background:var(--success-soft)}.form-card-state.closed,.form-card-state.archived{color:var(--muted);background:var(--surface-2)}.form-card h4{margin:8px 0;font-size:1.2rem}.form-card p{color:var(--muted);margin:0;font-size:.75rem}.form-card-time{text-align:right;gap:7px;display:grid}.form-card-time span{color:var(--muted);font-size:.68rem}.form-card-time strong{font-size:.76rem}.form-detail-head{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:11px;max-width:920px;margin-inline:auto;padding:14px 18px;display:grid}.form-detail-title-line{align-items:center;gap:10px;min-width:0;display:flex}.form-detail-title-line>span{color:var(--link);background:var(--accent-soft);font:750 .66rem/1 var(--font-mono);border-radius:5px;flex:none;padding:4px 7px}.form-detail-title-line h2{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:clamp(.96rem,2vw,1.15rem);line-height:1.3;overflow:hidden}.form-detail-head dl{border-top:1px solid var(--line);align-items:center;gap:8px 24px;margin:0;padding-top:10px;display:flex}.form-detail-head dl div{align-items:baseline;gap:7px;min-width:0;display:inline-flex}.form-detail-head dt{color:var(--muted);white-space:nowrap;font-size:.7rem}.form-detail-head dd{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;font-weight:700;overflow:hidden}.response-result{border:1px solid var(--line);background:var(--surface);border-radius:14px;max-width:920px;margin:14px auto 0;overflow:hidden}.response-result>header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.response-result>header .eyebrow{margin-bottom:5px}.response-result h3{align-items:center;gap:7px;margin:0;font-size:1.15rem;display:flex}.response-result h3 svg{color:var(--success)}.response-result>header span{color:var(--muted);margin-top:5px;font-size:.7rem;display:block}.response-result-actions{flex:none;gap:7px;display:flex}.response-result-actions button{min-height:36px;padding:7px 12px}.response-result-list{margin:0;padding:0 20px}.response-result-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(100px,.35fr) minmax(0,1fr);gap:16px;padding:15px 0;display:grid}.response-result-list>div:last-child{border-bottom:0}.response-result-list dt{color:var(--muted);font-size:.76rem}.response-result-list dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:750}.response-edit-bar{border:1px solid var(--line);color:var(--text);background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;margin-bottom:16px;padding:10px 13px;font-size:.76rem;display:flex}.response-edit-bar button{color:var(--link);background:0 0;border:0;font-weight:750}.response-form{max-width:920px;margin:18px auto 0}.response-question{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:0 0 12px;padding:24px}.response-question legend{align-items:center;gap:10px;padding-inline:6px;font-size:1rem;font-weight:750;display:flex}.response-question legend>span{color:var(--link);font:750 .68rem/1 var(--font-mono)}.response-question legend>b{color:var(--danger);background:var(--danger-soft);border-radius:4px;padding:3px 6px;font-size:.6rem}.response-question>p{color:var(--muted);margin:0 0 14px;font-size:.76rem}.response-question input:not([type=checkbox]):not([type=radio]),.response-question textarea,.response-question select{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--ink);background:var(--canvas);border-radius:9px;padding:10px 12px}.choice-list{gap:8px;display:grid}.choice-list label{border:1px solid var(--line);background:var(--canvas);cursor:pointer;border-radius:8px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:11px;min-width:0;min-height:46px;padding:10px 12px;line-height:1.45;display:grid}.choice-list label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice-list label>span{overflow-wrap:anywhere;min-width:0}.choice-list input[type=checkbox],.choice-list input[type=radio]{width:20px;height:20px}.file-answer{gap:8px;display:grid}.file-answer small{color:var(--muted)}.retained-attachment{color:var(--text);align-items:center;gap:7px;margin-top:10px;font-size:.75rem;display:flex}.retained-attachment a{color:var(--link)}.response-submit{width:100%;min-height:50px;margin-top:14px}.statistics-panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;max-width:920px;margin:44px auto 0;padding:28px}.statistics-panel>header{justify-content:space-between;align-items:end;display:flex}.statistics-panel h3{margin:0;font-size:1.5rem}.statistics-panel>header>strong{color:var(--link);font:800 2.5rem/1 var(--font-mono)}.statistics-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0;display:grid}.statistics-metrics span{background:var(--surface-2);color:var(--muted);border-radius:10px;gap:4px;padding:14px;font-size:.7rem;display:grid}.statistics-metrics b{color:var(--ink);font-size:1.25rem}.statistics-panel article{border-top:1px solid var(--line);padding-top:16px}.option-stat{grid-template-columns:minmax(100px,.4fr) 1fr 30px;align-items:center;gap:10px;margin-top:8px;font-size:.75rem;display:grid}.option-stat progress{width:100%;accent-color:var(--accent)}.revision-list{gap:8px;display:grid}.revision-list article{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr auto;gap:8px 16px;padding:12px;display:grid}.revision-list span{color:var(--muted);font-size:.72rem}.revision-list dl{grid-column:1/-1;gap:6px;margin:4px 0 0;display:grid}.revision-list dl div{border-top:1px solid var(--line);grid-template-columns:minmax(100px,.45fr) 1fr;gap:12px;padding-top:6px;display:grid}.revision-list dt{color:var(--muted)}.revision-list dd{overflow-wrap:anywhere;margin:0}.portal-module-create-card{border-color:color-mix(in srgb, var(--cyan) 55%, var(--line));margin-bottom:18px}.respondent-detail-table{margin-top:20px}.result-attachment-links{flex-wrap:wrap;gap:6px;display:flex}.result-attachment-links a{color:var(--cyan-dark);text-underline-offset:2px;text-decoration:underline}.management-form-list,.export-record-list,.portal-module-admin-list{gap:12px;display:grid}.management-form-list>article{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:minmax(260px,1.2fr) 1fr auto;align-items:center;gap:24px;padding:20px;display:grid}.management-form-title{align-items:center;gap:12px;display:flex}.management-form-title h3{margin:0 0 5px}.management-form-title p{color:var(--muted);margin:0;font-size:.75rem}.management-form-list dl{grid-template-columns:repeat(4,1fr);gap:8px;margin:0;display:grid}.management-form-list dl div{gap:3px;display:grid}.management-form-list dt{color:var(--muted);font-size:.62rem}.management-form-list dd{margin:0;font-weight:750}.management-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.management-actions button,.result-toolbar button,.export-record-list button,.export-record-list a,.export-history .forms-section-head button{border:1px solid var(--line-strong);background:0 0;border-radius:8px;min-height:36px;padding:7px 11px;font-size:.72rem;font-weight:700;text-decoration:none}.management-actions .button-primary{border-color:var(--accent);background:var(--accent)}.management-actions .danger{color:var(--danger);border-color:var(--danger-border)}.withdraw-confirmation{gap:18px;margin-top:18px;display:grid}.withdraw-confirmation>p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.65}.withdraw-confirmation label{gap:9px;font-size:.8rem;font-weight:650;display:grid}.withdraw-confirmation label strong{color:var(--danger)}.withdraw-confirmation-actions{justify-content:flex-end;gap:9px;display:flex}.withdraw-confirmation-actions button{border:1px solid var(--line-strong);background:0 0;border-radius:9px;min-height:40px;padding:8px 16px;font-weight:750}.withdraw-confirmation-actions .danger{color:var(--danger);border-color:var(--danger-border);background:var(--danger-soft)}.withdraw-confirmation-actions button:disabled{cursor:not-allowed;opacity:.45}.form-builder>form{gap:22px;display:grid}.builder-basics,.portal-module-fields{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:repeat(2,1fr);gap:14px;padding:22px;display:grid}.builder-basics label,.question-fields label,.portal-module-fields label{color:var(--text);gap:7px;font-size:.74rem;font-weight:700;display:grid}.builder-basics label.wide,.question-fields label.wide,.portal-module-fields label.wide{grid-column:1/-1}.builder-basics input,.builder-basics select,.builder-basics textarea,.question-fields input,.question-fields select,.question-fields textarea,.portal-module-fields input,.portal-module-fields select{border:1px solid var(--line-strong);width:100%;min-height:42px;color:var(--ink);background:var(--canvas);border-radius:8px;padding:9px 11px}.builder-basics small{color:var(--muted);font-weight:500}.builder-relations,.module-role-fieldset{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-wrap:wrap;gap:8px 18px;padding:18px 22px;display:flex}.builder-relations legend,.module-role-fieldset legend{padding-inline:5px;font-weight:750}.builder-relations label,.module-role-fieldset label{align-items:center;gap:6px;font-size:.74rem;display:flex}.builder-relations input,.module-role-fieldset input,.question-fields label.check input{flex:none;width:18px;min-height:18px;padding:0}.builder-questions{gap:10px;display:grid}.builder-questions>header{justify-content:space-between;align-items:end;margin:18px 0 6px;display:flex}.builder-questions>header h3{margin:0;font-size:1.5rem}.builder-questions>header button{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;padding:8px 13px}.builder-questions>article{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:86px 1fr;gap:18px;padding:22px;display:grid}.question-order{flex-direction:column;gap:6px;display:flex}.question-order strong{color:var(--link);font:800 1.4rem/1 var(--font-mono);margin-bottom:8px}.question-order button{border:1px solid var(--line);background:0 0;border-radius:6px;padding:5px;font-size:.65rem}.question-order button.danger{color:var(--danger)}.question-fields{grid-template-columns:1fr minmax(170px,.35fr);gap:12px;display:grid}.question-fields label.check{align-items:center;display:flex}.builder-submit{justify-content:flex-end;gap:8px;display:flex}.result-metrics{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.result-metrics article{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:6px;padding:18px;display:grid}.result-metrics span{color:var(--muted);font-size:.7rem}.result-metrics strong{font:800 2rem/1 var(--font-mono)}.result-toolbar{grid-template-columns:180px 1fr auto auto;gap:8px;margin:18px 0;display:grid}.result-toolbar select,.result-toolbar input,.export-history .forms-section-head select{border:1px solid var(--line-strong);min-height:40px;color:var(--ink);background:var(--surface);border-radius:8px;padding:8px 10px}.result-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:auto}.result-table-wrap table{border-collapse:collapse;width:max(100%,900px);font-size:.72rem}.result-table-wrap th,.result-table-wrap td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px}.result-table-wrap th{color:var(--inverse-ink);background:var(--inverse-surface);position:sticky;top:0}.result-table-wrap td small{color:var(--muted);margin-top:4px;display:block}.result-table-wrap tr.pending{background:var(--warning-soft)}.export-history .forms-section-head>div:last-child{gap:7px;display:flex}.export-record-list article{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:16px;display:grid}.export-record-list article>div{gap:5px;display:grid}.export-record-list span{color:var(--muted);font-size:.7rem}.snapshot-json{max-height:60vh;color:var(--ink);background:var(--canvas);white-space:pre-wrap;border-radius:8px;padding:14px;font-size:.68rem;overflow:auto}.form-qr-panel{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:28px;min-width:0;display:grid}.modal:has(.form-qr-panel){width:min(760px,100%);max-height:calc(100dvh - 36px);overflow:auto}.form-qr-image{border:1px solid var(--line);background:#fff;border-radius:14px;justify-self:center;width:100%;min-width:0;max-width:360px;padding:8px}.form-qr-image img{width:100%;height:auto;display:block}.form-qr-copy{gap:12px;min-width:0;display:grid}.form-qr-copy h3,.form-qr-copy p{overflow-wrap:anywhere;min-width:0;margin:0}.form-qr-copy>p:not(.eyebrow){color:var(--muted);line-height:1.65}.form-qr-copy>a{overflow-wrap:anywhere;color:var(--link);font-size:.75rem}.form-qr-meta{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;gap:7px;min-width:0;max-width:100%;margin:0;padding:12px 14px;display:grid}.form-qr-copy .button-row{flex-wrap:wrap;min-width:0}.form-qr-meta>div{grid-template-columns:72px minmax(0,1fr);gap:8px;min-width:0;display:grid}.form-qr-meta dt{color:var(--muted);font-size:.68rem}.form-qr-meta dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:.72rem;font-weight:700}.teacher-form-access{grid-template-columns:minmax(92px,.8fr) minmax(142px,1.2fr) auto;gap:7px;min-width:350px;display:grid}.teacher-form-access>span{color:var(--muted);grid-column:1/-1;font-size:.7rem}.teacher-form-access select,.teacher-form-access button{border:1px solid var(--line-strong);min-height:34px;color:var(--ink);background:var(--surface);border-radius:7px;padding:6px 8px;font-size:.7rem}.teacher-form-access button{color:var(--link);font-weight:750}.admin-user-edit{gap:15px;margin-top:18px;display:grid}.admin-user-edit>p:first-child{color:var(--muted);margin:0;font-size:.78rem}.admin-user-edit label{color:var(--text);gap:7px;font-size:.75rem;font-weight:700;display:grid}.admin-user-edit-actions{justify-content:flex-end;gap:8px;display:flex}.admin-user-edit-actions button{min-height:40px;padding:8px 15px}.portal-module-admin-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:16px;padding:20px;display:grid}.portal-module-admin-card>header{grid-template-columns:52px 1fr auto;align-items:center;gap:12px;display:grid}.portal-module-admin-card>header>span{color:#071a31;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.portal-module-admin-card h2,.portal-module-admin-card p{margin:0}.portal-module-admin-card p{color:var(--muted);margin-top:4px;font-size:.7rem}.switch-label{align-items:center;gap:7px;font-size:.72rem;font-weight:750;display:flex}@media (width<=900px){.portal-hero{grid-template-columns:1fr}.portal-hero-visual{min-height:340px}.portal-module-grid,.form-card-list{grid-template-columns:1fr}.portal-module,.portal-module:nth-child(n){grid-template-columns:38px 52px 1fr auto}.portal-module:nth-child(n) .portal-module-status{grid-column:auto}.form-card,.form-card:nth-child(n){grid-template-columns:auto 1fr auto}.form-card:nth-child(n) .form-card-time{text-align:right;grid-column:auto}.management-form-list>article{grid-template-columns:1fr}.management-actions{justify-content:flex-start}.result-toolbar{grid-template-columns:1fr 1fr}.form-qr-panel{grid-template-columns:1fr}}@media (width<=640px){.portal-topbar,.portal-footer,.portal-page>main,.forms-shell{width:min(100% - 24px,620px)}.portal-topbar{min-height:64px}.portal-brand small,.portal-account>span,.portal-account .theme-control>span,.forms-brand small,.forms-topbar>div>span,.forms-topbar>div>a{display:none}.portal-account{gap:5px}.portal-account>a,.portal-account>button{padding:6px 8px;font-size:.68rem}.portal-hero{gap:36px;min-height:auto;padding-block:55px}.portal-hero-copy h1{font-size:clamp(2.8rem,15vw,4.6rem)}.portal-hero-visual{min-height:300px}.portal-hero-visual>strong{font-size:11rem}.portal-content-section{padding-block:42px}.portal-section-head{align-items:start}.portal-section-head>span{display:none}.portal-module,.portal-module:nth-child(n){grid-template-columns:32px 46px 1fr;gap:12px;min-height:180px;padding:20px}.portal-module:nth-child(n) .portal-module-status{grid-column:2/-1;justify-self:start}.portal-module-icon{width:44px;height:44px}.portal-module h3{font-size:1.25rem}.portal-module p{font-size:.76rem}.portal-active-forms>a{grid-template-columns:12px 1fr}.portal-open-forms-feature{padding-block:28px}.portal-open-forms-heading{align-items:start}.portal-form-deadline{text-align:left;grid-column:2}.portal-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:6px}.forms-topbar{min-height:62px;padding-inline:12px}.forms-topbar>div{gap:4px}.forms-topbar .theme-control>span{display:none}.forms-topbar>div>button{padding-inline:5px}.forms-shell{padding-top:14px}.forms-intro{padding-top:20px}.forms-intro h1{font-size:clamp(2.1rem,11vw,3.5rem)}.forms-intro>span{bottom:16px}.forms-tabs{margin-bottom:14px}.forms-section-head{align-items:start}.form-card,.form-card:nth-child(n){grid-template-columns:1fr;gap:12px;padding:18px}.form-card:nth-child(n) .form-card-time{text-align:left;grid-column:auto}.form-card-state{justify-self:start}.form-detail-head{padding:12px 14px}.form-detail-head dl{justify-content:space-between;gap:8px}.form-detail-head dl div:last-child{margin-left:auto}.response-result>header{align-items:flex-start;padding:15px 14px}.response-result-actions{flex-direction:row}.response-result-list{padding-inline:14px}.response-result-list>div{grid-template-columns:minmax(82px,.35fr) minmax(0,1fr);gap:10px;padding:13px 0}.response-question{padding:18px 14px}.statistics-panel{padding:20px 14px}.statistics-metrics,.builder-basics,.portal-module-fields,.question-fields{grid-template-columns:1fr}.builder-relations{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;display:grid}.builder-relations label{border:1px solid var(--line);white-space:nowrap;border-radius:8px;min-height:42px;padding:8px 10px}.question-fields label.check{flex-direction:row;justify-content:flex-start;gap:9px;min-height:42px}.builder-basics label.wide,.question-fields label.wide,.portal-module-fields label.wide{grid-column:auto}.builder-questions>article{grid-template-columns:1fr;padding:16px}.question-order{flex-flow:wrap;align-items:center}.question-order strong{margin:0 auto 0 0}.result-metrics{grid-template-columns:repeat(2,1fr)}.result-toolbar{grid-template-columns:1fr}.export-record-list article{grid-template-columns:1fr 1fr}.export-record-list article>div{grid-column:1/-1}.portal-module-admin-card>header{grid-template-columns:48px 1fr}.portal-module-admin-card .switch-label{grid-column:1/-1}}.student-card[data-display-mode=both]{flex-direction:column;align-items:stretch;gap:0;padding:0 2px 1px}.student-card[data-display-mode=both].group-sorted{padding-top:2px}.student-card[data-display-mode=both] .student-main-combined{flex-direction:column;flex:1 1 0;justify-content:center;align-self:stretch;gap:1px;height:auto;line-height:1}.student-card-topline{flex:none;justify-content:center;align-items:center;gap:3px;width:100%;min-width:0;min-height:0;line-height:1;display:flex}.student-card-topline .student-number,.student-card-topline .student-group-name{white-space:nowrap;flex:none;font-size:clamp(10px,1.5vw - 1px,15px);font-weight:750;line-height:1}.student-card-topline .student-group-name{text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.student-main-combined .student-name{line-height:1.05}.student-card[data-display-mode=both] .student-pace{width:100%;max-width:none;min-height:0;font:750 clamp(10px, calc(1.5vw - 1px), 15px) / 1 var(--font-mono);border:0;flex:none;justify-content:center;align-items:center;gap:3px;padding:0;display:flex;overflow:visible}.student-card[data-display-mode=both] .student-pace-value,.student-card[data-display-mode=both] .student-laps{max-width:none;font-size:inherit;white-space:nowrap;flex:none;line-height:1}.student-card[data-display-mode=both] .student-laps{font-family:var(--font-sans)}@media (height<=500px) and (orientation:landscape){.record-board .student-grid:not(.supporter-grid){grid-template-rows:repeat(6,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr))}}@media (width>=780px) and (height<=500px) and (orientation:landscape){.record-board .student-grid:not(.supporter-grid){grid-template-rows:repeat(5,minmax(0,1fr));grid-template-columns:repeat(12,minmax(0,1fr))}}
