:root{--forest:#1f2d24;--forest-deep:#17221b;--copper:#c65a2e;--gold:#e0b14a;--warm-cream:#f6e8d6;--taupe:#b7a690;--paper:#f6e8d6;--paper-soft:#fbf7f0;--cream:#fffaf3;--clay:#e9d9c6;--charcoal:#1f2d24;--muted:#5f574c;--line:#d9cdbd;--line-strong:#c3b39c;--card-border:#e7d9c4;--rust:#9a3f20;--rust-deep:#7b2f16;--amber:#e0b14a;--success:#46614f;--error:#a33e25;--ink-strong:#1f2d24;--on-dark:#fffaf3;--on-dark-body:color-mix(in srgb, var(--on-dark) 82%, transparent);--on-dark-soft:color-mix(in srgb, var(--on-dark) 72%, transparent);--on-dark-faint:color-mix(in srgb, var(--on-dark) 58%, transparent);--rule-on-dark:color-mix(in srgb, var(--on-dark) 20%, transparent);--rule-on-dark-soft:color-mix(in srgb, var(--on-dark) 12%, transparent);--veil-hero:color-mix(in srgb, var(--forest-deep) 72%, transparent);--veil-caption:color-mix(in srgb, var(--forest) 90%, transparent);--veil-soft:color-mix(in srgb, var(--forest) 56%, transparent);--font:"Libre Franklin", "Franklin Fallback", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", Meiryo, system-ui, sans-serif;--font-display:"Cinzel", "Times New Roman", Georgia, serif;--font-jp:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", Meiryo, sans-serif;--text-2xs:.75rem;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:clamp(1.1875rem, 1.05rem + .55vw, 1.375rem);--text-xl:clamp(1.5rem, 1.28rem + .95vw, 1.9375rem);--text-2xl:clamp(1.875rem, 1.5rem + 1.7vw, 2.75rem);--text-3xl:clamp(2.375rem, 1.75rem + 2.9vw, 3.8125rem);--text-display:clamp(2.75rem, 1.95rem + 3.9vw, 5.5rem);--lh-display:1.04;--lh-heading:1.14;--lh-body:1.65;--lh-body-dark:1.72;--track-display:-.015em;--track-heading:-.01em;--track-caps:.11em;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--motion-press:.12s;--motion-ui:.18s;--motion-state:.22s;--motion-signature:.9s;--asset-hairline:1px;--asset-rule:2px;--space-1:8px;--space-2:16px;--space-3:28px;--space-4:48px;--space-5:80px;--space-6:120px;--space-7:176px;--band-pad:clamp(var(--space-5), 9vw, var(--space-6));--band-pad-major:clamp(var(--space-6), 12vw, var(--space-7));--radius-hair:1px;--radius-sm:2px;--radius-md:4px;--radius-round:50%;--radius-pill:999px;--shadow-raise:0 1px 2px color-mix(in srgb, var(--forest) 8%, transparent);--shadow-pop:0 6px 20px color-mix(in srgb, var(--forest) 12%, transparent), 0 1px 2px color-mix(in srgb, var(--forest) 8%, transparent);--shadow-overlay:0 16px 44px color-mix(in srgb, var(--forest) 18%, transparent);--app-shell-width:1220px;--app-card-radius:6px;--app-card-radius-sm:4px;--app-card-border:var(--card-border);--app-card-surface:var(--cream);--app-card-surface-soft:var(--paper-soft);--app-card-shadow:none;--app-card-shadow-soft:none;--app-surface-glow:none;--z-sticky:30;--z-header:40;--z-dropdown:60;--z-overlay:70;--z-modal:80;--z-toast:90;--z-skip:100}:root[data-theme=linen]{--paper:#f2f1ec;--paper-soft:#f8f8f5;--cream:#fdfdfb;--warm-cream:#f2f1ec;--clay:#eae8e1;--forest-deep:#222628;--line:#d6d4cc;--line-strong:#c2c0b8;--card-border:#e2e0d8;--taupe:#a8a49a;--charcoal:#24282a;--ink-strong:#24282a;--muted:#5f6367;--forest:#2b3134;--rust:#7c5a3a;--rust-deep:#5f452c;--copper:#a97444;--gold:#c9a35e;--amber:#c9a35e;--success:#3f6350;--error:#9c3a2a}:root[data-theme=ember]{--paper:#efdcc6;--paper-soft:#f8ecdc;--cream:#fdf5ea;--warm-cream:#efdcc6;--clay:#e6cfb2;--forest-deep:#251a13;--line:#d8c3a6;--line-strong:#c4ab8b;--card-border:#e4d0b4;--taupe:#b09a7e;--charcoal:#2a1d16;--ink-strong:#2a1d16;--muted:#6b5645;--forest:#2f2018;--rust:#8a3312;--rust-deep:#6d270c;--copper:#b8501f;--gold:#cf9a34;--amber:#cf9a34;--success:#4a6148;--error:#96301c}:root[data-theme=dusk]{--paper:#101815;--paper-soft:#18231d;--cream:#141d18;--warm-cream:#18231d;--clay:#1c2822;--forest-deep:#080e0b;--line:#2c3b33;--line-strong:#3a4c42;--card-border:#2c3b33;--taupe:#5a6b60;--charcoal:#e8e0d4;--ink-strong:#f2ebe0;--on-dark:#f2ebe0;--forest:#0c1310;--rust:#e08a5a;--rust-deep:#f0a070;--copper:#d97e4a;--gold:#e0b14a;--amber:#e0b14a;--muted:#9d9488;--success:#7fae8e;--error:#e58b70}@font-face{font-family:Franklin Fallback;src:local(Arial),local(Helvetica Neue);size-adjust:104%;ascent-override:92%;descent-override:24%;line-gap-override:0%}*,:before,:after{box-sizing:border-box}*{margin:0}html{background:var(--paper);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--charcoal);font-family:var(--font);font-size:var(--text-base);font-kerning:normal;font-synthesis:none;line-height:var(--lh-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:var(--lh-heading);letter-spacing:var(--track-heading);text-wrap:balance}p,li,blockquote,dd{text-wrap:pretty}:lang(ja){font-family:var(--font-jp);font-size:1.05em;line-height:1.75}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}::selection{background:#e0b14a59}.ic{vertical-align:-.18em;flex:none}.ic-accent{stroke:var(--icon-accent,var(--copper))}.ic-accent-fill{fill:var(--icon-accent,var(--copper));stroke:none}.adm-command-analytics strong,.adm-command-list button small,.sp-resource-open,.card-link{align-items:center;gap:6px;display:inline-flex}.star-rating{color:var(--gold);align-items:center;gap:2px;display:inline-flex}.btn,.adm-btn-primary,.adm-btn-quiet,.adm-btn-danger,.story-button{border-radius:var(--radius-md);font-family:var(--font);text-align:center;cursor:pointer;min-height:44px;transition:background-color var(--motion-ui) var(--ease-out-quart), border-color var(--motion-ui) var(--ease-out-quart), color var(--motion-ui) var(--ease-out-quart), transform var(--motion-press) var(--ease-out-quart);border:1px solid #0000;justify-content:center;align-items:center;gap:.5em;padding:13px 20px;font-size:.95rem;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}.btn:active,.adm-btn-primary:active,.adm-btn-quiet:active,.story-button:active{transform:translateY(1px)}.btn-primary,.adm-btn-primary,.story-button--copper{--icon-accent:currentColor;background:var(--rust);border-color:var(--rust);color:#fff}.btn-primary:hover,.adm-btn-primary:hover,.story-button--copper:hover{background:var(--rust-deep);border-color:var(--rust-deep)}.btn-forest{--icon-accent:currentColor;background:var(--forest);border-color:var(--forest);color:var(--on-dark)}.btn-forest:hover{background:color-mix(in oklab, var(--forest) 85%, black)}.btn-secondary{background:color-mix(in srgb, var(--cream) 78%, white);border-color:var(--line-strong);color:var(--forest)}.btn-secondary:hover{border-color:var(--copper);background:var(--paper-soft);color:var(--rust)}.btn-ghost,.adm-btn-quiet,.story-button--line{border-color:var(--line-strong);color:var(--rust);background:0 0}.btn-ghost:hover,.adm-btn-quiet:hover,.story-button--line:hover{border-color:var(--copper);background:color-mix(in srgb, var(--copper) 8%, transparent)}.btn-danger,.adm-btn-danger{border-color:color-mix(in oklab, var(--error) 48%, var(--taupe));color:var(--error);background:0 0}.btn-danger:hover,.adm-btn-danger:hover{border-color:var(--error);background:color-mix(in oklab, var(--error) 8%, transparent)}.btn-on-dark{border-color:var(--rule-on-dark);color:var(--on-dark);background:0 0}.btn-on-dark:hover{border-color:var(--gold);color:var(--gold)}.btn-sm,.adm-btn-quiet,.adm-btn-danger{min-height:36px;padding:9px 14px;font-size:.85rem}.btn-md,.adm-btn-primary{min-height:44px;padding:13px 20px}.btn-lg{min-height:50px;padding:16px 26px;font-size:1rem}:where(a[href],button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--copper);outline-offset:2px}:where(.sp-topbar,.adm-sidebar,.adm-mobile-topbar,.sp-focus-hero) :where(a[href],button,input,select,textarea,summary):focus-visible{outline-color:var(--gold)}:where(.sp-today,.sp-steps,.sp-vocab-col,.adm-students-list,.adm-command-list) li button:focus-visible{outline-offset:-3px}.btn:focus-visible,.adm-btn-primary:focus-visible,.adm-btn-quiet:focus-visible,.adm-btn-danger:focus-visible,.story-button:focus-visible,.fld:focus-visible,.fld:focus,.chip:focus-visible,.tabs button:focus-visible,.pager button:focus-visible,.switch input:focus-visible+.switch-track{outline:2px solid var(--copper);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true],.adm-btn-primary:disabled,.adm-btn-quiet:disabled,.adm-btn-danger:disabled,.story-button:disabled{cursor:default;pointer-events:none;transform:none}.btn-primary:disabled,.btn-forest:disabled,.adm-btn-primary:disabled{background:var(--taupe);border-color:var(--taupe);color:var(--forest)}.btn-secondary:disabled,.btn-ghost:disabled,.btn-danger:disabled,.adm-btn-quiet:disabled,.adm-btn-danger:disabled{border-color:var(--line);color:var(--muted);background:0 0}.btn[aria-busy=true] .ic-busy{transform-origin:50%;animation:.9s linear infinite sg-spin}@keyframes sg-spin{to{transform:rotate(360deg)}}.fld,.adm-field input,.adm-field select,.adm-field textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--cream);width:100%;min-height:44px;color:var(--charcoal);font:400 .95rem/1.4 var(--font);transition:border-color var(--motion-ui) var(--ease-out-quart), background-color var(--motion-ui) var(--ease-out-quart);padding:11px 13px}.fld:hover:not(:disabled),.adm-field input:hover:not(:disabled){border-color:var(--taupe)}.fld::placeholder,.adm-field input::placeholder,.adm-field textarea::placeholder{color:var(--muted);opacity:1}.fld:disabled,.adm-field input:disabled,.adm-field select:disabled,.adm-field textarea:disabled{background:var(--paper);border-color:var(--line);color:var(--muted);cursor:default}.fld[aria-invalid=true]{border-color:var(--error)}textarea.fld,.adm-field textarea{resize:vertical;min-height:96px;line-height:var(--lh-body)}select.fld{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 19px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px);background-repeat:no-repeat;background-size:5px 5px;padding-right:38px}.fld-search{align-items:center;display:flex;position:relative}.fld-search>.ic{color:var(--muted);pointer-events:none;position:absolute;left:12px}.fld-search>.fld{padding-left:38px}.fld-label{font-size:var(--text-xs);color:var(--forest);margin-bottom:6px;font-weight:650;display:block}.fld-hint{font-size:var(--text-xs);color:var(--muted);margin-top:6px}.fld-hint[data-tone=error]{color:var(--error)}.check,.radio{cursor:pointer;align-items:center;gap:10px;font-size:.92rem;display:inline-flex}.check input,.radio input{width:18px;height:18px;accent-color:var(--rust);cursor:pointer;flex:none;margin:0}.check input:disabled,.radio input:disabled,.check:has(input:disabled),.radio:has(input:disabled){color:var(--muted);cursor:default}.switch{cursor:pointer;align-items:center;gap:10px;display:inline-flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-track{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--paper);width:44px;height:24px;transition:background-color var(--motion-state) var(--ease-out-quart), border-color var(--motion-state) var(--ease-out-quart);flex:none;position:relative}.switch-track:after{content:"";border-radius:var(--radius-round);background:var(--cream);width:18px;height:18px;box-shadow:var(--shadow-raise);transition:transform var(--motion-state) var(--ease-out-quart);position:absolute;top:2px;left:2px}.switch input:checked+.switch-track{background:var(--forest);border-color:var(--forest)}.switch input:checked+.switch-track:after{transform:translate(20px)}.switch input:disabled+.switch-track{background:var(--line);border-color:var(--line)}.chip{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--cream) 80%, white);min-height:30px;color:var(--forest);font-size:var(--text-xs);cursor:default;align-items:center;gap:6px;padding:5px 11px;font-weight:600;display:inline-flex}.chip[data-selected=true]{border-color:var(--copper);background:color-mix(in srgb, var(--copper) 12%, transparent);color:var(--rust)}.chip-remove,.chip-add{color:var(--muted);cursor:pointer;border-radius:var(--radius-round);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.chip-remove:hover,.chip-add:hover{color:var(--rust)}.chip-add{border:1px dashed var(--line-strong);width:30px;height:30px}.badge,.adm-badge{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.badge .ic,.adm-badge .ic{--icon-accent:currentColor}.badge.is-draft,.adm-badge.is-draft{background:color-mix(in oklab, var(--taupe) 24%, transparent);border-color:color-mix(in oklab, var(--taupe) 48%, transparent);color:var(--muted)}.badge.is-published,.badge.is-completed,.adm-badge.is-published{background:color-mix(in oklab, var(--forest) 12%, transparent);border-color:color-mix(in oklab, var(--forest) 34%, transparent);color:var(--forest)}.badge.is-new{background:color-mix(in oklab, var(--copper) 14%, transparent);border-color:color-mix(in oklab, var(--copper) 44%, transparent);color:var(--rust)}.badge.is-upcoming,.badge.is-needs-review{background:color-mix(in oklab, var(--gold) 20%, transparent);border-color:color-mix(in oklab, var(--gold) 62%, transparent);color:var(--rust-deep)}.badge.is-inactive,.adm-badge.is-inactive{background:color-mix(in oklab, var(--copper) 14%, transparent);border-color:color-mix(in oklab, var(--copper) 42%, transparent);color:var(--rust)}.tabs{border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.tabs button{appearance:none;font-family:var(--font);color:var(--muted);white-space:nowrap;cursor:pointer;transition:color var(--motion-ui) var(--ease-out-quart), border-color var(--motion-ui) var(--ease-out-quart);background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 14px;font-size:.92rem;font-weight:600}.tabs button:hover{color:var(--ink-strong)}.tabs button.active,.tabs button[aria-selected=true]{color:var(--rust);border-bottom-color:var(--copper)}.tabs--sub{gap:4px}.tabs--sub button{padding:8px 10px;font-size:.82rem}.meter{align-items:center;gap:12px;display:flex}.meter-track{border-radius:var(--radius-pill);background:var(--line);flex:1;height:4px;position:relative}.meter-fill{width:var(--meter-value,0%);border-radius:var(--radius-pill);background:var(--copper);transition:width var(--motion-state) var(--ease-out-quart);position:absolute;inset:0 auto 0 0}.meter-fill:after{content:"";border:2px solid var(--copper);border-radius:var(--radius-round);background:var(--cream);width:12px;height:12px;position:absolute;top:50%;right:0;transform:translate(50%,-50%)}.meter-value{text-align:right;min-width:4ch;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--forest);flex:none;font-weight:650}.calibration{gap:10px;display:grid}.calibration-row{font-size:var(--text-xs);grid-template-columns:minmax(5.5rem,auto) 1fr;align-items:center;gap:12px;font-weight:600;display:grid}.calibration-line{background:currentColor;height:1px;position:relative}.calibration-line:after{content:"";top:50%;left:var(--cal-value,50%);border-radius:var(--radius-round);background:var(--cream);border:1.5px solid;width:11px;height:11px;position:absolute;transform:translate(-50%,-50%)}.calibration-row[data-axis=context]{color:var(--forest)}.calibration-row[data-axis=support]{color:var(--rust)}.calibration-row[data-axis=challenge]{color:var(--rust-deep)}.calibration-row[data-axis=challenge] .calibration-line{background:var(--gold)}.calibration-row[data-axis=challenge] .calibration-line:after{border-color:var(--gold)}.pager{align-items:center;gap:4px;display:flex}.pager button{border-radius:var(--radius-round);min-width:32px;height:32px;color:var(--muted);font:600 var(--text-sm) / 1 var(--font);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--motion-ui) var(--ease-out-quart), color var(--motion-ui) var(--ease-out-quart);background:0 0;border:0;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.pager button:hover:not(:disabled){color:var(--forest);background:color-mix(in srgb, var(--forest) 8%, transparent)}.pager button[aria-current=page]{background:var(--forest);color:var(--on-dark)}.pager button:disabled{color:var(--line-strong);cursor:default}.pager-gap{color:var(--muted);padding:0 4px}.toast{border-radius:var(--radius-md);background:var(--forest);max-width:380px;color:var(--on-dark);box-shadow:var(--shadow-overlay);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.toast .ic{--icon-accent:var(--gold);color:var(--gold);margin-top:1px}.toast-body{font-size:var(--text-sm);line-height:var(--lh-body-dark);flex:1}.toast-body strong{font-weight:650;display:block}.toast-body span{color:var(--on-dark-soft)}.toast-close{color:var(--on-dark-faint);cursor:pointer;background:0 0;border:0;flex:none;padding:0}.toast-close:hover{color:var(--on-dark)}.empty{border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--paper-soft);text-align:center;justify-items:center;gap:10px;padding:34px 24px;display:grid}.empty>.ic{color:var(--taupe)}.empty strong{font-size:var(--text-base);color:var(--forest);font-weight:650}.empty p{max-width:42ch;font-size:var(--text-sm);color:var(--muted)}.card{border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--cream);padding:clamp(18px,2.4vw,24px)}.card-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-head .ic{color:var(--forest)}.card-head h3{font-size:var(--text-base);flex:1;font-weight:650}.card-link{color:var(--rust);font-size:var(--text-sm);align-items:center;gap:6px;font-weight:650;display:inline-flex}.card-link:hover{color:var(--rust-deep)}@media (prefers-reduced-motion:reduce){.btn,.adm-btn-primary,.adm-btn-quiet,.adm-btn-danger,.story-button,.fld,.switch-track,.switch-track:after,.meter-fill,.tabs button,.pager button{transition-duration:1ms}.btn:active,.story-button:active,.adm-btn-primary:active{transform:none}.btn[aria-busy=true] .ic-busy{animation:none}}
