:root{--ss-colors-primary:#F97316;--ss-colors-primaryStrong:#C2410C;--ss-colors-primaryHover:#9A3412;--ss-colors-onPrimary:#ffffff;--ss-colors-background:#FFF9F2;--ss-colors-surface:#FFFFFF;--ss-colors-surfaceMuted:#FFF7ED;--ss-colors-surfaceAccent:#FFEDD5;--ss-colors-text:#202938;--ss-colors-muted:#687383;--ss-colors-mutedStrong:#4B5563;--ss-colors-border:#E8DED3;--ss-colors-accent:#FFB703;--ss-colors-danger:#B91C1C;--ss-colors-onDanger:#ffffff;--ss-colors-warning:#B45309;--ss-colors-onWarning:#ffffff;--ss-colors-success:#15803D;--ss-colors-onSuccess:#ffffff;--ss-colors-info:#2563EB;--ss-colors-onInfo:#ffffff;--ss-colors-focusRing:#C2410C;--ss-colors-overlay:#20293899;--ss-colors-helperTeal:#0F766E;--ss-colors-helperPurple:#7C3AED;--ss-fontSize-caption:12px;--ss-fontSize-small:14px;--ss-fontSize-body:16px;--ss-fontSize-title:20px;--ss-fontSize-heading:28px;--ss-fontSize-display:36px;--ss-spacing-xs:4px;--ss-spacing-sm:8px;--ss-spacing-md:12px;--ss-spacing-lg:16px;--ss-spacing-xl:20px;--ss-spacing-xxl:24px;--ss-spacing-page:32px;--ss-spacing-section:48px;--ss-radius-button:12px;--ss-radius-card:16px;--ss-radius-sm:8px;--ss-radius-md:12px;--ss-radius-lg:20px;--ss-radius-pill:999px;--ss-elevation-none:none;--ss-elevation-sm:0 1px 2px #20293814;--ss-elevation-md:0 8px 24px #20293814;--ss-elevation-lg:0 18px 48px #2029381f;--ss-motion-fast:120ms;--ss-motion-normal:200ms;--ss-motion-slow:320ms;--ss-focus-ringWidth:3px;--ss-focus-ringOffset:3px;--ss-gameColors-board:#FFF7ED;--ss-gameColors-card:#FFFFFF;--ss-gameColors-cardFace:#C2410C;--ss-gameColors-cardMatched:#BBF7D0;--ss-gameColors-accentA:#2563EB;--ss-gameColors-accentB:#FFB703;--ss-gameColors-accentPurple:#7C3AED;--ss-gameColors-accentTeal:#0F766E;--ss-gameColors-success:#15803D;--ss-gameColors-danger:#B91C1C;--ss-colors-on-primary:var(--ss-colors-onPrimary);--ss-focus-ring:var(--ss-focus-ringWidth) solid var(--ss-colors-focusRing)}.ss-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--ss-spacing-sm);min-height:44px;padding:12px 18px;border:1px solid transparent;border-radius:var(--ss-radius-button);font:inherit;font-size:var(--ss-fontSize-small);font-weight:650;line-height:1.2;cursor:pointer;transition:background var(--ss-motion-fast) ease,border-color var(--ss-motion-fast) ease,transform var(--ss-motion-fast) ease}.ss-button:disabled{opacity:.55;cursor:not-allowed}.ss-button:focus-visible{outline:var(--ss-focus-ring);outline-offset:var(--ss-focus-ringOffset)}.ss-button--primary{background:var(--ss-colors-primaryStrong);color:var(--ss-colors-onPrimary)}.ss-button--primary:hover:not(:disabled){background:var(--ss-colors-primaryHover)}.ss-button--primary:disabled{opacity:.55}.ss-button--secondary{background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-primaryStrong);border-color:var(--ss-colors-border)}.ss-button--secondary:hover:not(:disabled){background:var(--ss-colors-accent);color:var(--ss-colors-text)}.ss-button--ghost{background:transparent;color:var(--ss-colors-text);border-color:var(--ss-colors-border)}.ss-button--danger{background:var(--ss-colors-danger);color:var(--ss-colors-onDanger)}.ss-button--danger:hover:not(:disabled){filter:brightness(.92)}.ss-button--sm{min-height:36px;padding:8px 12px;font-size:var(--ss-fontSize-caption)}.ss-icon-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-sm);background:var(--ss-colors-surface);color:var(--ss-colors-text);cursor:pointer}.ss-icon-button:focus-visible{outline:var(--ss-focus-ring);outline-offset:var(--ss-focus-ringOffset)}.ss-card{background:var(--ss-colors-surface);border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-card);padding:var(--ss-spacing-page);box-shadow:var(--ss-elevation-sm)}.ss-card--muted{background:var(--ss-colors-surfaceMuted)}.ss-card--interactive{transition:box-shadow var(--ss-motion-fast) ease,border-color var(--ss-motion-fast) ease}.ss-card--interactive:hover{border-color:var(--ss-colors-primary);box-shadow:var(--ss-elevation-md)}.ss-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--ss-radius-pill);font-size:var(--ss-fontSize-caption);font-weight:650;line-height:1.3;background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-primaryStrong)}.ss-badge--success{background:color-mix(in srgb,var(--ss-colors-success) 14%,white);color:var(--ss-colors-success)}.ss-badge--warning{background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-warning)}.ss-badge--danger{background:color-mix(in srgb,var(--ss-colors-danger) 12%,white);color:var(--ss-colors-danger)}.ss-badge--info{background:color-mix(in srgb,var(--ss-colors-info) 12%,white);color:var(--ss-colors-info)}.ss-alert{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;border-radius:var(--ss-radius-md);border:1px solid var(--ss-colors-border);background:var(--ss-colors-surfaceMuted);color:var(--ss-colors-text)}.ss-alert--danger{border-color:#f0c4c4;background:#fdf5f5;color:var(--ss-colors-danger)}.ss-alert--success{border-color:#c7e6d2;background:#f3faf6;color:var(--ss-colors-success)}.ss-alert--warning{border-color:#f0dfb0;background:#fffaf0;color:var(--ss-colors-warning)}.ss-alert__title{font-weight:700}.ss-alert__body,.ss-alert__title{margin:0;font-size:var(--ss-fontSize-small)}.ss-alert__body{line-height:1.5}.ss-field{display:grid;grid-gap:var(--ss-spacing-sm);gap:var(--ss-spacing-sm)}.ss-field__label{font-size:var(--ss-fontSize-small);font-weight:600;color:var(--ss-colors-text)}.ss-field__hint{color:var(--ss-colors-mutedStrong)}.ss-field__error,.ss-field__hint{margin:0;font-size:var(--ss-fontSize-caption)}.ss-field__error{color:var(--ss-colors-danger)}.ss-field__control{width:100%;min-height:44px;padding:11px 12px;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-button);background:var(--ss-colors-surface);color:var(--ss-colors-text);font:inherit;box-sizing:border-box}.ss-field__control:focus-visible{outline:var(--ss-focus-ring);outline-offset:var(--ss-focus-ringOffset);border-color:var(--ss-colors-primary)}.ss-field--invalid .ss-field__control{border-color:var(--ss-colors-danger)}.ss-dialog-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:var(--ss-spacing-lg);background:var(--ss-colors-overlay)}.ss-dialog{width:min(100%,480px);max-height:min(90vh,720px);overflow:auto;padding:var(--ss-spacing-xxl);border-radius:var(--ss-radius-lg);background:var(--ss-colors-surface);box-shadow:var(--ss-elevation-lg);color:var(--ss-colors-text)}.ss-dialog__title{margin:0 0 var(--ss-spacing-sm);font-size:var(--ss-fontSize-title)}.ss-dialog__body{margin:0 0 var(--ss-spacing-xl);color:var(--ss-colors-mutedStrong);line-height:1.55}.ss-dialog__actions{display:flex;flex-wrap:wrap;gap:var(--ss-spacing-sm);justify-content:flex-end}.ss-tabs{display:grid;grid-gap:var(--ss-spacing-lg);gap:var(--ss-spacing-lg)}.ss-tabs__list{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:var(--ss-radius-md);background:var(--ss-colors-surfaceMuted);border:1px solid var(--ss-colors-border)}.ss-tabs__tab{min-height:40px;padding:8px 14px;border:0;border-radius:var(--ss-radius-sm);background:transparent;color:var(--ss-colors-mutedStrong);font:inherit;font-weight:650;cursor:pointer}.ss-tabs__tab[aria-selected=true]{background:var(--ss-colors-surface);color:var(--ss-colors-primaryStrong);box-shadow:var(--ss-elevation-sm),inset 0 -2px 0 var(--ss-colors-primary)}.ss-tabs__tab:focus-visible{outline:var(--ss-focus-ring);outline-offset:var(--ss-focus-ringOffset)}.ss-skeleton{display:block;border-radius:var(--ss-radius-sm);background:linear-gradient(90deg,var(--ss-colors-border),var(--ss-colors-accent),var(--ss-colors-border));background-size:200% 100%;animation:ss-skeleton var(--ss-motion-slow) ease-in-out infinite}@media (prefers-reduced-motion:reduce){.ss-skeleton{animation:none;background:var(--ss-colors-border)}}@keyframes ss-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.ss-empty{display:grid;justify-items:center;grid-gap:var(--ss-spacing-md);gap:var(--ss-spacing-md);padding:var(--ss-spacing-section) var(--ss-spacing-page);text-align:center;color:var(--ss-colors-mutedStrong)}.ss-empty__icon{font-size:36px;color:var(--ss-colors-primaryStrong)}.ss-empty__title{margin:0;color:var(--ss-colors-text);font-size:var(--ss-fontSize-title)}.ss-empty__body{margin:0;max-width:36rem;line-height:1.6}.ss-page-header{display:grid;grid-gap:var(--ss-spacing-sm);gap:var(--ss-spacing-sm);margin-bottom:var(--ss-spacing-xxl)}.ss-page-header__eyebrow{margin:0;color:var(--ss-colors-mutedStrong);font-size:var(--ss-fontSize-caption);font-weight:750;letter-spacing:.12em;text-transform:uppercase}.ss-page-header__title{margin:0;font-size:clamp(1.5rem,2vw,2rem);letter-spacing:-.03em}.ss-page-header__description{margin:0;max-width:42rem;color:var(--ss-colors-mutedStrong);line-height:1.6}.ss-page-header__row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--ss-spacing-lg)}.ss-toast-region{position:fixed;z-index:50;right:var(--ss-spacing-lg);bottom:var(--ss-spacing-lg);display:grid;grid-gap:var(--ss-spacing-sm);gap:var(--ss-spacing-sm);width:min(360px,calc(100vw - 32px))}.ss-toast{padding:12px 14px;border-radius:var(--ss-radius-md);border:1px solid var(--ss-colors-border);background:var(--ss-colors-surface);box-shadow:var(--ss-elevation-md);color:var(--ss-colors-text);font-size:var(--ss-fontSize-small)}.ss-toast--success{border-color:#c7e6d2}.ss-toast--danger{border-color:#f0c4c4;color:var(--ss-colors-danger)}.ss-game-board{padding:var(--ss-spacing-lg);border-radius:var(--ss-radius-card);background:var(--ss-gameColors-board)}.ss-game-board,.ss-radio-group{border:1px solid var(--ss-colors-border)}.ss-radio-group{border-radius:var(--ss-radius-md);padding:10px 12px;margin:0;display:grid;grid-gap:6px;gap:6px;background:var(--ss-colors-surface)}.ss-radio-group--horizontal{grid-auto-flow:column;grid-auto-columns:max-content;gap:12px}.ss-radio-group__legend{padding:0 4px;font-weight:650;font-size:var(--ss-fontSize-caption)}.ss-radio{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px;border-radius:var(--ss-radius-sm);cursor:pointer}.ss-radio:hover{background:var(--ss-colors-surfaceAccent)}.ss-radio input{width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:var(--ss-colors-primaryStrong)}.ss-radio__label{line-height:1.35}*{box-sizing:border-box}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--ss-focus-ring);outline-offset:var(--ss-focus-ringOffset)}.teacher-shell{display:flex;min-height:100dvh}.teacher-sidebar{width:260px;flex-shrink:0;padding:32px 18px;background:var(--ss-colors-surface);border-right:1px solid var(--ss-colors-border);display:flex;flex-direction:column}.teacher-brand{color:var(--ss-colors-primaryStrong);font-size:24px;font-weight:800;text-decoration:none;letter-spacing:-1px}.teacher-brand span{display:block;margin-top:7px;color:var(--ss-colors-mutedStrong);font-size:12px;font-weight:400;letter-spacing:0}.teacher-nav{display:grid;grid-gap:14px;gap:14px;margin-top:28px}.teacher-nav-group-toggle{width:100%;border:0;background:transparent;color:var(--ss-colors-mutedStrong);font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:4px 12px}.teacher-nav-group-items{display:grid;grid-gap:4px;gap:4px}.teacher-drawer nav button,.teacher-more-item,.teacher-sidebar nav button{display:flex;gap:12px;align-items:center;border:0;border-radius:10px;padding:12px 14px;background:transparent;text-align:left;color:#56645f;font-size:14px;font-weight:600}.teacher-drawer nav button span,.teacher-more-item span,.teacher-sidebar nav button span{font-size:20px}.teacher-bottom-nav button[aria-current],.teacher-drawer nav button[aria-current],.teacher-more-item[aria-current],.teacher-sidebar nav button[aria-current]{background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-primaryStrong);box-shadow:inset 3px 0 0 var(--ss-colors-primary)}.teacher-sidebar-note{margin-top:auto;padding-top:40px;color:var(--ss-colors-mutedStrong);font-size:13px;line-height:1.7}.teacher-main{flex:1 1;min-width:0;padding-bottom:0}.teacher-topbar{min-height:72px;padding:18px 32px;border-bottom:1px solid var(--ss-colors-border);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:var(--ss-colors-mutedStrong)}.teacher-topbar-start{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:1.4px}.teacher-bottom-nav,.teacher-drawer,.teacher-drawer-backdrop,.teacher-menu-trigger,.teacher-more-sheet{display:none}.teacher-topbar-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.teacher-topbar-meta>span{overflow-wrap:anywhere}.school-context-pill{display:inline-flex;align-items:center;max-width:280px;padding:6px 10px;border-radius:var(--ss-radius-pill);background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-primaryStrong);font-weight:650;font-size:11px;letter-spacing:.2px}.school-selector select{width:min(100%,280px);min-width:0;padding:10px 12px;border:1px solid var(--ss-colors-border);border-radius:10px;background:#fff}.school-list-search{display:block;max-width:360px;margin:12px 0 0}.school-list-search input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--ss-colors-border);border-radius:10px;background:#fff}.guardian-shell{max-width:720px;margin:0 auto;padding:40px 24px 80px;color:var(--ss-colors-text);background:linear-gradient(180deg,var(--ss-colors-surfaceAccent),var(--ss-colors-background) 180px)}.guardian-header{margin-bottom:28px}.guardian-header h1{margin:8px 0 10px;font-size:clamp(28px,4vw,40px);letter-spacing:-1px}.guardian-card{margin-bottom:16px}.guardian-password-row{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:center}.guardian-child-chips{list-style:none;margin:14px 0 0;display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 0 4px}.guardian-child-chips li{flex:0 0 auto}.guardian-chip{display:grid;grid-gap:4px;gap:4px;min-width:132px;min-height:64px;padding:12px 14px;border-radius:14px;border:1px solid var(--ss-colors-border);background:#fff;text-align:left;touch-action:manipulation}.guardian-chip.is-active{border-color:var(--ss-colors-primaryStrong);box-shadow:0 0 0 2px color-mix(in srgb,var(--ss-colors-primaryStrong) 25%,transparent)}.guardian-chip small{color:var(--ss-colors-muted);font-size:12px}.guardian-dash-grid{display:grid;grid-gap:12px;gap:12px;margin-top:12px}.guardian-section-card{padding:14px 16px;border:1px solid var(--ss-colors-border);border-radius:14px;background:var(--ss-colors-surfaceMuted)}.guardian-section-card h3{margin:0 0 8px;font-size:15px}.guardian-context{margin:0 0 4px}.guardian-meta{color:var(--ss-colors-muted);font-size:13px}@media (max-width:420px){.guardian-shell{padding:24px 16px 96px}.guardian-chip{min-width:148px;min-height:72px}}.auth-password-field{display:grid;grid-gap:8px;gap:8px}.auth-password-toggle{justify-self:start;min-height:36px;padding:6px 12px}.teacher-onboarding{margin-bottom:18px}.teacher-form{display:grid;grid-gap:12px;gap:12px;margin:16px 0 24px;max-width:420px}.teacher-form label{display:grid;grid-gap:6px;gap:6px;font-size:13px}.teacher-form input{padding:10px 12px;border:1px solid var(--ss-colors-border);border-radius:10px}.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}button.ghost{background:transparent;border:1px solid var(--ss-colors-border);color:var(--ss-colors-text)}.school-role-chip{margin:16px 0 0;font-size:14px;color:#56645f}.classroom-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-gap:10px;gap:10px}.classroom-list li{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--ss-colors-border);border-radius:12px;background:var(--ss-colors-surfaceMuted)}.classroom-list small{color:var(--ss-colors-muted)}.progress-series-grid{display:grid;grid-gap:18px;gap:18px;margin-top:16px}@media (min-width:800px){.progress-series-grid{grid-template-columns:1fr 1fr}}.progress-trend h4{margin:0 0 10px;font-size:15px}.progress-bars{display:flex;align-items:flex-end;gap:8px;min-height:120px;padding:12px;border:1px solid var(--ss-colors-border);border-radius:12px;background:#f7faf6}.progress-bar-col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100px;justify-content:flex-end}.progress-bar-fill{width:100%;max-width:28px;min-height:4px;border-radius:6px 6px 2px 2px;background:#4d7a5c}.progress-bar-col span{font-size:11px;color:var(--ss-colors-muted)}.school-state h2{margin-bottom:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.teacher-content{max-width:1120px;padding:42px 48px 64px;margin:auto}.teacher-eyebrow{margin:0 0 20px;font-size:11px;font-weight:750;letter-spacing:2px;color:#52645a}.teacher-content h1{font-size:clamp(30px,3.5vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 18px;font-weight:650}.teacher-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px;background:var(--ss-colors-surfaceAccent);border:1px solid var(--ss-colors-border);border-radius:20px}.teacher-hero>div:first-child{max-width:470px}.teacher-card p,.teacher-hero p,.teacher-lead,.teacher-notice p,.teacher-steps p{color:var(--ss-colors-muted);line-height:1.7;font-size:15px}.teacher-primary,.teacher-secondary{border:0;border-radius:var(--ss-radius-button);padding:13px 20px;font-weight:600;font-size:14px}.teacher-primary{color:var(--ss-colors-onPrimary);background:var(--ss-colors-primaryStrong)}.teacher-primary:hover:not(:disabled){background:var(--ss-colors-primaryHover)}.teacher-primary span{margin-left:20px}.teacher-secondary{background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-primaryStrong)}.teacher-secondary:hover:not(:disabled){background:var(--ss-colors-accent);color:var(--ss-colors-text)}.teacher-hero .teacher-primary{margin-top:12px}.teacher-paper{width:220px;min-width:180px;flex-shrink:0;padding:24px;background:#fffef9;border:1px solid #dedfcf;border-radius:4px;box-shadow:0 12px 24px #33483d12;transform:rotate(4deg)}.teacher-paper>span{font-size:8px;letter-spacing:1.6px;color:#56625b}.teacher-paper-title{font-family:Georgia,serif;font-size:21px;margin:24px 0;color:#345146;line-height:1.3}.teacher-paper hr{border:0;border-top:1px solid #e4e6da}.teacher-paper-line{height:5px;background:#edf0e5;margin:12px 0;border-radius:3px}.teacher-paper-line.short{width:70%}.teacher-paper-boxes{display:flex;gap:8px;margin:20px 0 26px}.teacher-paper-boxes i{width:44px;height:40px;border:1px solid #d9e1d3;border-radius:5px}.teacher-paper small{font-size:9px;color:#7b897b}.teacher-content h2{font-size:17px;font-weight:650;margin:0 0 8px}.teacher-flow{margin:28px 0;padding:0 2px}.teacher-flow p{color:var(--ss-colors-muted);font-size:13px;line-height:2}.teacher-card{background:white;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-card);padding:var(--ss-spacing-page);margin:22px 0}.teacher-back,.teacher-link{border:0;background:transparent;color:var(--ss-colors-primaryStrong);padding:0;font-size:13px;font-weight:600}.teacher-back{margin-bottom:28px}.teacher-empty{text-align:center;padding:56px 28px}.teacher-empty p{max-width:520px;margin:12px auto 24px}.teacher-empty-icon{display:block;font-size:40px;color:var(--ss-colors-primaryStrong);margin-bottom:20px}.teacher-account{display:grid;grid-template-columns:100px 1fr;grid-gap:16px;gap:16px;font-size:14px;margin:26px 0}.teacher-account dt{color:var(--ss-colors-muted)}.teacher-account dd{margin:0;overflow-wrap:anywhere}.teacher-steps{list-style:none;display:grid;grid-gap:16px;gap:16px;padding:0;margin:30px 0}.teacher-steps li{display:flex;gap:18px;padding:24px;background:white;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-card)}.teacher-steps p{margin:0}.teacher-step-number{display:grid;place-items:center;background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-primaryStrong);width:34px;height:34px;flex-shrink:0;border-radius:50%;font-size:14px;font-weight:700}.teacher-notice{border-left:3px solid var(--ss-colors-primary);padding:10px 24px;margin-top:28px}@media (max-width:1000px){.teacher-sidebar{display:none}.teacher-menu-trigger{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-button);background:var(--ss-colors-surface);color:var(--ss-colors-text);font-weight:650}.teacher-drawer-backdrop{display:block;position:fixed;inset:0;z-index:30;background:var(--ss-colors-overlay)}.teacher-drawer{display:flex;flex-direction:column;position:fixed;z-index:31;top:0;left:0;width:min(320px,92vw);height:100dvh;padding:20px 16px;background:var(--ss-colors-surface);box-shadow:var(--ss-elevation-lg);overflow:auto}.teacher-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.teacher-topbar{padding:16px 20px}.teacher-content{padding:28px 20px 48px}.teacher-hero{padding:30px}.teacher-paper{display:none}}@media (max-width:760px){.teacher-shell{flex-direction:column;padding-bottom:72px}.teacher-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:2px;gap:2px;position:fixed;z-index:25;left:0;right:0;bottom:0;min-height:64px;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:var(--ss-colors-surface);border-top:1px solid var(--ss-colors-border);box-shadow:var(--ss-elevation-md)}.teacher-bottom-nav button{display:grid;justify-items:center;grid-gap:2px;gap:2px;border:0;border-radius:10px;background:transparent;color:var(--ss-colors-mutedStrong);font-size:10px;font-weight:650;padding:6px 2px;min-width:0}.teacher-bottom-nav button span{font-size:18px}.teacher-more-sheet{display:grid;place-items:end center;position:fixed;inset:0;z-index:28;background:var(--ss-colors-overlay);padding:16px}.teacher-more-sheet-card{width:min(100%,420px);max-height:min(70vh,520px);overflow:auto;display:grid;grid-gap:8px;gap:8px;padding:18px;border-radius:var(--ss-radius-lg);background:var(--ss-colors-surface);box-shadow:var(--ss-elevation-lg)}.teacher-topbar{min-height:60px;padding:12px 16px;flex-wrap:wrap}.teacher-content{padding:22px 16px 32px}.teacher-hero{padding:22px}.teacher-card{padding:20px}.teacher-steps li{padding:18px 14px;gap:12px}.teacher-account{grid-template-columns:72px 1fr}.school-selector select{width:100%}}.account-form{display:grid;grid-gap:var(--ss-spacing-lg);gap:var(--ss-spacing-lg)}.account-form label{display:grid;grid-gap:var(--ss-spacing-sm);gap:var(--ss-spacing-sm);font-size:var(--ss-fontSize-small)}.account-form input:not([type=checkbox]),.account-form select,.account-form textarea{width:100%;padding:12px;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-button);background:var(--ss-colors-surface);color:var(--ss-colors-text)}.account-actions{display:flex;gap:12px;flex-wrap:wrap}.account-form .grade-choice{display:inline-flex;flex-direction:row;align-items:center;margin:8px}.form-error{color:var(--ss-colors-danger)}.document-layout-editor{display:grid;grid-gap:16px;gap:16px;padding:20px;border:1px solid var(--ss-colors-border);border-radius:12px;background:var(--ss-colors-surfaceMuted)}.document-layout-editor h3,.document-layout-editor h4{margin:0}.layout-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.layout-block label,.layout-settings label{display:grid;grid-gap:6px;gap:6px;font-size:13px}.layout-block textarea,.layout-settings input,.layout-settings select{padding:9px;border:1px solid var(--ss-colors-border);border-radius:8px}.layout-checks{display:flex;gap:18px;flex-wrap:wrap}.layout-check,.layout-checks label{display:flex!important;align-items:center;gap:8px!important}.layout-blocks{display:grid;grid-gap:8px;gap:8px}.layout-block{display:flex;gap:10px;align-items:center;border:1px solid #dce3dc;border-radius:8px;padding:10px;background:white}.layout-block label{flex:1 1}.layout-block textarea{min-height:70px;resize:vertical}.drag-handle{cursor:-webkit-grab;cursor:grab;font-size:22px;color:#52645a}.layout-image{width:74px;height:54px;object-fit:contain}.image-upload{position:relative;overflow:hidden;cursor:pointer}.image-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.live-pdf{border:1px solid var(--ss-colors-border);border-radius:12px;padding:12px}.live-pdf-title{display:flex;justify-content:space-between;padding:6px 4px 12px}.live-pdf iframe{width:100%;height:520px;border:0;background:#f3f4f1}@media(max-width:640px){.live-pdf iframe{height:380px}.layout-block{flex-wrap:wrap}}.marketing-site{color:var(--ss-colors-text);overflow:hidden}.marketing-nav{max-width:1240px;min-height:92px;padding:20px 34px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.marketing-nav nav{display:flex;align-items:center;gap:26px}.marketing-nav nav a,.marketing-text-link{color:#50645a;text-decoration:none;font-size:14px;font-weight:600}.marketing-hero{max-width:1240px;min-height:590px;padding:76px 34px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;grid-gap:70px;gap:70px}.marketing-hero-copy h1{max-width:660px;margin:0 0 22px;font-size:clamp(42px,5.8vw,70px);line-height:1.05;letter-spacing:-3px;font-weight:650}.marketing-hero-copy>p:not(.teacher-eyebrow){max-width:590px;color:#64736a;font-size:18px;line-height:1.75}.marketing-hero-copy .account-actions{margin:30px 0 18px;align-items:center}.marketing-hero-copy small{color:var(--ss-colors-mutedStrong)}.marketing-hero-art{min-height:400px;position:relative;display:grid;place-items:center;background:#e8eee4;border-radius:48% 52% 45% 55%/54% 44% 56% 46%}.marketing-paper{width:min(320px,75%);padding:28px 27px 22px;background:#fffefa;box-shadow:0 25px 60px #26352d20;transform:rotate(3deg)}.marketing-paper>small{font-size:8px;letter-spacing:1px;color:#5c6a62}.marketing-paper h2{margin:28px 0 6px;font:700 24px Georgia,serif;color:#314d3e}.marketing-paper p{margin:0 0 20px;font-size:12px}.marketing-question{padding:12px 0;border-top:1px solid #e3e7de;font:14px Georgia,serif}.marketing-question span{display:inline-block;width:40px;border-bottom:1px solid #728478;margin-left:8px}.marketing-paper footer{padding-top:13px;font-size:8px;color:#64736a}.marketing-badge{position:absolute;bottom:40px;right:0;padding:14px 19px;border:1px solid #dbe3d6;background:#fffefa;border-radius:30px;box-shadow:0 10px 25px #26352d12;font-size:12px;font-weight:700}.marketing-section{max-width:1240px;margin:auto;padding:96px 34px}.marketing-section-head{max-width:620px;margin-bottom:38px}.marketing-sample h2,.marketing-section-head h2{margin:0 0 12px;font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-1.7px;font-weight:650}.marketing-sample>div>p:not(.teacher-eyebrow),.marketing-section-head>p:last-child{color:#4f5c55;font-size:16px;line-height:1.7}.marketing-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.marketing-feature-grid article{min-height:225px;padding:28px;background:#fff;border:1px solid var(--ss-colors-border);border-radius:16px}.marketing-feature-grid article>span{color:#4b6854;font-size:12px;font-weight:800;letter-spacing:1px}.marketing-feature-grid h3{margin:35px 0 10px;font-size:19px}.marketing-feature-grid p{margin:0;color:#69766e;font-size:14px;line-height:1.7}.marketing-sample{max-width:1240px;margin:24px auto;padding:62px;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;grid-gap:50px;gap:50px;background:var(--ss-colors-surfaceAccent);border-radius:24px}.marketing-sample iframe{width:100%;min-height:520px;border:1px solid #d9e0d5;background:white;border-radius:10px}.marketing-button-link{display:inline-block;text-decoration:none;margin-top:16px}.marketing-pricing{display:grid;grid-template-columns:1fr .7fr;align-items:center;grid-gap:70px;gap:70px}.marketing-price-card{padding:30px;display:grid;grid-gap:20px;gap:20px;background:#fff;border:1px solid #dce4d9;border-radius:18px;box-shadow:0 15px 42px #2f44350a}.marketing-price-card h3{margin:16px 0 4px;font-size:22px}.marketing-price-card p,.marketing-price-card small{color:#68766d;line-height:1.6}.marketing-price-card>strong{font-size:28px;color:#245b47}.marketing-pill{display:inline-block;padding:7px 11px;background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-primaryStrong);border-radius:20px;font-size:10px;letter-spacing:1px;font-weight:800}.marketing-faq{max-width:820px;border-top:1px solid #dce4d9}.marketing-faq details{padding:20px 2px;border-bottom:1px solid #dce4d9}.marketing-faq summary{cursor:pointer;font-weight:650}.marketing-faq details p{margin:14px 0 0;color:#69766e;line-height:1.7}.marketing-footer{max-width:1240px;margin:auto;padding:30px 34px 50px;justify-content:space-between;border-top:1px solid #e0e6de;color:#56625b;font-size:13px}.marketing-footer,.teacher-topbar>div{display:flex;align-items:center;gap:20px}.teacher-sidebar nav{max-height:calc(100dvh - 190px);overflow-y:auto}.teacher-sidebar nav button{padding:12px}.teacher-sidebar nav button span{width:22px;text-align:center}.dashboard-today{display:grid;grid-gap:20px;gap:20px;padding:32px;background:var(--ss-colors-surfaceAccent);border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-lg);margin-bottom:22px}.dashboard-today h1{margin:0 0 10px}.dashboard-quick-actions{display:flex;flex-wrap:wrap;gap:10px}.dashboard-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin:22px 0}.ui-state{display:grid;grid-gap:12px;gap:12px;margin:16px 0}.ui-state-skeleton{display:grid;grid-gap:8px;gap:8px}.ui-state--empty h3{margin:0 0 6px}.classroom-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:10px;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-md);background:var(--ss-colors-surfaceMuted);position:-webkit-sticky;position:sticky;top:0;z-index:2}.classroom-jump a{padding:8px 12px;border-radius:var(--ss-radius-sm);color:var(--ss-colors-primary);text-decoration:none;font-size:13px;font-weight:650;background:var(--ss-colors-surface)}.school-context-bar{border-left:4px solid var(--ss-colors-primary)}.school-page-header{margin-bottom:8px}.school-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.school-selector{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:600;color:var(--ss-colors-mutedStrong)}.school-selector select,.teacher-form input:not([type]),.teacher-form input[type=datetime-local],.teacher-form input[type=email],.teacher-form input[type=search],.teacher-form input[type=text],.teacher-form select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-button);background:var(--ss-colors-surface);color:var(--ss-colors-text);font:inherit}.school-tabs-wrap{margin:18px 0 8px}.school-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.school-tab{flex:0 0 auto;min-height:44px;padding:10px 16px;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-pill);background:var(--ss-colors-surface);color:var(--ss-colors-mutedStrong);font-weight:650;font-size:14px;cursor:pointer}.school-tab--active{background:var(--ss-colors-primaryStrong);border-color:var(--ss-colors-primaryStrong);color:var(--ss-colors-onPrimary)}.school-tab-panel{display:grid;grid-gap:18px;gap:18px}.school-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin:16px 0}.school-stat-card{display:grid;grid-gap:8px;gap:8px;padding:18px;background:var(--ss-colors-surface);border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-card);box-shadow:var(--ss-elevation-sm)}.school-stat-card span{color:var(--ss-colors-muted);font-size:13px}.school-stat-card strong{font-size:24px;color:var(--ss-colors-primary)}.school-overview-hero,.school-overview-section,.school-quick-actions{padding:20px;background:var(--ss-colors-surface);border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-card)}.school-overview-section h3,.school-quick-actions h3{margin:0 0 12px}.teacher-form--wide{max-width:560px}.teacher-form fieldset.assignment-target-fieldset{border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-md);padding:12px 14px;margin:0;display:grid;grid-gap:10px;gap:10px}.teacher-form fieldset.assignment-target-fieldset legend{padding:0 6px;font-weight:650}.assignment-check,.assignment-radio{display:flex!important;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border-radius:var(--ss-radius-sm);cursor:pointer}.assignment-check:hover,.assignment-radio:hover{background:var(--ss-colors-accent)}.assignment-check input,.assignment-radio input{width:18px;height:18px;min-height:18px;flex:0 0 auto;accent-color:var(--ss-colors-primary)}.form-success{color:var(--ss-colors-success);background:#e8f6ee;border:1px solid #c7e8d5;border-radius:var(--ss-radius-sm);padding:10px 12px}.school-modal{border:0;border-radius:var(--ss-radius-lg);padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;box-shadow:var(--ss-elevation-lg);background:var(--ss-colors-surface)}.school-modal::-webkit-backdrop{background:var(--ss-colors-overlay)}.school-modal::backdrop{background:var(--ss-colors-overlay)}.school-modal .teacher-form{margin:0;padding:20px;max-width:none}.school-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.school-modal-header h3{margin:0}.assignment-status-groups{display:flex;flex-wrap:wrap;gap:12px 20px;margin:8px 0 4px;color:var(--ss-colors-muted);font-size:13px}.school-invite-token{word-break:break-all;padding:12px;background:var(--ss-colors-surfaceMuted);border-radius:var(--ss-radius-sm)}@media (max-width:900px){.school-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.school-context-grid{grid-template-columns:1fr}.school-stat-grid{grid-template-columns:1fr 1fr}.dashboard-secondary-grid{grid-template-columns:1fr}.dashboard-today{padding:22px}}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:38px;background:var(--ss-colors-surfaceAccent);border:1px solid var(--ss-colors-border);border-radius:20px}.dashboard-welcome>div:first-child{max-width:650px}.dashboard-welcome h1{margin-bottom:10px}.dashboard-welcome p:not(.teacher-eyebrow){color:var(--ss-colors-muted);line-height:1.7}.dashboard-mark{min-width:190px;color:#86a18d;font:700 150px Georgia,serif;line-height:1;text-align:center}.dashboard-mark span{display:block;margin-top:10px;color:#6c7b70;font:600 12px system-ui,sans-serif;letter-spacing:1px}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin:22px 0}.dashboard-stats>article,.dashboard-stats>button{display:grid;grid-gap:8px;gap:8px;padding:20px;text-align:left;background:#fff;border:1px solid var(--ss-colors-border);border-radius:14px}.dashboard-stats>article strong,.dashboard-stats>button strong{font-size:28px;color:#2d5f49}.dashboard-stats span{color:#718078;font-size:13px}.section-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-row p{margin-bottom:0}.dashboard-recent,.folder-list,.pdf-history-list{list-style:none;margin:16px 0 0;padding:0}.dashboard-recent li,.folder-row,.pdf-history-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid #e5e9e3}.dashboard-recent li span,.folder-row>span,.organized-materials article>div:first-child,.pdf-history-list article>div{display:grid;grid-gap:6px;gap:6px}.dashboard-recent small,.folder-row small,.organized-materials small,.pdf-history-list small{color:#78847d;font-size:12px}.template-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px 18px;gap:4px 18px}.template-card{position:relative;min-height:195px}.template-index{color:#8ba492;font-size:11px;letter-spacing:1px;font-weight:800}.template-card h2{margin:22px 0 9px}.template-card p{min-height:43px;color:#6a786f;font-size:13px;line-height:1.6}.compact-steps{grid-template-columns:repeat(2,1fr)}.compact-steps li{padding:18px}.folder-create{display:flex;align-items:flex-end;gap:14px}.folder-create label{display:grid;flex:1 1;grid-gap:8px;gap:8px}.folder-create input{padding:12px;border:1px solid var(--ss-colors-border);border-radius:8px}.folder-row>div{display:flex;gap:16px}.danger-link{color:#9d4b40;margin-left:14px}.organized-materials article{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-top:1px solid #e5e9e3}.organized-materials select{min-width:150px;padding:10px;border:1px solid var(--ss-colors-border);border-radius:8px}.pdf-history-list article{justify-content:normal}.pdf-history-list article>div{flex:1 1}.pdf-history-icon{display:grid;place-items:center;width:44px;height:44px;background:#eef2ec;color:var(--ss-colors-primaryStrong);font-size:11px;font-weight:800;border-radius:10px}.subscription-current{padding:28px;display:flex;justify-content:space-between;align-items:center;gap:25px;background:var(--ss-colors-surfaceAccent);border:1px solid var(--ss-colors-border);border-radius:18px}.subscription-current h2{margin:18px 0 8px;font-size:26px}.subscription-current p{color:#64736a}.subscription-current>strong{padding:14px 18px;background:#fffefa;border-radius:10px;color:var(--ss-colors-muted);font-size:13px;line-height:1.5;text-align:center}@media(max-width:1000px){.marketing-nav nav{gap:14px}.marketing-hero{gap:35px}.marketing-sample{padding:40px}.marketing-feature-grid{grid-template-columns:repeat(2,1fr)}.template-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.marketing-nav{padding:18px 20px;flex-wrap:wrap}.marketing-nav nav{order:3;width:100%;overflow:auto;padding:8px 0}.marketing-nav nav a{white-space:nowrap}.marketing-nav .account-actions{margin-left:auto}.marketing-nav .teacher-link{display:none}.marketing-nav .account-actions button{padding:10px 14px;min-height:44px}.marketing-hero{padding:48px 22px;grid-template-columns:1fr;gap:30px}.marketing-hero-copy h1{font-size:44px;letter-spacing:-2px}.marketing-hero-art{min-height:340px}.marketing-section{padding:68px 22px}.marketing-feature-grid,.marketing-pricing{grid-template-columns:1fr;gap:14px}.marketing-sample{margin:12px 16px;padding:28px 22px;grid-template-columns:1fr;gap:24px}.marketing-sample iframe{min-height:420px}.marketing-footer{padding:26px 22px;flex-wrap:wrap}.marketing-footer span{width:100%;order:3}.dashboard-welcome{padding:25px}.dashboard-mark{display:none}.dashboard-stats{gap:8px}.dashboard-stats>article,.dashboard-stats>button{padding:14px}.dashboard-stats>article strong,.dashboard-stats>button strong{font-size:24px}.section-row{align-items:flex-start;flex-direction:column}.compact-steps,.template-gallery{grid-template-columns:1fr}.folder-create{align-items:stretch;flex-direction:column}.organized-materials article{align-items:flex-start;flex-direction:column}.organized-materials article .account-actions{width:100%}.organized-materials select{flex:1 1}.subscription-current{align-items:flex-start;flex-direction:column}}.activity-start{margin:24px 0 30px}.activity-start-heading{margin-bottom:18px}.activity-create-flow h2,.activity-start-heading h2,.ready-activities h2{margin:4px 0 8px}.activity-start-heading>p:last-child,.ready-activities .section-row p:not(.teacher-eyebrow){color:var(--ss-colors-muted);line-height:1.6;margin:0}.activity-selection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin:20px 0}.activity-create-flow label,.activity-selection label{display:grid;grid-gap:7px;gap:7px;font-size:14px;font-weight:650}.activity-create-flow select,.activity-create-flow textarea,.activity-selection select{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--ss-colors-border);border-radius:10px;background:white;color:var(--ss-colors-text);font:inherit}.activity-create-flow textarea{min-height:100px;resize:vertical}.activity-start-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin:20px 0}.activity-choice{display:grid;grid-template-columns:44px 1fr 20px;align-items:center;grid-gap:14px;gap:14px;min-height:124px;text-align:left;padding:20px;border:1px solid var(--ss-colors-border);border-radius:16px;background:white;color:var(--ss-colors-text);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.activity-choice.is-selected,.activity-choice:hover:not(:disabled){border-color:var(--ss-colors-primary);box-shadow:var(--ss-elevation-md);transform:translateY(-1px)}.activity-choice:disabled{cursor:not-allowed;opacity:.55}.activity-choice-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-primaryStrong);font-size:22px}.activity-choice-copy{display:grid;grid-gap:7px;gap:7px}.activity-choice-copy strong{font-size:18px}.activity-choice-copy small,.activity-start-note{color:var(--ss-colors-muted);line-height:1.55}.activity-create-flow,.ready-activities{margin:26px 0;padding:22px;background:#f7f9f6;border:1px solid var(--ss-colors-border);border-radius:16px}.ready-count{color:var(--ss-colors-muted);font-size:14px;white-space:nowrap}.activity-empty-state{margin-top:16px;padding:22px;border:1px dashed #b8c9be;border-radius:14px;background:white}.activity-empty-state p{max-width:650px;color:var(--ss-colors-muted);line-height:1.6}.ready-activity-list{display:grid;grid-gap:12px;gap:12px;margin:16px 0}.ready-activity-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;padding:18px;border:1px solid var(--ss-colors-border);border-radius:13px;background:white}.ready-activity-card h3{margin:0 0 7px}.ready-activity-card p{margin:0 0 8px;line-height:1.5}.ready-activity-card p,.ready-activity-card small{color:var(--ss-colors-muted)}.ready-activity-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.activity-create-flow .selected-topic{display:inline-block;padding:8px 12px;border-radius:999px;background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-primaryStrong);font-weight:650}.activity-create-flow .account-form{display:grid;grid-gap:15px;gap:15px;max-width:720px}.activity-preview-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;overflow:auto;padding:24px;background:#10221dc0}.activity-preview{position:relative;width:min(720px,100%);max-height:90vh;overflow:auto;padding:30px;border-radius:18px;background:white;box-shadow:0 24px 80px #0003}.activity-preview h2{padding-right:70px}.activity-preview li{margin:10px 0;line-height:1.5}.activity-preview details{margin:20px 0;padding:14px;border:1px solid var(--ss-colors-border);border-radius:10px}.activity-preview summary{cursor:pointer;font-weight:650}.preview-close{position:absolute;top:22px;right:22px}@media(max-width:760px){.activity-selection,.activity-start-options{grid-template-columns:1fr}.activity-choice{min-height:106px}.ready-activity-card{grid-template-columns:1fr}.ready-activity-actions{justify-content:flex-start}.activity-preview{padding:24px 20px}}.matching-editor .matching-form{max-width:720px}.matching-pairs-edit{border:1px solid var(--ss-colors-border);border-radius:12px;padding:12px;display:grid;grid-gap:8px;gap:8px}.matching-pair-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.matching-renderer{margin-top:16px}.matching-header p{color:#56645f}.matching-hint{font-size:13px}.matching-board{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:14px}.matching-column{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.matching-chip{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;border:1px solid var(--ss-colors-border);border-radius:12px;background:#fff;min-height:52px}.matching-chip.selected{border-color:var(--ss-colors-primaryStrong);box-shadow:0 0 0 2px color-mix(in srgb,var(--ss-colors-primary) 30%,transparent)}.matching-chip.paired{background:var(--ss-gameColors-cardMatched)}.matching-chip-index{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--ss-colors-surfaceAccent);font-size:12px;font-weight:700}.matching-chip-meta{margin-left:auto;color:var(--ss-colors-primaryStrong);font-size:12px;font-weight:700}.matching-symbol{font-weight:650}.matching-asset{max-width:72px;max-height:48px;object-fit:contain;border-radius:6px}.matching-asset-placeholder{color:var(--ss-colors-muted);font-size:13px}.matching-live-preview,.matching-server-preview{margin-top:22px;padding-top:12px;border-top:1px solid #e4e8e4}@media (max-width:720px){.matching-board,.matching-pair-row{grid-template-columns:1fr}}.game-editor .game-criteria{font-size:13px;color:#56645f}.memory-grid{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.memory-card{width:100%;min-height:72px;border-radius:12px;border:1px solid var(--ss-colors-border);background:var(--ss-gameColors-cardFace);color:var(--ss-colors-onPrimary);font-weight:700}.memory-card.open,.memory-card.selected{background:var(--ss-gameColors-card);color:var(--ss-colors-text)}.memory-card.paired{background:var(--ss-gameColors-cardMatched);color:var(--ss-colors-success);border-color:var(--ss-colors-success)}.order-list{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px;max-width:520px}.order-chip{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;border:1px solid var(--ss-colors-border);border-radius:12px;background:#fff}.order-pos{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-primaryStrong);font-size:12px;font-weight:700}.order-keys{margin-left:auto;color:#7a8780;font-size:12px}.game-metrics{margin:0;color:#56645f;font-size:13px}@media (max-width:720px){.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.memory-grid{grid-template-columns:1fr 1fr}.memory-card{min-height:88px;font-size:1.05rem}}.student-play{max-width:720px}.student-play-instruction{margin:6px 0 0;font-size:1.05rem;line-height:1.45;color:var(--ss-colors-textMuted,#56645f)}.student-play-progress{position:relative;display:flex;align-items:center;gap:10px;margin-top:12px;min-height:28px;padding:6px 10px;border-radius:999px;background:var(--ss-colors-surfaceMuted);overflow:hidden}.student-play-progress-bar{position:absolute;inset:0 auto 0 0;width:0;background:color-mix(in srgb,var(--ss-colors-primaryStrong) 28%,transparent);transition:width .22s ease}.student-play-progress>span{position:relative;z-index:1;font-size:13px;font-weight:700;color:var(--ss-colors-primaryStrong)}.student-play-feedback{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#e8f7ee;border:1px solid #b7e0c4;color:#145c36;font-weight:650}.student-play-sound{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:var(--ss-colors-textMuted,#56645f)}.student-play .listening-card,.student-play .matching-chip,.student-play .memory-card,.student-play .order-chip{min-height:64px;font-size:1.02rem;touch-action:manipulation}.student-play .memory-card{min-height:88px}@media (max-width:375px){.student-play .listening-card,.student-play .matching-chip,.student-play .order-chip{min-height:72px;padding:14px 16px}.student-play .memory-card{min-height:96px}.matching-board{gap:10px}}@media (prefers-reduced-motion:reduce){.listening-card,.matching-chip,.memory-card,.order-chip,.student-play-progress-bar{transition:none!important;animation:none!important}}.listening-privacy{font-size:13px;color:var(--ss-colors-muted)}.listening-card-grid{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}.listening-card{width:100%;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-radius:12px;border:1px solid var(--ss-colors-border);background:var(--ss-colors-surface);box-shadow:inset 3px 0 0 var(--ss-colors-helperTeal)}.listening-choose-list{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-gap:14px;gap:14px}.listening-choose-item{display:grid;grid-gap:8px;gap:8px}.listening-choice{display:flex;align-items:center;gap:8px}.studio-section-header{margin-bottom:8px}.studio-family-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 14px;margin-bottom:8px;-webkit-overflow-scrolling:touch}.studio-family-tab{flex:0 0 auto;min-height:44px;padding:10px 16px;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-pill);background:var(--ss-colors-surface);color:var(--ss-colors-mutedStrong);font-weight:650;cursor:pointer}.studio-family-tab.is-active{background:var(--ss-colors-primaryStrong);border-color:var(--ss-colors-primaryStrong);color:var(--ss-colors-onPrimary)}.studio-family-panel{min-width:0}.studio-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0}.studio-autosave{font-size:13px;color:#56645f}.content-studio-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 14px;padding:12px 14px;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-md);background:var(--ss-colors-surfaceMuted)}.content-studio-device-frame{border:1px solid var(--ss-colors-border);border-radius:18px;padding:14px;background:linear-gradient(180deg,#f4faf7,#fff);min-height:220px}.content-studio-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.content-studio-meta{display:grid;grid-gap:8px;gap:8px;justify-items:end}.content-studio-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:var(--ss-radius-pill);background:var(--ss-colors-accent);color:var(--ss-colors-primary);font-size:11px;font-weight:750;letter-spacing:.04em}.content-studio-layout{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr) minmax(220px,300px);grid-gap:16px;gap:16px;align-items:start}.content-studio-pane{border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-md);background:var(--ss-colors-surfaceMuted);padding:14px;min-width:0}.content-studio-pane-title{margin:0 0 10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ss-colors-mutedStrong)}.content-studio-mobile-tabs{display:none;gap:6px;margin-bottom:12px}.content-studio-tab{min-height:40px;padding:8px 12px;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-sm);background:var(--ss-colors-surface);color:var(--ss-colors-text);font-weight:650;text-decoration:none}.content-studio-tab[aria-selected=true]{background:var(--ss-colors-surfaceAccent);color:var(--ss-colors-primaryStrong);box-shadow:inset 0 -2px 0 var(--ss-colors-primary)}.material-studio-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr);grid-gap:16px;gap:16px;margin:16px 0}.studio-autosave.is-conflict{color:var(--ss-colors-danger);font-weight:700}@media (max-width:960px){.content-studio-layout{grid-template-columns:1fr}.content-studio-mobile-tabs{display:flex;flex-wrap:wrap}.content-studio-layout[data-active-pane] .content-studio-pane{display:none}.content-studio-layout[data-active-pane=edit] .content-studio-edit,.content-studio-layout[data-active-pane=preview] .content-studio-preview,.content-studio-layout[data-active-pane=publish] .content-studio-publish,.content-studio-layout[data-active-pane=tools] .content-studio-tools,.content-studio-pane.is-active{display:block}.material-studio-grid{grid-template-columns:1fr}}.studio-layout{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1.2fr) minmax(240px,320px);grid-gap:18px;gap:18px;align-items:start}.studio-preview,.studio-side{background:var(--ss-colors-surfaceMuted);border-radius:14px;padding:14px}.studio-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.studio-list button,.studio-list li{width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:10px}.studio-list button.active,.studio-list button:hover{background:#e7f2ec}.studio-list .muted,.studio-list small{display:block;color:#7a8780;font-size:12px}.studio-item{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--ss-colors-border);border-radius:14px;margin-bottom:12px;background:#fff;box-shadow:var(--ss-elevation-sm)}.studio-item-handle{cursor:-webkit-grab;cursor:grab;color:#7a8780;padding-top:8px}.studio-item-fields{display:grid;grid-gap:10px;gap:10px;flex:1 1;min-width:0}.studio-item-header{display:flex;justify-content:space-between;gap:10px;align-items:center}.studio-item-header strong{font-size:13px;color:var(--ss-colors-primary)}.studio-choice-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-sm);background:var(--ss-colors-surfaceMuted)}.studio-choice-row.is-correct{border-color:var(--ss-colors-primary);background:var(--ss-colors-accent)}.studio-choice-row input[type=radio]{width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:var(--ss-colors-primary)}.studio-choice-letter{flex:0 0 auto;width:22px;font-weight:750;color:var(--ss-colors-mutedStrong)}.studio-choice-row input:not([type]),.studio-choice-row input[type=text]{flex:1 1;min-width:0;border:0;background:transparent;padding:8px 0}.studio-choice-mark{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--ss-colors-primary)}.studio-preview-card{background:#fff;border-radius:12px;padding:12px;border:1px solid var(--ss-colors-border)}.studio-publish{padding:18px;border-radius:14px;background:var(--ss-colors-surfaceAccent)}.game-pair-card,.listening-clip-card,.matching-pair-card{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:10px;gap:10px;align-items:end;padding:12px;margin-bottom:10px;border:1px solid var(--ss-colors-border);border-radius:var(--ss-radius-md);background:var(--ss-colors-surface)}.game-pair-card label,.listening-clip-card label,.matching-pair-card label{display:grid;grid-gap:6px;gap:6px;font-size:12px}.game-editor-actions,.matching-pairs-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}@media (max-width:960px){.game-pair-card,.listening-clip-card,.matching-pair-card,.studio-layout{grid-template-columns:1fr}}.yona-auth{min-height:100vh;display:grid;place-items:start center;padding:clamp(24px,6vh,72px) 16px 48px;background:radial-gradient(circle at 20% 0,var(--ss-colors-surfaceAccent),var(--ss-colors-background) 55%)}.yona-auth__card,.yona-roles{width:min(100%,480px);background:var(--ss-colors-surface,#fff);border:1px solid var(--ss-colors-border);border-radius:20px;padding:clamp(22px,5vw,36px);box-shadow:0 24px 60px -32px rgba(20,52,41,.35)}.yona-roles{width:min(100%,880px)}.yona-auth__brand{margin:0 0 6px;color:var(--ss-colors-primaryStrong);font-weight:800;font-size:15px;letter-spacing:.2px}.yona-auth h1,.yona-roles h1{margin:0 0 8px;font-size:clamp(24px,4vw,30px);letter-spacing:-.6px;line-height:1.2}.yona-auth h1:focus,.yona-roles h1:focus{outline:none}.yona-auth__lead{margin:0 0 22px;color:var(--ss-colors-mutedStrong);line-height:1.6}.yona-auth__tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;padding:4px;margin-bottom:20px;border-radius:12px;background:var(--ss-colors-background);border:1px solid var(--ss-colors-border)}.yona-auth__tabs button{min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--ss-colors-mutedStrong);font-weight:650}.yona-auth__tabs button[aria-selected=true]{background:var(--ss-colors-surface,#fff);color:var(--ss-colors-text);box-shadow:0 1px 3px rgba(0,0,0,.08)}.yona-auth__form{display:grid;grid-gap:16px;gap:16px}.yona-auth__form .ss-button{min-height:48px;width:100%}.yona-auth__password{display:grid;grid-gap:8px;gap:8px}.yona-auth__toggle{justify-self:start;min-height:44px;padding:8px 12px;border:1px solid var(--ss-colors-border);border-radius:10px;background:transparent;color:var(--ss-colors-text);font-weight:600}.yona-auth__rules{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px;font-size:13px;color:var(--ss-colors-mutedStrong)}.yona-auth__rules li[data-ok=true]{color:var(--ss-colors-primary);font-weight:600}.yona-auth__consent{border:0;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.yona-auth__consent label{display:grid;grid-template-columns:24px 1fr;grid-gap:10px;gap:10px;align-items:start;min-height:44px;line-height:1.5;font-size:14px}.yona-auth__consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--ss-colors-primary)}.yona-auth__consent a,.yona-auth__lead a{color:var(--ss-colors-primary);font-weight:650}.yona-auth__divider{display:flex;align-items:center;gap:12px;color:var(--ss-colors-mutedStrong);font-size:13px}.yona-auth__divider:after,.yona-auth__divider:before{content:"";height:1px;flex:1 1;background:var(--ss-colors-border)}.yona-auth__links{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center}.yona-auth__links .teacher-link{min-height:44px;display:inline-flex;align-items:center;font-size:14px}.yona-roles__grid{border:0;padding:0;margin:0 0 18px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.yona-role-card{position:relative;display:grid;grid-gap:10px;gap:10px;align-content:start;padding:18px;min-height:44px;border:1.5px solid var(--ss-colors-border);border-radius:16px;cursor:pointer;background:var(--ss-colors-surface,#fff);transition:border-color .15s,box-shadow .15s}.yona-role-card:hover,.yona-role-card[data-selected=true]{border-color:var(--ss-colors-primary)}.yona-role-card[data-selected=true]{box-shadow:0 0 0 3px color-mix(in srgb,var(--ss-colors-primary) 18%,transparent)}.yona-role-card input{position:absolute;opacity:0;inset:0;cursor:pointer}.yona-role-card:has(input:focus-visible){outline:var(--ss-focus-ring);outline-offset:2px}.yona-role-card__title{font-weight:750;font-size:17px}.yona-role-card ul{margin:0;padding-left:18px;display:grid;grid-gap:4px;gap:4px;color:var(--ss-colors-mutedStrong);font-size:14px;line-height:1.45}.yona-role-card__note{font-size:12.5px;color:var(--ss-colors-text);background:var(--ss-colors-background);border-radius:8px;padding:6px 8px}.yona-role-card[data-role=STUDENT]{background:linear-gradient(160deg,#fff7e6,#fff 60%)}.yona-roles__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.yona-roles__actions .ss-button{min-height:48px}.yona-legal{max-width:760px;margin:0 auto;padding:40px 20px 80px;line-height:1.75}.yona-legal__meta{color:var(--ss-colors-mutedStrong);font-size:14px}@media (prefers-reduced-motion:reduce){.yona-role-card{transition:none}}.yona-setup__progress{margin:0 0 6px;font-size:13px;color:var(--ss-colors-mutedStrong);font-weight:600}.yona-setup__bar{height:6px;border-radius:999px;background:var(--ss-colors-background);border:1px solid var(--ss-colors-border);margin-bottom:22px;overflow:hidden}.yona-setup__bar span{display:block;height:100%;background:var(--ss-colors-primary);border-radius:inherit;transition:width .25s}.yona-setup__grades{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 16px}.yona-setup__grades label{display:inline-flex;align-items:center;gap:8px;min-height:44px}.yona-setup__grades input{width:20px;height:20px;accent-color:var(--ss-colors-primary)}.yona-setup .yona-role-card{text-align:left;font:inherit;color:inherit}.yona-setup .yona-role-card:disabled{opacity:.6;cursor:progress}.yona-setup__request{display:grid;grid-gap:10px;gap:10px;padding:14px;border-radius:12px;background:var(--ss-colors-background);border:1px solid var(--ss-colors-border)}.yona-setup__request textarea{width:100%;padding:10px;border-radius:10px;border:1px solid var(--ss-colors-border);font:inherit;resize:vertical}@media (prefers-reduced-motion:reduce){.yona-setup__bar span{transition:none}}.yona-setup__row{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.yona-setup__checklist{margin:0 0 16px;padding-left:20px;display:grid;grid-gap:6px;gap:6px;color:var(--ss-colors-mutedStrong);line-height:1.5}.yona-setup select.ss-field__control,.yona-setup textarea.ss-field__control{width:100%;font:inherit}.guardian-invite-result{margin-top:10px;padding:14px;border-radius:12px;border:1px dashed var(--ss-colors-primary);background:var(--ss-colors-surfaceAccent);display:grid;grid-gap:8px;gap:8px}.guardian-invite-code{margin:0;font:700 28px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:4px;color:var(--ss-colors-text)}.guardian-link-child{display:grid;grid-gap:14px;gap:14px}.guardian-link-child__options{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.guardian-link-child input{min-height:44px;font-size:16px}.guardian-link-child .code-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:3px;text-transform:uppercase}.yona-join{min-height:100dvh;padding:28px 20px 48px;max-width:480px;margin:0 auto;background:linear-gradient(180deg,#fff7ed 0,var(--ss-colors-background) 42%)}.yona-join h1{font-size:clamp(28px,6vw,36px);margin:8px 0 6px;color:#9a3412}.yona-join__lead{color:var(--ss-colors-mutedStrong);margin:0 0 20px;line-height:1.5}.yona-join__card{display:grid;grid-gap:14px;gap:14px}