.landing.marketing-page{overflow:visible;background:#fbfcf9;color:#183f30}.landing-header.marketing-header{position:sticky;top:0;z-index:20;max-width:none;padding:1rem max(2rem,calc((100vw - 1180px)/2));border-bottom:1px solid #e3ebe5;background:#fbfcf9f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.marketing-nav{display:flex;align-items:center;gap:1rem}.marketing-nav a{color:#284c40;font-size:.9rem;font-weight:700;text-decoration:none}.marketing-nav a:hover{text-decoration:underline;text-underline-offset:.3em}.marketing-nav .marketing-demo-action{padding:.75rem .5rem}.marketing-nav .marketing-trial-action{display:inline-flex;align-items:center;gap:.75rem;border-radius:9px;color:#fff}.marketing-nav .marketing-trial-action:hover{text-decoration:none}.marketing-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:4rem;max-width:1244px;margin:auto;padding:4rem 2rem 3rem}.marketing-kicker{margin:0 0 1rem;color:#367a5f;font-size:.85rem;font-weight:750;letter-spacing:.08em}.marketing-hero h1{margin:0 0 1.5rem;color:#183f30;font-size:clamp(2.8rem,4.4vw,3.8rem);font-weight:850;line-height:1.35;letter-spacing:-.045em}.marketing-hero :where(h1 strong){color:#3d7859;font-weight:inherit}.marketing-lead{max-width:470px;margin:0;color:#52675b;font-size:1.05rem;line-height:1.9}.marketing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin:2rem 0 0}.marketing-actions .primary-action{display:inline-flex;align-items:center;gap:1rem;border-radius:9px;padding:.95rem 1.3rem;box-shadow:0 4px 12px #21543c18}.marketing-note{margin:1rem 0 0;color:#5c7063;font-size:.75rem;line-height:1.8}.marketing-hero-device{padding:12px;border-radius:29px;background:#294a3c;box-shadow:0 20px 50px #20473120}.marketing-record-demo{padding:1.4rem;border-radius:18px;background:#f5f8f2}.marketing-demo-topline,.marketing-demo-savebar,.marketing-demo-footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.marketing-demo-brand{font-size:.8rem;font-weight:800}.marketing-demo-badge{padding:.3rem .55rem;border-radius:5px;background:#f5e8b5;color:#64551c;font-size:.7rem;font-weight:700}.marketing-demo-heading h2{margin:1.2rem 0 .35rem;font-size:1.25rem;line-height:1.5}.marketing-demo-heading p{margin:0;color:#5a7060;font-size:.8rem}.marketing-demo-blackboard{margin:1rem 0;padding:.4rem;border:1px solid #d1ddcf;border-radius:5px;background:#e7eee3;color:#486048;text-align:center;font-size:.7rem}.marketing-demo-seats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.marketing-demo-seat{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0;padding:.75rem;border:1px solid #bdcfc0;border-radius:9px;background:#fff;color:#204d36;box-shadow:0 2px 3px #294a3c08;cursor:pointer;text-align:left}.marketing-demo-seat:hover{border-color:#387857;background:#edf5e9}.marketing-demo-seat-recorded{border-color:#4c8963;background:#e4f0df}.marketing-demo-number{color:#5a7060;font-size:.65rem}.marketing-demo-seat b{font-size:.95rem;line-height:1.6}.marketing-demo-count{color:#42664b;font-size:.72rem;font-variant-numeric:tabular-nums}.marketing-demo-plus{position:absolute;right:.5rem;top:.5rem;color:#497455;font-size:.8rem}.marketing-demo-savebar{margin-top:1rem}.marketing-demo-savebar b{font-size:.8rem;font-variant-numeric:tabular-nums}.marketing-demo-save{padding:.65rem .8rem;border:1px solid #245c3e;border-radius:6px;background:#245c3e;color:#fff;box-shadow:none;font-size:.8rem;font-weight:700;cursor:pointer}.marketing-demo-save:disabled{border-color:#d5e0d2;background:#e0e8dc;color:#566450;cursor:default}.marketing-demo-status{min-height:2.2em;margin:.7rem 0;color:#3e6248;font-size:.72rem;line-height:1.7}.marketing-demo-footer{padding-top:.8rem;border-top:1px solid #d9e2d5;color:#596954;font-size:.65rem}.marketing-demo-footer button{padding:.2rem 0;border:0;border-radius:2px;background:transparent;color:#376545;box-shadow:none;font-size:.65rem;text-decoration:underline;text-underline-offset:.25em;cursor:pointer}.marketing-trust{display:flex;align-items:center;gap:1.2rem;max-width:1180px;margin:0 auto;padding:1.25rem 1.5rem;border:1px solid #dce7d9;border-radius:10px;background:#f0f5ed}.marketing-trust-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dbead3;color:#28613d;font-size:1.15rem}.marketing-trust b{font-size:.9rem}.marketing-trust p{margin:.3rem 0 0;color:#536c58;font-size:.8rem}.marketing-feature-link{display:inline-flex;align-items:center;gap:.8rem;margin-top:.9rem;color:#266340;font-size:.85rem;font-weight:750;text-decoration:none}.marketing-feature-link:hover{text-decoration:underline;text-underline-offset:.3em}.marketing-trust .marketing-feature-link{margin:0 0 0 auto}.marketing-perspective{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center;max-width:1180px;margin:5rem auto 1rem;padding:0 1rem 4rem;border-bottom:1px solid #dce7dd}.marketing-perspective-copy h2{margin:0 0 1rem;font-size:2rem;line-height:1.5;text-wrap:balance}.marketing-perspective-copy>:where(p:last-child){color:#5a6f60;line-height:1.9}.marketing-record-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.marketing-record-types span{padding:1rem .8rem;border:1px solid #d8e3d4;border-radius:8px;background:#f0f5ed;color:#325b3d;text-align:center;font-size:.9rem;font-weight:700}.marketing-perspective-records p{margin:1rem 0 0;color:#5a6f60;font-size:.85rem;line-height:1.8}.marketing-features{max-width:1244px;margin:auto;padding:4rem 2rem;scroll-margin-top:100px}.marketing-section-heading{max-width:740px;margin:0 auto 2.5rem;text-align:center}.marketing-section-heading h2{margin:0 0 1rem;color:#183f30;font-size:2.2rem;line-height:1.4;letter-spacing:-.025em}.marketing-section-heading>:where(p:last-child){color:#5d7066;line-height:1.8}.marketing-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr);align-items:center;gap:3.5rem;padding:3rem 0}.marketing-feature-number{display:inline-block;margin-right:.65rem;color:#597563;font-family:ui-monospace,monospace}.marketing-feature-copy h3{margin:0 0 1.2rem;color:#183f30;font-size:1.9rem;line-height:1.5;text-wrap:pretty}.marketing-feature-copy>:where(p:not(.marketing-kicker)){color:#5d7066;line-height:1.9}.marketing-feature-detail{padding-left:.9rem;border-left:2px solid #bbd4c0;font-size:.85rem}.marketing-feature-image{margin:0;overflow:hidden;border:1px solid #d1dfd4;border-radius:10px;background:#fff;box-shadow:0 12px 36px #21452e0d}.marketing-feature-image img{display:block;width:100%;height:auto}.marketing-coursework-step{margin:0;padding:.8rem 1rem;color:#285a43;background:#f0f5ef;font-size:.8rem;font-weight:700}.marketing-coursework-crop{position:relative;overflow:hidden}.marketing-coursework-list{aspect-ratio:964 / 312}.marketing-coursework-entry{aspect-ratio:964 / 296}.marketing-coursework-crop img{position:absolute;width:131.2241%;max-width:none;left:-27.2822%}.marketing-coursework-list img{top:-119.2308%}.marketing-coursework-entry img{top:-5.7432%}.marketing-feature-image figcaption{padding:.65rem 1rem;border-top:1px solid #e2ebe3;color:#62776a;font-size:.7rem;text-align:center}.marketing-feature-reversed{grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr)}.marketing-feature-reversed .marketing-feature-copy{grid-column:2;grid-row:1}.marketing-feature-reversed .marketing-feature-image{grid-column:1;grid-row:1}.marketing-support{max-width:1180px;margin:0 auto;padding:2rem 0 5rem}.marketing-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.marketing-support-card{overflow:hidden;border:1px solid #dce5d8;border-radius:12px;background:#fff}.marketing-support-card img{display:block;width:100%;height:auto;border-bottom:1px solid #dce5d8}.marketing-support-card>div{padding:1.5rem 2rem}.marketing-support-card h3{margin:0 0 .8rem;font-size:1.35rem;line-height:1.6}.marketing-support-card :where(p:not(.marketing-kicker)){color:#5a6f60;font-size:.9rem;line-height:1.9}.marketing-support-detail{padding-top:1rem;border-top:1px solid #e2e9de}.marketing-support-transfer{padding:2.5rem;background:#f4f6ee}.marketing-transfer-steps{display:grid;gap:1rem;margin:2rem 0;padding:0;list-style-position:inside;color:#325b3d;font-size:.85rem;font-weight:650}.marketing-transfer-steps li{padding:.8rem 1rem;border:1px solid #d5e0cd;border-radius:6px;background:#fff}.marketing-data{max-width:1180px;margin:0 auto;padding:3.5rem;border-radius:18px;color:#284c40;background:#edf4ed;scroll-margin-top:100px}.marketing-data-heading{max-width:780px}.marketing-data-heading h2{margin:0 0 1rem;color:#183f30;font-size:2.2rem;line-height:1.4}.marketing-data-heading>:where(p:last-child){color:#526d5b;line-height:1.9}.marketing-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid #c8dacb}.marketing-data-grid :where(article>span){color:#597563;font-size:.8rem;font-family:ui-monospace,monospace}.marketing-data-grid h3{margin:1rem 0 .7rem;color:#183f30;font-size:1.05rem;line-height:1.6}.marketing-data-grid p{color:#526d5b;font-size:.85rem;line-height:1.9}.tier-section.marketing-trial{padding:6rem 2rem 4rem;scroll-margin-top:100px}.marketing-trial .tier-grid{max-width:980px;margin:auto;gap:1.5rem}.marketing-trial .tier-card{padding:2rem;border-radius:13px;box-shadow:none}.marketing-trial .tier-card.featured{border:1px solid #73a484;background:#eef5ed}.marketing-trial .tier-action{border-radius:8px}.marketing-trial .tier-action:hover{background:#2a6545}.marketing-local-preview{display:block;width:fit-content;margin-top:1rem;color:#376545;font-size:.85rem;text-underline-offset:.25em}.marketing-beta-details{margin:0 0 .8rem;color:#365a43;font-size:.85rem}.marketing-beta-details summary{cursor:pointer;padding:.5rem 0;font-weight:700}.marketing-availability{max-width:980px;margin:1.5rem auto 0;color:#64786c;font-size:.8rem;line-height:1.8}.marketing-footer{display:flex;max-width:1180px;margin:auto;padding:2rem 0 3rem;border-top:1px solid #dce7dd;align-items:center;justify-content:space-between;gap:2rem}.marketing-footer b{color:#183f30;font-size:1.3rem}.marketing-footer p{margin:.6rem 0 0;color:#62776a;font-size:.8rem}.marketing-footer :where(p span){margin-left:.6rem;color:#62776a}.marketing-footer .landing-legal{margin-top:0}.marketing-site{--site-ink: #193f33;--site-muted: #5d6c64;--site-green: #1b6650;--site-line: #dce5dd;--site-paper: #fcfdfb;background:var(--site-paper);color:var(--site-ink);font-size:16px;line-height:1.75;overflow-wrap:break-word}.marketing-site :where(h1,h2,h3,h4){color:var(--site-ink);font-weight:750}.marketing-site :where(h1,h2,h3,h4,p,figure){margin:0}.marketing-site :where(a){text-underline-offset:.25em}.marketing-site main{outline:none}.site-section{width:min(1180px,calc(100% - 80px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--site-line);background:#fcfdfbf5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header-inner{display:flex;align-items:center;gap:40px;width:min(1320px,calc(100% - 64px));min-height:86px;margin:auto}.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.site-brand img{display:block;width:48px;height:48px}.site-brand span{display:grid;line-height:1.2}.site-brand small{font-size:9px;font-weight:800;letter-spacing:.12em}.site-brand b{font-size:23px;letter-spacing:.03em}.site-nav{display:flex;gap:28px;margin-left:auto}.site-nav a{padding:10px 0;font-size:14px;font-weight:650;color:var(--site-muted);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current]{color:var(--site-green);text-decoration:underline}.site-header-actions{display:flex;align-items:center;gap:22px}.site-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;border:1px solid var(--site-green);border-radius:6px;padding:12px 21px;font-size:14px;font-weight:750;line-height:1.5;text-decoration:none;transition:background .15s ease,box-shadow .15s ease}.site-button-primary{color:#fff;background:var(--site-green)}.site-button-primary:hover{color:#fff;background:#14503e;box-shadow:0 4px 12px #163d3020}.site-button-secondary{color:var(--site-green);background:transparent}.site-button-secondary:hover{background:#eaf1e9}.site-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.site-header-actions .site-button{padding:10px 17px;min-height:44px}.site-eyebrow{color:#36745c;font-size:12px;font-weight:750;letter-spacing:.12em;line-height:1.6}.site-hero{background:#f2f3ec;border-bottom:1px solid var(--site-line)}.site-hero-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);align-items:center;gap:48px;width:min(1320px,calc(100% - 80px));margin:auto;padding:66px 0 56px}.site-hero h1,.site-page-hero h1{font-size:clamp(36px,3.65vw,55px);line-height:1.35;letter-spacing:-.045em;margin-top:20px}.site-hero h1 strong,.site-page-hero h1 strong{color:#497958;font-weight:inherit}.site-lead{color:var(--site-muted);font-size:16px;line-height:1.95;max-width:570px}.site-hero .site-lead{margin-top:24px}.site-hero .site-actions{margin-top:28px}.site-entry-note{margin-top:13px;color:var(--site-muted);font-size:11px}.site-hero-jump{display:inline-flex;align-items:center;gap:22px;margin-top:29px;color:#466653;font-size:13px;text-decoration:none}.site-hero-jump:hover{text-decoration:underline}.site-product-image{min-width:0;border:1px solid #cfdbd2;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 14px 40px #1c3e2d0b}.site-product-image img{display:block;width:100%;height:auto}.site-product-image figcaption{padding:8px 14px;background:#fff;color:#66736b;font-size:10px;line-height:1.6;text-align:center;border-top:1px solid var(--site-line)}.site-window-bar{display:flex;align-items:center;gap:5px;padding:10px 12px;background:#e8eee6;border-bottom:1px solid #d6dfd5}.site-window-bar>span{width:5px;height:5px;border-radius:50%;background:#a0b0a2}.site-window-bar b{margin-left:7px;color:#4d6253;font-size:9px;font-weight:600}.site-product-hero{box-shadow:0 22px 54px #1c3e2d17}.site-hero-visual{position:relative;padding:22px 0}.site-hero-visual:before{content:"";position:absolute;inset:0 26px;background:#dce7d3;border-radius:40% 50% 35% 45%}.site-hero-visual .site-product-image{position:relative}.site-value-line{display:flex;align-items:center;justify-content:center;width:min(1180px,calc(100% - 80px));margin:auto;padding:24px 0;border-top:1px solid #d4dfd2}.site-value-line span{flex:1;color:#536b5a;text-align:center;font-size:12px;font-weight:650}.site-value-line :where(span+span){border-left:1px solid #cbd8c9}.site-mission{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;padding:80px 0}.marketing-site h2{font-size:clamp(27px,2.6vw,38px);letter-spacing:-.035em;line-height:1.45}.site-mission h2{margin-top:14px}.site-mission>:where(div)>:where(p:not(.site-eyebrow)){margin-top:20px;color:var(--site-muted);font-size:15px;max-width:530px}.site-mission>:where(div)>:where(p.site-mission-benefit){margin-top:16px;color:var(--site-ink);font-weight:650}.site-role-list{align-self:center}.site-role-list article{display:flex;gap:22px;padding:22px 0;border-top:1px solid var(--site-line)}.site-role-list article:last-child{border-bottom:1px solid var(--site-line)}.site-role-list :where(article)>:where(span){color:#657b63;font-size:12px;padding-top:6px}.site-role-list h3{font-size:18px;margin-bottom:8px}.site-role-list p{color:var(--site-muted);font-size:14px}.site-features{padding:34px 0 76px;scroll-margin-top:112px}.site-section-heading{max-width:630px;margin-bottom:50px}.site-section-heading h2{margin-top:14px}.site-section-heading>p:last-child:not(.site-eyebrow){margin-top:18px;color:var(--site-muted);font-size:15px}.site-showcase+.site-showcase{margin-top:48px}.site-showcase-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 0;border-block:1px solid var(--site-line)}.site-showcase-heading h3{font-size:24px;letter-spacing:-.025em}.site-showcase-heading p{margin-top:3px;font-size:12px;color:var(--site-muted)}.site-tool-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 14px}.site-tool-tabs button{appearance:none;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:var(--site-muted);font:inherit;font-size:13px;font-weight:650;line-height:1.5;padding:13px 5px;min-height:46px;cursor:pointer;white-space:nowrap}.site-tool-tabs button:hover{color:var(--site-green);background:#edf3e9}.site-tool-tabs button[aria-selected=true]{color:var(--site-green);border-bottom-color:var(--site-green);font-weight:800}.site-tool-tabs :where(button:focus-visible),.site-showcase-panel:focus-visible{outline:2px solid var(--site-green);outline-offset:4px}.site-showcase-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr);gap:52px;align-items:center;padding:36px 0 16px;min-height:430px}.site-showcase-panel[hidden]{display:none}.site-showcase-copy h4{margin-top:14px;font-size:clamp(24px,2.2vw,31px);line-height:1.5;letter-spacing:-.035em}.site-showcase-copy>:where(p:not(.site-eyebrow)){margin-top:20px;color:var(--site-muted);font-size:14px}.site-check-list{list-style:none;padding:0;margin:22px 0}.site-check-list li{position:relative;padding-left:21px;margin:8px 0;color:#41604d;font-size:13px}.site-check-list li:before{content:"✓";position:absolute;left:0;color:#5f8864}.site-text-link{display:inline-flex;align-items:center;gap:18px;color:#1b6650;font-size:13px;font-weight:750;text-decoration:none;padding:5px 0}.site-text-link:hover{text-decoration:underline}.site-tools{background:#f3f5f0;border-block:1px solid #e3e9df;padding:72px 0 64px}.site-tools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px}.site-tool{position:relative;padding:25px 0 29px 50px;min-height:140px;border-top:1px solid #d8e2d5}.site-tool-symbol{position:absolute;top:28px;left:0;display:grid;place-items:center;width:30px;height:30px;border:1px solid #b4c9b0;color:#597e57;border-radius:5px;font-size:14px}.site-tool h3{font-size:17px;margin-bottom:9px}.site-tool p{color:var(--site-muted);font-size:13px}.site-interaction{display:grid;grid-template-columns:.8fr 1.1fr;gap:95px;align-items:center;padding:84px 0}.site-interaction h2{margin-top:16px}.site-interaction>:where(div:first-child)>:where(p:not(.site-eyebrow)){margin:20px 0;color:var(--site-muted);font-size:15px;max-width:370px}.site-interaction-device{border:1px solid #c6d6c6;border-radius:14px;padding:10px;background:#e3ebdd}.site-data-teaser{background:#193f33;color:#f5f7ed}.site-data-teaser>.site-section{display:grid;grid-template-columns:.65fr 1fr;gap:100px;align-items:center;padding:66px 0}.marketing-site .site-data-teaser :where(h2,.site-eyebrow,.site-text-link){color:#f1f4e9}.site-data-teaser h2{margin-top:14px}.site-data-teaser p:not(.site-eyebrow){color:#d5e1d2;margin-top:20px;font-size:14px;max-width:565px}.site-data-teaser .site-data-detail{font-size:12px;color:#bbcebb}.site-data-teaser .site-text-link{margin-top:18px}.site-data-mark{display:flex;flex-direction:column;align-items:center;justify-self:center;width:190px;height:210px;border:1px solid #7b9b7e;border-radius:16px;background:#244c3b;color:#c4d9af;font-size:100px;line-height:1.3}.site-data-mark span{font-size:12px;letter-spacing:.3em}.site-faq{display:grid;grid-template-columns:.65fr 1.35fr;gap:76px;padding:80px 0;scroll-margin-top:120px}.site-faq-heading h2{margin:15px 0 18px}.site-faq-list details{border-top:1px solid var(--site-line)}.site-faq-list details:last-child{border-bottom:1px solid var(--site-line)}.site-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 0;font-size:15px;font-weight:650;cursor:pointer;list-style:none}.site-faq-list summary::-webkit-details-marker{display:none}.site-faq-list summary>span{font-size:21px;color:#6e8c70;font-weight:400;flex-shrink:0;transition:transform .15s ease}.site-faq-list :where(details[open] summary)>:where(span){transform:rotate(45deg)}.site-faq-list :where(details)>:where(p){color:var(--site-muted);padding:0 30px 23px 0;font-size:14px;line-height:1.95}.site-invitation{background:#eaf0e3;border-block:1px solid #d7e1cf}.site-invitation>.site-section{display:grid;grid-template-columns:1.3fr 1fr;gap:14px 40px;align-items:center;padding:57px 0}.site-invitation h2{font-size:29px;margin:10px 0 16px}.site-invitation p:not(.site-eyebrow){color:var(--site-muted);font-size:14px;max-width:580px}.site-invitation .site-actions{justify-content:flex-end}.site-invitation small{grid-column:2;color:#5a705c;font-size:11px;text-align:right}.site-footer{display:grid;grid-template-columns:1.6fr .9fr 1.2fr;gap:50px;padding:46px 0 22px}.site-footer-brand b{font-size:25px}.site-footer-brand p{color:var(--site-muted);font-size:13px;margin-top:9px}.site-footer-brand small{color:#5e6e61;font-size:10px}.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:5px}.site-footer nav a{font-size:12px;color:#566d5a;text-decoration:none}.site-footer nav a:hover{text-decoration:underline}.site-footer-note{grid-column:1 / -1;padding-top:18px;border-top:1px solid var(--site-line);color:#5b6f5f;font-size:10px}.site-page-hero{padding:62px 0 48px}.site-page-hero .site-lead{margin-top:24px;max-width:780px}.site-data-explainer{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:20px 0 65px}.site-storage-diagram{background:#f0f3eb;border:1px solid #d7e2d0;padding:32px;border-radius:12px}.site-storage-device{background:#fff;border:1px solid #a7c3a4;padding:25px;border-radius:9px}.site-storage-device h2{font-size:21px;margin:12px 0}.site-storage-device p{color:var(--site-muted);font-size:12px}.site-storage-arrow{display:block;text-align:center;color:#79a275;font-size:26px;padding:8px}.site-storage-backup{border:1px dashed #8faa88;padding:15px;text-align:center;font-size:14px;border-radius:6px}.site-storage-account{margin-top:30px;border-top:1px solid #d0dcc8;padding-top:24px}.site-storage-account h3{font-size:17px;margin:8px 0}.site-storage-account p{color:var(--site-muted);font-size:12px}.site-data-explainer-copy h2{font-size:29px;margin:15px 0 20px}.site-data-explainer-copy h3{font-size:17px;margin:25px 0 10px}.site-data-explainer-copy p:not(.site-eyebrow){color:var(--site-muted);font-size:14px}.site-data-explainer-copy .site-text-link{margin-top:16px}.site-data-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;padding:45px 0 55px;border-block:1px solid var(--site-line)}.site-data-facts h2{font-size:21px;margin:16px 0}.site-data-facts p{font-size:14px;color:var(--site-muted)}.site-backup-checklist{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;padding:66px 0}.site-backup-checklist h2{font-size:26px}.site-backup-checklist ol{padding-left:22px;margin:0}.site-backup-checklist li{color:var(--site-muted);padding-left:10px;margin-bottom:14px;font-size:14px}.site-read-only{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:35px 0 75px}.site-read-only h2{font-size:26px;margin:14px 0}.site-read-only p{color:var(--site-muted);font-size:14px}.site-read-only>p{background:#f0f3eb;border-left:2px solid #91b487;padding:24px}.site-trial-options{display:grid;grid-template-columns:1fr 1fr;gap:26px}.site-trial-options article{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #dbe4d7;background:#f6f7f2;border-radius:10px;padding:36px}.site-trial-options article.site-trial-featured{border-color:#a4c197;background:#edf3e7}.site-trial-options h2{font-size:27px;margin:14px 0 18px}.site-trial-options p:not(.site-eyebrow){font-size:14px;color:var(--site-muted)}.site-trial-options ul{flex:1}.site-local-preview{display:block;margin-top:17px;font-size:12px;color:#436e4f}.site-setup{padding:75px 0 10px}.site-setup h2{font-size:28px}.site-setup ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;list-style:none;padding:0;margin:30px 0 0}.site-setup li{border-top:1px solid var(--site-line);padding-top:20px}.site-setup li>span{font-size:13px;color:#637b58}.site-setup h3{font-size:19px;margin:12px 0 10px}.site-setup p{color:var(--site-muted);font-size:14px}.site-availability{font-size:12px;color:#647766;padding-bottom:55px}.site-entered{animation:site-arrive .45s ease-out both}@keyframes site-arrive{0%{opacity:.4;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.site-header-inner{gap:24px}.site-nav{gap:20px}.site-hero-inner{gap:28px;padding-top:48px}.site-hero h1{font-size:40px}.site-hero .site-actions{gap:9px}.site-hero .site-button{padding-inline:15px}.site-mission{gap:50px}.site-showcase-panel{gap:34px}.site-interaction{gap:52px}}@media(max-width:820px){.site-section,.site-hero-inner,.site-value-line{width:calc(100% - 48px)}.site-header-inner{width:calc(100% - 40px);gap:18px}.site-header-actions{gap:15px}.site-brand small{display:none}.site-nav{gap:16px}.site-nav a{font-size:12px}.site-hero-inner{grid-template-columns:1fr;gap:25px}.site-hero-copy{max-width:610px}.site-hero h1{font-size:44px}.site-hero-visual{max-width:710px;width:100%;margin:auto;padding-block:10px}.site-mission{gap:32px;padding-block:55px}.site-showcase-bar{align-items:flex-start;flex-direction:column;gap:15px}.site-tool-tabs{justify-content:flex-start;gap:4px 18px}.site-showcase-panel{grid-template-columns:1fr;gap:26px;padding-block:32px;min-height:0}.site-showcase-copy{max-width:650px}.site-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.site-interaction{grid-template-columns:1fr;gap:32px;padding-block:55px}.site-interaction>:where(div:first-child)>:where(p:not(.site-eyebrow)){max-width:none}.site-data-teaser>.site-section{gap:45px;grid-template-columns:.5fr 1fr}.site-data-mark{width:130px;height:170px;font-size:80px}.site-faq{gap:35px;grid-template-columns:.75fr 1.25fr;padding-block:60px}.site-invitation>.site-section{grid-template-columns:1fr;gap:24px}.site-invitation .site-actions{justify-content:flex-start}.site-invitation small{grid-column:1;text-align:left;margin-top:-15px}.site-data-explainer{gap:35px}.site-data-facts{gap:26px}.site-backup-checklist,.site-read-only{gap:35px}.site-trial-options article{padding:26px}}@media(max-width:600px){.site-section,.site-hero-inner,.site-value-line{width:calc(100% - 36px)}.site-header-inner{display:grid;grid-template-columns:1fr auto;gap:0 12px;width:calc(100% - 32px);min-height:0;padding-top:10px}.site-brand img{width:35px;height:35px}.site-brand b{font-size:19px}.site-brand{gap:6px}.site-nav{grid-column:1 / -1;grid-row:2;width:100%;justify-content:center;margin:9px 0 0;border-top:1px solid #e1e8de;gap:32px}.site-nav a{padding:9px 0;font-size:12px}.site-header-actions{grid-column:2;grid-row:1;gap:14px}.site-button{font-size:13px;padding:11px 15px;gap:12px}.site-header-actions .site-button{padding:8px 11px;min-height:39px;font-size:12px;gap:10px}.site-hero-inner{padding:35px 0 24px;gap:25px}.site-hero h1,.site-page-hero h1{font-size:34px;line-height:1.4;margin-top:15px}.site-lead{font-size:14px}.site-hero .site-lead{margin-top:18px}.site-hero .site-actions{margin-top:22px}.site-hero-jump{margin-top:20px}.site-value-line{display:grid;grid-template-columns:1fr 1fr;gap:10px 0;padding-block:18px}.site-value-line span{font-size:11px}.site-value-line span:nth-child(3){border-left:0}.site-window-bar{padding:7px 10px}.site-product-image{border-radius:7px}.site-product-image figcaption{font-size:9px}.site-mission{grid-template-columns:1fr;gap:25px;padding:44px 0}.marketing-site h2{font-size:27px}.site-mission>:where(div)>:where(p:not(.site-eyebrow)){font-size:14px}.site-role-list article{padding-block:18px}.site-features{padding:24px 0 45px;scroll-margin-top:120px}.site-section-heading{margin-bottom:22px}.site-section-heading>p:last-child:not(.site-eyebrow){font-size:14px}.site-showcase-panel{padding-block:25px}.site-showcase-copy h4{font-size:25px}.site-showcase+.site-showcase{margin-top:12px}.site-showcase-copy>:where(p:not(.site-eyebrow)){margin-top:15px}.site-check-list{margin:17px 0}.site-tools{padding:42px 0 25px}.site-tools-grid{gap:0 22px}.site-tool{padding:19px 0 24px;min-height:0}.site-tool-symbol{position:static;margin-bottom:12px}.site-tool h3{font-size:16px}.site-tool p{font-size:12px}.site-interaction{padding-block:44px}.site-data-teaser>.site-section{grid-template-columns:1fr;gap:24px;padding-block:42px}.site-data-mark{display:none}.site-faq{grid-template-columns:1fr;gap:24px;padding-block:44px}.site-faq-heading h2{margin-bottom:9px}.site-faq-list summary{font-size:14px;padding-block:18px}.site-faq-list :where(details)>:where(p){font-size:13px;padding-right:10px}.site-invitation>.site-section{padding-block:40px;gap:20px}.site-invitation h2{font-size:26px}.site-footer{grid-template-columns:1fr 1.25fr;gap:28px 20px;padding-top:35px}.site-footer-brand{grid-column:1 / -1}.site-page-hero{padding:36px 0 34px}.site-data-explainer{grid-template-columns:1fr;gap:33px;padding:0 0 38px}.site-storage-diagram{padding:24px}.site-storage-device h2{font-size:20px}.site-data-explainer-copy h2{font-size:25px}.site-data-facts{grid-template-columns:1fr;gap:28px;padding-block:32px}.site-data-facts h2{font-size:22px;margin-block:12px}.site-backup-checklist,.site-read-only{grid-template-columns:1fr;gap:23px;padding-block:35px}.site-backup-checklist h2,.site-read-only h2{font-size:25px}.site-trial-options{grid-template-columns:1fr;gap:18px}.site-trial-options article{padding:25px}.site-setup{padding-top:40px}.site-setup h2{font-size:25px}.site-setup ol{grid-template-columns:1fr;gap:24px;margin-top:25px}.site-availability{padding-bottom:35px}}@media(prefers-reduced-motion:reduce){.marketing-site .site-entered,.marketing-site *,.marketing-site *:before,.marketing-site *:after{animation:none;transition:none;scroll-behavior:auto}}.student-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:18px 0 4px;border-top:1px solid #e6ede8;margin-top:12px}.student-pagination>span{display:inline-flex;align-items:center;gap:6px}.roster-card>.student-pagination{padding-inline:1.25rem}.student-pagination button{min-width:36px;min-height:36px;padding:6px 10px;border:1px solid #d3e1d8;border-radius:8px;background:#fff;color:#355347;font-size:13px;box-shadow:none}.student-pagination button[aria-current=page]{background:#247961;border-color:#247961;color:#fff;font-weight:700}.student-pagination button:focus-visible{outline:3px solid #2f7c63;outline-offset:2px}.student-pagination button:disabled{opacity:.5;cursor:default}.student-pagination .pagination-position{margin-left:auto;color:#586b60;font-size:12px}.pagination-gap{color:#586b60}.class-setup-page{min-height:100vh;padding:clamp(20px,4vw,54px);background:#f4f6f1;color:#263f35}.class-setup-shell{max-width:1080px;margin:0 auto;border:1px solid #cbd8ce;border-radius:24px;background:#fff;box-shadow:0 12px 38px #213b2e0d;overflow:hidden}.class-setup-brand{display:flex;align-items:center;gap:14px;padding:22px 32px;border-bottom:1px solid #dce4dc}.class-setup-brand-mark{display:grid;place-items:center;width:44px;height:44px;border:2px solid #435b40;border-radius:12px;background:#f6d97e;font-size:23px;font-weight:800}.class-setup-brand :where(strong,small){display:block}.class-setup-brand :where(small){margin-top:4px;color:#596b5f;font-size:12px}.class-setup-brand :where(button){margin-left:auto;font-size:13px}.class-setup-body{display:grid;grid-template-columns:260px minmax(0,1fr)}.class-setup-sidebar{padding:32px 28px;background:#edf3eb;border-right:1px solid #dce4dc}.class-setup-intro{margin:0;font-size:14px;line-height:1.8;color:#506455}.class-setup-progress{list-style:none;padding:0;margin:30px 0;display:grid;gap:22px}.class-setup-progress :where(li){display:flex;align-items:center;gap:12px;color:#657467}.class-setup-progress :where(li>span){display:grid;place-items:center;width:32px;height:32px;border:1px solid #b7c6b8;border-radius:50%;background:#fff;font-size:14px}.class-setup-progress :where(.reached){color:#235c45}.class-setup-progress :where(.reached>span){background:#28694f;color:#fff;border-color:#28694f}.class-setup-content{min-height:560px;padding:38px 40px 30px}.class-setup-content :where(h1){margin:10px 0 12px;font-size:clamp(23px,2.3vw,29px);line-height:1.45;color:#223f32}.class-setup-content :where(h1:focus){outline:none}.class-setup-step-count{color:#486954;font-weight:600;font-size:13px;letter-spacing:.05em}.class-setup-description{margin:0 0 28px;color:#5c6c61;font-size:14px;line-height:1.8}.class-setup-home-fields{display:grid;gap:14px}.class-setup-choice{display:flex;align-items:center;gap:12px;border:1px solid #cdd8ce;border-radius:12px;padding:18px;font-weight:600;cursor:pointer}.class-setup-choice.selected{background:#eef6ef;border:2px solid #367456;padding:17px}.class-setup-choice :where(input),.class-setup-no-teaching :where(input){width:18px;height:18px;accent-color:#28694f;margin:0}.class-setup-home-input{display:grid;gap:9px;margin:0 0 10px 30px;max-width:270px;font-size:14px}.class-setup-home-input :where(input){font-size:19px}.class-setup-row-labels,.class-setup-teaching-row{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(150px,1.3fr) 40px;gap:12px;align-items:center}.class-setup-row-labels{font-size:13px;font-weight:600;margin-bottom:9px}.class-setup-teaching-row{margin-bottom:12px}.class-setup-teaching-row :where(input){min-width:0}.class-setup-teaching-row :where(button){height:40px;padding:0;color:#667469;font-size:24px;border-color:transparent;box-shadow:none}.class-setup-add{background:#f8faf5;color:#28694f;border:1px dashed #83a18a;width:calc(100% - 52px);margin-top:2px}.class-setup-no-teaching{display:flex;align-items:center;gap:10px;margin:22px 0;font-size:14px;cursor:pointer}.class-setup-note{background:#edf5f0;padding:13px 16px;border-radius:10px;color:#3d634d;font-size:13px;line-height:1.7;margin:22px 0 0}.class-setup-review :where(h2){font-size:14px;font-weight:700;margin:0 0 10px;color:#55715b}.class-setup-review :where(section){margin-bottom:22px}.class-setup-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.class-setup-preview-card{padding:16px;border-radius:12px;border:1px solid #c6d7dc;background:#edf5f8}.class-setup-preview-card.home{border-color:#bacfb9;background:#edf5e9}.class-setup-preview-card :where(strong){display:block;font-size:19px}.class-setup-preview-card :where(strong>span){font-size:15px}.class-setup-preview-card :where(small){display:block;margin-top:8px;color:#526966;font-size:12px}.class-setup-next-task{margin-top:22px;border-top:1px solid #dde5dd;padding-top:18px}.class-setup-next-task :where(strong){font-size:14px}.class-setup-next-task :where(p){font-size:13px;line-height:1.8;color:#657267;margin:8px 0 0}.class-setup-error{color:#a63824;background:#fff1eb;border-radius:8px;padding:12px;font-size:14px}.class-setup-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:26px;margin-top:24px;border-top:1px solid #e0e7df}.class-setup-actions :where(.primary-action){background:#28694f;color:#fff;border-color:#28694f;min-width:132px}.class-setup-fields{border:0;padding:0;margin:0;min-width:0}.class-picker-heading-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.class-picker-heading-actions :where(button){margin:0;min-height:42px}@media(max-width:760px){.class-setup-page{padding:16px}.class-setup-brand{padding:18px;flex-wrap:wrap}.class-setup-brand :where(button){font-size:12px}.class-setup-body{grid-template-columns:1fr}.class-setup-sidebar{padding:18px;border-right:0;border-bottom:1px solid #dce4dc}.class-setup-intro{display:none}.class-setup-progress{display:flex;justify-content:space-between;margin:0;gap:8px}.class-setup-progress :where(li){font-size:12px;gap:6px}.class-setup-progress :where(li>span){width:25px;height:25px}.class-setup-content{padding:26px 20px;min-height:auto}.class-setup-preview-grid{grid-template-columns:1fr}.class-setup-row-labels,.class-setup-teaching-row{grid-template-columns:minmax(80px,.7fr) minmax(100px,1fr) 28px;gap:7px}}.coursework-dashboard,.coursework-table-page{display:grid;min-width:0;gap:24px;color:#243f37}.coursework-header,.coursework-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.coursework-header h3{margin:0 0 4px;font-size:24px}.coursework-back{min-height:44px;padding:0;background:transparent;border:0;color:#245d4c;font-size:14px}.coursework-meta{color:#62716c;font-size:13px}.coursework-toolbar,.coursework-table-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.coursework-toolbar>button,.coursework-evaluation>button{min-height:44px;padding:8px 14px;background:#eef5f1;border:1px solid #c8d9d0;border-radius:8px;color:#245d4c}.coursework-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.coursework-stat{border-left:3px solid #79a796;padding:4px 16px;display:grid;gap:6px;background:#f5f8f5}.coursework-stat>span{color:#576e63;font-size:14px}.coursework-stat>strong{font-size:30px}.coursework-stat small{font-size:13px;font-weight:400;margin-left:8px}.coursework-section-header{margin-bottom:14px}.coursework-section-header h4{margin:0;font-size:18px}.coursework-section-header>span{font-size:13px;color:#62716c}.coursework-followups{max-height:330px;overflow-y:auto;border-top:1px solid #d9e3dc;border-bottom:1px solid #d9e3dc}.coursework-followup{width:100%;min-height:72px;display:flex;align-items:center;gap:16px;padding:12px 14px;border:0;border-bottom:1px solid #e3e9e4;border-radius:0;background:#fff;text-align:left;color:inherit}.coursework-followup:hover{background:#f2f7f3}.coursework-task-title{display:grid;gap:4px;flex:1;min-width:0}.coursework-task-title b{overflow-wrap:anywhere}.coursework-task-title small{color:#62716c}.coursework-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.coursework-badge{padding:4px 8px;font-size:13px;background:#fff3d8;color:#745722;border-radius:5px;white-space:nowrap}.coursework-badge-alert{color:#98452f;background:#fff0e9}.coursework-badge-muted{background:#eff2f0;color:#576e63}.coursework-passline{display:flex;align-items:center;gap:8px;font-size:14px}.coursework-passline input{width:76px;min-height:44px;padding:8px;font-size:16px}.coursework-empty{margin:0;padding:18px 0;color:#62716c;font-size:14px}.coursework-concern-list>button{width:100%;display:flex;gap:16px;padding:12px;min-height:48px;text-align:left;background:#fff;border:1px solid #dde5df}.coursework-concern-list b{flex:1}.coursework-recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.coursework-evaluation{padding:18px;background:#fff;border:1px solid #d9e3dc;border-radius:10px;display:grid;align-content:start;gap:10px}.coursework-evaluation h5{font-size:16px;margin:0 0 6px}.coursework-evaluation p{margin:0}.coursework-evaluation-average{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.coursework-evaluation-average>strong{font-size:30px}.coursework-evaluation-average>span{font-size:12px;color:#62716c}.coursework-evaluation header>span{color:#62716c;font-size:12px}.coursework-distribution{display:grid;gap:7px;margin:8px 0}.coursework-distribution>div{display:grid;grid-template-columns:64px 1fr 20px;gap:8px;align-items:center;font-size:12px}.coursework-distribution>div>div{height:7px;background:#edf2ee;border-radius:4px;overflow:hidden}.coursework-distribution i{display:block;height:100%;background:#719f8b}.coursework-search{margin-left:auto}.coursework-search input{min-height:44px;width:210px;padding:10px 12px;font-size:16px}.coursework-grid-scroll{overflow:auto;max-height:min(70vh,760px);border:1px solid #cbd8d0;border-radius:8px;background:#fff;isolation:isolate}.coursework-grid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;table-layout:fixed;font-size:15px}.coursework-grid th,.coursework-grid td{min-width:144px;max-width:190px;padding:12px;border-right:1px solid #dde5df;border-bottom:1px solid #dde5df;text-align:center;white-space:pre-line;overflow-wrap:anywhere;vertical-align:middle}.coursework-grid thead th{position:sticky;top:0;z-index:2;background:#edf4ef;font-weight:600}.coursework-column-title{display:block}.coursework-grid small{display:block;font-size:12px;color:#62716c;margin-top:4px;font-weight:400}.coursework-grid .coursework-number{position:sticky;left:0;width:68px;min-width:68px;max-width:68px;z-index:1;background:#f5f8f5;font-weight:500}.coursework-grid .coursework-name{position:sticky;left:68px;width:150px;min-width:150px;max-width:150px;z-index:1;background:#f5f8f5;text-align:left;box-shadow:2px 0 3px #cbd8d044}.coursework-grid thead .coursework-number,.coursework-grid thead .coursework-name{z-index:3;background:#e4eee7}.coursework-grid-missing{color:#95452e;background:#fff4ed}.coursework-grid-muted{color:#6a7971;font-size:13px}@media(max-width:1000px){.coursework-recent-grid{grid-template-columns:1fr}.coursework-followup{gap:10px}}@media(max-width:600px){.coursework-stats{gap:8px}.coursework-stat{padding:6px 8px}.coursework-followup{flex-wrap:wrap}.coursework-badges{justify-content:flex-start}}.cloud-migration-panel{grid-column:1 / -1}.cloud-import-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px}.cloud-import-review>:not(dl):not(table){grid-column:1 / -1}.cloud-import-counts{width:100%;border-collapse:collapse;align-self:start;text-align:left}.cloud-import-counts caption{padding:8px;font-weight:700;text-align:left}.cloud-import-counts th,.cloud-import-counts td{padding:8px;border-bottom:1px solid var(--line);text-align:left}.school-year-settings{padding:20px;display:grid;gap:16px;margin-bottom:16px}.school-year-settings header{display:flex;align-items:center;justify-content:space-between;gap:12px}.school-year-settings h2,.school-year-settings p{margin:0}.school-year-settings p,.school-year-settings small{color:var(--muted)}.school-year-list{display:grid;gap:8px}.school-year-list>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}.school-year-list strong{min-width:140px}.school-year-list button:first-of-type{margin-left:auto}.school-year-create{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:10px}.school-year-create label{flex:1;min-width:160px}.school-year-settings fieldset{border:0;padding:0}.school-year-settings legend{font-weight:700;margin-bottom:12px}.school-year-delete{padding-top:12px;border-top:1px solid var(--line)}.school-year-delete>div{display:grid;gap:12px;padding-top:12px}.school-year-delete label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.school-year-delete input[type=checkbox]{width:auto}.school-year-read-only{padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:#f6f4ed;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.school-year-next-name{align-self:center;min-width:140px}.school-year-read-only small{display:block;color:var(--muted)}:root{font-family:PingFang HK,Noto Sans HK,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#182230;background:#f6f7f9;font-synthesis:none;--ink: #182230;--ink-2: #344054;--teal: #465fff;--teal-soft: #eef1ff;--paper: #ffffff;--paper-deep: #f8fafc;--line: #e4e7ec;--muted: #667085;--red: #d92d20;--red-soft: #fef3f2;--amber: #f79009;--green: #16865c;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 8px 24px rgba(16, 24, 40, .04)}*{box-sizing:border-box}html{min-width:320px;background:#f6f7f9}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{appearance:none;border:2px solid var(--line);border-radius:10px;padding:.5rem .85rem;color:inherit;background:#fff;box-shadow:0 1px 2px #2b433914;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}button:where(:hover:not(:disabled)){border-color:#9fb8a9;background:#f0f6f3;box-shadow:0 2px 5px #2b43391a}button:where(:active:not(:disabled)){background:#e7f0eb;box-shadow:none}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;padding:.75rem .85rem;outline:none;transition:border-color .15s,box-shadow .15s}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #176b55;outline-offset:2px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:.75rem;left:.75rem;padding:.7rem 1rem;color:#fff;background:#17352d;font-weight:900;text-decoration:none;transform:translateY(-180%);transition:transform .15s ease;z-index:1000}.skip-link:focus{transform:translateY(0)}button,[role=button],input,select,textarea{min-height:24px}button:disabled{cursor:not-allowed;opacity:.65}textarea{resize:vertical}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);font-family:inherit;letter-spacing:-.025em}.wordmark{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);font-weight:800;text-decoration:none;letter-spacing:.06em}.wordmark>span{display:grid;width:2.2rem;height:2.2rem;place-items:center;border:0;border-radius:9px;color:#fff;background:var(--teal);font-family:inherit;font-size:1.1rem;font-weight:800;transform:none}.wordmark.inverse{color:#eff7f3}.eyebrow{color:var(--teal);font-family:inherit;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.primary-action{border:0;border-radius:10px;padding:.75rem 1rem;color:#fff;background:var(--teal);font-weight:700;box-shadow:0 1px 2px #1018281f;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.primary-action:hover{background:#354bd7;box-shadow:0 4px 10px #465fff38;transform:translateY(-1px)}.primary-action:active{background:#2f43c4;box-shadow:0 1px 2px #1018281f;transform:translateY(0)}.primary-action.large{padding:.95rem 1.25rem}.quiet-button,.text-action{border:0;background:transparent;font-weight:750}.text-action{color:var(--teal)}.paper-card{border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}.form-error{margin:.75rem 0;border-left:3px solid var(--red);padding:.65rem .75rem;color:#873526;background:var(--red-soft);font-size:.88rem}.landing{min-height:100vh;overflow:hidden;background:linear-gradient(90deg,transparent 48px,rgba(47,125,103,.08) 49px,transparent 50px),#f5f6f1}.landing-header{display:flex;max-width:1220px;margin:auto;padding:1.5rem 2rem;align-items:center;justify-content:space-between}.landing-hero{display:grid;max-width:1220px;min-height:630px;margin:auto;padding:3.2rem 2rem 5rem;grid-template-columns:1fr .86fr;align-items:center;gap:6rem}.hero-copy h1{margin:.5rem 0 1.5rem;font-family:DFKai-SB,BiauKai,KaiTi,serif;font-size:clamp(3.6rem,7vw,6.5rem);font-weight:400;line-height:.97;letter-spacing:-.06em}.hero-copy .landing-value-title{font-size:clamp(2rem,3.4vw,3rem);line-height:1.35;letter-spacing:0;text-wrap:balance}.landing-positioning{margin:0 0 1rem;color:var(--teal);font-size:.95rem;font-weight:800;line-height:1.6}.hero-copy h1 em{color:var(--red);font-style:normal;position:relative}.hero-copy h1 em:after{position:absolute;right:-.1em;bottom:-.04em;left:-.1em;height:8px;background:var(--amber);content:"";transform:rotate(-2deg);z-index:-1}.hero-lead{max-width:580px;color:var(--muted);font-size:1.15rem;line-height:1.8}.hero-actions{display:flex;margin-top:2rem;align-items:center;gap:1.2rem;flex-wrap:wrap}.privacy-line{display:block;margin-top:1.5rem;color:var(--muted)}.hero-register{position:relative;border:1px solid #b8c4bd;border-radius:5px 13px 13px 5px;background:var(--paper);box-shadow:24px 28px #17352d14,var(--shadow);transform:rotate(1.2deg)}.register-binding{position:absolute;top:0;bottom:0;left:-11px;display:flex;flex-direction:column;justify-content:space-around}.register-binding i{display:block;width:24px;height:7px;border:2px solid #61736c;border-radius:7px;background:#f5f6f1}.hero-register>header{display:flex;padding:1.1rem 1.35rem;color:#fff;background:var(--ink);align-items:center;justify-content:space-between}.register-date{display:flex;padding:1.4rem;align-items:center;gap:1rem;border-bottom:1px solid var(--line)}.register-date strong{font:700 4.5rem/.8 Consolas,monospace;color:var(--red)}.register-date span{color:var(--muted);font-weight:700;line-height:1.5}.register-lines{padding:.2rem 1.4rem}.register-lines div{display:grid;padding:1.1rem 0;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:1rem;border-bottom:1px solid #dce2de}.register-lines span{color:var(--muted);font:.82rem Consolas,monospace}.register-lines p{margin:0;font-weight:750}.mark{border-radius:999px;padding:.28rem .55rem;font-size:.7rem}.mark.amber{background:#f8e5aa}.mark.green{background:#d7ebdc}.mark.red{background:#f4ded8}.hero-register footer{display:grid;margin:1rem;border-radius:8px;padding:1rem;color:#fff;background:var(--teal);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}.hero-register footer span{font-size:.75rem;opacity:1}.hero-register footer b:last-child{font-size:1.4rem}.landing-proof{display:grid;max-width:1220px;margin:auto;border-top:1px solid var(--line);padding:2.5rem 2rem 4rem;grid-template-columns:repeat(3,1fr);gap:3rem}.landing-proof article{border-left:3px solid var(--teal);padding-left:1rem}.landing-proof b{color:var(--ink)}.landing-proof p{margin:.5rem 0 0;color:var(--muted);line-height:1.7}.tier-section{max-width:1220px;margin:0 auto;padding:1rem 2rem 4rem;scroll-margin-top:1rem}.tier-heading{max-width:600px;margin-bottom:1.5rem}.tier-heading h2{margin:.3rem 0 .5rem;font-size:clamp(1.8rem,4vw,2.6rem)}.tier-heading p:last-child{color:var(--muted);line-height:1.65}.tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tier-card{display:flex;min-height:375px;border:1px solid var(--line);border-radius:18px;padding:1.5rem;background:#fff;box-shadow:var(--shadow);flex-direction:column}.tier-card.featured{border:2px solid var(--teal);background:#f8f9ff}.tier-index{color:var(--teal);font-size:.75rem;font-weight:850;letter-spacing:.09em}.tier-card h3{margin:1rem 0 .6rem;font-size:1.55rem}.tier-card p{color:var(--ink-2);line-height:1.7}.tier-card ul{margin:.25rem 0 1.5rem;padding-left:1.2rem;color:var(--muted);line-height:1.85}.tier-action{display:flex;min-height:48px;margin-top:auto;border-radius:10px;padding:.7rem 1rem;color:#fff;background:var(--ink);align-items:center;justify-content:space-between;font-weight:800;text-decoration:none}.tier-card.featured .tier-action{background:var(--teal)}.tier-action:hover{background:#354bd7}@media(max-width:800px){.tier-grid{grid-template-columns:1fr}.tier-card{min-height:0}.tier-section{padding:1rem 1rem 3rem}}.console-shell{display:grid;min-height:100vh;background:#eef0eb;grid-template-columns:246px minmax(0,1fr)}.console-sidebar{position:sticky;top:0;display:flex;height:100vh;padding:1.25rem 1rem;color:#dce9e4;background:var(--ink);flex-direction:column;overflow-y:auto}.console-sidebar .wordmark{padding:.25rem .5rem 1.5rem}.class-context{margin-bottom:.8rem;border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:.7rem;background:#ffffff0f}.class-context small{display:block;margin-bottom:.35rem;color:#91aaa1;font-size:.68rem;letter-spacing:.09em}.class-context select{border:0;padding:.3rem 0;color:#fff;background:transparent;font-weight:750}.console-sidebar nav{flex:1}.nav-section{display:block;margin:1rem .65rem .35rem;color:#779188;font:.64rem Consolas,monospace;letter-spacing:.15em}.nav-item{display:flex;width:100%;margin:2px 0;border:0;border-radius:7px;padding:.65rem .7rem;color:#bad0c8;background:transparent;align-items:center;gap:.75rem;text-align:left}.nav-item span{display:grid;width:1.65rem;height:1.65rem;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:6px;font-family:DFKai-SB,KaiTi,serif}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.active{color:var(--ink);background:var(--amber);font-weight:800}.nav-item.active span{border-color:#17352d40}.nav-menu{position:relative}.nav-item.has-submenu i{margin-left:auto;font-style:normal;transition:transform .15s}.nav-item.has-submenu[aria-expanded=true] i{transform:rotate(180deg)}.nav-submenu{display:grid;margin:.25rem 0 .65rem 2.4rem;border-left:1px solid rgba(255,255,255,.18);padding-left:.45rem;gap:.2rem}.nav-submenu>button{display:grid;width:100%;min-height:48px;border:0;border-radius:6px;padding:.42rem .5rem;color:#aec4bc;background:transparent;grid-template-columns:28px 1fr;align-items:center;gap:.45rem;text-align:left}.nav-submenu>button:hover,.nav-submenu>button.active{color:#fff;background:#ffffff17}.nav-submenu>button>span{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;color:var(--ink);background:#bcd5cc;font:.76rem DFKai-SB,KaiTi,serif}.nav-submenu button.active>span{background:var(--amber)}.nav-submenu b,.nav-submenu small{display:block}.nav-submenu b{font-size:.76rem}.nav-submenu small{margin-top:.1rem;color:#829c93;font-size:.6rem}.sidebar-foot{margin-top:1rem;border-top:1px solid rgba(255,255,255,.12);padding:1rem .5rem 0}.trial-meter{height:4px;margin-bottom:.6rem;background:#ffffff1a}.trial-meter span{display:block;height:100%;background:var(--amber)}.sidebar-foot small{color:#9ab0a8}.sidebar-foot button{display:block;margin-top:.6rem;border:0;padding:0;color:#d4e2dd;background:transparent;font-size:.8rem;text-decoration:underline}.console-main{min-width:0}.console-topbar{display:flex;min-height:92px;border-bottom:1px solid var(--line);padding:1.2rem 2rem;background:#fbfaf5e0;align-items:center;justify-content:space-between;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.console-topbar small{color:var(--muted)}.console-topbar h1{margin:.15rem 0 0;font-family:DFKai-SB,KaiTi,serif;font-size:1.7rem;font-weight:500}.topbar-meta{display:flex;align-items:center;gap:.65rem}.topbar-meta span{color:var(--muted)}.topbar-meta b{border-radius:999px;padding:.35rem .65rem;background:var(--teal-soft);font-size:.76rem}.preview-banner{border-bottom:1px solid #dfc36d;padding:.65rem 2rem;color:#59450d;background:#faebba;font-size:.82rem}.console-content{max-width:1460px;margin:auto;padding:2rem}.toast{position:fixed;right:1.5rem;bottom:1.5rem;border-radius:8px;padding:.85rem 1.1rem;color:#fff;background:var(--ink);box-shadow:var(--shadow);z-index:50;animation:toast-in .2s ease both}@keyframes toast-in{0%{transform:translateY(10px);opacity:0}}.loading-screen{display:grid;min-height:100vh;place-items:center;align-content:center;gap:1rem;color:var(--muted)}.loader-mark{display:grid;width:4rem;height:4rem;place-items:center;border:2px solid var(--teal);border-radius:50%;color:var(--ink);font:2rem DFKai-SB,KaiTi,serif;animation:breathe 1.6s infinite alternate}@keyframes breathe{to{transform:scale(1.05);box-shadow:0 0 0 12px #2f7d6714}}.panel-heading{display:flex;padding:1.25rem 1.35rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panel-heading h2{margin-bottom:0}.panel-heading .eyebrow{margin-bottom:.3rem}.panel-heading label{display:flex;width:auto;align-items:center;gap:.5rem;color:var(--muted);font-size:.8rem}.panel-heading label input{width:150px}.empty-state{max-width:520px;margin:6rem auto;padding:3rem;text-align:center}.empty-state>span{display:grid;width:4rem;height:4rem;margin:0 auto 1rem;place-items:center;border:1px solid var(--teal);color:var(--teal);font:2rem DFKai-SB,KaiTi,serif}.empty-state p{color:var(--muted)}.compact-form{padding:1.25rem}.compact-form h2{margin-bottom:1.3rem}.compact-form label{display:block;margin-bottom:.9rem;color:var(--muted);font-size:.78rem;font-weight:700}.compact-form label input,.compact-form label select,.compact-form label textarea{margin-top:.35rem;color:var(--ink)}.sticky-save{position:sticky;bottom:0;display:flex;border-top:1px solid var(--line);padding:1rem 1.25rem;background:#fbfaf5f0;align-items:center;justify-content:space-between;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sticky-save span{color:var(--muted);font-size:.82rem}.today-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.25rem}.today-register{display:grid;min-height:560px;overflow:hidden;grid-template-columns:110px 1fr}.date-rail{display:flex;padding:1.5rem 1rem;color:#fff;background:var(--teal);align-items:center;flex-direction:column}.date-rail strong{font:700 4rem/.9 Consolas,monospace}.date-rail span{margin:.8rem 0 .25rem;font-size:1.1rem;font-weight:800}.date-rail small{opacity:.75}.today-body{padding:2.2rem}.today-body h2{margin:.3rem 0 .65rem;font-family:DFKai-SB,KaiTi,serif;font-size:2.2rem;font-weight:500}.today-body>p:not(.eyebrow){color:var(--muted)}.quick-grid{display:grid;margin-top:2rem;grid-template-columns:1fr 1fr;gap:1rem}.quick-grid button{display:grid;min-height:150px;border:1px solid var(--line);border-radius:8px;padding:1rem;background:transparent;grid-template-columns:2.4rem 1fr;grid-template-rows:auto auto;align-content:center;gap:.35rem .8rem;text-align:left;transition:border-color .15s,transform .15s}.quick-grid button:hover{border-color:var(--teal);transform:translateY(-2px)}.quick-grid button>span{grid-row:1 / 3;display:grid;width:2.4rem;height:2.4rem;place-items:center;border-radius:50%;color:#fff;background:var(--ink);font-family:DFKai-SB,KaiTi,serif}.quick-grid b{align-self:end}.quick-grid small{color:var(--muted)}.today-aside{display:grid;align-content:start;gap:1.25rem}.rhythm-card,.pulse-card{padding:1.25rem}.rhythm-card header{display:flex;margin-bottom:.6rem;justify-content:space-between}.rhythm-card header small{color:var(--muted)}.rhythm-card article{display:grid;padding:.85rem 0;grid-template-columns:44px 1fr;gap:.7rem;border-bottom:1px solid #dde2df}.rhythm-card time{color:var(--red);font:.8rem Consolas,monospace}.rhythm-card small{display:block;margin-top:.2rem;color:var(--muted)}.pulse-card{color:#fff;background:var(--ink)}.pulse-card small,.pulse-card span{display:block;color:#9eb5ad}.pulse-card strong{display:block;margin:.7rem 0 0;color:var(--amber);font:4.5rem/.9 Consolas,monospace}.pulse-card p{margin:1.2rem 0 0;border-top:1px solid rgba(255,255,255,.13);padding-top:1rem}.assignment-records{display:grid;gap:18px}.assignment-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px}.assignment-heading h2{margin:10px 0}.assignment-heading p{color:var(--muted);margin:5px 0}.assignment-directory-heading{padding:12px 18px;gap:12px;flex-wrap:wrap}.assignment-directory-title{min-width:0}.assignment-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.assignment-back{width:auto;min-height:34px;padding:6px 10px;border:1px solid #d2c9b9;border-radius:6px;color:var(--ink);background:#fff;box-shadow:none;font-size:13px}.assignment-back:hover{background:#f5f1e8}.assignment-directory-heading h2{margin:0;font-size:20px}.assignment-records .assignment-directory-heading{border:1px solid #ded7c9;border-radius:12px;background:#fffefb;box-shadow:0 2px 8px #66533408}.assignment-directory-heading p{margin:4px 0 0;font-size:13px;color:#626b60}.assignment-heading-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.assignment-create{display:grid;gap:14px;padding:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-records label{display:grid;gap:6px;font-size:14px;font-weight:700}.assignment-students{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-directory{--assignment-content-columns: 90px minmax(140px, 1.2fr) minmax(250px, 1.4fr) 125px;display:grid;gap:8px}.assignment-period{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:0 0 12px;border-bottom:1px solid #d2c9b9}.assignment-period>strong{font-size:14px}.assignment-term-options{display:flex;flex-wrap:wrap;gap:6px}.assignment-term-options button{min-height:38px;padding:7px 14px;border:1px solid transparent;border-radius:6px;color:var(--ink);background:transparent;font-weight:800}.assignment-term-options button:hover{background:#f5f1e8;border-color:#d2c9b9}.assignment-term-options button[aria-pressed=true]{background:#eee9df;border-color:#b6aa96;box-shadow:inset 0 -2px #8d806d}.assignment-columns{display:grid;grid-template-columns:var(--assignment-content-columns) 60px;gap:12px;border:1px solid #d3e2da;border-radius:9px;padding:10px 16px;background:#edf3ef;font-size:12px;font-weight:800;color:#52695d}.assignment-entry{display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:8px 12px;padding:16px;border:1px solid #399479;border-radius:12px;background:#e7f4ed}.assignment-open{display:grid;grid-template-columns:var(--assignment-content-columns);align-items:center;gap:12px;width:100%;border:0;padding:0;color:var(--ink);background:transparent;text-align:left}.assignment-open:hover{background:#dceddf}.assignment-date,.assignment-title,.assignment-progress{display:grid;gap:4px}.assignment-date>b{font-size:30px;color:#3e856c;line-height:1}.assignment-title{border-left:3px solid #9edbc6;padding-left:9px;overflow-wrap:anywhere}.assignment-title>b{font-size:17px}.assignment-entry small{color:#5c7167;font-size:12px}.assignment-counts{display:flex;flex-wrap:wrap;gap:5px}.assignment-counts>span{flex:1;min-width:78px;border:2px solid;border-radius:30px;padding:4px 7px;text-align:center;font-size:12px;font-weight:800;white-space:nowrap}.assignment-counts .complete{color:#18755b;background:#e5f3ed}.assignment-counts .missing{color:#ae343b;background:#fdebec}.assignment-counts .late{color:#996209;background:#fff5dc}.assignment-counts small{flex-basis:100%}.assignment-progress{border-left:3px solid #6693bd;padding-left:10px}.assignment-progress b{font-size:25px;color:#245d94}.assignment-edit{align-self:center;border:1px solid #378b71;border-radius:20px;min-height:32px;color:#28775f;background:#fff}.assignment-missing{grid-column:1 / -1;margin:0 0 0 102px;border-top:1px dashed #aecdbf;padding-top:7px;color:#a32e2e;font-size:12px;font-weight:750;overflow-wrap:anywhere}@media(max-width:1150px){.assignment-columns{display:none}.assignment-open{grid-template-columns:65px minmax(0,1fr)}.assignment-counts,.assignment-progress{grid-column:2}.assignment-missing{margin-left:77px}}.assignment-folders{border:0;margin:0;padding:0;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:18px}.assignment-folders .assignment-folder{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 24px 20px;text-align:left;color:var(--ink);width:100%;height:100%;min-height:198px;border:1px solid #ddd6c7;border-radius:12px;background:linear-gradient(150deg,#fffefb,#fff 70%,#faf7f0);box-shadow:0 2px 3px #6a553009,0 8px 20px #6a553008;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.assignment-folder-card{position:relative;min-width:0}.assignment-folder-manage{position:absolute;top:10px;right:10px;min-width:44px;min-height:44px;font-size:24px;line-height:1;background:#f6f3ec;border:1px solid transparent;border-radius:8px;color:#716852;box-shadow:none}.assignment-folder-manage:hover:not(:disabled){border-color:#cec2ab;background:#eee8dc;box-shadow:none}.assignment-folder:active:not(:disabled){transform:translateY(0);background:#fbf7ee;box-shadow:0 1px 3px #6a553010}.assignment-folder:focus-visible,.assignment-folder-manage:focus-visible{outline:2px solid #93753e;outline-offset:3px}.assignment-folder .assignment-folder-icon{width:90px;height:76px;margin:0 0 1px -6px;flex:0 0 auto;transition:transform .18s ease}.assignment-folder strong{max-width:100%;padding-right:4px;overflow-wrap:anywhere;font-size:19px;line-height:1.45;letter-spacing:.02em}.assignment-folder-footer{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;color:#626b60;font-size:13px;font-weight:500}.assignment-folder .assignment-folder-arrow{width:20px;height:20px;flex:0 0 auto;color:#948263}@media(hover:hover)and (pointer:fine){.assignment-folder:hover:not(:disabled){transform:translateY(-3px);border-color:#c6b799;background:linear-gradient(150deg,#fffdf6,#fff 70%,#f9f3e7);box-shadow:0 3px 6px #6a55300c,0 12px 24px #6a553012}.assignment-folder:hover .assignment-folder-icon{transform:translateY(-2px) rotate(-2deg)}}@media(prefers-reduced-motion:reduce){.assignment-folder,.assignment-folder .assignment-folder-icon{transition:none;transform:none!important}}.assignment-folder-overlay{position:fixed;inset:0;z-index:1000;background:#263a3266;display:grid;place-items:center;padding:24px;overflow-y:auto}.assignment-folder-dialog{width:min(100%,460px);padding:24px;background:#fffdf8}.assignment-folder-dialog h3{margin-top:0}.assignment-folder-dialog form{display:grid;gap:20px}.assignment-folder-dialog-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.assignment-folder-dialog-actions button{min-height:44px}.assignment-folder-dialog-actions .assignment-folder-delete{margin-right:auto;color:#a53333}.assignment-folder-dialog-actions .danger-action{background:#a53333;color:#fff;border-color:#a53333}.assignment-student{display:grid;gap:10px;padding:16px;border-top:4px solid #789487}.assignment-student h3{margin:0;font-size:18px;line-height:1.4}.assignment-student-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}.assignment-student-fields label{min-width:0;gap:6px;font-size:14px}.assignment-student-fields input,.assignment-student-fields select{width:100%;min-width:0;min-height:44px;font-size:16px;padding:8px 10px}.assignment-student.missing{border-top-color:#b85438;background:#fff8f3}.assignment-student.late{border-top-color:#b88529}.assignment-student.complete{border-top-color:#2d8661}@media(max-width:900px){.assignment-students{grid-template-columns:1fr}}@media(max-width:600px){.assignment-heading{align-items:stretch;flex-direction:column}.assignment-create{grid-template-columns:1fr}}.records-classroom{display:grid;gap:1rem}.records-heading{display:flex;padding:1.25rem 1.4rem;align-items:end;justify-content:space-between;gap:1.5rem}.records-heading h2{margin-bottom:.25rem}.records-heading p:last-child{margin:0;color:var(--muted)}.records-heading-actions{display:flex;align-items:end;gap:.65rem}.records-heading-actions label{color:var(--muted);font-size:.72rem;font-weight:800}.records-heading-actions input{min-width:150px;margin-top:.3rem}.record-mode-switch{display:grid;max-width:650px;grid-template-columns:1fr 1fr;gap:.7rem}.record-mode-switch button{display:grid;min-height:72px;border:1px solid var(--line);border-radius:9px;padding:.75rem 1rem;color:var(--ink);background:#ffffffb8;grid-template-columns:40px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.75rem;text-align:left}.record-mode-switch button>span{grid-row:1 / 3;display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:var(--teal);background:var(--teal-soft);font:700 1rem DFKai-SB,KaiTi,serif}.record-mode-switch button small{color:var(--muted)}.record-mode-switch button.active{border-color:var(--teal);background:#edf6f1;box-shadow:inset 0 -3px var(--teal)}.record-mode-switch button.active>span{color:#fff;background:var(--teal)}.records-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.records-summary.materials{grid-template-columns:repeat(2,minmax(0,1fr))}.records-summary>div{display:flex;min-height:66px;border:1px solid var(--line);border-radius:8px;padding:.65rem 1rem;background:#ffffffa6;align-items:center;gap:.8rem}.records-summary strong{color:var(--red);font:1.8rem Consolas,monospace}.records-summary span{color:var(--muted);font-size:.76rem;font-weight:800}.classroom-record-board{padding:1.15rem;overflow:hidden;border-color:#a9beb6;background:#eef2ed}.classroom-record-board.answers{border-color:#9baec6;background:#edf2f7}.record-view-label{display:flex;margin-bottom:.9rem;align-items:center;justify-content:space-between}.record-view-label span{font-weight:850}.record-view-label small{color:var(--muted);font-weight:750}.record-seat-scroller{overflow-x:auto;padding:.25rem .25rem .6rem}.record-seat-grid{display:grid;min-width:620px;gap:.7rem}.record-seat{position:relative;min-height:112px;overflow:hidden;border:2px solid var(--line);border-radius:10px;background:#fff;box-shadow:3px 3px #1212121a}.record-seat.empty{display:grid;place-items:center;border-style:dashed;color:#87938e;background:#fff6;box-shadow:none;font-size:.75rem}.record-seat-hit{display:grid;width:100%;min-height:112px;place-content:center;gap:.15rem;border:0;padding:1rem .65rem;color:var(--ink);background:transparent;text-align:center;transition:transform .12s ease,background .12s ease}.record-seat-hit:hover{background:#ffffff8c;transform:translateY(-2px)}.record-seat-hit:active{transform:scale(.97)}.record-seat-hit small{color:var(--muted);font-size:.7rem;font-weight:800}.record-seat-hit b{font-size:1.05rem}.record-seat-hit>span{margin-top:.35rem;border-radius:999px;padding:.3rem .5rem;color:var(--muted);background:#f0f2ef;font-size:.68rem;font-weight:850}.record-seat.missing{border-color:#d68b2f;background:#fff0d9;box-shadow:3px 3px #9d5b1133}.record-seat.missing .record-seat-hit>span{color:#743b00;background:#ffd994}.record-seat .answer-total{color:#315d8e;background:#edf3fa}.record-seat .answer-total strong{font:1.35rem Consolas,monospace}.answer-minus{position:absolute;top:.45rem;right:.45rem;z-index:2;display:grid;width:28px;height:28px;place-items:center;border:1px solid #91a8c2;border-radius:7px;color:#315d8e;background:#ffffffe0;font-size:1.1rem;font-weight:900}.answer-rank{position:absolute;top:.35rem;left:.35rem;z-index:2;display:grid;width:32px;height:36px;place-items:center;font-size:1.8rem;line-height:1;pointer-events:none}.record-blackboard{width:min(520px,72%);margin:1.1rem auto 0;border:4px solid #765b3c;border-radius:7px;padding:.45rem 1rem;color:#effaf5;background:#245d4a;box-shadow:0 4px #422a1829;text-align:center;font-weight:900;letter-spacing:.14em}.record-blackboard small{margin-left:.45rem;font-size:.6rem;opacity:.72}.record-seat-empty{padding:3rem 1rem;text-align:center}.record-seat-empty>span{display:grid;width:54px;height:54px;margin:0 auto 1rem;place-items:center;border-radius:50%;color:#fff;background:var(--teal);font:1.35rem DFKai-SB,KaiTi,serif}.record-seat-empty h3{margin:0 0 .4rem}.record-seat-empty p{max-width:520px;margin:0 auto 1rem;color:var(--muted)}.records-save-bar{position:sticky;bottom:1rem;z-index:5;display:flex;padding:.7rem .8rem .7rem 1rem;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 9px 28px #1a332c29}.records-save-bar span{color:var(--muted);font-size:.8rem;font-weight:800}.three-column-workspace{display:grid;grid-template-columns:260px 300px minmax(360px,1fr);gap:1rem;align-items:start}.directory-card,.homework-register{overflow:hidden}.directory-card>header,.homework-register>header{display:flex;padding:1rem;justify-content:space-between;border-bottom:1px solid var(--line)}.directory-card header small{color:var(--muted)}.directory-row{display:grid;width:100%;border:0;border-bottom:1px solid #e0e5e1;padding:.85rem;background:transparent;grid-template-columns:3rem 1fr;text-align:left}.directory-row:hover,.directory-row.selected{background:var(--teal-soft)}.directory-row time{color:var(--red);font:.76rem Consolas,monospace}.directory-row small{display:block;margin-top:.2rem;color:var(--muted)}.empty-copy{padding:1rem;color:var(--muted)}.homework-register>div{padding:.4rem 1rem 1rem}.homework-student{display:grid;width:100%;margin-top:.5rem;border:1px solid var(--line);border-radius:7px;padding:.65rem .7rem;background:#fff;grid-template-columns:2rem 1fr auto;text-align:left}.homework-student.missing{border-color:#db9285;background:var(--red-soft)}.homework-student small{color:var(--muted)}.teaching-item-layout{display:grid;place-items:start center}.teaching-item-form{width:min(100%,680px);padding:1.5rem}.teaching-item-form h2{margin-bottom:.35rem}.teaching-item-form .teaching-item-help{margin:0 0 1.2rem;color:var(--muted);font-size:.9rem;line-height:1.55}.teaching-item-form label select,.teaching-item-form label input,.teaching-item-form label textarea{min-height:44px}.teaching-item-form .primary-action{width:100%;min-height:46px}.groups-layout{display:grid;grid-template-columns:330px 1fr;gap:1.25rem}.draw-card{padding:1.5rem;text-align:center}.draw-card .eyebrow,.draw-card h2{text-align:left}.draw-result{display:flex;min-height:290px;margin:1rem 0;border:1px dashed #a7b7b0;border-radius:50% 50% 44% 56%;background:var(--teal-soft);align-items:center;justify-content:center;flex-direction:column}.draw-result span{color:var(--red);font:4rem/.9 Consolas,monospace}.draw-result strong{margin-top:.8rem;font-size:1.3rem}.group-maker{padding:1.4rem}.group-maker>header{display:grid;grid-template-columns:1fr 110px auto;align-items:end;gap:1rem}.group-maker h2{margin-bottom:0}.group-maker label{color:var(--muted);font-size:.75rem}.group-maker label input{margin-top:.3rem}.group-board{display:grid;margin-top:1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.group-board article{border-top:4px solid var(--teal);border-radius:7px;padding:1rem;background:#fff}.group-board article>b{display:block;margin-bottom:.5rem}.group-board span{display:block;border-bottom:1px solid #edf0ee;padding:.45rem 0}.groups-workspace{display:grid;gap:12px}.groups-page-tabs{display:flex;width:fit-content;max-width:100%;border-bottom:1px solid var(--line);gap:8px}.groups-page-tabs button{min-width:124px;min-height:48px;border:0;border-bottom:3px solid transparent;border-radius:0;padding:9px 16px;color:var(--muted);background:transparent;font-size:15px;font-weight:700;text-align:center}.groups-page-tabs button:hover{color:var(--ink);background:#f2f4f7}.groups-page-tabs button.active{border-bottom-color:var(--teal);color:var(--teal)}.draw-page,.group-page{overflow:hidden;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 1px 3px #1018280f}.group-page{overflow:visible}.draw-page>header,.group-page>header{display:flex;margin-bottom:13px;align-items:end;justify-content:space-between;gap:18px}.draw-page>header h2,.group-page>header h2{margin:2px 0 0;font-size:23px}.draw-page>header>b{color:var(--muted);font-size:13px}.draw-stage{display:grid;min-height:330px;border:7px solid #b2762d;outline:3px solid #6d431b;border-radius:12px;padding:30px 34px;color:#fff;background:radial-gradient(circle at 48% 42%,rgba(255,255,255,.04),transparent 32%),linear-gradient(135deg,#204d41,#17382f 65%,#102b25);box-shadow:inset 0 0 0 3px #ffedbe59,4px 5px #12121226;grid-template-columns:140px minmax(260px,1fr) 180px;align-items:center;gap:28px}.draw-character{position:relative;display:grid;width:88px;height:150px;margin:auto;border:4px solid #edd38a;border-radius:45% 48% 40% 43%;color:#173c34;background:#ffe9a5;box-shadow:inset -8px -8px #c795342e,0 14px #0000001f;place-items:center;transform:rotate(-4deg)}.draw-character:before,.draw-character:after{content:"";position:absolute;top:80px;width:44px;border-top:7px solid #ffe9a5}.draw-character:before{right:68px;transform:rotate(-25deg)}.draw-character:after{left:68px;transform:rotate(25deg)}.draw-character span{font:900 23px/1 monospace}.draw-student{text-align:center}.draw-student small,.draw-round small{color:#c9ddd7;font-weight:800}.draw-student strong{display:block;margin:9px 0 2px;color:#ffe8a3;font:950 clamp(62px,9vw,105px) / .9 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;text-shadow:4px 4px 0 rgba(0,0,0,.18)}.draw-student h3{margin:12px 0 4px;color:#fff;font-size:clamp(24px,3vw,36px)}.draw-student p{margin:0;color:#c9ddd7}.draw-stage.drawing .draw-student strong,.draw-stage.drawing .draw-student h3{animation:draw-reel .18s ease-in-out infinite alternate}.draw-stage.drawing .draw-character{animation:draw-wait .45s ease-in-out infinite alternate}@keyframes draw-reel{0%{opacity:.58;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(4px) scale(1.02)}}@keyframes draw-wait{to{transform:rotate(4deg) translateY(-5px)}}.draw-round{border:2px solid rgba(255,232,163,.4);border-radius:13px;padding:17px;background:#ffe8a314;text-align:center}.draw-round strong{display:block;margin-top:7px;color:#ffe8a3;font-size:18px}.draw-page>footer{display:grid;max-width:520px;margin:17px auto 0;grid-template-columns:1fr 150px;gap:10px}.draw-page>footer button{min-height:48px}.group-page>header>div:first-child p:last-child{margin:4px 0 0;color:var(--muted)}.group-settings{display:grid;min-width:0;max-width:100%;width:fit-content;grid-template-columns:144px 88px auto;align-items:end;gap:9px}.group-settings label,.group-mode{color:var(--muted);font-size:11px;font-weight:850}.group-settings input{min-height:44px;margin-top:4px}.group-mode{display:grid;gap:4px}.group-mode .select-menu{width:144px}.group-mode .select-menu-options{min-width:100%}.group-settings button{min-height:44px;white-space:nowrap}.group-page .group-board{display:grid;margin-top:8px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.group-page .group-board article{overflow:hidden;border:3px solid var(--line);border-radius:14px;padding:0;background:#fff;box-shadow:3px 3px #1212121c}.group-page .group-board article>header{display:flex;border-bottom:2px solid var(--line);padding:10px 13px;background:#eaf8f2;justify-content:space-between}.group-page .group-board article>header small{color:var(--muted);font-weight:800}.group-page .group-board span{display:grid;min-height:43px;border-bottom:1px solid #dfe6e2;padding:7px 12px;grid-template-columns:38px 1fr;align-items:center;gap:8px}.group-page .group-board span:last-child{border-bottom:0}.group-page .group-board span>b{display:grid;width:30px;height:30px;border-radius:8px;background:#ffe8a3;place-items:center;font-size:12px}.group-empty{display:grid;min-height:310px;border:2px dashed #aab9b3;border-radius:14px;color:var(--muted);background:#f7faf8;place-items:center;align-content:center;text-align:center}.group-empty>span{display:grid;width:62px;height:62px;border:3px solid var(--line);border-radius:16px;color:var(--ink);background:#baf0df;place-items:center;font-size:25px;font-weight:950}.group-empty h3{margin:12px 0 4px;color:var(--ink)}.group-empty p{margin:0}@media(max-width:900px){.draw-stage{min-height:390px;padding:25px 18px;grid-template-columns:105px 1fr;gap:16px}.draw-character{width:70px;height:120px}.draw-round{grid-column:1 / -1}.group-page>header{align-items:stretch;flex-direction:column}.group-settings{min-width:0;width:fit-content}}@media(max-width:560px){.groups-page-tabs{width:100%}.groups-page-tabs button{flex:1;min-width:0}.draw-stage{min-height:420px;grid-template-columns:1fr;text-align:center}.draw-character{display:none}.draw-round{grid-column:auto}.draw-page>footer{grid-template-columns:1fr}.group-settings{grid-template-columns:144px 88px}.group-settings button{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.draw-stage.drawing .draw-student strong,.draw-stage.drawing .draw-student h3,.draw-stage.drawing .draw-character{animation:none}}.homeroom-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem}.homeroom-layout>section{padding:1.4rem}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.7rem}.affair-list{margin-top:1.2rem}.affair-list article{display:flex;border-bottom:1px solid var(--line);padding:.9rem 0;gap:.7rem}.affair-list article>span{color:var(--red)}.affair-list p{margin:.25rem 0 0;color:var(--muted)}.duty-card header{display:flex;margin-bottom:1rem;justify-content:space-between}.duty-card h2{margin:0}.duty-card>label{display:grid;padding:.5rem 0;grid-template-columns:120px 1fr;align-items:center;border-bottom:1px solid #e1e5e2}.duty-card label span{font-size:.85rem;font-weight:700}.seating-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.25rem;align-items:start}.student-bank{padding:1rem;transition:background .15s,outline-color .15s}.student-bank.drop-target{outline:3px solid var(--teal);outline-offset:3px;background:var(--teal-soft)}.student-bank header{display:flex;margin-bottom:.7rem;align-items:start;justify-content:space-between;gap:.6rem}.student-bank header div{display:grid;gap:.15rem}.student-bank header small{color:var(--muted);font-size:.68rem}.student-bank header strong{display:grid;min-width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:var(--teal);font:.75rem Consolas,monospace}.student-bank-list{display:grid;gap:.4rem}.student-bank-list>button{position:relative;display:grid;min-height:46px;border:1px solid var(--line);border-radius:7px;padding:.45rem 1.8rem .45rem .5rem;color:var(--ink);background:#fff;grid-template-columns:26px 1fr;align-items:center;text-align:left;touch-action:none}.student-bank-list>button.selected{border-color:var(--amber);outline:3px solid rgba(242,193,78,.45)}.student-bank-list button b{color:var(--red);font:.72rem Consolas,monospace}.student-bank-list button span{overflow:hidden;font-size:.8rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.student-bank-list button i,.seat-grid button i{position:absolute;right:.5rem;color:#9aa8a2;font-style:normal;letter-spacing:-2px}.student-bank-list>p{margin:.8rem 0;color:var(--muted);font-size:.78rem}.seating-help{margin:.8rem 0 0;border-top:1px solid var(--line);padding-top:.7rem;color:var(--muted);font-size:.68rem;line-height:1.45}.room-card{padding:1.2rem;overflow-x:auto}.room-card>header{display:flex;align-items:end;justify-content:space-between;gap:1rem}.room-card h2{margin-bottom:0}.room-hint{margin:.35rem 0 0;color:var(--muted);font-size:.75rem}.seat-controls{display:flex;align-items:end;gap:.45rem}.seat-controls label{width:58px;color:var(--muted);font-size:.7rem}.seat-controls label input{margin-top:.2rem;padding:.45rem}.seat-controls button{min-height:40px;border:1px solid var(--line);border-radius:6px;padding:.52rem .65rem;background:#fff}.seat-controls .primary-action{color:#fff;background:var(--ink)}.blackboard{width:55%;margin:1.8rem auto;border-radius:3px;padding:.45rem;color:#cfe2da;background:var(--ink);text-align:center;font-size:.75rem;letter-spacing:.2em}.seat-grid{display:grid;min-width:600px;gap:.55rem}.seat-grid.reverse{transform:rotate(180deg)}.seat-grid.reverse button>*{transform:rotate(180deg)}.seat-grid button{position:relative;display:flex;min-height:76px;border:1px solid #adbbb5;border-radius:7px;background:#fff;align-items:center;justify-content:center;flex-direction:column;touch-action:none;transition:transform .12s,outline-color .12s,background .12s}.seat-grid button.occupied{cursor:grab}.seat-grid button.occupied:active{cursor:grabbing}.seat-grid button.selected{outline:4px solid var(--amber);outline-offset:2px}.seat-grid button.dragging{opacity:.48;transform:scale(.96)}.student-bank-list>button.dragging{opacity:.4}.seat-drag-preview{position:fixed;top:0;left:0;z-index:10050;pointer-events:none;will-change:transform}.seat-drag-card{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px solid #5a8c75;border-radius:10px;padding:10px;color:var(--ink);background:#fff;box-shadow:0 14px 28px #2644353d;transform:scale(1.04) rotate(-2deg);animation:seat-drag-lift .14s ease-out}.seat-drag-card.gender-male{background:#dceeff}.seat-drag-card.gender-female{background:#ffe1ec}.seat-drag-number{color:var(--red);font:12px Consolas,monospace}.seat-drag-name{font-weight:750}@keyframes seat-drag-lift{0%{transform:scale(1) rotate(0);box-shadow:0 2px 5px #2644351f}to{transform:scale(1.04) rotate(-2deg);box-shadow:0 14px 28px #2644353d}}@media(prefers-reduced-motion:reduce){.seat-drag-card{animation:none;transform:none}.seat-grid button,.student-bank,.student-bank-list>button{transition:none}}.seat-grid button.drop-target{outline:4px solid var(--teal);outline-offset:2px;background:var(--teal-soft);transform:translateY(-2px)}.seat-grid button.empty{border-style:dashed;color:var(--muted);background:#ffffff80}.seat-grid button b{color:var(--red);font:.72rem Consolas,monospace}.seat-grid button span{font-weight:700}.seat-grid button i{top:.45rem}.calendar-layout{display:grid;grid-template-columns:280px 1fr;gap:1.25rem;align-items:start}.timeline-card{padding:1.4rem}.timeline-card>header{display:flex;margin-bottom:1rem;justify-content:space-between}.timeline-card h2{margin-bottom:0}.timeline-card>article{display:grid;min-height:84px;grid-template-columns:64px 14px 1fr auto;align-items:center;gap:.9rem;border-bottom:1px solid var(--line)}.timeline-card time b,.timeline-card time span{display:block}.timeline-card time b{color:var(--red);font:1.8rem Consolas,monospace}.timeline-card time span{color:var(--muted);font-size:.7rem}.event-dot{display:block;width:10px;height:10px;border-radius:50%;background:var(--teal)}.event-dot.assessment{background:var(--red)}.event-dot.homework{background:var(--amber)}.event-dot.school{background:#536f9d}.timeline-card article p{margin:.25rem 0 0;color:var(--muted)}.timeline-card article>button{border:0;color:var(--red);background:transparent;font-size:.75rem}.roster-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.25rem;align-items:start}.roster-layout>aside{display:grid;gap:1rem}.class-list-card{overflow:hidden}.class-list-card header{display:flex;padding:.9rem 1rem;justify-content:space-between;border-bottom:1px solid var(--line)}.class-list-card>button{display:grid;width:100%;border:0;border-bottom:1px solid #e0e4e1;padding:.7rem .8rem;background:transparent;grid-template-columns:2rem 1fr auto;align-items:center;text-align:left}.class-list-card>button span{display:grid;width:1.5rem;height:1.5rem;place-items:center;border-radius:50%;color:#fff;background:var(--teal);font-size:.68rem}.class-list-card>button small{color:var(--muted)}.roster-card{overflow:hidden}.roster-table{padding:0 1.25rem}.roster-table>div{display:grid;min-height:49px;grid-template-columns:80px 1fr 100px 80px;align-items:center;border-bottom:1px solid #e0e4e1}.table-head{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.05em}.status-pill{border:1px solid var(--line);border-radius:999px;padding:.3rem .5rem;background:#fff;font-size:.72rem}.status-pill.active{border-color:#81ae92;color:#286541;background:#e1f0e6}.import-drawer{margin:1.25rem;border:1px dashed #9aaca4;border-radius:8px;padding:1rem;background:#f4f6f2}.import-drawer>div{display:flex;margin-bottom:.7rem;justify-content:space-between}.import-drawer small{color:var(--muted)}.import-drawer textarea{font-family:Consolas,monospace}.import-drawer>button{margin-top:.7rem}.quiz-studio{display:grid;grid-template-columns:.78fr 1.22fr;gap:1.25rem;align-items:start}.quiz-import,.quiz-library{padding:1.35rem}.quiz-import header,.quiz-library header{display:flex;justify-content:space-between}.quiz-import h2,.quiz-library h2{margin-bottom:.5rem}.quiz-import header>span{height:fit-content;border-radius:999px;padding:.3rem .55rem;color:var(--teal);background:var(--teal-soft);font:.72rem Consolas,monospace}.quiz-import>p{color:var(--muted);line-height:1.6}.quiz-import textarea{font-family:Consolas,monospace;font-size:.78rem}.quiz-import>button{margin-top:.8rem}.quiz-library>article{display:grid;min-height:82px;padding:.8rem 0;grid-template-columns:54px 1fr auto auto;align-items:center;gap:.8rem;border-bottom:1px solid var(--line)}.quiz-number{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;color:#fff;background:var(--teal);font:1.1rem Consolas,monospace}.quiz-library article p{margin:.3rem 0 0;color:var(--muted);font-size:.8rem}.quiz-library article>button{border:1px solid var(--line);border-radius:6px;padding:.5rem .7rem;background:#fff}.quiz-library .danger-text{border:0;color:var(--red);background:transparent}.live-session{grid-column:1 / -1;display:grid;padding:1.2rem;grid-template-columns:220px 150px 1fr;align-items:center;gap:1.5rem;background:var(--ink)}.live-session img{width:140px;border-radius:6px}.live-session,.live-session h2{color:#fff}.live-session p{color:#adc1ba}.live-session a{color:var(--amber)}.live-code small,.live-code span{display:block;color:#a8bdb5}.live-code strong{display:block;color:var(--amber);font:3.8rem/1 Consolas,monospace;letter-spacing:.1em}.quiz-classroom{display:grid;gap:1rem}.quiz-section-tabs{display:flex;width:fit-content;border:1px solid var(--line);border-radius:9px;padding:.25rem;background:#ffffffb8;gap:.2rem}.quiz-section-tabs button{min-height:40px;border:0;border-radius:6px;padding:.55rem 1rem;color:var(--muted);background:transparent;font-weight:800}.quiz-section-tabs button.active{color:#fff;background:var(--ink)}.quiz-directory{overflow:hidden}.quiz-directory>header{display:flex;padding:1.5rem;color:#fff;background:var(--ink);align-items:center;justify-content:space-between;gap:2rem}.quiz-directory>header h2{margin:.6rem 0 .35rem;color:#fff;font-size:2rem}.quiz-directory>header p{margin:0;color:#b8ccc5}.quiz-directory>header>div:last-child{display:grid;min-width:170px;border-left:1px solid rgba(255,255,255,.18);padding-left:1.4rem;text-align:right}.quiz-directory>header small,.quiz-directory>header span{color:#a9c0b8}.quiz-directory>header b{margin:.25rem 0;color:var(--amber)}.live-pill{display:inline-flex;width:fit-content;border-radius:999px;padding:.3rem .65rem;color:#d7e8e1!important;background:#ffffff1a;align-items:center;gap:.4rem;font-size:.68rem;font-weight:850}.live-pill i{width:7px;height:7px;border-radius:50%;background:#62d293;box-shadow:0 0 0 4px #62d29326}.active-session-strip{display:grid;margin:1rem 1.5rem 0;border:1px solid #d9b84f;border-radius:9px;padding:.75rem;background:#fff6d7;grid-template-columns:180px repeat(auto-fit,minmax(180px,1fr));gap:.6rem}.active-session-strip>div{display:grid;align-content:center}.active-session-strip>div small{color:#8a7020}.active-session-strip>button{display:grid;border:1px solid #dfc76e;border-radius:7px;padding:.6rem .75rem;background:#fff;grid-template-columns:auto 1fr;gap:.1rem .6rem;text-align:left}.active-session-strip button span{grid-row:1 / 3;color:var(--red);font:1.15rem Consolas,monospace}.active-session-strip button small{color:var(--muted)}.quiz-directory-toolbar{display:flex;padding:1.1rem 1.5rem .6rem;align-items:center;justify-content:space-between}.quiz-directory-toolbar span{color:var(--muted);font-size:.78rem}.quiz-directory-grid{display:grid;padding:.5rem 1.5rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}.quiz-directory-grid>button{position:relative;display:grid;min-height:126px;border:1px solid var(--line);border-radius:9px;padding:1rem 2.5rem 1rem 4.3rem;color:var(--ink);background:#fff;align-items:center;text-align:left;transition:transform .14s,border-color .14s,box-shadow .14s}.quiz-directory-grid>button:hover{border-color:var(--teal);box-shadow:0 7px 18px #17352d1a;transform:translateY(-2px)}.chapter-number{position:absolute;top:1rem;left:1rem;color:var(--red);font:1.2rem Consolas,monospace}.quiz-directory-grid button small{color:var(--teal);font-size:.68rem;font-weight:850;letter-spacing:.05em}.quiz-directory-grid button b{display:block;margin:.35rem 0;font-size:1.05rem}.quiz-directory-grid button p{margin:0;color:var(--muted);font-size:.75rem}.quiz-directory-grid button>i{position:absolute;right:1rem;color:var(--teal);font-style:normal;font-size:1.25rem}.quiz-directory-empty{grid-column:1 / -1;padding:2.5rem;text-align:center}.quiz-directory-empty>span,.admin-quiz-empty>span{display:grid;width:48px;height:48px;margin:0 auto .8rem;place-items:center;border-radius:50%;color:#fff;background:var(--teal);font-family:DFKai-SB,KaiTi,serif}.quiz-directory-empty h3{margin:0}.quiz-player{display:grid;gap:1rem}.quiz-player-head{display:flex;padding:1.2rem 1.4rem;align-items:center;justify-content:space-between}.quiz-player-head h2{margin:.5rem 0 .2rem}.quiz-player-head p{margin:0;color:var(--muted)}.quiz-player-head>button{border:1px solid var(--line);border-radius:7px;padding:.6rem .8rem;background:#fff}.quiz-session-setup{display:grid;padding:1.5rem;grid-template-columns:1fr 180px auto;align-items:end;gap:1.2rem}.quiz-session-setup h2{margin-bottom:.35rem}.quiz-session-setup p:last-child{margin:0;color:var(--muted)}.quiz-session-setup label{color:var(--muted);font-size:.75rem;font-weight:800}.quiz-session-setup select{margin-top:.35rem}.live-quiz-stage{display:grid;padding:1.5rem;color:#fff;background:var(--ink);grid-template-columns:1fr 170px auto;align-items:center;gap:1.5rem}.live-quiz-stage h2{color:#fff}.live-quiz-stage>div>span,.live-quiz-stage p{color:#a9c0b8}.live-quiz-stage img{width:150px;border-radius:7px}.live-quiz-stage a{color:var(--amber);font-weight:800}.session-code small,.session-code strong{display:block}.session-code small{color:#a9c0b8}.session-code strong{margin-top:.25rem;color:var(--amber);font:3.5rem/1 Consolas,monospace;letter-spacing:.1em}.live-results{overflow:hidden}.live-results>header{display:flex;padding:1rem 1.3rem;align-items:center;gap:1.4rem;border-bottom:1px solid var(--line)}.live-results header>div{display:flex;align-items:end;gap:.35rem}.live-results header small{color:var(--muted)}.live-results header strong{color:var(--red);font:2.2rem/1 Consolas,monospace}.live-results header p{margin:0;color:var(--muted)}.live-results article{display:flex;padding:.8rem 1.3rem;justify-content:space-between;border-bottom:1px solid #e2e6e3}.quiz-history,.quiz-gradebook{overflow:hidden}.quiz-history>header,.quiz-gradebook>header{display:flex;padding:1.3rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.quiz-history h2,.quiz-gradebook h2{margin-bottom:0}.quiz-history>article{display:grid;padding:.9rem 1.3rem;grid-template-columns:110px 1fr 80px 70px;align-items:center;gap:1rem;border-bottom:1px solid var(--line)}.quiz-history article time,.quiz-history article small{color:var(--muted)}.quiz-history article div small{display:block;margin-top:.2rem}.quiz-history article>strong{color:var(--teal);font:1.1rem Consolas,monospace}.gradebook-table>div{display:grid;min-height:50px;padding:.6rem 1.3rem;grid-template-columns:1.5fr repeat(3,1fr);align-items:center;border-bottom:1px solid var(--line)}.gradebook-head{color:var(--muted);background:#f2f4f0;font-size:.7rem;font-weight:850}.gradebook-table strong{color:var(--teal)}.admin-workspace{display:grid;gap:1rem}.admin-context{display:flex;padding:1.25rem 1.4rem;align-items:end;justify-content:space-between;gap:1.5rem}.admin-context h2{margin-bottom:.3rem}.admin-context p:last-child{margin:0;color:var(--muted)}.admin-context label{width:min(300px,100%);color:var(--muted);font-size:.72rem;font-weight:800}.admin-context select{margin-top:.35rem}.admin-section-tabs{display:flex;border-bottom:1px solid var(--line);gap:.25rem}.admin-section-tabs button{border:0;border-bottom:3px solid transparent;padding:.75rem 1rem;color:var(--muted);background:transparent;font-weight:850}.admin-section-tabs button.active{border-bottom-color:var(--teal);color:var(--ink)}.admin-quiz-grid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(420px,1.2fr);gap:1rem;align-items:start}.admin-quiz-library{padding:1.35rem}.admin-quiz-library>header{display:flex;justify-content:space-between}.admin-quiz-library h2{margin-bottom:.4rem}.admin-quiz-library>header>span{color:var(--muted)}.admin-quiz-library article{display:grid;min-height:82px;padding:.8rem 0;grid-template-columns:54px 1fr auto;align-items:center;gap:.8rem;border-bottom:1px solid var(--line)}.admin-quiz-library article p{margin:.25rem 0 0;color:var(--muted);font-size:.78rem}.admin-quiz-library .danger-text{border:0;color:var(--red);background:transparent}.admin-quiz-empty{padding:3rem 1rem;text-align:center}.admin-quiz-empty p{color:var(--muted)}.billing-layout{display:grid;max-width:1000px;grid-template-columns:.9fr 1.1fr;gap:1.25rem}.plan-card,.data-card{position:relative;padding:1.6rem;overflow:hidden}.plan-stamp{position:absolute;top:1.2rem;right:1.2rem;display:grid;width:3.2rem;height:3.2rem;place-items:center;border:2px solid var(--red);border-radius:50%;color:var(--red);font:1.2rem DFKai-SB,KaiTi,serif;transform:rotate(8deg)}.plan-card>p:not(.eyebrow){color:var(--muted)}.plan-card dl{margin:1.5rem 0}.plan-card dl div{display:flex;border-bottom:1px solid var(--line);padding:.7rem 0;justify-content:space-between}.plan-card dt{color:var(--muted)}.plan-card dd{margin:0;font-weight:700}.data-card>article{display:flex;padding:1.2rem 0;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}.data-card article p{margin:.35rem 0 0;color:var(--muted)}.data-card article button{flex:0 0 auto;border:1px solid var(--line);border-radius:7px;padding:.55rem .8rem;background:#fff}.data-card article .danger-button{border-color:var(--red);color:var(--red)}.data-card>small{display:block;margin-top:1rem;color:var(--muted)}.student-shell{min-height:100vh;padding-bottom:3rem;background:linear-gradient(90deg,transparent 35px,rgba(47,125,103,.1) 36px,transparent 37px),#f3f5f0}.student-brand{display:flex;max-width:900px;margin:auto;padding:1.2rem;align-items:center;justify-content:space-between;color:var(--ink)}.student-brand>span{font-weight:900;letter-spacing:.08em}.student-brand>b{border-radius:999px;padding:.4rem .7rem;background:var(--teal-soft);font:.8rem Consolas,monospace}.join-shell{display:grid;min-height:100vh;align-content:start}.join-card{position:relative;width:min(480px,calc(100vw - 2rem));margin:5vh auto;padding:2rem}.join-card .register-mark{position:absolute;top:1.2rem;right:1.2rem;display:grid;width:3rem;height:3rem;place-items:center;border:2px solid var(--red);border-radius:50%;color:var(--red);font:1.4rem DFKai-SB,KaiTi,serif;transform:rotate(7deg)}.join-card h1{max-width:330px;font-family:DFKai-SB,KaiTi,serif;font-weight:500}.join-card>p:not(.eyebrow,.form-error){color:var(--muted);line-height:1.6}.join-card label{display:block;margin:1rem 0;color:var(--muted);font-size:.8rem;font-weight:750}.join-card label input{margin-top:.35rem}.join-card .primary-action{width:100%;margin-top:.5rem}.quiz-brand>div span,.quiz-brand>div small{display:block}.quiz-brand>div span{font-weight:800}.quiz-brand>div small{margin-top:.2rem;color:var(--muted)}.clock{font:1.35rem Consolas,monospace!important}.clock.urgent{color:#fff;background:var(--red)!important}.quiz-progress{height:5px;background:#d8dfdb}.quiz-progress span{display:block;height:100%;background:var(--teal);transition:width .25s}.question-sheet{display:grid;max-width:900px;margin:2rem auto;padding:0 1rem;grid-template-columns:74px 1fr;gap:1.3rem}.question-index{color:var(--red);font:2.1rem Consolas,monospace}.question-index small{color:var(--muted);font-size:.8rem}.question-sheet h1{margin:0 0 1.5rem;font-family:DFKai-SB,KaiTi,serif;font-size:clamp(1.5rem,4vw,2.3rem);font-weight:500;line-height:1.45}.answer-list{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.answer-option{display:grid;min-height:92px;border:1px solid #aebbb5;border-radius:9px;padding:.9rem;background:#fff;grid-template-columns:2.2rem 1fr;align-items:center;gap:.7rem;text-align:left}.answer-option span{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;color:var(--teal);background:var(--teal-soft);font:700 .9rem Consolas,monospace}.answer-option.selected{border:2px solid var(--teal);background:#edf6f1}.answer-option.selected span{color:#fff;background:var(--teal)}.quiz-nav{display:flex;max-width:760px;margin:2rem auto 0;padding:0 1rem;align-items:center;justify-content:space-between}.quiz-nav>button:not(.primary-action){border:1px solid var(--line);border-radius:7px;padding:.7rem 1rem;background:#fff}.quiz-nav span{color:var(--muted);font-size:.8rem}.floating-error{max-width:760px;margin:0 auto}.student-complete{max-width:620px;margin:2rem auto;padding:2rem;text-align:center}.student-complete h1{margin:.5rem 0;color:var(--teal);font:4.5rem Consolas,monospace}.student-complete h1 small{color:var(--muted);font-size:1.5rem}.student-complete>p:last-child{color:var(--muted)}.review-stack{display:grid;max-width:760px;margin:auto;gap:1rem}.review-card{padding:1.2rem}.review-card>small{color:var(--muted)}.review-card h2{margin:.5rem 0 1rem;font-size:1.1rem}.answer-correct{color:var(--green)}.answer-wrong{color:var(--red)}.explanation{border-left:3px solid var(--amber);padding:.7rem;background:#fff7db}@media(max-width:1100px){.landing-hero{gap:3rem}.today-layout,.split-workspace{grid-template-columns:1fr}.today-aside{grid-template-columns:1fr 1fr}.three-column-workspace{grid-template-columns:250px 1fr}.homework-register{grid-column:1 / -1}.quiz-studio{grid-template-columns:1fr}.live-session{grid-column:auto}.admin-quiz-grid{grid-template-columns:1fr}.quiz-session-setup{grid-template-columns:1fr 170px}.quiz-session-setup .primary-action{grid-column:1 / -1}.live-quiz-stage{grid-template-columns:1fr 150px}.live-quiz-stage>a{grid-column:1 / -1}.roster-layout{grid-template-columns:220px minmax(0,1fr)}}@media(pointer:coarse){button,input,select{min-height:44px}.seating-layout{grid-template-columns:1fr}.student-bank-list{display:flex;padding:3px;overflow-x:auto;scroll-snap-type:x proximity}.student-bank-list>button{flex:0 0 158px;min-height:52px;scroll-snap-align:start}.seating-help{margin-bottom:0}.seat-grid button{min-height:84px}.record-seat,.record-seat-hit{min-height:118px}.record-seat-hit{padding:1rem .7rem}}@media(min-width:901px)and (max-width:1180px){.console-shell{grid-template-columns:214px minmax(0,1fr)}.console-content{padding:1.25rem}.console-topbar{padding-right:1.25rem;padding-left:1.25rem}.seating-layout{grid-template-columns:1fr}.student-bank-list{display:flex;overflow-x:auto}.student-bank-list>button{flex:0 0 150px}.room-card>header{align-items:start;flex-direction:column}.seat-controls{width:100%;flex-wrap:wrap}.seat-controls .primary-action{margin-left:auto}}@media(max-width:900px){.landing-header{padding:1rem}.landing-hero{min-height:auto;padding:2.5rem 1rem 4rem;grid-template-columns:1fr}.hero-copy h1{font-size:4.1rem}.hero-register{margin:0 1rem}.landing-proof{padding:2rem 1rem;grid-template-columns:1fr;gap:1.5rem}.console-shell{display:block;padding-bottom:74px}.console-sidebar{position:fixed;inset:auto 0 0;display:block;width:auto;height:68px;padding:.35rem .5rem;overflow:hidden;z-index:40}.console-sidebar>.wordmark,.class-context,.sidebar-foot,.nav-section{display:none}.console-sidebar nav{display:flex;height:100%;overflow-x:auto}.console-sidebar nav>div{flex:0 0 auto}.nav-item{display:flex;width:68px;height:60px;margin:0;padding:.2rem;flex-direction:column;justify-content:center;gap:.2rem;font-size:.63rem}.nav-item span{width:1.6rem;height:1.6rem}.nav-item.has-submenu i{display:none}.nav-submenu{position:fixed;bottom:76px;left:.7rem;z-index:60;width:240px;margin:0;border:1px solid #38594f;border-radius:10px;padding:.45rem;background:var(--ink);box-shadow:0 12px 32px #0000004d}.nav-submenu>button{min-height:58px}.console-topbar{min-height:76px;padding:.8rem 1rem}.console-topbar h1{font-size:1.35rem}.topbar-meta{display:none}.preview-banner{padding:.55rem 1rem}.console-content{padding:1rem}.today-register{min-height:auto;grid-template-columns:75px 1fr}.date-rail strong{font-size:2.7rem}.today-body{padding:1.2rem}.quick-grid{grid-template-columns:1fr}.quick-grid button{min-height:95px}.today-aside{grid-template-columns:1fr}.records-heading,.records-heading-actions{align-items:stretch;flex-direction:column}.records-heading-actions label,.records-heading-actions input,.records-heading-actions button{width:100%}.record-mode-switch{max-width:none}.records-summary{grid-template-columns:1fr}.records-summary>div{min-height:54px}.classroom-record-board{padding:.8rem}.record-seat-grid{min-width:520px;gap:.5rem}.record-seat,.record-seat-hit{min-height:104px}.record-blackboard{width:82%}.records-save-bar{bottom:74px}.three-column-workspace,.groups-layout,.homeroom-layout,.seating-layout,.calendar-layout,.roster-layout,.billing-layout{grid-template-columns:1fr}.roster-layout>aside{grid-template-columns:1fr 1fr}.seat-controls{width:100%;flex-wrap:wrap}.seat-controls .primary-action{flex:1}.room-card>header{align-items:start;flex-direction:column}.student-bank-list{display:flex;overflow-x:auto}.student-bank-list>button{flex:0 0 150px}.seating-help{display:none}.room-card{padding:.9rem}.seat-grid{min-width:540px}.quiz-studio{grid-template-columns:1fr}.live-session{grid-template-columns:1fr;text-align:center}.live-session img{margin:auto}.quiz-section-tabs{width:100%;overflow-x:auto}.quiz-section-tabs button{flex:1 0 auto}.quiz-directory>header,.admin-context,.quiz-player-head{align-items:stretch;flex-direction:column}.quiz-directory>header>div:last-child{border-top:1px solid rgba(255,255,255,.18);border-left:0;padding-top:1rem;padding-left:0;text-align:left}.active-session-strip{grid-template-columns:1fr}.quiz-directory-grid{grid-template-columns:1fr;padding:.5rem 1rem 1rem}.quiz-directory-toolbar{padding-right:1rem;padding-left:1rem}.quiz-session-setup,.live-quiz-stage{grid-template-columns:1fr}.quiz-session-setup .primary-action,.live-quiz-stage>a{grid-column:auto}.live-quiz-stage{text-align:center}.live-quiz-stage img{margin:auto}.quiz-history>article{grid-template-columns:1fr auto}.quiz-history article time{grid-column:1 / -1}.gradebook-table{overflow-x:auto}.gradebook-table>div{min-width:620px}.admin-context label{width:100%}.admin-quiz-grid,.inline-form{grid-template-columns:1fr}.group-maker>header{grid-template-columns:1fr}.duty-card header{gap:1rem}.roster-table>div{grid-template-columns:58px 1fr 60px 62px}.import-drawer>div{flex-direction:column;gap:.3rem}.question-sheet{grid-template-columns:1fr}.question-index{font-size:1.1rem}.answer-list{grid-column:1;grid-template-columns:1fr}.quiz-nav span{display:none}.review-stack{padding:0 1rem}}body{color:var(--ink);background:#f6f7f9;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}button{font-weight:600}.hero-copy h1,.console-topbar h1,.join-card h1,.question-sheet h1,.plan-stamp,.record-seat-empty>span,.quiz-directory-empty>span,.admin-quiz-empty>span,.quick-grid button>span,.nav-item span{font-family:inherit}.hero-copy h1{font-weight:700;letter-spacing:-.055em}.hero-copy h1 em{color:var(--teal)}.hero-copy h1 em:after{display:none}.landing{background:radial-gradient(circle at 82% 14%,rgba(70,95,255,.09),transparent 32%),#f8f9fb}.hero-register{border-radius:18px;border-color:var(--line);box-shadow:0 24px 60px #1018281a;transform:none}.register-binding{display:none}.hero-register>header{background:linear-gradient(135deg,#273367,#465fff)}.register-date strong{color:var(--teal);font-family:ui-monospace,SFMono-Regular,monospace}.hero-register footer{background:var(--teal)}.console-shell{background:#f6f7f9;grid-template-columns:238px minmax(0,1fr)}.console-sidebar{border-right:1px solid var(--line);color:var(--ink-2);background:#fffffff5;box-shadow:6px 0 24px #10182806}.console-sidebar .wordmark,.wordmark.inverse{color:var(--ink)}.console-sidebar .wordmark b{letter-spacing:.02em}.class-context{border-color:var(--line);background:#f8fafc}.class-context small{color:var(--muted)}.class-context select{color:var(--ink);background:transparent}.class-context option{color:var(--ink)}.nav-section{color:#98a2b3;font-family:inherit;font-size:.66rem;font-weight:700;letter-spacing:.08em}.nav-item{color:#475467;border-radius:9px}.nav-item:hover{color:var(--ink);background:#f2f4f7}.nav-item.active{color:#354bd7;background:var(--teal-soft);font-weight:700}.nav-item span{border-color:#e4e7ec;color:#667085;border-radius:7px}.nav-item.active span{border-color:#c7d0ff;color:#fff;background:var(--teal)}.nav-submenu{border-left-color:#e4e7ec}.nav-submenu>button{color:#667085}.nav-submenu>button:hover,.nav-submenu>button.active{color:#354bd7;background:#f5f7ff}.nav-submenu>button>span{color:#465fff;background:#eef1ff;font-family:inherit}.nav-submenu small{color:#98a2b3}.sidebar-foot{border-top-color:var(--line)}.trial-meter{border-radius:99px;background:#eaecf0;overflow:hidden}.sidebar-foot button{color:#475467}.console-topbar{position:sticky;top:0;z-index:30;border-bottom-color:var(--line);background:#ffffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.console-topbar h1{font-size:1.65rem;font-weight:700;letter-spacing:-.04em}.topbar-meta b{color:#354bd7;background:var(--teal-soft)}.preview-banner{border-bottom-color:#c7d0ff;color:#3446a8;background:#eef1ff}.console-content{padding-top:1.5rem}.toast{border:1px solid #344054;background:#101828;box-shadow:0 14px 36px #10182838}.today-register{min-height:520px}.date-rail{color:#344054;background:#f3f5ff}.date-rail strong{color:var(--teal);font-family:ui-monospace,SFMono-Regular,monospace}.date-rail small{color:var(--muted);opacity:1}.today-body{padding:2rem}.quick-grid button{border-radius:12px;background:#fff;box-shadow:0 1px 2px #10182808}.quick-grid button:hover{border-color:#aab8ff;background:#fafbff;box-shadow:0 8px 20px #465fff14}.quick-grid button>span{border-radius:10px;color:var(--teal);background:var(--teal-soft);font-weight:750}.rhythm-card article{border-bottom-color:var(--line)}.rhythm-card time{color:var(--teal);font-family:ui-monospace,SFMono-Regular,monospace}.pulse-card{color:var(--ink);background:#fff}.pulse-card small,.pulse-card span{color:var(--muted)}.pulse-card strong{color:var(--teal);font-family:ui-monospace,SFMono-Regular,monospace}.pulse-card p{border-top-color:var(--line);color:#475467}.records-heading{background:#fff}.records-summary>div{border-radius:12px;background:#fff}.records-summary strong{color:var(--teal);font-family:ui-monospace,SFMono-Regular,monospace}.classroom-record-board,.classroom-record-board.answers{border-color:var(--line);background:#f8fafc}.record-seat-grid{gap:0}.record-seat{border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px #1018280a}.record-seat-hit:hover{background:#fafbff}.record-seat-hit>span{color:#475467;background:#f2f4f7}.record-seat.missing{border-color:#f5b97a;background:#fff9f2;box-shadow:0 0 0 2px #f7900914}.record-seat.missing .record-seat-hit>span{color:#93370d;background:#ffead5}.record-seat .answer-total{color:#354bd7;background:var(--teal-soft)}.record-seat .answer-total strong,.answer-rank,.student-bank header strong,.seat-grid button b{font-family:ui-monospace,SFMono-Regular,monospace}.answer-minus{border-color:#c7d0ff;color:var(--teal)}.record-blackboard{border:0;border-radius:9px;color:#dfe4ff;background:linear-gradient(90deg,#273367,#354bd7);box-shadow:none;letter-spacing:.1em}.records-save-bar{border-color:#d0d5dd;box-shadow:0 10px 30px #1018281a}.student-bank,.room-card{background:#fff}.student-bank header strong{background:var(--teal)}.student-bank-list>button{border-radius:10px}.student-bank-list>button.selected{border-color:#8ea0ff;outline-color:#465fff29;background:#fafbff}.student-bank-list button b,.seat-grid button b{color:var(--teal)}.room-card{border-color:var(--line)}.seat-controls button{min-height:42px;border-radius:9px}.seat-controls .primary-action{border-color:var(--teal);color:#fff;background:var(--teal)}.blackboard{width:48%;border-radius:8px;color:#dfe4ff;background:#273367;letter-spacing:.12em}.seat-grid{gap:0}.seat-grid button{min-height:82px;border-color:#d0d5dd;border-radius:11px;box-shadow:0 1px 2px #1018280a}.seat-grid button:hover{border-color:#aab8ff;background:#fafbff}.seat-grid button.selected{outline-color:#8ea0ff}.seat-grid button.drop-target{outline-color:var(--teal);background:var(--teal-soft)}.seat-grid>.seating-aisle-toggle{position:relative;z-index:2;min-width:0;min-height:0;border:0;border-radius:0;padding:0;overflow:visible;color:#667085;background:transparent;box-shadow:none;touch-action:manipulation}.seat-grid>.seating-aisle-toggle:hover{border:0;background:#465fff0a;box-shadow:none;transform:none}.seat-grid>.seating-aisle-toggle.vertical{width:34px;justify-self:center}.seat-grid>.seating-aisle-toggle.horizontal{height:34px;align-self:center}.seating-aisle-toggle:before{content:"";position:absolute;pointer-events:none}.seating-aisle-toggle.vertical:before{top:0;bottom:0;left:50%;border-left:1px dashed #cbd5e1}.seating-aisle-toggle.horizontal:before{top:50%;right:0;left:0;border-top:1px dashed #cbd5e1}.seating-aisle-toggle>span{position:absolute;inset:0;display:grid;width:25px;height:25px;margin:auto;place-items:center;border:1px solid #d0d5dd;border-radius:50%;opacity:0;color:#667085;background:#fff;box-shadow:0 1px 3px #1018281a;font-size:.9rem;font-weight:750;line-height:1;transition:opacity .12s ease}.seating-aisle-toggle:hover>span,.seating-aisle-toggle:focus-visible>span{opacity:1}.seating-aisle-toggle.active:before{border-color:#8ea0ff;border-style:solid}.seating-aisle-toggle.active>span{border-color:var(--teal);color:#fff;background:var(--teal);box-shadow:0 2px 6px #465fff3d}.quiz-section-tabs{border-radius:11px;background:#fff}.quiz-section-tabs button{border-radius:8px}.quiz-section-tabs button.active{background:var(--teal)}.quiz-directory>header{color:var(--ink);background:linear-gradient(135deg,#f4f6ff,#eef1ff)}.quiz-directory>header h2{color:var(--ink)}.quiz-directory>header p,.quiz-directory>header small,.quiz-directory>header span{color:var(--muted)}.quiz-directory>header>div:last-child{border-left-color:#d7ddff}.quiz-directory>header b{color:#354bd7}.live-pill{color:#354bd7!important;background:#fff;box-shadow:0 0 0 1px #d7ddff}.live-pill i{background:var(--green);box-shadow:0 0 0 4px #16865c1f}.quiz-directory-grid>button{border-radius:12px}.quiz-directory-grid>button:hover{border-color:#8ea0ff;box-shadow:0 8px 22px #465fff1a}.chapter-number{color:var(--teal);font-family:ui-monospace,SFMono-Regular,monospace}.quiz-session-setup{background:#fff}.live-quiz-stage{background:linear-gradient(135deg,#273367,#182230)}.live-quiz-stage>div>span,.live-quiz-stage p,.session-code small{color:#b7c1e8}.live-quiz-stage a,.session-code strong{color:#dfe4ff}.gradebook-head{background:#f8fafc}.admin-context{background:#fff}.admin-section-tabs button{border-radius:8px 8px 0 0}.admin-section-tabs button.active{color:#354bd7;background:#f5f7ff}.class-list-card>button.selected{background:var(--teal-soft)}.class-list-card>button span{background:var(--teal)}.status-pill.active{border-color:#a6f4c5;color:#067647;background:#ecfdf3}.import-drawer{border-color:#c7d0ff;background:#f8f9ff}.quiz-number{background:var(--teal)}.plan-stamp{border-color:var(--teal);color:var(--teal);font-family:inherit;font-weight:750}.plan-card,.data-card{background:#fff}@media(max-width:900px){.console-sidebar{border-top:1px solid var(--line);border-right:0;background:#fffffff5;box-shadow:0 -8px 24px #10182814;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.console-sidebar nav{gap:.1rem}.nav-item{color:#667085}.nav-item.active{color:#354bd7;background:var(--teal-soft)}.nav-submenu{border-color:var(--line);background:#fff;box-shadow:0 16px 36px #1018282e}.nav-submenu>button{color:#475467}.nav-submenu>button:hover,.nav-submenu>button.active{color:#354bd7;background:#f5f7ff}.date-rail{padding-right:.6rem;padding-left:.6rem}.quick-grid button{min-height:100px}.quiz-directory>header>div:last-child{border-top-color:#d7ddff}}@media(pointer:coarse){.seat-grid>.seating-aisle-toggle.vertical{width:44px}.seat-grid>.seating-aisle-toggle.horizontal{height:44px}.seating-aisle-toggle>span{width:30px;height:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--ink: #203a34;--ink-2: #36564c;--teal: #247b65;--teal-soft: #e7f5ed;--paper-deep: #f8fbf8;--line: #d4e0d8;--muted: #60766c;--shadow: 0 2px 9px rgba(28, 67, 51, .055)}html,body,.console-shell{background:#f8faf8}.console-sidebar{background:#fff;box-shadow:5px 0 18px #1a4a390b}.class-context{background:#f4fbf5}.nav-section{color:#6e8e7a}.nav-item{margin:4px 0;border:1px solid #e1eae1;color:#385b4d;background:#fff}.nav-item:hover{border-color:#a8cbb6;color:#245a49;background:#f6fbf7}.nav-item.active{border-color:#a8d5ba;color:#205f4d;background:#eaf8ec;box-shadow:inset 3px 0 #328a6b}.nav-item span{border-color:#e3ebdb;color:#376c57;background:#f6f6e7}.nav-item.active span{border-color:#b9dfc2;color:#1d654d;background:#d4efd9}.nav-submenu>button:hover,.nav-submenu>button.active{color:#205f4d;background:#eaf8ec}.nav-submenu>button>span{color:#26785f;background:#e4f3e8}.nav-submenu button.active>span{color:#fff;background:var(--teal)}.console-topbar{background:#fffffff2}.topbar-meta b{color:#1e6a54}.preview-banner{border-bottom-color:#e6d9ad;color:#715c25;background:#fff9e5}.date-rail{color:#2e5848;background:#edf7e9}.quick-grid button:hover,.record-seat-hit:hover,.seat-grid button:hover{border-color:#a8cbb6;background:#f7fcf8}.blackboard,.record-blackboard{color:#e5f4e9;background:#1f5b4b}.record-seat .answer-total,.quiz-directory>header b,.admin-section-tabs button.active{color:#1d7259}.quiz-directory>header{background:linear-gradient(135deg,#f1f9ed,#f9f8e8)}.live-pill{color:#1d7259!important;box-shadow:0 0 0 1px #c6e0ca}.live-quiz-stage{background:linear-gradient(135deg,#1d5b4c,#173f37)}.admin-section-tabs button.active{background:#eff8f1}.homeroom-register-layout,.homeroom-homework-layout,.homeroom-duty-layout{display:grid;gap:1rem;align-content:start}.homeroom-register-head,.homeroom-duty-head{display:flex;padding:1.4rem 1.6rem;align-items:center;justify-content:space-between;gap:1.5rem;background:linear-gradient(110deg,#fff,#f4faf1)}.homeroom-register-head h2,.homeroom-homework-setup h2,.homeroom-duty-head h2,.homeroom-affair-form h2{margin:.2rem 0 .4rem;font-size:1.6rem}.homeroom-register-head p:last-child,.homeroom-homework-setup p:last-child,.homeroom-duty-head p:last-child{max-width:660px;margin:0;color:var(--muted);font-size:.9rem}.register-actions{display:flex;align-items:end;gap:.7rem;flex:0 0 auto}.register-actions label,.homeroom-homework-setup label{color:#45665a;font-size:.78rem;font-weight:750}.register-actions input{display:block;width:170px;margin-top:.3rem}.register-actions button{min-height:44px}.homeroom-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.homeroom-stats>div{display:flex;min-height:82px;padding:.75rem 1rem;align-items:center;justify-content:space-between}.homeroom-stats small{color:var(--muted);font-weight:750}.homeroom-stats strong{font-size:2rem;line-height:1}.homeroom-stats .present strong{color:#237b62}.homeroom-stats .late strong{color:#a96b14}.homeroom-stats .absent strong{color:#b14d45}.homeroom-stats .total strong{color:#36564c}.homeroom-roster-card,.homeroom-homework-board{padding:1.35rem}.homeroom-roster-card>header,.homeroom-homework-board>header{display:flex;margin-bottom:1.2rem;align-items:center;justify-content:space-between;gap:1rem}.homeroom-roster-card h2,.homeroom-homework-board h2{margin:.2rem 0 0;font-size:1.18rem}.homeroom-homework-board header p:last-child{margin:.35rem 0 0;color:var(--muted);font-size:.82rem}.save-state,.missing-count{display:inline-flex;flex:0 0 auto;border:1px solid #e7dec5;border-radius:999px;padding:.4rem .7rem;color:#876321;background:#fff8e7;font-size:.74rem;font-weight:800}.save-state.saved{border-color:#b9dfc4;color:#207658;background:#ebf8ef}.homeroom-student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}.homeroom-student-card{display:grid;min-height:94px;border:1px solid #d5e6d9;border-radius:11px;padding:.7rem;color:var(--ink);background:#f3faf5;grid-template-columns:auto 1fr;align-items:center;gap:.25rem .55rem;text-align:left;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.homeroom-student-card:hover{transform:translateY(-2px);box-shadow:0 5px 15px #1850331a}.homeroom-student-card:focus-visible{outline:3px solid #327e63;outline-offset:2px}.homeroom-student-card .student-number{display:grid;width:29px;height:29px;border-radius:8px;place-items:center;color:#2a7255;background:#d9efe0;font-size:.75rem;font-weight:800}.homeroom-student-card b{overflow-wrap:anywhere;font-size:.93rem}.homeroom-student-card .student-status{grid-column:1 / -1;border-radius:6px;padding:.24rem .45rem;color:#256e50;background:#e1f4e5;font-size:.72rem;font-weight:800;text-align:center}.homeroom-student-card.late{border-color:#e6c587;background:#fff8ea}.homeroom-student-card.late .student-number,.homeroom-student-card.late .student-status{color:#8f5917;background:#fff0c9}.homeroom-student-card.absent,.homeroom-student-card.missing{border-color:#e5b4aa;background:#fff1ed}.homeroom-student-card.absent .student-number,.homeroom-student-card.absent .student-status,.homeroom-student-card.missing .student-number,.homeroom-student-card.missing .student-status{color:#a33f3b;background:#fbe0db}.homeroom-student-card.submitted{background:#fff}.homeroom-homework-layout{grid-template-columns:minmax(0,1fr) 270px}.homeroom-homework-setup{grid-column:1 / -1;display:grid;padding:1.3rem 1.5rem;background:#fff9e8;grid-template-columns:minmax(0,1fr);align-items:center;gap:.6rem 1.25rem}.homeroom-homework-heading{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:6px}.homeroom-subject-settings,.homeroom-homework-fields{display:flex;min-width:0;align-items:end;flex-wrap:wrap;gap:12px 16px}.homeroom-subject-select select{display:block;margin-top:.3rem;border-color:#d9cfae;background:#fff;font-weight:750}.homeroom-subject-na{display:grid;min-height:54px;border:2px solid #d9cfae;border-radius:9px;padding:7px 10px;background:#fffaf0;align-content:center;gap:2px}.homeroom-subject-na small{color:#6c756f;font-size:10px;font-weight:800}.homeroom-subject-na b{color:#384e45;font-size:13px}.homeroom-date-more{grid-column:2;align-self:end;padding-bottom:8px;color:#657467;font-size:.79rem}.homeroom-date-more summary{width:fit-content;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.homeroom-date-more label{display:block;margin-top:.7rem}.homeroom-date-more input{display:block;margin-top:.3rem}.homeroom-date-more button,.custom-subject-form button{min-height:40px;border:1px solid #b8d4be;border-radius:8px;padding:.55rem .8rem;color:#23634e;background:#f1f8f0;font-size:.78rem;font-weight:800}.homeroom-date-more button{margin-top:.45rem}.custom-subject-form{display:flex;grid-column:1 / -1;padding-top:.65rem;border-top:1px solid #e9e0bf;align-items:end;gap:.6rem}.custom-subject-form label{width:min(270px,100%)}.custom-subject-form input{display:block;margin-top:.3rem}.homeroom-homework-board{min-width:0}.homeroom-homework-board.seating-mode{grid-column:1 / -1}.homework-board-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:end;gap:.6rem}.homeroom-pick-subject{border:1px dashed #cadbc8;border-radius:9px;padding:1.3rem;color:#526a5b;background:#f7fbf5;text-align:center}.homeroom-homework-history{padding:1.25rem;align-self:start;background:repeating-linear-gradient(#fff 0 39px,#e8efe8 40px)}.homeroom-homework-history h2{margin:.2rem 0 1rem;font-size:1.12rem}.homeroom-homework-history>button{display:flex;width:100%;margin:.5rem 0;border:1px solid #dbe9d8;border-radius:8px;padding:.7rem .8rem;background:#fff;align-items:center;justify-content:space-between;gap:.4rem;text-align:left}.homeroom-homework-history>button.selected{border-color:#8ec9a4;background:#eaf8eb}.homeroom-homework-history>button span,.homeroom-homework-history>p{color:var(--muted);font-size:.76rem}.homeroom-task-types{display:flex;flex:1 1 510px;min-width:0;margin:0;border:0;padding:.25rem 0 0;flex-wrap:wrap;gap:.45rem}.homeroom-task-types legend{margin-bottom:.35rem;color:#45665a;font-size:.78rem;font-weight:800}.homeroom-task-types button,.homeroom-student-view-tabs button{min-height:44px;border:2px solid #bfd4c4;border-radius:9px;padding:.55rem .8rem;color:#315d4d;background:#fff;font-weight:800}.homeroom-task-types button.selected,.homeroom-student-view-tabs button.selected{border-color:#276e57;color:#fff;background:#276e57}.homeroom-task-types button:focus-visible,.homeroom-student-view-tabs button:focus-visible,.homework-history-select:focus-visible,.homework-history-delete:focus-visible,.homework-seat-student:focus-visible{outline:3px solid #edb83e;outline-offset:2px}.homeroom-task-detail{display:grid;flex:1 1 260px;min-width:0;max-width:480px;gap:.3rem}.homeroom-task-detail input{width:100%;min-height:44px;border-color:#d9cfae;background:#fff}.homeroom-subject-settings>:where(.homeroom-subject-select,.homeroom-subject-na){flex:0 1 260px;min-width:0}.homeroom-subject-settings>:where(.custom-subject-form){flex:0 1 360px;min-width:0;border-top:0;padding-top:0}.homeroom-subject-settings>:where(.custom-subject-form)>label{flex:1;min-width:0}.homeroom-subject-settings>:where(.homeroom-date-more){margin-left:auto}.homeroom-student-view-tabs{display:flex;margin:0 0 .8rem;gap:.45rem}.homework-board-actions>button:not(.primary-action){min-height:44px;border:2px solid #bfd4c4;border-radius:9px;padding:.5rem .75rem;color:#315d4d;background:#fff;font-weight:800}.homework-board-actions>button:disabled{opacity:.48;cursor:not-allowed}.homework-seat-scroller{width:100%;overflow-x:auto;padding:3px 3px 10px}.homework-seat-board{min-width:680px}.homework-seat-board .blackboard{width:min(440px,70%);margin:0 auto 1rem;border:3px solid #132c27;border-radius:10px;padding:.65rem;color:#fff;background:#1b3633;font-weight:900;text-align:center}.homework-seat-grid{display:grid;align-items:stretch}.homework-seat-student{display:grid;width:100%;min-height:88px;border:2px solid #c9dbcd;border-radius:10px;padding:.55rem;color:var(--ink);background:#fff;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem .5rem;text-align:left}.homework-seat-student .student-number{display:grid;width:28px;height:28px;border-radius:8px;place-items:center;color:#25664f;background:#dff1e4;font-size:.72rem;font-weight:900}.homework-seat-student b{overflow-wrap:anywhere}.homework-seat-student .student-status{grid-column:1 / -1;border-radius:6px;padding:.2rem .4rem;color:#256e50;background:#e1f4e5;font-size:.7rem;font-weight:850;text-align:center}.homework-seat-student.gender-male{background:#dceeff}.homework-seat-student.gender-female{background:#ffe1ec}.homework-seat-student.missing{border-color:#b94d45;background:#fff1ed;box-shadow:inset 0 0 0 1px #b94d45}.homework-seat-student.missing .student-number,.homework-seat-student.missing .student-status{color:#913934;background:#f8d9d5}.homework-seat-empty{display:grid;min-height:88px;border:2px dashed #d7ded8;border-radius:10px;place-items:center;color:#7b887f;background:#f6f8f6;font-size:.72rem}.homework-seat-board.dense{min-width:620px}.homework-seat-board.dense .homework-seat-student,.homework-seat-board.dense .homework-seat-empty{min-height:68px;padding:.38rem}.homework-seat-board.dense .homework-seat-student{grid-template-columns:24px minmax(0,1fr);gap:.15rem .35rem}.homework-seat-board.dense .homework-seat-student .student-number{width:24px;height:24px;font-size:.66rem}.homework-seat-board.dense .homework-seat-student b{font-size:.76rem;line-height:1.15}.homework-seat-board.dense .homework-seat-student .student-status{padding:.14rem .25rem;font-size:.62rem}.homework-unseated{margin-top:1rem;border-top:2px dashed #d8e1d8;padding-top:.8rem}.homework-unseated>b{color:#4f6758;font-size:.78rem}.homework-unseated>div{display:grid;margin-top:.55rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.55rem}.homeroom-homework-history>header{margin-bottom:.7rem}.homeroom-homework-history>header h2{margin-bottom:.55rem}.homeroom-homework-history>header button{min-height:40px;border:2px solid #bfd4c4;border-radius:8px;padding:.45rem .65rem;color:#276e57;background:#fff;font-size:.75rem;font-weight:850}.homeroom-homework-history article{display:grid;margin:.55rem 0;border:2px solid #dbe9d8;border-radius:9px;background:#fff;grid-template-columns:minmax(0,1fr) auto;overflow:hidden}.homeroom-homework-history article.selected{border-color:#397c63;background:#edf8ef;box-shadow:3px 3px #b9d8c1}.homework-history-select{display:grid;min-width:0;min-height:76px;border:0;padding:.65rem .7rem;background:transparent;gap:.18rem;text-align:left}.homework-history-select b,.homework-history-select span{overflow-wrap:anywhere}.homework-history-select b{font-size:.8rem}.homework-history-select span,.homework-history-select small{color:var(--muted);font-size:.72rem}.homework-history-delete{min-width:54px;border:0;border-left:1px solid #ead3cf;padding:.45rem;color:#963b35;background:#fff3f0;font-size:.7rem;font-weight:850}.homeroom-homework-board.seating-mode+.homeroom-homework-history{display:grid;grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.65rem}.homeroom-homework-board.seating-mode+.homeroom-homework-history>header,.homeroom-homework-board.seating-mode+.homeroom-homework-history>p{grid-column:1 / -1}.homeroom-homework-board.seating-mode+.homeroom-homework-history article{margin:0}.homeroom-affairs-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:start;gap:1rem}.homeroom-affair-form,.homeroom-notebook{padding:1.4rem}.homeroom-affair-form{background:#fff9e8}.homeroom-affair-form form{display:grid;gap:.8rem}.homeroom-affair-form label{display:grid;gap:.3rem;color:#4e6656;font-size:.78rem;font-weight:750}.homeroom-notebook{min-height:330px;background:repeating-linear-gradient(#fff 0 43px,#e7efe8 44px)}.homeroom-notebook>header{display:flex;align-items:center;justify-content:space-between}.homeroom-notebook h2{margin:0}.homeroom-notebook small{color:var(--muted)}.homeroom-notebook article{display:grid;margin-top:.9rem;border:1px solid #e1e9dc;border-radius:8px;padding:.8rem 1rem;background:#fff;gap:.2rem}.homeroom-notebook time{color:#257960;font-size:.75rem;font-weight:750}.homeroom-notebook p{margin:0;color:var(--muted);font-size:.83rem}.homeroom-duty-head{padding:1.2rem 1.5rem}.homeroom-duty-section{padding:1.3rem 1.5rem}.homeroom-duty-section>header{margin-bottom:1rem}.homeroom-duty-section>header h2{margin:.2rem 0}.homeroom-duty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:.7rem}.homeroom-duty-grid label{display:grid;border:1px solid #e0eade;border-radius:9px;padding:.7rem;background:#f8fbf6;gap:.4rem}.homeroom-duty-grid label span{color:#355c47;font-size:.82rem;font-weight:750}.homeroom-duty-section .custom-subject-form{margin-top:1rem}@media(max-width:1100px){.homeroom-homework-layout{grid-template-columns:1fr}.homeroom-homework-history{grid-column:1}}@media(max-width:900px){.console-sidebar{background:#fffffffa}.nav-item{margin:0;border:0}.nav-item.active{box-shadow:inset 0 -3px #328a6b}.homeroom-register-head,.homeroom-duty-head,.homeroom-roster-card>header,.homeroom-homework-board>header{align-items:stretch;flex-direction:column}.register-actions{width:100%}.register-actions label{flex:1}.register-actions input{width:100%}.homeroom-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.homeroom-homework-setup{grid-template-columns:1fr}.homeroom-homework-heading,.homeroom-date-more{grid-column:1;grid-row:auto}.homeroom-affairs-layout{grid-template-columns:1fr}.homework-board-actions{justify-content:space-between}}@media(max-width:560px){.homeroom-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.homeroom-student-card{min-height:86px}.register-actions{align-items:stretch;flex-direction:column}.homeroom-homework-board,.homeroom-roster-card,.homeroom-homework-setup{padding:1rem}.custom-subject-form{align-items:stretch;flex-direction:column}.custom-subject-form label{width:100%}}.student-records-layout{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:start;gap:1rem}.student-records-directory{position:sticky;top:104px;overflow:hidden}.student-records-directory>header{position:relative;padding:1.2rem 1.2rem .8rem}.student-records-directory h2{margin:.2rem 0 0;font-size:1.3rem}.student-records-directory>header>small{position:absolute;right:1.2rem;bottom:.9rem;color:var(--muted);font-size:.72rem}.student-record-search{display:block;margin:0 1.2rem 1rem;color:#4c6b5c;font-size:.75rem;font-weight:800}.student-record-search input{margin-top:.35rem;background:#f9fcf8}.student-record-list{max-height:min(68vh,750px);padding:.25rem .7rem .8rem;overflow-y:auto}.student-record-list>button{display:grid;width:100%;min-height:70px;margin:.22rem 0;border:1px solid transparent;border-radius:9px;padding:.55rem;background:transparent;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.55rem;text-align:left}.student-record-list>button:hover{border-color:#c7dfce;background:#f5faf5}.student-record-list>button.selected{border-color:#a5d3b6;background:#eaf8ed;box-shadow:inset 3px 0 #258162}.student-record-number{display:grid;width:32px;height:32px;border-radius:8px;place-items:center;color:#27694e;background:#e3f1e4;font-size:.75rem;font-weight:850}.student-record-name{display:grid;min-width:0;gap:.12rem}.student-record-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.student-record-name small,.student-record-flags small{color:var(--muted);font-size:.65rem}.student-record-flags{display:grid;gap:.2rem;text-align:right}.student-records-main,.student-record-detail{display:grid;min-width:0;align-content:start;gap:1rem}.student-record-profile{display:flex;min-height:158px;padding:1.3rem 1.5rem;background:linear-gradient(115deg,#fff,#f5faed);align-items:start;justify-content:space-between;gap:1rem}.student-record-profile h2{display:flex;margin:.25rem 0 .45rem;align-items:center;gap:.65rem;font-size:1.7rem}.student-record-profile h2 span{display:grid;width:39px;height:39px;border-radius:10px;place-items:center;color:#fff;background:var(--teal);font-size:.95rem}.student-record-profile p:last-child{max-width:610px;margin:0;color:var(--muted);font-size:.85rem}.student-record-enrolment{flex:0 0 auto;border:1px solid #b9dfc4;border-radius:999px;padding:.35rem .65rem;color:#207658;background:#ebf8ef;font-size:.72rem;font-weight:800}.student-record-enrolment.inactive{border-color:#d9d9d4;color:#69726b;background:#f5f5f2}.student-record-tabs{display:flex;width:fit-content;border:1px solid var(--line);border-radius:10px;padding:.25rem;background:#fff;gap:.25rem}.student-record-tabs button{min-width:135px;min-height:40px;border:0;border-radius:7px;padding:.55rem 1rem;color:#507164;background:transparent;font-size:.85rem;font-weight:800}.student-record-tabs button.active{color:#fff;background:var(--teal)}.student-record-tabs button:focus-visible{outline:3px solid #96cbb0;outline-offset:2px}.student-record-metrics{display:grid;gap:.7rem}.attendance-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.homework-metrics{grid-template-columns:1fr 1fr 1.5fr}.student-record-metrics>div{display:grid;min-height:94px;padding:1rem;align-content:space-between}.student-record-metrics small{color:var(--muted);font-size:.75rem;font-weight:750}.student-record-metrics strong{color:#225e4c;font-size:2rem;line-height:1}.student-record-metrics .late strong{color:#a56a17}.student-record-metrics .absent strong{color:#b14d45}.student-record-metrics .last-missing strong{font-size:1.25rem}.student-record-history{min-height:290px;padding:1.3rem 1.5rem;background:repeating-linear-gradient(#fff 0 43px,#e9f0e8 44px)}.student-record-history>header{display:flex;margin-bottom:1.1rem;align-items:start;justify-content:space-between;gap:1rem}.student-record-history h3{margin:.25rem 0;font-size:1.24rem}.student-record-history header p:last-child{margin:0;color:var(--muted);font-size:.8rem}.student-record-history header button{flex:0 0 auto;min-height:38px;border:1px solid #b9d6c1;border-radius:8px;padding:.45rem .7rem;color:#23694f;background:#f2faf2;font-size:.75rem;font-weight:750}.student-record-entries{display:grid;gap:.5rem}.student-record-entries article{display:flex;min-height:54px;border:1px solid #e0eade;border-radius:8px;padding:.6rem .85rem;background:#fff;align-items:center;gap:.8rem}.student-record-entries time{color:#4d6658;font-size:.8rem;font-weight:750}.student-record-entries article b{font-size:.86rem}.student-record-task{display:grid;gap:.15rem}.student-record-task small{color:var(--muted);font-size:.74rem}.student-record-result{display:inline-flex;min-width:52px;margin-left:auto;border-radius:999px;padding:.32rem .6rem;justify-content:center;color:#21724d;background:#e5f5e7;font-size:.73rem;font-weight:800}.student-record-result.late{color:#925d17;background:#fff0cb}.student-record-result.absent,.student-record-result.missing{color:#a8443d;background:#fbe3df}.student-record-empty{margin:1rem 0 0;border:1px dashed #cbdccf;border-radius:8px;padding:1.1rem;color:var(--muted);background:#f9fcf8;font-size:.84rem}.student-record-subjects{margin-bottom:1rem;border:1px solid #d8e8d9;border-radius:9px;padding:.85rem 1rem;background:#f7fbf5}.student-record-subjects>b{color:#42634e;font-size:.78rem}.student-record-subjects>div{display:flex;margin-top:.6rem;flex-wrap:wrap;gap:.4rem}.student-record-subjects span{display:inline-flex;border:1px solid #c6ddc9;border-radius:999px;padding:.3rem .4rem .3rem .65rem;background:#fff;align-items:center;gap:.5rem;font-size:.76rem}.student-record-subjects strong{display:grid;min-width:21px;height:21px;border-radius:50%;place-items:center;color:#fff;background:var(--teal);font-size:.68rem}.student-record-no-students{padding:1.5rem}.student-record-no-students p{color:var(--muted)}.student-record-profile.class-overview-profile{min-height:118px;background:linear-gradient(120deg,#fffdf3,#f1faf6)}.class-overview-profile h2{margin:3px 0 5px;font-size:clamp(21px,2.5vw,29px)}.class-overview-profile p:last-child{margin:0;color:var(--muted)}.class-record-dashboard{display:grid;gap:12px}.class-record-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:10px}.class-record-metrics>div{position:relative;display:grid;min-height:110px;border:3px solid var(--line);border-radius:15px;padding:12px 14px;overflow:hidden;align-content:space-between;box-shadow:4px 4px #1212121f}.class-record-metrics>div:after{content:"";position:absolute;right:-15px;bottom:-19px;width:65px;height:65px;border:12px solid rgba(47,125,103,.09);border-radius:50%}.class-record-metrics>div:nth-child(1){border-color:var(--teal)}.class-record-metrics>div:nth-child(2){border-color:var(--red)}.class-record-metrics>div:nth-child(3){border-color:var(--amber)}.class-record-metrics>div:nth-child(4){border-color:var(--blue)}.class-record-metrics small{color:var(--muted);font-size:11px;font-weight:900}.class-record-metrics strong{font-size:34px;line-height:1}.class-record-metrics span{color:var(--muted);font-size:10px}.class-record-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px}.class-record-attention,.class-record-subject-chart,.class-record-recent{border:3px solid var(--line);border-radius:16px;padding:15px;box-shadow:var(--shadow)}.class-record-attention>header,.class-record-subject-chart>header,.class-record-recent>header{display:flex;margin-bottom:10px;align-items:end;justify-content:space-between;gap:10px}.class-record-attention h3,.class-record-subject-chart h3,.class-record-recent h3{margin:2px 0 0;font-size:18px}.class-record-attention header>small{color:var(--muted);font-size:10px}.class-record-attention>div{display:grid;gap:6px}.class-record-attention button{display:grid;min-height:47px;border:1px solid #d4ded8;border-radius:9px;padding:6px 9px;background:#fff;grid-template-columns:34px minmax(90px,1fr) repeat(3,auto);align-items:center;gap:7px;text-align:left}.class-record-attention button:hover{border-color:var(--teal);background:#f2faf6}.class-record-attention button>span{display:grid;width:30px;height:30px;border-radius:8px;background:#ffe8a3;place-items:center;font-size:11px;font-weight:900}.class-record-attention button>small{border-radius:999px;padding:3px 6px;color:var(--muted);background:#f1f4f2;font-size:9px;font-weight:800;white-space:nowrap}.class-record-subject-chart>div{display:grid;gap:10px}.class-record-subject-chart>div>div{display:grid;gap:4px}.class-record-subject-chart span{display:flex;justify-content:space-between;gap:10px;font-size:11px}.class-record-subject-chart span strong{color:#286b55}.class-record-subject-chart i{display:block;height:9px;border-radius:999px;overflow:hidden;background:#e5ebe7}.class-record-subject-chart i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2b8065,#72b89e)}.class-record-recent>header>div:last-child{display:flex;gap:6px}.class-record-recent header button{min-height:34px;border:1px solid #b9d6c1;border-radius:8px;padding:5px 8px;color:#23694f;background:#f2faf2;font-size:10px;font-weight:850}.class-record-recent>div{display:grid;gap:5px}.class-record-recent article{display:grid;min-height:50px;border-bottom:1px solid #e0e7e2;padding:6px 2px;grid-template-columns:82px 48px minmax(150px,1fr) minmax(140px,.8fr);align-items:center;gap:8px}.class-record-recent article time{color:var(--muted);font-size:10px;font-weight:800}.class-record-recent article>span{border-radius:999px;padding:4px 6px;text-align:center;font-size:9px;font-weight:900}.class-record-recent article>span.attendance{color:#28644f;background:#e3f3eb}.class-record-recent article>span.missing{color:#934741;background:#fbe5e2}.class-record-recent article b{font-size:12px}.class-record-recent article>small{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-record-empty{border:1px dashed #cbdccf;border-radius:9px;padding:24px 12px;color:var(--muted);background:#f8fbf9;text-align:center}@media(max-width:1180px){.class-record-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.class-record-dashboard-grid{grid-template-columns:minmax(0,1fr)}.student-record-tabs button{min-width:0;padding-inline:6px}}@media(max-width:1120px){.student-records-layout{grid-template-columns:225px minmax(0,1fr)}.student-record-flags{display:none}}@media(max-width:900px){.student-records-layout{grid-template-columns:1fr}.student-records-directory{position:static}.student-record-list{display:grid;max-height:220px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem .5rem}.student-record-list>button{margin:0}.student-record-flags{display:grid}.class-record-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.class-record-dashboard-grid{grid-template-columns:1fr}}@media(max-width:560px){.student-records-directory>header,.student-record-profile,.student-record-history{padding:1rem}.student-record-list{padding:.25rem .6rem .7rem;gap:.25rem}.student-record-list>button{grid-template-columns:30px minmax(0,1fr)}.student-record-flags{display:none}.student-record-profile{min-height:0}.student-record-profile h2{font-size:1.4rem}.student-record-tabs{width:100%}.student-record-tabs button{min-width:0;flex:1}.attendance-metrics,.homework-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.homework-metrics .last-missing{grid-column:1 / -1}.student-record-history>header{flex-direction:column}.class-record-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.class-record-attention button{grid-template-columns:30px minmax(80px,1fr)}.class-record-attention button>small{display:none}.class-record-recent>header{align-items:stretch;flex-direction:column}.class-record-recent>header>div:last-child{flex-wrap:wrap}.class-record-recent article{grid-template-columns:75px 44px 1fr}.class-record-recent article>small{grid-column:3}}:root{font-family:Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif;color:#263632;background:#faf8f3;--ink: #263632;--ink-2: #334741;--muted: #52655b;--line: #c9d4cf;--paper: #fff;--paper-deep: #faf8f3;--console-canvas: #faf8f3;--sidebar-paper: #dce6f0;--sidebar-surface: #eef3f7;--teal: #287158;--teal-soft: #e5f4ed;--amber: #d59b45;--red: #a5444b;--red-soft: #fff1f2;--green: #3d8066;--blue: #5d7fa9;--purple: #826fa3;--shadow: 0 5px 16px rgba(43, 67, 57, .08)}html,body{background:var(--console-canvas)}h1,h2,h3{letter-spacing:0;font-weight:950}.eyebrow{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:0}input,select,textarea{min-height:44px;border:2px solid var(--line);border-radius:12px;background:#fff}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline-color:#9ed9bb}.paper-card{position:relative;border:2px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.primary-action{min-height:46px;border:3px solid var(--line);border-radius:10px;padding:.65rem 1.1rem;color:#fff;background:#287d68;box-shadow:3px 3px 0 var(--line);font-weight:950}.primary-action:hover{background:#216a58;box-shadow:4px 4px 0 var(--line);transform:translate(-1px,-1px)}.primary-action:active{background:#1c604e;box-shadow:1px 1px 0 var(--line);transform:translate(1px,1px)}.quiet-button{min-height:40px;border:3px solid var(--line);border-radius:10px;padding:.5rem .85rem;background:#fff;box-shadow:2px 2px 0 var(--line)}.text-action{color:#267b60}.console-shell{display:grid;min-height:calc(100vh - 28px);margin:14px;padding:14px;border:4px solid var(--line);border-radius:22px;background:var(--console-canvas);box-shadow:0 8px 22px #2b43391c;grid-template-columns:310px minmax(0,1fr);gap:14px}.console-sidebar{position:sticky;top:14px;height:calc(100vh - 56px);border:4px solid var(--line);border-radius:18px;padding:10px;color:var(--ink);background:var(--sidebar-paper);--wordmark-ink: #17262e;--wordmark-caption: #344454;--wordmark-fill: #ffdd78;--wordmark-line: #92722e;--wordmark-shadow: #344454;--sidebar-caption: #344454;box-shadow:none;gap:12px}.console-sidebar .wordmark{display:flex;min-height:80px;padding:8px 6px;gap:10px;color:var(--wordmark-ink);letter-spacing:0}.wordmark.inverse{color:var(--ink)}.console-sidebar .wordmark>span:first-child,.landing .wordmark>span:first-child{display:grid;flex:0 0 auto;width:52px;height:52px;place-items:center;border:3px solid var(--wordmark-line, var(--line));border-radius:14px;color:var(--wordmark-ink, var(--ink));background:var(--wordmark-fill, #ffe8a3);box-shadow:4px 4px 0 var(--wordmark-shadow, var(--teal));font-size:26px;font-weight:900}.wordmark .wordmark-copy{display:grid;width:auto;height:auto;border:0;border-radius:0;place-items:initial;gap:0;color:var(--wordmark-ink, var(--ink));background:transparent;box-shadow:none}.wordmark-copy small{color:var(--wordmark-caption, #50615b);font-size:12px;font-weight:900;line-height:1.2}.wordmark-copy b{font-size:29px;font-weight:950;line-height:1.1}.class-context{display:none}.console-sidebar nav{display:grid;flex:1;align-content:start;border:1px solid var(--line);border-radius:14px;padding:12px;gap:10px;background:var(--sidebar-paper);overflow-y:auto}.nav-section{margin:7px 0 0;color:var(--sidebar-caption, var(--muted));font-family:inherit;font-size:11px;font-weight:900;letter-spacing:.05em}.nav-item{display:grid;width:100%;min-height:74px;margin:0;border:3px solid var(--line);border-radius:16px;padding:10px;color:var(--ink);background:#fff;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;font-weight:950;box-shadow:2px 2px #1212120f}.nav-item strong{font-size:17px;font-weight:950;white-space:nowrap}.nav-item>span{display:grid;width:44px;height:44px;border:2px solid var(--line);border-radius:11px;place-items:center;color:var(--ink);background:#ffe8a3}.nav-item:hover{border-color:var(--teal);color:var(--ink);background:#f8fef9;transform:translate(-1px,-1px)}.nav-item.active{border-color:var(--teal);color:var(--ink);background:#f2fff6;box-shadow:4px 4px 0 var(--teal)}.nav-item.active>span{border-color:var(--line);color:var(--ink);background:#c9f7d8}.nav-item[data-tab=quiz]:not(.active)>span{background:#efe7ff}.nav-item[data-tab=seating]:not(.active)>span{background:#f8ebc8}.nav-item[data-tab=calendar].active{border-color:var(--red);background:#fff2f3;box-shadow:4px 4px 0 var(--red)}.nav-item[data-tab=roster].active,.nav-item[data-tab=billing].active{border-color:var(--purple);background:#f6f0ff;box-shadow:4px 4px 0 var(--purple)}.nav-submenu{margin:8px 0 0 12px;border-left:0;padding:0;gap:8px}.nav-submenu>button{min-height:52px;border:3px solid var(--line);border-radius:12px;padding:7px 10px;color:var(--ink);background:#fff;box-shadow:3px 3px #1212121f}.nav-submenu>button.active{border-color:var(--teal);color:var(--ink);background:var(--teal-soft);box-shadow:3px 3px 0 var(--teal)}.nav-submenu>button>span{color:var(--ink);background:#ffe8a3}.nav-submenu b{font-size:13px}.nav-submenu small{color:var(--muted);font-size:10px}.sidebar-foot{margin-top:0;border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--sidebar-surface)}.sidebar-foot small{color:var(--muted)}.sidebar-foot button{min-height:38px;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff;font-size:13px;font-weight:900;text-decoration:none}.trial-meter{background:#e8eee9}.trial-meter span{background:var(--teal)}.console-main{min-width:0;background:var(--console-canvas)}.console-topbar{position:relative;top:auto;min-height:107px;margin-bottom:12px;border:4px solid var(--line);border-radius:18px;padding:16px 18px;background:#fff;box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.console-topbar small{color:var(--muted);font-size:12px;font-weight:900}.console-topbar h1{margin:4px 0 0;font-family:inherit;font-size:clamp(28px,3vw,40px);font-weight:950;line-height:1.1;letter-spacing:0}.topbar-meta{display:flex;gap:10px;align-items:end}.topbar-date,.topbar-class{display:grid;min-width:165px;gap:5px;color:var(--muted);font-size:12px;font-weight:900}.topbar-class{min-width:185px}.topbar-date input,.topbar-class select{min-height:46px;padding:9px 11px;font-size:14px;font-weight:900}.topbar-date input{color:var(--ink)}.topbar-meta b{display:grid;min-height:46px;border:3px solid var(--line);border-radius:10px;padding:8px 12px;place-items:center;color:var(--ink);background:#fff;font-size:13px;font-weight:900}.preview-banner{margin-bottom:12px;border:2px solid #e8dba9;border-radius:10px;padding:7px 12px;color:#705d2b;background:#fff9e5;font-size:12px}.console-content{max-width:none;padding:0 0 4px}.console-page-heading{position:relative;min-height:83px;margin-bottom:14px;border:2px solid var(--line);border-radius:16px;padding:19px 16px 12px;background:#fff;box-shadow:var(--shadow)}.console-page-heading small{display:block;margin-bottom:3px;color:var(--muted);font-size:11px;font-weight:900}.console-page-heading h2{margin:0;font-size:19px;font-weight:950}.homeroom-register-head,.homeroom-duty-head,.homeroom-homework-setup,.student-record-profile,.homeroom-affair-form{background:#fff}.homeroom-stats>div,.student-record-metrics>div{border:3px solid var(--line);border-radius:16px;background:#fff;box-shadow:4px 4px #12121224}.homeroom-stats>div:nth-child(1),.student-record-metrics>div:nth-child(1){border-color:var(--amber)}.homeroom-stats>div:nth-child(2),.student-record-metrics>div:nth-child(2){border-color:var(--red)}.homeroom-stats>div:nth-child(3),.student-record-metrics>div:nth-child(3){border-color:var(--blue)}.homeroom-stats>div:nth-child(4),.student-record-metrics>div:nth-child(4){border-color:var(--teal)}.homeroom-stats strong,.student-record-metrics strong{color:var(--ink);font-size:34px;font-weight:950}.homeroom-student-card,.record-seat-hit{border:2px solid var(--line);border-radius:12px;box-shadow:3px 3px #1212121f}.homeroom-student-card{background:#e4f2ff}.homeroom-student-card:nth-child(2n){background:#ffeaf2}.seat-grid button.occupied{border:2px solid var(--line);border-radius:12px;background:#fff;box-shadow:3px 3px #1212121f}.seat-grid button.occupied.gender-male{background:#e4f2ff}.seat-grid button.occupied.gender-female{background:#ffeaf2}.homeroom-student-card.late{border-color:var(--amber);background:#fff4d8}.homeroom-student-card.absent,.homeroom-student-card.missing{border-color:var(--red);background:#ffe9ec}.student-record-tabs,.quiz-section-tabs,.admin-section-tabs{border:2px solid #253a35;border-radius:15px;padding:6px;background:#fff;box-shadow:4px 4px #1f342f1f}.student-record-tabs button,.quiz-section-tabs button,.admin-section-tabs button{border-radius:10px;font-size:14px;font-weight:900}.student-record-tabs button.active,.quiz-section-tabs button.active,.admin-section-tabs button.active{color:#fff;background:#173c34}.quiz-directory>header{color:#fff;background:linear-gradient(120deg,#1b3633,#253345)}.quiz-directory>header h2,.quiz-directory>header p,.quiz-directory>header small,.quiz-directory>header span{color:#fff}.quiz-directory>header b{color:#ffe8a3}.quiz-directory-grid>button{border:3px solid var(--line);border-radius:15px;box-shadow:4px 4px #1212121a}.chapter-number{display:grid;width:31px;height:31px;border-radius:7px;place-items:center;color:var(--ink);background:#ffe8a3;font:900 15px inherit}.student-record-history,.homeroom-homework-history,.homeroom-notebook{background:#fff}.student-record-list>button.selected{border:3px solid var(--teal);background:#f2fff6;box-shadow:3px 3px 0 var(--teal)}.student-record-list>button{border:2px solid var(--line);margin:5px 0;border-radius:12px;background:#fff}.landing{background:#f3f7f5}.hero-copy h1{font-family:inherit;font-weight:950;letter-spacing:0}.hero-register{border:4px solid var(--line);border-radius:18px;transform:none}.hero-register>header{background:#1b3633}.landing-proof article{border-left-color:var(--teal)}.homeroom-stats>div:before,.student-record-metrics>div:before{display:none}.console-shell:has(.quiz-classroom){display:block}.console-shell:has(.quiz-classroom) .console-sidebar,.console-shell:has(.quiz-classroom) .console-page-heading,.console-shell:has(.quiz-classroom) .preview-banner{display:none}.console-shell:has(.quiz-classroom) .console-topbar{margin-bottom:16px}.console-shell:has(.quiz-classroom) .topbar-date,.console-shell:has(.quiz-classroom) .topbar-meta>b{display:none}.quiz-classroom{gap:12px}.quiz-directory{border:0;border-radius:24px;padding:48px;color:#fff;background:linear-gradient(120deg,#203b34,#1b3534 50%,#29364f);box-shadow:none}.quiz-directory:before{display:none}.quiz-directory>header{border:2px solid rgba(255,255,255,.18);border-radius:19px;padding:30px 34px;background:#ffffff0d}.quiz-directory>header h2{font-size:clamp(32px,4vw,42px);font-weight:950}.quiz-directory>header>div:last-child{min-width:185px;border:1px solid rgba(255,232,163,.3);border-radius:16px;padding:14px 18px;background:#ffe8a31a;text-align:left}.quiz-directory-toolbar,.quiz-directory-toolbar span{color:#fff}.quiz-directory-grid{padding-bottom:0;grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.quiz-directory-grid>button{min-height:145px;padding-left:94px}.quiz-directory-grid>button small{color:var(--muted)}.quiz-directory-empty,.quiz-directory-empty h3{color:#fff}.quiz-directory-empty p{color:#d1e0dc}.topbar-return{min-height:46px;border:2px solid var(--line);border-radius:10px;padding:8px 18px;background:#fff;font-size:15px;font-weight:950}.records-heading,.records-summary>div,.classroom-record-board,.classroom-record-board.answers,.record-seat,.records-save-bar,.admin-context,.class-list-card,.import-drawer,.join-card,.review-card,.student-complete{border:3px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.record-seat-grid{gap:8px}.record-seat{box-shadow:3px 3px #1212121f}.record-seat-hit{background:#fff}.record-seat.gender-male .record-seat-hit{background:#dceeff}.record-seat.gender-female .record-seat-hit{background:#ffe1ec}.record-seat .answer-total,.answer-rank,.student-bank header strong,.seat-grid button b{color:var(--ink);font-family:inherit}.record-seat.missing{border-color:var(--amber);background:#fff9df;box-shadow:3px 3px 0 var(--amber)}.record-blackboard{border:3px solid var(--line);border-radius:16px;color:#fff;background:#1b3633;box-shadow:var(--shadow);letter-spacing:0}.records-summary strong{color:var(--ink);font-family:inherit;font-weight:950}.admin-section-tabs button.active{color:#fff;background:#173c34}.school-calendar-admin{display:grid;gap:14px}.school-calendar-admin-head{display:flex;padding:20px;align-items:center;justify-content:space-between;gap:20px}.school-calendar-admin-head h2{margin:2px 0 5px}.school-calendar-admin-head p:last-child{max-width:680px;margin:0;color:var(--muted)}.school-calendar-admin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.school-calendar-admin-actions button,.school-calendar-empty button{min-height:40px;border:2px solid var(--line);border-radius:9px;padding:7px 12px;background:#fff;font-size:12px;font-weight:900}.school-calendar-admin-actions .primary-action,.school-calendar-empty .primary-action{border-color:#287c62;color:#fff;background:#287c62}.school-calendar-admin-actions .danger-text{color:#98444d}.school-calendar-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.school-calendar-summary>div{display:grid;border:2px solid var(--line);border-radius:12px;padding:12px 15px;background:#fff;gap:2px}.school-calendar-summary strong{color:#1d7259;font-size:23px}.school-calendar-summary span{color:var(--muted);font-size:11px;font-weight:850}.school-calendar-list{padding:18px 20px 20px}.school-calendar-list>header{display:flex;margin:5px 0 10px;align-items:center;justify-content:space-between;gap:12px}.school-calendar-list>header h2{margin:2px 0 0}.school-calendar-list>header>span{color:var(--muted);font-weight:850}.school-calendar-rows{display:grid}.school-calendar-rows article{display:grid;min-height:70px;border-top:1px solid var(--line);padding:10px 0;grid-template-columns:82px 92px minmax(0,1fr) auto;align-items:center;gap:12px}.school-calendar-rows time{display:grid}.school-calendar-rows time b{font-size:14px}.school-calendar-rows time small,.school-calendar-rows article>div small{color:var(--muted);font-size:11px}.school-calendar-rows article>div{display:grid;min-width:0;gap:3px}.school-calendar-rows article>div small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-calendar-rows article>button{border:0;padding:7px 9px;color:#98444d;background:transparent;font-size:12px;font-weight:900}.school-calendar-empty{display:grid;padding:45px 15px;place-items:center;text-align:center}.school-calendar-empty>span{display:grid;width:54px;height:54px;border-radius:15px;place-items:center;color:#fff;background:#287c62;font-size:25px;font-weight:950}.school-calendar-empty h3{margin:13px 0 3px}.school-calendar-empty p{margin:0 0 14px;color:var(--muted)}@media(max-width:760px){.school-calendar-admin-head{align-items:stretch;flex-direction:column}.school-calendar-admin-actions{justify-content:stretch}.school-calendar-admin-actions button{flex:1}.school-calendar-summary{grid-template-columns:1fr}.school-calendar-rows article{grid-template-columns:72px 1fr auto}.school-calendar-rows article>.calendar-kind-pill{grid-column:2;grid-row:1;width:max-content}.school-calendar-rows article>div{grid-column:1 / -1}.school-calendar-rows article>button{grid-column:3;grid-row:1}}.import-drawer{border-color:var(--teal);background:#f2fff6}.answer-option{border:3px solid var(--line);border-radius:14px;box-shadow:3px 3px #1212121f}.answer-option.selected{border:3px solid var(--teal);background:#f2fff6;box-shadow:4px 4px 0 var(--teal)}.join-card h1,.question-sheet h1{font-family:inherit;font-weight:950}.student-shell{background:#f3f7f5}@media(max-width:1100px){.console-shell{grid-template-columns:255px minmax(0,1fr)}.nav-item{min-height:64px}.nav-item strong{font-size:14px}.topbar-meta b{display:none}}@media(max-width:900px){.console-shell{display:block;margin:8px;padding:8px 8px 80px}.console-sidebar{position:fixed;inset:auto 0 0;z-index:40;width:100%;height:72px;border:3px solid var(--line);border-radius:16px 16px 0 0;padding:4px;overflow:hidden}.console-sidebar>.wordmark,.console-sidebar .class-context,.console-sidebar .sidebar-foot{display:none}.console-sidebar nav{display:flex;height:100%;border:0;padding:0;overflow-x:auto;gap:5px}.console-sidebar nav:before,.nav-section{display:none}.console-sidebar nav>div{flex:0 0 auto}.nav-item{display:flex;width:72px;height:62px;min-height:0;border:2px solid var(--line);border-radius:11px;padding:4px;flex-direction:column;justify-content:center;gap:2px}.nav-item>span{width:26px;height:26px;border:0;background:transparent}.nav-item>span svg{width:22px;height:22px}.nav-item strong{font-size:10px}.nav-item.has-submenu i{display:none}.nav-submenu{position:fixed;bottom:80px;left:8px;z-index:50;width:235px;border:3px solid var(--line);border-radius:12px;padding:6px;background:#fff}.console-topbar{min-height:85px;padding:12px}.console-topbar h1{font-size:25px}.topbar-meta{gap:6px}.topbar-date{display:none}.topbar-class{min-width:135px}.topbar-class select{max-width:170px;padding:7px}.preview-banner{margin-bottom:8px}.console-shell:has(.quiz-classroom){padding-bottom:8px}.quiz-directory{padding:22px}.quiz-directory>header{padding:20px}.quiz-directory-grid{grid-template-columns:1fr;padding:10px 0 0}}@media(max-width:560px){.console-topbar{align-items:start;gap:8px}.topbar-class{min-width:120px;font-size:10px}.topbar-class select{max-width:130px;min-height:40px;font-size:11px}.console-page-heading{min-height:74px}.homeroom-stats{gap:9px}.homeroom-stats>div{min-height:76px}}@media(min-width:901px){.console-shell{grid-template-columns:232px minmax(0,1fr);gap:10px;margin:10px;padding:10px;min-height:calc(100vh - 20px)}.console-sidebar{top:10px;height:calc(100vh - 40px);padding:7px;gap:8px}.console-sidebar .wordmark{min-height:64px;padding:4px 5px;gap:8px}.console-sidebar .wordmark>span:first-child{width:42px;height:42px;font-size:21px;border-radius:11px}.wordmark-copy small{font-size:10px}.wordmark-copy b{font-size:22px}.console-sidebar nav{padding:8px;gap:6px}.nav-section{margin-top:4px;font-size:10px}.nav-item{min-height:53px;border-width:2px;border-radius:12px;padding:6px;grid-template-columns:36px minmax(0,1fr) auto;gap:8px}.nav-item>span{width:35px;height:35px;border-width:2px;border-radius:9px}.nav-item>span svg{width:20px;height:20px}.nav-item strong{font-size:13px}.sidebar-foot{padding:8px}.sidebar-foot button{min-height:30px;font-size:11px}.nav-submenu>button{min-height:42px}}.console-topbar{min-height:72px;margin-bottom:9px;padding:9px 14px;border-width:3px}.console-topbar h1{font-size:clamp(23px,2.4vw,30px)}.console-topbar small{font-size:10px}.topbar-class{min-width:160px;font-size:10px}.topbar-class select{min-height:38px;border-width:2px;padding:6px 8px;font-size:12px}.topbar-meta b{min-height:38px;border-width:2px;padding:5px 8px;font-size:11px}.console-page-heading{min-height:47px;margin-bottom:10px;border-width:2px;padding:13px 13px 8px;border-radius:12px}.console-page-heading h2{font-size:17px}.student-records-layout{grid-template-columns:205px minmax(0,1fr);gap:10px}.student-records-directory{top:10px}.student-records-directory>header{padding:15px 10px 6px}.student-records-directory h2{font-size:17px}.student-records-directory>header>small{right:10px;bottom:9px;font-size:10px}.student-record-search{margin:0 9px 7px;font-size:11px}.student-record-search input{min-height:35px;padding:5px 8px;border-width:2px;font-size:12px}.student-record-list{padding:2px 6px 7px}.student-record-list>button{min-height:50px;padding:5px;grid-template-columns:27px minmax(0,1fr) auto;gap:5px}.student-record-number{width:26px;height:26px;font-size:10px}.student-record-name b{font-size:12px}.student-record-name small,.student-record-flags small{font-size:9px}.student-records-main,.student-record-detail{gap:9px}.student-record-profile{min-height:80px;padding:16px 14px 10px}.student-record-profile h2{margin:4px 0;font-size:22px}.student-record-profile h2 span{width:32px;height:32px;font-size:12px}.student-record-tabs{padding:4px}.student-record-tabs button{min-height:34px;padding:5px 10px;font-size:12px}.student-record-metrics>div{min-height:68px;padding:8px 10px}.student-record-metrics strong{font-size:26px}.student-record-history{min-height:170px;padding:15px 14px 12px}.student-record-history>header{margin-bottom:7px}.student-record-history h3{margin:5px 0 0;font-size:17px}.homeroom-register-layout,.homeroom-homework-layout,.homeroom-duty-layout{gap:10px}.homeroom-register-head,.homeroom-duty-head{padding:16px 14px 10px;gap:10px}.homeroom-register-head h2,.homeroom-homework-setup h2,.homeroom-duty-head h2{margin:2px 0;font-size:21px}.homeroom-register-head .register-actions input{min-height:38px;border-width:2px;padding:6px 8px}.register-actions button{min-height:38px}.homeroom-stats{gap:9px}.homeroom-stats>div{min-height:64px;padding:8px 11px}.homeroom-stats strong{font-size:27px}.homeroom-roster-card,.homeroom-homework-board{padding:12px}.homeroom-roster-card>header,.homeroom-homework-board>header{margin-bottom:9px}.homeroom-roster-card h2,.homeroom-homework-board h2{font-size:17px}.homeroom-student-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:8px}.homeroom-student-card{min-height:72px;padding:7px}.homeroom-student-card .student-status{padding:3px 5px}.homeroom-homework-setup{padding:15px 14px 11px;gap:5px 12px}.homeroom-homework-history{padding:12px}.homeroom-homework-setup .custom-subject-form input,.homeroom-homework-setup select{min-height:38px;border-width:2px;padding:6px 8px}.today-body>p:not(.eyebrow),.records-heading p:not(.eyebrow),.quiz-directory>header p,.quiz-session-setup>p,.admin-context p:not(.eyebrow){display:none}@media(max-width:900px){.student-records-layout{grid-template-columns:1fr}.student-records-directory{position:static}.student-record-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.console-topbar{min-height:65px}.console-page-heading{min-height:44px}.student-record-list,.homeroom-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.room-card{display:flex;flex-direction:column}.room-card>header{flex:0 0 auto}.room-card .seat-grid{width:100%;transform:none}.room-card .seat-grid button>*{transform:none}.room-card.student-view .blackboard{order:1}.room-card.student-view .seat-grid{order:2}.room-card.teacher-view .seat-grid{order:1;margin-top:16px}.room-card.teacher-view .blackboard{order:2;margin:16px auto 0}.seat-grid>button.seating-aisle-toggle,.seat-grid>button.seating-aisle-toggle:hover{border:0;border-radius:8px;background:#edf2ee;box-shadow:none}.seat-grid>button.seating-aisle-toggle.active{background:#e5f4ed}.seat-grid>button.seating-aisle-toggle:not(.active){background:transparent}.seat-grid>button.seating-aisle-toggle:not(.active):hover{background:#edf2ee}.seat-grid>button.seating-aisle-toggle.vertical:not(.active){width:24px}.seat-grid>button.seating-aisle-toggle.horizontal:not(.active){height:24px}.seat-grid>button.seating-aisle-toggle:focus-visible>span{outline:3px solid #edb83e;outline-offset:2px}.attendance-seat-board{display:flex;min-width:0;flex-direction:column}.attendance-seat-scroller{width:100%;overflow-x:auto;padding:3px 3px 10px}.attendance-seat-grid{display:grid;min-width:620px;align-items:stretch}.attendance-seat-board.student-view .blackboard{order:1;margin:3px auto 16px}.attendance-seat-board.student-view .attendance-seat-scroller{order:2}.attendance-seat-board.teacher-view .attendance-seat-scroller{order:1}.attendance-seat-board.teacher-view .blackboard{order:2;margin:16px auto 3px}.attendance-seat-student{position:relative;display:grid;min-height:84px;border:2px solid var(--line);border-radius:10px;padding:8px;color:var(--ink);background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:3px 6px;text-align:left;box-shadow:2px 2px #1212121a}.attendance-seat-student.gender-male{background:#dceeff}.attendance-seat-student.gender-female{background:#ffe1ec}.attendance-seat-student .student-number{display:grid;width:27px;height:27px;border-radius:7px;place-items:center;background:#ffffffc7;font-size:11px;font-weight:900}.attendance-seat-student b{overflow-wrap:anywhere;font-size:13px}.attendance-seat-student em{display:grid;width:21px;height:21px;border:1px solid currentColor;border-radius:50%;place-items:center;font-size:10px;font-style:normal;font-weight:900}.attendance-seat-student .student-status{grid-column:1 / -1;border-radius:6px;padding:3px 5px;color:#256e50;background:#e4f7e8eb;font-size:11px;font-weight:900;text-align:center}.attendance-seat-student.late{border-color:#c78322;background:#fff0c9}.attendance-seat-student.late .student-status{color:#7f4e0d;background:#ffe1a0}.attendance-seat-student.absent{border-color:#b6443e;background:#ffe0dc}.attendance-seat-student.absent .student-status{color:#8f302c;background:#f7c4bf}.attendance-seat-student:focus-visible{outline:3px solid #1d6b55;outline-offset:2px}.attendance-seat-empty{display:grid;min-height:84px;border:2px dashed #d7ded8;border-radius:10px;place-items:center;color:#7b887f;background:#f6f8f6;font-size:11px}.attendance-seat-board.dense .attendance-seat-student,.attendance-seat-board.dense .attendance-seat-empty{min-height:68px;padding:6px}.attendance-seat-board.dense .attendance-seat-student{grid-template-columns:23px minmax(0,1fr) 19px;gap:2px 4px}.attendance-seat-board.dense .attendance-seat-student .student-number{width:23px;height:23px;font-size:10px}.attendance-seat-board.dense .attendance-seat-student b{font-size:11px;line-height:1.1}.attendance-seat-board.dense .attendance-seat-student em{width:19px;height:19px;font-size:9px}.attendance-seat-board.dense .attendance-seat-student .student-status{padding:2px 3px;font-size:10px}.attendance-unseated{order:3;margin-top:16px;border-top:2px dashed #d8e1d8;padding-top:12px}.attendance-unseated>b{display:block;margin-bottom:9px;color:#4f6758;font-size:12px}.seating-layout.bank-collapsed{grid-template-columns:1fr}.student-bank.collapsed{padding:9px 12px}.student-bank-toggle{display:grid;width:100%;min-height:44px;border:0;padding:0;color:var(--ink);background:transparent;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;text-align:left}.student-bank-toggle>span{display:grid;gap:2px}.student-bank-toggle span small,.student-bank-toggle>small{color:var(--muted);font-size:11px}.student-bank-toggle strong{display:grid;min-width:30px;height:30px;place-items:center;border-radius:50%;color:#fff;background:var(--teal);font:750 12px ui-monospace,monospace}.student-bank.collapsed .student-bank-toggle>small{border:1px solid #b9d1c0;border-radius:7px;padding:6px 9px;color:#245f4b;background:#f4faf5;font-weight:850}.student-bank-list{margin-top:11px}.seat-grid button.occupied.gender-male{background:#dceeff}.seat-grid button.occupied.gender-female{background:#ffe1ec}.subject-monitor-card{display:grid;gap:8px;align-content:start;border:1px solid #e0eade;border-radius:10px;padding:10px;background:#f8fbf6}.subject-monitor-heading,.subject-monitor-extra>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.subject-monitor-heading b{font-size:14px}.subject-monitor-heading button,.subject-monitor-extra button{border:0;padding:3px 0;background:transparent;color:#23735b;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}.subject-monitor-heading button:hover,.subject-monitor-extra button:hover{text-decoration:underline}.subject-monitor-extra{display:grid;gap:6px;border-top:1px dashed #cbded2;padding-top:8px}.subject-monitor-extra span{color:#355c47;font-size:11px;font-weight:750}.subject-monitor-card select{min-height:38px;border-width:2px;padding:6px 8px;font-size:13px}.month-calendar{padding:16px}.month-calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px}.month-calendar-head h2{margin:0;text-align:center;font-size:21px;font-weight:950}.calendar-arrow{display:grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:9px;padding:0;background:#fff;color:#28715a}.calendar-arrow svg{display:block}.month-calendar-actions{display:flex;margin:8px 0 12px;justify-content:flex-end;align-items:center;gap:8px}.month-calendar-actions button{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:6px 12px;background:#fff;font-size:12px;font-weight:800}.month-calendar-actions button.primary-action{border-color:#287c62;background:#287c62;color:#fff}.month-calendar-actions select{width:140px;min-height:36px;padding:5px 7px;font-size:12px}.month-calendar-legend{display:flex;margin-bottom:12px;flex-wrap:wrap;gap:5px 11px;font-size:11px;font-weight:700}.month-calendar-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.calendar-dot{width:9px;height:9px;border-radius:50%;background:#6f8394}.calendar-dot.publicHoliday{background:#c75d66}.calendar-dot.schoolHoliday{background:#d77745}.calendar-dot.specialClass{background:#277b89}.calendar-dot.specialDay{background:#805886}.calendar-dot.exam{background:#7a6997}.calendar-dot.activity{background:#946b47}.calendar-dot.school{background:#805886}.calendar-dot.homework{background:#2f8c77}.calendar-dot.assessment{background:#b54b62}.calendar-dot.dictation{background:#a86728}.calendar-dot.reminder{background:#567ba0}.month-calendar-scroll{overflow-x:auto}.month-calendar-grid{display:grid;min-width:700px;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.month-weekday{border:1px solid var(--line);border-radius:8px;padding:7px;background:#f1f7f6;text-align:center;font-size:12px;font-weight:900}.month-weekday.sunday{border-color:#e3b1b5;color:#aa3541;background:#fff2f3}.month-day{min-height:118px;border:1px solid var(--line);border-radius:10px;padding:7px;background:#fff}.month-day.muted{background:#f8faf9}.month-day.today{border-color:#287f66;box-shadow:inset -4px 0 #287f66}.month-day-number{display:grid;width:25px;height:25px;margin:0 0 5px;border:1px solid var(--line);border-radius:8px;padding:0;place-items:center;background:#f3f7f6;font-size:12px;font-weight:950}.calendar-workspace .month-day-number{max-width:100%}.month-day.sunday .month-day-number{border-color:#e3b1b5;color:#b33642;background:#fff0f1}.month-day.today .month-day-number{border-color:#287f66;background:#287f66;color:#fff}.month-day.sunday.today .month-day-number{border-color:#b93845;background:#c84f5b;color:#fff}.month-day.public-holiday{border-color:#dc8b92;background:#fff6f6;box-shadow:inset 0 3px #c84f5b}.month-day.public-holiday .month-day-number,.month-day.public-holiday.today .month-day-number{border-color:#b93845;color:#fff;background:#c84f5b}.month-day-events{display:grid;align-content:start;gap:3px}.month-event{display:grid;width:100%;border:1px solid #c7d5cf;border-radius:6px;padding:4px 6px;background:#f3f7f5;text-align:left;gap:1px;overflow:hidden}.month-event>span{display:flex;justify-content:space-between;gap:3px;font-size:9px;font-weight:850}.month-event em{font-style:normal;font-weight:700}.month-event strong{font-size:11px;line-height:1.2;overflow-wrap:anywhere}.month-event small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:10px;line-height:1.25;overflow-wrap:anywhere}.month-event.publicHoliday{border-color:#e1a0a4;background:#fff0f1;color:#853a44}.month-event.schoolHoliday{border-color:#e5b184;background:#fff3e7;color:#86502c}.month-event.specialClass{border-color:#9bbfc4;background:#eaf6f7;color:#275d69}.month-event.specialDay,.month-event.school{border-color:#c8aecb;background:#f7eff8;color:#684470}.month-event.exam{border-color:#bdafd0;background:#f3eff9;color:#5d4b7e}.month-event.activity{border-color:#cdb69b;background:#f8f2e9;color:#705437}.month-event.homework{border-color:#9fc9b7;background:#ebf8f1;color:#27664f}.month-event.assessment{border-color:#d5a1ac;background:#fff0f3;color:#8a3c50}.month-event.dictation{border-color:#d7b583;background:#fff6e9;color:#805225}.month-event.reminder{border-color:#adc5d9;background:#eef5fa;color:#3c6384}.calendar-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;padding:20px;place-items:center;background:#1a2a2573}.calendar-modal{width:min(460px,100%);max-height:min(720px,90vh);overflow-y:auto;padding:18px 22px 22px}.calendar-modal>header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.calendar-modal>header h2{margin:0;font-size:19px}.calendar-modal>header button{border:0;background:transparent;font-size:24px}.calendar-modal form{display:grid;gap:11px}.calendar-modal form label{display:grid;gap:4px;color:#4c6259;font-size:12px;font-weight:800}.calendar-modal form input,.calendar-modal form select,.calendar-modal form textarea{padding:9px 10px;font-size:14px}.calendar-modal form>button{min-height:40px;margin-top:4px}.calendar-detail>p:first-child{color:#5a6e64;font-size:12px}.calendar-detail h3{margin:12px 0 6px;font-size:20px}.calendar-detail>p{margin-bottom:12px}.calendar-kind-pill{display:inline-flex;border-radius:6px;padding:4px 8px;background:#eaf4ee;color:#2a6a51;font-size:11px;font-weight:850}.calendar-detail-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:12px}.calendar-detail-actions button{border:1px solid var(--line);border-radius:8px;padding:7px 13px;background:#fff;font-size:12px;font-weight:800}.calendar-detail-actions .danger-text{color:#a1444b}.calendar-source-note{border-top:1px dashed var(--line);padding-top:8px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.month-calendar-actions .calendar-undo-import{color:#98444d}.calendar-import-backdrop{position:fixed;inset:0;z-index:110;display:grid;padding:18px;place-items:center;background:#1a2a2580}.calendar-import-dialog{width:min(1180px,100%);max-height:94vh;overflow-y:auto;padding:18px 20px 20px}.calendar-import-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.calendar-import-dialog>header h2{margin:2px 0 0;font-size:22px}.calendar-import-dialog>header button{border:0;padding:3px 8px;background:transparent;font-size:26px}.calendar-import-intro{margin:8px 0 14px;color:var(--muted);font-size:13px}.calendar-import-source{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(230px,1fr);gap:10px;align-items:end}.calendar-import-source>label:first-child{display:grid;gap:5px;color:#40584e;font-size:12px;font-weight:850}.calendar-import-source input{min-height:42px;padding:8px 10px}.calendar-file-picker{display:flex;min-height:58px;border:2px dashed #7ea897;border-radius:10px;padding:8px 12px;align-items:center;justify-content:center;flex-direction:column;background:#f4faf7;color:#21664f;font-size:14px;font-weight:900;cursor:pointer}.calendar-file-picker span{color:var(--muted);font-size:11px;font-weight:700}.calendar-import-file{grid-column:1 / -1;display:flex;border:1px solid var(--line);border-radius:9px;padding:8px 10px;align-items:center;gap:8px;background:#fff}.calendar-import-file>span{display:grid;min-width:0;margin-right:auto}.calendar-import-file b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-import-file small{color:var(--muted)}.calendar-import-file button,.calendar-import-summary button,.calendar-import-dialog footer button{min-height:38px;border:1px solid var(--line);border-radius:8px;padding:6px 11px;background:#fff;font-size:12px;font-weight:850}.calendar-import-status,.calendar-import-warnings{margin:12px 0 0;border-radius:9px;padding:10px 12px;background:#edf7f2;color:#245d49;font-size:12px}.calendar-import-warnings{background:#fff6e8;color:#6f4b22}.calendar-import-warnings ul{margin:5px 0 0;padding-left:20px}.calendar-import-summary{display:flex;margin-top:14px;border-top:1px solid var(--line);padding:12px 0 8px;align-items:center;gap:12px}.calendar-import-summary span{margin-right:auto;color:var(--muted);font-size:12px}.calendar-import-review-summary{margin-bottom:8px;border:1px solid #d7b979;border-radius:10px;padding:9px 11px;background:#fff9e8;color:#624d20}.calendar-import-review-summary summary{cursor:pointer;font-weight:850}.calendar-import-review-summary ol{margin:8px 0 0;padding-left:22px}.calendar-import-review-summary li{margin:5px 0}.calendar-import-review-summary a{color:inherit;font-weight:800;text-decoration:underline}.calendar-import-review-summary span{display:block;font-size:11px}.calendar-import-table-wrap{max-height:52vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.calendar-import-table{width:100%;min-width:980px;border-collapse:collapse;font-size:12px}.calendar-import-table th{position:sticky;top:0;z-index:1;padding:8px;background:#234f40;color:#fff;text-align:left}.calendar-import-table th:first-child{width:54px;text-align:center}.calendar-import-table th:nth-child(2){width:160px}.calendar-import-table th:nth-child(4){width:150px}.calendar-import-table th:last-child{width:235px}.calendar-import-table td{border-top:1px solid var(--line);padding:8px;vertical-align:top}.calendar-import-table tr{scroll-margin-top:12px}.calendar-import-table tr.needs-review{background:#fffaf1}.calendar-import-table td:first-child{text-align:center}.calendar-import-table td:first-child input{width:20px;height:20px}.calendar-import-table label{display:grid;gap:2px;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:800}.calendar-import-table input:not([type=checkbox]),.calendar-import-table select,.calendar-import-table textarea{width:100%;min-height:36px;border:1px solid #aebfb7;border-radius:6px;padding:6px 7px;background:#fff;color:var(--ink);font:inherit}.calendar-import-table textarea{margin-top:5px;resize:vertical}.calendar-import-table td:last-child{overflow-wrap:anywhere}.calendar-import-table td:last-child>small{display:block;margin-top:5px;color:var(--muted)}.calendar-import-table ul{margin:5px 0;padding-left:17px;color:#8d3f47}.calendar-import-table details{margin-top:6px}.calendar-import-table summary{color:#276d56;font-weight:800;cursor:pointer}.calendar-import-table details p{margin:4px 0 0;color:var(--muted)}.calendar-confidence{display:inline-flex;border-radius:999px;padding:3px 7px;background:#eef3f1;font-size:10px;font-weight:900}.calendar-confidence.high{background:#e6f5ed;color:#24624c}.calendar-confidence.medium{background:#fff0ce;color:#72521b}.calendar-confidence.low{background:#fde8e9;color:#883942}.calendar-import-dialog>footer{display:flex;margin-top:12px;justify-content:flex-end;gap:8px}.calendar-import-dialog footer .primary-action{border-color:#287c62;background:#287c62;color:#fff}@media(max-width:760px){.month-calendar{padding:12px}.month-calendar-actions{flex-wrap:wrap}.month-calendar-actions select{flex:1}.month-calendar-legend{max-height:48px;overflow-y:auto}.month-day{min-height:105px}.calendar-import-backdrop{padding:6px}.calendar-import-dialog{padding:14px}.calendar-import-source{grid-template-columns:1fr}.calendar-import-file{grid-column:auto;flex-wrap:wrap}.calendar-import-summary{align-items:flex-start;flex-direction:column}.calendar-import-summary span{margin-right:0}}.tool-settings-layout{display:grid;gap:12px}.tool-settings-head{display:flex;padding:17px 16px 13px;align-items:center;justify-content:space-between;gap:12px}.tool-settings-head h2{margin:0;font-size:21px}.tool-settings-head span{color:var(--muted);font-size:12px;font-weight:800}.tool-settings-head>div:last-child{display:flex;gap:8px}.tool-settings-head button:not(.primary-action){min-height:38px;border:2px solid var(--line);border-radius:9px;padding:6px 11px;background:#fff;font-size:12px;font-weight:900}.tool-settings-head .primary-action{min-height:38px;font-size:12px}.tool-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));align-items:start;gap:12px}.tool-settings-group{padding:14px}.tool-settings-group header{display:flex;margin:8px 0 11px;justify-content:space-between;align-items:center}.tool-settings-group h3{margin:0;font-size:17px}.tool-settings-group header small{color:var(--muted);font-size:11px;font-weight:800}.tool-settings-group>div{display:grid;gap:8px}.tool-setting-row{display:grid;width:100%;min-height:58px;border:2px solid var(--line);border-radius:12px;padding:6px 10px;color:var(--ink);background:#f2fff6;grid-template-columns:36px 1fr 38px;align-items:center;gap:9px;text-align:left}.tool-setting-row.off{color:var(--muted);background:#f6f8f6}.tool-setting-row b{font-size:13px}.tool-setting-icon{display:grid;width:33px;height:33px;border:1px solid var(--line);border-radius:8px;place-items:center;background:#ffe8a3}.tool-setting-icon svg{width:19px;height:19px}.tool-setting-row.off .tool-setting-icon{background:#e7ebe8}.tool-setting-switch{position:relative;width:37px;height:21px;border-radius:999px;background:var(--teal)}.tool-setting-switch:after{content:"";position:absolute;top:3px;right:3px;width:15px;height:15px;border-radius:50%;background:#fff}.tool-setting-row.off .tool-setting-switch{background:#aebcb4}.tool-setting-row.off .tool-setting-switch:after{right:auto;left:3px}.absence-count{display:inline-grid;min-width:24px;height:24px;margin-left:5px;border-radius:999px;place-items:center;color:#a8443d;background:#fbe3df;font-size:12px;vertical-align:middle}@media(max-width:1200px){.tool-settings-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:900px){.tool-settings-grid{grid-template-columns:1fr}}@media(max-width:560px){.tool-settings-head{align-items:stretch;flex-direction:column}.tool-settings-head>div:last-child{justify-content:flex-end}}.admin-quiz-grid>div:first-child{display:grid;align-content:start;gap:1rem}.ai-generate textarea{font:inherit;min-height:130px}.ai-generate label{display:block;margin-top:.65rem}.ai-generate label textarea,.ai-generate label select{display:block;width:100%;margin-top:.35rem}.ai-generate>small{display:block;margin-top:.55rem;color:var(--muted)}.console-page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.export-heading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.record-output-actions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.record-export-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:34px;border:1px solid #a9cbbb;border-radius:8px;padding:5px 15px;color:#245d4a;background:#f4fbf7;font-size:13px;font-weight:850}.record-export-trigger:hover{border-color:#317960;background:#e6f4ec}.student-record-profile-actions,.quiz-export-actions{display:flex;align-items:center;gap:10px}.record-export-backdrop{position:fixed;inset:0;z-index:200;display:grid;padding:18px;place-items:center;background:#1a2a257a}.record-export-dialog{width:min(470px,100%);padding:20px}.record-export-dialog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.record-export-dialog>header h2{margin:0;font-size:19px}.record-export-close{width:32px;height:32px;border:0;border-radius:7px;background:transparent;font-size:24px;line-height:1}.record-export-formats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.record-export-formats button{display:grid;min-height:78px;place-content:center;gap:4px;border:1px solid #cedbd3;border-radius:10px;background:#fff;text-align:center}.record-export-formats button:hover{border-color:#317960;background:#f3fbf6}.record-export-formats button strong{font-size:15px}.record-export-formats button small{color:#58675e;font-size:11px}.record-export-formats:has(>button:only-child){grid-template-columns:1fr}.record-export-progress{margin:12px 0 0;color:#52675c;font-size:12px}.tier-card .tier-data-notice{margin:0 0 18px;border-left:3px solid #a9bcae;padding-left:12px;color:#465b50;font-size:13px;line-height:1.7}.beta-feedback-trigger{position:fixed;right:20px;bottom:20px;z-index:30;padding:10px 16px;border:1px solid #aac2b4;border-radius:22px;background:#fff;color:#215942;box-shadow:0 3px 12px #1b3e2720}@media(min-width:901px){body:has(.beta-feedback-trigger) .records-save-bar{padding-right:180px}}.beta-feedback-backdrop{z-index:3100}.beta-feedback-dialog{width:min(560px,100%);max-height:calc(100dvh - 36px);overflow:auto}.beta-feedback-privacy{color:#52675c;font-size:13px;line-height:1.7}.beta-feedback-dialog form{display:grid;gap:14px}.beta-feedback-dialog label,.beta-feedback-message{display:grid;gap:6px}.beta-feedback-dialog .beta-feedback-opt-in{display:flex;gap:8px;align-items:center}.beta-feedback-opt-in input{width:auto}.beta-feedback-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.beta-feedback-preview{padding:16px;border-radius:10px;background:#f3f7f3}.beta-feedback-preview dt{font-size:12px;color:#52675c}.beta-feedback-preview dd{margin:4px 0 14px;white-space:pre-wrap;overflow-wrap:anywhere}.beta-feedback-preview dd:last-child{margin-bottom:0}@media(max-width:560px){.student-record-profile-actions{gap:5px}.student-record-profile-actions .record-export-trigger{padding-inline:9px}.record-export-dialog{padding:16px}}@media(forced-colors:active){.paper-card,button,input,select,textarea{border-color:CanvasText}.nav-item.active,.answer-option.selected,.student-record-tabs button.active{outline:3px solid Highlight;outline-offset:2px}.quiz-progress span,.trial-meter span{background:Highlight}}.console-shell.calendar-focus{grid-template-columns:minmax(0,1fr)}.calendar-focus .console-main{grid-column:1}.calendar-menu-trigger{display:inline-flex;width:46px;min-width:46px;min-height:46px;flex:0 0 46px;border:3px solid var(--line);border-radius:11px;padding:0;align-items:center;justify-content:center;color:var(--ink);background:#ffe8a3;box-shadow:3px 3px 0 var(--line);font-weight:950}.calendar-menu-trigger>span{font-size:22px;line-height:1}.calendar-menu-trigger:hover{background:#ffdda1;transform:translate(-1px,-1px)}.calendar-focus .topbar-title{margin-right:auto}.calendar-menu-backdrop{position:fixed;inset:0;z-index:89;border:0;padding:0;background:#1a2a257a;cursor:default}.console-shell.calendar-focus .calendar-sidebar-drawer{position:fixed;inset:14px auto 14px 14px;z-index:90;display:flex;width:min(310px,calc(100vw - 28px));height:auto;max-height:calc(100vh - 28px)}.calendar-sidebar-close{position:absolute;top:10px;right:10px;z-index:2;display:grid;width:42px;height:42px;border:3px solid var(--line);border-radius:11px;padding:0;place-items:center;color:var(--ink);background:#fff;box-shadow:2px 2px 0 var(--line);font-size:27px;font-weight:900;line-height:1}.calendar-sidebar-drawer .wordmark{padding-right:50px}@media(max-width:900px){.console-shell.calendar-focus{display:block;padding-bottom:8px}.console-shell.calendar-focus .calendar-sidebar-drawer{inset:8px auto 8px 8px;width:min(320px,calc(100vw - 16px));height:auto;max-height:calc(100vh - 16px);padding:8px}.calendar-sidebar-drawer>.wordmark,.calendar-sidebar-drawer .class-context,.calendar-sidebar-drawer .sidebar-foot{display:flex}.calendar-sidebar-drawer .class-context{display:none}.calendar-sidebar-drawer nav{display:grid;height:auto;border:1px solid var(--line);padding:8px;overflow-y:auto;gap:6px}.calendar-sidebar-drawer nav:before,.calendar-sidebar-drawer .nav-section{display:block}.calendar-sidebar-drawer nav>div{flex:initial}.calendar-sidebar-drawer .nav-item{display:grid;width:100%;height:auto;min-height:53px;padding:6px;grid-template-columns:36px minmax(0,1fr) auto;gap:8px}.calendar-sidebar-drawer .nav-item>span{width:35px;height:35px;border:2px solid var(--line);background:#ffe8a3}.calendar-sidebar-drawer .nav-item strong{font-size:13px}}@media(min-width:901px)and (max-width:1366px)and (max-height:900px){.console-topbar{min-height:64px;margin-bottom:6px;padding:6px 12px}.console-topbar h1{font-size:24px}.console-page-heading{min-height:42px;margin-bottom:7px;padding:11px 12px 6px}.console-page-heading h2{font-size:16px}.groups-workspace{gap:7px}.groups-page-tabs button{min-height:44px}.draw-page,.group-page{padding:11px}.draw-page>header,.group-page>header{margin-bottom:8px}.draw-page>header h2,.group-page>header h2{font-size:19px}.draw-stage{min-height:238px;padding:14px 24px;grid-template-columns:110px minmax(240px,1fr) 165px;gap:18px}.draw-character{width:68px;height:112px}.draw-character:before,.draw-character:after{top:61px;width:35px}.draw-character:before{right:52px}.draw-character:after{left:52px}.draw-student strong{font-size:66px}.draw-student h3{margin:7px 0 2px;font-size:25px}.draw-round{padding:11px}.draw-page>footer{margin-top:10px}.group-empty{min-height:235px}.group-page .group-board{max-height:365px;overflow-y:auto}.homeroom-register-head{padding:8px 12px 6px}.homeroom-register-head h2{font-size:19px}.homeroom-register-head p{display:none}.homeroom-stats>div{min-height:52px;padding:5px 10px}.homeroom-stats strong{font-size:24px}.homeroom-roster-card{padding:9px 11px}.homeroom-roster-card>header{margin-bottom:3px}.attendance-seat-scroller{padding-bottom:4px}.attendance-seat-board.dense .attendance-seat-student,.attendance-seat-board.dense .attendance-seat-empty{min-height:52px;padding:4px}.attendance-seat-board.dense .attendance-seat-student .student-status{padding:1px 3px}.attendance-seat-board.teacher-view .blackboard{margin:4px auto 0;padding-block:3px}.seating-layout{gap:10px}.room-card{padding:10px}.room-card>header h2{font-size:18px}.room-hint{display:none}.room-card.teacher-view .seat-grid,.room-card.teacher-view .blackboard{margin-top:8px}.seat-grid button{min-height:60px}.month-calendar{padding:11px}.month-calendar-head{grid-template-columns:34px 1fr 34px}.month-calendar-head h2{font-size:19px}.month-arrow{width:34px;height:34px}.month-calendar-actions{margin:5px 0 7px}.month-calendar-actions button,.month-calendar-actions select{min-height:34px}.month-calendar-legend{margin-bottom:7px}.month-calendar-grid{gap:4px}.month-weekday{padding:4px}.month-day{min-height:82px;padding:5px}.month-day-number{width:22px;height:22px;margin-bottom:3px}.month-event{padding:3px 5px}.student-records-layout{height:calc(100dvh - 175px);align-items:stretch}.student-records-directory{position:static;display:flex;max-height:100%;flex-direction:column}.student-record-list{min-height:0;max-height:none;flex:1}.student-records-main{min-height:0;max-height:100%;overflow-y:auto;padding-right:3px}.student-record-profile.class-overview-profile{min-height:84px}.class-overview-profile p:last-child{display:none}.class-record-metrics>div{min-height:82px;padding:9px 11px}.class-record-metrics strong{font-size:28px}.class-record-attention,.class-record-subject-chart,.class-record-recent{padding:11px}.class-record-attention>header,.class-record-subject-chart>header,.class-record-recent>header{margin-bottom:6px}.class-record-attention button{min-height:42px}.class-record-recent article{min-height:43px;padding-block:4px}.homeroom-duty-layout{height:calc(100dvh - 175px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.homeroom-duty-head,.homeroom-duty-layout>.form-error{grid-column:1 / -1}.homeroom-duty-head{padding:9px 12px}.homeroom-duty-section{min-height:0;padding:11px 12px;overflow-y:auto}.homeroom-duty-section>header{margin-bottom:7px}.homeroom-duty-grid{grid-template-columns:repeat(2,minmax(155px,1fr));gap:7px}.homeroom-duty-grid label,.subject-monitor-card{padding:7px}.homeroom-duty-section .custom-subject-form{margin-top:8px}.tool-settings-layout{max-height:calc(100dvh - 175px);overflow-y:auto;padding-right:3px}}.landing-legal{display:flex;margin-top:.75rem;flex-wrap:wrap;gap:.5rem 1rem;font-size:.78rem}.landing-legal a{color:var(--teal);text-underline-offset:3px}.join-card .student-privacy-check,.legal-check{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:.65rem;font-size:.86rem;line-height:1.55}.join-card .student-privacy-check input,.legal-check input{width:22px;height:22px;margin:.1rem 0 0}.student-privacy-check a,.legal-check a{margin:0 .2rem;color:var(--teal);font-weight:850;text-underline-offset:3px}.legal-shell{min-height:100vh;padding:24px;background:#f3f7f5}.legal-shell>header{display:flex;max-width:980px;margin:0 auto 18px;align-items:center;justify-content:space-between;gap:18px}.legal-shell>header nav{display:flex;flex-wrap:wrap;gap:10px 18px}.legal-shell>header nav a{color:var(--teal);font-weight:850}.legal-document{max-width:880px;margin:auto;border:3px solid var(--line);border-radius:16px;padding:clamp(22px,5vw,54px);background:#fff;box-shadow:var(--shadow);line-height:1.72}.legal-document h1{margin-top:0;font-size:clamp(1.8rem,4vw,2.6rem)}.legal-document h2{margin-top:2rem;font-size:1.2rem}.legal-document li{margin:.4rem 0}.legal-version{color:var(--muted);font-size:.85rem}.legal-document table{width:100%;border-collapse:collapse}.legal-document th,.legal-document td{border:1px solid var(--line);padding:.7rem;text-align:left;vertical-align:top}.legal-config-warning{border:2px solid #ad6519;border-radius:10px;padding:12px 15px;color:#5e350c;background:#fff4d8}.legal-config-warning p{margin:.25rem 0 0}.legal-gate{display:grid;min-height:100vh;padding:20px;place-items:center;background:#f3f7f5}.legal-gate>section{position:relative;width:min(680px,100%);padding:clamp(24px,5vw,48px)}.legal-gate .register-mark{position:absolute;top:24px;right:24px;display:grid;width:48px;height:48px;border:2px solid var(--red);border-radius:50%;place-items:center;color:var(--red);font-weight:950}.legal-gate .legal-check{margin:20px 0}.legal-gate .primary-action{width:100%}.legal-gate small{display:block;margin-top:12px;color:var(--muted)}.admin-workspace .roster-table>div{grid-template-columns:70px minmax(120px,1fr) 70px 75px 90px;gap:8px}.student-delete-trigger{border:0;padding:.4rem;color:var(--red);background:transparent;font-size:.72rem;font-weight:850;text-decoration:underline;text-underline-offset:3px}.student-delete-dialog{width:min(620px,100%);padding:24px}.student-delete-dialog>header{display:flex;align-items:start;justify-content:space-between;gap:15px}.student-delete-dialog>header h2{margin:.2rem 0}.student-delete-dialog>header>button{min-width:44px;min-height:44px;border:0;background:transparent;font-size:1.7rem}.student-delete-dialog>p{color:var(--muted);line-height:1.65}.student-delete-dialog label{display:grid;gap:7px;font-size:.85rem;font-weight:850}.student-delete-actions{display:flex;margin-top:18px;justify-content:flex-end;gap:10px}.student-delete-actions button{min-height:44px;border:2px solid var(--line);border-radius:9px;padding:8px 14px;background:#fff;font-weight:850}.student-delete-actions .danger-button{border-color:var(--red);color:#fff;background:var(--red)}.ai-privacy-warning{border-left:5px solid #ad6519;padding:10px 12px;color:#5e350c;background:#fff4d8;font-size:.82rem;line-height:1.5}.ai-privacy-warning b{display:block}@media(max-width:680px){.legal-shell{padding:12px}.legal-shell>header{align-items:flex-start;flex-direction:column}.legal-shell .wordmark{color:var(--ink)}.legal-document{padding:22px 16px}.legal-document table{display:block;overflow-x:auto}.admin-workspace .roster-table{overflow-x:auto}.admin-workspace .roster-table>div{min-width:560px}.student-delete-actions{flex-direction:column-reverse}}.landing-pics{display:grid;max-width:680px;margin:18px 0;border-left:5px solid var(--teal);padding:10px 12px;color:var(--muted);background:#edf6f1;gap:4px;font-size:.78rem;line-height:1.5}.landing-pics b{color:var(--ink)}.landing-pics a{width:max-content;color:var(--teal);font-weight:850}.auth-shell{display:grid;min-height:100dvh;grid-template-columns:minmax(320px,.9fr) minmax(430px,1.1fr);background:#f4f7f5}.auth-brand-panel{display:flex;min-height:100%;padding:clamp(28px,6vw,72px);flex-direction:column;justify-content:space-between;gap:48px;color:#fff;background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.16),transparent 28%),linear-gradient(145deg,#173e34,#287d5e 58%,#2e6f8a)}.auth-brand-panel .wordmark,.auth-brand-panel .wordmark .wordmark-copy{color:#fff}.auth-brand-panel .wordmark-copy small{color:#cce5db}.auth-brand-panel>div{max-width:560px}.auth-brand-panel .eyebrow{color:#bde5d5}.auth-brand-panel h1{margin:10px 0 20px;color:#fff;font-family:DFKai-SB,KaiTi,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500;line-height:1.22}.auth-brand-panel p:last-child{max-width:540px;color:#e1eee8;line-height:1.75}.auth-brand-panel ul{display:grid;margin:0;padding:0;gap:11px;list-style:none;color:#e9f4ef;font-weight:750}.auth-brand-panel li:before{content:"✓";display:inline-grid;width:24px;height:24px;margin-right:10px;border-radius:50%;place-items:center;color:#174536;background:#c9eddc;font-size:12px;font-weight:950}.auth-card{width:min(520px,calc(100% - 36px));margin:auto;border:1px solid #d4dfd9;border-radius:20px;padding:clamp(26px,5vw,48px);background:#fff;box-shadow:0 24px 65px #15362c1f}.auth-card-head>small{color:var(--teal);font-size:12px;font-weight:950;letter-spacing:.08em}.auth-card-head h2{margin:5px 0 8px;font-size:clamp(1.65rem,3vw,2.1rem)}.auth-card-head p{margin:0 0 24px;color:var(--muted);line-height:1.6}.auth-config-note{border:1px solid #d8a45d;border-radius:10px;padding:10px 12px;color:#69400e;background:#fff5df;font-size:13px;line-height:1.5}.auth-config-note b{display:block}.google-auth-button{display:flex;width:100%;min-height:50px;border:2px solid #cbd6d0;border-radius:10px;align-items:center;justify-content:center;gap:11px;color:#263c34;background:#fff;font-size:15px;font-weight:850;cursor:pointer}.google-auth-button:hover:not(:disabled){border-color:#7a9a8c;background:#f7faf8}.google-auth-button span{display:grid;width:26px;height:26px;border:1px solid #d5dcd8;border-radius:50%;place-items:center;color:#356c59;font-weight:950}.google-auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-divider{display:flex;margin:20px 0;align-items:center;gap:12px;color:#62716c;font-size:12px;font-weight:800}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#dce4df}.email-auth-form{display:grid;gap:14px}.email-auth-form label{display:grid;gap:6px;color:#445a51;font-size:13px;font-weight:850}.email-auth-form input{min-height:48px;border:2px solid #cbd7d1;border-radius:10px;padding:10px 12px;font-size:16px}.email-auth-form input:focus{border-color:var(--teal);outline:3px solid rgba(47,125,103,.14)}.email-auth-form .primary-action{width:100%;margin-top:3px}.auth-success{margin:0;border-left:4px solid var(--green);padding:9px 11px;color:#174d38;background:#e9f7ef;font-size:13px;line-height:1.55}.auth-switch{margin:20px 0 0;color:var(--muted);text-align:center}.auth-switch button{border:0;padding:5px 7px;color:var(--teal);background:transparent;font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.auth-preview-button{display:block;width:100%;margin-top:15px;border:1px dashed #b67b36;border-radius:9px;padding:10px;color:#6d4214;background:#fff8e8;font-weight:850;cursor:pointer}.screen-support-shell{display:grid;min-height:100dvh;padding:24px 18px;place-items:center;background:#f4f7f5}.screen-support-card{width:min(100%,480px);border:1px solid #d4dfd9;border-radius:20px;padding:clamp(20px,6vw,36px);background:#fff;box-shadow:0 16px 48px #15362c14}.screen-support-card .eyebrow{margin-top:32px}.screen-support-card h1{margin:8px 0 16px;color:var(--ink);font-size:clamp(1.6rem,6vw,2rem);line-height:1.4}.screen-support-description,.screen-support-detail{line-height:1.8}.screen-support-detail{color:#52665c;font-size:14px}.screen-support-legal{display:grid;margin-top:24px;gap:12px;font-size:14px}.screen-support-policy-link{color:var(--teal);text-underline-offset:3px}.pwa-install-entry{margin-top:15px;border:1px solid #c8dcd1;border-radius:11px;padding:11px 13px;color:#284c3f;background:#f2faf5;font-size:12px}.pwa-install-entry>b{display:block;margin-bottom:5px}.pwa-install-button{width:100%;min-height:42px;border:0;border-radius:9px;padding:8px 12px;color:#fff;background:#237158;font-weight:900;cursor:pointer}.pwa-install-button:hover{background:#185c46}.pwa-install-help,.pwa-installed-badge{margin:3px 0 0;color:#49685b;font-size:12px;line-height:1.55}.pwa-installed-badge{color:#176143;font-weight:850}.auth-legal{margin:18px 0 0;color:#62716c;font-size:11px;line-height:1.6;text-align:center}.auth-legal a{margin:0 3px;color:var(--teal);font-weight:850}@media(max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{min-height:auto;padding:24px;gap:25px}.auth-brand-panel>div{display:none}.auth-brand-panel ul{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px}.auth-card{margin:24px auto}}@media(max-width:520px){.auth-brand-panel ul{display:none}.auth-card{width:calc(100% - 24px);margin:12px auto;padding:23px 18px}.auth-card-head p{margin-bottom:18px}}.pwa-update-notice{position:fixed;right:18px;bottom:18px;display:grid;width:min(480px,calc(100vw - 36px));border:1px solid #91b7a5;border-radius:14px;padding:12px 13px;color:#183f32;background:#f3fbf6;box-shadow:0 18px 45px #133d2f38;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;z-index:1200}.pwa-update-notice>span{display:grid;width:36px;height:36px;border-radius:50%;place-items:center;color:#fff;background:#287d5e;font-size:21px;font-weight:900}.pwa-update-notice b,.pwa-update-notice small{display:block}.pwa-update-notice small{margin-top:2px;color:#4c665c;line-height:1.45}.pwa-update-notice button{min-height:40px;border:0;border-radius:9px;padding:7px 11px;color:#fff;background:#287d5e;font-weight:900}@media(max-width:560px){.pwa-update-notice{right:10px;bottom:10px;width:calc(100vw - 20px);grid-template-columns:34px minmax(0,1fr)}.pwa-update-notice button{grid-column:2;justify-self:start}}.privacy-profile-fields{display:grid;margin:22px 0;grid-template-columns:1fr 1fr;gap:12px}.privacy-profile-fields label{display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-weight:850}.privacy-profile-fields label:last-child{grid-column:1 / -1}.student-pics{max-height:310px;border:2px solid var(--line);border-radius:10px;padding:13px 15px;overflow-y:auto;background:#f7faf8;font-size:.78rem;line-height:1.5}.student-pics h2{margin:0 0 8px;font-size:1rem}.student-pics p{margin:7px 0}.student-pics a{color:var(--teal)}.privacy-loading{color:var(--muted)}.legal-summary{border-left:5px solid var(--teal);padding:12px 15px;background:#edf6f1}.legal-summary p{margin:.25rem 0 0}.roster-privacy-note{border-left:4px solid #ad6519;padding:8px 10px;color:#5e350c;background:#fff4d8;font-size:.78rem;line-height:1.5}.eyebrow{display:none}.records-heading,.admin-context,.homeroom-register-head,.homeroom-duty-head,.school-calendar-admin-head,.student-record-profile{min-height:68px;border:3px solid var(--line);border-radius:16px;padding:10px 14px;background:#fff;box-shadow:var(--shadow);align-items:center}.records-heading h2,.admin-context h2,.homeroom-register-head h2,.homeroom-duty-head h2,.school-calendar-admin-head h2,.student-record-profile h2{margin:0;font-family:inherit;font-size:20px;font-weight:900;line-height:1.25}.records-heading-actions,.register-actions{align-items:center}.records-heading-actions label,.admin-context label,.register-actions label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.records-heading-actions input,.admin-context select,.register-actions input{min-height:42px;margin-top:0;border:2px solid #cbd6d0;border-radius:10px;padding:8px 12px;background:#fff;color:var(--ink);font-size:14px;font-weight:750}.records-heading-actions button,.admin-context button,.register-actions button{min-height:42px;border-radius:10px;font-size:14px;font-weight:850}.history-import{display:grid;gap:14px;padding:20px}.history-import>header h2{margin:0;font-size:20px}.history-import>header p:last-child{margin:5px 0 0;color:var(--muted);font-size:13px}.history-import-privacy{margin:0;border-left:4px solid var(--teal);padding:8px 10px;background:#f2fff6;color:#315747;font-size:12px}.history-import-target{margin:0;font-size:13px}.history-import-file{display:grid;gap:5px;max-width:520px;font-size:12px;font-weight:800}.history-import-file input{width:100%;border:2px dashed #b7c9bf;border-radius:10px;padding:10px;background:#fff}.history-import-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.history-import-settings label,.history-import-mapping label{display:grid;min-width:0;gap:5px;color:var(--muted);font-size:12px;font-weight:800}.history-import-settings select,.history-import-mapping select{width:100%;min-height:42px;border:2px solid #cbd6d0;border-radius:9px;padding:8px;background:#fff;color:var(--ink);font-size:13px}.history-import-mapping{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0;border:1px solid var(--line);border-radius:12px;padding:12px}.history-import-mapping legend{padding:0 5px;font-weight:850}.history-import-mapping>p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:12px}.history-import-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.history-import-summary>*{border:1px solid var(--line);border-radius:8px;padding:6px 9px;background:#f7f9f8;font-size:12px}.history-import-summary b{color:#23654b;background:#eaf8ee}.history-import-summary strong{margin-left:auto}.history-import-overwrite{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750}.history-import-overwrite input,.history-import-table-wrap input{width:19px;height:19px;accent-color:var(--teal)}.history-import-table-wrap{max-height:min(47vh,450px);overflow:auto;border:1px solid var(--line);border-radius:10px}.history-import-table-wrap table{width:100%;min-width:680px;border-collapse:collapse;font-size:12px}.history-import-table-wrap th{position:sticky;top:0;padding:10px;background:#214438;color:#fff;text-align:left}.history-import-table-wrap td{border-top:1px solid #e2e9e4;padding:8px 10px}.history-import-table-wrap tr.invalid,.history-import-table-wrap tr.conflict{background:#fff7e8}.history-import-overflow{margin:0;color:var(--muted);font-size:12px}.history-import-success{margin:0;border-radius:8px;padding:10px;background:#eaf8ee;color:#22684a;font-weight:800}.history-import footer{display:flex;justify-content:flex-end;gap:8px}.history-import footer button{min-height:42px;border:1px solid var(--line);border-radius:9px;padding:8px 13px;background:#fff;font-weight:850}.history-import footer .primary-action{border-color:var(--teal);color:#fff;background:var(--teal)}@media(max-width:800px){.history-import-settings{grid-template-columns:1fr}.records-heading,.admin-context,.homeroom-register-head,.homeroom-duty-head,.school-calendar-admin-head,.student-record-profile{padding:10px 12px}.records-heading-actions label,.register-actions label{align-items:stretch;flex-direction:column;gap:4px}.history-import{padding:14px}}@media(max-width:680px){.privacy-profile-fields{grid-template-columns:1fr}.privacy-profile-fields label:last-child{grid-column:auto}}.agenda-home{display:grid;gap:12px;min-width:0}.agenda-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;background:linear-gradient(110deg,#fff 54%,#f0faf5)}.agenda-intro .eyebrow{margin:0 0 3px}.agenda-intro h2{margin:0;font-size:22px;font-weight:950}.agenda-intro p:last-child{margin:5px 0 0;color:var(--muted);font-size:13px}.agenda-view-switch{display:flex;flex:0 0 auto;border:2px solid var(--line);border-radius:11px;padding:4px;background:#fff;gap:4px}.agenda-view-switch button{min-height:40px;border:0;border-radius:7px;padding:7px 15px;color:var(--ink);background:transparent;font-size:13px;font-weight:900}.agenda-view-switch button.active{color:#fff;background:var(--teal)}.agenda-content{display:grid;min-width:0;gap:10px}.agenda-range-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 3px}.agenda-range-head h2{margin:0;font-size:17px;font-weight:950}.agenda-range-head>span,.agenda-year-head small{color:var(--muted);font-size:12px;font-weight:850}.agenda-weeks{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.agenda-week{display:flex;min-width:0;min-height:360px;max-height:calc(100dvh - 280px);flex-direction:column;overflow:hidden}.agenda-week>header,.agenda-month-detail>header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 15px}.agenda-week>header small{color:var(--teal);font-size:11px;font-weight:950}.agenda-week h3,.agenda-month-detail h3{margin:2px 0 0;font-size:17px}.agenda-week>header>span,.agenda-month-detail>header>span{color:var(--muted);font-size:12px;font-weight:850;white-space:nowrap}.agenda-week-list{min-height:0;padding:4px 13px 12px;overflow-y:auto}.agenda-day{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;border-bottom:1px solid #e2ebe5;padding:10px 0}.agenda-day:last-child{border-bottom:0}.agenda-day>time{display:grid;align-content:start;justify-items:center;border-radius:9px;padding:5px 2px;color:var(--ink);background:#eaf5ee}.agenda-day>time b{font-size:20px;line-height:1}.agenda-day>time span{font-size:11px;font-weight:850}.agenda-day>div{display:grid;min-width:0;gap:7px}.agenda-event{display:grid;width:100%;min-width:0;min-height:65px;border:1px solid #cadbd1;border-left:4px solid var(--teal);border-radius:9px;padding:8px 10px;color:var(--ink);background:#fff;gap:3px;text-align:left}.agenda-event:hover{border-color:var(--teal);background:#f3fbf6}.agenda-event:focus-visible,.agenda-view-switch button:focus-visible,.agenda-month:focus-visible,.agenda-year-actions button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.agenda-event.assessment,.agenda-event.exam,.agenda-event.dictation{border-left-color:var(--red)}.agenda-event.publicHoliday,.agenda-event.schoolHoliday{border-left-color:#bd544b}.agenda-event.activity,.agenda-event.specialDay{border-left-color:var(--amber)}.agenda-event-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 9px;color:var(--muted);font-size:11px;font-weight:800}.agenda-event-scope{color:#176c55}.agenda-event strong{font-size:14px;line-height:1.35}.agenda-event small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.agenda-empty{margin:0;padding:20px 4px;color:var(--muted);font-size:13px}.agenda-year-actions{display:flex;gap:5px}.agenda-year-actions button{min-height:38px;min-width:38px;border:1px solid var(--line);border-radius:8px;padding:5px 10px;background:#fff;font-weight:900}.agenda-year-actions .calendar-arrow{border-radius:9px;padding:0;color:#28715a}.agenda-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.agenda-month{display:grid;min-width:0;min-height:98px;align-content:start;border:2px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;gap:4px;text-align:left}.agenda-month.active{border-color:var(--teal);background:#edf8f1;box-shadow:inset 0 -3px var(--teal)}.agenda-month>span{font-size:13px;font-weight:950}.agenda-month strong{color:var(--teal);font-size:16px}.agenda-month small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.agenda-month-detail{min-width:0}.agenda-month-list{display:grid;max-height:270px;padding:10px 14px;overflow-y:auto;gap:8px}.agenda-month-row{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:8px}.agenda-month-row time{padding-top:9px;color:var(--muted);font-size:12px;font-weight:900}@media(max-width:1180px){.agenda-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.agenda-weeks{grid-template-columns:1fr}.agenda-week{max-height:380px}.agenda-intro{align-items:stretch;flex-direction:column}.agenda-view-switch{align-self:start}.agenda-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.agenda-intro{padding:13px}.agenda-intro h2{font-size:19px}.agenda-view-switch{width:100%}.agenda-view-switch button{flex:1;padding-inline:7px}.agenda-range-head{align-items:start;flex-direction:column;gap:3px}.agenda-year-head{align-items:stretch}.agenda-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-month{min-height:94px;padding:8px}}.class-picker-page{display:grid;min-height:100dvh;padding:18px;place-items:center;background:radial-gradient(circle at 6% 8%,#fff7df,transparent 37%),radial-gradient(circle at 94% 93%,#dbf6f1,transparent 42%),#f8fbfb}.class-picker-panel{width:min(1060px,100%);border:1px solid #d8e3df;border-radius:22px;padding:28px 30px 22px;background:#fff;box-shadow:0 22px 55px #1c3f381f}.class-picker-accent{width:72px;height:6px;margin-bottom:23px;border-radius:999px;background:linear-gradient(90deg,#c38c48,#21876d)}.class-picker-heading{display:flex;margin-bottom:24px;flex-wrap:wrap;align-items:center;gap:12px}.class-picker-heading>span{display:grid;width:56px;height:56px;flex:0 0 auto;border:3px solid #abc7bc;border-radius:13px;place-items:center;color:#183d34;background:#ffebad;font-size:26px;font-weight:950}.class-picker-heading small,.class-picker-group-label small{display:block;color:#405b53;font-size:12px;font-weight:800}.class-picker-heading h1{margin:2px 0 0;color:#22362e;font-size:clamp(23px,3vw,29px)}.class-picker-group{display:grid;min-height:125px;margin:12px 0;border:1px solid #d3ded8;border-radius:17px;padding:14px 16px;grid-template-columns:122px minmax(0,1fr);align-items:center;gap:18px}.class-picker-group.homeroom{background:linear-gradient(105deg,#fffaf0,#fff3ce)}.class-picker-group.teaching{background:linear-gradient(105deg,#f1fcf9,#e1f8f4)}.class-picker-group-label{align-self:stretch;display:flex;border-right:1px solid #cddbd4;flex-direction:column;justify-content:center}.class-picker-group-label h2{margin:4px 0 0;color:#22362e;font-size:20px}.class-picker-cards{display:flex;min-width:0;padding:4px 2px 7px;overflow-x:auto;gap:8px}.class-picker-cards>p{margin:0;color:#576860;font-size:14px}.class-picker-card{display:grid;min-width:155px;min-height:68px;flex:0 0 auto;border:1px solid #c9d7d2;border-radius:13px;padding:10px 14px;align-content:center;color:#20372f;background:#fff;box-shadow:0 4px 8px #16362d12;text-align:left}.class-picker-card:hover{border-color:#27856d;background:#f8fefa}.class-picker-card strong{font-size:18px;font-weight:950}.class-picker-card span{margin-top:3px;color:#536960;font-size:13px;font-weight:700}.class-picker-add{display:grid;margin:16px 0 18px;grid-template-columns:minmax(0,1fr) 165px auto;align-items:end;gap:10px}.class-picker-add label{display:grid;gap:5px;color:#3f5d51;font-size:12px;font-weight:850}.class-picker-add input,.class-picker-add select{min-height:43px;border-color:#cbd9d1;padding:8px 12px}.class-picker-add button,.class-picker-footer button{min-height:43px;border:1px solid #bfd0c7;border-radius:10px;padding:8px 14px;background:#fff;font-size:14px;font-weight:850}.class-picker-add button:hover,.class-picker-footer button:hover{border-color:#26846a;background:#f2faf6}.class-picker-add>p{grid-column:1 / -1}.class-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.class-picker-footer>div{display:flex;gap:9px}.class-picker-footer .primary-action{border-color:#27856d;color:#fff;background:#27856d}.class-picker-footer .primary-action:hover{background:#1a6953}.class-picker-guide-link{margin-left:auto;min-height:42px;border:1px solid #c6d8cc;border-radius:10px;padding:8px 14px;color:#17533f;background:#f5fbf6;font-weight:800}.tour-replay-button{min-height:40px;border:1px dashed #b77c39;border-radius:9px;padding:7px 11px;color:#744619;background:#fff7e8;font-size:13px;font-weight:850;cursor:pointer}.tour-replay-button:hover{background:#ffedc9}.tour-replay-button small{display:block;margin-top:2px;color:#795833;font-size:10px}.class-picker-heading:has(.tour-replay-button) .class-picker-guide-link{margin-left:auto}.setup-guide{border:1px solid #d0dfd5;border-radius:18px;padding:18px 20px;background:linear-gradient(135deg,#f2faf4,#fffdf7)}.setup-guide-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.setup-guide-head small{color:#35705b;font-size:12px;font-weight:900;letter-spacing:.04em}.setup-guide-head h2{margin:2px 0 0;color:#223d33;font-size:clamp(18px,2.4vw,22px)}.setup-guide-head strong{flex:0 0 auto;border-radius:999px;padding:7px 12px;color:#175840;background:#d8eee0;font-size:13px}.setup-progress{height:7px;margin:15px 0;overflow:hidden;border-radius:999px;background:#dce8de}.setup-progress>span{display:block;height:100%;border-radius:inherit;background:#27856d;transition:width .2s ease}.setup-class-select{display:flex;margin-bottom:12px;align-items:center;gap:10px;color:#3f5d51;font-size:13px;font-weight:850}.setup-class-select select{width:min(280px,100%);min-height:40px;padding:6px 10px}.setup-steps{display:grid;margin:0;padding:0;gap:8px;list-style:none}.setup-steps li{display:grid;min-height:66px;border:1px solid #d6e2d9;border-radius:12px;padding:10px 12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff}.setup-steps li.current{border-color:#4c9877;box-shadow:0 0 0 2px #dceddc}.setup-steps li>span{display:grid;width:32px;height:32px;border-radius:50%;place-items:center;color:#405e50;background:#e6eee8;font-weight:900}.setup-steps li.done>span{color:#fff;background:#27856d}.setup-steps li b{display:block;color:#233a30;font-size:15px}.setup-steps li small{display:block;margin-top:2px;color:#52665a;font-size:12px}.setup-steps li a,.setup-steps li button{display:inline-grid;min-height:40px;border:1px solid #bad4c4;border-radius:9px;padding:7px 11px;place-items:center;color:#155641;background:#f5fbf6;font-size:13px;font-weight:850;text-decoration:none;white-space:nowrap}.setup-steps li button:disabled{opacity:.5;cursor:not-allowed}.setup-start{margin-top:13px}.setup-next{display:flex;margin-top:14px;padding-top:13px;border-top:1px solid #d6e5d9;flex-wrap:wrap;align-items:center;gap:8px}.setup-next span{margin-right:4px;color:#597063;font-size:12px;font-weight:850}.setup-next button{min-height:38px;border:1px solid #d1decf;border-radius:8px;padding:7px 10px;color:#365448;background:#fff;font-size:12px;font-weight:800}.setup-dismiss{margin-top:12px;border:0;padding:5px 0;color:#466352;background:transparent;font-size:13px;font-weight:800;text-decoration:underline}.class-picker-add:has(.class-picker-share){grid-template-columns:minmax(0,1fr) 145px minmax(180px,.8fr) auto}.class-picker-add input,.class-picker-add select{width:100%}@media(max-width:820px){.class-picker-add:has(.class-picker-share){grid-template-columns:repeat(2,minmax(0,1fr))}.class-picker-add:has(.class-picker-share) button{grid-column:1 / -1}}@media(max-width:580px){.setup-guide{padding:15px 12px}.setup-steps li{grid-template-columns:30px minmax(0,1fr);gap:9px}.setup-steps li>a,.setup-steps li>button{grid-column:2;justify-self:start}.setup-class-select{align-items:start;flex-direction:column}.class-picker-add:has(.class-picker-share){grid-template-columns:1fr}.class-picker-add:has(.class-picker-share) button{grid-column:1}}.homeroom-affairs-page{display:grid;gap:16px}.daily-memos{padding:22px}.daily-memos-title{margin:0 0 18px}.daily-memo-list{display:grid;gap:0}.daily-memo{padding:18px 0;border-bottom:1px solid #dde5df}.daily-memo-heading,.daily-memo-name,.daily-memo-actions{display:flex;align-items:center;gap:12px}.daily-memo-heading{justify-content:space-between;flex-wrap:wrap}.daily-memo-title{margin:0;font-size:17px}.daily-memo-count{color:#52665d;font-size:13px;white-space:nowrap}.daily-memo-actions{gap:8px}.daily-memo-delete{color:#75584d;background:transparent;box-shadow:none}.daily-memo-selected{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.daily-memo-student{padding:5px 10px;border-radius:6px;background:#eaf3ee;color:#264b3d;font-size:14px}.daily-memo-empty{color:#52665d;font-size:14px}.daily-memo-student-grid{margin-top:16px}.daily-memo-add{margin:24px 0 0}.routine-records{min-width:0;padding:18px 20px}.student-records-layout.routine-mode{grid-template-columns:minmax(0,1fr)}.student-records-layout.routine-mode>.student-records-directory{display:none}.routine-records>header{display:flex;align-items:start;justify-content:space-between;gap:15px}.routine-records h3{margin:3px 0 5px;font-size:20px}.routine-records>header p:last-child{max-width:700px;margin:0;color:#546a5f;font-size:13px;line-height:1.45}.routine-back{flex:0 0 auto;min-height:38px;border:1px solid #bfd6ca;border-radius:8px;padding:6px 10px;background:#f4fbf7;font-size:12px;font-weight:800}.routine-add{display:flex;margin:15px 0 12px;align-items:end;gap:9px}.routine-add label{width:min(360px,100%);color:#476151;font-size:12px;font-weight:800}.routine-add input{display:block;min-height:42px;margin-top:5px}.routine-add button{min-height:42px;border:0;border-radius:9px;padding:8px 16px;color:#fff;background:#227b61;font-size:13px;font-weight:850}.routine-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:#51685d;font-size:12px}.routine-suggestions button{min-height:35px;border:1px solid #bfd6ca;border-radius:8px;padding:5px 9px;background:#fff;font-weight:800}.routine-items{display:flex;min-width:0;margin:13px 0;padding-bottom:5px;overflow-x:auto;gap:8px}.routine-items button{display:flex;min-height:44px;flex:0 0 auto;border:2px solid #cadbd1;border-radius:10px;padding:7px 10px;align-items:center;gap:12px;background:#fff}.routine-items button.selected{border-color:#21785f;color:#164d3c;background:#ecf8f0}.routine-items small{color:#52695f;font-size:11px}.routine-selection-head{display:flex;border-top:1px solid #dce8df;padding:12px 0 9px;align-items:center;justify-content:space-between;gap:12px}.routine-selection-head h4{margin:0 0 2px;font-size:16px}.routine-selection-head small{color:#5a6c63;font-size:12px}.routine-selection-head>button{flex:0 0 auto;min-height:36px;border:1px solid #e3b7b3;border-radius:8px;padding:5px 10px;color:#a23c37;background:#fff7f6;font-size:12px;font-weight:800}.routine-student-grid{display:grid;max-height:min(40dvh,360px);padding:3px 3px 5px;overflow-y:auto;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.routine-student-grid button{display:grid;min-height:58px;border:2px solid #d8e5db;border-radius:10px;padding:7px 8px;background:#fff;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:0 7px;text-align:left}.routine-student-grid button.selected{border-color:#ad7540;background:#fff3df}.routine-student-grid button span{grid-row:span 2;color:#496454;font-size:12px;font-weight:900}.routine-student-grid button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.routine-student-grid button small{color:#61756a;font-size:11px}@media(max-width:900px){.topbar-meta{flex-wrap:wrap;justify-content:end}.topbar-return{min-height:39px;padding:6px 10px;font-size:12px}.class-picker-panel{padding:23px}}@media(max-width:680px){.class-picker-page{padding:10px}.class-picker-panel{padding:18px}.class-picker-group{grid-template-columns:1fr;gap:8px}.class-picker-group-label{border-right:0;border-bottom:1px solid #cddbd4;padding-bottom:7px}.class-picker-add{grid-template-columns:minmax(0,1fr) minmax(115px,.6fr)}.class-picker-add button{grid-column:1 / -1}.routine-records>header,.routine-selection-head{flex-direction:column}.routine-add{align-items:stretch;flex-direction:column}.routine-add label{width:100%}.student-record-tabs{overflow-x:auto}.student-record-tabs button{min-width:95px;flex:0 0 auto}}.guided-tour{position:fixed;z-index:3000;inset:0;pointer-events:none}.tour-shade{position:fixed;z-index:3000;background:#091814b8;pointer-events:auto}.tour-shade-mask{position:fixed;z-index:3000;inset:0;pointer-events:none}.tour-spotlight{position:fixed;z-index:3001;border:3px solid #ffe3a2;border-radius:13px;box-shadow:0 0 0 4px #ffffff8c,0 0 22px 7px #ffdb8eb3;pointer-events:none;animation:tour-pulse 1.8s ease-in-out infinite}.tour-dialog{position:fixed;z-index:3002;max-height:min(370px,calc(100dvh - 24px));overflow-y:auto;border:2px solid #e2b779;border-radius:16px;padding:17px 18px;color:#20392e;background:#fffefa;box-shadow:0 18px 50px #00000059;pointer-events:auto;animation:tour-enter .2s ease-out}.tour-dialog-head{display:flex;align-items:center;gap:12px}.tour-mascot{display:grid;width:42px;height:42px;flex:0 0 auto;border:2px solid #28684e;border-radius:12px;place-items:center;color:#1c523d;background:#ffedb3;font-size:22px;font-weight:950;transform:rotate(-5deg)}.tour-dialog-head small{color:#366d55;font-size:11px;font-weight:900;letter-spacing:.04em}.tour-dialog h2{margin:2px 0 0;color:#20392e;font-size:18px;line-height:1.25}.tour-dialog p{margin:12px 0 14px;font-size:14px;line-height:1.6}.tour-dialog-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.tour-dialog-actions button{min-height:40px;border-radius:9px;padding:7px 11px;font-weight:850}.tour-skip{border:1px solid #ccd9d0;color:#53665a;background:#fff}.tour-back{border:1px solid #a9c9b8;color:#185940;background:#edf8f1}.tour-back:hover{background:#dff1e6}.tour-next{border:1px solid #1f7959;color:#fff;background:#287d5e}.tour-next:disabled{opacity:.48;cursor:not-allowed}@keyframes tour-pulse{50%{box-shadow:0 0 0 7px #ffffff61,0 0 30px 10px #ffdb8ecc}}@keyframes tour-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.tour-spotlight,.tour-dialog{animation:none}}.topbar-title h1{margin:0}.console-page-heading:not(:has(button)){position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;box-shadow:none}.console-page-heading:has(button){min-height:0;margin:0 0 8px;border:0;padding:0;justify-content:flex-end;background:transparent;box-shadow:none}.console-page-heading:has(button) h2{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.class-picker-heading h1,.class-picker-group-label h2{margin:0}.history-import-help{font-size:12px;color:var(--muted)}.history-import-help summary{width:fit-content;color:var(--teal);cursor:pointer;font-weight:800}.history-import-help p{margin:6px 0 0}.draw-reset-mode{display:flex;width:fit-content;margin:0 0 12px;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:850}.draw-mode-switcher .class-switcher-trigger{min-width:190px;min-height:42px;justify-content:space-between;border:1px solid #cbd6d0;padding:8px 12px;background:#fff;font-size:14px;font-weight:700}.draw-mode-switcher .class-switcher-option[aria-selected=true],.group-mode .select-menu-option[aria-selected=true]{background:#eee9df;color:var(--ink);box-shadow:inset 0 0 0 1px #b6aa96}.draw-mode-switcher .class-switcher-option.is-highlighted:not([aria-selected=true]),.group-mode .select-menu-option.is-highlighted:not([aria-selected=true]){background:#fff;color:#263f37;box-shadow:inset 0 0 0 1px #d2c9b9}.draw-mode-switcher .class-switcher-menu{width:max-content;min-width:100%;max-width:calc(100vw - 40px)}@media(max-width:560px){.draw-reset-mode{width:100%;justify-content:space-between}.draw-reset-mode .draw-mode-switcher{max-width:68%}.draw-mode-switcher .class-switcher-trigger{min-width:0;width:100%}}.agenda-calendar{display:grid;min-width:0;border:2px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}.agenda-calendar-weekday{padding:9px 5px;color:var(--muted);background:#eef4ef;font-size:12px;font-weight:900;text-align:center}.agenda-calendar-weekday:first-child{color:#b6423d}.agenda-calendar-day{display:flex;min-width:0;min-height:108px;padding:6px;flex-direction:column;gap:4px;background:#fff}.agenda-calendar-day.outside{background:#f5f7f5}.agenda-calendar-day.outside .agenda-calendar-date{color:#52655b}.agenda-calendar-day.selected{box-shadow:inset 0 0 0 2px var(--teal);background:#f5fcf8}.agenda-calendar-day.today .agenda-calendar-date time{color:#fff;background:var(--teal)}.agenda-calendar-day.holiday .agenda-calendar-date time,.agenda-calendar-day:nth-child(7n+1) .agenda-calendar-date time{color:#b6423d}.agenda-calendar-day.today.holiday .agenda-calendar-date time,.agenda-calendar-day.today:nth-child(7n+1) .agenda-calendar-date time{color:#fff;background:#b6423d}.agenda-calendar-date{display:flex;width:100%;min-height:30px;border:0;border-radius:7px;padding:2px;align-items:center;gap:3px;color:var(--ink);background:transparent;text-align:left}.agenda-calendar-date:hover{background:#e7f3eb}.agenda-calendar-date time{display:grid;width:25px;height:25px;flex:0 0 auto;border-radius:50%;place-items:center;font-size:13px;font-weight:900}.agenda-calendar-date small{font-size:10px;font-weight:800}.agenda-calendar-count{margin-left:auto;border:1px solid #b7d7c3;border-radius:999px;padding:2px 6px;color:#26644e;background:#edf8f0;font-size:9px;font-weight:900;line-height:1.2;white-space:nowrap}.agenda-calendar-event{display:grid;overflow:hidden;min-height:31px;border:0;border-left:3px solid var(--teal);border-radius:4px;padding:3px 5px;color:#215743;background:#e9f5ed;align-content:center;gap:1px;text-align:left}.agenda-calendar-event small,.agenda-calendar-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-calendar-event small{font-size:10px;font-weight:950;line-height:1.1}.agenda-calendar-event span{font-size:10px;font-weight:800;line-height:1.15}.agenda-calendar-event.publicHoliday,.agenda-calendar-event.schoolHoliday{border-left-color:#b6423d;color:#912f2a;background:#fff0ee}.agenda-calendar-event.assessment,.agenda-calendar-event.exam,.agenda-calendar-event.dictation{border-left-color:#9d4c37;color:#84402f;background:#fff2e9}.agenda-calendar-event.activity,.agenda-calendar-event.specialDay{border-left-color:#bc852b;color:#765014;background:#fff7df}.agenda-calendar-more{border:0;padding:2px;color:var(--teal);background:transparent;font-size:10px;font-weight:850;text-align:left}.agenda-calendar-date:focus-visible,.agenda-calendar-event:focus-visible,.agenda-calendar-more:focus-visible{outline:3px solid var(--blue);outline-offset:1px}.agenda-selected-day{display:grid;min-width:0;padding:12px 14px;gap:10px}.agenda-selected-day>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.agenda-selected-day h3{margin:0;font-size:16px}.agenda-selected-day>header span{color:var(--muted);font-size:12px;font-weight:850}.agenda-selected-day>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.agenda-selected-day .agenda-event{min-height:64px}.agenda-selected-day .agenda-empty{padding:6px 0}.agenda-fortnight-list{display:grid;min-width:0;padding:12px 14px;gap:10px}.agenda-fortnight-list>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.agenda-fortnight-list h3{margin:0;font-size:16px}.agenda-fortnight-list>header span{color:var(--muted);font-size:12px;font-weight:850}.agenda-fortnight-list>div{display:grid;max-height:210px;padding-right:3px;overflow-y:auto;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:7px}.agenda-fortnight-row{display:grid;min-width:0;border:1px solid #d7e2dc;border-radius:9px;padding:6px;background:#fff;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:7px}.agenda-fortnight-row.selected{border-color:#79b69f;background:#f3faf6;box-shadow:inset 3px 0 var(--teal)}.agenda-fortnight-row>time{color:#405d52;font-size:11px;font-weight:900;text-align:center}.agenda-fortnight-row .agenda-event{min-height:48px}@media(max-width:700px){.agenda-fortnight-list>div{grid-template-columns:1fr}.agenda-fortnight-row{grid-template-columns:64px minmax(0,1fr)}}@media(max-width:700px){.agenda-calendar-day{min-height:71px;padding:4px 2px}.agenda-calendar-date{justify-content:center}.agenda-calendar-date small{display:none}.agenda-calendar-count{margin-left:0}.agenda-calendar-event{height:7px;min-height:7px;border-left-width:0;padding:0;color:transparent;font-size:0}.agenda-calendar-event small,.agenda-calendar-event span{display:none}.agenda-calendar-more{align-self:center;padding:0;font-size:9px}}.student-record-profile.class-overview-profile,.admin-context{min-height:58px;padding:10px 14px;background:#fff}.student-record-profile.class-overview-profile h2,.admin-context h2{margin:0;font-size:20px}.student-record-tabs{width:100%}.student-record-tabs button{flex:1}.console-shell:has(.quiz-classroom){display:grid}.console-shell:has(.quiz-classroom) .console-sidebar{display:flex}.console-shell:has(.quiz-classroom) .preview-banner{display:block}.console-shell:has(.quiz-classroom) .topbar-date,.console-shell:has(.quiz-classroom) .topbar-meta>b{display:initial}.quiz-directory{border:3px solid var(--line);border-radius:16px;padding:16px;color:var(--ink);background:#fff;box-shadow:var(--shadow)}.quiz-directory>header{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 2px 12px;color:var(--ink);background:transparent}.quiz-directory>header h2{margin:0;color:var(--ink);font-size:20px}.quiz-directory>header>span{color:var(--muted);font-size:13px;font-weight:850}.quiz-directory-grid{padding:14px 0 0;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.quiz-directory-grid>button{min-height:120px;padding-left:64px}.quiz-directory-empty{padding:25px 12px;color:var(--ink)}.quiz-directory-empty h3{color:var(--ink)}.quiz-directory-empty p{color:var(--muted)}@media(max-width:900px){.console-shell:has(.quiz-classroom){display:block;padding-bottom:80px}.quiz-directory{padding:15px}.quiz-directory>header{padding:0 2px 12px}.quiz-directory-grid{padding-top:12px}}.records-summary{gap:10px}.records-summary>div{min-height:60px;border:2px solid #cbdcd2;border-radius:13px;padding:9px 14px;gap:10px;box-shadow:0 2px 7px #1c43330d}.records-summary>div:nth-child(1){border-color:#abd0bd;background:#edf8f1}.records-summary>div:nth-child(2){border-color:#e5cf91;background:#fff8e4}.records-summary>div:nth-child(3){border-color:#bad3d8;background:#edf7f8}.records-summary strong{color:#1f604d;font-family:inherit;font-size:28px;font-weight:950;line-height:1}.records-summary span{color:#405f53;font-size:12px;font-weight:850;line-height:1.3}.record-view-label span{font-size:14px;font-weight:900}.record-view-label small{font-size:11px}@media(max-width:560px){.records-summary.materials{grid-template-columns:1fr}}.demo-preview-tools{display:flex;width:max-content;max-width:100%;margin:0 0 8px auto;align-items:center;gap:6px;color:#65532b}.demo-preview-label{border:1px solid #e1d4ad;border-radius:999px;padding:4px 9px;background:#fff7e3;font-size:12px;font-weight:600;line-height:18px;white-space:nowrap}.demo-preview-reset{display:grid;width:28px;height:28px;min-height:28px;border:1px solid transparent;border-radius:6px;padding:0;place-items:center;color:inherit;background:transparent;font-size:20px;line-height:1;box-shadow:none}.demo-preview-reset:hover{border-color:#e1d4ad;background:#fff7e3}.local-trial-banner{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-bottom:10px;border:2px solid #8a671a;border-radius:12px;padding:10px 14px;color:#3f3215;background:#fff5d9;font-size:13px}.local-trial-banner b{white-space:nowrap}.local-data-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.local-data-layout>.paper-card{display:flex;flex-direction:column;gap:12px;padding:22px}.local-data-layout h2{margin:0}.local-data-layout p{margin:0;line-height:1.6}.local-data-layout label{display:grid;gap:6px;font-weight:700}.local-data-layout input{width:100%;min-height:42px}.local-data-layout button{align-self:flex-start}.local-data-layout dl{display:grid;gap:7px;margin:0}.local-data-layout dl div{display:flex;justify-content:space-between;gap:12px}.local-data-layout dt{color:var(--muted)}.local-data-layout dd{margin:0;font-weight:800}.local-data-message{grid-column:1 / -1;border:1px solid #187456;border-radius:10px;padding:12px;background:#e9f8ef}.grade-dashboard{display:grid;gap:22px}.grade-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:6px 0}.grade-eyebrow{color:#52746a;font-size:12px;font-weight:700;letter-spacing:.12em}.grade-intro h3{font-size:24px;margin:10px 0;color:#243f37}.grade-intro p,.grade-card p{color:#62716c;margin:8px 0;line-height:1.7}.grade-intro label{display:grid;gap:8px;min-width:160px;font-size:13px}.grade-intro select,.grade-students input{min-height:44px;font-size:16px;border:1px solid #d9e2db;border-radius:10px;padding:10px 14px;background:#fff}.grade-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grade-stat{background:#fff;border:1px solid #e2e8e2;border-radius:18px;padding:23px;display:grid;gap:14px}.grade-stat>span{font-size:14px;color:#64756b}.grade-stat>strong{font-size:36px;font-weight:700;letter-spacing:-.04em;color:#294c40}.grade-stat em{font-style:normal;font-size:17px;font-weight:400;color:#52655b;letter-spacing:0}.grade-stat small{font-size:12px;line-height:1.6;color:#65756b}.grade-stat-primary{background:#294c40;border-color:#294c40}.grade-stat-primary>span,.grade-stat-primary small{color:#cfdfd6}.grade-stat-primary>strong{color:#fff}.grade-method{margin:-6px 0 0;font-size:13px;line-height:1.8;color:#65756c}.grade-method b{font-weight:500;color:#92713e}.grade-charts{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.grade-charts-records{grid-template-columns:minmax(0,1fr)}.grade-card{padding:24px;border:1px solid #e2e8e2;border-radius:18px;background:#fff;min-width:0}.grade-card header{display:flex;align-items:center;justify-content:space-between;gap:16px}.grade-card h3{font-size:18px;margin:0;color:#2c463b}.grade-card header>span{color:#65756b;font-size:12px}.grade-card p{font-size:13px}.grade-assignment-list{display:grid;gap:22px;max-height:340px;overflow-y:auto;padding:14px 4px 2px 0}.grade-bar-item>div:first-child{display:flex;justify-content:space-between;gap:14px;font-size:14px}.grade-bar-item b{overflow-wrap:anywhere;font-weight:500}.grade-bar-item strong{color:#426759}.grade-bar-item small{color:#65756b;font-size:12px}.grade-bar-track{height:8px;background:#edf2ed;border-radius:8px;overflow:hidden;margin:10px 0 7px}.grade-bar-track i{display:block;height:100%;background:#769e88;border-radius:inherit}.grade-distribution{display:grid;gap:18px;margin-top:28px}.grade-distribution>div{display:grid;grid-template-columns:72px 1fr 40px;gap:16px;align-items:center;font-size:13px}.grade-distribution .grade-bar-track{margin:0;height:12px}.grade-distribution strong{font-weight:500;text-align:right}.grade-distribution-note{margin-top:28px;padding:15px 18px;display:flex;gap:12px;background:#f5f7f2;border-radius:10px;font-size:13px;color:#52655b}.grade-distribution-note b{color:#49604f}.grade-students header{margin-bottom:20px}.grade-table-scroll{overflow-x:auto}.grade-students table{width:100%;border-collapse:collapse;font-size:14px}.grade-students th{text-align:left;font-weight:500;background:#f5f7f3;color:#52655b;padding:13px 16px;white-space:nowrap}.grade-students td{border-bottom:1px solid #edf0ea;padding:14px 16px;white-space:nowrap}.grade-student-button{display:flex;align-items:center;gap:12px;background:none;border:0;padding:6px 0;color:#345043;min-height:44px;width:100%;text-align:left}.grade-student-button>span{border-radius:9px;background:#f0f4ee;color:#52655b;padding:8px;font-size:12px}.grade-student-button i{margin-left:auto;font-style:normal;color:#8a9a8c}.grade-followup{color:#92713e;font-size:13px}.grade-detail{padding:6px 16px 16px;background:#fafbf8;white-space:normal}.grade-detail>div{display:grid;grid-template-columns:1fr auto auto;gap:22px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0ea;font-size:13px}.grade-detail small{display:block;color:#65756b;font-weight:400;margin-top:5px}.grade-empty{padding:24px 0}@media(max-width:1100px){.grade-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.grade-intro{align-items:stretch;flex-direction:column;gap:12px}.grade-intro h3{font-size:21px}.grade-charts{grid-template-columns:1fr}.grade-stat{padding:18px}.grade-stat>strong{font-size:30px}.grade-card{padding:18px}.grade-students header{align-items:stretch;flex-direction:column}.grade-students input{width:100%}.grade-students th,.grade-students td{padding:12px}.grade-detail>div{grid-template-columns:1fr auto;gap:12px}.grade-detail>div>strong{grid-column:2}}.performance-actions,.performance-filters,.performance-student-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.performance-filters{padding:16px 20px;border:1px solid #e2e8e2;background:#fff;border-radius:14px}.performance-filters label{display:grid;gap:8px;font-size:13px;color:#52665a}.performance-filters input,.performance-student-filters select{min-height:44px;min-width:0;padding:10px 12px;border:1px solid #d9e2db;border-radius:10px;background:#fff;font-size:16px}.performance-filters>small{color:#65756b;margin-left:auto}.performance-detail{background:#fafbf8;padding:12px}.performance-detail td:last-child{white-space:normal;min-width:120px;overflow-wrap:anywhere}.performance-dashboard .secondary-button{min-height:44px;padding:10px 16px;border:1px solid #cbdcd1;border-radius:10px;background:#f4f8f4;color:#345043;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.performance-filters>button{align-self:end}.console-page-heading.student-record-heading,.console-page-heading.student-record-heading h2{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.console-page-heading.student-record-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:0;padding:8px 0 12px;margin:0;border:0;background:transparent;box-shadow:none}.console-page-heading.student-record-heading h2{font-size:20px;color:#294c40}.student-record-tabs{display:flex;gap:6px;padding:5px;margin-bottom:20px;border:1px solid #d9e2db;border-radius:13px;background:#eef4ef;width:fit-content;max-width:100%}.student-record-tabs>button{min-height:44px;padding:10px 22px;border:1px solid transparent;border-radius:9px;background:transparent;color:#52665a;font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}.student-record-tabs>button[aria-selected=true]{border-color:#cbdcd1;background:#fff;color:#294c40;box-shadow:0 2px 5px #294c4010}.student-record-tabs>button:focus-visible{outline:3px solid #187456;outline-offset:2px}.student-record-view[hidden]{display:none}.coursework-overview-actions{display:flex;align-items:end;gap:12px}.grade-category{display:grid;gap:8px;min-width:160px;font-size:13px}.grade-category-switcher .class-switcher-trigger{min-width:160px}.grade-category-switcher .class-switcher-menu{right:0;left:auto}@media(max-width:700px){.student-record-tabs{width:100%}.student-record-tabs>button{flex:1;padding:10px 8px;font-size:13px}.coursework-overview-actions{flex-wrap:wrap}.coursework-overview-actions>label{flex:1}}.grade-assignment-list:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.calendar-workspace{display:grid;gap:1rem;align-items:start}.calendar-workspace.has-entry{grid-template-columns:minmax(0,1fr) 360px}.calendar-workspace>.month-calendar,.calendar-entry{min-width:0}.calendar-workspace .month-calendar-grid{min-width:0}.calendar-workspace .month-day{min-height:78px;padding:5px}.month-day-count{max-width:100%;min-height:28px;border:1px solid var(--line);border-radius:8px;padding:3px 6px;background:var(--paper-deep);color:var(--ink);font-size:12px;font-weight:800;white-space:nowrap}.calendar-day-list{display:grid;gap:.65rem}.calendar-day-list .month-event{padding:10px 12px}.calendar-day-event-title{font-size:14px}.calendar-day-event-kind{font-size:12px}@media(max-width:680px){.month-day-count{padding:3px 2px}.month-day-count-unit{display:none}}.calendar-workspace .month-day.selected{outline:2px solid var(--green);outline-offset:-2px}.calendar-entry .teaching-item-form{width:100%}.topbar-help{position:relative}.topbar-help>summary{display:flex;align-items:center;justify-content:center;gap:.4rem;list-style:none;cursor:pointer}.topbar-help>summary::-webkit-details-marker{display:none}.topbar-help-menu{position:absolute;top:calc(100% + .5rem);right:0;z-index:50;display:grid;gap:.5rem;width:max-content;max-width:calc(100vw - 40px);padding:.75rem}.console-topbar .topbar-leading{display:flex;min-width:0;flex:1;align-items:center;gap:16px}.console-topbar .topbar-title{display:flex;min-width:0;align-items:center;gap:14px;flex-wrap:wrap}.console-topbar .topbar-title h1{min-width:0;max-width:100%;margin:0}.console-topbar .topbar-class-title{min-width:0;max-width:100%}.console-topbar .topbar-class-title select{width:auto;max-width:100%;min-height:44px;border:0;border-radius:8px;padding:6px 4px;color:var(--ink);background:transparent;box-shadow:none;font:inherit;font-size:clamp(20px,2vw,25px);font-weight:900;cursor:pointer}.console-topbar .topbar-student-count{color:var(--muted);font-size:12px;font-weight:500;white-space:nowrap}.console-topbar .topbar-meta{display:flex;flex:0 0 auto;align-items:center}.console-topbar .topbar-return{display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;gap:5px;border:0;border-radius:8px;padding:7px 8px;color:var(--ink);background:transparent;box-shadow:none;font-size:14px;font-weight:600;white-space:nowrap}.console-topbar .topbar-help>summary{color:var(--muted)}.console-topbar .topbar-return:hover,.console-topbar .topbar-class-title select:hover{background:var(--teal-soft);transform:none}@media(max-width:680px){.console-topbar .topbar-leading{gap:8px;flex-wrap:wrap}.console-topbar .topbar-title{gap:4px 10px;flex:1 1 160px}.console-topbar .topbar-class-title select{font-size:20px}}.teaching-item-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.teaching-item-title{margin:0}.teaching-item-close{border:0;background:transparent;font-size:24px}.teaching-item-types{margin:0 0 .9rem;padding:0;border:0}.teaching-item-types legend{margin-bottom:.5rem;color:var(--muted);font-size:.78rem;font-weight:700}.teaching-item-type-options{display:flex;flex-wrap:wrap;gap:.5rem}.teaching-item-form .teaching-item-types label{display:flex;align-items:center;gap:.4rem;min-height:44px;margin:0;padding:.45rem .6rem;border:2px solid var(--line);border-radius:10px;cursor:pointer}.teaching-item-form .teaching-item-types label.selected{border-color:var(--green);background:var(--teal-soft);color:var(--green)}.teaching-item-form .teaching-item-radio{width:16px;min-height:16px;height:16px;padding:0;margin:0;accent-color:var(--green)}.teaching-item-extra{margin-bottom:1rem}.teaching-item-extra-summary{margin-bottom:.75rem;color:var(--muted);cursor:pointer}.teaching-item-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.65rem}.teaching-item-actions button:not(.primary-action){min-height:46px;border:2px solid var(--line);border-radius:10px;padding:.65rem 1rem;background:#fff}.teaching-item-actions button.primary-action{width:auto}@media(max-width:1050px){.calendar-workspace.has-entry{grid-template-columns:minmax(0,1fr)}.calendar-workspace.has-entry .calendar-entry{grid-row:1}}.local-export-dialog{width:min(780px,100%);max-height:90vh;overflow-y:auto}.local-export-scope{margin:4px 0 20px;color:var(--muted);line-height:1.6}.local-export-note{font-size:13px;line-height:1.7;color:var(--ink)}.local-export-date-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;border:0;padding:0;margin:16px 0}.local-export-date-fields legend{margin-bottom:8px;font-weight:700}.local-export-date-input{width:100%;min-width:0}.local-export-date-separator{color:var(--muted)}.local-export-table-scroll{overflow-x:auto;margin:12px 0}.local-export-table{width:100%;border-collapse:collapse;font-size:13px}.local-export-actions{display:flex;align-items:start;flex-wrap:wrap;gap:12px;margin:14px 0}.local-export-cell{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;min-width:90px}.local-export-column{background:var(--teal-soft)}.local-export-header{position:sticky;top:0;background:#fff;z-index:2;padding:4px 0}.console-topbar .topbar-export{color:var(--green)}.console-topbar .topbar-export svg{flex-shrink:0}.sidebar-class-context{position:relative;z-index:5;display:grid;padding:0;border:0;border-radius:12px;background:transparent}.sidebar-context-heading{margin:0;font-size:16px;line-height:1.3}.sidebar-class-context .class-switcher{display:block}.sidebar-class-context .class-switcher-trigger{width:100%;min-height:50px;justify-content:space-between;gap:8px;padding:6px 12px;border:1px solid #637b8e;border-radius:12px;background:#fff;font-size:16px;line-height:1.3}.sidebar-class-context .class-switcher-trigger:hover,.sidebar-class-context .class-switcher-trigger[aria-expanded=true]{background:#fff;border-color:#4a6a82;box-shadow:inset 0 0 0 1px #4a6a82}.sidebar-class-context .class-switcher-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-class-context .class-switcher-menu{left:0;right:auto;width:100%;min-width:0;max-height:min(55vh,400px);overflow-y:auto}.sidebar-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sidebar-actions .topbar-return,.sidebar-actions .topbar-help{flex:1 1 auto;width:auto;margin:0}.sidebar-actions .topbar-return{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;font-size:13px;font-weight:700;background:#fff;box-shadow:none}.sidebar-actions .topbar-help-menu{top:auto;bottom:calc(100% + 8px);right:0}.console-drawer-tools{display:flex;width:fit-content;gap:8px;align-items:center;margin-bottom:10px}.draw-history{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.draw-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.draw-history-title{margin:0}.draw-history-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.draw-history-clear{min-height:44px;padding:8px 12px;color:var(--muted);background:transparent;border-color:transparent;box-shadow:none}.draw-history-clear:hover:not(:disabled){color:#9b3b35;background:#faf0ed;border-color:#e6c8c2}.draw-history-description{color:var(--muted)}.draw-history-table{overflow-x:auto}.draw-history table{width:100%;border-collapse:collapse;text-align:left}.draw-history th,.draw-history td{padding:12px;border-bottom:1px solid var(--line)}.draw-history-time{white-space:nowrap}.draw-history-pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:16px}.record-action-icon{flex:0 0 16px;width:16px;height:16px}.record-export-formats .record-action-icon{justify-self:center}.term-filter{display:flex;gap:20px;align-items:center;margin:0 0 18px;padding:16px 20px;border-left:5px solid #256b55}.term-filter label,.term-comparison-controls label,.term-setting-row label,.term-setup-year{display:grid;gap:7px;color:#284b40;font-size:13px;font-weight:700}.term-filter select{min-width:215px}.term-filter>div{flex:1;display:grid;gap:5px}.term-filter strong{font-size:13px}.term-filter small,.term-method{color:#5b6661;font-size:12px}.term-settings,.term-overview{display:grid;gap:12px}.term-settings-intro,.term-overview-intro{padding:16px;border-top:5px solid #256b55}.term-settings-intro h2,.term-overview-intro h3{margin:8px 0;font-size:25px}.term-settings-intro p,.term-overview-intro p{margin:8px 0 0;max-width:750px;line-height:1.7}.term-settings-intro{display:flex;align-items:start;justify-content:space-between;gap:20px}.term-settings-intro>button{flex-shrink:0}.term-setup-dialog{width:min(580px,100%);max-height:calc(100vh - 36px);overflow-y:auto;padding:24px}.term-setup-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.term-setup-dialog h2{margin:0;color:#284b40;font-size:24px}.term-setup-dialog>p{margin:12px 0 20px;color:#5b6661;line-height:1.7}.term-setup-dialog form{display:grid;gap:16px}.term-setup-range{margin:0;padding:12px;border-radius:9px;background:#eef5ef;color:#284b40;font-size:13px}.term-setup-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0;margin:0;padding:0}.term-setup-options legend{margin-bottom:10px;color:#284b40;font-size:13px;font-weight:700}.term-setup-options label{display:flex;align-items:center;gap:10px;min-height:54px;padding:12px;border:1px solid #b7c8bf;border-radius:10px;cursor:pointer}.term-setup-options label:has(input:checked){border-color:#256b55;background:#eef5ef}.term-setup-options input{width:18px;accent-color:#256b55}.term-setup-preview{display:grid;gap:10px;padding:16px;border:1px solid #d2ded7;border-radius:10px;font-size:13px}.term-setup-preview>div{display:grid;grid-template-columns:64px 1fr 1fr;align-items:center;gap:12px}.term-setup-preview label{display:grid;gap:6px;color:#5b6661;font-size:12px}.term-setup-preview input{min-width:0;padding:8px;font-size:12px}.term-setup-preview input[readonly]{background:#f6f8f6;color:#5b6661}.term-setup-dialog small{color:#5b6661;line-height:1.7}.term-setup-dialog footer{display:flex;justify-content:end;gap:12px}.term-setup-dialog :where(footer) button{min-width:110px}.term-settings-list{display:grid;gap:12px;margin:0;padding:0;border:0;min-width:0}.term-setting-row{display:grid;grid-template-columns:28px minmax(100px,1fr) minmax(90px,1fr) minmax(130px,1.1fr) minmax(130px,1.1fr) 26px;gap:12px;padding:20px;align-items:center}.term-setting-row input{min-width:0;width:100%}.term-index{color:#256b55;font-size:19px;font-weight:800}.term-settings-footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;position:sticky;bottom:10px;background:#fffef8;border:1px solid #b7c8bf;border-radius:12px;padding:14px 20px;box-shadow:0 3px 10px #1c443215}.term-settings-footer span{color:#21624e;font-weight:700}.term-overview-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.term-overview-intro button{flex-shrink:0}.term-comparison-controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:18px 22px}.term-comparison-controls select{min-width:210px}.term-comparison-controls small{margin-left:auto;color:#56655e}.term-summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.term-summary-stats section{padding:12px 16px;display:grid;gap:5px}.term-summary-stats strong{font-size:27px;color:#235b47}.term-summary-stats span,.term-summary-stats small{font-size:12px;color:#50655a}.term-students{padding:0;overflow:hidden}.term-students>header{padding:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #d2ded7}.term-students h3{font-size:16px;margin:0}.term-student-controls{display:flex;gap:8px;flex-wrap:wrap}.term-student-controls input{width:140px}.term-student-controls select{max-width:190px}.term-table-scroll{overflow-x:auto}.term-table{border-collapse:collapse;width:100%;min-width:770px;text-align:left}.term-table th,.term-table td{padding:16px;border-bottom:1px solid #e1e8e3;vertical-align:top}.term-table thead{color:#365b49;background:#f0f5ef;font-size:13px}.term-detail th{width:auto}.term-detail small{font-weight:400}.term-table tbody>tr>th{width:180px}.term-table td strong{display:block;font-size:19px;color:#244a39;font-variant-numeric:tabular-nums}.term-table td small{display:block;color:#5c6961;font-size:11px;line-height:1.6;margin:6px 0}.term-change{display:block;margin-top:8px;font-size:11px;font-weight:700}.term-change.improved{color:#176746}.term-change.attention{color:#985126}.term-change.neutral{color:#64726a;font-weight:400}.term-detail{padding:12px;background:#f6f8f2;border-radius:10px}.term-detail h4{color:#2a5b43;margin:16px 0 10px}.term-detail table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}.term-method{border-left:3px solid #b8caba;padding:0 16px;line-height:1.7}.term-method p{margin:4px 0}.term-overview-empty{padding:25px}.term-button{background:#f8fbf5;color:#2b5341;border:1px solid #9fb8a9;border-radius:9px;padding:9px 14px;font-weight:700;box-shadow:0 2px #d6e2d8}.term-student-controls{align-items:center;flex-wrap:nowrap}.term-student-controls input,.term-student-controls select{width:auto;min-width:0;flex:1}.term-table-scroll:focus-visible{outline:3px solid #39775b;outline-offset:-3px}.routine-add:has(input[type=date]){flex-wrap:wrap}.routine-items time{font-size:12px;color:var(--ink-soft)}.performance-dashboard{gap:16px}.performance-dashboard .grade-intro{align-items:flex-start}.performance-empty{border:1px solid #e2e8e2;border-radius:12px;padding:16px 20px;background:#f7faf7}.performance-empty h3{font-size:16px;margin:0 0 6px}.performance-empty p{margin:0;color:#62716c;font-size:13px}.performance-dashboard .grade-intro h3{font-size:20px;margin:0 0 6px}.performance-dashboard .grade-intro p{margin:0;max-width:430px;font-size:13px}.performance-dashboard .performance-students{padding:20px}.performance-followup-filters{display:flex;gap:8px;border-bottom:1px solid #e2e8e2;padding-bottom:16px;margin-bottom:16px}.performance-followup-filters button{display:flex;align-items:center;gap:8px;border:1px solid #d9e2db;border-radius:8px;background:#fff;color:#405b4c;padding:10px 12px;min-height:44px;font:inherit;font-size:13px;cursor:pointer}.performance-followup-filters button[aria-pressed=true]{background:#e9f3ed;border-color:#638873;color:#254c38;font-weight:700}.performance-followup-filters span{min-width:20px;text-align:center;font-variant-numeric:tabular-nums}.performance-dashboard .performance-students header{margin-bottom:14px}.performance-dashboard .performance-students header h3{font-size:16px}.performance-dashboard .performance-students header p{margin:4px 0 0;font-size:12px}.performance-cell-note{display:block;margin-top:5px;font-size:11px;color:#64756a}.performance-dashboard .performance-note-cell{white-space:normal;overflow-wrap:anywhere;max-width:240px;font-size:12px;line-height:1.6}.performance-dashboard .performance-method{margin:14px 0 0;font-size:12px}.performance-dashboard .performance-student-filters{gap:8px;flex-wrap:nowrap}.performance-dashboard .performance-student-filters input{width:170px}.performance-dashboard .performance-filters[hidden]{display:none}.performance-dashboard .performance-filters{margin:0 0 14px}.performance-range-note{font-size:12px}.class-switcher{position:relative;display:inline-block;vertical-align:middle}.class-switcher-trigger{display:inline-flex;align-items:center;gap:16px;min-height:44px;border:1px solid transparent;border-radius:10px;background:transparent;color:#263f37;padding:6px 10px;font:inherit;font-size:24px;font-weight:800;line-height:1.25;cursor:pointer;box-shadow:none}.class-switcher-trigger:hover,.class-switcher-trigger[aria-expanded=true]{background:#fff;border-color:#4a6a82;transform:none}.class-switcher-trigger:focus-visible{outline:3px solid #4a6a82;outline-offset:3px}.class-switcher-chevron{flex-shrink:0;color:#60766b;transition:transform .15s ease}.class-switcher-trigger[aria-expanded=true] .class-switcher-chevron{transform:rotate(180deg)}.class-switcher-menu,.select-menu-options{position:absolute;top:calc(100% + 8px);left:0;display:block;z-index:100;width:294px;max-height:min(400px,calc(100vh - 160px));overflow-y:auto;padding:8px;border:1px solid #ceded5;border-radius:14px;background:#fff;box-shadow:0 12px 36px #193d2d2b,0 2px 6px #193d2d0d;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:normal}.class-switcher-group{display:block;padding:3px 0}.class-switcher-group+.class-switcher-group{border-top:1px solid #e5ece7;margin-top:6px;padding-top:9px}.class-switcher-group-label{display:block;padding:4px 12px 7px;color:#586b60;font-size:11px;font-weight:600;line-height:1.5}.class-switcher-option,.select-menu-option{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:10px 11px;border:0;border-radius:8px;background:#fff;color:#2d4539;text-align:left;font:inherit;font-size:14px;box-shadow:none;cursor:pointer}.class-switcher-option.is-highlighted,.select-menu-option.is-highlighted{background:#f0f4f7;transform:none}.class-switcher-option[aria-selected=true],.select-menu-option[aria-selected=true]{background:#e5eef5;color:#29465d;font-weight:700}.class-switcher-check,.select-menu-check{width:18px;flex-shrink:0;font-size:15px;text-align:center}.class-switcher-option-name{min-width:0;overflow-wrap:anywhere}.select-menu{position:relative;display:inline-block;flex:0 0 auto;width:198px;max-width:100%}.select-menu-trigger{display:flex;width:100%;min-height:40px;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:9px;padding:8px 12px;background:#fff;color:#263f37;font:inherit;font-size:13px;line-height:1.4;text-align:left;box-shadow:none}.select-menu-trigger:hover,.select-menu-trigger[aria-expanded=true]{border-color:#4a6a82;background:#fff;transform:none}.select-menu-trigger:focus-visible{outline:3px solid #4a6a82;outline-offset:3px}.select-menu-chevron{flex-shrink:0;color:#60766b;transition:transform .15s ease}.select-menu-trigger[aria-expanded=true] .select-menu-chevron{transform:rotate(180deg)}.select-menu-options{width:100%;min-width:198px}.admin-record-export{display:grid;gap:16px;container-type:inline-size}.admin-export-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.admin-export-settings,.admin-export-summary,.admin-export-preview{min-width:0;padding:22px}.admin-export-intro{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.admin-export-section{min-width:0;padding:0;margin:0;border:0}.admin-export-section+.admin-export-section{margin-top:24px;padding-top:10px;border-top:1px solid var(--line)}.admin-export-section legend,.admin-export-formats legend{padding:0;margin-bottom:14px;font-size:16px;font-weight:900}.admin-export-role-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--paper-deep)}.admin-export-role-switch label{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid transparent;border-radius:8px;font-weight:800;cursor:pointer}.admin-export-role-switch label:has(input:checked){color:var(--teal);background:var(--paper);border-color:var(--line);box-shadow:var(--shadow)}.admin-export-selection-actions{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0 12px}.admin-export-selection-actions .text-action{min-height:36px;padding:4px 0;border:0;background:transparent;box-shadow:none;font-size:13px}.admin-export-class-grid,.admin-export-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-export-class-grid label,.admin-export-kind-grid label,.admin-export-formats label{display:flex;align-items:center;gap:10px;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:12px;font-weight:700;cursor:pointer;overflow-wrap:anywhere}.admin-export-class-grid label:has(input:checked),.admin-export-kind-grid label:has(input:checked),.admin-export-formats label:has(input:checked){background:var(--teal-soft);border-color:var(--teal)}.admin-export-role-switch input,.admin-export-class-grid input,.admin-export-kind-grid input,.admin-export-formats input{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--teal)}.admin-export-kind-grid span,.admin-export-formats span{display:grid;gap:5px}.admin-export-kind-grid small,.admin-export-formats small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}.admin-export-records h4{margin:16px 0 10px;color:var(--muted);font-size:13px;font-weight:800}.admin-export-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-export-scope label,.admin-export-preview label{display:grid;gap:8px;min-width:0;font-size:13px;font-weight:700}.admin-export-scope input,.admin-export-scope select{width:100%;min-width:0}.admin-export-term{grid-column:1 / -1}.admin-export-summary{position:sticky;top:16px}.admin-export-summary h3,.admin-export-preview h3{margin:0;font-size:18px}.admin-export-summary-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-export-summary-values>h4:first-child{margin-top:0}.admin-export-summary-values{margin:14px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.admin-export-role-badge{display:inline-block;padding:5px 10px;border-radius:6px;color:var(--teal);background:var(--teal-soft);font-size:13px;font-weight:800}.admin-export-summary-values h4{margin:14px 0 6px;color:var(--muted);font-size:12px;font-weight:700}.admin-export-summary-values p{margin:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.admin-export-summary-classes,.admin-export-summary-records{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.admin-export-summary-classes li{width:100%;font-weight:800;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.admin-export-summary-records li{padding:5px 8px;border:1px solid var(--line);border-radius:6px;font-size:12px}.admin-export-formats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;margin:0;padding:0}.admin-export-formats label{gap:8px;padding:10px;font-size:13px}.admin-export-download{width:100%;margin-top:14px;font-size:14px}.admin-export-preview>header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.admin-export-preview select{max-width:100%}.admin-export-preview th,.admin-export-preview td{padding:12px;border-bottom:1px solid var(--line)}.admin-export-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.7}@container (max-width: 760px){.admin-export-layout{grid-template-columns:minmax(0,1fr)}.admin-export-summary{position:static}}@container (max-width: 420px){.admin-export-settings,.admin-export-summary,.admin-export-preview{padding:16px}.admin-export-class-grid,.admin-export-kind-grid,.admin-export-scope{grid-template-columns:minmax(0,1fr)}}.history-import-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0;max-width:520px}.history-import-methods legend{padding:0 0 8px;font-size:12px;font-weight:800}.history-import-methods label{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;border:1px solid #b7c9bf;border-radius:10px;cursor:pointer;font-weight:800;white-space:nowrap}.history-import-methods label.selected{border-color:var(--teal);background:var(--teal-soft)}.history-import-methods input{flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0;margin:0;accent-color:var(--teal)}.history-import-methods label:focus-within{outline:2px solid var(--teal);outline-offset:2px}.history-import-inputs{display:grid;grid-template-columns:minmax(0,520px) minmax(150px,220px);gap:16px;align-items:start}.history-import-file input{min-height:64px;font-size:14px;font-weight:400}.history-import-file input::file-selector-button{min-height:40px;margin-right:12px;border:2px solid var(--line);border-radius:10px;padding:.5rem .85rem;color:var(--ink);background:var(--paper);box-shadow:0 1px 2px #2b433914;font:inherit;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.history-import-file input:not(:disabled)::file-selector-button:hover{border-color:#9fb8a9;background:#f0f6f3;box-shadow:0 2px 5px #2b43391a}.history-import-file input:not(:disabled)::file-selector-button:active{background:#e7f0eb;box-shadow:none}.history-import-file input:disabled::file-selector-button{opacity:.65;cursor:not-allowed}.history-import-encoding,.history-import-paste label{display:grid;gap:5px;font-size:12px;font-weight:800}.history-import-filename{overflow-wrap:anywhere;font-weight:500}.history-import-paste{display:grid;gap:12px}.history-import-paste textarea{min-height:160px;width:100%;resize:vertical;line-height:1.7;font-weight:400}.history-import-paste>button{justify-self:end}@media(max-width:600px){.history-import-inputs{grid-template-columns:minmax(0,1fr)}}:root{--ui-primary: #287158;--ui-primary-soft: #e8f2ec;--ui-border: #c9d4cf;--ui-late: #80520e;--ui-absent: #9b3836}.console-shell{border-width:1px;border-radius:14px;box-shadow:none;grid-template-columns:270px minmax(0,1fr)}.console-shell .console-sidebar{border-width:1px;border-radius:12px}.console-shell .paper-card,.console-shell .console-topbar,.console-shell .console-page-heading{border-width:1px;border-radius:10px;box-shadow:none}.record-save-actions button{min-height:44px}.assignment-drawer-heading button{width:44px;height:44px;padding:0;font-size:26px}.assignment-drawer-actions button{min-height:44px}@media(min-width:1200px)and (hover:hover)and (pointer:fine){.console-shell .assignment-students{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.console-shell .assignment-student{padding:12px;gap:8px}.console-shell .assignment-student h3{font-size:16px}.console-shell .assignment-student-fields{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:8px}.console-shell .assignment-student-fields label{font-size:12px;gap:4px}.console-shell .assignment-student-fields :is(input,select){min-height:36px;padding:5px 8px}}.month-event-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600}.console-shell .assignment-counts>span{min-width:auto;flex:0 1 auto;padding:3px 6px;border-width:0;border-radius:4px;font-size:12px}.console-shell button,.class-picker-page button,.auth-card button,.assignment-drawer-backdrop button{border-width:1px;border-radius:8px;box-shadow:none;transform:none}.console-shell :is(input,select,textarea),.assignment-drawer :is(input,select,textarea){border-width:1px;border-radius:8px}.primary-action,.history-import footer .primary-action,.calendar-import-dialog footer .primary-action{border-color:var(--ui-primary);background:var(--ui-primary);color:#fff;box-shadow:none;transition:none}.primary-action:hover:not(:disabled){border-color:#205d49;background:#205d49;box-shadow:none;transform:none}.console-shell button:disabled,.assignment-drawer-backdrop button:disabled{color:#68776f;border-color:#d3dcd6;background:#eef1ee;box-shadow:none;opacity:1}.console-shell :is(button,a,input,select,textarea):focus-visible,.assignment-drawer-backdrop :is(button,input,select,textarea):focus-visible{outline:3px solid #287158;outline-offset:3px}.console-shell .nav-item[data-tab]{border:1px solid transparent;border-left-width:3px;min-height:46px;border-radius:8px;background:transparent;box-shadow:none}.console-shell .nav-submenu>button>span,.console-shell .nav-item[data-tab]>span,.console-shell .tool-setting-icon{display:inline-flex;flex:0 0 24px;width:24px;height:24px;border:0;border-radius:0;padding:0;align-items:center;justify-content:center;color:#35574a;background:transparent;box-shadow:none}.console-shell .nav-item[data-tab].active,.console-shell .nav-submenu>button.active{border:1px solid transparent;border-left:3px solid var(--ui-primary);background:var(--ui-primary-soft);color:#214d3b;box-shadow:none}.console-shell .nav-item[data-tab].active>span{border:0;color:var(--ui-primary);background:transparent}.console-shell .nav-submenu>button{min-height:44px;border:1px solid transparent;border-left-width:3px;background:transparent;box-shadow:none}.console-shell :is(.student-record-tabs,.groups-page-tabs,.admin-section-tabs){display:flex;flex-wrap:wrap;width:fit-content;max-width:100%;gap:4px;padding:4px;border:1px solid #d9e2db;border-radius:9px;background:#eef4ef;box-shadow:none}.console-shell :is(.student-record-tabs,.groups-page-tabs,.admin-section-tabs)>button{min-height:44px;margin:0;padding:8px 16px;border:1px solid transparent;border-radius:6px;color:#52665a;background:transparent;box-shadow:none}.console-shell :is(.student-record-tabs,.groups-page-tabs,.admin-section-tabs)>button:is(.active,[aria-selected=true]){border-color:#cbdcd1;background:#fff;color:#214d3b;box-shadow:none}.record-save-bar{position:sticky;bottom:12px;z-index:25;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;min-height:64px;padding:10px 14px;border:1px solid #a9c5b5;border-radius:10px;background:#fff;box-shadow:0 2px 12px #1f46351a}.record-save-actions{display:flex;gap:8px;margin-left:auto}.draft-state{color:#80520e;font-weight:700}.saved-state{color:#35574a}.console-shell :is(.assignment-records,.homeroom-duty-layout,.records-classroom){scroll-padding-bottom:90px}.console-shell .assignment-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px}.console-shell .assignment-open{min-width:0;border:0;background:transparent;text-align:left}.assignment-entry-actions{display:flex;gap:8px;align-items:center}.assignment-grade{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-height:44px}.assignment-more{position:relative}.assignment-more-trigger{min-width:44px;min-height:44px;font-size:22px;padding:0}.assignment-more-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;display:grid;min-width:200px;padding:5px;border:1px solid var(--ui-border);border-radius:8px;background:#fff;box-shadow:0 5px 18px #1f46351a}.console-shell .assignment-more-menu button{min-height:44px;border-color:transparent;text-align:left;background:#fff}.console-shell .assignment-more-menu .danger-menu-item{color:var(--ui-absent);border-top:1px solid #e4e9e5;border-radius:0 0 6px 6px}.console-shell .assignment-missing{grid-column:1 / -1;padding-top:8px;border-top:1px solid #e4e9e5}.console-shell .assignment-folders .assignment-folder{min-height:144px;padding:16px 20px;border-radius:10px;background:#fffefb;box-shadow:none;transform:none}.console-shell .assignment-folder .assignment-folder-icon{width:42px;height:34px}.assignment-drawer-backdrop{position:fixed;inset:0;z-index:120;display:flex;justify-content:flex-end;background:#193d303d}.assignment-drawer{width:min(520px,100vw);height:100dvh;display:flex;flex-direction:column;border-left:1px solid var(--ui-border);padding:20px 24px;background:#fff;box-shadow:-6px 0 24px #193d301a;overflow-y:auto}.assignment-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #e4e9e5}.assignment-drawer-heading h2{margin:0;font-size:22px}.assignment-drawer .assignment-create{display:flex;flex:1;flex-direction:column;gap:16px;padding:20px 0 0;border:0;background:#fff}.assignment-drawer .assignment-create label{display:grid;gap:7px}.assignment-drawer-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:20px}.assignment-delete-dialog{width:min(520px,calc(100vw - 32px));align-self:center;margin:auto;padding:24px;border:1px solid var(--ui-border);border-radius:12px;background:#fff}.assignment-drawer-backdrop .danger-action{background:#9b3836;color:#fff;border-color:#9b3836}.console-shell .month-day-count{display:grid;width:100%;height:auto;min-width:0;gap:5px;margin:8px 0 0;padding:5px 3px;border:0;border-radius:5px;background:transparent;color:#35574a;font-size:12px;text-align:left}.month-event-chip{display:flex;min-width:0;align-items:center;gap:5px}.month-event-chip .calendar-dot{width:7px;height:7px;flex:0 0 7px}.month-event-overflow{color:#52665a;font-size:11px}.console-shell .answer-minus{position:absolute;top:auto;bottom:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #c9d4cf;border-radius:8px;color:#35574a;background:#fff;box-shadow:none}.console-shell .record-seat-hit{min-height:142px;padding-bottom:52px;border-radius:inherit}.answer-increment{position:absolute;bottom:18px;left:12px;font-size:13px;font-weight:700;color:var(--ui-primary)}.console-shell :is(.attendance-seat-student,.homework-seat-student,.homeroom-student-card,.record-seat-hit){border-width:1px;box-shadow:none}.console-shell :is(.attendance-seat-student,.homework-seat-student,.seat-drag-card).gender-male,.console-shell .seat-grid button.occupied.gender-male,.console-shell .record-seat.gender-male .record-seat-hit{background:#eef4f9}.console-shell :is(.attendance-seat-student,.homework-seat-student,.seat-drag-card).gender-female,.console-shell .seat-grid button.occupied.gender-female,.console-shell .record-seat.gender-female .record-seat-hit{background:#fbf1f4}.console-shell .attendance-seat-student.late{border-color:#b78435;background:#fff3d9}.console-shell .attendance-seat-student.absent{border-color:#b86460;background:#fce9e7}.console-shell .homeroom-stats>div{background:#fff;border-color:#c9d4cf;box-shadow:none}.console-shell .homeroom-stats .present{border-color:#70a28b}.console-shell .homeroom-stats .late{border-color:#b78435}.console-shell .homeroom-stats .absent{border-color:#b86460}.console-shell .homeroom-stats .present strong{color:#287158}.console-shell .homeroom-stats .late strong{color:#80520e}.console-shell .homeroom-stats .absent strong{color:#9b3836}.console-shell .homeroom-stats .total strong{color:#35574a}.console-shell .attendance-seat-student,.console-shell .attendance-seat-board.dense .attendance-seat-student{grid-template-columns:minmax(0,1fr);gap:5px;padding:8px;min-height:104px;text-align:center}.console-shell .attendance-seat-student .student-number{grid-column:1;width:auto;height:auto;justify-self:center;padding:0;border-radius:0;background:transparent}.console-shell .attendance-seat-student b,.console-shell .attendance-seat-board.dense .attendance-seat-student b{grid-column:1 / -1;white-space:nowrap;font-size:16px;line-height:1.4}.console-shell .attendance-seat-student em{grid-column:2;grid-row:1;border:0;color:#52665a}.console-shell .homework-seat-student.missing,.console-shell .homeroom-student-card.missing,.console-shell .record-seat.missing .record-seat-hit{background:#fce9e7;border-color:#b86460}@media(max-width:1100px){.console-shell.calendar-focus{grid-template-columns:minmax(0,1fr)}.console-shell .console-topbar{min-height:64px}.console-shell .assignment-open{grid-template-columns:44px minmax(0,1fr);gap:10px}.console-shell .assignment-counts,.console-shell .assignment-progress{grid-column:2}}@media(max-width:800px){.console-shell .assignment-entry{grid-template-columns:minmax(0,1fr)}.assignment-entry-actions{justify-content:flex-end}.record-save-bar{padding:8px 10px;bottom:6px}}@media print{.record-save-bar,.assignment-entry-actions{display:none}}.console-shell .calendar-menu-trigger{border-color:#c9d4cf;background:#fff}.console-drawer-context{display:grid;gap:2px;min-width:0;padding-left:8px;color:#214d3b}.console-drawer-context small{color:#52665a;font-size:12px}.console-shell .record-seat.occupied{border:0;border-radius:8px;padding:0;background:transparent;box-shadow:none}.console-shell .records-summary>div{border-width:1px;border-radius:8px;background:#fff;box-shadow:none}.console-shell .assignment-directory{--assignment-content-columns: 64px minmax(140px, 1fr) minmax(150px, .9fr) 120px}.console-shell .assignment-columns{grid-template-columns:var(--assignment-content-columns) 194px}.console-shell .assignment-entry{grid-template-columns:minmax(0,1fr) 194px;gap:10px 12px}.assignment-drawer .grade-category{display:grid;gap:7px}.assignment-drawer .grade-category-switcher,.assignment-drawer .class-switcher-trigger{width:100%}@media(max-width:1100px){.console-shell .assignment-columns{display:none}}@media(max-width:800px){.console-shell .assignment-entry{grid-template-columns:minmax(0,1fr)}}body:has(.record-save-bar) .beta-feedback-trigger{bottom:104px}.toast{pointer-events:none}.primary-action:active{background:#205d49;box-shadow:none;transform:none}.homeroom-register-layout{grid-template-columns:minmax(0,1fr)}.attendance-seating-card{min-width:0}.console-shell .group-board article{border-width:1px;border-radius:8px;box-shadow:none}.console-shell .group-board article>header{border-bottom-width:1px}
