:root{--bg:#eceef0;--chrome:#f6f7f9;--surface:#fff;--surface-2:#f5f6f8;--surface-3:#e9ecef;--border:#e7e9ec;--border-strong:#d5d9de;--card-border:#0000000f;--field-border:#8e9399;--surface-raised:#fff;--overlay-border:#00000014;--control-border:var(--border-strong);--control-bg:var(--surface);--track:#0f172a0d;--track-border:#0f172a0f;--thumb:#fff;--press:color-mix(in srgb, var(--text) 8%, transparent);--text:#111;--text-2:#363a41;--muted:#60656d;--primary:#0a0a0a;--primary-hover:#2b2b2b;--primary-soft:#dcfbfd;--primary-text:#00788a;--c-ink:var(--primary-text);--c-soft:var(--primary-soft);--on-primary:#fff;--on-strong:#fff;--current-ring:var(--bg);--accent:#00f0ff;--on-accent:#000;--success:#16a35f;--success-soft:#e5f6ec;--danger:#e5484d;--danger-soft:#fdecec;--warning:#f59e0b;--warning-soft:#fff6e0;--info:#3b82f6;--success-text:#0f7a45;--danger-text:#c4262c;--warning-text:#8a5300;--info-text:#1d5fd1;--success-strong:#12804a;--danger-strong:#d42d33;--success-strong-hover:#0f6b3e;--danger-strong-hover:#b8252a;--media-bg:#0b0b0f;--media-text:#a6a6b0;--code-bg:#16171d;--code-text:#e6e7ee;--switch-thumb:#fff;--focus:#00788a;--ring:0 0 0 2px var(--surface), 0 0 0 4px var(--focus);--ring-field:0 0 0 3px color-mix(in srgb, var(--focus) 20%, transparent);--shadow-sm:0 1px 2px #0000000d;--shadow-card:0 1px 2px #0000000a, 0 4px 12px -6px #00000014;--shadow:0 1px 2px #0000000a, 0 6px 16px #0000000f;--shadow-lg:0 12px 32px #0000001f, 0 2px 6px #0000000d;--radius-sm:8px;--radius:12px;--radius-lg:24px;--radius-field:12px;--control-h:42px;--control-h-sm:32px;--control-h-lg:46px;--tap:44px;--brand-mark:30px;--rail-w:88px;--rail-w-open:248px;--auth-stage:#0b0c10;--art-deep:#020617;--art-mid:#0b3a8c;--art-bright:#00c8ff;--art-shine:#fff;--topbar-h:64px;--font:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:28px;--fs-display:36px;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0b0d;--chrome:#141518;--surface:#16171a;--surface-2:#1e1f23;--surface-3:#2a2b30;--border:#26282c;--border-strong:#36383d;--card-border:#ffffff12;--field-border:#6b6f76;--surface-raised:#1f2024;--overlay-border:#ffffff1a;--control-border:#ffffff29;--control-bg:#ffffff0a;--track:#ffffff0d;--track-border:#ffffff14;--thumb:#ffffff1f;--press:color-mix(in srgb, var(--text) 8%, transparent);--text:#eceef1;--text-2:#c3c6cc;--muted:#8e9299;--primary:#00f0ff;--primary-hover:#6af6ff;--primary-soft:#00f0ff1f;--primary-text:#5cf3ff;--c-ink:var(--primary-text);--c-soft:var(--primary-soft);--on-primary:#000;--on-strong:#fff;--tap:44px;--brand-mark:30px;--radius-field:12px;--current-ring:var(--bg);--accent:#00f0ff;--on-accent:#000;--success:#34c27a;--success-soft:#34c27a24;--danger:#f2555a;--danger-soft:#f2555a24;--warning:#f5a524;--warning-soft:#ffbe3c1f;--info:#5b9cf8;--success-text:#34c27a;--danger-text:#ff7a7e;--warning-text:#f3bb60;--info-text:#5b9cf8;--success-strong:#1b7f4c;--danger-strong:#c9343a;--success-strong-hover:#239a5d;--danger-strong-hover:#db474d;--media-bg:#000;--media-text:#8e8e99;--code-bg:#0f1013;--code-text:#e6e7ee;--switch-thumb:#fff;--auth-stage:#000;--art-deep:#01030c;--art-mid:#082d70;--art-bright:#00b8f0;--art-shine:#e8fbff;--focus:#5cf3ff;--ring:0 0 0 2px var(--surface), 0 0 0 4px var(--focus);--ring-field:0 0 0 3px color-mix(in srgb, var(--focus) 30%, transparent);--shadow-sm:0 1px 2px #0000004d;--shadow-card:inset 0 1px 0 #ffffff0a, 0 1px 2px #00000080;--shadow:0 1px 2px #0000004d, 0 6px 16px #00000040;--shadow-lg:0 12px 40px #00000080}.tone-cyan{--c1:#00f0ff;--c2:#5cf6ff;--c-on:#000;--c-deep:var(--c1)}.tone-indigo{--c1:#5b45f0;--c2:#7c6cf5;--c-deep:#4a35d6}.tone-sky{--c1:#0ea5e9;--c2:#38bdf8;--c-on:#000;--c-deep:var(--c1)}.tone-emerald{--c1:#10b981;--c2:#34d399;--c-on:#000;--c-deep:var(--c1)}.tone-amber{--c1:#f59e0b;--c2:#fbbf24;--c-on:#000;--c-deep:var(--c1)}.tone-rose{--c1:#f43f5e;--c2:#fb7185;--c-deep:#e11d48}.tone-violet{--c1:#a855f7;--c2:#c084fc;--c-deep:#9333ea}.tone-teal{--c1:#14b8a6;--c2:#2dd4bf;--c-on:#000;--c-deep:var(--c1)}.tone-slate{--c1:#475569;--c2:#64748b;--c-deep:#475569}:is(.tone-cyan,.tone-indigo,.tone-sky,.tone-emerald,.tone-amber,.tone-rose,.tone-violet,.tone-teal,.tone-slate){--c-ink:color-mix(in srgb, var(--c1) 50%, var(--text));--c-soft:color-mix(in srgb, var(--c1) 14%, var(--surface))}[data-theme=dark] :is(.tone-cyan,.tone-indigo,.tone-sky,.tone-emerald,.tone-amber,.tone-rose,.tone-violet,.tone-teal,.tone-slate){--c-soft:color-mix(in srgb, var(--c1) 24%, var(--surface))}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.18s}::view-transition-new(root){animation-duration:.18s}.topbar{view-transition-name:topbar}.rail{view-transition-name:rail}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:calc(var(--topbar-h) + 24px)}body{background:var(--bg);color:var(--text);font:var(--fs-base)/1.6 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{letter-spacing:.01em;font-feature-settings:"palt";text-wrap:balance;word-break:auto-phrase;margin:0;font-weight:650;line-height:1.3}p{margin:0}:where(p,.field-hint,.alert,.dialog-msg,.toast-message):not(.prose *){text-wrap:pretty;word-break:auto-phrase}a{color:var(--primary-text);text-decoration:none}@media (hover:hover){a:hover{text-underline-offset:3px;text-decoration:underline}}img,svg,iframe{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:color-mix(in srgb, var(--accent) 35%, transparent)}.icon{flex:none}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.strong{font-weight:600}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack{flex-direction:column;gap:16px;display:flex}.stack-lg{flex-direction:column;gap:24px;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.row{align-items:center;gap:12px;display:flex}kbd{font:500 11px var(--mono);border:1px solid var(--border-strong);color:var(--muted);background:color-mix(in srgb, var(--text) 6%, transparent);border-bottom-width:2px;border-radius:5px;padding:2px 6px}.brand{border-radius:var(--radius-sm);color:var(--text);letter-spacing:-.03em;align-items:center;gap:10px;font-size:18px;font-weight:650;display:inline-flex}.brand-mark{width:var(--brand-mark);height:var(--brand-mark);border-radius:10px;flex:none;display:block}.dot{background:var(--c-deep,var(--c1));width:26px;height:26px;color:var(--c-on,var(--on-strong));font-size:var(--fs-xs);border-radius:8px;flex:none;place-items:center;font-weight:700;line-height:1;display:grid}.eyebrow{font-size:var(--fs-xs);letter-spacing:.02em;color:var(--muted);margin-bottom:4px;font-weight:500}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.toolbar{gap:12px;margin-bottom:20px;display:flex}.toolbar-grow{flex:1;min-width:0;display:flex}.row-actions{align-items:center;gap:2px;display:flex}.row-actions>form{display:contents}.back-link{height:32px;color:var(--muted);font-size:var(--fs-sm);border-radius:999px;align-self:flex-start;align-items:center;gap:2px;margin-left:-6px;padding:0 10px 0 6px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}@media (hover:hover){.brand:hover,.back-link:hover{text-decoration:none}.back-link:hover{background:var(--surface);color:var(--text)}}@media (width<=640px){:root{--control-h:44px;--control-h-sm:40px;--control-h-lg:48px}.form-actions>.btn{flex:1}.toolbar{flex-wrap:wrap;gap:8px}.toolbar-grow{flex:100%}.toolbar>.btn{flex:1}}@media (width<=640px),(pointer:coarse){.row-actions{gap:4px}.back-link{height:var(--tap)}}.dialog{border:1px solid var(--overlay-border);border-radius:var(--radius-lg);background:var(--surface-raised);width:min(420px,100vw - 32px);color:var(--text);box-shadow:var(--shadow-lg);padding:24px}.dialog[open]{animation:rise .2s var(--ease)}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;animation:.2s fade}.dialog-msg{font-size:var(--fs-base);margin-bottom:20px;font-weight:500;line-height:1.6}.noscript{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:440px;margin:0 auto;padding:18vh 24px 24px;display:flex}.noscript img{box-shadow:0 0 0 1px var(--border);border-radius:12px}.noscript h1{font-size:var(--fs-xl)}html[aria-busy=true] body:before{content:"";z-index:200;background:var(--accent);height:2px;animation:8s cubic-bezier(.1,.6,.2,1) .15s both nav-progress;position:fixed;top:0;left:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes pop{50%{transform:scale(1.2)}}@keyframes pulse{50%{opacity:.35}}@keyframes nav-progress{0%{width:0}to{width:90%}}@media (hover:none){:is(.icon-btn,.menu-item,.rail-link,.course-row,.outline-link,.back-link,.item-row,.settings-toc a,.tab):active{background:var(--press)}:is(a.tile,.course-card,.pager-link,.stat-link,a.link-card):active{transition-duration:80ms;transform:scale(.985)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}@view-transition{navigation:none}}
