@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_5db8dfc6-module__nI_9nG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_5db8dfc6-module__nI_9nG__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/da8a9dd0d68e512b-s.0n8i_inn0i2i9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/94b4a5dc1fe84361-s.3wm_n5jv1to7s.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/ff5be760267bb4bc-s.3dkqd4mro2h3_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/99596c30eb072d3c-s.2fp9tilo6sy14.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e5864b32625b6bc3-s.0m7i6b77o5yxd.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e285ad1a914469f0-s.15241mr5-1s6i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/47df9ba1c7236d3b-s.p.137759vg1sbmi.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Fallback";src:local(Arial);ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.0%;size-adjust:93.76%}.source_sans_3_70bf1002-module__ygszPq__className{font-family:"Source Sans 3","Source Sans 3 Fallback";font-style:normal}.source_sans_3_70bf1002-module__ygszPq__variable{--font-sans:"Source Sans 3", "Source Sans 3 Fallback"}
:root{--bg:#f3ece1;--bg-2:#e7dccb;--fg:#1c1917;--muted:#6b6258;--card:#fffaf3;--accent:#0f6e62;--accent-hover:#0c584e;--accent-fg:#f7fffc;--border:#d9cbb8;--danger:#b42318;--warn:#e8590c;--shadow:0 18px 40px #30201014;--radius:16px;--page-pad:1rem;--shell-max:44rem;--shell-wide-max:52rem;--shell-narrow-max:26rem;--text-base:17px;--touch-min:2.75rem}[data-theme=dark]{--bg:#14110e;--bg-2:#1c1814;--fg:#f5efe6;--muted:#b3a899;--card:#1f1a16;--accent:#3dbaa8;--accent-hover:#63d0bf;--accent-fg:#06201c;--border:#3a322b;--danger:#f97066;--warn:#ff8a3d;--shadow:0 18px 40px #00000059}*{box-sizing:border-box}html,body{background:radial-gradient(1200px 500px at 10% -10%, var(--bg-2), transparent 55%), var(--bg);min-height:100%;color:var(--fg);font-family:var(--font-sans), "Segoe UI", sans-serif;font-size:var(--text-base);margin:0;padding:0;line-height:1.5}h1,h2,.brand{font-family:var(--font-display), Georgia, serif;letter-spacing:-.02em;font-weight:650}h1{margin:0;font-size:clamp(1.75rem,1.2rem + 1.5vw,2.5rem)}h2{margin:0 0 .75rem;font-size:clamp(1.05rem,.95rem + .35vw,1.35rem)}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}.shell{box-sizing:border-box;width:min(var(--shell-max), calc(100% - var(--page-pad) * 2));margin-left:auto;margin-right:auto;padding-top:1.5rem;padding-bottom:3rem;display:block}.shell-wide{width:min(var(--shell-wide-max), calc(100% - var(--page-pad) * 2))}.shell-narrow{width:min(var(--shell-narrow-max), calc(100% - var(--page-pad) * 2))}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.muted{color:var(--muted)}.stack{gap:.9rem;display:grid}label{gap:.35rem;font-size:.92rem;font-weight:600;display:grid}input:not([type=checkbox]),textarea,select{border:1px solid var(--border);background:var(--card);width:100%;color:var(--fg);font:inherit;border-radius:10px;padding:.7rem .85rem}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}button,.btn{font:inherit;border:1px solid var(--border);background:var(--card);color:var(--fg);cursor:pointer;border-radius:999px;padding:.55rem 1.05rem;font-weight:600}a.btn{text-decoration:none;display:inline-block}button[type=submit],.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:#0000}button:hover,.btn:hover{filter:brightness(1.05)}button:disabled{opacity:.6;cursor:not-allowed}.app-header{gap:.5rem;margin-bottom:.9rem;display:grid}.app-header-bar{flex-wrap:wrap;align-items:center;gap:.55rem .85rem;display:flex}.brand{font-family:var(--font-display), Georgia, serif;letter-spacing:-.02em;color:var(--fg);font-size:1.15rem;font-weight:700;text-decoration:none}.brand:hover{color:var(--accent)}.page-heading{padding-top:.25rem}.page-heading h1{font-size:1.65rem}.app-nav{flex-wrap:wrap;flex:12rem;gap:.35rem;min-width:0;display:flex}.app-nav a{color:var(--fg);background:var(--card);border:1px solid var(--border);border-radius:999px;padding:.28rem .75rem;font-size:.92rem;text-decoration:none}.app-nav a:hover{border-color:var(--accent);color:var(--accent)}.header-actions{flex-shrink:0;align-items:center;gap:.5rem;margin-left:auto;display:flex}.header-user{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:10rem;font-size:.9rem;overflow:hidden}.child-preview-toggle.active{border-color:var(--warn);color:var(--warn)}.child-preview-banner{background:color-mix(in srgb, var(--warn) 14%, var(--card));border:1px solid color-mix(in srgb, var(--warn) 40%, var(--border));border-radius:10px;margin:.55rem 0 0;padding:.45rem .75rem;font-size:.88rem}.btn-sm{padding:.35rem .75rem;font-size:.88rem}.qr-wrap{border:1px dashed var(--border);background:#fffaf3;border-radius:14px;justify-items:center;gap:.75rem;padding:1rem;display:grid}.qr{border-radius:8px;display:block}.secret{word-break:break-all;background:var(--bg-2);border-radius:8px;padding:.6rem .75rem;font-size:.85rem;display:block}.list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.warn{color:var(--warn)}.err{color:var(--danger);margin:0}.settings-save-row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.save-status-ok{color:var(--good,#168a55);margin:0;font-weight:650}.hero-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 .4rem;font-size:.75rem}.task-ai{border-collapse:collapse;width:100%;font-size:.9rem}.task-ai th,.task-ai td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.75rem .5rem .75rem 0}.task-ai th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem;font-weight:650}.task-ai select,.task-ai input:not([type=checkbox]){padding:.45rem .6rem}.task-ai .why{color:var(--muted);margin:.2rem 0 0;font-size:.82rem;font-weight:400}.ghost{color:var(--fg);border:1px solid var(--border);background:0 0}.ghost:hover{background:var(--bg-2)}.inline-name{align-items:center;gap:.45rem;display:inline-flex}.inline-name-form{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:.15rem .35rem;font-size:1rem;line-height:1}.icon-btn:hover{color:var(--accent)}.model-select-wrap{gap:.35rem;display:grid}.model-select-more{justify-self:start;padding:.2rem .55rem;font-size:.82rem}.learn-progress-bar{background:var(--border);border-radius:999px;height:8px;margin:1rem 0;overflow:hidden}.learn-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.learn-step-label{color:var(--muted);margin-bottom:.5rem;font-size:.85rem}.learn-quiz-option{text-align:left;align-items:center;width:100%;min-height:3rem;margin-top:.55rem;padding:.6rem 1.15rem;line-height:1.35;display:flex}.learn-quiz-option.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--card));box-shadow:inset 0 0 0 1px var(--accent)}.learn-quiz-option.picked{outline:2px solid var(--text);outline-offset:1px}.learn-quiz-option.picked.correct{outline-color:var(--accent)}.learn-quiz-option.picked.wrong{outline-color:var(--danger)}.learn-quiz-option.correct{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--card))}.learn-quiz-option.correct-retry,.learn-quiz-option.picked.correct-retry{border-color:color-mix(in srgb, var(--danger) 50%, var(--accent));background:color-mix(in srgb, var(--danger) 10%, var(--card))}.quiz-nav-jump.correct-retry,button.quiz-nav-jump.correct-retry,button.quiz-nav-jump.active.correct-retry{border-color:color-mix(in srgb, var(--danger) 50%, var(--accent));background:color-mix(in srgb, var(--danger) 14%, var(--card));color:var(--text)}.learn-quiz-option.wrong{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--card))}.learn-quiz-option.readonly{cursor:default;opacity:.95}.quiz-explanation-text{white-space:pre-line;margin:.35rem 0 0;line-height:1.5}.quiz-explanation-variants{flex-direction:column;gap:.85rem;margin-top:.45rem;display:flex}.quiz-variant-line{min-width:0}.quiz-variant-head{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.quiz-variant-title{font-size:.92rem;font-weight:600}.quiz-variant-line .quiz-explanation-text{margin-top:.3rem}.mul-column-wrap{margin:.45rem 0 .2rem}.mul-column{font-variant-numeric:tabular-nums;text-align:center;gap:.08rem .1rem;width:max-content;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.12rem;font-weight:700;line-height:1.2;display:grid}.mul-column-digit,.mul-column-op,.mul-column-carry{min-height:1.15em}.mul-column-carry{color:var(--warn);padding-bottom:.15em;font-size:.72em;font-weight:700;line-height:1}.mul-column-op{color:var(--muted);font-weight:650}.mul-column-rule{border-top:2px solid var(--fg);margin:.12rem 0 .18rem}.mul-column-total{font-weight:800}.trainer-quiz,.trainer-cards{max-width:36rem}.trainer-cards .card-input-form{max-width:none}.quiz-status-row{align-items:center;gap:.65rem;margin:0 0 .4rem;display:flex}.quiz-status-row .trainer-progress-wrap{flex:0 8rem;min-width:4.5rem;margin:0}.quiz-status-row .learn-quiz-meta{flex:1;min-width:0;margin:0}.quiz-options{flex-direction:column;display:flex}.quiz-answer-block{margin-top:1rem}.quiz-review-heading{margin:0 0 .35rem;font-size:.92rem;font-weight:600}.quiz-verdict{margin:0 0 .35rem;font-weight:650}.quiz-verdict.ok{color:var(--accent)}.quiz-verdict.bad{color:var(--danger)}.quiz-verdict.partial{color:var(--warning,#b8860b)}.quiz-finish-actions{width:100%;margin-top:1.5rem;display:flex}.quiz-finish-actions .btn-primary{width:100%;min-height:2.9rem}.quiz-nav-pager{align-items:center;gap:.3rem;margin-bottom:.5rem;display:flex}.quiz-nav-strip{flex-wrap:nowrap;flex:1;gap:.3rem;min-width:0;margin-bottom:0;padding:.1rem 0;display:flex}button.quiz-nav-page{border-radius:10px;flex-shrink:0;min-width:2.25rem;min-height:2.75rem;padding:.15rem .35rem}button.quiz-nav-jump{border:1px solid var(--border);background:var(--bg-2);min-width:2.75rem;min-height:2.75rem;color:var(--muted);border-radius:10px;flex-shrink:0;padding:.2rem .35rem;font-size:.92rem;font-weight:600;line-height:1}.quiz-nav-jump.active{color:var(--fg);background:var(--card);box-shadow:0 0 0 2px var(--text);z-index:1;font-weight:800;transform:scale(1.12)}.quiz-nav-jump.correct,.quiz-nav-jump.known,button.quiz-nav-jump.correct,button.quiz-nav-jump.known,button.quiz-nav-jump.active.correct,button.quiz-nav-jump.active.known{border-width:2px;border-color:var(--accent);background:color-mix(in srgb, var(--accent) 22%, var(--card));color:var(--accent);font-weight:800}.quiz-nav-jump.wrong{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 16%, var(--card));color:var(--danger)}.quiz-nav-jump.review,button.quiz-nav-jump.review,button.quiz-nav-jump.active.review{border-width:2px;border-color:var(--warn);background:color-mix(in srgb, var(--warn) 34%, var(--card));color:var(--warn);font-weight:800}.quiz-nav-jump.active.correct,.quiz-nav-jump.active.known{box-shadow:0 0 0 2px var(--accent)}.quiz-nav-jump.active.wrong{box-shadow:0 0 0 2px var(--danger)}.quiz-nav-jump.active.review{box-shadow:0 0 0 2px var(--warn)}.quiz-nav-jump.deferred{border-style:dashed}.learn-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.learn-actions .btn-review{border-color:var(--warn);color:var(--warn);background:color-mix(in srgb, var(--warn) 22%, var(--card));font-weight:700}.learn-actions .btn-known{font-weight:700}.quiz-result-line{margin:0 0 .5rem;font-size:1.08rem;font-weight:800;line-height:1.4}.trainer-flashcard-answer{text-align:left;width:100%}.learn-badge{background:color-mix(in srgb, var(--accent) 15%, var(--card));color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));border-radius:999px;padding:.15rem .55rem;font-size:.8rem;font-weight:600;display:inline-block}.learn-page .learn-hero{background:linear-gradient(135deg, var(--card) 0%, color-mix(in srgb, var(--accent) 8%, var(--card)) 100%);padding:1.2rem 1.35rem}.learn-phase-card{padding:1.35rem 1.4rem}.learn-phase-card h2{font-size:1.2rem}.learn-phase-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .35rem;font-size:.78rem;font-weight:650}.learn-module-stepper{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.learn-step{border:1px solid var(--border);background:var(--bg-2);color:var(--muted);border-radius:999px;align-items:center;gap:.35rem;max-width:100%;padding:.25rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.learn-step span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.learn-step.done{background:color-mix(in srgb, var(--accent) 12%, var(--card));border-color:color-mix(in srgb, var(--accent) 30%, var(--border));color:var(--accent)}.learn-step.current{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.learn-step-num{background:color-mix(in srgb, currentColor 15%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;font-size:.7rem;display:inline-flex}.learn-text-body{white-space:pre-wrap;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;margin:.75rem 0 0;padding:1rem;font-size:1.02rem;line-height:1.6}.learn-quiz-meta{margin:.5rem 0 .75rem;font-size:.88rem}.learn-quiz-question{margin:0 0 .75rem;font-size:1.05rem;font-weight:650}.card-marked-span{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#fff0a8;border:2px solid #e1b900;border-radius:7px;padding:1px 5px;display:inline}.card-choice-exercise .learn-quiz-options{gap:.5rem;margin-top:.5rem;display:grid}.learn-feedback{border:1px solid var(--border);background:var(--bg-2);border-radius:12px;margin-top:1rem;padding:.85rem 1rem}.learn-feedback.ok{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--card))}.learn-feedback.bad{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:color-mix(in srgb, var(--danger) 8%, var(--card))}.learn-complete-stats{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.65rem;margin:1rem 0;display:grid}.learn-stat-tile{border:1px solid var(--border);background:var(--bg-2);text-align:center;border-radius:12px;padding:.85rem}.learn-stat-tile strong{font-size:1.35rem;font-family:var(--font-display), Georgia, serif;display:block}.learn-stat-tile span{color:var(--muted);font-size:.8rem}.filter-bar{gap:.75rem;margin-bottom:.25rem;padding:1rem 1.1rem;display:grid}.filter-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filter-row select{flex:1;width:auto;min-width:9rem;max-width:14rem}.filter-search{flex:2;min-width:12rem}.filter-count{margin:0;font-size:.88rem}.unit-page{gap:1rem;display:grid}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.88rem;display:flex}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--accent)}.breadcrumb span:last-child{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.unit-hero{background:linear-gradient(135deg, var(--card) 0%, color-mix(in srgb, var(--accent) 6%, var(--card)) 100%);padding:1.35rem 1.5rem}.unit-hero-sandbox{background:linear-gradient(135deg, color-mix(in srgb, #0f766e 14%, var(--card)) 0%, color-mix(in srgb, #0f766e 8%, var(--card)) 100%);border-color:color-mix(in srgb, #0f766e 38%, var(--border))}.unit-hero-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.unit-title{word-break:break-word;margin:.15rem 0 0;font-size:1.75rem;line-height:1.2}.edit-btn{border:1px solid var(--border);background:var(--card);border-radius:10px;flex-shrink:0;width:2.25rem;height:2.25rem;font-size:1.1rem}.badge-row{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.badge{border:1px solid var(--border);background:var(--bg-2);color:var(--fg);border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.78rem;font-weight:650;line-height:1.3;display:inline-flex}.badge-ready{background:color-mix(in srgb, var(--accent) 14%, var(--card));border-color:color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent)}.badge-draft{background:color-mix(in srgb, var(--warn) 12%, var(--card));border-color:color-mix(in srgb, var(--warn) 35%, var(--border));color:var(--warn)}.badge-fail{background:color-mix(in srgb, var(--danger,#c0392b) 12%, var(--card));border-color:color-mix(in srgb, var(--danger,#c0392b) 35%, var(--border));color:var(--danger,#c0392b)}.badge-subject{background:color-mix(in srgb, #5b6ee8 12%, var(--card));border-color:color-mix(in srgb, #5b6ee8 30%, var(--border));color:color-mix(in srgb, #5b6ee8 85%, var(--fg))}.badge-mode{background:color-mix(in srgb, #9a6700 10%, var(--card));border-color:color-mix(in srgb, var(--warn) 35%, var(--border));color:var(--warn)}.badge-sandbox{background:color-mix(in srgb, #0f766e 14%, var(--card));border-color:color-mix(in srgb, #0f766e 38%, var(--border));color:color-mix(in srgb, #0f766e 80%, var(--fg))}.badge-math{background:color-mix(in srgb, #7c3aed 10%, var(--card));border-color:color-mix(in srgb, #7c3aed 28%, var(--border));color:color-mix(in srgb, #7c3aed 80%, var(--fg))}.badge-neutral{background:var(--card)}.badge-source{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.badge-quiz{background:color-mix(in srgb, var(--accent) 10%, var(--card));color:var(--accent);border-color:color-mix(in srgb, var(--accent) 25%, var(--border))}.badge-exam{background:color-mix(in srgb, #c2410c 10%, var(--card));border-color:color-mix(in srgb, #c2410c 28%, var(--border));color:color-mix(in srgb, #c2410c 85%, var(--fg))}.exam-upload-form{box-shadow:none;background:var(--bg-2);border:1px dashed var(--border);padding:1rem}.exam-item{flex-direction:column;align-items:stretch}.exam-notes{width:100%;margin:.35rem 0 0;font-size:.9rem}.unit-brief{white-space:pre-wrap;margin:1rem 0 0;line-height:1.55}.unit-brief-empty{margin:1rem 0 0;font-style:italic}.unit-section{padding:1.25rem 1.35rem}.unit-section h2{margin:0;font-size:1.05rem}.section-head{align-items:center;gap:.5rem;display:flex}.section-lead{margin:.35rem 0 1rem;font-size:.9rem}.action-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.action-tile{text-align:left;border:1px solid var(--border);background:var(--bg-2);cursor:pointer;color:inherit;font:inherit;border-radius:12px;gap:.35rem;padding:.85rem 1rem;text-decoration:none;display:grid}a.btn.action-tile,button.btn.action-tile{font-weight:inherit;text-align:left;border-radius:12px;display:grid}.action-tile strong{font-size:.95rem;line-height:1.3;display:block}.action-tile .muted{font-size:.8rem;font-weight:400;line-height:1.35;display:block}.action-tile-busy{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));cursor:wait}.generate-progress-bar{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-radius:999px;width:100%;height:.35rem;margin-top:.4rem;overflow:hidden}.generate-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .45s}.generate-progress-label{text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-size:.78rem;line-height:1.3;display:block;overflow:hidden}.generate-progress-compact{gap:.25rem;min-width:0;display:grid}.generate-tile-wrap{gap:.45rem;min-width:0;display:grid}.generate-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;justify-self:start;padding:.35rem .7rem;font-size:.85rem;font-weight:600}.generate-cancel:hover:not(:disabled){border-color:color-mix(in srgb, var(--danger,#b42318) 45%, var(--border))}.generate-cancel:disabled{opacity:.65;cursor:wait}.generate-last-run{margin-top:.2rem;font-size:.78rem;font-weight:400;line-height:1.35;display:block}.generate-last-run .badge{vertical-align:middle;padding:.1rem .45rem;font-size:.7rem}.generate-last-run-msg{display:inline}.unit-page-layout{gap:1rem;display:grid}.unit-page-main{gap:1rem;min-width:0;display:grid}.unit-page-aside{align-self:start}.action-grid-aside{grid-template-columns:1fr}.aside-subhead{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.5rem;margin:0 0 .65rem;font-size:.82rem;font-weight:700;display:flex}.unit-aside-learn{border-bottom:1px solid var(--border);margin-bottom:1.1rem;padding-bottom:1.1rem}.unit-learn-cta{margin-bottom:.75rem}.aside-hint{margin:.65rem 0 0;font-size:.82rem;line-height:1.45}.module-compact-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.module-compact-link{border:1px solid var(--border);background:var(--bg-2);color:inherit;border-radius:10px;align-items:center;gap:.55rem;padding:.55rem .65rem;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.module-compact-link:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 6%, var(--bg-2))}.module-compact-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.module-compact-body strong{font-size:.88rem;font-weight:600;line-height:1.35}.module-compact-meta{font-size:.75rem}.module-compact-go{color:var(--muted);flex-shrink:0;font-size:1.1rem;line-height:1}.action-tile.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:#0000}.action-tile.btn-primary strong{color:var(--accent-fg)}.action-tile.btn-primary .muted{color:color-mix(in srgb, var(--accent-fg) 72%, transparent)}.toggle-row{align-items:flex-start;gap:.6rem;margin:0;font-size:.9rem;font-weight:500;display:flex}.toggle-row input{width:auto;margin-top:.2rem}.file-drop{border:1px dashed var(--border);background:var(--bg-2);cursor:pointer;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.85rem 1rem;display:flex}.inline-form{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.inline-form input{flex:1;min-width:12rem}.source-list,.module-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.source-item{border:1px solid var(--border);background:var(--bg-2);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.source-thumb-btn{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:10px;flex-shrink:0;width:3.5rem;height:3.5rem;padding:0;overflow:hidden}.source-thumb{object-fit:cover;width:100%;height:100%;display:block}.source-thumb-placeholder{color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:.72rem;font-weight:650;line-height:1.1;display:flex}.source-thumb-missing{cursor:default;opacity:.5}.source-name-btn{text-align:left;cursor:pointer;color:inherit;background:0 0;border:none;padding:0}.source-name-btn:hover strong{color:var(--accent)}.source-preview-backdrop{z-index:1000;background:color-mix(in srgb, var(--fg) 45%, transparent);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.source-preview-dialog{flex-direction:column;gap:.75rem;width:min(56rem,100%);max-height:min(90vh,48rem);padding:1rem;display:flex;overflow:auto}.source-preview-head,.source-preview-foot{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.source-preview-image{object-fit:contain;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-2);width:100%;max-height:min(70vh,40rem)}.source-preview-frame{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);width:100%;min-height:24rem}.html-pack-page{flex-direction:column;min-height:100vh;display:flex}.html-pack-main{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding:.75rem 1rem 1rem;display:flex}.html-pack-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.html-pack-frame{border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:100%;min-height:24rem}.html-pack-frame-full{border-radius:12px;flex:1;min-height:min(80vh,56rem)}.unit-learner-release{border-width:2px}.unit-learner-release--on{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 6%, var(--card))}.unit-learner-release--off{border-color:color-mix(in srgb, var(--danger,#c0392b) 40%, var(--border));background:color-mix(in srgb, var(--danger,#c0392b) 5%, var(--card))}.unit-learner-release-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.learner-release-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;margin-top:.35rem;font-size:.88rem;font-weight:600;display:inline-flex}.learner-release-toggle--compact{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;margin-top:.65rem;padding:.35rem .5rem}.learner-release-toggle input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.learner-release-toggle-text{color:var(--muted);font-weight:500}.learner-release-toggle-status{min-width:5.5rem;color:var(--danger,#c0392b);font-weight:700}.learner-release-toggle-status.is-on{color:var(--accent)}.learner-release-toggle.is-busy{opacity:.65;pointer-events:none}.slide-switch{background:color-mix(in srgb, var(--danger,#c0392b) 28%, var(--border));border:1px solid color-mix(in srgb, var(--danger,#c0392b) 35%, var(--border));border-radius:999px;flex-shrink:0;width:2.65rem;height:1.5rem;transition:background .2s,border-color .2s;position:relative}.slide-switch.on{background:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, var(--border))}.slide-switch-knob{background:#fff;border-radius:50%;width:1.15rem;height:1.15rem;transition:transform .2s;position:absolute;top:.14rem;left:.14rem;box-shadow:0 1px 3px #00000038}.slide-switch.on .slide-switch-knob{transform:translate(1.12rem)}.learn-progress-summary{gap:.35rem;margin-top:.85rem;display:grid}.learn-progress-summary--compact{margin-top:.65rem}.learn-progress-head{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;font-size:.88rem;display:flex}.learn-progress-label{font-weight:600}.learn-progress-detail{font-size:.82rem}.learn-progress-bar{background:color-mix(in srgb, var(--border) 70%, transparent);border-radius:999px;height:.45rem;overflow:hidden}.learn-progress-bar.is-complete{background:color-mix(in srgb, var(--accent) 20%, var(--border))}.learn-progress-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .25s;display:block}.unit-effective-ai{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--accent) 5%, var(--card));border-radius:12px;margin-top:.85rem;padding:.55rem .75rem;font-size:.92rem}.unit-effective-ai-summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;font-weight:500;list-style:none;display:flex}.unit-effective-ai-summary::-webkit-details-marker{display:none}.unit-effective-ai-chevron,.unit-effective-ai-row-chevron{color:var(--accent);flex-shrink:0;font-size:1.15rem;line-height:1;transition:transform .2s;display:inline-block}details[open]>.unit-effective-ai-summary .unit-effective-ai-chevron,details[open].unit-effective-ai-row>summary .unit-effective-ai-row-chevron{transform:rotate(90deg)}.unit-effective-ai-badge{letter-spacing:.02em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.unit-effective-ai-badge--openai{background:color-mix(in srgb, #10a37f 16%, var(--card));border-color:color-mix(in srgb, #10a37f 35%, var(--border));color:color-mix(in srgb, #10a37f 90%, var(--fg))}.unit-effective-ai-badge--anthropic{background:color-mix(in srgb, #d97757 16%, var(--card));border-color:color-mix(in srgb, #d97757 35%, var(--border));color:color-mix(in srgb, #d97757 90%, var(--fg))}.unit-effective-ai-badge--ollama{background:color-mix(in srgb, #5b6ee8 16%, var(--card));border-color:color-mix(in srgb, #5b6ee8 35%, var(--border));color:color-mix(in srgb, #5b6ee8 90%, var(--fg))}.unit-effective-ai-badge--neutral{background:var(--bg-2);border-color:var(--border);color:var(--fg)}.unit-effective-ai-primary{font-weight:700}.unit-effective-ai-more{color:var(--muted);font-size:.82rem}.unit-effective-ai-hint{margin-left:auto;font-size:.78rem}.unit-effective-ai-list{border-top:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));gap:.55rem;margin:.75rem 0 0;padding:.35rem 0 0;list-style:none;display:grid}.unit-effective-ai-row>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;list-style:none;display:flex}.unit-effective-ai-row>summary::-webkit-details-marker{display:none}.unit-effective-ai-row-badge{border:1px solid #0000;border-radius:999px;padding:.12rem .45rem;font-size:.72rem;font-weight:700}.unit-effective-ai-row-model{font-weight:600}.unit-effective-ai-why{margin:.45rem 0 0 1.15rem;font-size:.84rem;line-height:1.45}.unit-ai-config{gap:.55rem}.unit-effective-ai--last-run{border-style:dashed}.unit-effective-ai-badge--last{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--accent)}.unit-effective-ai-item--flat{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;padding:.35rem .15rem;display:flex}.unit-ai-run-stats{margin:.35rem 0 0;font-size:.84rem}.unit-ai-source{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:.12rem .45rem;font-size:.72rem;font-weight:650}.unit-ai-source--child{color:#5a3d96;background:#7c5cbf29;border-color:#7c5cbf59}.unit-ai-source--adult{color:#1f5f78;background:#2a7a9b24;border-color:#2a7a9b52}.unit-ai-source--unit{color:#9a5e0a;background:#c47a1224;border-color:#c47a1252}.unit-ai-source--catalog,.unit-ai-source--env{background:color-mix(in srgb, var(--muted) 18%, transparent);border-color:color-mix(in srgb, var(--muted) 40%, transparent);color:var(--muted)}.unit-ai-multi-hint{background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:10px;margin:0;padding:.65rem .75rem;font-size:.92rem;line-height:1.45}.unit-pedagogy-collapsible{padding:0}.unit-pedagogy-collapsible>summary{cursor:pointer;padding:1rem 1.15rem;list-style:none}.unit-pedagogy-collapsible>summary::-webkit-details-marker{display:none}.unit-pedagogy-summary{gap:.35rem;display:grid}.unit-pedagogy-summary-head{margin:0}.unit-pedagogy-summary-lead{margin:0;display:block}.unit-pedagogy-body{border-top:1px solid var(--border);padding:0 1.15rem 1rem}.admin-golden-layout{gap:1rem;display:grid}@media (min-width:900px){.admin-golden-layout{grid-template-columns:minmax(14rem,20rem) minmax(0,1fr);align-items:start}}.admin-golden-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.admin-golden-item{border:1px solid var(--border);background:var(--bg-2);text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.65rem .75rem;display:flex}.admin-golden-item.active{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-2))}.admin-golden-editor{width:100%;min-height:18rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.45}.admin-golden-coverage{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.admin-golden-coverage-row{grid-template-columns:auto minmax(8rem,12rem) minmax(0,1fr);align-items:baseline;gap:.5rem .75rem;display:grid}.admin-golden-result-row{border:1px solid var(--border);background:var(--bg-2);border-radius:10px;padding:.75rem .9rem}.admin-golden-result-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-golden-result-meta{margin:.25rem 0 0;font-size:.88rem}.admin-golden-result-error{margin:.5rem 0 0;font-size:.88rem}.unit-ref-badge{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.admin-golden-report{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);white-space:pre-wrap;margin:0;padding:.85rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.45}.source-meta{flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0;display:flex}.source-flags{font-size:.82rem}.source-actions{flex-shrink:0;gap:.35rem;display:flex}.danger-text{color:var(--danger)}.module-card{border:1px solid var(--border);background:var(--bg-2);border-radius:14px;padding:1rem 1.1rem}.module-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.module-num{background:var(--accent);width:1.75rem;height:1.75rem;color:var(--accent-fg);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.module-head h3{flex:1;min-width:0;margin:0;font-size:1rem}.module-badges{flex-wrap:wrap;gap:.35rem;margin-left:auto;display:flex}.module-body{white-space:pre-wrap;margin-top:.75rem;font-size:.95rem;line-height:1.55}.module-quiz{margin-top:.75rem;font-size:.9rem}.module-quiz summary{cursor:pointer;color:var(--accent);font-weight:600}.quiz-options{margin:.35rem 0 .75rem;padding-left:1.1rem}.quiz-correct{color:var(--accent);font-weight:600}.empty-hint{margin:0;font-size:.92rem}.unit-danger-zone{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.unit-assign-section h2{margin-top:0}.unit-assign-current{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0;display:flex}.unit-assign-children{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.unit-assign-child-row{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--card) 92%, var(--bg));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .65rem;display:flex}.unit-assign-child-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.unit-delete-options{gap:.75rem}.unit-delete-option{text-align:left;flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;padding:.85rem 1rem;display:flex}.unit-delete-option-danger{border-color:color-mix(in srgb, var(--danger) 40%, var(--border));background:color-mix(in srgb, var(--danger) 6%, var(--card))}.unit-delete-option strong{font-size:.95rem}.unit-delete-option .muted{font-size:.85rem;line-height:1.4}.unit-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.unit-list-item{box-shadow:none;padding:0}.unit-list-card{cursor:pointer;transition:border-color .15s,box-shadow .15s}.unit-list-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.unit-list-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:0 4px 18px color-mix(in srgb, var(--accent) 10%, transparent)}.unit-list-card-sandbox{background:color-mix(in srgb, #0f766e 11%, var(--card));border-color:color-mix(in srgb, #0f766e 36%, var(--border))}.unit-list-card-sandbox:hover{border-color:color-mix(in srgb, #0f766e 55%, var(--border));box-shadow:0 4px 18px #0f766e24}.unit-list-link{color:inherit;padding:1rem 1.1rem .5rem;display:block}.unit-list-open-hint{margin:0 1.1rem .85rem;font-size:.82rem}.unit-list-actions{flex-wrap:wrap;gap:.5rem;margin:0;padding:0 1.1rem 1rem;display:flex}.unit-list-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.unit-list-title{font-family:var(--font-display), Georgia, serif;color:var(--fg);font-size:1.1rem;font-weight:650;line-height:1.3;text-decoration:none}.unit-list-title:hover{color:var(--accent)}.unit-list-brief{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.65rem 0 0;font-size:.92rem;display:-webkit-box;overflow:hidden}.learner-multi-field{gap:.35rem;display:grid}.learner-multi-label{font-weight:650;line-height:1.35}.learner-multi-select{border:1px solid var(--border);background:var(--bg-2);border-radius:12px;gap:.35rem;margin:0;padding:.75rem 1rem;display:grid}.learner-check-row{align-items:center;gap:.5rem;margin:0;font-weight:500;display:flex}.learner-check-row input{width:auto}.exam-analysis{border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));background:color-mix(in srgb, var(--accent) 6%, var(--card));border-radius:12px;margin-top:.65rem;padding:.85rem 1rem;font-size:.92rem}.exam-analysis ul{margin:.35rem 0 .65rem;padding-left:1.1rem}.exam-pattern-list{padding-left:0;list-style:none}.exam-pattern-list li{margin-top:.35rem}.exam-task-list{margin:.35rem 0 0;padding-left:0;list-style:none}.exam-task-list li{border-bottom:1px solid var(--border);margin-top:.5rem;padding:.35rem 0}.exam-task-tags{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.exam-transfer{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2,var(--card));margin:.75rem 0;padding:.65rem .85rem}.exam-transfer-alert{border-color:color-mix(in srgb, var(--warn,#c9a227) 55%, var(--border));background:color-mix(in srgb, var(--warn,#c9a227) 8%, var(--card))}.exam-analysis-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2,var(--card));margin-top:.75rem;padding:.85rem}.exam-task-edit-list{flex-direction:column;gap:.65rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.exam-task-edit-item{box-shadow:none;padding:.75rem}.exam-task-correct-label{align-self:end;align-items:center;gap:.35rem;padding-bottom:.35rem;display:flex}.parent-child-card .section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.parent-insight-block h3{margin:.75rem 0 .25rem;font-size:1rem}.parent-insight-block .section-lead{margin:0 0 .5rem}.parent-alert{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:8px;margin:.5rem 0 0;padding:.65rem .85rem}.login-page .app-header h1{font-family:var(--font-display), Georgia, serif}.login-page .card{margin-top:.5rem}.login-page button[type=submit]{width:100%;margin-top:.25rem}.password-field{flex-direction:column;gap:.35rem;display:flex}.password-field-label{font-weight:500}.password-field-wrap{align-items:center;display:flex;position:relative}.password-field-input{width:100%;padding-right:2.75rem}.password-field-toggle{border-radius:var(--radius);width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;right:.35rem}.password-field-toggle:hover{color:var(--text);background:color-mix(in srgb, var(--border) 40%, transparent)}.password-field-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.generate-ai-tasks-hint{margin-top:.25rem;font-size:.85rem;display:block}.admin-ai-table-wrap{margin-top:1rem;overflow-x:auto}.admin-ai-table{border-collapse:collapse;width:100%;font-size:.92rem}.admin-ai-table th,.admin-ai-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.55rem .65rem}.admin-ai-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:.82rem;font-weight:600}.admin-ai-models{max-width:18rem;line-height:1.45}.admin-forms-grid{gap:1.5rem;margin-bottom:1.5rem;display:grid}.admin-user-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.admin-user-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:1rem 1.15rem}.admin-user-meta{color:var(--muted);margin:.4rem 0;font-size:.95rem;line-height:1.5}.admin-user-login-email{margin:.25rem 0 0;font-size:.95rem}.admin-user-email-assign,.admin-user-actions{margin:.5rem 0}.admin-user-action-row{flex-wrap:wrap;gap:.5rem;display:flex}.admin-password-reset{border-top:1px solid var(--border);margin-top:.35rem;padding-top:.35rem}.account-password-form h3{margin:.75rem 0 0;font-size:1rem}.admin-guardian-edit{max-width:100%;margin-bottom:.75rem}.checkbox-row{align-items:center;gap:.5rem;font-weight:500;display:flex}.dialog-backdrop{z-index:100;background:#140e0a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{width:min(32rem,100%);max-height:min(90vh,48rem);margin:0;overflow:auto}.dialog-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dialog-header h2{margin:0;font-size:1.2rem}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.75rem;display:grid}.batch-wizard-steps{flex-wrap:wrap;gap:.5rem;padding:.75rem;display:flex}.batch-wizard-step{border:1px solid var(--border);background:var(--bg-2);cursor:pointer;border-radius:999px;flex:8rem;min-height:2.75rem;font-weight:600}.batch-wizard-step.active{background:color-mix(in srgb, var(--accent) 18%, var(--card));border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.batch-wizard-step.done{opacity:.85}.batch-wizard-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.batch-page-grid{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.5rem;display:grid}.batch-page-tile{border:2px solid var(--border);background:var(--bg-2);cursor:pointer;border-radius:.45rem;min-height:7rem;padding:0;position:relative;overflow:hidden}.batch-page-tile img{width:100%;height:auto;display:block}.batch-page-placeholder{min-height:6.5rem;color:var(--muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.batch-page-num{background:color-mix(in srgb, var(--card) 88%, transparent);border-radius:.25rem;padding:.1rem .35rem;font-size:.72rem;font-weight:700;position:absolute;bottom:.2rem;right:.25rem}.batch-page-intro{border-color:color-mix(in srgb, #0f766e 45%, var(--border))}.batch-page-active-row{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent)}.batch-page-other-row{border-color:color-mix(in srgb, var(--warn) 35%, var(--border))}.batch-rows{flex-direction:column;gap:.65rem;display:flex}.batch-row{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));align-items:end;gap:.55rem;padding:.75rem;display:grid}.batch-row-active{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.batch-row-select{cursor:pointer;color:var(--accent);background:0 0;border:none;grid-column:1/-1;justify-self:start;padding:0;font-weight:700}.batch-summary-list{margin:0;padding-left:1.2rem;line-height:1.55}.batch-progress-list .batch-progress-row{cursor:default}.batch-quality-table{border-collapse:collapse;width:100%;font-size:.92rem}.batch-quality-table th,.batch-quality-table td{border-bottom:1px solid var(--border);text-align:left;padding:.45rem .6rem}.batch-quality-table th{color:var(--muted);font-weight:600}@media (max-width:639px){:root{--page-pad:.85rem;--text-base:16px}.app-nav a{padding:.45rem .85rem;font-size:.95rem}.app-nav{flex:100%;order:3}button,.btn,.action-tile{min-height:var(--touch-min)}.btn-sm{min-height:2.5rem;padding:.5rem .85rem;font-size:.95rem}input:not([type=checkbox]),select,textarea{padding:.75rem .9rem;font-size:16px}.card{padding:1.1rem}.unit-hero{padding:1.1rem 1.15rem}.action-grid{grid-template-columns:1fr}.header-user{display:none}.learn-module-stepper{gap:.35rem}.learn-step{padding:.35rem .6rem;font-size:.82rem}.learn-actions{flex-direction:column;align-items:stretch}.learn-actions .btn,.learn-actions button{width:100%}.admin-forms-grid{gap:1rem}}@media (min-width:640px){:root{--page-pad:1.25rem;--shell-max:48rem;--shell-wide-max:58rem;--text-base:18px}.shell{padding-top:2rem;padding-bottom:3.5rem}button,.btn{padding:.65rem 1.15rem;font-size:1rem}.badge{padding:.28rem .7rem;font-size:.85rem}.app-nav a{padding:.4rem .9rem;font-size:1rem}.action-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.85rem}.action-tile{padding:1rem 1.15rem}.action-tile strong{font-size:1.05rem}.unit-section h2{font-size:1.15rem}:root{--shell-narrow-max:30rem}.login-page .card{padding:1.5rem 1.65rem}.admin-user-card{padding:1.1rem 1.2rem}.card-input-form{gap:1.25rem}.card-worked-input{min-height:8rem}}@media (min-width:1024px){:root{--page-pad:1.75rem;--shell-max:56rem;--shell-wide-max:72rem;--text-base:18px}.shell{padding-top:2.25rem;padding-bottom:4rem}.card{padding:1.65rem 1.75rem}.brand{font-size:1.35rem}.page-heading h1{font-size:clamp(1.85rem,1.5rem + .8vw,2.35rem)}.unit-title{font-size:clamp(1.85rem,1.4rem + 1.2vw,2.5rem)}.unit-brief{max-width:52rem;font-size:1.05rem;line-height:1.6}.action-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem}.learn-text-body{font-size:1.08rem;line-height:1.65}.learn-quiz-question{font-size:1.15rem}.card-input-answer{max-width:18rem}.card-input-actions .btn-primary,.quiz-finish-actions .btn-primary{width:auto;min-width:14rem}.card-worked-input{min-height:9rem}.learn-quiz-option{min-height:3.15rem;padding:.6rem 1.2rem;font-size:1.02rem}.unit-list{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:1rem}.unit-list-title{font-size:1.25rem}.unit-list-brief{font-size:1rem}.unit-list-link{padding:1.15rem 1.25rem .6rem}.unit-page-layout{grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);align-items:start;gap:1.25rem 1.5rem}.unit-page-aside{position:sticky;top:1rem}.learn-page .learn-hero{padding:1.5rem 1.75rem}.learn-page .learn-phase-card{width:100%;max-width:56rem;margin-left:auto;margin-right:auto;padding:1.65rem 1.85rem}.learn-phase-card h2{font-size:1.4rem}.learn-module-stepper{gap:.55rem}.learn-step{padding:.35rem .75rem;font-size:.88rem}.learn-complete-stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.85rem}.learn-stat-tile{padding:1rem 1.1rem}.learn-stat-tile strong{font-size:1.5rem}.admin-forms-grid{grid-template-columns:1fr 1fr;gap:1.25rem}.admin-user-list{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:1rem}.admin-user-card{padding:1.25rem 1.35rem}.admin-user-meta{font-size:1rem}.admin-guardian-edit{max-width:28rem}:root{--shell-narrow-max:32rem}.login-page .card{padding:1.85rem 2rem}}@media (min-width:1440px){:root{--page-pad:2rem;--shell-max:60rem;--shell-wide-max:84rem;--text-base:19px}.action-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.parent-child-card{padding:1.75rem 2rem}.admin-user-list{grid-template-columns:repeat(auto-fill,minmax(24rem,1fr))}}@media (min-width:1920px){:root{--shell-wide-max:90rem}}.trainer-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.trainer-tabs button,.trainer-tab{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:.45rem .85rem;font-size:.88rem}.trainer-tabs button.active,.trainer-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.trainer-intro,.trainer-knowledge{line-height:1.55}.trainer-knowledge h3{margin-top:1.25rem;margin-bottom:.35rem;font-size:1.05rem}.trainer-flashcard{perspective:1200px;width:100%;margin:1rem 0}button.trainer-flashcard{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-align:center;cursor:pointer;min-height:10rem;padding:1.25rem 1.1rem;display:block}button.trainer-flashcard.flipped{text-align:left;background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.trainer-flashcard-inner{min-height:10rem;transform-style:preserve-3d;transition:transform .45s;position:relative}.trainer-flashcard.flipped .trainer-flashcard-inner{transform:rotateY(180deg)}.trainer-flashcard-face{backface-visibility:hidden;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-align:center;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:absolute;inset:0}.trainer-flashcard-back{background:color-mix(in srgb, var(--accent) 8%, var(--surface));transform:rotateY(180deg)}.trainer-flashcard-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.75rem;display:flex}.trainer-progress{color:var(--muted);margin-bottom:.5rem;font-size:.85rem}.trainer-options-form{border:1px dashed var(--border);border-radius:var(--radius);padding:.75rem}.trainer-stat-grid{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.75rem;margin:1rem 0;display:grid}.trainer-stat{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center;padding:.75rem}.trainer-stat strong{font-size:1.35rem;line-height:1.2;display:block}.trainer-stat span{color:var(--muted);font-size:.82rem}.trainer-home-hero{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 6%, var(--surface));margin:1rem 0 1.25rem;padding:1rem 1.1rem}.trainer-home-phase{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin:0 0 .35rem;font-size:.82rem;font-weight:600}.trainer-home-hint{margin:0 0 .85rem;line-height:1.5}.trainer-home-primary{margin:0}.trainer-stat-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:1rem;padding:.85rem}.trainer-stat-heading{margin:0 0 .65rem;font-size:.92rem;font-weight:600}.trainer-goals-panel .trainer-goals-block+.trainer-goals-block{border-top:1px dashed var(--border);margin-top:.75rem;padding-top:.75rem}.trainer-goals-title{margin:0 0 .35rem;font-size:.85rem;font-weight:600}.trainer-goals-headline{margin:0 0 .5rem;font-size:.9rem}.trainer-goals-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.trainer-goal-row{justify-content:space-between;gap:.75rem;font-size:.9rem;display:flex}.trainer-goal-msg{margin:.25rem 0 0;font-size:.82rem}.trainer-goal-met .trainer-goal-row strong{color:var(--ok,#1a7f37)}.trainer-child-goals-form{margin-top:.75rem;font-size:.9rem}.trainer-child-goals-form summary{cursor:pointer;color:var(--muted)}.trainer-more-actions{border:1px dashed var(--border);border-radius:var(--radius);margin:.5rem 0 1rem;padding:.65rem .85rem}.trainer-more-actions summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;font-size:.9rem}.trainer-more-actions .learn-actions{margin-top:.75rem}.trainer-content-analysis{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:1rem;padding:.85rem}.trainer-analysis-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;margin-top:.65rem;display:grid}.trainer-analysis-list{color:var(--muted);margin:.35rem 0 0;padding-left:1.1rem;font-size:.9rem}.unit-pedagogy-digest{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);white-space:pre-wrap;max-height:16rem;margin:.75rem 0 0;padding:.85rem 1rem;font-family:inherit;font-size:.9rem;line-height:1.45;overflow:auto}.unit-pedagogy-methods{flex-wrap:wrap;gap:.45rem .75rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.unit-pedagogy-method{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.35rem .65rem;font-size:.88rem}.unit-pedagogy-patterns,.unit-pedagogy-quality{margin:.65rem 0 0;font-size:.9rem}.unit-pedagogy-examples{margin:.65rem 0 0;padding-left:1.1rem;font-size:.9rem}.unit-pedagogy-actions{margin-top:.75rem}.card-method-hint{margin:-.25rem 0 .75rem;font-size:.92rem}.card-input-label-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card-input-label-row .speech-input-btn{min-width:2.75rem;min-height:2.5rem;padding:.4rem .65rem}.card-worked-input{resize:vertical;min-height:7.5rem;line-height:1.45}.card-input-label{gap:.45rem;width:100%;min-width:0;font-size:.95rem;font-weight:600;display:grid}.card-input-form{flex-direction:column;align-items:stretch;gap:1.1rem;max-width:36rem;margin-top:.85rem;display:flex}.card-input-form .practice-input{flex:none;width:100%;min-width:0;min-height:2.9rem;font-size:1.12rem}.card-input-actions{width:100%;padding-top:.25rem;display:flex}.card-input-actions .btn-primary{width:100%;min-height:2.9rem}.card-mic-btn{min-width:2.75rem;padding-inline:.65rem}.card-mic-btn.active{border-color:var(--accent);color:var(--accent)}.unit-field-wrap{gap:.35rem;display:grid}.unit-field-guide{margin:0;font-size:.85rem;font-weight:400;line-height:1.45}.label-with-speech .unit-field-guide{margin-top:.15rem}.trainer-progress-wrap{margin-bottom:1rem}.trainer-progress-bar{background:color-mix(in srgb, var(--border) 70%, transparent);border-radius:999px;height:.55rem;overflow:hidden}.trainer-progress-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .25s}.trainer-progress-label{margin:.35rem 0 0;font-size:.88rem}.trainer-shortcuts{text-align:center;margin:.35rem 0 .75rem;font-size:.82rem}.trainer-card-filter{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.trainer-knowledge-intro{max-width:42rem;margin:.35rem 0 1rem}.trainer-knowledge-list{gap:.65rem;display:grid}.trainer-knowledge-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);overflow:hidden}.trainer-knowledge-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;font-weight:600;list-style:none;display:flex}.trainer-knowledge-summary::-webkit-details-marker{display:none}.trainer-knowledge-summary:before{content:"▸";color:var(--accent);margin-right:.45rem;transition:transform .15s}.trainer-knowledge-block[open]>.trainer-knowledge-summary:before{transform:rotate(90deg)}.trainer-knowledge-domain{flex:1;min-width:0}.trainer-knowledge-points{margin:0;padding:0 1rem .85rem 1.65rem;list-style:decimal}.trainer-knowledge-intro-block{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 5%, var(--surface));margin:0 1rem .5rem;padding:.65rem .85rem;font-size:.95rem;line-height:1.5}.trainer-knowledge-points li{margin:.45rem 0}.trainer-knowledge-points p{color:var(--muted);margin:.25rem 0 0;line-height:1.55}.interactive-trainer .learn-actions{margin-top:1.25rem}.parent-trainer-list{margin:0}.parent-trainer-item{box-shadow:none;padding:.85rem}.parent-trainer-head{flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.45rem;display:flex}.quiz-weakness-panel{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 4%, var(--bg-2));border-radius:12px;margin-top:1rem;padding:1rem}.quiz-weakness-panel-compact{padding:.85rem}.quiz-weakness-panel h3{margin:0;font-size:1rem}.quiz-weakness-list{gap:.55rem;margin:.75rem 0;padding:0;list-style:none;display:grid}.quiz-weakness-list li{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.2rem;padding:.55rem .65rem;display:flex}.quiz-weakness-list strong{font-size:.9rem;font-weight:600}.exam-learning-entry{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 6%, var(--bg-2));border-radius:12px;margin:.75rem 0;padding:1rem}.exam-learning-entry h3{margin:.25rem 0 .5rem;font-size:1.05rem}.exam-learning-summary{margin:0 0 .75rem;line-height:1.5}.trainer-didactic-path{margin:.75rem 0 1rem;padding-left:1.2rem;font-size:.88rem;line-height:1.55}.trainer-didactic-path li{margin-bottom:.35rem}.auto-trainer-notice{background:color-mix(in srgb, var(--accent) 12%, var(--bg-2));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:10px;margin:0 0 .85rem;padding:.65rem .85rem;font-size:.9rem}.practice-form{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem;display:flex}.practice-input{border:1px solid var(--border);background:var(--bg);min-width:12rem;color:inherit;border-radius:10px;flex:1;padding:.65rem .85rem;font-size:1rem}.practice-hint{font-size:.88rem}.label-with-speech{flex-direction:column;gap:.35rem;display:flex}.label-with-speech-head{justify-content:space-between;align-items:center;gap:.5rem;font-weight:600;display:flex}.label-with-speech-head>label{margin:0;display:block}.speech-input-btn{border:1px solid var(--border);background:var(--bg-2);color:inherit;cursor:pointer;border-radius:8px;flex-shrink:0;padding:.25rem .55rem;font-size:1rem;line-height:1.2}.speech-input-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.speech-input-btn-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, var(--bg-2))}.speech-input-btn:disabled{opacity:.5;cursor:not-allowed}.speech-input-hint{font-size:.85rem;font-weight:400}.trainer-basiswissen-panel{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 4%, var(--card));border-radius:.75rem;margin:.75rem 0 1rem;padding:.75rem .9rem}.trainer-basiswissen-heading{margin:0 0 .5rem;font-size:.95rem}.trainer-concept-list{gap:.65rem;display:grid}.trainer-concept-card{background:var(--bg-2);border-radius:.55rem;padding:.55rem .65rem}.trainer-concept-pattern{font-family:var(--font-mono,ui-monospace, monospace);margin:.25rem 0 0;font-size:.92rem}.trainer-concept-example,.trainer-concept-hint{margin:.35rem 0 0;font-size:.92rem}.trainer-cloze-preview{margin-top:.75rem}.trainer-cloze-preview ul{margin:.35rem 0 0;padding-left:1.2rem}.cloze-question-line{line-height:2}.cloze-inline-input{border:1px solid var(--border);border-bottom:2px solid var(--accent);background:var(--card);min-width:5.5rem;max-width:12rem;font:inherit;vertical-align:baseline;border-radius:.35rem;margin:0 .2rem;padding:.2rem .45rem;display:inline-block}.label-diagram-instruction{margin:0;font-weight:600}.drawing-example-hint{margin:0}.label-diagram-exercise,.drawing-canvas-exercise{gap:.75rem}.label-diagram-stage{border:1px solid var(--border);background:#e8f0fa;border-radius:.75rem;width:100%;max-width:42rem;margin:0 auto;position:relative;overflow:hidden}.label-diagram-stage[data-layout=timeline]{aspect-ratio:16/9;min-height:13.5rem}.label-diagram-stage[data-layout=timeline] .label-diagram-hotspot{white-space:normal;text-align:center;min-width:1.5rem;max-width:6.75rem;padding:.12rem .3rem;font-size:.65rem;line-height:1.15}.label-diagram-stage[data-layout=timeline] .label-diagram-hotspot[data-row=upper] .label-diagram-hotspot-tooltip{top:auto;bottom:0;transform:translate(-50%,115%)}.label-diagram-stage[data-layout=timeline] .label-diagram-hotspot[data-row=upper].has-hint:hover .label-diagram-hotspot-tooltip,.label-diagram-stage[data-layout=timeline] .label-diagram-hotspot[data-row=upper].has-hint:focus-visible .label-diagram-hotspot-tooltip{transform:translate(-50%,125%)}.label-diagram-stage[data-layout=timeline] .label-diagram-hotspot[data-row=lower] .label-diagram-hotspot-tooltip{top:0;bottom:auto;transform:translate(-50%,-115%)}.label-diagram-stage[data-layout=timeline] .label-diagram-hotspot[data-row=lower].has-hint:hover .label-diagram-hotspot-tooltip,.label-diagram-stage[data-layout=timeline] .label-diagram-hotspot[data-row=lower].has-hint:focus-visible .label-diagram-hotspot-tooltip{transform:translate(-50%,-125%)}.label-diagram-hotspot.slot-ok{background:#dcfce7;border-style:solid;border-color:#16a34a}.label-diagram-hotspot.slot-bad{background:#fee2e2;border-style:solid;border-color:#dc2626}.label-diagram-slot-summary{margin:.35rem 0 0;padding-left:1.1rem;font-size:.88rem;line-height:1.45}.label-diagram-slot-summary .slot-summary-ok{color:#166534}.label-diagram-slot-summary .slot-summary-bad{color:#991b1b}.label-diagram-svg{width:100%;height:auto;display:block}.label-diagram-hotspot{border:2px dashed var(--accent);min-width:2.2rem;max-width:7rem;color:var(--text);cursor:pointer;background:#ffffffeb;border-radius:999px;padding:.2rem .45rem;font-size:.78rem;font-weight:600;position:absolute;transform:translate(-50%,-50%)}.label-diagram-hotspot.has-hint:hover .label-diagram-hotspot-tooltip,.label-diagram-hotspot.has-hint:focus-visible .label-diagram-hotspot-tooltip{opacity:1;pointer-events:none;transform:translate(-50%,-120%)}.label-diagram-hotspot-tooltip{color:#f8fafc;text-align:center;opacity:0;z-index:2;background:#0f172aeb;border-radius:.45rem;min-width:8rem;max-width:12rem;padding:.35rem .5rem;font-size:.72rem;font-weight:500;line-height:1.35;transition:opacity .15s,transform .15s;position:absolute;top:0;left:50%;transform:translate(-50%,-110%)}.label-diagram-hotspot.ready{border-style:solid;box-shadow:0 0 0 2px #3b82f640}.label-diagram-hotspot.filled{background:#dbeafe;border-style:solid}.label-diagram-terms{flex-wrap:wrap;gap:.45rem;display:flex}.label-diagram-term{border:1px solid var(--border);background:var(--card);font:inherit;cursor:pointer;border-radius:999px;padding:.35rem .75rem}.label-diagram-term.selected{border-color:var(--accent);background:#dbeafe}.label-diagram-term.used{opacity:.45}.drawing-toolbar{flex-wrap:wrap;gap:.35rem;display:flex}.drawing-canvas-wrap{width:100%;max-width:45rem;margin:0 auto}.drawing-canvas{border:1px solid var(--border);cursor:crosshair;background:#fff;border-radius:.75rem;width:100%;height:auto;display:block}.source-image-crop img{display:block}.image-choice-options{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;display:grid}.image-choice-option{border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:.5rem;padding:.35rem}.image-choice-option.selected,.image-choice-option.ok{border-color:var(--accent)}.image-choice-option.bad{border-color:var(--danger)}.image-choice-option-label{margin-bottom:.25rem;font-weight:600;display:block}.point-on-image-stage{width:100%;max-width:36rem;margin:0 auto}.point-on-image-hotspot{border:2px solid var(--accent);cursor:pointer;background:#ffffffeb;border-radius:999px;min-width:2rem;min-height:2rem;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.point-on-image-hotspot.selected{background:var(--accent);color:#fff}.building-views-workshop{border:1.5px solid var(--border);background:var(--surface);border-radius:1.1rem;gap:1rem;padding:1rem 1.1rem 1.25rem}.building-views-taskbar{border:1.5px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--surface));border-radius:1rem;padding:.85rem 1rem}.building-views-task-title{margin:0;font-size:1.1rem}.building-views-instruction{border-left:4px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-radius:.5rem;padding:.75rem .9rem;line-height:1.45}.building-views-work{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}@media (min-width:800px){.building-views-work{grid-template-columns:minmax(280px,1fr) minmax(240px,1fr)}}.building-views-work-stage{min-width:0}.building-views-guide{background:color-mix(in srgb, var(--surface-2) 90%, #e8f0fa);border:1.5px solid var(--border);border-radius:1rem;padding:.65rem .75rem}.building-views-guide b{text-align:center;margin-bottom:.35rem;display:block}.building-views-guide svg{width:100%;max-height:12rem;display:block}.building-views-guide-note{margin:.5rem 0 0;font-size:.85rem;line-height:1.4}.building-workshop-stage{border:1.5px solid var(--border);background:linear-gradient(#f8fbff,#edf3f9);border-radius:1rem;padding:.5rem}.building-workshop-model-tools{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.65rem;display:flex}.building-workshop-model-tools button{color:#10263f;cursor:pointer;background:#fff;border:1.5px solid #aebed0;border-radius:.55rem;padding:.45rem .65rem;font-size:.82rem;font-weight:800}.building-workshop-model-tools button.active{color:#fff;background:#10263f;border-color:#10263f}.building-workshop-model-tools button:disabled{opacity:.55;cursor:not-allowed}.building-workshop-slice-label{text-align:center;color:#566a82;flex-basis:100%;margin-top:.25rem;font-size:.82rem;font-weight:800}.building-workshop-model-note,.building-workshop-slice{margin:.35rem 0 0;font-size:.85rem;line-height:1.35}.building-height-plan-svg{width:100%;max-height:300px}.building-views-question{background:#fff7d9;border:1.5px solid #efd36c;border-radius:.85rem;margin:0;padding:.85rem 1rem}.building-views-question-buttons{margin-top:.65rem}.building-views-choice--on.building-views-choice--ok{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.building-views-choice--on.building-views-choice--bad{background:color-mix(in srgb, var(--danger) 88%, #fff);color:#fff;border-color:var(--danger)}.building-views-decision-note{margin:.55rem 0 0;line-height:1.4}.building-views-mark-hint{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-radius:.5rem;margin:0 0 .75rem;padding:.65rem .85rem;line-height:1.45}.building-views-projections .projection-fill-grids{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:700px){.building-views-projections .projection-fill-grids{grid-template-columns:repeat(3,1fr)}.building-views-projections .projection-fill-view{text-align:center;background:#f5f8fb;border-radius:1rem;padding:.65rem}}.building-views-projections .projection-toggle-cell--on .projection-toggle-btn{background:#78a9ff;border-color:#326ed6}.building-views-projections .projection-toggle-cell.review-missing .projection-toggle-btn{background:#39b7a547;border:2px dashed #118a78}.building-views-projections .projection-toggle-cell.review-both .projection-toggle-btn{background:linear-gradient(135deg,#78a9ff 0 47%,#39b7a5e6 53%);border:2px solid #147b70}.building-views-projections .projection-toggle-cell.review-extra .projection-toggle-btn{background:linear-gradient(135deg,#78a9ff 0 47%,#d9474be0 53%);border:2px solid #b52f37}.building-views-help{border:1.5px solid color-mix(in srgb, var(--accent) 30%, var(--border));background:color-mix(in srgb, var(--accent) 6%, var(--surface));border-radius:.85rem;padding:.75rem .9rem}.building-views-solution-legend{flex-wrap:wrap;gap:.5rem 1rem;margin-top:.65rem;font-size:.88rem;display:flex}.building-views-solution-legend span{align-items:center;gap:.35rem;display:flex}.building-views-solution-legend i{border:1.5px solid #789;border-radius:.25rem;width:1.1rem;height:1.1rem;display:inline-block}.building-views-solution-legend i.mine{background:#78a9ff}.building-views-solution-legend i.missing{background:#39b7a547;border:2px dashed #118a78}.building-views-solution-legend i.both{background:linear-gradient(135deg,#78a9ff 0 47%,#39b7a5e6 53%)}.building-views-solution-legend i.extra{background:linear-gradient(135deg,#78a9ff 0 47%,#d9474be0 53%)}.building-views-actions{margin-top:.25rem}.spatial-seq-fill-workspace{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.spatial-seq-fill-building{width:100%;max-width:22rem}@media (min-width:768px){.spatial-seq-fill-workspace{flex-direction:row;align-items:flex-start}.spatial-seq-fill-building{flex:0 0 min(40%,20rem);position:sticky;top:.5rem}.spatial-seq-fill-workspace .projection-fill-grids{flex:1;min-width:0}}.projection-fill-caption{margin:.15rem 0 .35rem;font-size:.88rem;line-height:1.35}.grid-fill-table{gap:.35rem;max-width:20rem;display:grid}.grid-fill-cell{min-height:2.5rem}.grid-fill-input{text-align:center;width:100%;padding:.35rem}.grid-fill-color-btn{border:1px solid var(--border);cursor:pointer;border-radius:.35rem;width:100%;height:2.5rem}.grid-fill-cell.slot-ok .grid-fill-input,.grid-fill-cell.slot-ok .grid-fill-color-btn{outline:2px solid var(--accent)}.grid-fill-cell.slot-bad .grid-fill-input,.grid-fill-cell.slot-bad .grid-fill-color-btn,.grid-fill-cell.slot-bad .projection-toggle-btn{outline:2px solid var(--danger)}.projection-toggle-hint{margin:.15rem 0 .35rem;font-size:.85rem}.projection-toggle-cell{justify-content:center;align-items:center;min-height:2.5rem;display:flex;position:relative}.projection-toggle-btn{border:2px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:.35rem;width:100%;min-height:2.5rem;transition:background .12s,border-color .12s}.projection-toggle-cell--on .projection-toggle-btn{background:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, #000);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-fg) 25%, transparent)}.projection-toggle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.projection-toggle-readonly{color:var(--accent);font-size:1.1rem;line-height:1}.region-paint-palette{flex-wrap:wrap;gap:.5rem;display:flex}.region-paint-swatch{border:2px solid var(--border);cursor:pointer;border-radius:.35rem;width:2.25rem;height:2.25rem}.region-paint-swatch.active{outline:2px solid var(--accent);outline-offset:2px}.region-paint-stage{width:100%;max-width:28rem;margin:0 auto}.region-paint-svg{background:#f1f5f9;border-radius:.5rem;width:100%;height:auto;display:block}.region-paint-face{transition:fill .12s}.building-iso-preview{margin-bottom:.75rem}.building-iso-toolbar{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.building-iso-svg{background:#f8fafc;border-radius:.5rem;width:100%;max-width:28rem;height:auto;display:block}.viewpoint-choice-btn{align-items:center;gap:.5rem;display:flex}.viewpoint-choice-id{flex:none;min-width:1.25rem;font-weight:800}.building-three-wrap{background:#f1f5f9;border-radius:.5rem;overflow:hidden}.building-three-wrap canvas{display:block;width:100%!important;height:100%!important}.building-iso-hint,.building-iso-breakdown{font-size:.9rem}.net-build-cell.selected{background:color-mix(in srgb, var(--accent) 35%, var(--surface-2));outline:2px solid var(--accent)}.net-build-cell.net-build-given.selected{background:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 70%, #000)}.spatial-seq-choices{flex-direction:column;gap:.65rem;display:flex}.spatial-seq-choice{text-align:left;border:2px solid var(--border);background:var(--surface-2);width:100%}.spatial-seq-choice--on{background:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, #000);color:var(--accent-fg)}.spatial-seq-decision-confirm{margin-top:.75rem}
