.arcade-shell{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.arcade-stage{display:flex;flex-direction:column;height:100%;gap:.5rem}.arcade-topbar{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem}.arcade-topic{font-weight:600;color:var(--text, #1a2238)}.arcade-canvas-wrap{position:relative;width:100%;max-width:800px;margin:0 auto;aspect-ratio:4 / 3}.arcade-canvas{width:100%;height:100%;display:block;border-radius:12px;touch-action:none;cursor:crosshair;box-shadow:0 8px 30px #0b102659}.arcade-hints{position:absolute;left:12px;bottom:12px;max-width:60%;text-align:left}.arcade-hint-list{list-style:none;margin:0 0 .4rem;padding:0;display:flex;flex-direction:column;gap:.3rem}.arcade-hint-list li{background:#ffffffeb;color:#1a2238;padding:.35rem .55rem;border-radius:8px;font-size:.9rem;box-shadow:0 2px 8px #00000040}.arcade-hint-btn{background:#ffe27a;color:#1a2238;border:none;border-radius:999px;padding:.4rem .9rem;font-weight:600;cursor:pointer}.arcade-result{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:min(90%,460px);height:fit-content;background:#fffffff7;color:#1a2238;border-radius:14px;padding:1.1rem 1.3rem;text-align:center;box-shadow:0 12px 40px #0006;border-top:6px solid #888}.arcade-result--correct{border-top-color:#1f7a4d}.arcade-result--incorrect{border-top-color:#c0392b}.arcade-result--partial{border-top-color:#d8a200}.arcade-result h3{margin:0 0 .4rem}.arcade-mentor{font-weight:600;margin:.2rem 0}.arcade-explain{font-size:.95rem;color:#38415c;margin:.4rem 0 .9rem}.arcade-continue{background:#2f6df6;color:#fff;border:none;border-radius:999px;padding:.55rem 1.6rem;font-size:1.05rem;font-weight:700;cursor:pointer}.arcade-flash{position:absolute;top:14%;left:50%;transform:translate(-50%);pointer-events:none;background:#1f7a4deb;color:#fff;font-weight:800;font-size:1.1rem;padding:.4rem 1.1rem;border-radius:999px;box-shadow:0 6px 22px #00000059;animation:arcade-flash-pop .75s ease-out forwards}@keyframes arcade-flash-pop{0%{opacity:0;transform:translate(-50%) scale(.7)}18%{opacity:1;transform:translate(-50%) scale(1.08)}35%{transform:translate(-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-14px) scale(1)}}.arcade-checkpoint{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:fit-content;height:fit-content;pointer-events:none;background:#0b1026e0;color:#ffe08a;font-weight:800;font-size:1.25rem;text-align:center;padding:.9rem 1.6rem;border-radius:14px;box-shadow:0 12px 40px #00000073;animation:arcade-checkpoint-pop 1.1s ease-out both}@keyframes arcade-checkpoint-pop{0%{opacity:0;transform:scale(.8)}15%{opacity:1;transform:scale(1.04)}30%{transform:scale(1)}85%{opacity:1}to{opacity:0}}.arcade-between{padding-top:1.5rem}.arcade-score-big{font-size:1.6rem;font-weight:800;margin:.2rem 0}.arcade-between-actions{display:flex;flex-direction:column;gap:.6rem;align-items:center;margin-top:.6rem}.arcade-hero{display:block;width:100%;text-align:left;cursor:pointer;border:none;border-radius:14px;padding:1rem 1.2rem;margin-bottom:1rem;color:#fff;background:linear-gradient(120deg,#3a2f78,#2f6df6);box-shadow:0 8px 24px #2f6df64d}.arcade-hero strong{display:block;font-size:1.15rem;margin-bottom:.2rem}.arcade-hero span{opacity:.92;font-size:.95rem}.game-card-badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#ffffff26;border-radius:6px;padding:2px 8px;margin-bottom:.35rem;opacity:1!important}.game-card-best{display:block;font-size:.78rem;font-weight:600;opacity:.75!important;margin-top:.3rem;letter-spacing:.02em}.arcade-grid{display:flex;flex-direction:column;gap:.75rem;width:100%}.arcade-grid button[data-game=queen]{background:linear-gradient(120deg,#4a1a5e,#8e44ad);box-shadow:0 8px 24px #8e44ad4d}.arcade-grid button[data-game=runner]{background:linear-gradient(120deg,#1a3a2a,#27ae60);box-shadow:0 8px 24px #27ae604d}.arcade-grid button[data-game=garden]{background:linear-gradient(120deg,#5e1a44,#e84393);box-shadow:0 8px 24px #e843934d}.arcade-grid button[data-game=potion]{background:linear-gradient(120deg,#4a2f0e,#ff9f43);box-shadow:0 8px 24px #ff9f434d}.arcade-grid button[data-game=village]{background:linear-gradient(120deg,#1a3020,#2e7d52);box-shadow:0 8px 24px #2e7d524d}.game-lobby-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.game-lobby-tab{flex:1;padding:.55rem 1rem;border:2px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0d;color:#fff9;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.game-lobby-tab.active{background:#2f6df640;border-color:#2f6df6;color:#fff}.game-lobby-tab:focus-visible{outline:2px solid #2f6df6;outline-offset:2px}.arcade-hero--coming-soon{opacity:.65;cursor:default}.game-card-coming-soon{display:inline-block;margin-top:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#fff3;border-radius:6px;padding:2px 8px;opacity:1!important}.garden-field,.potion-field{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:safe center;overflow-y:auto;gap:.9rem;padding:1.1rem;box-sizing:border-box;box-shadow:0 8px 30px #0b102659}.garden-field{background:linear-gradient(160deg,#163a2a,#1f6b46);color:#eafff2}.garden-field--wobbly{animation:garden-wobble 1.2s ease-in-out infinite}@keyframes garden-wobble{0%,to{transform:rotate(-.4deg)}50%{transform:rotate(.4deg)}}.garden-prompt{font-size:1.25rem;font-weight:700;margin:0;text-align:center;max-width:90%}.garden-instruction{margin:0;font-size:.9rem;opacity:.85}.garden-plots{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;width:100%}.garden-plot{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:120px;min-height:96px;flex:1 1 120px;max-width:200px;padding:.8rem .9rem;border:2px solid rgba(255,255,255,.4);border-radius:12px;background:#0818109e;color:#f3fff8;font-size:1.05rem;font-weight:600;cursor:pointer;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;transition:transform .12s ease,background .15s ease,border-color .15s ease}.garden-plot:hover:not(:disabled){background:#143826d9;border-color:#fff9;transform:translateY(-2px)}.garden-plot:focus-visible{outline:3px solid #ffe27a;outline-offset:2px}.garden-plot:disabled{cursor:default}.garden-plot--correct{background:#2ecc7159;border-color:#2ecc71}.garden-plot--incorrect{background:#c0392b4d;border-color:#c0392b}.garden-plot-soil{font-size:1.8rem;line-height:1}.garden-plot-label{text-align:center;line-height:1.25;overflow-wrap:anywhere}.garden-hud,.potion-hud{display:flex;justify-content:space-between;align-items:center;width:100%;font-weight:700;font-size:.95rem;padding:0 .3rem}.potion-field{background:linear-gradient(160deg,#2a1a0e,#4a2f0e);color:#ffe9cf}.potion-locks{display:flex;gap:.7rem;font-size:2.2rem;line-height:1}.potion-lock{transition:transform .2s ease}.potion-lock--open{transform:scale(1.15);filter:drop-shadow(0 0 8px #6c5ce7)}.potion-lock--alarm{animation:potion-shake .4s ease}@keyframes potion-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.potion-prompt{font-size:1.2rem;font-weight:700;margin:0;text-align:center;max-width:90%}.potion-options{display:flex;flex-direction:column;gap:.55rem;width:min(100%,460px)}.potion-answer{display:flex;align-items:center;gap:.7rem;min-height:48px;padding:.7rem 1rem;border:2px solid rgba(255,255,255,.34);border-radius:10px;background:#0a060294;color:#fff4e6;font-size:1.05rem;font-weight:600;text-align:left;cursor:pointer;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;transition:background .15s ease,border-color .15s ease}.potion-answer:hover:not(:disabled){background:#4a2f0ed9;border-color:#ffffff8c}.potion-answer:focus-visible{outline:3px solid #ff9f43;outline-offset:2px}.potion-answer:disabled{cursor:default}.potion-answer--correct{background:#2ecc7152;border-color:#2ecc71}.potion-answer--incorrect{background:#c0392b4d;border-color:#c0392b}.potion-answer-key{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;border-radius:6px;background:#0000004d;font-size:.85rem}@media(prefers-reduced-motion:reduce){.garden-field--wobbly,.potion-lock--alarm{animation:none}.garden-plot,.potion-lock,.potion-answer{transition:none}}.village-game-shell{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b1f24;display:flex;flex-direction:column;z-index:100}.village-game-back{position:absolute;top:10px;left:10px;z-index:10;display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;border-radius:8px;font:600 14px/1.2 system-ui,sans-serif;color:#e9eef5;background:#1b1f24d1;border:1px solid rgba(233,238,245,.35);cursor:pointer}.village-game-back:hover{background:#282e36f2}.village-game-back:focus-visible{outline:2px solid #6ea8fe;outline-offset:2px}.village-game-iframe{flex:1 1 auto;width:100%;border:none}.village-game-loading,.village-game-error{margin:auto;color:#e9eef5;font:16px/1.5 system-ui,sans-serif;text-align:center;padding:2rem}.strategy-section{margin-top:2rem}.strategy-section-heading{font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.6;margin:0 0 .75rem}.game-card-grade{display:block;font-size:.75rem;font-weight:600;opacity:.6;margin-top:.3rem;letter-spacing:.02em}[data-game=strategy]{--game-color-1: #3a7a52;--game-color-2: #2a5c3e}.village-strategy-shell{display:flex;flex-direction:column;height:100vh;background:#0d1a0f}.village-strategy-bar{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:#1a2e1e;border-bottom:1px solid #2a4a30;flex-shrink:0}.village-strategy-title{font-size:.9rem;font-weight:600;color:#a8d5b0;letter-spacing:.03em}.village-strategy-frame{flex:1;width:100%;border:none}:root{color-scheme:light dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;--bg: #eef0f4;--surface: #ffffff;--card: var(--surface);--fg: #18181b;--muted: #6b7280;--border: #e4e4e7;--accent: #4338ca;--accent-fg: #ffffff;--good: #16a34a;--bad: #dc2626;--warn: #b45309;--warn-soft: rgba(180, 83, 9, .1);--good-soft: rgba(22, 163, 74, .1)}@media(prefers-color-scheme:dark){:root{--bg: #09090b;--surface: #18181b;--card: var(--surface);--fg: #fafafa;--muted: #a1a1aa;--border: #27272a;--accent: #818cf8;--accent-fg: #0b0b13}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg)}.app{max-width:720px;margin:0 auto;padding:32px 20px 80px}.app--wide{max-width:min(1280px,100% - 48px);padding-left:0;padding-right:0}.app--wide>header{padding-left:4px;padding-right:4px}header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:12px}header h1{margin:0;font-size:1.5rem;letter-spacing:-.01em}header .tagline{color:var(--muted);font-size:.875rem}header{flex-wrap:wrap;gap:12px}.intro{margin-top:0;margin-bottom:16px}.profile-preview{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.profile-preview p{margin:0 0 8px}.actions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}.actions button{min-width:min(12rem,100%)}section.compact{padding:14px 18px}.session-line{margin:0 0 8px}.subject-chips{list-style:none;margin:0;padding:0;font-size:.9rem}.subject-chips li{margin-bottom:4px}main section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}main section h2{margin-top:0;font-size:1.1rem}.persona-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.persona-row label{font-size:.875rem;color:var(--muted)}select,input,button{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px}button{cursor:pointer;background:var(--accent);color:var(--accent-fg);border-color:transparent}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:transparent;color:var(--fg);border-color:var(--border)}.muted{color:var(--muted)}.bad{color:var(--bad)}.good{color:var(--good)}.prompt{font-size:1.15rem;margin:8px 0 16px}.options{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.option{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:8px}.option input{margin:0}.metacog{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px}.confidence-pick{display:inline-flex;align-items:center;gap:6px}.confidence-dot{width:28px;height:28px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font-size:.8rem;line-height:1}.confidence-dot.selected{border-color:var(--accent, #4f7cff);background:var(--accent, #4f7cff);color:#fff}.hints-tiered{display:flex;flex-direction:column;gap:8px;width:100%}.hint-reveal-btn{align-self:flex-start;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--accent, #4f7cff);cursor:pointer;padding:4px 12px;font-size:.85rem}.hint-reveal-btn:hover{background:var(--surface-2, rgba(79, 124, 255, .08))}.hint-tier{border:1px solid var(--border);border-left:3px solid var(--muted);border-radius:6px;padding:8px 10px}.hint-tier--nudge{border-left-color:#8aa0c6}.hint-tier--strategy{border-left-color:#4f7cff}.hint-tier--worked_step{border-left-color:var(--good, #2bb673)}.hint-tier__label{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:2px}.hint-tier__text{margin:0}.hint-tier__selfexplain{margin:6px 0 0;font-style:italic;color:var(--muted);font-size:.9rem}.feedback{border:1px solid var(--border);border-radius:8px;padding:12px;margin-top:12px}.feedback.correct{border-color:var(--good)}.feedback.incorrect{border-color:var(--bad)}.feedback h3{margin:0 0 6px;font-size:1rem}.question-list{margin:0;padding:0 0 0 1.25rem;list-style:decimal}.question-card{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.question-card:last-of-type{border-bottom:none;margin-bottom:8px}.question-card-head{font-size:.8rem}.submit-error-box{margin:16px 0}.submit-error-box .secondary{margin-top:8px}.practice-submit-bar{position:sticky;bottom:0;margin:20px -20px -20px;padding:16px 20px;background:color-mix(in srgb,var(--bg) 92%,var(--border));border-top:1px solid var(--border);border-radius:0 0 12px 12px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.auth-card{max-width:420px;margin:48px auto 0}.auth-form{display:flex;flex-direction:column;gap:14px}.form-field{display:flex;flex-direction:column;gap:6px;font-size:.875rem}.form-field label{color:var(--muted);font-weight:500}.form-field input,.form-field select{width:100%}.form-field .field-error{color:var(--bad);font-size:.8rem;margin:0}.auth-submit{width:100%;margin-top:4px;padding:10px;font-size:1rem}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.875rem;margin:4px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.oauth-buttons{display:flex;flex-direction:column;gap:10px}.oauth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;color:var(--fg);border:1px solid var(--border);padding:9px;font-size:.95rem}.oauth-btn:hover:not(:disabled){border-color:var(--accent)}.auth-footer{text-align:center;font-size:.875rem;color:var(--muted);margin-top:8px}.auth-footer a,.auth-link{color:var(--accent);background:none;border:none;cursor:pointer;font:inherit;text-decoration:underline;padding:0}.role-tabs{display:flex;gap:8px}.role-tab{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:transparent;color:var(--fg);border:2px solid var(--border);padding:12px 14px;border-radius:10px;cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,background .15s}.role-tab:hover:not(.role-tab--active){border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--bg))}.role-tab--active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg));color:var(--fg)}.role-tab-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem}.role-tab-badge{font-size:.68rem;font-weight:600;padding:1px 6px;border-radius:10px;background:var(--accent);color:var(--accent-fg);letter-spacing:.02em}.role-tab-desc{font-size:.78rem;opacity:.6}.app.app--owner{max-width:1080px}.owner-console{margin-top:8px}.owner-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.owner-header__eyebrow{margin:0 0 4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.owner-header__title{margin:0 0 6px;font-size:1.25rem;letter-spacing:-.02em}.owner-header__subtitle{margin:0;font-size:.95rem}.owner-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.owner-nav__btn{background:transparent;color:var(--fg);border:1px solid var(--border);padding:8px 16px;border-radius:999px;font-size:.875rem}.owner-nav__btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.owner-nav__btn--active{background:var(--accent);color:var(--accent-fg);border-color:transparent}.owner-main{min-height:40vh}.owner-panel__intro h2{margin-top:0}.owner-panel__intro{margin-bottom:20px}.owner-card{border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:20px;background:color-mix(in srgb,var(--bg) 96%,var(--border))}.owner-card__title{margin:0 0 12px;font-size:1rem}.owner-card__hint{margin:0 0 14px}.owner-form__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 18px;margin-bottom:14px}.owner-field{display:flex;flex-direction:column;gap:6px;font-size:.875rem}.owner-field__label{color:var(--muted)}.owner-field--inline{flex-direction:row;align-items:center;gap:10px}.owner-field--inline .owner-field__label{flex-shrink:0}.owner-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 20px;margin-bottom:16px}.owner-toolbar__meta{margin-left:auto}.owner-table-wrap{border:1px solid var(--border);border-radius:12px;overflow:hidden}.owner-table-wrap--scroll{max-height:min(560px,70vh);overflow:auto}.owner-table{width:100%;border-collapse:collapse;font-size:.875rem}.owner-table th,.owner-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}.owner-table th{background:color-mix(in srgb,var(--bg) 90%,var(--border));font-weight:600;position:sticky;top:0;z-index:1}.owner-table tbody tr:last-child td{border-bottom:none}.owner-table--dense th,.owner-table--dense td{padding:8px 10px}.owner-table__prompt{max-width:360px;word-break:break-word}.owner-code{font-size:.8rem;background:color-mix(in srgb,var(--bg) 88%,var(--muted));padding:2px 6px;border-radius:4px}.owner-code--truncate{display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.owner-code--block{display:block;margin-top:6px;max-width:100%;overflow:auto;white-space:nowrap}.owner-badge{display:inline-block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:6px;background:color-mix(in srgb,var(--bg) 85%,var(--border));color:var(--muted)}.owner-badge--ok{background:color-mix(in srgb,var(--good) 22%,var(--bg));color:var(--good)}.owner-badge--muted{background:color-mix(in srgb,var(--muted) 15%,var(--bg));color:var(--muted)}.owner-badge--warn{background:color-mix(in srgb,var(--bad) 18%,var(--bg));color:var(--bad)}.owner-badge--info{background:color-mix(in srgb,var(--accent) 20%,var(--bg));color:var(--accent)}.owner-curriculum-list{list-style:none;margin:0;padding:0}.owner-curriculum-list__item{border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:10px}.owner-card--no-pad{padding:0;overflow:hidden}.owner-card__title--inset{padding:16px 16px 8px;margin:0}.owner-form--inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.owner-form--inline input,.owner-form--inline select{flex:1 1 160px;min-width:120px}.owner-link-btn{background:transparent;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.owner-table__detail-row>td{background:color-mix(in srgb,var(--bg) 96%,var(--border));padding:14px 16px}.owner-detail{display:grid;gap:16px;grid-template-columns:1fr 1fr}@media(max-width:720px){.owner-detail{grid-template-columns:1fr}}.owner-detail__col h4{margin:0 0 6px;font-size:.95rem}.owner-list{list-style:none;margin:0;padding:0}.owner-list__item{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px}.owner-field--wide{grid-column:1 / -1}.owner-curriculum-list__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.owner-curriculum-list__nested{margin-top:10px}.owner-curriculum-list__nested>ul{margin:4px 0 0 1.1rem;padding:0}.owner-curriculum-list__chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}.owner-chip{font-size:.8rem;padding:2px 8px;border-radius:6px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 92%,var(--border))}.small{font-size:.875rem}.parent-dashboard{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 56px);gap:0}@media(min-width:1100px){.parent-dashboard{grid-template-columns:250px 1fr}}@media(max-width:1099px)and (min-width:901px){.parent-dashboard{grid-template-columns:210px 1fr}}@media(max-width:900px){.parent-dashboard{grid-template-columns:1fr}.parent-sidebar{border-right:none!important;border-bottom:1px solid var(--border);padding:12px 16px}.sidebar-header{margin-bottom:10px;padding-bottom:10px}.student-nav h3{display:none}.student-list{flex-direction:row;flex-wrap:wrap;margin-bottom:8px}.student-btn{width:auto;padding:5px 10px 5px 6px;gap:7px}.student-btn-meta{flex-direction:row;align-items:center;gap:5px}.add-student-btn{width:auto;padding:5px 10px}.add-child-form{max-width:100%}}@media(max-width:640px){.parent-sidebar{padding:10px 12px}.student-avatar{width:26px;height:26px;font-size:.62rem}.student-btn-grade{display:none}.parent-content{padding:16px}}.parent-sidebar{border-right:1px solid var(--border);padding:18px 14px;background:color-mix(in srgb,var(--bg) 97%,var(--border));display:flex;flex-direction:column;gap:0}.sidebar-header{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.account-home-location{margin-top:10px}.account-home-location>summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--fg);list-style:none;-webkit-user-select:none;user-select:none}.account-home-location>summary::-webkit-details-marker{display:none}.account-home-location[open]>summary{margin-bottom:6px}.student-nav h3{margin:0 0 10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.student-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:2px}.student-btn{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%;min-width:0;text-align:left;padding:7px 8px;border-radius:8px;background:transparent;border:1px solid transparent;cursor:pointer;font:inherit;transition:background .12s}.student-btn:hover{background:color-mix(in srgb,var(--border) 40%,transparent)}.student-btn--active{background:color-mix(in srgb,var(--accent) 10%,var(--bg));border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.student-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,var(--bg));color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.03em;display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);transition:background .12s,color .12s}.student-btn--active .student-avatar{background:var(--accent);color:var(--accent-fg);border-color:transparent}.student-btn-meta{display:flex;flex-direction:column;min-width:0}.student-btn-name{font-weight:500;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg)}.student-btn--active .student-btn-name{color:var(--accent)}.student-btn-grade{font-size:.72rem;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-student-btn{display:flex;align-items:center;gap:7px;width:100%;padding:7px 8px;border-radius:8px;border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--border));background:transparent;cursor:pointer;font:inherit;font-size:.83rem;color:var(--accent);opacity:.7;transition:opacity .12s,background .12s}.add-student-btn:hover{opacity:1;background:color-mix(in srgb,var(--accent) 6%,var(--bg))}.parent-content{padding:24px 28px;overflow-y:auto;min-width:0;overflow-x:hidden}.student-view-header{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-view-header h2{margin:0 0 4px}.btn-danger-outline{background:transparent;color:var(--bad);border:1px solid var(--bad);border-radius:6px;padding:6px 14px;font-size:.83rem;cursor:pointer;white-space:nowrap;flex-shrink:0;opacity:.75;transition:opacity .15s}.btn-danger-outline:hover{opacity:1}.btn-danger{background:var(--bad);color:#fff;border:none;border-radius:6px;padding:8px 18px;font-size:.875rem;cursor:pointer}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.delete-confirm-panel{border:1px solid color-mix(in srgb,var(--bad) 30%,var(--border));border-radius:12px;padding:16px 18px;margin-bottom:20px;font-size:.9rem;line-height:1.55}.delete-confirm-title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--bad);margin:0 0 10px}.delete-confirm-panel p{margin:0 0 12px}.delete-confirm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.report-section{margin-bottom:28px}.report-section h3{margin:0 0 14px;font-size:1rem}.report-section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}.report-section-head h3{margin:0}.window-tabs{display:flex;gap:4px}.window-tab{padding:4px 12px;border-radius:16px;border:1px solid var(--border);background:transparent;color:var(--fg);font:inherit;font-size:.82rem;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.window-tab:hover:not(.window-tab--active){background:color-mix(in srgb,var(--border) 50%,transparent)}.window-tab--active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.activity-totals{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.stat-pill{display:flex;flex-direction:column;padding:8px 14px;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 96%,var(--border));min-width:80px}.stat-pill--good{border-color:color-mix(in srgb,var(--good) 40%,transparent);background:color-mix(in srgb,var(--good) 8%,var(--bg))}.stat-value{font-size:1.4rem;font-weight:700;line-height:1.2}.stat-label{font-size:.72rem;opacity:.6;margin-top:2px}.activity-chart{display:flex;align-items:flex-end;gap:4px;height:80px;padding-bottom:20px;position:relative}.activity-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}.activity-bar{width:100%;min-height:2px;border-radius:3px 3px 0 0;background:var(--border);transition:height .2s}.activity-bar--active{background:var(--accent)}.activity-label{position:absolute;bottom:-18px;font-size:.62rem;opacity:.55;white-space:nowrap}.subject-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:14px}.subject-card{border:1px solid var(--border);border-radius:12px;padding:16px 18px;background:var(--surface)}.subject-card-header{margin-bottom:10px}.subject-card-header h3{margin:0 0 2px;font-size:1rem}.subject-card-meta{margin-bottom:10px}.subject-level{font-weight:600;font-size:.9rem}.subject-card-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.subject-card-stats .stat-pill{font-size:.85rem}.subject-card-section{margin-top:10px}.section-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 5px;font-weight:600;opacity:.65}.section-label.good{color:var(--good);opacity:1}.section-label.bad{color:var(--bad);opacity:1}.tag-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px}.tag{font-size:.78rem;padding:2px 8px;border-radius:6px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 92%,var(--border))}.tag--good{border-color:color-mix(in srgb,var(--good) 35%,transparent);background:color-mix(in srgb,var(--good) 8%,var(--bg));color:var(--good)}.tag--bad{border-color:color-mix(in srgb,var(--bad) 35%,transparent);background:color-mix(in srgb,var(--bad) 8%,var(--bg));color:var(--bad)}.add-child-form{max-width:560px}.add-child-form-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.add-child-form-header h2{margin:0 0 6px}.child-form{display:flex;flex-direction:column;gap:20px}.form-group{border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin:0}.form-group legend{font-weight:600;font-size:.88rem;padding:0 6px;color:var(--accent)}.form-group-desc{margin:0 0 14px;font-size:.85rem}.form-hint{margin:4px 0 0;font-size:.78rem;opacity:.6}.coppa-notice{background:color-mix(in srgb,var(--accent) 6%,var(--bg));border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:10px;padding:14px 16px;font-size:.83rem;line-height:1.6;color:var(--fg)}.coppa-notice__heading{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:8px}.coppa-notice ul{margin:0 0 8px 1.1rem;padding:0;display:flex;flex-direction:column;gap:3px}.coppa-notice__footer{margin:4px 0 0;font-size:.78rem;opacity:.6}.grade-select{display:block;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);font:inherit;font-size:.95rem;margin-top:4px;cursor:pointer}.grade-select:focus{outline:2px solid var(--accent);outline-offset:1px}.standard-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.standard-tab{padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--fg);font:inherit;font-size:.875rem;cursor:pointer;transition:background .1s,border-color .1s}.standard-tab:hover:not(.standard-tab--active){border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--bg))}.standard-tab--active{background:color-mix(in srgb,var(--accent) 12%,var(--bg));border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent);font-weight:500}.form-actions{display:flex;gap:10px;margin-top:4px}.login-or-divider{display:flex;align-items:center;gap:10px;margin:6px 0;color:var(--fg);opacity:.4;font-size:.8rem}.login-or-divider:before,.login-or-divider:after{content:"";flex:1;height:1px;background:var(--border)}.req{color:var(--bad);margin-left:2px}.empty-state{text-align:center;padding:60px 20px}.empty-state h2{margin:0 0 8px}.empty-state p{margin:0 0 20px}.student-main{max-width:860px;margin:0 auto;padding:24px 16px 48px}.curriculum-position-label{margin:0 0 12px;font-size:.82rem;color:var(--text-muted, #888);letter-spacing:.01em}.student-topbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.subject-chip-btn{padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--fg);font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s}.subject-chip-btn:hover{background:var(--surface)}.subject-chip-btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}.subject-chip-btn--add{border-style:dashed;color:var(--muted)}.subject-chip-btn--add:hover{color:var(--accent);border-color:var(--accent)}.session-done{text-align:center;padding:48px 20px}.catalogue{width:100%}.catalogue-header{margin-bottom:28px}.catalogue-header h2{margin:0 0 6px;font-size:1.6rem}.catalogue-loading{padding:48px 0;text-align:center}.catalogue-empty{text-align:center;padding:40px 0}.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.subject-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--border);border-radius:10px;background:var(--surface);text-align:left;cursor:pointer;transition:border-color .15s,transform .1s}.subject-card:hover{border-color:var(--accent);transform:translateY(-2px)}.subject-card-name{font-size:1.05rem;font-weight:600;color:var(--fg)}.subject-card-desc{font-size:.85rem;color:var(--muted);line-height:1.4}.subject-card-badge{display:inline-block;font-size:.7rem;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);width:fit-content}.subject-card-cta{margin-top:auto;font-size:.85rem;font-weight:500;color:var(--accent)}.placement-test{max-width:620px;margin:0 auto;padding-bottom:48px}.placement-header{margin-bottom:24px}.placement-subject{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 4px}.placement-title{margin:0 0 8px;font-size:1.5rem}.placement-subtitle{margin:0;font-size:.9rem}.placement-progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:6px}.placement-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.placement-count{font-size:.8rem;margin:0 0 20px}.placement-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:20px}.placement-prompt{font-size:1.1rem;font-weight:500;margin:0 0 20px;line-height:1.5}.placement-open-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--surface);color:var(--fg);box-sizing:border-box}.placement-open-input:focus{outline:2px solid var(--accent);border-color:var(--accent)}.placement-options{display:flex;flex-direction:column;gap:10px}.placement-option{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1.5px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:.95rem;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.placement-option:hover{border-color:var(--accent);background:var(--surface)}.placement-option--selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg))}.placement-option-marker{flex-shrink:0}.radio-dot,.check-box{display:inline-block;width:18px;height:18px;border:2px solid var(--border);border-radius:50%}.check-box{border-radius:4px}.radio-dot--on,.check-box--on{border-color:var(--accent);background:var(--accent)}.placement-err{margin-top:12px;font-size:.85rem}.placement-nav{display:flex;justify-content:flex-end;gap:10px}.placed-result{text-align:center;max-width:500px;margin:48px auto;padding:40px 32px;background:var(--surface);border:1px solid var(--border);border-radius:16px}.placed-emoji{font-size:3rem;margin-bottom:16px}.placed-result h2{margin:0 0 12px}.placed-result p{margin:0 0 28px}.btn-primary{padding:10px 24px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:10px 24px;background:transparent;color:var(--fg);border:1px solid var(--border);border-radius:8px;font-size:.95rem;cursor:pointer;transition:background .15s}.btn-secondary:hover{background:var(--surface)}.ai-badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.04em;vertical-align:middle}.practice-loading-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-top:12px;max-width:300px}.practice-loading-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s ease}.practice-batch-header{margin-bottom:20px}.question-card--skeleton{opacity:.55}.practice-skeleton-badge{font-size:.75rem;color:var(--accent);animation:pulse 1.2s ease-in-out infinite}.practice-skeleton-line{height:14px;background:var(--border);border-radius:6px;margin-top:10px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.lp-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg)}.lp-nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.lp-nav-inner{max-width:1100px;margin:0 auto;padding:0 24px;height:60px;display:flex;align-items:center;gap:24px}.lp-nav-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1rem;color:var(--fg);text-decoration:none;white-space:nowrap}.lp-nav-logo{width:32px;height:32px;border-radius:8px;object-fit:contain;border:1px solid var(--border)}.lp-nav-links{display:flex;gap:4px;margin-left:8px;flex:1}.lp-nav-link{padding:6px 12px;font-size:.9rem;color:var(--muted);text-decoration:none;border-radius:7px;transition:color .15s,background .15s}.lp-nav-link:hover{color:var(--fg);background:color-mix(in srgb,var(--border) 60%,transparent)}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 20px;border-radius:9px;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:filter .15s,background .15s,border-color .15s;white-space:nowrap}.lp-btn--primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.lp-btn--primary:hover{filter:brightness(1.08)}.lp-btn--outline{background:transparent;color:var(--fg);border-color:var(--border)}.lp-btn--outline:hover{background:color-mix(in srgb,var(--border) 50%,transparent)}.lp-btn--ghost{background:transparent;color:var(--fg);border-color:var(--border)}.lp-btn--ghost:hover{background:color-mix(in srgb,var(--border) 50%,transparent)}.lp-btn--full{width:100%}.lp-hero{max-width:1100px;margin:0 auto;padding:72px 24px 64px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.lp-eyebrow{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:0 0 14px}.lp-hero-heading{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0 0 18px}.lp-hero-heading em{font-style:normal;color:var(--accent)}.lp-hero-sub{font-size:1.05rem;color:var(--muted);line-height:1.65;margin:0 0 28px}.lp-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.lp-hero-media{border-radius:16px;overflow:hidden;border:1px solid var(--border);box-shadow:0 12px 40px -8px color-mix(in srgb,var(--fg) 12%,transparent)}.lp-hero-img{display:block;width:100%;height:auto;vertical-align:middle}.lp-section-inner{max-width:1100px;margin:0 auto;padding:72px 24px}.lp-section-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:0 0 10px}.lp-section-heading{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:800;letter-spacing:-.02em;margin:0 0 14px}.lp-section-sub{font-size:1rem;color:var(--muted);line-height:1.65;max-width:680px;margin:0 0 40px}.lp-acronym{background:color-mix(in srgb,var(--border) 30%,var(--bg));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.lp-acronym .lp-section-inner{text-align:center}.lp-acronym .lp-section-sub{margin-left:auto;margin-right:auto}.lp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;text-align:left}.lp-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px 20px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,transform .15s}.lp-card:hover{border-color:var(--accent);transform:translateY(-2px)}.lp-card-letter{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,var(--bg));color:var(--accent);font-size:1.25rem;font-weight:800;margin-bottom:4px}.lp-card-title{margin:0;font-size:1rem;font-weight:700}.lp-card-desc{margin:0;font-size:.875rem;color:var(--muted);line-height:1.55}.lp-about-grid{display:grid;grid-template-columns:auto 1fr;gap:64px;align-items:center}.lp-about-media{flex-shrink:0}.lp-about-logo{width:220px;height:220px;border-radius:20px;object-fit:contain;border:1px solid var(--border);box-shadow:0 8px 28px -6px color-mix(in srgb,var(--fg) 10%,transparent)}.lp-about-text p{margin:0 0 14px;line-height:1.7;color:var(--fg);font-size:.975rem}.lp-about-bullets{margin:18px 0 0;padding-left:1.25rem;display:flex;flex-direction:column;gap:7px;font-size:.9rem;color:var(--muted)}.lp-about-bullets li::marker{color:var(--accent)}.lp-contact{background:color-mix(in srgb,var(--border) 25%,var(--bg));border-top:1px solid var(--border)}.lp-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.lp-contact-info p{font-size:.975rem;line-height:1.7;color:var(--muted);margin:0 0 24px}.lp-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.lp-contact-list li{display:flex;align-items:center;gap:10px;font-size:.9rem}.lp-contact-list a{color:var(--accent);text-decoration:none}.lp-contact-list a:hover{text-decoration:underline}.lp-contact-icon{font-size:1rem;width:24px;text-align:center;flex-shrink:0}.lp-contact-form{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:16px;box-shadow:0 4px 20px -4px color-mix(in srgb,var(--fg) 8%,transparent)}.lp-contact-form-title{margin:0 0 4px;font-size:1.05rem;font-weight:700}.lp-form-field{display:flex;flex-direction:column;gap:6px;font-size:.875rem}.lp-form-field label{font-weight:500;color:var(--muted)}.lp-form-field input,.lp-form-field textarea{font:inherit;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:9px 12px;width:100%;resize:vertical;transition:border-color .15s,box-shadow .15s}.lp-form-field input:focus,.lp-form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.lp-footer{margin-top:auto;border-top:1px solid var(--border);background:color-mix(in srgb,var(--border) 20%,var(--bg))}.lp-footer-inner{max-width:1100px;margin:0 auto;padding:28px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.lp-footer-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem}.lp-footer-name{white-space:nowrap}.lp-footer-links{display:flex;gap:4px;flex:1;flex-wrap:wrap}.lp-footer-link{padding:4px 10px;font-size:.875rem;color:var(--muted);text-decoration:none;border-radius:6px;transition:color .15s}.lp-footer-link:hover{color:var(--fg)}.lp-footer-copy{margin:0;font-size:.8rem;color:var(--muted)}@media(max-width:860px){.lp-hero{grid-template-columns:1fr;padding:48px 20px 40px;gap:32px}.lp-about-grid{grid-template-columns:1fr;gap:32px}.lp-about-media{display:flex;justify-content:center}.lp-contact-grid{grid-template-columns:1fr;gap:36px}}@media(max-width:600px){.lp-nav-links{display:none}.lp-hero-heading{font-size:1.75rem}.lp-cards{grid-template-columns:1fr 1fr}.lp-footer-inner{flex-direction:column;align-items:flex-start;gap:12px}.strategy-card{padding:16px 18px}.catalogue-grid{grid-template-columns:1fr}.mentor-chat-thread{max-height:50vh}.mentor-chat-form{position:sticky;bottom:0;background:var(--bg);padding:8px 0}.mentor-chat-form input{padding:10px 12px;font-size:1rem}.mentor-chat-form button{padding:10px 16px}}@media(max-width:400px){.lp-cards{grid-template-columns:1fr}}.landing-root{display:none}.landing-header{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.landing-logo{width:96px;height:96px;object-fit:contain;border-radius:12px;border:1px solid var(--border);background:var(--bg)}.landing-title-block h1{margin:0 0 6px;font-size:1.75rem;letter-spacing:-.02em}.landing-tagline{margin:0;font-size:.95rem}.landing-hero{margin-bottom:22px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--border)}.landing-hero-img{display:block;width:100%;height:auto;vertical-align:middle}.landing-copy{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:22px 24px;margin-bottom:28px}.landing-copy-title{margin-top:0;font-size:1.15rem}.landing-copy p{margin:0 0 12px}.landing-copy p:last-child{margin-bottom:0}.landing-note{margin-top:8px!important}.landing-footer{text-align:center}.landing-login-link{display:inline-block;font:inherit;font-weight:600;color:var(--accent-fg);background:var(--accent);text-decoration:none;padding:12px 28px;border-radius:10px;border:none}.landing-login-link:hover{filter:brightness(1.06)}.landing-login-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.auth-back{margin:0 0 14px;text-align:left}@media(prefers-color-scheme:dark){.landing-login-link:focus-visible{outline-color:var(--accent)}}.strategy-picker{width:100%;max-width:640px;margin:0 auto;padding:32px 0}.strategy-picker h2{margin:0 0 24px;font-size:1.4rem}.strategy-cards{display:flex;flex-direction:column;gap:14px}.strategy-card{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:20px 22px;cursor:pointer;transition:border-color .15s,box-shadow .15s;font:inherit;color:inherit;text-decoration:none}.strategy-card:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.strategy-card-icon{font-size:1.6rem;margin-bottom:4px}.strategy-card strong{font-size:1.05rem}.strategy-card-desc{font-size:.88rem;color:var(--muted);line-height:1.45}.game-lobby-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.game-lobby-header h2{margin:0}.game-lobby-header h2:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.game-lobby-group{margin-top:20px}.game-lobby-group-title{font-size:1rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}.game-lobby-cards{list-style:none;padding:0;margin:0}.game-lobby-cards>li{display:block}.game-card-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:2px}.game-card-badge{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:2px 8px;min-height:24px;line-height:20px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.game-card--disabled{opacity:.55;cursor:not-allowed}.game-lobby-empty{text-align:center;padding:40px 0}.lesson-picker{width:100%;max-width:640px;margin:0 auto;padding:24px 0}.lesson-picker-header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.lesson-picker-header h2{margin:0;font-size:1.3rem}.btn-ghost{background:none;border:none;font:inherit;color:var(--accent-fg, var(--accent));cursor:pointer;padding:4px 8px;border-radius:6px;font-size:.92rem}.btn-ghost:hover{background:var(--hover, rgba(0,0,0,.05))}.lesson-strand-list{display:flex;flex-direction:column;gap:8px}.lesson-strand{border:1.5px solid var(--border);border-radius:10px;overflow:hidden}.lesson-strand-header{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:14px 16px;background:var(--surface);border:none;font:inherit;color:inherit;cursor:pointer;font-weight:600}.lesson-strand-header:hover,.lesson-strand-header--open{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.lesson-strand-code{font-size:.78rem;color:var(--muted);min-width:44px}.lesson-strand-title{flex:1;font-size:.97rem}.lesson-strand-chevron{font-size:.75rem;color:var(--muted)}.lesson-leaf-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.lesson-leaf-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px 12px 28px;background:none;border:none;font:inherit;color:inherit;cursor:pointer;text-align:left;border-bottom:1px solid var(--border);transition:background .12s}.lesson-leaf-list li:last-child .lesson-leaf-btn{border-bottom:none}.lesson-leaf-btn:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.lesson-leaf-code{font-size:.75rem;color:var(--muted);min-width:52px}.lesson-leaf-title{flex:1;font-size:.92rem}.lesson-leaf-cta{color:var(--accent-fg, var(--accent));font-size:.9rem}.strategy-config{display:flex;flex-direction:column;gap:12px;margin-top:12px}.strategy-toggle{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.strategy-toggle input[type=checkbox]{margin-top:2px;width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.strategy-toggle-label{display:flex;flex-direction:column;gap:3px}.strategy-toggle-label strong{font-size:.95rem}.strategy-toggle-label span{font-size:.82rem;color:var(--muted)}.terms-gate{display:flex;flex-direction:column;gap:20px}.terms-gate__title{font-size:1.1rem;font-weight:700;margin:0;color:var(--fg)}.terms-gate__subtitle{font-size:.83rem;color:var(--muted);margin:0}.terms-box{height:340px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:16px 18px;font-size:.82rem;line-height:1.65;color:var(--fg);background:var(--bg)}.terms-box h3{font-size:.95rem;font-weight:700;margin:20px 0 4px;color:var(--fg)}.terms-box h3:first-child{margin-top:0}.terms-box p{margin:0 0 6px}.terms-box ul{margin:4px 0 8px 18px;padding:0}.terms-box li{margin-bottom:3px}.terms-box .terms-effective{font-size:.78rem;color:var(--muted);margin-bottom:14px}.terms-accept{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;cursor:pointer;-webkit-user-select:none;user-select:none}.terms-accept input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.terms-accept-btn{width:100%;padding:10px;font-size:1rem}.terms-accept-btn:disabled{opacity:.5;cursor:not-allowed}.consent-block{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--accent) 4%,var(--bg))}.consent-block__title{margin:0;font-size:.875rem;font-weight:700;color:var(--fg)}.consent-block__desc{margin:0;font-size:.82rem;color:var(--muted);line-height:1.5}.consent-group label.consent-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 0;border-top:1px solid var(--border)}.consent-group label.consent-checkbox:first-of-type{border-top:none;padding-top:0}.consent-checkbox input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.devices-panel{max-width:560px}.devices-panel__header{margin-bottom:16px}.devices-panel__title{margin:0 0 6px;font-size:1rem;font-weight:700}.devices-panel__desc{margin:0}.devices-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.device-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.device-item:last-child{border-bottom:none}.device-item--current{background:color-mix(in srgb,var(--accent) 4%,var(--bg))}.device-item__icon{font-size:1.25rem;flex-shrink:0;width:28px;text-align:center}.device-item__body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.device-item__hint{font-size:.9rem;font-weight:600;color:var(--fg)}.device-item__badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);width:fit-content}.device-item__meta{font-size:.78rem;color:var(--muted)}.device-item__revoke{flex-shrink:0;font-size:.78rem;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--bad);cursor:pointer}.device-item__revoke:hover:not(:disabled){border-color:var(--bad);background:color-mix(in srgb,var(--bad) 8%,var(--bg))}.device-item__revoke:disabled{opacity:.5;cursor:default}button.secondary.btn-active{border-color:var(--accent);color:var(--accent)}.level-promotion-banner,.stopped-early-banner{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin:16px 0;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2, rgba(0, 0, 0, .03))}.stopped-early-banner{border-color:var(--accent)}.level-promotion-icon,.stopped-early-icon{font-size:1.5rem;line-height:1.4}.level-promotion-text strong,.stopped-early-text strong{display:block;margin-bottom:2px}.level-promotion-text p,.stopped-early-text p{margin:0;color:var(--muted);font-size:.9rem}.rest-nudge{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 16px;margin:0 0 16px;border-radius:var(--radius);border:1px solid var(--accent);background:var(--surface-2, rgba(0, 0, 0, .03))}.rest-nudge-icon{font-size:1.4rem}.rest-nudge-text{flex:1;min-width:200px}.rest-nudge-text strong{display:block;margin-bottom:2px}.rest-nudge-text p{margin:0;color:var(--muted);font-size:.9rem}.rest-nudge-dismiss{white-space:nowrap}.rest-nudge--fatigue{border-color:var(--border)}.scaffold-first{margin:8px 0 12px}.scaffold-first summary{cursor:pointer;color:var(--accent);font-size:.9rem}.scaffold-steps{margin:8px 0 0;padding-left:20px;color:var(--muted);font-size:.9rem}.scaffold-steps li{margin:4px 0}.retry-review{margin-top:10px;padding-top:8px;border-top:1px solid var(--border, rgba(0, 0, 0, .1))}.report-summary{margin:0 0 14px;font-size:.95rem;line-height:1.5}.report-summary strong{white-space:nowrap}.balance-card{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;margin:0 0 16px;border:1px solid transparent}.balance-card-icon{font-size:1.4rem;line-height:1}.balance-card-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.balance-card--good{background:color-mix(in srgb,#16a34a 8%,var(--card));border-color:color-mix(in srgb,#16a34a 28%,transparent)}.balance-card--rest{background:color-mix(in srgb,#f59e0b 10%,var(--card));border-color:color-mix(in srgb,#f59e0b 35%,transparent)}.strategy-help{margin:0 0 12px}.strategy-help-headline{margin:0 0 4px;font-size:.9rem;color:var(--muted)}.strategy-help-detail summary{cursor:pointer;font-size:.85rem;color:var(--muted)}.strategy-help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.strategy-help-list li{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.strategy-help-figure{font-variant-numeric:tabular-nums}@media print{@page{size:A4;margin:20mm}.app>header,.app>.tagline,.practice-submit-bar,.submit-error-box,.stopped-early-banner,.level-promotion-banner,.actions,.practice-batch-header .session-progress,.practice-loading-bar,.practice-skeleton-badge,.practice-skeleton-line,.question-card--skeleton,.options,.feedback,.retry-review,.hints-reveal,.ai-badge,.scaffold-first{display:none!important}body,.app,.practice-batch{background:#fff!important;color:#111!important}.practice-batch{position:relative;max-width:none;padding:0;margin:0}.practice-batch:before{content:"https://agnesway.com";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-30deg);font-size:2.5rem;color:#0000000d;font-weight:700;letter-spacing:.08em;pointer-events:none;z-index:0;white-space:nowrap}.practice-batch-header h2{font-size:1.2rem;margin:0 0 4px}.practice-batch-header .topic-unit,.practice-batch-header .topic-subunit{color:#444!important}.question-list{padding:0;margin:0;list-style:none}.question-card{page-break-inside:avoid;break-inside:avoid;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #ccc;position:relative;z-index:1}.question-card:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.question-card-head{font-size:.9rem;font-weight:600;color:#333!important;margin-bottom:8px}.prompt{font-size:1rem;line-height:1.6;margin:12px 0 16px;color:#111!important}.question-card .prompt:after{content:"";display:block;margin-top:16px;height:120px;background:repeating-linear-gradient(to bottom,transparent,transparent 24px,#ddd 24px,#ddd 25px)}}.learning-setup-details>summary{cursor:pointer;list-style:none}.learning-setup-details>summary::-webkit-details-marker{display:none}.learning-setup-summary{display:flex;align-items:baseline;gap:6px}.learning-setup .segment-tabs{display:inline-flex;gap:4px;margin:0 0 14px;border:1px solid var(--border);border-radius:8px;padding:3px}.learning-setup .segment-tab{border:none;background:transparent;padding:6px 14px;border-radius:6px;font-size:.88rem;cursor:pointer;color:var(--muted)}.learning-setup .segment-tab--active{background:var(--accent, #2563eb);color:#fff}.learning-setup .setup-steps{display:flex;flex-direction:column;gap:14px;max-width:460px}.learning-setup .form-field{display:flex;flex-direction:column;gap:4px}.learning-setup .form-field>span{font-size:.85rem;font-weight:500}.learning-setup select{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;background:var(--bg, #fff)}.grade-confirm{border:1.5px solid var(--warn, #c97a00);border-radius:10px;padding:12px 14px;margin:4px 0;background:color-mix(in srgb,var(--warn, #c97a00) 6%,var(--bg))}.grade-confirm p{margin:0 0 10px;line-height:1.5}.grade-confirm .actions{display:flex;gap:10px}.standard-locked{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.standard-locked-value{font-weight:600;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--accent) 5%,var(--bg))}.learning-setup .subject-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:6px}.learning-setup .subject-check{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:.88rem;cursor:pointer}.learning-setup .subject-check input{margin:0}.ls-current{border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:0 0 16px;background:color-mix(in srgb,var(--accent) 5%,var(--bg))}.ls-geo-note{margin:0 0 6px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,var(--bg));line-height:1.45}.home-location .actions{display:flex;align-items:center;gap:12px;margin-top:6px}.reloc-review{border:1.5px solid var(--accent);border-radius:12px;padding:14px 16px;background:color-mix(in srgb,var(--accent) 5%,var(--bg))}.reloc-review-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.reloc-review-head h3{margin:0;font-size:1.05rem}.reloc-child-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.reloc-child{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.reloc-child-head{margin-bottom:8px}.reloc-child-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.reloc-child-actions select{min-width:0;flex:1 1 220px;padding:7px 9px;border:1px solid var(--border);border-radius:6px}.ls-current-label{margin:0 0 8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}.ls-current-grid{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}.ls-current-grid dt{color:var(--muted);font-size:.85rem}.ls-current-grid dd{margin:0;font-size:.9rem;font-weight:500}@media(max-width:480px){.ls-current-grid{grid-template-columns:1fr;gap:2px}.ls-current-grid dt{margin-top:6px}}.mentor-card{border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:16px 0;background:var(--surface-2, rgba(0, 0, 0, .02))}.mentor-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.mentor-card-head h3{margin:0;font-size:1rem}.mentor-status{display:flex;gap:8px;align-items:center;margin:4px 0 10px;font-size:.95rem}.mentor-status-icon{font-size:1.2rem}.mentor-status--good{color:var(--good)}.mentor-status--calm{color:var(--fg)}.mentor-status--warn{color:var(--warn)}.mentor-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.mentor-chip{font-size:.8rem;padding:2px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.mentor-chip--good{border-color:var(--good);color:var(--good);background:var(--good-soft)}.mentor-chip--calm{border-color:var(--border)}.mentor-chip--warn{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}.mentor-focus{margin:8px 0}.mentor-focus-label{margin:0 0 4px;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}.mentor-why{margin:10px 0 2px}.mentor-why>summary{cursor:pointer;font-size:.85rem;color:var(--muted);list-style:none;display:inline-flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.mentor-why>summary::-webkit-details-marker{display:none}.mentor-why>summary:before{content:"›";transition:transform .15s;display:inline-block}.mentor-why[open]>summary:before{transform:rotate(90deg)}.mentor-why>summary:hover{color:var(--fg)}.sprint-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.sprint-form .field{flex:1 1 8rem;min-width:0}.sprint-form .field input{width:100%;min-width:0;box-sizing:border-box}.mentor-narrative{margin:8px 0 0;color:var(--fg);font-size:.92rem;line-height:1.5;max-width:70ch}.mentor-pacing{margin:10px 0 2px}.mentor-pacing-bar{position:relative;height:8px;border-radius:999px;background:var(--border);overflow:hidden}.mentor-pacing-fill{position:absolute;left:0;top:0;bottom:0;background:var(--good);border-radius:999px}.mentor-pacing--warn .mentor-pacing-fill{background:var(--warn)}.mentor-pacing-elapsed{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--muted);opacity:.6}.mentor-pacing-label{display:block;margin-top:4px}.mentor-chat{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.mentor-chat .agchat{min-height:0}.mentor-chat .agchat-scroll{max-height:320px}.mentor-chat-thread{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.mentor-msg{padding:8px 12px;border-radius:var(--radius);font-size:.9rem;max-width:85%}.mentor-msg--user{align-self:flex-end;background:var(--accent);color:var(--accent-fg)}.mentor-msg--assistant{align-self:flex-start;background:var(--surface-2, rgba(0,0,0,.04));border:1px solid var(--border)}.mentor-chat-form{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.mentor-chat-form input{flex:1 1 140px;min-width:0}.mentor-chat-form button{flex-shrink:0}.parent-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--border);margin:4px 0 20px}.parent-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:.95rem;font-weight:500;padding:10px 16px;cursor:pointer;white-space:nowrap}@media(max-width:640px){.parent-tab{flex:1 1 auto;text-align:center;padding:10px 8px;font-size:.9rem}}.parent-tab:hover{color:var(--fg)}.parent-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.parent-tab-stack,.overview-duo{display:flex;flex-direction:column;gap:18px}.overview-duo>.balance-card{margin-bottom:0}@media(min-width:1100px){.overview-duo{display:grid;grid-template-columns:minmax(260px,340px) 1fr;align-items:start;gap:18px}}.danger-section{border:1px solid var(--bad);border-radius:12px}.pm-layout{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:18px;min-height:420px}@media(max-width:720px){.pm-layout{grid-template-columns:1fr}}.pm-list{border:1px solid var(--border);border-radius:12px;padding:12px}.pm-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pm-list-head h3{margin:0;font-size:1rem}.pm-group-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.pm-group{display:flex;flex-direction:column}.pm-group-head{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;padding:6px 4px;cursor:pointer;font-weight:600;font-size:.9rem;color:var(--text, inherit);border-bottom:1px solid var(--border)}.pm-group-chevron{color:var(--muted);font-size:.8rem;width:1em}.pm-group-label{flex:1 1 auto;text-transform:uppercase;letter-spacing:.02em;font-size:.78rem;color:var(--muted)}.pm-group .pm-conv-list{margin-top:4px}.pm-conv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pm-conv-row{width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.pm-conv-row:hover{background:var(--good-soft);background:#7f7f7f0f}.pm-conv-row--active{background:#7f7f7f1a}.pm-conv-top{display:flex;justify-content:space-between;gap:8px}.pm-conv-who{font-weight:600;font-size:.9rem}.pm-conv-subject{font-weight:400;color:var(--muted)}.pm-conv-time{color:var(--muted);font-size:.78rem}.pm-conv-preview{color:var(--muted);font-size:.84rem;display:flex;align-items:center;justify-content:space-between;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-unread-badge{background:var(--accent);color:var(--accent-fg);border-radius:999px;font-size:.7rem;font-weight:700;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pm-pane{border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column}.pm-empty{margin:auto;padding:24px;text-align:center}.pm-thread{display:flex;flex-direction:column;height:100%;min-height:420px;min-width:0}.pm-thread-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}.pm-bubble{max-width:78%;padding:8px 12px;border-radius:12px;background:#7f7f7f1a;align-self:flex-start}.pm-bubble--mine{align-self:flex-end;background:var(--accent);color:var(--accent-fg)}.pm-bubble-body{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.9rem}.pm-bubble-time{display:block;font-size:.68rem;opacity:.7;margin-top:2px;text-align:right}.pm-composer{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}.pm-composer-input{flex:1;resize:vertical}.agchat{display:flex;flex-direction:column;height:100%;min-height:440px}.agchat-header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.agchat-header-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.agchat-header-name{font-weight:600;font-size:.95rem}.agchat-header-sub{color:var(--muted);font-size:.78rem}.agchat-avatar{flex-shrink:0;width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;background:var(--accent)}.agchat-avatar--sm{width:28px;height:28px;font-size:.7rem;align-self:flex-end}.agchat-avatar--parent{background:#0e7490}.agchat-avatar--teacher{background:#4338ca}.agchat-avatar--agency_admin{background:#b45309}.agchat-avatar--student{background:#15803d}.agchat-avatar--assistant{background:#7c3aed}.agchat-avatar--system{background:#6b7280}.agchat-scroll{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:4px}.agchat-status{color:var(--muted);font-size:.85rem;text-align:center;margin:10px 0}.agchat-status--bad{color:#dc2626}.agchat-day{text-align:center;margin:12px 0 8px}.agchat-day span{background:#7f7f7f1f;color:var(--muted);font-size:.72rem;font-weight:600;padding:2px 10px;border-radius:999px}.agchat-row{display:flex;align-items:flex-end;gap:8px;margin-top:6px}.agchat-row--mine{flex-direction:row-reverse}.agchat-run{display:flex;flex-direction:column;gap:2px;max-width:76%}.agchat-row--mine .agchat-run{align-items:flex-end}.agchat-sender{font-size:.74rem;font-weight:600;color:var(--muted);margin:0 4px 1px}.agchat-bubble{padding:8px 12px;border-radius:14px;position:relative}.agchat-bubble--in{background:#7f7f7f1f;border-bottom-left-radius:4px}.agchat-bubble--mine{background:var(--accent);color:var(--accent-fg);border-bottom-right-radius:4px}.agchat-bubble+.agchat-bubble{margin-top:2px}.agchat-bubble-body{white-space:pre-wrap;word-break:break-word;font-size:.9rem}.agchat-bubble-time{display:block;font-size:.66rem;opacity:.65;margin-top:3px;text-align:right}.agchat-composer{display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid var(--border)}.agchat-textarea{flex:1;resize:none;font:inherit;padding:9px 12px;border:1px solid var(--border);border-radius:18px;background:var(--bg);color:var(--fg);max-height:140px;line-height:1.35}.agchat-textarea:focus{outline:none;border-color:var(--accent)}.agchat-send{flex-shrink:0;border:none;background:var(--accent);color:var(--accent-fg);border-radius:999px;padding:9px 18px;font-weight:600;cursor:pointer}.agchat-send:disabled{opacity:.5;cursor:not-allowed}.p-request-chat .agchat{min-height:0}.p-request-chat .agchat-scroll{max-height:340px}.p-request-chat .p-request-status{margin:0;padding:8px 14px;font-size:.82rem;color:var(--muted);background:#7f7f7f0f}.pm-new-thread{padding:16px;display:flex;flex-direction:column;gap:12px}.pm-new-thread-title{font-weight:600;margin:0}.pm-new-thread-actions{display:flex;gap:8px}.pm-field{display:flex;flex-direction:column;gap:4px}.pm-label{font-size:.8rem;color:var(--muted);font-weight:500}.pt-subject-list{display:flex;flex-direction:column;gap:12px}.pt-subject{border:1px solid var(--border);border-radius:12px;padding:14px}.pt-subject-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pt-subject-name{margin:0 0 4px;font-size:1rem}.pt-subject-actions{display:flex;gap:6px;flex-shrink:0}.pt-assigned{display:inline-flex;align-items:center;gap:6px;font-size:.88rem}.pt-assigned-dot{width:8px;height:8px;border-radius:999px;background:var(--good);display:inline-block}.pt-subject-choose{margin-top:14px;border-top:1px solid var(--border);padding-top:14px}.pt-subject-profile{margin-top:14px}.pt-empty{padding:20px}.pt-windows{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.pt-window{border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;flex-direction:column;min-width:0}.pt-window-head{font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:8px}.pt-window-locked{padding:10px;border:1px dashed var(--border);border-radius:8px;background:var(--surface)}.pt-teachers-col{display:flex;flex-direction:column;gap:12px;min-width:0}.pt-teacher-entry{border:1px solid var(--border);border-radius:10px;padding:10px}.pt-teacher-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pt-teacher-actions{display:flex;gap:6px;flex-shrink:0}.linklike{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;text-decoration:underline}.pt-agency-general{margin-top:12px}.p-choose-count{font-size:.9rem;font-weight:600;margin:4px 0 12px}.p-choose-count .muted{font-weight:400}@media(max-width:860px){.pt-windows{grid-template-columns:1fr}}button.small{padding:4px 10px;font-size:.82rem}.pt-subject-hint{margin:10px 0 0}.pt-subject--focused{animation:pt-focus-flash 1.6s ease-out}@keyframes pt-focus-flash{0%,35%{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}to{border-color:var(--border);box-shadow:none}}@media(prefers-reduced-motion:reduce){.pt-subject--focused{animation:none}}.ptb-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.ptb{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg)}.ptb--open{border-color:var(--accent);box-shadow:0 6px 20px #0000001a}.ptb-summary{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left;transition:background .15s}.ptb-summary:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.ptb-avatar{flex-shrink:0;width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4338ca,#6d28d9);color:#fff;font-weight:700;font-size:.9rem}.ptb-summary-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.ptb-name{font-weight:600}.ptb-status{flex-shrink:0;font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:999px}.ptb-status--added{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}.ptb-status--pending{background:color-mix(in srgb,#d97706 18%,transparent);color:#b45309}.ptb-chevron{flex-shrink:0;color:var(--muted);font-size:.85rem;width:14px;text-align:center}.ptb-lock{font-size:.7rem}.ptb-body{border-top:1px solid var(--border);padding:12px 14px}.ptb-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}.ptb-tab{border:1px solid var(--border);background:var(--surface);color:var(--muted);padding:5px 12px;border-radius:999px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.ptb-tab:hover{color:var(--fg);border-color:var(--accent)}.ptb-tab.is-active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.ptb-remove{margin-left:auto}.ptb-pane{min-width:0}.p-badge--fit{background:var(--good);color:#fff;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600}.p-teacher-styles{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.p-style-chip{border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.78rem;color:var(--muted)}.tcard{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface)}.tcard--current{border-color:var(--accent)}.tcard-head{display:flex;align-items:center;gap:12px}.tcard-avatar{flex:0 0 auto;width:48px;height:48px;border-radius:999px;overflow:hidden;display:grid;place-items:center;background:var(--border);color:var(--muted)}.tcard-avatar img{width:100%;height:100%;object-fit:cover}.tcard-avatar-initials{font-weight:600;font-size:1rem}.tcard-head-text{display:flex;flex-direction:column;gap:2px;min-width:0}.tcard-name{font-size:1.02rem}.tcard-agency{font-size:.82rem;color:var(--muted)}.tcard-featured{font-size:.74rem;color:var(--accent);font-weight:600}.tcard-badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.tcard-badge{border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600}.tcard-badge--fit{background:var(--good);color:#fff}.tcard-badge--verified{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good);border:1px solid color-mix(in srgb,var(--good) 40%,transparent)}.tcard-band{border-radius:999px;padding:2px 10px;font-size:.78rem;border:1px solid var(--border);color:var(--muted)}.tcard-band--strong{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent)}.tcard-bio{margin:8px 0;line-height:1.5}.tcard-about{display:flex;flex-direction:column;gap:10px;margin:8px 0}.tcard-about-row{display:flex;flex-direction:column;gap:2px}.tcard-about-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.tcard-about-body{font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}.tcard-about-body p{margin:0 0 6px}.tcard-about-body ul,.tcard-about-body ol{margin:0 0 6px;padding-left:20px}.tcard-about-body a{color:var(--accent)}.tcard-styles{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tcard-style-chip{border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.78rem;color:var(--muted)}.tcard-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.84rem;color:var(--muted);margin:6px 0}.tcard-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tcard-current-tag{font-size:.84rem;color:var(--good);font-weight:600}.learn-topic{max-width:760px;margin:0 auto}.learn-topic-header{margin-bottom:14px}.learn-topic-header h2{margin:8px 0 4px;font-size:1.35rem;line-height:1.3}.learn-topic-progress{font-size:.85rem;color:var(--muted);letter-spacing:.15em}.learn-topic-section{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:22px 24px}.learn-topic-section-heading{margin:0 0 12px;font-size:1.1rem;font-weight:700;color:var(--fg);padding-bottom:8px;border-bottom:2px solid var(--accent);display:inline-block}.learn-topic-section-body{margin-bottom:18px}.learn-topic-section .btn-primary{margin-top:4px}.learn-topic-lesson{display:flex;flex-direction:column;gap:16px}.learn-topic-lesson .learn-topic-section-body{margin-bottom:0}.learn-topic-lesson>.btn-primary{align-self:flex-start;margin-top:4px}.lesson-md{font-size:1rem;line-height:1.65;color:var(--fg);max-width:72ch}.lesson-md-p{margin:0 0 12px}.lesson-md-p:last-child{margin-bottom:0}.lesson-md-ul{margin:4px 0 14px;padding-left:22px;display:flex;flex-direction:column;gap:6px}.lesson-md-ul li{line-height:1.55}.lesson-md strong{font-weight:700;color:var(--fg)}.lesson-md em{font-style:italic}.lesson-md-figure{margin:18px 0;text-align:center}.lesson-md-svg{display:inline-block;width:100%;max-width:520px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px}.lesson-md-svg svg{width:100%;height:auto;max-height:60vh}.lesson-md-svg--zoomable{cursor:zoom-in;font:inherit;text-align:inherit;transition:border-color .12s ease,box-shadow .12s ease}.lesson-md-svg--zoomable:hover,.lesson-md-svg--zoomable:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent);outline:none}.lesson-md-caption{font-size:.85rem;color:var(--muted);margin-top:6px}.lesson-md-zoom-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000b8;padding:24px;cursor:zoom-out}.lesson-md-zoom-inner{position:relative;background:#fff;border-radius:14px;padding:28px;max-width:min(95vw,1100px);max-height:92vh;overflow:auto;cursor:default;box-shadow:0 20px 60px #0006}.lesson-md-zoom-svg svg{width:100%;height:auto;max-width:1000px}.lesson-md-zoom-caption{font-size:.9rem;color:#444;margin:14px 0 0;text-align:center}.lesson-md-zoom-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:none;background:#00000014;color:#222;font-size:1rem;cursor:pointer;line-height:1}.lesson-md-zoom-close:hover{background:#0000002e}.stm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0f172a9e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:4vh 16px;overflow-y:auto;animation:stm-fade .16s ease-out}.stm-modal{background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:16px;width:min(96vw,980px);height:min(86vh,760px);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px #00000080;cursor:default;animation:stm-pop .18s cubic-bezier(.2,.9,.3,1)}.stm-modal--max{width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none}@keyframes stm-fade{0%{opacity:0}to{opacity:1}}@keyframes stm-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.stm-overlay,.stm-modal{animation:none}}.stm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;flex-shrink:0;border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent)}.stm-head-text{display:flex;align-items:center;gap:10px;min-width:0}.stm-head-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.stm-title{margin:0;font-size:1.1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stm-back{flex-shrink:0;width:30px;height:30px;border-radius:8px;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--fg);display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.stm-back:hover{border-color:var(--accent);color:var(--accent)}.stm-head-actions .btn-ghost{width:34px;height:34px;border-radius:9px;padding:0;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg);color:var(--fg);box-shadow:0 1px 2px #0000001f;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s}.stm-head-actions .btn-ghost:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg));color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);transform:translateY(-1px)}.stm-head-actions .btn-ghost:active{transform:none}.stm-body{flex:1;min-height:0;padding:16px;overflow-y:auto;display:flex;flex-direction:column}.stm-empty{margin:auto 0;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:24px 8px}.stm-empty-icon{font-size:2.4rem}.stm-choose{width:100%;border-top:1px solid var(--border);padding-top:14px;text-align:left}.stm-list{display:flex;flex-direction:column;gap:10px}.stm-summary{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg);cursor:pointer;text-align:left;color:inherit;transition:border-color .15s,transform .1s,box-shadow .15s}.stm-summary:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 6px 18px #0000001f}.stm-avatar{flex-shrink:0;width:46px;height:46px;border-radius:999px;object-fit:cover}.stm-avatar--initials{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4338ca,#6d28d9);color:#fff;font-weight:700;font-size:1rem}.stm-summary-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.stm-summary-name{font-weight:600}.stm-summary-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.stm-chip{font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:999px;background:#7f7f7f1f;color:var(--muted)}.stm-chip--ok{background:color-mix(in srgb,#16a34a 16%,transparent);color:#16a34a}.stm-summary-cue{flex-shrink:0;font-size:.85rem;font-weight:600;color:var(--accent)}.stm-workspace{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.stm-viewbar{flex-shrink:0;align-self:center;display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg)}.stm-viewbtn{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:5px 20px;border-radius:999px;font-size:.82rem;font-weight:600;transition:background .15s,color .15s}.stm-viewbtn:hover{color:var(--fg)}.stm-viewbtn.is-active{background:var(--accent);color:var(--accent-fg)}.stm-panes{flex:1;min-height:0;display:flex}.stm-panes[data-view=profile] .stm-pane--chat,.stm-panes[data-view=chat] .stm-pane--profile{display:none}.stm-pane{flex:1;min-width:0;min-height:0;border:1px solid var(--border);border-radius:12px}.stm-pane--profile{overflow-y:auto;padding:16px;background:var(--bg)}.stm-pane--chat{overflow:hidden;display:flex;flex-direction:column}.stm-pane--chat .agchat{height:100%;min-height:0}.stm-pane--chat .agchat-composer{gap:10px;padding:12px 14px;background:var(--surface);border-top:1px solid var(--border)}.stm-pane--chat .agchat-textarea{min-height:46px;padding:12px 14px;font-size:.95rem;border-radius:14px;border:1px solid var(--border);background:var(--bg)}.stm-pane--chat .agchat-textarea::placeholder{color:var(--muted)}.stm-pane--chat .agchat-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.stm-pane--chat .agchat-send{align-self:stretch;padding:0 22px;font-size:.92rem}@media(max-width:820px){.stm-modal{height:92vh}}
