.account-nav{z-index:20;box-shadow:none;background:0 0;border:0;border-radius:999px;align-items:center;padding:4px;transition:background-color .16s,box-shadow .16s;display:flex;position:fixed;top:10px;right:12px}.account-nav-scrolled{background:color-mix(in srgb, var(--color-paper) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 8px #161c2614}.account-nav nav,.account-nav form{align-items:center;gap:12px;margin:0;display:flex}.account-link,.account-primary-link{color:var(--color-ink);font:inherit;text-decoration:none}.account-link{cursor:pointer;background:0 0;border:0;padding:8px}.account-primary-link{background:var(--color-action);color:#fff;cursor:pointer;border:0;border-radius:999px;min-height:44px;padding:10px 16px;font-size:.875rem;font-weight:700;line-height:24px}.account-primary-link:hover{background:var(--color-action-strong)}.account-primary-link:focus-visible{outline:2px solid var(--color-action);outline-offset:2px}.account-identity{max-width:min(36vw,240px);color:var(--color-ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-nav nav{position:relative}.account-dropdown{position:static}.account-nav .account-identity{background:var(--color-action-soft);min-height:44px;color:var(--color-action);border-radius:999px;margin-left:0;padding:10px 16px;font-size:.875rem;font-weight:600;line-height:24px}.account-menu-trigger{border:1px solid var(--color-line);width:44px;height:44px;color:var(--color-ink-muted);border-radius:999px;justify-content:center;align-items:center;display:flex}.account-signin{border:1px solid var(--color-line);min-height:44px;color:var(--color-ink-muted);border-radius:999px;padding:10px 16px;font-size:.875rem;font-weight:600;line-height:24px}.account-signin:hover{background:var(--color-action-soft);color:var(--color-action)}.account-signin:focus-visible{outline:2px solid var(--color-action);outline-offset:2px}.account-menu-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.account-menu{border:1px solid var(--color-line);background:var(--color-paper);border-radius:20px;width:auto;max-width:calc(100vw - 32px);padding:8px;display:grid;position:absolute;top:calc(100% + 10px);left:-9px;right:0;box-shadow:0 4px 12px #161c261a}.account-menu .account-link{text-align:left;width:100%;min-height:44px;color:var(--color-ink-muted);border-radius:999px;align-items:center;padding:10px 16px;font-size:.875rem;font-weight:600;line-height:24px;display:flex}.account-menu .account-link:hover,.account-menu-trigger:hover{background:var(--color-action-soft);color:var(--color-action)}.account-menu .account-link:focus-visible,.account-menu-trigger:focus-visible{outline:2px solid var(--color-action);outline-offset:2px}.account-menu [aria-current=page],.account-menu-trigger[aria-expanded=true]{background:var(--color-action-soft);color:var(--color-action)}.account-menu form{border-top:1px solid var(--color-line);margin-top:6px;padding-top:6px}.auth-back{z-index:20;border:1px solid var(--color-line);background:var(--color-paper);color:var(--color-ink);border-radius:8px;align-items:center;gap:2px;padding:8px 12px 8px 8px;text-decoration:none;display:inline-flex;position:fixed;top:10px;left:12px;box-shadow:0 1px 2px #161c260d}.auth-back svg{width:18px;height:18px}.auth-back:hover,.auth-back:focus-visible{background:var(--color-surface)}.auth-page{place-items:center;min-height:100svh;padding:92px 20px 32px;display:grid}.auth-panel{border:1px solid var(--color-line);background:var(--color-paper);border-radius:8px;width:min(100%,430px);padding:28px;box-shadow:0 1px 2px #161c260d}.auth-wordmark{color:var(--color-action);font-weight:750;text-decoration:none}.auth-panel h1{margin:18px 0 8px;font-size:clamp(1.65rem,5vw,2rem)}.auth-intro,.auth-footer,.auth-secondary-link{color:var(--color-ink-muted)}.auth-form{gap:16px;margin:22px 0 14px;display:grid}.auth-form label{gap:7px;font-weight:700;display:grid}.auth-form label span{color:var(--color-ink-muted);font-size:.82rem;font-weight:500}.auth-form input:not([type=hidden]){border:1px solid var(--color-line-strong);background:var(--color-paper);width:100%;min-height:44px;color:var(--color-ink);font:inherit;border-radius:8px;padding:10px 12px}.auth-form input:focus{border-color:var(--color-action);outline:3px solid var(--color-action-soft)}.auth-form button{background:var(--color-action);color:#fff;cursor:pointer;min-height:46px;font:inherit;border:0;border-radius:8px;padding:10px 14px;font-weight:750}.auth-notice,.auth-error{border-radius:8px;padding:10px 12px}.auth-notice{background:var(--color-action-soft);color:var(--color-action-strong)}.auth-error{background:var(--color-repair-soft);color:var(--color-repair)}.auth-footer{border-top:1px solid var(--color-line);margin-top:22px;padding-top:18px}.auth-footer a,.auth-secondary-link{color:var(--color-action)}.auth-dialog-backdrop{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#20242a52;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.auth-dialog{border:1px solid var(--color-line);background:var(--color-paper);width:min(100%,26rem);box-shadow:var(--shadow-panel,0 1px 2px #161c260d);border-radius:8px;gap:16px;padding:22px 22px 20px;display:grid}.auth-dialog-header{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.auth-dialog-header h2{margin:0;font-size:1.25rem;font-weight:700}.auth-dialog-header p{color:var(--color-ink-muted);margin:6px 0 0}.auth-dialog-close{width:40px;height:40px;color:var(--color-ink);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.auth-dialog-close svg{width:20px;height:20px}.auth-dialog-close:hover,.auth-dialog-close:focus-visible{background:var(--color-surface)}.auth-dialog .auth-form{margin:0}.auth-dialog-switch{color:var(--color-ink-muted);margin:0}.auth-dialog-switch button{color:var(--color-action);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}@media (max-width:560px){.account-identity{display:none}.auth-panel{padding:22px}}.student-account-nav{border:0;border-bottom:1px solid var(--color-line);box-shadow:none;background:var(--color-paper);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;justify-content:space-between;padding:18px 40px;top:0;left:0;right:0}.student-wordmark{color:var(--color-action);font-size:19px;font-weight:550;text-decoration:none}.student-account-nav [aria-current=page]{color:var(--color-action)}@media (max-width:760px){.student-account-nav{padding:14px 18px}.student-account-nav nav{gap:4px}.student-account-nav .account-identity{max-width:42vw}}
:root{--color-canvas:#f5f6f2;--color-paper:#fff;--color-surface:#f8faf7;--color-ink:#20242a;--color-ink-muted:#65707d;--color-line:#d9ded8;--color-line-strong:#b8c0ba;--color-action:#14665c;--color-action-strong:#0e4f47;--color-action-soft:#e8f4f1;--color-evidence-ink:#8b6500;--color-review:#255f8f;--color-success:#1f7a4d;--color-success-soft:#ebf8f0;--color-warning:#b7791f;--color-warning-soft:#fff4d9;--color-repair:#a43a32;--color-repair-soft:#fdedec;--color-lifecycle-new:#b8c0ba;--color-lifecycle-new-soft:#f8faf7;--color-lifecycle-learning:#ffcd00;--color-lifecycle-learning-strong:#d4a900;--color-lifecycle-learning-soft:#fff8d6;--color-lifecycle-practicing:#56a0d3;--color-lifecycle-practicing-strong:#2f76a3;--color-lifecycle-practicing-soft:#eaf6fd;--color-lifecycle-mastered:#1f7a4d;--color-lifecycle-mastered-soft:#ebf8f0}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--color-canvas);color:var(--color-ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}main{place-items:center;min-height:100svh;padding:24px;display:grid}.home-page{align-content:start;padding:72px 0 48px}.home-hero{isolation:isolate;background:var(--color-ink);width:100%;position:relative;overflow:hidden}.home-hero:after{content:"";background:color-mix(in srgb, var(--color-ink) 64%, transparent);z-index:1;pointer-events:none;position:absolute;inset:0}.home-hero-collage{aspect-ratio:9/5;object-fit:cover;width:100%;height:auto;display:block}.home-hero-content{z-index:2;text-align:center;color:var(--color-paper);flex-direction:column;justify-content:center;align-items:center;gap:clamp(20px,3vw,36px);padding:24px;display:flex;position:absolute;inset:0}.home-hero-content h2{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(1.8rem,5.6vw,4.5rem);font-weight:800;line-height:1.06}.home-hero-description{text-wrap:pretty;max-width:48ch;margin:0;font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.5}.home-hero-cta{background:var(--color-action);min-height:48px;color:var(--color-paper);border-radius:999px;justify-content:center;align-items:center;gap:16px;padding:14px 24px;font-weight:700;text-decoration:none;display:inline-flex}.home-hero-cta:hover{background:var(--color-action-strong)}.home-hero-cta:focus-visible{outline:3px solid var(--color-paper);outline-offset:4px}@media (max-width:600px){.home-page{padding:72px 0 32px}.home-hero-collage{min-height:400px}}.brand-lockup{z-index:30;width:190px;position:fixed;top:10px;left:12px}.brand{aspect-ratio:1254/360;width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:1px solid #0000;border-radius:999px;padding:12px 14px 12px 10px;transition:background-color .16s,border-color .16s,box-shadow .16s;display:block;position:relative;overflow:hidden}.brand-logo{width:82%;height:auto;position:absolute;top:-90.3%;left:9%}.brand:focus-visible{outline:2px solid var(--color-action);outline-offset:3px}.brand-scrolled .brand{border-color:var(--color-line);background:color-mix(in srgb, var(--color-paper) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 8px #161c2614}@media (max-width:600px){.brand-lockup{width:150px;left:8px}}.home-carousel{width:100%}.home-carousel-controls{justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-inline:24px;display:flex}.home-carousel-controls button{min-height:44px;color:var(--color-ink-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;font-size:.875rem;font-weight:600}.home-carousel-options{gap:4px;display:flex}.home-carousel-options button{padding:10px 16px}.home-carousel-options button[aria-pressed=true]{background:var(--color-action-soft);color:var(--color-action)}.home-carousel-controls button:hover{background:var(--color-paper);color:var(--color-action)}.home-carousel-controls button:focus-visible{outline:2px solid var(--color-action);outline-offset:3px}.home-carousel-controls .home-carousel-arrow{border-color:var(--color-line);flex-shrink:0;width:44px;font-size:1.25rem}@media (max-width:600px){.home-carousel-controls{gap:4px}.home-carousel-options{gap:0}.home-carousel-options button{padding:8px;font-size:.75rem}.home-carousel-controls{flex-wrap:wrap}}.task-math-expression{text-align:center;font-variant-numeric:tabular-nums;margin:1.5rem 0;font-size:clamp(2rem,5vw,4rem)}.structural-model-groups{flex-wrap:wrap;justify-content:center;gap:1rem;margin:1.5rem 0;display:flex}.structural-model-group{border:1px solid var(--color-line);border-radius:1rem;min-width:12rem;max-width:20rem;padding:1rem}.structural-model-group>div:last-child{justify-content:space-between;align-items:center;gap:1rem;display:flex}.structural-model-group button{border:1px solid var(--color-line);background:var(--color-surface);min-width:2.75rem;min-height:2.75rem;color:var(--color-ink);border-radius:.6rem;font-size:1.4rem}.structural-model-dots{flex-wrap:wrap;align-content:center;gap:.4rem;min-height:5rem;margin:1rem 0;display:flex}.structural-model-dots span{background:var(--color-action);border-radius:50%;width:1.25rem;height:1.25rem}
