@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,400..700;1,14..32,400..700&family=Geist+Mono:wght@400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink: #09090b;--muted: #6b6b76;--surface: #f4f4f5;--surface-elevated: #ffffff;--surface-subtle: #fafafa;--bg-atmosphere: #fafafa;--border: #e4e4e7;--border-strong: #d4d4d8;--hairline: rgb(9 9 11 / .08);--accent: #0f766e;--accent-hover: #115e59;--accent-ink: #ffffff;--accent-soft: #e3f4f1;--accent-strong: #115e59;--accent-rgb: 15 118 110;--glow: 20 184 166;--focus-ring: rgb(15 118 110 / .32);--success: #059669;--warning: #d97706;--danger: #dc2626;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow: 0 0 0 1px rgb(9 9 11 / .04), 0 1px 2px rgb(9 9 11 / .06);--shadow-lift: 0 0 0 1px rgb(9 9 11 / .05), 0 8px 24px -6px rgb(9 9 11 / .12), 0 2px 6px rgb(9 9 11 / .05);--font-display: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--nav-height: 3.5rem;--site-header-h: 4rem;--sidebar-width: 240px;--ease: cubic-bezier(.2, .7, .2, 1);--hero-bg: #08080c;--hero-ink: #fafafa;--hero-muted: #a1a1aa;--hero-border: rgb(255 255 255 / .09);--grid-line: rgb(255 255 255 / .045);--primary: var(--accent);--primary-hover: var(--accent-hover);--bg: var(--bg-atmosphere);--text: var(--ink);--text-muted: var(--muted);--ink-rgb: 9 9 11;--backdrop-rgb: 9 9 11;--hero-from: #115e59;--hero-to: #14b8a6;--glass: rgb(250 250 250 / .78);--skeleton-hi: #f4f4f5;--highlight: #fef08a;--success-soft: #dcfce7;--success-ink: #166534;--warning-soft: #fef3c7;--warning-ink: #92400e;--danger-soft: #fee2e2;--danger-ink: #991b1b;--callout-bg: #fffbeb;--callout-border: #fde68a;--review-correct-bg: #ecfdf3;--review-correct-ink: #065f46;--review-wrong-bg: #fef2f2;--review-wrong-ink: #991b1b;--bg-gradient: none}:root[data-theme=dark]{--ink: #fafafa;--muted: #a1a1aa;--surface: #18181b;--surface-elevated: #111113;--surface-subtle: #0f0f12;--bg-atmosphere: #09090b;--border: #27272a;--border-strong: #3f3f46;--hairline: rgb(255 255 255 / .08);--accent: #2dd4bf;--accent-hover: #5eead4;--accent-ink: #021614;--accent-soft: rgb(45 212 191 / .14);--accent-strong: #5eead4;--accent-rgb: 45 212 191;--glow: 20 184 166;--focus-ring: rgb(45 212 191 / .4);--success: #34d399;--warning: #fbbf24;--danger: #f87171;--shadow: 0 0 0 1px rgb(255 255 255 / .05), 0 1px 2px rgb(0 0 0 / .5);--shadow-lift: 0 0 0 1px rgb(255 255 255 / .07), 0 12px 32px -8px rgb(0 0 0 / .7);--ink-rgb: 250 250 250;--backdrop-rgb: 0 0 0;--hero-bg: #060609;--glass: rgb(9 9 11 / .72);--skeleton-hi: #27272a;--highlight: rgb(250 204 21 / .3);--success-soft: rgb(52 211 153 / .14);--success-ink: #6ee7b7;--warning-soft: rgb(251 191 36 / .14);--warning-ink: #fcd34d;--danger-soft: rgb(248 113 113 / .14);--danger-ink: #fca5a5;--callout-bg: rgb(251 191 36 / .08);--callout-border: rgb(251 191 36 / .3);--review-correct-bg: rgb(52 211 153 / .12);--review-correct-ink: #86efac;--review-wrong-bg: rgb(248 113 113 / .12);--review-wrong-ink: #fca5a5;--bg-gradient: none}html{color-scheme:light;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}:root[data-theme=dark]{color-scheme:dark}::selection{background:rgb(var(--accent-rgb) / .22)}body{font-family:var(--font-body);font-optical-sizing:auto;font-feature-settings:"cv11","ss01","ss03";background-color:var(--bg-atmosphere);color:var(--ink);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.nav-open{overflow:hidden}#root{min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover)}h1,h2,h3,.brand-mark{font-family:var(--font-display);font-weight:600;color:var(--ink);letter-spacing:-.022em;line-height:1.2;text-wrap:balance}h1{letter-spacing:-.032em}code,kbd,pre,samp{font-family:var(--font-mono)}button{cursor:pointer;border:none;border-radius:var(--radius);padding:.55rem 1.1rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:-.006em;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease)}:focus-visible{outline:2px solid rgb(var(--accent-rgb) / .7);outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:inset 0 1px #ffffff29,0 1px 2px rgb(var(--accent-rgb) / .3)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-secondary{background:var(--surface-elevated);color:var(--ink);border:1px solid var(--border);box-shadow:0 1px 2px rgb(var(--ink-rgb) / .05)}.btn-secondary:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--border-strong)}a.btn-primary,a.btn-secondary,a.btn-danger{display:inline-block;border-radius:var(--radius);padding:.55rem 1.1rem;font-size:.875rem;font-weight:500;line-height:1.6;text-align:center}a.btn-primary:hover,a.btn-danger:hover{color:var(--accent-ink)}a.btn-secondary:hover{color:var(--ink)}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--muted);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:rgb(var(--ink-rgb) / .05);color:var(--ink)}.btn-block{width:100%;padding:.75rem 1.1rem}input,textarea,select{width:100%;padding:.55rem .8rem;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:.875rem;color:var(--ink);background:var(--surface-elevated);outline:none;box-shadow:0 1px 2px rgb(var(--ink-rgb) / .04);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}input::placeholder,textarea::placeholder{color:rgb(var(--ink-rgb) / .4)}input:focus,textarea:focus,select:focus{border-color:rgb(var(--accent-rgb) / .7);box-shadow:0 0 0 4px var(--focus-ring)}label{display:block;margin-bottom:.35rem}.card{background:var(--surface-elevated);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}.card-interactive:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.card-selected{background:var(--accent-soft);border-color:rgb(var(--accent-rgb) / .35)}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:500;letter-spacing:.005em;background:var(--surface);color:var(--muted);border:1px solid var(--hairline)}.badge-primary{background:var(--accent-soft);color:var(--accent-strong);border-color:transparent}.badge-success{background:var(--success-soft);color:var(--success-ink);border-color:transparent}.badge-warning{background:var(--warning-soft);color:var(--warning-ink);border-color:transparent}.badge-danger{background:var(--danger-soft);color:var(--danger-ink);border-color:transparent}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.65rem;font-weight:700}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.25rem}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.flex{display:flex;align-items:center;gap:.5rem}.markdown-body{font-size:.98rem;color:var(--ink)}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:1.1rem 0 .6rem}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body pre,.markdown-body table{margin-bottom:.9rem}.markdown-body ul,.markdown-body ol{padding-left:1.25rem}.markdown-body li+li{margin-top:.25rem}.markdown-body code{font-family:var(--font-mono);font-size:.92em;background:rgb(var(--ink-rgb) / .06);padding:.12rem .32rem;border-radius:6px}.markdown-body pre{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-subtle)}.markdown-body pre code{background:transparent;padding:0}.markdown-body table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--surface-elevated);border:1px solid var(--border)}.markdown-body th,.markdown-body td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border)}.markdown-body th{background:var(--surface);color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.markdown-body a{text-decoration:underline;text-underline-offset:2px}.flex-between{display:flex;align-items:center;justify-content:space-between}.stack{display:flex;flex-direction:column;gap:1rem}.stack-sm{display:flex;flex-direction:column;gap:.5rem}.filters-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.text-muted{color:var(--muted)}.text-sm{font-size:.875rem}.text-center{text-align:center}.text-error{color:var(--danger);font-size:.875rem}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--muted)}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--skeleton-hi) 50%,var(--border) 75%);background-size:200% 100%;animation:skeleton-pulse 1.2s ease-in-out infinite;border-radius:var(--radius)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;margin-left:.35rem;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.7rem;font-weight:600;line-height:1;vertical-align:middle}.keyword-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:6px;background:var(--accent-soft);color:var(--accent-strong);font-size:.75rem;font-weight:500}.keyword-chip button{background:none;border:none;padding:0;font-size:.85rem;color:var(--accent-strong);line-height:1}.keyword-highlight{background:var(--highlight);padding:0 .15rem;border-radius:2px}.relevance-bar{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.relevance-bar>span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .2s}.status-tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1rem}.status-tabs button{background:transparent;border:1px solid var(--border);color:var(--muted)}.status-tabs button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.toast{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000;background:var(--ink);color:#fff;padding:.75rem 1.25rem;border-radius:var(--radius);box-shadow:var(--shadow-lift);font-size:.875rem;max-width:360px}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-elevated)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th,.table td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--border);white-space:nowrap}.table th{font-weight:600;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:var(--surface)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:rgb(var(--ink-rgb) / .03)}.table tr.is-active{background:var(--accent-soft)}.table tr.is-clickable{cursor:pointer}.auth-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem}.auth-panel{width:100%;max-width:420px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);padding:2.25rem 1.75rem;box-shadow:var(--shadow-lift)}.auth-brand{font-family:var(--font-display);font-size:2.25rem;font-weight:700;text-align:center;color:var(--ink);margin-bottom:.35rem;letter-spacing:-.03em}.auth-tagline{text-align:center;color:var(--muted);font-size:.9rem;margin-bottom:1.75rem}.auth-title{font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin-bottom:1.25rem;color:var(--ink)}.auth-footer{margin-top:1.25rem;text-align:center;font-size:.875rem;color:var(--muted)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:100;min-height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.25rem;background:var(--glass);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.app-brand{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--ink);letter-spacing:-.02em;flex-shrink:0}.app-brand:hover{color:var(--ink)}.app-header-left{display:flex;align-items:center;gap:1.5rem;min-width:0;flex:1}.app-header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.user-chip{font-size:.8rem;color:var(--muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav-desktop{display:none;align-items:center;flex-wrap:wrap;gap:.35rem .15rem;min-width:0}.app-nav-link{position:relative;display:inline-flex;align-items:center;padding:.45rem .65rem;font-size:.875rem;font-weight:500;color:var(--muted);border-radius:8px;white-space:nowrap;transition:color .15s ease,background .15s ease}.app-nav-link:hover{color:var(--ink);background:rgb(var(--ink-rgb) / .04)}.app-nav-link.active{color:var(--ink);font-weight:600}.app-nav-link.active:after{content:"";position:absolute;left:.65rem;right:.65rem;bottom:.15rem;height:2px;background:var(--accent);border-radius:1px;transition:opacity .15s ease}.nav-more{position:relative}.nav-more-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.45rem .65rem;font-size:.875rem;font-weight:500;color:var(--muted);background:transparent;border-radius:8px}.nav-more-btn:hover,.nav-more-btn[aria-expanded=true]{color:var(--ink);background:rgb(var(--ink-rgb) / .04)}.nav-more-menu{position:absolute;top:calc(100% + .35rem);right:0;min-width:180px;padding:.4rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lift);z-index:120}.nav-more-menu .app-nav-link{display:flex;width:100%}.nav-more-menu .app-nav-link.active:after{display:none}.nav-more-menu .app-nav-link.active{background:var(--accent-soft);color:var(--accent-strong)}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;color:var(--ink);border-radius:8px}.menu-toggle:hover{background:rgb(var(--ink-rgb) / .05)}.menu-toggle-icon{display:block;width:20px;height:2px;background:currentColor;position:relative;border-radius:1px}.menu-toggle-icon:before,.menu-toggle-icon:after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;border-radius:1px}.menu-toggle-icon:before{top:-6px}.menu-toggle-icon:after{top:6px}.nav-overlay{position:fixed;inset:0;background:rgb(var(--backdrop-rgb) / .35);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s ease}.nav-overlay.is-open{opacity:1;pointer-events:auto}.nav-drawer{position:fixed;top:0;left:0;bottom:0;width:min(300px,88vw);z-index:210;background:var(--surface-elevated);border-right:1px solid var(--border);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.25rem;transform:translate(-100%);transition:transform .22s ease;overflow-y:auto}.nav-drawer.is-open{transform:translate(0)}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:0 .35rem}.nav-drawer-link{display:flex;align-items:center;min-height:44px;padding:.65rem .85rem;font-size:.95rem;font-weight:500;color:var(--ink);border-radius:8px;transition:background .15s ease}.nav-drawer-link:hover{background:rgb(var(--ink-rgb) / .04);color:var(--ink)}.nav-drawer-link.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.nav-drawer-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}.dialog-backdrop{position:fixed;inset:0;z-index:320;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgb(var(--backdrop-rgb) / .38)}.dialog-panel{width:min(520px,100%);max-height:min(680px,92vh);overflow-y:auto;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lift);padding:1.5rem}.print-scope-list{display:grid;gap:.75rem}.print-scope-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;text-align:left}.print-page{max-width:960px;margin:0 auto}.print-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.print-sheet{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:2rem}.print-question-block{break-inside:avoid;padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}.print-question-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.print-question-block h2{font-size:1.05rem;font-weight:700;margin-bottom:.75rem}.print-answer,.print-explanation{color:var(--ink)}.print-explanation{margin-top:1rem}.print-explanation h3{font-size:.95rem;margin-bottom:.35rem}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--surface-elevated);border-right:1px solid var(--border);padding:1.5rem .85rem;display:flex;flex-direction:column;gap:.2rem}.admin-brand{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--ink);margin:0 .5rem 1.25rem;letter-spacing:-.02em}.admin-nav-link{display:flex;align-items:center;min-height:40px;padding:.55rem .85rem;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--muted);transition:background .15s ease,color .15s ease;position:relative}.admin-nav-link:hover{background:rgb(var(--ink-rgb) / .04);color:var(--ink)}.admin-nav-link.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.admin-nav-link.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--accent);border-radius:0 2px 2px 0}.admin-sidebar-footer{margin-top:auto;padding:1rem .5rem 0;border-top:1px solid var(--border)}.admin-main{flex:1;min-width:0;padding:1.5rem}.admin-topbar{display:none;position:sticky;top:0;z-index:100;height:var(--nav-height);align-items:center;justify-content:space-between;padding:0 1rem;background:var(--glass);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.flashcard{max-width:800px;margin:0 auto}.flashcard-question{font-family:var(--font-display);font-size:1.35rem;font-weight:600;line-height:1.4;margin-bottom:1.25rem;color:var(--ink)}.flashcard-reveal{width:100%;padding:.85rem 1.1rem;font-size:.95rem;font-weight:600}.flashcard-answer{border-top:1px solid var(--border);padding-top:1.15rem;margin-top:.25rem}.flashcard-nav{display:flex;gap:.75rem;margin-bottom:1rem;align-items:center;justify-content:center}.learn-start-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.learn-start-links{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}.learn-start-link{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.65rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.learn-start-link:hover,.learn-start-link.is-active{border-color:var(--accent);box-shadow:var(--shadow)}.learn-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.learn-tab{background:transparent;color:var(--muted);padding:.5rem .85rem;border-radius:8px;font-weight:500}.learn-tab:hover{background:var(--accent-soft);color:var(--ink)}.learn-tab.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.company-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.chip-btn{padding:.35rem .75rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--ink);font-size:.8rem;font-weight:500}.chip-btn:hover{border-color:var(--border-strong)}.chip-btn.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.learn-shell{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1rem;align-items:start}.learn-sidebar{position:sticky;top:calc(var(--nav-height) + .85rem);max-height:calc(100vh - var(--nav-height) - 1.35rem);overflow-y:auto;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.learn-sidebar-panel{padding:.85rem}.learn-sidebar-title{font-size:.95rem;font-weight:700;margin-bottom:.65rem}.learn-sidebar-search{margin-bottom:.55rem;font-size:.82rem;padding:.45rem .6rem}.learn-sidebar-group{display:flex;flex-direction:column;gap:.2rem}.learn-sidebar-section{display:flex;flex-direction:column;gap:.25rem}.learn-sidebar-section-title{color:var(--muted);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.5rem .6rem .15rem}.learn-sidebar-sublist{display:flex;flex-direction:column;gap:.15rem}.learn-sidebar-role-block{display:flex;flex-direction:column;gap:.2rem}.learn-sidebar-topic-list{display:flex;flex-direction:column;gap:.15rem;margin-left:.85rem;padding-left:.55rem;border-left:1px solid var(--border)}.learn-sidebar-toggle{display:flex;align-items:center;justify-content:space-between;gap:.4rem;width:100%;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:8px;padding:.4rem .6rem;font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.learn-sidebar-toggle:hover{background:rgb(var(--ink-rgb) / .04)}.learn-sidebar-toggle-meta{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted)}.learn-sidebar-caret{width:.8rem;text-align:center;color:var(--muted);font-size:.7rem}.learn-sidebar-link{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:38px;border:1px solid transparent;border-radius:8px;padding:.45rem .6rem;color:var(--muted);text-align:left;background:transparent;font-size:.85rem;font-weight:500}.learn-sidebar-link:hover{color:var(--ink);background:rgb(var(--ink-rgb) / .04)}.learn-sidebar-link.active{color:var(--accent-strong);background:var(--accent-soft);border-color:rgb(var(--accent-rgb) / .28);font-weight:600}.learn-sidebar-lesson{min-height:34px;font-size:.82rem}.learn-sidebar-topic{min-height:34px;font-size:.81rem}.learn-sidebar-more{color:var(--accent);font-weight:600;justify-content:flex-start}.learn-sidebar-count{border-radius:999px;min-width:1.5rem;padding:.12rem .45rem;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:.73rem;font-weight:600;line-height:1.3;text-align:center}.learn-sidebar-dot{width:9px;height:9px;border-radius:999px;border:1px solid var(--border-strong);background:transparent;flex-shrink:0}.learn-sidebar-dot.done{background:var(--success);border-color:var(--success)}.learn-main{min-width:0}.learn-mobile-nav{display:none;margin-bottom:.85rem}.learn-drawer{position:fixed;top:0;left:0;bottom:0;width:min(320px,88vw);z-index:240;background:var(--surface-elevated);border-right:1px solid var(--border);transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow-lift);display:flex;flex-direction:column}.learn-drawer.is-open{transform:translate(0)}.learn-drawer-content{overflow-y:auto;padding-bottom:.8rem}.faq-question{display:flex;width:100%;justify-content:space-between;align-items:flex-start;gap:1rem;background:transparent;padding:0;text-align:left;color:inherit}.disclaimer-banner{background:var(--callout-bg);border-color:var(--callout-border);font-size:.875rem;line-height:1.5}body.cmdk-open{overflow:hidden}.cmdk-overlay{position:fixed;inset:0;z-index:400;background:rgb(var(--backdrop-rgb) / .45);display:flex;align-items:flex-start;justify-content:center;padding:12vh 1rem 2rem}.cmdk-sheet{width:min(560px,100%);max-height:min(70vh,640px);background:var(--surface-elevated);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-lift);display:flex;flex-direction:column;overflow:hidden}.cmdk-header{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--border)}.cmdk-input{flex:1;border:none!important;box-shadow:none!important;font-size:1rem;padding:.5rem .35rem;background:transparent}.cmdk-input:focus{outline:none}.cmdk-close{flex-shrink:0;padding:.35rem .65rem;font-size:.75rem}.cmdk-results{overflow-y:auto;padding:.5rem}.cmdk-group{margin-bottom:.65rem}.cmdk-group-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.35rem .65rem}.cmdk-item{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;text-align:left;background:transparent;padding:.55rem .65rem;border-radius:8px;color:var(--ink)}.cmdk-item:hover,.cmdk-item.is-active{background:var(--accent-soft)}.cmdk-item-title{font-weight:500;font-size:.9rem}.cmdk-item-sub{font-size:.8rem}.cmdk-empty{padding:1.5rem .75rem;text-align:center}.search-trigger{display:inline-flex;align-items:center;gap:.5rem}.search-kbd{font-family:var(--font-body);font-size:.7rem;padding:.1rem .35rem;border-radius:4px;border:1px solid var(--border);background:var(--surface);color:var(--muted)}@media (max-width: 767px){.cmdk-overlay{padding:0;align-items:stretch}.cmdk-sheet{width:100%;max-height:none;height:100%;border-radius:0;border:none}.search-trigger{flex-shrink:0}}.hide-md-up{display:inline-flex}.show-md-up{display:none}@media (min-width: 768px){.hide-md-up{display:none!important}.show-md-up,.app-nav-desktop{display:flex}.filters-row>select,.filters-row>input{max-width:220px;width:auto}}@media (max-width: 767px){.print-actions{flex-direction:column}.print-actions .flex{width:100%;flex-wrap:wrap}.print-scope-option{align-items:flex-start;flex-direction:column}.filters-row{flex-direction:column;align-items:stretch}.filters-row>select,.filters-row>input,.filters-row>label{width:100%}.admin-shell{flex-direction:column}.admin-topbar{display:flex}.admin-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:210;transform:translate(-100%);transition:transform .22s ease;overflow-y:auto;box-shadow:var(--shadow-lift)}.admin-sidebar.is-open{transform:translate(0)}.admin-main{padding:1.25rem 1rem 2rem}.flashcard-question{font-size:1.15rem}.form-grid-2,.learn-layout{grid-template-columns:1fr!important}.learn-shell{grid-template-columns:1fr}.learn-sidebar{display:none}.learn-mobile-nav{display:block}}@media print{body{background:#fff!important;color:#111!important}.app-header,.nav-overlay,.nav-drawer,.print-actions{display:none!important}.app-shell,.app-main,.print-page{display:block!important;max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.print-sheet{border:none!important;border-radius:0!important;padding:0!important;background:#fff!important}.print-question-block{page-break-inside:avoid;break-inside:avoid;border-color:#d8d8d8!important}.print-question-block h2{color:#111!important;font-weight:700!important}.print-answer,.print-explanation,.markdown-content{color:#111!important;font-size:11pt}}@media (max-width: 900px){.monitor-detail-layout{grid-template-columns:1fr!important}}.quiz-shell{max-width:760px;margin:0 auto}.quiz-start h1{margin-top:.25rem}.quiz-start-heading{font-size:1rem;margin:1.25rem 0 .6rem}.quiz-length-options{display:flex;flex-wrap:wrap;gap:.6rem}.quiz-length-btn{padding:.75rem 1.1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--ink);font-weight:600;transition:border-color .15s ease,box-shadow .15s ease}.quiz-length-btn:hover,.quiz-length-btn:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-lift)}.quiz-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.75rem}.quiz-progress{height:8px;border-radius:999px;background:var(--border);overflow:hidden}.quiz-progress-sm{height:6px}.quiz-progress-fill{height:100%;background:var(--accent);border-radius:inherit;transition:width .2s ease}.quiz-progress-fill.is-pass{background:var(--success)}.quiz-dots{display:flex;flex-wrap:wrap;gap:.35rem;margin:.85rem 0 1rem}.quiz-dot{min-width:2rem;height:2rem;padding:0 .4rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-elevated);color:var(--muted);font-size:.8rem;font-weight:600}.quiz-dot.is-answered{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent)}.quiz-dot.is-current{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring);color:var(--ink)}.quiz-question-card{margin-bottom:1rem}.quiz-fieldset{border:0;min-width:0}.quiz-question-text{font-size:1.05rem;font-weight:600;margin:.35rem 0 1rem;width:100%}.quiz-question-text .markdown-body p,.quiz-choice-text .markdown-body p{margin:0}.quiz-choices{display:grid;gap:.6rem}.quiz-choice{display:flex;align-items:flex-start;gap:.75rem;padding:.8rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color .15s ease,background .15s ease}.quiz-choice:hover{border-color:var(--border-strong)}.quiz-choice.is-selected{border-color:var(--accent);background:var(--accent-soft)}.quiz-choice input{position:absolute;opacity:0;width:1px;height:1px}.quiz-choice:has(input:focus-visible){box-shadow:0 0 0 3px var(--focus-ring)}.quiz-choice-letter{flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-elevated);border:1px solid var(--border);font-size:.8rem;font-weight:700;color:var(--muted)}.quiz-choice.is-selected .quiz-choice-letter{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.quiz-choice-text{flex:1;min-width:0;overflow-wrap:anywhere}.quiz-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin:1rem 0}.quiz-hint{text-align:right}.quiz-error{color:var(--danger)}.quiz-score{display:flex;align-items:center;gap:1.25rem;margin-top:.5rem;border-left:5px solid var(--danger)}.quiz-score.is-pass{border-left-color:var(--success)}.quiz-score-value{font-family:var(--font-display);font-size:2.6rem;font-weight:700;line-height:1;color:var(--danger)}.quiz-score.is-pass .quiz-score-value{color:var(--success)}.quiz-review-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:1.5rem 0 .75rem}.quiz-review-item{margin-bottom:.85rem;border-left:4px solid var(--danger)}.quiz-review-item.is-correct{border-left-color:var(--success)}.quiz-review-title{display:flex;align-items:center;gap:.6rem}.quiz-review-choices{list-style:none;display:grid;gap:.4rem;margin-bottom:.75rem}.quiz-review-choice{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.quiz-review-choice.is-correct{border-color:var(--success);background:var(--review-correct-bg);color:var(--review-correct-ink)}.quiz-review-choice.is-wrong{border-color:var(--danger);background:var(--review-wrong-bg);color:var(--review-wrong-ink)}.quiz-your-answer{white-space:nowrap;align-self:center}.quiz-explanation{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem .9rem;margin-bottom:.6rem}.quiz-card{display:flex;flex-direction:column}.quiz-card>.btn-primary{align-self:flex-start;margin-top:auto}@media (max-width: 767px){.quiz-header{flex-direction:column;align-items:flex-start}.quiz-nav>*{flex:1 1 auto;text-align:center}.quiz-score{flex-direction:column;align-items:flex-start}}.shell{--shell-sidebar: 248px;min-height:100vh;display:grid;grid-template-columns:var(--shell-sidebar) minmax(0,1fr)}.shell.is-collapsed{--shell-sidebar: 68px}.shell-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--surface-elevated);border-right:1px solid var(--border);z-index:110}.shell-brand-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;height:var(--nav-height);padding:0 .75rem 0 1rem;flex-shrink:0}.shell.is-collapsed .shell-brand-row{flex-direction:column;justify-content:center;height:auto;padding:.75rem .5rem}.shell-brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--ink);letter-spacing:-.02em}.shell-brand:hover{color:var(--ink)}.shell-logo{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:linear-gradient(145deg,rgb(var(--glow)) 0%,var(--accent-strong) 100%);box-shadow:inset 0 1px #ffffff40,0 1px 2px rgb(var(--accent-rgb) / .35);color:#fff;font-size:1rem}.shell-logo svg{width:17px;height:17px}.shell-sidebar-scroll{flex:1;overflow-y:auto;padding:.25rem .6rem 1rem}.shell-sidebar-footer{border-top:1px solid var(--border);padding:.6rem}.shell-user{display:flex;align-items:center;gap:.6rem;padding:.4rem;border-radius:10px;color:var(--ink)}.shell-user:hover{background:rgb(var(--ink-rgb) / .05);color:var(--ink)}.shell-user-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.shell-user-text strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-user-text span{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--warning)}.shell-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:700;font-size:.9rem}.shell-avatar-btn{padding:0;border:1px solid var(--border)}.shell-body{min-width:0;display:flex;flex-direction:column}.shell-topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:.75rem;height:var(--nav-height);padding:0 1.5rem;background:var(--glass);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.shell-topbar-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}.shell-topbar .shell-menu-btn{display:none}.search-pill{display:inline-flex;align-items:center;gap:.5rem;width:min(360px,100%);padding:.45rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-weight:500}.search-pill:hover{border-color:var(--border-strong)}.search-pill kbd{margin-left:auto;font-family:inherit;font-size:.72rem;padding:.05rem .4rem;border-radius:6px;border:1px solid var(--border);color:var(--muted)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-width:32px;height:32px;padding:0 .45rem;border-radius:8px;background:transparent;color:var(--muted);font-size:.8rem;font-weight:500}.icon-btn:hover,.icon-btn.is-active{background:rgb(var(--ink-rgb) / .06);color:var(--ink)}.topbar-btn{height:36px;min-width:36px}.shell-user-menu{min-width:220px}.shell-user-menu-head{display:flex;flex-direction:column;padding:.4rem .65rem .55rem;border-bottom:1px solid var(--border);margin-bottom:.3rem}.shell-logout{border:0;text-align:left}.shell-main{width:100%;max-width:1440px;margin:0 auto;padding:1.5rem 2rem 6rem}.shell-drawer{position:fixed;top:0;bottom:0;left:0;width:min(300px,86vw);display:flex;flex-direction:column;background:var(--surface-elevated);border-right:1px solid var(--border);z-index:210;transform:translate(-100%);transition:transform .2s ease;visibility:hidden}.shell-drawer.is-open{transform:translate(0);visibility:visible}.side-nav{display:flex;flex-direction:column;gap:.1rem}.side-link,.side-group-toggle{display:flex;align-items:center;gap:.6rem;width:100%;min-height:36px;padding:.4rem .6rem;border-radius:8px;background:transparent;color:var(--ink);font-size:.875rem;font-weight:500;text-align:left}.side-link:hover,.side-group-toggle:hover{background:rgb(var(--ink-rgb) / .05);color:var(--ink)}.side-link.is-active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.side-group{margin-top:.35rem}.side-group-toggle{font-weight:600}.side-caret{margin-left:auto;color:var(--muted)}.side-icon{flex-shrink:0;color:inherit}.side-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-group-items{margin-left:1.1rem;padding-left:.55rem;border-left:1px solid var(--border)}.side-item-row{display:flex;align-items:center}.side-item-row>.side-link{flex:1;min-width:0}.side-link[data-depth="1"]{color:var(--muted)}.side-link[data-depth="1"].is-active{color:var(--accent-strong)}.side-expand{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:6px;background:transparent;color:var(--muted)}.side-expand:hover{background:rgb(var(--ink-rgb) / .06)}.side-children{margin:.1rem 0 .35rem .6rem;padding-left:.5rem;border-left:1px dashed var(--border)}.side-child{min-height:30px;padding:.25rem .5rem;font-size:.8rem;color:var(--muted)}.side-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.3rem .5rem;background:transparent;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:left;gap:.5rem}.side-count,.side-badge{flex-shrink:0;font-size:.7rem;padding:.05rem .4rem;border-radius:999px;background:rgb(var(--ink-rgb) / .06);color:var(--muted)}.side-badge{background:var(--accent);color:var(--accent-ink)}.side-empty{padding:.3rem .5rem;font-size:.8rem;color:var(--muted)}.side-divider{height:1px;margin:.6rem .4rem;background:var(--border)}.shell.is-collapsed .side-link{justify-content:center;padding:.5rem}@media (max-width: 1023px){.shell{grid-template-columns:minmax(0,1fr)}.shell-sidebar{display:none}.shell-topbar .shell-menu-btn{display:inline-flex}.shell-topbar{padding:0 .75rem}.shell-main{padding:1rem 1rem 6rem}}.dash{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start}.dash-main{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.dash-hero{border-radius:16px;padding:1.75rem 2rem;color:#fff;background:linear-gradient(120deg,var(--hero-from) 0%,var(--hero-to) 100%);box-shadow:var(--shadow-lift)}.dash-hero h1{color:#fff;font-size:2rem}.dash-hero p{margin-top:.35rem;opacity:.92}.dash-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.dash-action{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-elevated);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.dash-action:hover{color:var(--ink);border-color:var(--accent);box-shadow:var(--shadow-lift)}.dash-action>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}.dash-action strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.dash-action-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:#1f8a7a;color:#fff;flex-shrink:0}.dash-section-title{font-size:1.2rem;margin-bottom:.75rem}.dash-continue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem}.dash-continue-card{display:flex;flex-direction:column;gap:.3rem;padding:1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-elevated);color:var(--ink);min-height:140px}.dash-continue-card:hover{color:var(--ink);border-color:var(--accent);box-shadow:var(--shadow-lift)}.dash-kind{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong)}.dash-continue-title{line-height:1.35}.dash-continue-progress{display:flex;align-items:center;gap:.5rem}.dash-continue-progress .dash-bar{flex:1}.dash-continue-time{margin-top:auto;font-size:.75rem;color:var(--muted)}.dash-bar{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.dash-bar-fill{height:100%;border-radius:inherit;background:var(--accent)}.dash-bar-fill.is-success{background:var(--success)}.dash-checklist{display:grid;gap:.75rem}.dash-check-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem}.dash-check-head h3{font-size:1rem;margin-right:auto}.dash-check-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) auto;align-items:center;gap:.75rem;padding:.4rem .25rem;border-radius:8px;color:var(--ink)}a.dash-check-row:hover{background:rgb(var(--ink-rgb) / .04);color:var(--ink)}.dash-check-label{font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-rail{display:flex;flex-direction:column;gap:1rem;position:sticky;top:calc(var(--nav-height) + 1rem)}.dash-profile-head{display:flex;align-items:center;gap:.7rem}.dash-profile-head>span:last-child{display:flex;flex-direction:column;min-width:0}.dash-avatar{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:700;font-size:1.1rem}.dash-streak-head{display:flex;justify-content:space-between;align-items:baseline;margin-top:1rem;font-size:.875rem;font-weight:600}.dash-streak-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-top:.5rem}.dash-streak-day{display:flex;flex-direction:column;align-items:center;gap:.2rem;font-size:.68rem;color:var(--muted)}.dash-streak-dot{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.dash-streak-day.is-active .dash-streak-dot{border-color:var(--warning);background:var(--warning-soft);color:var(--warning)}.dash-streak-day.is-today{color:var(--ink);font-weight:700}.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border);text-align:center}.dash-stats strong{display:block;font-size:1.3rem;font-family:var(--font-display)}.dash-stats span{font-size:.72rem;color:var(--muted)}.dash-rail-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.dash-rail-head h3{font-size:1rem}.dash-rail-list{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:.4rem}.dash-rail-list li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.875rem}.dash-rail-list li>:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-link-btn{padding:0;background:transparent;color:var(--accent);text-align:left;font-size:.875rem}.dash-new-list{list-style:none;display:grid;gap:.5rem}.dash-new-list a{display:flex;flex-direction:column;padding:.6rem .7rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.dash-new-list a:hover{border-color:var(--accent);color:var(--ink)}@media (max-width: 1100px){.dash{grid-template-columns:minmax(0,1fr)}.dash-rail{position:static}}@media (max-width: 640px){.dash-hero{padding:1.25rem}.dash-hero h1{font-size:1.5rem}.dash-check-row{grid-template-columns:minmax(0,1fr) auto}.dash-check-row .dash-bar{grid-column:1 / -1;grid-row:2}}.notepad-tabs{display:flex;gap:.25rem;padding:.2rem;border-radius:10px;background:var(--surface)}.notepad-tabs button{flex:1;padding:.35rem;border-radius:8px;background:transparent;color:var(--muted);font-size:.8rem}.notepad-tabs button.is-active{background:var(--surface-elevated);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}.notepad-new{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.notepad-list{list-style:none;display:grid;gap:.3rem}.notepad-list button{display:flex;flex-direction:column;width:100%;padding:.5rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink);text-align:left}.notepad-list button:hover{border-color:var(--border-strong)}.notepad-item-title{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notepad-item-meta{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notepad-back{align-self:flex-start;padding:.2rem .3rem;background:transparent;color:var(--accent);font-size:.8rem}.notepad-source{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notepad-empty{text-align:center;padding:1rem 0}.notepad-error{color:var(--danger)}.note-editor{flex:1;display:flex;flex-direction:column;gap:.5rem;min-height:0}.note-title-input{font-weight:600;font-size:1rem}.note-body-input,.note-preview{flex:1;min-height:260px;width:100%;resize:none;font-family:var(--font-body);font-size:.9rem;line-height:1.55}.note-editor.is-compact .note-body-input,.note-editor.is-compact .note-preview{min-height:150px}.note-preview{overflow-y:auto;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.note-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.note-status{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--muted)}.note-status.is-error{color:var(--danger)}.note-actions{display:flex;gap:.15rem}.notes-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:1rem;align-items:start}.notes-list-card{position:sticky;top:calc(var(--nav-height) + 1rem);max-height:calc(100vh - var(--nav-height) - 2rem);overflow-y:auto}.notes-list{list-style:none;display:grid;gap:.3rem;margin-top:.75rem}.notes-list-item{display:flex;flex-direction:column;width:100%;padding:.55rem .65rem;border-radius:8px;background:transparent;color:var(--ink);text-align:left}.notes-list-item:hover{background:rgb(var(--ink-rgb) / .05)}.notes-list-item.is-active{background:var(--accent-soft)}.notes-list-title{font-weight:600;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-list-meta{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-editor-card{min-height:60vh;display:flex;flex-direction:column;gap:.5rem}.notes-source{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem}kbd{font-family:inherit;font-size:.75em;padding:.05rem .35rem;border-radius:5px;border:1px solid var(--border);background:var(--surface)}@media (max-width: 900px){.notes-layout{grid-template-columns:minmax(0,1fr)}.notes-list-card{position:static;max-height:none}}@media print{.shell-sidebar,.shell-topbar{display:none!important}.shell{display:block}}.role-focus-back{align-self:flex-start;padding:.25rem .4rem;margin-bottom:.5rem;background:transparent;color:var(--accent);font-size:.85rem;font-weight:600}.role-focus-card{padding:.85rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);margin-bottom:.9rem}.role-focus-parent{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.role-focus-title{font-size:1.25rem;margin:.1rem 0 .6rem}.role-focus-progress{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted)}.role-focus-bar{flex:1;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.role-focus-bar-fill{height:100%;border-radius:inherit;background:var(--success)}.role-focus-heading{margin:.4rem 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.role-focus-filters{display:grid;gap:.15rem;margin-bottom:.75rem}.role-focus-icon{display:inline-block;width:1.1rem;text-align:center}.role-focus-topics{margin-top:.4rem}.badge-mfaq{background:var(--warning-soft);color:var(--warning-ink);border-color:transparent;font-weight:700}.asked-btn{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-elevated);color:var(--muted);font-size:.78rem;font-weight:600}.asked-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--ink)}.asked-btn.is-active{border-color:var(--warning);background:var(--warning-soft);color:var(--warning-ink)}.asked-count{padding:0 .4rem;border-radius:999px;background:rgb(var(--ink-rgb) / .08);font-size:.7rem}.notedock-dock{position:fixed;right:1.25rem;bottom:0;z-index:150;display:flex;align-items:flex-end;gap:.5rem}.notedock-bar{display:inline-flex;align-items:center;gap:.5rem;min-width:260px;padding:.6rem .95rem;border:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0;background:var(--surface-elevated);color:var(--ink);box-shadow:0 -6px 24px rgb(var(--backdrop-rgb) / .14)}.notedock-bar:hover{border-color:var(--accent)}.notedock-count{font-size:.75rem;color:var(--muted);font-weight:500}.notedock-chevron{margin-left:auto;color:var(--muted)}.notedock-panel{position:fixed;right:1.25rem;bottom:0;z-index:160;display:flex;flex-direction:column;width:420px;height:min(560px,calc(100vh - var(--nav-height) - 1rem));background:var(--surface-elevated);border:1px solid var(--border);border-bottom:0;border-radius:14px 14px 0 0;box-shadow:0 -10px 40px rgb(var(--backdrop-rgb) / .25)}.notedock-panel.is-maximized{width:min(760px,calc(100vw - 2.5rem));height:calc(100vh - var(--nav-height) - 1rem)}.notedock-header{display:flex;align-items:center;gap:.25rem;padding:.4rem .5rem .4rem .4rem;border-bottom:1px solid var(--border);background:var(--surface);border-radius:14px 14px 0 0}.notedock-title{display:inline-flex;align-items:center;gap:.5rem;flex:1;min-width:0;padding:.3rem .5rem;background:transparent;color:var(--ink);text-align:left}.notedock-actions{display:flex;gap:.1rem}.notedock-maximize{font-size:1rem}.notedock-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:.5rem;padding:.65rem .75rem .75rem;overflow-y:auto}.selection-to-note{position:fixed;z-index:170;display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border-radius:999px;background:var(--ink);color:var(--surface-elevated);font-size:.8rem;font-weight:600;box-shadow:var(--shadow-lift)}.rte-toolbar{display:flex;flex-wrap:wrap;gap:.15rem;padding:.25rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.rte-btn{min-width:28px;height:28px;padding:0 .35rem;border-radius:6px;background:transparent;color:var(--ink);font-size:.8rem;font-weight:600;line-height:1}.rte-btn:hover:not(:disabled){background:rgb(var(--ink-rgb) / .08)}.rte-btn.is-active{background:var(--accent-soft);color:var(--accent-strong)}.rte-sep{width:1px;margin:.2rem .15rem;background:var(--border)}.rte-content{flex:1;min-height:0;display:flex;flex-direction:column}.rte-content .tiptap{flex:1;min-height:260px;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-elevated);color:var(--ink);font-size:.92rem;line-height:1.6;font-weight:400;overflow-y:auto;outline:none}.note-editor.is-compact .rte-content .tiptap{min-height:160px}.rte-content .tiptap:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.tiptap>*+*{margin-top:.5em}.tiptap h2{font-size:1.2rem}.tiptap h3{font-size:1.05rem}.tiptap ul,.tiptap ol{padding-left:1.4rem}.tiptap blockquote{border-left:3px solid var(--accent);padding:.2rem 0 .2rem .75rem;color:var(--muted)}.tiptap code{padding:.05rem .3rem;border-radius:4px;background:rgb(var(--ink-rgb) / .08);font-size:.85em}.tiptap pre{padding:.6rem .75rem;border-radius:8px;background:#0f172a;color:#e2e8f0;overflow-x:auto}.tiptap pre code{background:none;padding:0;color:inherit}.tiptap mark{background:var(--highlight);color:inherit;padding:0 .1rem;border-radius:3px}.tiptap a{color:var(--accent);text-decoration:underline}.tiptap ul[data-type=taskList]{list-style:none;padding-left:.2rem}.tiptap ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:.5rem}.tiptap ul[data-type=taskList] li>label{margin-top:.2rem}.tiptap ul[data-type=taskList] li>div{flex:1}.tiptap ul[data-type=taskList] li[data-checked=true]>div{color:var(--muted);text-decoration:line-through}.tiptap ul[data-type=taskList] input[type=checkbox]{width:auto;accent-color:var(--accent)}.tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--muted);pointer-events:none}@media (max-width: 640px){.notedock-dock{left:0;right:0;gap:0}.notedock-bar{flex:1;min-width:0;border-radius:12px 12px 0 0}.reading-prefs-btn{border-radius:12px 12px 0 0}.notedock-panel,.notedock-panel.is-maximized{left:0;right:0;width:auto;height:75vh}.notedock-maximize{display:none}}@media print{.notedock-bar,.notedock-panel,.selection-to-note{display:none!important}}.recipe-grid,.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.recipe-card,.topic-card{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-elevated);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.recipe-card:hover,.topic-card:hover{color:var(--ink);border-color:var(--accent);box-shadow:var(--shadow-lift)}.recipe-meta,.recipe-tags{display:flex;flex-wrap:wrap;gap:.3rem}.recipe-title{line-height:1.35}.recipe-problem{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.recipe-level{text-transform:capitalize}.recipe-level.is-beginner{background:var(--success-soft);color:var(--success-ink)}.recipe-level.is-intermediate{background:var(--warning-soft);color:var(--warning-ink)}.recipe-level.is-advanced{background:var(--danger-soft);color:var(--danger-ink)}.recipe-layout,.topic-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.25rem;align-items:start}.recipe-problem-lead{margin-top:.4rem;font-size:1.05rem;color:var(--muted)}.recipe-rail,.topic-rail{display:flex;flex-direction:column;gap:1rem;position:sticky;top:calc(var(--nav-height) + 1rem)}.topic-icon{display:inline-grid;place-items:center;min-width:2.4rem;height:2.4rem;padding:0 .45rem;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-display);font-weight:700;font-size:.92rem;align-self:flex-start}.topic-stats{display:flex;flex-wrap:wrap;gap:.3rem .75rem;margin-top:auto;font-size:.75rem;color:var(--muted)}.topic-hero{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.topic-hero-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-display);font-weight:700;font-size:1.15rem}.topic-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin-bottom:1.25rem}.topic-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.topic-questions{padding-left:1.25rem;display:grid;gap:.45rem}.topic-stack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}.topic-stack-card{display:flex;flex-direction:column;gap:.35rem;padding:.75rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.topic-stack-card:hover{color:var(--ink);border-color:var(--accent)}.course-group{margin-bottom:1.75rem}.course-group-title{font-size:1.15rem;margin-bottom:.75rem}.course-card{display:flex;flex-direction:column;gap:.45rem}.course-card .dash-continue-progress{margin-top:.25rem}@media (max-width: 1100px){.recipe-layout,.topic-layout{grid-template-columns:minmax(0,1fr)}.recipe-rail,.topic-rail{position:static}}.inline-code{font-family:var(--font-mono);font-size:.9em;padding:.05em .32em;border-radius:5px;background:rgb(var(--ink-rgb) / .07)}.table-scroll{overflow-x:auto;margin-bottom:.9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-elevated)}.table-scroll table{width:100%;min-width:520px;margin:0;border:none;border-collapse:separate;border-spacing:0;font-size:.9rem}.table-scroll th,.table-scroll td{text-align:left;vertical-align:top;padding:.6rem .75rem;border-bottom:1px solid var(--border)}.table-scroll tr:last-child td{border-bottom:none}.table-scroll th:first-child,.table-scroll td:first-child{position:sticky;left:0;z-index:1;background:var(--surface-elevated);border-right:1px solid var(--border);font-weight:600;min-width:9rem}.table-scroll thead th,.table-scroll thead th:first-child{background:var(--surface)}.code-tabs{margin-bottom:.9rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface-subtle)}.code-tabs-list{display:flex;gap:.15rem;overflow-x:auto;padding:.3rem .4rem 0;border-bottom:1px solid var(--border);background:var(--surface)}.code-tab{flex:none;padding:.4rem .75rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer}.code-tab:hover{color:var(--text)}.code-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.code-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.code-tabs-panel{overflow-x:auto}.code-tabs:has(.tryit){margin:1.2rem 0}.code-tabs-panel>.tryit{margin:0;border:none;border-radius:0}.compare-table th[scope=row]{color:var(--ink);font-size:.875rem;text-transform:none;letter-spacing:0}.compare-table thead th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.decision-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.decision-option h2{font-size:1.05rem;margin-bottom:.4rem}.decision-option ul{padding-left:1.1rem;font-size:.9rem}.decision-option li+li{margin-top:.2rem}.decision-label{margin:.75rem 0 .3rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.decision-label.is-choose{color:var(--success, #16a34a)}.decision-label.is-avoid{color:var(--accent-strong)}.path-progress{display:block;width:100%;height:6px;border-radius:999px;background:rgb(var(--ink-rgb) / .08);overflow:hidden}.path-progress>span{display:block;height:100%;background:var(--accent);border-radius:inherit}.path-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.path-summary>div{flex:1 1 220px}.path-steps{list-style:none;display:grid;gap:.6rem;padding:0}.path-step{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.75rem;align-items:start}.path-step-marker{display:grid;place-items:center;width:2rem;height:2rem;margin-top:.75rem;border-radius:50%;font-size:.85rem;font-weight:700;background:rgb(var(--ink-rgb) / .08);color:var(--muted)}.path-step.is-done .path-step-marker{background:var(--accent);color:var(--accent-ink)}.path-step.is-in_progress .path-step-marker{background:var(--accent-soft);color:var(--accent-strong)}.path-step-card{display:grid;gap:.4rem;margin:0}.path-step-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.path-step-title{font-weight:600;font-size:1rem}.path-status.is-done{color:var(--success, #16a34a)}.path-status.is-in_progress{color:var(--accent-strong)}.capstone-badge{background:var(--accent-soft);color:var(--accent-strong);margin-bottom:.35rem}.capstone-draft{display:grid;gap:.4rem;margin:.25rem 0 1rem}.capstone-draft textarea{width:100%;resize:vertical;min-height:7rem;font:inherit;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-elevated);color:var(--ink)}.capstone-draft-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.course-subgroup+.course-subgroup{margin-top:1rem}.course-subgroup-title{margin:.25rem 0 .6rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.streaming-md{position:relative}.streaming-controls{position:sticky;top:.5rem;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;width:fit-content;margin-bottom:.75rem;padding:.3rem .7rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-elevated);box-shadow:0 2px 8px rgb(var(--ink-rgb) / .08)}.streaming-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);animation:streaming-pulse 1s ease-in-out infinite}.streaming-link{padding:0;border:none;background:none;color:var(--accent-strong);font-size:.8rem;font-weight:600;cursor:pointer}.streaming-link:hover{text-decoration:underline}.streaming-cursor{display:inline-block;width:.55rem;height:1.1rem;margin-left:.1rem;vertical-align:text-bottom;background:var(--accent);animation:streaming-blink .9s steps(1) infinite}.is-streaming .markdown-body>:last-child{animation:streaming-fade .25s ease-out}@keyframes streaming-blink{50%{opacity:0}}@keyframes streaming-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@keyframes streaming-fade{0%{opacity:.4}to{opacity:1}}@media (prefers-reduced-motion: reduce){.streaming-cursor,.streaming-dot,.is-streaming .markdown-body>:last-child{animation:none}}.reading-prefs{position:relative}.reading-prefs-btn{display:grid;place-items:center;height:2.6rem;min-width:2.75rem;padding:0 .75rem;border:1px solid var(--border);border-bottom:0;border-radius:12px 12px 0 0;background:var(--surface-elevated);color:var(--ink);box-shadow:0 -6px 24px rgb(var(--backdrop-rgb) / .14)}.reading-prefs-btn:hover,.reading-prefs-btn[aria-expanded=true]{border-color:var(--accent);color:var(--accent-strong)}.reading-prefs-aa{font-weight:700;font-size:.95rem;letter-spacing:-.02em}.reading-prefs-panel{position:absolute;right:0;bottom:calc(100% + .5rem);z-index:170;display:grid;gap:.75rem;width:min(300px,calc(100vw - 1.5rem));padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-elevated);box-shadow:0 12px 32px rgb(var(--backdrop-rgb) / .18)}.reading-prefs.is-dock .reading-prefs-panel{right:auto;left:0}.reading-prefs.is-icon .reading-prefs-panel{bottom:auto;top:calc(100% + .4rem)}.reading-prefs-title{font-size:.85rem}.reading-pref{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.reading-pref>span{display:grid;gap:.1rem}.reading-pref label{font-weight:600;font-size:.875rem}.switch{position:relative;flex:none;width:2.4rem;height:1.35rem;padding:0;border:none;border-radius:999px;background:rgb(var(--ink-rgb) / .2);cursor:pointer;transition:background .15s ease}.switch.is-on{background:var(--accent)}.switch-thumb{position:absolute;top:.15rem;left:.15rem;width:1.05rem;height:1.05rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s ease}.switch.is-on .switch-thumb{transform:translate(1.05rem)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::highlight(sentence-focus){color:var(--ink);background-color:rgb(var(--accent-rgb) / .08);text-shadow:.35px 0 0 currentColor,-.15px 0 0 currentColor}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.section-title{font-size:1.05rem;margin:0 0 .6rem}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.chip-count{margin-left:.4rem;font-size:.72rem;opacity:.75}.toggle-inline{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;white-space:nowrap}.toggle-inline input{width:auto}.coding-langbar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.coding-overall{margin-left:auto}.coding-list-card{text-align:left;font:inherit;color:inherit;cursor:pointer}.pattern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem}.pattern-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-elevated);color:var(--ink);text-align:left}.pattern-tile:hover{border-color:var(--border-strong)}.pattern-tile.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.pattern-name{font-weight:600;font-size:.88rem}.coding-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.6rem}.coding-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem}.coding-filters input[type=search]{flex:1 1 220px}.coding-filters select{width:auto}.coding-table{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.coding-table li{border-bottom:1px solid var(--border)}.coding-row{display:grid;grid-template-columns:1.6rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.65rem .4rem;color:var(--ink);text-decoration:none}.coding-row:hover{background:rgb(var(--ink-rgb) / .03)}.coding-row-main{display:flex;flex-direction:column;min-width:0}.coding-row-title{font-weight:600}.coding-row-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-row-meta{display:flex;align-items:center;gap:.6rem}.coding-langs{font-size:.75rem;color:var(--muted);min-width:4rem;text-align:right}.coding-bookmark{color:var(--warning);margin-left:.35rem}.coding-status{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;border:1.5px solid var(--border);font-size:.75rem;font-weight:700}.coding-status.is-solved{background:var(--success);border-color:var(--success);color:#fff}.coding-status.is-attempted{border-color:var(--warning);color:var(--warning)}.badge.diff-easy{color:var(--success-ink);background:var(--success-soft);border-color:transparent}.badge.diff-medium{color:var(--warning-ink);background:var(--warning-soft);border-color:transparent}.badge.diff-hard{color:var(--danger-ink);background:var(--danger-soft);border-color:transparent}.freq-meter{display:inline-flex;gap:2px;align-items:flex-end}.freq-meter span{width:4px;height:10px;border-radius:2px;background:rgb(var(--ink-rgb) / .14)}.freq-meter span.on{background:var(--muted)}.freq-meter.is-frequent span.on{background:var(--accent)}.coding-problem-head{margin-bottom:.9rem}.coding-crumbs{display:flex;gap:.4rem;color:var(--muted)}.coding-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.coding-title-row h1{margin:.3rem 0;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.coding-title-actions{display:flex;gap:.4rem;align-items:center}.coding-title-actions .is-on{color:var(--warning)}.coding-solved-pill{font-size:.78rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;color:var(--success-ink);background:var(--success-soft)}.coding-badges{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.coding-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:1rem;align-items:start}.coding-left{position:sticky;top:calc(var(--nav-height) + .75rem);max-height:calc(100vh - var(--nav-height) - 1.5rem);overflow:auto}.coding-tabs,.coding-output-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:.8rem}.coding-tabs button,.coding-output-tabs button{background:transparent;border-radius:0;padding:.45rem .7rem;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.coding-tabs button.active,.coding-output-tabs button.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.coding-desc h3,.coding-solution h3,.coding-related h3{font-size:.95rem;margin:1rem 0 .4rem}.coding-example pre,.coding-signature{white-space:pre-wrap;word-break:break-word;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;font-size:.84rem;margin:.35rem 0 .8rem}.coding-hint{background:var(--accent-soft);border-radius:8px;padding:.55rem .7rem}.coding-asked{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}.coding-reveal{text-align:center;padding:2rem 1rem}.coding-complexity{display:flex;gap:1rem}.coding-related-list{padding-left:1.1rem}.coding-related-list li{margin-bottom:.35rem}.coding-editor-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;flex-wrap:wrap}.coding-editor-bar select{width:auto}.coding-editor-spacer{flex:1}.code-editor{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.coding-output{margin-top:.8rem;border-top:1px solid var(--border);padding-top:.7rem}.coding-output-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem}.coding-output-head .coding-output-tabs{margin:0 0 0 auto;border-bottom:none}.coding-running{display:flex;align-items:center;gap:.5rem;color:var(--muted)}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgb(var(--ink-rgb) / .15);border-top-color:var(--accent);animation:coding-spin .8s linear infinite}@keyframes coding-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2.4s}}.coding-console,.coding-error{white-space:pre-wrap;word-break:break-word;font-size:.82rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;max-height:260px;overflow:auto}.coding-error{color:var(--danger-ink);background:var(--danger-soft);border-color:transparent}.coding-cases{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.35rem}.coding-cases li{border:1px solid var(--border);border-radius:8px;padding:.45rem .65rem}.coding-cases li.is-pass summary>span:first-child{color:var(--success)}.coding-cases li.is-fail{border-color:#dc262659}.coding-cases li.is-fail summary>span:first-child{color:var(--danger)}.coding-cases summary{cursor:pointer;font-size:.88rem}.coding-case-detail{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.25rem .75rem;margin:.5rem 0 .2rem;font-size:.82rem}.coding-case-detail dt{color:var(--muted)}.coding-case-detail dd{margin:0;word-break:break-word}.coding-study-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}.coding-study details summary{cursor:pointer;font-weight:600;font-size:.88rem;margin:.4rem 0}.coding-study-runner{position:relative}.coding-study-runner>button{position:absolute;right:.4rem;top:.3rem;z-index:2}.coding-choices{border:none;padding:0;margin:.8rem 0 0;display:grid;gap:.4rem}.coding-choice{display:flex;align-items:center;gap:.6rem;border:1px solid var(--border);border-radius:8px;padding:.45rem .7rem;cursor:pointer}.coding-choice input{width:auto}.coding-choice pre{margin:0;white-space:pre-wrap;font-size:.85rem}.coding-choice.is-answer{border-color:var(--success);background:var(--success-soft)}.coding-choice.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.coding-verdict{border-radius:8px;padding:.7rem .85rem;margin-top:.6rem}.coding-verdict.is-pass{background:var(--success-soft)}.coding-verdict.is-fail{background:var(--danger-soft)}.coding-kind-note{border-left:3px solid var(--warning);background:var(--warning-soft);color:var(--warning-ink);border-radius:6px;padding:.55rem .75rem;margin:0 0 .7rem;font-size:.92rem}.coding-review-notes{display:grid;gap:.3rem;margin-top:.7rem}.coding-review-notes textarea{width:100%;font-family:var(--font-mono, ui-monospace, monospace);font-size:.85rem}.coding-issues{list-style:none;padding:0;margin:.8rem 0 0;display:grid;gap:.5rem}.coding-issue{border:1px solid var(--border);border-left-width:4px;border-radius:8px;padding:.55rem .75rem;min-width:0}.coding-issue.sev-critical{border-left-color:var(--danger)}.coding-issue.sev-major{border-left-color:var(--warning)}.coding-issue.sev-minor{border-left-color:var(--border)}.coding-issue-head{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;cursor:pointer}.coding-issue-head input{width:auto}.sev-badge.sev-critical{background:var(--danger-soft);color:var(--danger-ink)}.sev-badge.sev-major{background:var(--warning-soft);color:var(--warning-ink)}.review-issues{padding-left:1.2rem}.review-issues li{margin-bottom:.7rem}@media (max-width: 1100px){.coding-split{grid-template-columns:minmax(0,1fr)}.coding-left{position:static;max-height:none}}@media (max-width: 640px){.coding-row{grid-template-columns:1.4rem minmax(0,1fr)}.coding-row-meta{grid-column:2;flex-wrap:wrap}.coding-langs{text-align:left;min-width:0}.coding-overall{margin-left:0;width:100%}.coding-list-head{flex-direction:column}}.appearance{position:relative}.appearance-panel{position:absolute;top:calc(100% + .4rem);right:0;width:min(300px,calc(100vw - 2rem));padding:.75rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lift);z-index:130}.appearance-heading{margin:0 0 .4rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.appearance-heading:not(:first-child){margin-top:.8rem}.appearance-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;padding:.2rem;border-radius:9px;background:rgb(var(--ink-rgb) / .06)}.appearance-modes button{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.4rem .3rem;font-size:.8rem;background:transparent;color:var(--muted);border-radius:7px}.appearance-modes button.is-active{background:var(--surface-elevated);color:var(--ink);box-shadow:var(--shadow)}.appearance-note{margin:.5rem 0 0;font-size:.74rem;color:var(--muted)}.skip-link{position:absolute;left:-999px;top:.5rem;z-index:200;background:var(--surface-elevated);padding:.5rem .8rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-lift)}.skip-link:focus{left:.5rem}body.site{background:var(--bg-atmosphere)}.site-header{position:sticky;top:0;z-index:100;background:var(--glass);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--hairline)}.site-header-inner,.site-footer-inner,.site-main,.site-crumbs,.site-copy,.site-footer-bottom{width:min(1240px,100% - 2.5rem);margin-inline:auto}.site-header-inner{display:flex;align-items:center;gap:1.5rem;min-height:var(--site-header-h)}.site-logo{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:650;font-size:1.05rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none;flex:none}.site-logo:hover{color:var(--ink)}.site-logo-lockup{display:block;height:26px;width:auto;max-width:220px}.site-logo-mark{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:linear-gradient(145deg,rgb(var(--glow)) 0%,var(--accent-strong) 100%);box-shadow:inset 0 1px #ffffff40,0 1px 2px rgb(var(--accent-rgb) / .35),0 0 0 1px rgb(var(--ink-rgb) / .06);color:#fff;font-size:.85rem;font-weight:700}.site-logo-mark svg{width:17px;height:17px}.site-nav{display:flex;gap:.1rem;flex:1;overflow-x:auto;scrollbar-width:none}.site-nav a{position:relative;padding:.4rem .7rem;border-radius:var(--radius-sm);color:var(--muted);font-weight:500;font-size:.875rem;letter-spacing:-.006em;white-space:nowrap;transition:color .15s var(--ease)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}.site-nav a[aria-current=page]:after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:calc((var(--site-header-h) - 2.1rem) / -2);height:2px;border-radius:2px;background:var(--accent)}.site-actions{display:flex;align-items:center;gap:.35rem;flex:none}.site-auth{display:flex;align-items:center;gap:.35rem}.site-auth a,.site-hero-cta a,.lp-cta a,.site-cta-band a{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:var(--radius-sm);padding:0 .85rem;height:2.15rem;font-weight:550;font-size:.85rem;line-height:1;text-decoration:none}.site-auth a.btn-ghost{color:var(--muted)}.site-auth a.btn-ghost:hover{color:var(--ink);background:transparent}.site-auth a.btn-primary,.site-hero-cta a.btn-primary,.lp-cta a.btn-primary,.site-cta-band a.btn-primary{color:var(--accent-ink)}.btn-lg{height:2.85rem!important;padding:0 1.25rem!important;font-size:.95rem!important;border-radius:var(--radius)!important}.site-crumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:1.1rem 0 0;margin:0;font-size:.8rem;color:var(--muted)}.site-crumbs a{color:var(--muted)}.site-crumbs a:hover{color:var(--ink)}.site-crumbs li+li:before{content:"";display:inline-block;width:5px;height:5px;margin:0 .55rem .12rem .1rem;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);opacity:.45}.site-crumbs [aria-current=page]{color:var(--ink)}.site-main{padding:1.75rem 0 4rem}.site-main h1{font-family:var(--font-display);font-size:clamp(2rem,1.4rem + 2.2vw,3rem);font-weight:650;line-height:1.08;letter-spacing:-.035em;margin:.5rem 0 .9rem}.site-eyebrow{display:inline-flex;align-items:center;gap:.45rem;color:var(--accent-strong);font-weight:550;font-size:.8rem;letter-spacing:.01em;margin:0}.site-lead{font-size:1.125rem;line-height:1.6;color:var(--muted);max-width:42rem;text-wrap:pretty}.page-intro,.search-intro{position:relative;padding:1rem 0 .5rem}.site-section{margin:3.5rem 0 0}.site-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.4rem}.site-section-head a{font-size:.875rem;font-weight:550;white-space:nowrap}.site-section h2,.site-feature h2{font-family:var(--font-display);font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem);font-weight:650;letter-spacing:-.03em;margin:0 0 .5rem}.site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;margin-top:1rem}.site-card{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:1.15rem 1.15rem 1.05rem;border-radius:var(--radius-lg);background:var(--surface-elevated);border:1px solid var(--hairline);box-shadow:var(--shadow);color:var(--ink);text-decoration:none;transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.site-card strong{font-weight:600;letter-spacing:-.012em}.site-card:hover{color:var(--ink);border-color:rgb(var(--accent-rgb) / .35);box-shadow:var(--shadow-lift),0 0 0 4px rgb(var(--accent-rgb) / .06);transform:translateY(-2px)}.site-card-icon{--tile: var(--accent-rgb);display:inline-grid;place-items:center;min-width:2.25rem;height:2.25rem;padding:0 .45rem;margin-bottom:.35rem;border-radius:9px;background:linear-gradient(160deg,rgb(var(--tile) / .16),rgb(var(--tile) / .06));box-shadow:inset 0 0 0 1px rgb(var(--tile) / .22);color:rgb(var(--tile));font-family:var(--font-mono);font-weight:600;font-size:.78rem;letter-spacing:-.02em;align-self:flex-start}[data-lang=python]{--tile: 55 118 171}[data-lang=javascript]{--tile: 202 160 0}[data-lang=typescript]{--tile: 49 120 198}[data-lang=php]{--tile: 119 123 180}[data-lang=java]{--tile: 224 108 37}[data-lang=sql]{--tile: 0 117 143}[data-lang=go]{--tile: 0 160 200}[data-lang=csharp]{--tile: 104 33 122}[data-lang=cpp]{--tile: 0 89 156}[data-lang=html]{--tile: 227 76 38}[data-lang=css]{--tile: 102 51 153}:root[data-theme=dark] [data-lang=python]{--tile: 112 170 220}:root[data-theme=dark] [data-lang=javascript]{--tile: 240 210 80}:root[data-theme=dark] [data-lang=typescript]{--tile: 110 170 240}:root[data-theme=dark] [data-lang=php]{--tile: 170 174 230}:root[data-theme=dark] [data-lang=java]{--tile: 250 150 90}:root[data-theme=dark] [data-lang=sql]{--tile: 60 200 220}:root[data-theme=dark] [data-lang=go]{--tile: 90 210 240}:root[data-theme=dark] [data-lang=csharp]{--tile: 190 120 220}:root[data-theme=dark] [data-lang=cpp]{--tile: 110 170 230}:root[data-theme=dark] [data-lang=html]{--tile: 250 130 90}:root[data-theme=dark] [data-lang=css]{--tile: 180 140 240}.site-card-meta{margin-top:auto;padding-top:.5rem;font-size:.78rem;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}.site-card-meta:after{content:" →";color:var(--accent);opacity:0;transition:opacity .2s var(--ease)}.site-card:hover .site-card-meta:after{opacity:1}.site-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.85rem}.site-feature{padding:1.4rem;border-radius:var(--radius-lg);background:var(--surface-elevated);border:1px solid var(--hairline);box-shadow:var(--shadow)}.site-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2.5rem;align-items:center;padding:2.5rem 0 1.5rem}.site-hero-cta{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.4rem 0}.site-stats{display:flex;flex-wrap:wrap;gap:1.4rem;list-style:none;padding:0;margin:0;color:var(--muted)}.site-stats strong{color:var(--ink);font-size:1.3rem;font-weight:650;margin-right:.2rem}.site-hero-art{border-radius:var(--radius-xl);padding:1.2rem;background:var(--hero-bg);box-shadow:var(--shadow-lift)}.site-hero-code{margin:0;padding:1rem 1.1rem;border-radius:var(--radius);background:#ffffff0a;color:#e4e4e7;font-size:.88rem;line-height:1.7;overflow-x:auto}.site-hero-code .k{color:#c4b5fd}.site-hero-code .f{color:#93c5fd}.site-hero-pass{margin:.8rem 0 0;color:#86efac;font-weight:600}.site-main.site-main-landing{width:100%;padding:0 0 5rem}.lp-wrap{width:min(1240px,100% - 2.5rem);margin-inline:auto}.lp-hero{position:relative;z-index:2;isolation:isolate;background:var(--hero-bg);color:var(--hero-ink);border-bottom:1px solid var(--hero-border)}.lp-hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:56px 56px;background-position:calc(50% - 28px) 0;mask-image:radial-gradient(ellipse 75% 70% at 50% 30%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 30%,#000 30%,transparent 75%)}.lp-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 55% 60% at 62% -8%,rgb(var(--glow) / .34),transparent 70%),radial-gradient(ellipse 40% 45% at 85% 10%,rgb(var(--glow) / .12),transparent 70%);pointer-events:none}.lp-aurora{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.lp-aurora span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;will-change:transform}.lp-aurora span:nth-child(1){width:46vw;height:30vw;max-width:720px;max-height:460px;left:42%;top:-16%;background:radial-gradient(closest-side,rgb(var(--glow) / .75),transparent);animation:lp-aurora-a 22s ease-in-out infinite alternate}.lp-aurora span:nth-child(2){width:34vw;height:24vw;max-width:540px;max-height:380px;left:66%;top:4%;background:radial-gradient(closest-side,rgb(56 189 248 / .55),transparent);animation:lp-aurora-b 28s ease-in-out infinite alternate}.lp-aurora span:nth-child(3){width:30vw;height:22vw;max-width:480px;max-height:340px;left:18%;top:-10%;background:radial-gradient(closest-side,rgb(129 140 248 / .4),transparent);animation:lp-aurora-c 32s ease-in-out infinite alternate}@keyframes lp-aurora-a{0%{transform:translate(0) scale(1)}to{transform:translate(-12%,10%) scale(1.15)}}@keyframes lp-aurora-b{0%{transform:translate(0) scale(1.05)}to{transform:translate(-18%,16%) scale(.9)}}@keyframes lp-aurora-c{0%{transform:translate(0) scale(.95)}to{transform:translate(20%,12%) scale(1.1)}}.lp-beams{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;mask-image:radial-gradient(ellipse 75% 70% at 50% 30%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 30%,#000 30%,transparent 75%)}.lp-beams i{position:absolute;opacity:0}.lp-beams i:nth-child(-n+3){top:0;width:1px;height:140px;background:linear-gradient(180deg,transparent,rgb(var(--glow) / .9) 70%,#e6fffb);box-shadow:0 0 8px rgb(var(--glow) / .6);animation:lp-beam-down 9s linear infinite}.lp-beams i:nth-child(1){left:calc(50% + 28px);animation-delay:.6s}.lp-beams i:nth-child(2){left:calc(50% - 700px);animation-delay:4.2s;animation-duration:11s}.lp-beams i:nth-child(3){left:calc(50% + 700px);animation-delay:7.4s;animation-duration:10s}.lp-beams i:nth-child(n+4){top:56px;left:0;width:180px;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--glow) / .9) 70%,#e6fffb);box-shadow:0 0 8px rgb(var(--glow) / .6);animation:lp-beam-right 13s linear infinite}.lp-beams i:nth-child(4){animation-delay:2.4s}.lp-beams i:nth-child(5){display:none}@media (max-width: 1000px){.lp-beams{display:none}}@keyframes lp-beam-down{0%{transform:translateY(-160px);opacity:0}6%{opacity:1}45%{transform:translateY(820px);opacity:0}to{transform:translateY(820px);opacity:0}}@keyframes lp-beam-right{0%{transform:translate(-180px);opacity:0}6%{opacity:1}50%{transform:translate(100vw);opacity:0}to{transform:translate(100vw);opacity:0}}@media (prefers-reduced-motion: reduce){.lp-aurora span{animation:none}.lp-beams{display:none}}.lp-hero-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:3.5rem;align-items:center;padding:5.5rem 0 4.5rem}.lp-pill{display:inline-flex;align-items:center;gap:.55rem;padding:.3rem .75rem .3rem .35rem;border-radius:999px;border:1px solid var(--hero-border);background:#ffffff0a;color:var(--hero-muted);font-size:.8rem;font-weight:500;text-decoration:none;transition:border-color .2s var(--ease),color .2s var(--ease)}.lp-pill:hover{color:var(--hero-ink);border-color:#fff3}.lp-pill-tag{padding:.1rem .5rem;border-radius:999px;background:rgb(var(--glow) / .22);color:#fff;font-size:.72rem;font-weight:600}.lp-title{margin:1.4rem 0 1.2rem;font-family:var(--font-display);font-size:clamp(2.6rem,1.5rem + 4.2vw,4.35rem);font-weight:650;line-height:1.02;letter-spacing:-.045em;color:var(--hero-ink)}.lp-title-grad{display:block;background:linear-gradient(100deg,#fff,rgb(var(--glow)) 45%,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-lead{max-width:34rem;font-size:1.125rem;line-height:1.6;color:var(--hero-muted);text-wrap:pretty}.lp-hero .site-search-hero{max-width:34rem;margin:1.8rem 0 0;background:#ffffff0d;border-color:var(--hero-border);box-shadow:0 0 0 1px #0003,0 10px 30px -10px #0009}.lp-hero .site-search-hero .site-search-input{color:var(--hero-ink)}.lp-hero .site-search-hero .site-search-input::placeholder{color:#ffffff73}.lp-hero .site-search-hero .site-search-icon{color:#ffffff80}.lp-hero .site-search-hero:focus-within{border-color:rgb(var(--glow) / .7);box-shadow:0 0 0 4px rgb(var(--glow) / .2)}.lp-cta{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.4rem 0 0}.lp-cta .btn-secondary{background:#ffffff0f;border:1px solid var(--hero-border);color:var(--hero-ink);box-shadow:none}.lp-cta .btn-secondary:hover{background:#ffffff1a;color:var(--hero-ink)}.lp-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:2.6rem 0 0;padding:0;list-style:none;border-top:1px solid var(--hero-border)}.lp-metrics li{padding:1.1rem 0 0;color:var(--hero-muted);font-size:.8rem}.lp-metrics li+li{padding-left:1.1rem;border-left:1px solid var(--hero-border)}.lp-metrics strong{display:block;color:var(--hero-ink);font-size:1.55rem;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.lp-editor{position:relative;border-radius:var(--radius-xl);background:linear-gradient(180deg,#18181bb8,#0c0c10d1);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--hero-border);box-shadow:0 0 0 1px #0006,0 30px 80px -20px #000000bf,0 0 120px -40px rgb(var(--glow) / .5);overflow:hidden;font-family:var(--font-mono);color:#e4e4e7}@property --lp-beam-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.lp-editor:after{content:"";position:absolute;inset:0;z-index:2;padding:1px;border-radius:inherit;background:conic-gradient(from var(--lp-beam-angle),transparent 0deg 300deg,rgb(var(--glow) / .15) 315deg,rgb(var(--glow)) 345deg,#ecfffb 355deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none;animation:lp-beam-spin 7s linear infinite}@keyframes lp-beam-spin{to{--lp-beam-angle: 360deg}}@media (prefers-reduced-motion: no-preference){.lp-tests li{animation:lp-test-in .35s var(--ease) both}.lp-tests li:nth-child(1){animation-delay:.9s}.lp-tests li:nth-child(2){animation-delay:1.05s}.lp-tests li:nth-child(3){animation-delay:1.2s}.lp-tests li:nth-child(4){animation-delay:1.35s}.lp-tests li:nth-child(5){animation-delay:1.5s}.lp-tests li:nth-child(6){animation-delay:1.65s}.lp-tests-head strong{animation:lp-test-in .35s var(--ease) 1.85s both}@keyframes lp-test-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion: reduce){.lp-editor:after{animation:none}}.lp-editor-bar{display:flex;align-items:center;gap:.9rem;padding:.65rem .9rem;border-bottom:1px solid var(--hero-border);background:#ffffff06}.lp-dots{display:inline-flex;gap:6px}.lp-dots span{width:10px;height:10px;border-radius:50%;background:#ffffff29}.lp-tabs{display:flex;gap:.25rem;font-size:.74rem;font-family:var(--font-body)}.lp-tabs span{padding:.25rem .6rem;border-radius:6px;color:#ffffff80}.lp-tabs span.is-active{color:#fff;background:#ffffff14}.lp-editor-lang{margin-left:auto;font-family:var(--font-body);font-size:.72rem;color:#ffffff73}.lp-code{margin:0;padding:1.1rem 0;font-size:.84rem;line-height:1.75;counter-reset:line;overflow-x:auto;background:none;border:0}.lp-code code{display:block;font:inherit;background:none;padding:0;color:inherit}.lp-code .ln{display:block;padding:0 1.2rem 0 0;white-space:pre}.lp-code .ln:before{counter-increment:line;content:counter(line);display:inline-block;width:2.6rem;padding-right:1rem;text-align:right;color:#ffffff38}.lp-code .ln.is-hl{background:linear-gradient(90deg,rgb(var(--glow) / .16),transparent);box-shadow:inset 2px 0 rgb(var(--glow))}.lp-code .k{color:#c4b5fd}.lp-code .f{color:#7dd3fc}.lp-code .s{color:#86efac}.lp-code .n{color:#fda4af}.lp-code .c{color:#ffffff59;font-style:italic}.lp-tests{border-top:1px solid var(--hero-border);padding:.8rem 1.1rem 1rem;font-size:.76rem;background:#0003}.lp-tests-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem;font-family:var(--font-body);color:#fff9}.lp-tests-head strong{color:#4ade80;font-weight:600}.lp-tests ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1rem}.lp-tests li{color:#ffffffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-tests li:before{content:"✓";margin-right:.5rem;color:#4ade80}.lp-tests time{float:right;color:#ffffff59}.lp-langs{border-bottom:1px solid var(--hairline);background:var(--surface-elevated)}.lp-langs-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem 1.9rem;padding:1.35rem 0}.lp-langs-label{font-size:.8rem;color:var(--muted)}.lp-langs a{font-family:var(--font-mono);font-size:.84rem;font-weight:500;color:var(--muted);transition:color .15s var(--ease)}.lp-langs a:hover{color:var(--ink)}.lp-section{margin-top:6rem}.lp-kicker{font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 .7rem}.lp-h2{font-size:clamp(1.9rem,1.3rem + 2vw,2.75rem);font-weight:650;line-height:1.08;letter-spacing:-.04em;max-width:44rem;margin:0}.lp-sub{margin:.9rem 0 0;max-width:40rem;color:var(--muted);font-size:1.05rem;text-wrap:pretty}.lp-bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem;margin-top:2.4rem}.lp-tile{position:relative;grid-column:span 2;display:flex;flex-direction:column;gap:.5rem;min-height:15rem;padding:1.5rem;border-radius:var(--radius-xl);border:1px solid var(--hairline);background:var(--surface-elevated);box-shadow:var(--shadow);color:var(--ink);text-decoration:none;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.lp-tile:hover{color:var(--ink);transform:translateY(-3px);border-color:rgb(var(--accent-rgb) / .3);box-shadow:var(--shadow-lift),0 0 0 4px rgb(var(--accent-rgb) / .05)}.lp-tile.is-wide{grid-column:span 3}.lp-tile h3{font-size:1.15rem;font-weight:620;letter-spacing:-.02em;margin:0}.lp-tile p{margin:0;color:var(--muted);font-size:.92rem;max-width:28rem}.lp-tile-count{margin-top:auto;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.lp-tile-count strong{color:var(--ink);font-size:1.05rem;font-weight:650;margin-right:.25rem}.lp-tile-art{margin:.4rem 0 .6rem;border-radius:var(--radius);border:1px solid var(--hairline);background:var(--surface-subtle);padding:.75rem .9rem;font-family:var(--font-mono);font-size:.74rem;line-height:1.7;color:var(--muted);overflow:hidden}.lp-tile-art .ok{color:var(--success)}.lp-tile-art .acc{color:var(--accent)}.lp-tile-art .row{display:flex;justify-content:space-between;gap:.6rem;white-space:nowrap}.lp-chip{display:inline-block;padding:.05rem .45rem;margin:.15rem .2rem 0 0;border-radius:999px;border:1px solid var(--hairline);background:var(--surface-elevated);font-family:var(--font-body);font-size:.7rem;color:var(--ink)}.lp-band{position:relative;isolation:isolate;overflow:hidden;margin-top:6rem;padding:4rem 2rem;border-radius:var(--radius-xl);background:var(--hero-bg);color:var(--hero-ink);text-align:center;border:1px solid var(--hero-border)}.lp-band:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 90% at 50% 120%,rgb(var(--glow) / .45),transparent 70%)}.lp-band h2{color:var(--hero-ink);font-size:clamp(1.8rem,1.2rem + 2vw,2.6rem);letter-spacing:-.04em;margin:0 0 .7rem}.lp-band p{color:var(--hero-muted);max-width:34rem;margin:0 auto}.lp-band .lp-cta{justify-content:center;margin-top:1.8rem}@media (prefers-reduced-motion: no-preference){.lp-reveal{animation:lp-rise .7s var(--ease) both}.lp-reveal.d1{animation-delay:.06s}.lp-reveal.d2{animation-delay:.12s}.lp-reveal.d3{animation-delay:.18s}.lp-reveal.d4{animation-delay:.24s}@keyframes lp-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}@media (max-width: 1000px){.lp-hero-inner{grid-template-columns:minmax(0,1fr);gap:2.5rem;padding:4rem 0 3rem}.lp-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-tile,.lp-tile.is-wide{grid-column:span 1}}@media (max-width: 640px){.lp-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-metrics li:nth-child(3){padding-left:0;border-left:0}.lp-metrics li:nth-child(n+3){border-top:1px solid var(--hero-border);margin-top:1rem}.lp-bento,.lp-tests ul{grid-template-columns:minmax(0,1fr)}.lp-band{padding:3rem 1.25rem}.lp-section{margin-top:4.5rem}}.site-cta-band{position:relative;isolation:isolate;overflow:hidden;margin:3.5rem 0 0;padding:3rem 2rem;border-radius:var(--radius-xl);text-align:center;color:var(--hero-ink);background:var(--hero-bg);border:1px solid var(--hero-border)}.site-cta-band:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 90% at 50% 120%,rgb(var(--glow) / .4),transparent 70%)}.site-cta-band h2{color:var(--hero-ink);margin:0 0 .4rem}.site-cta-band p{color:var(--hero-muted)}.site-cta-band a.btn-primary{margin-top:1.2rem}.site-footer{border-top:1px solid var(--hairline);background:var(--surface-elevated);padding:3.5rem 0 0;margin-top:2rem}.site-footer-inner{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:2rem}.site-footer-brand p{margin-top:.8rem;max-width:22rem}.site-footer h2{font-size:.78rem;font-weight:600;letter-spacing:0;color:var(--ink);margin:0 0 .85rem}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem;font-size:.875rem}.site-footer ul a{color:var(--muted)}.site-footer ul a:hover{color:var(--ink)}.site-footer-cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}.site-copy,.site-footer-bottom{margin-top:3rem;padding:1.25rem 0 1.5rem;border-top:1px solid var(--hairline)}.site-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem;color:var(--muted)}@media (max-width: 760px){.site-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer-brand{grid-column:1 / -1}}pre.highlight{margin:0 0 1rem;padding:.9rem 1rem;border-radius:var(--radius);border:1px solid var(--border);overflow-x:auto;font-size:.88rem;line-height:1.55}.code-tabs pre.highlight{margin:0;border:none;border-radius:0}:root:not([data-theme=dark]) pre.highlight{background:#f6f8fa}:root[data-theme=dark] pre.highlight{background:#282c34;color:#abb2bf}@media (max-width: 900px){.site-hero{grid-template-columns:minmax(0,1fr);padding-top:1.2rem}.site-footer-inner{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.site-header-inner{flex-wrap:wrap;gap:.5rem;padding:.45rem 0}.site-nav{order:3;flex-basis:100%}.site-actions{margin-left:auto}.site-auth .btn-ghost{display:none}}.page-intro{max-width:52rem;margin-bottom:1rem}.article{max-width:56rem}.article h2{font-family:var(--font-display);font-size:1.4rem;margin:2rem 0 .7rem}.article-head{margin-bottom:1.2rem}.article-badges{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.example-block{white-space:pre-wrap;word-break:break-word;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.65rem .8rem;font-size:.88rem}.problem-list{list-style:none;padding:0;margin:.6rem 0 0;border-top:1px solid var(--border)}.problem-list li{border-bottom:1px solid var(--border)}.problem-row{display:flex;justify-content:space-between;gap:1rem;padding:.75rem .4rem;color:var(--ink);text-decoration:none}.problem-row:hover{color:var(--ink);background:rgb(var(--ink-rgb) / .03)}.problem-row-main{display:flex;flex-direction:column;min-width:0}.problem-row-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}details.hint,details.solution-details{border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .9rem;margin-bottom:.5rem;background:var(--surface-elevated)}details.hint summary,details.solution-details summary{cursor:pointer;font-weight:600}details.solution-details[open] summary{margin-bottom:.6rem}.complexity code{margin-right:.5rem}.choice-list pre{margin:0;white-space:pre-wrap}.link-list{padding-left:1.1rem}.link-list li{margin-bottom:.35rem}.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--border);font-weight:600}.workbench-island{min-height:120px}.locked-answer{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:1rem;background:var(--surface)}@media (max-width: 640px){.problem-row{flex-direction:column;gap:.35rem}.problem-row-meta{flex-wrap:wrap}}.workbench-card{padding:1rem}.coding-signin{margin:.8rem 0 0;padding:.6rem .8rem;border-radius:8px;background:var(--accent-soft)}.site-main.docs-layout{display:grid;grid-template-columns:250px minmax(0,1fr) 200px;gap:2rem;align-items:start}.docs-sidebar,.docs-toc{position:sticky;top:4.4rem;max-height:calc(100vh - 5rem);overflow:auto;font-size:.88rem}.docs-sidebar summary{font-weight:700;list-style:none;margin-bottom:.5rem}.docs-sidebar summary::-webkit-details-marker{display:none}.docs-sidebar ul,.docs-toc ul{list-style:none;padding:0;margin:0 0 .8rem}.docs-sidebar li a,.docs-toc li a{display:block;padding:.28rem .55rem;border-radius:6px;color:var(--muted);text-decoration:none}.docs-sidebar li a:hover,.docs-toc li a:hover{color:var(--ink);background:rgb(var(--ink-rgb) / .05)}.docs-sidebar li a[aria-current=page]{color:var(--accent-strong);background:var(--accent-soft);font-weight:600}.docs-sidebar-section{margin:.8rem 0 .3rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.docs-article{max-width:none}.lesson-list{padding-left:1.2rem}.lesson-list li{margin-bottom:.45rem}.practice-label{margin:.6rem 0 .2rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.app-cta{margin-top:2rem;padding:.7rem .9rem;border-radius:8px;background:var(--accent-soft)}a.btn-cta{display:inline-flex;padding:.6rem 1.1rem;border-radius:var(--radius);font-weight:600;color:var(--accent-ink);text-decoration:none}@media (max-width: 1100px){.site-main.docs-layout{grid-template-columns:230px minmax(0,1fr)}.docs-toc{display:none}}@media (max-width: 800px){.site-main.docs-layout{grid-template-columns:minmax(0,1fr);gap:1rem}.docs-sidebar{position:static;max-height:none;border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem;background:var(--surface-elevated)}.docs-sidebar summary{list-style:revert;margin:0}}.article-wide{max-width:none}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem}.option-card{padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-elevated)}.option-card h3{margin:0 0 .3rem}.option-card ul{padding-left:1.1rem;margin:.2rem 0}.path-public{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.8rem}.path-public li{display:flex;gap:.9rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-elevated)}.path-public-num{display:inline-grid;place-items:center;width:2rem;height:2rem;flex-shrink:0;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.path-public p{margin:.2rem 0 0}.qa-list{padding-left:1.4rem;display:grid;gap:.45rem}.qa-list details.solution-details{margin:0}.qa-list summary .badge{margin-right:.35rem}.qa-locked{display:block;padding:.55rem .2rem;color:var(--ink)}.qa-locked:after{content:"Members";margin-left:.5em;padding:.05em .5em;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.72em;font-weight:600;vertical-align:.1em}.site-main.docs-layout-2{grid-template-columns:250px minmax(0,1fr)}.pager-top{margin:0 0 1rem;padding:0 0 .8rem;border-top:none;border-bottom:1px solid var(--border);font-size:.9rem}.tryit{margin:1.2rem 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-elevated);overflow:hidden}.tryit-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem .8rem;border-bottom:1px solid var(--border);background:var(--surface);font-weight:600;font-size:.9rem}.tryit-badge{font-size:.75rem;font-weight:600;color:var(--accent-strong)}.tryit-code pre.highlight{margin:0;border:none;border-radius:0}.tryit-output{border-top:1px solid var(--border);padding:.5rem .8rem .7rem}.tryit-output .practice-label{margin-top:0}.tryit-output pre{margin:0;white-space:pre-wrap;font-size:.85rem}.tryit-note{margin:0;padding:.4rem .8rem .6rem}.tryit-bar{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem .8rem;border-top:1px solid var(--border);background:var(--surface)}.tryit-bar button{padding:.4rem .8rem;font-size:.85rem}.tryit .code-editor{border:none;border-radius:0}.tryit-result{border-top:1px solid var(--border);padding:.6rem .8rem}.tryit-result pre{margin:0;white-space:pre-wrap;font-size:.85rem;max-height:320px;overflow:auto}.tryit-result iframe{width:100%;min-height:260px;border:1px solid var(--border);border-radius:8px;background:#fff}.tryit-result table{border-collapse:collapse;font-size:.85rem}.tryit-result th,.tryit-result td{border:1px solid var(--border);padding:.3rem .55rem;text-align:left}.exercise{margin-top:2rem;padding:1rem 1.1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.exercise h2{margin-top:0}.exercise-choices li{margin-bottom:.3rem}@media (max-width: 800px){.site-main.docs-layout-2{grid-template-columns:minmax(0,1fr)}}.site-footer ul.site-footer-cols{grid-template-columns:repeat(2,max-content);column-gap:1.5rem}pre{tab-size:4}.seo-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;align-items:start}.seo-main{min-width:0}@media (max-width: 1100px){.seo-grid{grid-template-columns:minmax(0,1fr)}}.seo-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.seo-stat{display:flex;flex-direction:column;gap:.2rem;align-items:flex-start}.seo-stat strong{font-family:var(--font-display);font-size:1.75rem;line-height:1.1}.seo-stat-btn{text-align:left;cursor:pointer;font:inherit;color:inherit}.seo-stat-btn.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft, transparent)}.seo-stackbar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--border);margin:.3rem 0;min-width:80px}.seo-stackbar-seg{display:block;height:100%}.seo-stackbar-seg.tone-success{background:var(--success)}.seo-stackbar-seg.tone-warning{background:var(--warning)}.seo-stackbar-seg.tone-danger{background:var(--danger)}.seo-stackbar-seg.tone-muted{background:var(--border-strong)}.seo-alert{padding:.65rem .85rem;border-radius:var(--radius);margin-bottom:.75rem;font-size:.9rem}.seo-alert.tone-danger{background:var(--danger-soft);color:var(--danger-ink)}.seo-alert.tone-warning{background:var(--warning-soft);color:var(--warning-ink)}.seo-error{color:var(--danger);font-size:.875rem;margin-top:.5rem}.seo-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;align-items:center}.seo-control-label{font-weight:600}.seo-switch{display:inline-flex;gap:.4rem;align-items:center;cursor:pointer}.seo-check{display:flex;gap:.4rem;align-items:center;align-self:end}.seo-tips{position:sticky;top:1rem}.seo-tips-title{font-size:1rem}.seo-tips-list{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.25rem}.seo-tips-list li.is-done .seo-tips-toggle{color:var(--muted)}.seo-tips-toggle{background:none;border:0;padding:.3rem 0;text-align:left;color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer;width:100%}.seo-tips-toggle:hover{color:var(--accent)}.seo-tips-body{font-size:.875rem;padding:.25rem 0 .5rem 1rem;border-left:2px solid var(--border)}.seo-plain-list{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}.seo-events{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.seo-events li{font-size:.9rem;overflow-wrap:anywhere}.seo-filters{display:flex;flex-wrap:wrap;gap:.4rem}.seo-filters input{min-width:160px}.seo-path{overflow-wrap:anywhere;max-width:420px}.seo-link-btn{background:none;border:0;padding:0;color:var(--accent);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}.seo-link-btn:hover{text-decoration:underline}.seo-code{width:100%;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.85rem;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem;max-height:360px;overflow:auto}.seo-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.seo-form-grid label,.seo-editor label{display:flex;flex-direction:column;gap:.25rem}.seo-form-grid label.seo-check{flex-direction:row}.seo-preview{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:.75rem;background:var(--surface-subtle)}.seo-preview h4{margin-bottom:.4rem}.seo-trend{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:.25rem}.seo-trend-col{display:flex;flex-direction:column;align-items:center;min-width:64px}.seo-trend-col .seo-stackbar{width:100%}.seo-drawer-backdrop{justify-content:flex-end;align-items:stretch;padding:0}.seo-drawer{width:min(560px,100%);height:100%;overflow-y:auto;background:var(--surface-elevated);border-left:1px solid var(--border);box-shadow:var(--shadow-lift);padding:1.25rem}.seo-drawer-title{font-size:1.05rem;overflow-wrap:anywhere}.seo-kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.4rem .9rem;font-size:.9rem;align-items:baseline}.seo-kv>span:nth-child(odd){color:var(--muted)}.seo-kv>span{overflow-wrap:anywhere}.seo-issue-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.seo-issue-list li{border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .75rem}.seo-issue-list li.is-acked{opacity:.65}.seo-issue-list p{margin:.3rem 0 0}.seo-ack-form{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.5rem}.seo-ack-form input:not([type=checkbox]){flex:1;min-width:160px}.seo-playbook{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.seo-playbook-item{border-bottom:1px solid var(--border);padding-bottom:.35rem}.seo-playbook-item:last-child{border-bottom:0}.seo-playbook-item.is-done .seo-playbook-title{color:var(--muted);text-decoration:line-through}.seo-playbook-item.is-na{opacity:.6}.seo-playbook-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.seo-playbook-title{flex:1;min-width:180px;background:none;border:0;padding:.25rem 0;text-align:left;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}.seo-playbook-actions{display:flex;gap:.25rem;align-items:center;flex-wrap:wrap}.seo-playbook-meta{margin:0 0 0 1.6rem}.seo-playbook-body{padding:.25rem 0 .5rem 1.6rem;font-size:.9rem}.seo-dash-card{display:block;color:inherit;text-decoration:none}@media (max-width: 640px){.seo-controls{grid-template-columns:minmax(0,1fr)}.seo-filters input,.seo-filters select{flex:1 1 140px;min-width:0}}.seo-page .table td{white-space:normal;vertical-align:top}.seo-page .table td.seo-path{min-width:220px}.seo-page .table th{white-space:nowrap}.seo-filters input,.seo-filters select,.seo-switch input,.seo-check input,.seo-playbook-row input[type=checkbox],.seo-ack-form input[type=checkbox],.seo-playbook-actions select{width:auto}@media (max-width: 1240px){.seo-grid{grid-template-columns:minmax(0,1fr)}.seo-tips{position:static}}.site-search{position:relative;display:flex;align-items:center;gap:.35rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:999px;padding:0 .3rem 0 .75rem;transition:border-color .15s ease,box-shadow .15s ease}.site-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.site-search-icon{color:var(--muted);flex:none}.site-search .site-search-input{flex:1;min-width:0;width:100%;border:0;background:transparent;box-shadow:none;padding:.5rem .25rem;font-size:.92rem}.site-search .site-search-input:focus{box-shadow:none;border:0}.site-search .site-search-input::-webkit-search-cancel-button{cursor:pointer}.site-search-kbd{flex:none;font:600 .72rem/1 var(--font-body);color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:.2rem .4rem}.site-search:focus-within .site-search-kbd{display:none}.site-search-submit{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0}.site-search-submit:hover{color:var(--accent);background:var(--accent-soft)}.site-search-header{flex:0 1 250px;min-width:150px}.site-search-hero,.site-search-page{max-width:40rem;padding:.3rem .35rem .3rem 1rem;margin:1.1rem 0 .4rem;box-shadow:var(--shadow-lift)}.site-search-hero .site-search-input,.site-search-page .site-search-input{font-size:1.05rem;padding:.55rem .25rem}.site-search-hero .site-search-submit,.site-search-page .site-search-submit{width:auto;height:auto;padding:.55rem 1.1rem;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:600}.site-search-page .site-search-submit:after{content:"Search"}.site-search-page .site-search-submit svg{display:none}.site-search-hero .site-search-submit:hover,.site-search-page .site-search-submit:hover{background:var(--accent-strong);color:var(--accent-ink)}.site-search-panel{position:absolute;top:calc(100% + .45rem);left:0;right:0;z-index:300;max-height:min(70vh,520px);overflow-y:auto;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lift);padding:.35rem}.site-search-header .site-search-panel{left:auto;width:min(480px,calc(100vw - 2rem))}.site-search-group{padding:.55rem .6rem .25rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.site-search-option{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .6rem;border-radius:8px;cursor:pointer;color:var(--ink)}.site-search-option.is-active{background:var(--accent-soft)}.site-search-option-title{font-weight:500;font-size:.92rem;overflow-wrap:anywhere}.site-search-option-meta{font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.site-search-option.is-all{border-top:1px solid var(--border);border-radius:0 0 8px 8px;margin-top:.3rem}.site-search-option.is-recent .site-search-option-title:before{content:"↺ ";color:var(--muted)}.site-search-message{padding:.55rem .6rem;font-size:.85rem;color:var(--muted)}.site-search-panel mark,.search-result-snippet mark{background:var(--highlight, var(--accent-soft));color:inherit;padding:0 .1em;border-radius:3px}.search-intro h1{margin-bottom:0}.search-summary{color:var(--muted);margin:.6rem 0}.search-notice{padding:.6rem .85rem;border-radius:var(--radius);background:var(--accent-soft);margin:.6rem 0}.search-facets{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 1rem}.search-facets a{text-decoration:none}.search-results{list-style:none;padding:0;margin:0;display:grid;gap:1.15rem;max-width:52rem}.search-result-title{font-family:var(--font-display);font-size:1.12rem;font-weight:600;overflow-wrap:anywhere}.search-result-meta{margin:.15rem 0 0;font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}.search-result-section{color:var(--accent-strong);font-weight:600}.search-result-snippet{margin:.3rem 0 0;font-size:.92rem;color:var(--ink);overflow-wrap:anywhere}.search-pager{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:52rem;margin-top:1.5rem}.search-empty h2{font-size:1.25rem;margin-bottom:.4rem}.search-browse{margin-top:1rem}@media (max-width: 1000px){.site-search-kbd{display:none}.site-search-header{flex-basis:190px}}@media (max-width: 760px){.site-search-header{order:2;flex:1 1 100%;min-width:0}.site-search-header .site-search-panel{left:0;right:0;width:auto}}.seo-insights{gap:1rem;align-items:start}.seo-test-results{margin:.5rem 0 0;padding-left:1.2rem;display:grid;gap:.6rem}.seo-test-results p{margin:.2rem 0 0}.seo-test-results mark{background:var(--highlight);color:inherit;border-radius:3px;padding:0 .1em}@media (max-width: 760px){.seo-insights{grid-template-columns:minmax(0,1fr)}}.site .markdown-body{font-size:1.0625rem;line-height:1.75;color:rgb(var(--ink-rgb) / .88)}.site .markdown-body h2{font-size:1.5rem;font-weight:650;letter-spacing:-.028em;color:var(--ink);margin:2.6rem 0 .8rem;scroll-margin-top:calc(var(--site-header-h) + 1rem)}.site .markdown-body h3{font-size:1.15rem;font-weight:620;letter-spacing:-.018em;color:var(--ink);margin:1.9rem 0 .6rem;scroll-margin-top:calc(var(--site-header-h) + 1rem)}.site .markdown-body strong{color:var(--ink);font-weight:600}.site .markdown-body a{text-decoration:underline;text-decoration-color:rgb(var(--accent-rgb) / .35);text-underline-offset:3px;text-decoration-thickness:1px}.site .markdown-body a:hover{text-decoration-color:currentColor}.site .markdown-body :not(pre)>code{font-size:.86em;padding:.12em .38em;border-radius:5px;background:rgb(var(--ink-rgb) / .05);border:1px solid var(--hairline);color:var(--ink)}.site .markdown-body blockquote{margin-left:0;padding:.2rem 0 .2rem 1rem;border-left:2px solid rgb(var(--accent-rgb) / .5);color:var(--muted)}.site .markdown-body hr{border:0;border-top:1px solid var(--hairline);margin:2.5rem 0}.site .markdown-body table{border-collapse:separate;border-spacing:0;width:100%;font-size:.92rem;line-height:1.55}.site .markdown-body .table-scroll{border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow-x:auto;margin-bottom:1.2rem;background:var(--surface-elevated)}.site .markdown-body .table-scroll table{margin:0}.site .markdown-body th,.site .markdown-body td{padding:.6rem .85rem;border-bottom:1px solid var(--hairline);text-align:left;vertical-align:top}.site .markdown-body th{background:var(--surface-subtle);color:var(--ink);font-weight:600;font-size:.82rem}.site .markdown-body tr:last-child td{border-bottom:0}pre.highlight{margin:0 0 1.2rem;padding:1rem 1.15rem;border-radius:var(--radius-lg);border:1px solid var(--hairline);font-family:var(--font-mono);font-size:.84rem;line-height:1.7}:root:not([data-theme=dark]) pre.highlight{background:#fbfbfc}:root[data-theme=dark] pre.highlight{background:#0d0d10;color:#d4d4d8}html:root:not([data-theme=dark]) .highlight .k,html:root:not([data-theme=dark]) .highlight .kd,html:root:not([data-theme=dark]) .highlight .kn,html:root:not([data-theme=dark]) .highlight .kr,html:root:not([data-theme=dark]) .highlight .kc,html:root:not([data-theme=dark]) .highlight .kt,html:root:not([data-theme=dark]) .highlight .ow{color:#cf222e;font-weight:400}html:root:not([data-theme=dark]) .highlight .s,html:root:not([data-theme=dark]) .highlight .s1,html:root:not([data-theme=dark]) .highlight .s2,html:root:not([data-theme=dark]) .highlight .sb,html:root:not([data-theme=dark]) .highlight .sd,html:root:not([data-theme=dark]) .highlight .si,html:root:not([data-theme=dark]) .highlight .sa{color:#0a3069}html:root:not([data-theme=dark]) .highlight .nf,html:root:not([data-theme=dark]) .highlight .fm{color:#8250df}html:root:not([data-theme=dark]) .highlight .nc,html:root:not([data-theme=dark]) .highlight .nn{color:#953800;font-weight:400}html:root:not([data-theme=dark]) .highlight .m,html:root:not([data-theme=dark]) .highlight .mi,html:root:not([data-theme=dark]) .highlight .mf,html:root:not([data-theme=dark]) .highlight .nb,html:root:not([data-theme=dark]) .highlight .bp{color:#0550ae}html:root:not([data-theme=dark]) .highlight .c,html:root:not([data-theme=dark]) .highlight .c1,html:root:not([data-theme=dark]) .highlight .cm,html:root:not([data-theme=dark]) .highlight .cs{color:#6e7781;font-style:italic}html:root:not([data-theme=dark]) .highlight .nd,html:root:not([data-theme=dark]) .highlight .na{color:#8250df}html:root:not([data-theme=dark]) .highlight .nt{color:#116329;font-weight:400}html:root:not([data-theme=dark]) .highlight .o{color:#24292f}.site-main.docs-layout{grid-template-columns:248px minmax(0,1fr) 208px;gap:3rem}.site-main.docs-layout-2{grid-template-columns:248px minmax(0,1fr)}@media (max-width: 1100px){.site-main.docs-layout{grid-template-columns:230px minmax(0,1fr);gap:2.25rem}}@media (max-width: 800px){.site-main.docs-layout,.site-main.docs-layout-2{grid-template-columns:minmax(0,1fr);gap:1rem}}.docs-sidebar,.docs-toc{top:calc(var(--site-header-h) + 1.25rem);max-height:calc(100vh - var(--site-header-h) - 2.5rem);font-size:.86rem;scrollbar-width:thin}.docs-sidebar summary{font-weight:600;letter-spacing:-.01em;color:var(--ink)}.docs-sidebar li a,.docs-toc li a{padding:.32rem .65rem;border-radius:var(--radius-sm);line-height:1.45}.docs-sidebar li a:hover,.docs-toc li a:hover{background:rgb(var(--ink-rgb) / .04)}.docs-sidebar li a[aria-current=page]{color:var(--ink);background:rgb(var(--accent-rgb) / .08);box-shadow:inset 2px 0 0 var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-weight:550}.docs-sidebar-section{margin:1.4rem 0 .4rem;padding:0 .65rem;font-size:.68rem;font-weight:600;letter-spacing:.08em;color:rgb(var(--ink-rgb) / .5)}.docs-toc{border-left:1px solid var(--hairline);padding-left:.4rem}.docs-toc h2,.docs-toc p:first-child{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ink-rgb) / .5);margin:0 0 .5rem .65rem}.docs-article{max-width:48rem}.article{max-width:50rem}.article h2{font-size:1.5rem;font-weight:650;letter-spacing:-.028em}@media (max-width: 800px){.docs-sidebar{border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow)}}.pager{gap:.75rem;margin-top:3rem;padding-top:0;border-top:0;font-weight:550}.pager>a{flex:1;padding:.95rem 1.1rem;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow);color:var(--ink);font-size:.92rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.pager>a[rel=next]{text-align:right}.pager>a:hover{color:var(--ink);border-color:rgb(var(--accent-rgb) / .35);box-shadow:var(--shadow-lift)}.pager-top{border-bottom:1px solid var(--hairline)}.pager-top>a{flex:0 1 auto;padding:0;border:0;background:none;box-shadow:none;color:var(--accent);font-size:.86rem}.pager-top>a:hover{box-shadow:none}.tryit{margin:1.5rem 0;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow)}.tryit-head{justify-content:flex-start;gap:.75rem;padding:.55rem .9rem;border-bottom:1px solid var(--hairline);background:var(--surface-subtle);font-size:.8rem;font-weight:550;color:var(--muted)}.tryit-head:before{content:"";flex:none;width:34px;height:10px;background-image:radial-gradient(circle,rgb(var(--ink-rgb) / .16) 4px,transparent 4.5px);background-size:12px 10px;background-repeat:repeat-x}.tryit-head>span:first-child{color:var(--ink)}.tryit-badge{margin-left:auto;padding:.1rem .5rem;border-radius:999px;background:rgb(var(--accent-rgb) / .1);color:var(--accent-strong);font-size:.7rem}.tryit-code pre.highlight{border-radius:0;border:0}.tryit-output,.tryit-result{border-top:1px solid var(--hairline);background:var(--surface-subtle)}.tryit-output pre,.tryit-result pre{font-family:var(--font-mono);font-size:.82rem}.tryit-bar{border-top:1px solid var(--hairline);background:var(--surface-elevated)}.tryit-bar button{height:2rem;padding:0 .8rem;font-size:.8rem;border-radius:var(--radius-sm)}.practice-label{font-size:.68rem;font-weight:600;letter-spacing:.08em;color:rgb(var(--ink-rgb) / .5)}.code-tabs{border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:var(--surface-elevated)}.code-tabs-list{background:var(--surface-subtle);border-bottom:1px solid var(--hairline);padding:.35rem .5rem 0}.code-tab{font-size:.78rem;font-weight:550;border-radius:0}.code-tabs-panel>.tryit{box-shadow:none}.exercise,details.hint,details.solution-details,.option-card,.path-public li,.locked-answer{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:var(--shadow)}.exercise{padding:1.25rem 1.4rem}.path-public-num{background:rgb(var(--accent-rgb) / .1);color:var(--accent-strong);font-family:var(--font-mono);font-size:.85rem;font-weight:600}.app-cta,.coding-signin,.search-notice{border:1px solid rgb(var(--accent-rgb) / .2);background:rgb(var(--accent-rgb) / .06);border-radius:var(--radius-lg)}.problem-list{border-top:0;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-elevated);overflow:hidden;box-shadow:var(--shadow)}.problem-list li:last-child{border-bottom:0}.problem-list li{border-bottom:1px solid var(--hairline)}.problem-row{padding:.85rem 1.1rem;transition:background .15s var(--ease)}.problem-row:hover{background:rgb(var(--accent-rgb) / .04)}.site-search{background:rgb(var(--ink-rgb) / .035);border:1px solid var(--hairline);border-radius:var(--radius);padding:0 .3rem 0 .7rem}.site-search:focus-within{background:var(--surface-elevated);border-color:rgb(var(--accent-rgb) / .6);box-shadow:0 0 0 4px var(--focus-ring)}.site-search-header{flex:0 1 260px;height:2.25rem}.site-search-header .site-search-input{font-size:.85rem;padding:.35rem .25rem}.site-search-kbd{font:500 .7rem/1 var(--font-mono);background:var(--surface-elevated);border:1px solid var(--hairline);border-radius:5px;box-shadow:0 1px rgb(var(--ink-rgb) / .08)}.site-search-submit{width:26px;height:26px;border-radius:var(--radius-sm)}.site-search-hero,.site-search-page{border-radius:var(--radius-lg);background:var(--surface-elevated)}.site-search-hero .site-search-submit,.site-search-page .site-search-submit{border-radius:var(--radius);font-weight:550}.site-search-panel{border:1px solid var(--hairline);border-radius:var(--radius-lg)}.site-search-option{border-radius:var(--radius-sm)}.site-search-option.is-active{background:rgb(var(--accent-rgb) / .08)}.search-result-title{font-size:1.05rem;letter-spacing:-.012em}.site .chip-btn{border-radius:999px;border-color:var(--hairline);font-size:.8rem}@media (max-width: 760px){.site-header-inner{gap:.5rem .75rem;padding:.55rem 0 .3rem;min-height:0}.site-nav a[aria-current=page]:after{bottom:-.25rem}}details.solution-details>summary,details.hint>summary{list-style:none;display:flex;align-items:baseline;gap:.55rem}details.solution-details>summary::-webkit-details-marker,details.hint>summary::-webkit-details-marker{display:none}details.solution-details>summary:before,details.hint>summary:before{content:"";flex:none;width:7px;height:7px;margin:0 .15rem .1rem .1rem;border-right:1.75px solid var(--muted);border-bottom:1.75px solid var(--muted);transform:rotate(-45deg);transition:transform .2s var(--ease)}details.solution-details[open]>summary:before,details.hint[open]>summary:before{transform:rotate(45deg)}details.solution-details>summary:hover:before,details.hint>summary:hover:before{border-color:var(--ink)}.lp-title-grad{display:inline;-webkit-box-decoration-break:clone;box-decoration-break:clone;background-image:linear-gradient(100deg,#ccfbf1,#2dd4bf,#67e8f9)}.lp-title-grad:before{content:"";display:block}@media (max-width: 760px){.site-search-header{order:2;flex:1 1 100%;min-width:0}}.lp-search{position:relative;z-index:30}.lp-hero .site-search-hero:focus-within{background:#ffffff14}.site-search .site-search-input:focus-visible{outline:none}.lp-hero .site-search-panel{text-align:left}.lp-hero .site-search-input::-webkit-search-cancel-button{filter:grayscale(1) brightness(1.8);opacity:.7}.brand-logo{display:inline-flex;align-items:center;height:26px;color:var(--ink)}.brand-logo svg{display:block;height:100%;width:auto;max-width:100%}.brand-logo>.brand-logo-light,.brand-logo>.brand-logo-dark{height:100%}.brand-logo-dark{display:none!important}:root[data-theme=dark] .brand-logo-dark{display:block!important}:root[data-theme=dark] .brand-logo-light{display:none!important}.shell-brand .shell-lockup{height:24px}.shell-brand .shell-mark{height:30px}.auth-brand{display:flex;justify-content:center}.auth-brand .brand-logo{height:40px}.branding-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.25rem;align-items:start}.branding-grid aside{position:sticky;top:1rem}@media (max-width: 960px){.branding-grid{grid-template-columns:minmax(0,1fr)}.branding-grid aside{position:static}}.branding-h{font-size:1rem;margin:0 0 .75rem}.branding-field{display:grid;gap:.25rem;margin-bottom:.9rem}.branding-ok{margin-bottom:1rem;padding:.6rem .85rem;border-radius:var(--radius-sm);border:1px solid rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .08);color:var(--ink);font-size:.875rem}.branding-svg-row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:1rem;padding:.9rem 0;border-top:1px solid var(--hairline)}.branding-thumb{display:grid;place-items:center;height:72px;padding:.5rem;border-radius:var(--radius-sm);border:1px solid var(--hairline);background:repeating-conic-gradient(rgb(var(--ink-rgb) / .05) 0% 25%,transparent 0% 50%) 50% / 14px 14px;color:var(--ink)}.branding-svg-body{display:grid;gap:.2rem;min-width:0}.branding-svg-body textarea{width:100%;margin-top:.4rem;font-family:var(--font-mono);font-size:.75rem}.branding-upload{position:relative;display:inline-flex;align-items:center;min-height:36px;padding:0 .9rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;overflow:hidden;cursor:pointer}.branding-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.branding-art{display:block;height:100%;max-width:100%}.branding-art svg{display:block;height:100%;width:auto;max-width:100%}.branding-thumb .branding-art{height:40px}.branding-preview{display:flex;align-items:center;gap:1rem;height:56px;padding:0 1rem;margin-bottom:.6rem;border-radius:var(--radius-sm);border:1px solid var(--hairline);font-size:.85rem}.branding-preview-light{--accent: #0f766e;background:#fafafa;color:#09090b}.branding-preview-dark{--accent: #2dd4bf;background:#09090b;color:#fafafa}.branding-preview span:not(.branding-art){opacity:.6}.branding-preview-logo{height:24px;margin-right:auto}.branding-tab{display:inline-flex;align-items:center;gap:.5rem;max-width:100%;padding:.45rem .75rem;border-radius:8px 8px 0 0;background:rgb(var(--ink-rgb) / .06);font-size:.8rem}.branding-tab-icon{width:16px;height:16px;flex:none}.branding-tab-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.branding-collapsed{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.branding-collapsed-mark{height:30px}.contact-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.5rem;align-items:start;margin-bottom:4rem}@media (max-width: 860px){.contact-layout{grid-template-columns:minmax(0,1fr)}}.contact-card{padding:1.5rem;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-elevated);box-shadow:0 1px 2px #0000000a}.contact-card h2{font-size:1.05rem;margin:0 0 .75rem}.contact-form{display:grid;gap:1rem}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 560px){.contact-row{grid-template-columns:minmax(0,1fr)}}.contact-field{display:grid;gap:.35rem;min-width:0}.contact-field>span{font-size:.875rem;font-weight:550;color:var(--ink)}.contact-field em{font-style:normal;font-weight:400;color:var(--muted)}.contact-field input,.contact-field select,.contact-field textarea{width:100%;font:inherit;font-size:.95rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-elevated);color:var(--ink)}.contact-field textarea{resize:vertical;min-height:9rem;line-height:1.55}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .18)}.contact-field.has-error input,.contact-field.has-error textarea{border-color:#dc2626}.contact-field small{color:#dc2626;font-size:.8rem}:root[data-theme=dark] .contact-field small{color:#f87171}.contact-alert{padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid rgb(220 38 38 / .35);background:#dc262612;font-size:.9rem}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.contact-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-sent p:last-child{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.contact-aside ul{margin:0;padding-left:1.1rem;display:grid;gap:.6rem;font-size:.9rem;color:var(--muted)}.contact-aside strong{color:var(--ink)}.admin-nav-badge{margin-left:.4rem;min-width:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;line-height:1.25rem;text-align:center;display:inline-block}.messages-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.messages-toolbar .status-tabs{margin:0}.messages-count{margin-left:.35rem;font-size:.75rem;opacity:.65}.messages-search{display:flex;gap:.5rem}.messages-search input{min-width:240px}.messages-list{list-style:none;margin:0;padding:0;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-elevated);overflow:hidden}.messages-item+.messages-item{border-top:1px solid var(--hairline)}.messages-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,2.6fr) auto;gap:1rem;align-items:center;width:100%;padding:.8rem 1rem;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.messages-row:hover{background:rgb(var(--ink-rgb) / .03)}.messages-item.is-new .messages-row{box-shadow:inset 3px 0 0 var(--accent)}.messages-item.is-new .messages-from strong,.messages-item.is-new .messages-subject{font-weight:700}.messages-from{display:grid;min-width:0}.messages-from>*,.messages-subject{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.messages-summary{display:flex;align-items:center;gap:.6rem;min-width:0}.messages-topic{flex:none;padding:.1rem .5rem;border-radius:999px;background:rgb(var(--accent-rgb) / .1);color:var(--accent);font-size:.75rem;font-weight:600}.messages-date{white-space:nowrap}.messages-detail{padding:.25rem 1rem 1.1rem}.messages-detail-subject{font-size:1rem;margin:.25rem 0 .5rem}.messages-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:0 0 1rem;padding:.85rem 1rem;border-radius:var(--radius-sm);background:rgb(var(--ink-rgb) / .03)}.messages-meta{display:grid;gap:.25rem;margin:0 0 1rem}.messages-meta div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.5rem}.messages-meta dt{color:var(--muted)}.messages-meta dd{margin:0}.messages-ua{color:var(--muted);overflow-wrap:anywhere}.messages-note{display:grid;gap:.3rem}.messages-note textarea{width:100%}.messages-actions{flex-wrap:wrap}.messages-delete{margin-left:auto;color:#dc2626}@media (max-width: 760px){.messages-row{grid-template-columns:minmax(0,1fr);gap:.3rem}}.legal-layout{display:grid;grid-template-columns:200px minmax(0,760px);gap:3rem;padding:2.5rem 0 4.5rem}@media (max-width: 860px){.legal-layout{grid-template-columns:minmax(0,1fr);gap:1.25rem;padding-top:1.5rem}}.legal-nav{display:flex;flex-direction:column;gap:.15rem;position:sticky;top:calc(var(--site-header-h) + 1.5rem);align-self:start}@media (max-width: 860px){.legal-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:.35rem}}.legal-nav-label{margin-bottom:.4rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@media (max-width: 860px){.legal-nav-label{display:none}}.legal-nav a{padding:.4rem .65rem;border-radius:var(--radius-sm);color:var(--muted);font-size:.9rem;text-decoration:none}.legal-nav a:hover{color:var(--ink);background:rgb(var(--ink-rgb) / .04)}.legal-nav a[aria-current=page]{color:var(--ink);font-weight:600;background:rgb(var(--accent-rgb) / .08);box-shadow:inset 2px 0 0 var(--accent)}.legal-doc{min-width:0;font-size:1rem;line-height:1.75;color:var(--ink)}.legal-head h1{margin:0 0 .35rem;font-size:clamp(2rem,4vw,2.6rem);letter-spacing:-.03em}.legal-head{padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--hairline)}.legal-lead{font-size:1.06rem;color:var(--ink)}.legal-doc h2{margin:2.25rem 0 .6rem;font-size:1.2rem;letter-spacing:-.015em;scroll-margin-top:calc(var(--site-header-h) + 1rem)}.legal-doc p,.legal-doc ul{margin:0 0 1rem;color:rgb(var(--ink-rgb) / .86)}.legal-doc ul{padding-left:1.25rem}.legal-doc li+li{margin-top:.35rem}.legal-toc{margin:1.5rem 0 .5rem;padding:1rem 1.25rem;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-elevated)}.legal-toc ol{margin:0;padding-left:1.25rem;columns:2;column-gap:2rem;font-size:.9rem}@media (max-width: 560px){.legal-toc ol{columns:1}}.legal-toc li{break-inside:avoid}.legal-table-wrap{overflow-x:auto;margin:0 0 1.25rem;border:1px solid var(--hairline);border-radius:var(--radius-lg)}.legal-table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.55}.legal-table th,.legal-table td{padding:.7rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--hairline)}.legal-table tr:last-child td{border-bottom:0}.legal-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:rgb(var(--ink-rgb) / .025)}.legal-table td:first-child{font-weight:600;white-space:nowrap}.legal-table td:first-child code{white-space:normal}.legal-foot{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--hairline)}.site-footer-legal{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem}.site-footer-legal a{color:var(--muted);text-decoration:none}.site-footer-legal a:hover{color:var(--ink)}.auth-beta{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.15rem 0 .6rem;font-size:.85rem;color:var(--muted)}.beta-pill{padding:.1rem .55rem;border-radius:999px;border:1px solid rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .1);color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-consent{display:flex;align-items:flex-start;gap:.6rem;margin:.25rem 0 1rem;font-size:.85rem;line-height:1.5;color:var(--muted);cursor:pointer}.auth-consent input{flex:none;width:1rem;height:1rem;margin-top:.15rem;accent-color:var(--accent)}.auth-soon{margin:1rem 0 0;text-align:center;font-size:.8rem;color:var(--muted)}.consent-banner{position:fixed;left:50%;bottom:1rem;z-index:1000;transform:translate(-50%);width:min(680px,calc(100vw - 2rem));display:flex;align-items:center;gap:1rem;padding:.9rem 1rem .9rem 1.15rem;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-elevated);color:var(--ink);box-shadow:0 10px 30px #0000002e,0 1px 3px #00000014;font-size:.875rem;line-height:1.5}.consent-banner p{margin:0;color:var(--muted)}.consent-banner strong{display:block;color:var(--ink)}.consent-actions{display:flex;flex:none;gap:.5rem}@media (max-width: 560px){.consent-banner{flex-direction:column;align-items:stretch}.consent-actions>*{flex:1}}.site-footer-link-btn{padding:0;border:0;background:none;color:var(--muted);font:inherit;cursor:pointer}.site-footer-link-btn:hover{color:var(--ink)}.timeline{position:relative;list-style:none;margin:1.5rem 0 2rem;padding:0 0 0 1.75rem}.timeline:before{content:"";position:absolute;left:.45rem;top:.4rem;bottom:.4rem;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--accent),rgb(var(--accent-rgb) / .15))}.timeline-item{position:relative;margin:0 0 .9rem;scroll-margin-top:calc(var(--site-header-h) + 1rem)}.timeline-dot{position:absolute;left:calc(-1.3rem - 5px);top:1.05rem;width:12px;height:12px;border-radius:50%;background:var(--surface-elevated);border:2px solid var(--muted)}.timeline-card{padding:.75rem 1rem;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-elevated);transition:border-color .15s ease,box-shadow .15s ease}.timeline-item:target .timeline-card{border-color:rgb(var(--accent-rgb) / .6);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .15)}.timeline-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem}.timeline-version{font-size:1rem;letter-spacing:-.01em}.timeline-head time{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.timeline-status{margin-left:auto;padding:.05rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap;border:1px solid var(--hairline);color:var(--muted);background:rgb(var(--ink-rgb) / .04)}.timeline-points{margin:.45rem 0 0;padding-left:1.1rem;font-size:.92rem;line-height:1.55;color:rgb(var(--ink-rgb) / .86)}.timeline-points li+li{margin-top:.15rem}.timeline-item.is-current .timeline-dot,.timeline-item.is-latest .timeline-dot{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px rgb(var(--accent-rgb) / .18)}.timeline-item.is-current .timeline-status,.timeline-item.is-latest .timeline-status{color:var(--accent);border-color:rgb(var(--accent-rgb) / .4);background:rgb(var(--accent-rgb) / .1)}.timeline-item.is-current .timeline-card,.timeline-item.is-latest .timeline-card{border-color:rgb(var(--accent-rgb) / .35)}.timeline-item.is-lts .timeline-dot,.timeline-item.is-supported .timeline-dot{border-color:#16a34a}.timeline-item.is-lts .timeline-status,.timeline-item.is-supported .timeline-status{color:#15803d;border-color:#16a34a59;background:#16a34a14}.timeline-item.is-security .timeline-dot{border-color:#d97706}.timeline-item.is-security .timeline-status{color:#b45309;border-color:#d9770659;background:#d9770614}.timeline-item.is-upcoming .timeline-dot{border-style:dashed;border-color:#6366f1}.timeline-item.is-upcoming .timeline-status{color:#4f46e5;border-color:#6366f159;background:#6366f114}.timeline-item.is-eol .timeline-card,.timeline-item.is-historic .timeline-card{background:transparent}:root[data-theme=dark] .timeline-item.is-lts .timeline-status,:root[data-theme=dark] .timeline-item.is-supported .timeline-status{color:#4ade80}:root[data-theme=dark] .timeline-item.is-security .timeline-status{color:#fbbf24}:root[data-theme=dark] .timeline-item.is-upcoming .timeline-status{color:#a5b4fc}@media (max-width: 560px){.timeline-status{margin-left:0}}.timeline .timeline-points{margin-bottom:0}.timeline .timeline-item>.timeline-card>:last-child{margin-bottom:0}.ref-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 0}.ref-badge{display:inline-flex;align-items:center;padding:.12rem .6rem;border-radius:999px;border:1px solid var(--hairline);background:rgb(var(--ink-rgb) / .03);color:var(--muted);font-size:.78rem;font-weight:600;text-decoration:none;white-space:nowrap}a.ref-badge:hover{color:var(--ink);border-color:rgb(var(--accent-rgb) / .45)}.ref-badge-version{color:var(--accent);border-color:rgb(var(--accent-rgb) / .4);background:rgb(var(--accent-rgb) / .08)}.ref-badge-warn{color:#b45309;border-color:#d9770659;background:#d9770614}:root[data-theme=dark] .ref-badge-warn{color:#fbbf24}.ref-table{width:100%;border-collapse:collapse;font-size:.94rem}.ref-table th,.ref-table td{padding:.6rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--hairline)}.ref-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.ref-table td:first-child{white-space:nowrap;width:1%}.ref-table td:first-child a{text-decoration:none}.ref-table tbody tr:hover{background:rgb(var(--ink-rgb) / .025)}.ref-entry h2{scroll-margin-top:calc(var(--site-header-h) + 1rem)}@media (max-width: 560px){.ref-table td:first-child{white-space:normal}}.lp-art{position:relative;padding-top:72px}.lp-art .lp-editor{position:relative;z-index:1}.lp-mascot{position:absolute;top:0;right:36px;z-index:0;display:flex;align-items:flex-start;gap:.5rem;pointer-events:none}.lp-mascot-camel{--accent: #2dd4bf;display:block;width:118px;height:110px;filter:drop-shadow(0 8px 24px rgb(45 212 191 / .25));transform-origin:50% 100%}.lp-mascot-camel svg{width:100%;height:100%;display:block}.lp-mascot-bubble{position:relative;margin-top:6px;padding:.35rem .75rem;border-radius:999px;background:#ffffffeb;color:#0b0b10;font-size:.8rem;font-weight:600;line-height:1.35;width:max-content;max-width:250px;text-align:center;text-wrap:balance;box-shadow:0 6px 18px #00000059}.lp-mascot-bubble>span{display:none}.lp-mascot-bubble>span.is-active{display:block}@media (prefers-reduced-motion: no-preference){.lp-mascot-bubble>span.is-active{animation:lp-bubble-text .4s var(--ease) both}@keyframes lp-bubble-text{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}}.lp-mascot-bubble:after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;background:inherit;transform:translateY(-50%) rotate(45deg);border-radius:2px}@media (prefers-reduced-motion: no-preference){.lp-mascot-camel{animation:lp-mascot-bob 3.2s ease-in-out infinite}.lp-mascot-bubble{animation:lp-bubble-in .5s var(--ease) 1.2s both}@keyframes lp-mascot-bob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-2deg)}}@keyframes lp-bubble-in{0%{opacity:0;transform:translateY(6px) scale(.9)}to{opacity:1;transform:none}}}@media (max-width: 560px){.lp-art{padding-top:60px}.lp-mascot{right:12px}.lp-mascot-camel{width:92px;height:86px}.lp-mascot-bubble{max-width:170px}}.lp-slides{padding:3.5rem 0 1rem}.lp-slides-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:var(--radius-xl);outline:none}.lp-slides-track::-webkit-scrollbar{display:none}.lp-slides-track:focus-visible{box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .35)}.lp-slide{scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;align-items:center;padding:2.5rem 2.75rem;border:1px solid var(--hairline);border-radius:var(--radius-xl);background:radial-gradient(ellipse 60% 90% at 100% 0%,rgb(var(--glow) / .12),transparent 70%),var(--surface-elevated)}.lp-slide-title{margin:.35rem 0 .6rem;font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:-.03em;line-height:1.15}.lp-slide-text{margin:0 0 1.1rem;max-width:52ch;color:var(--muted);font-size:1.02rem;line-height:1.6}.lp-slide-cta{font-weight:600;text-decoration:none}.lp-slide-cta:hover span{margin-left:.15rem}.lp-slide-stat{display:grid;justify-items:center;text-align:center}.lp-slide-stat strong{font-size:clamp(3rem,7vw,5rem);line-height:1;letter-spacing:-.04em;background:linear-gradient(135deg,var(--accent),rgb(var(--glow)));-webkit-background-clip:text;background-clip:text;color:transparent}.lp-slide-stat span{margin-top:.35rem;color:var(--muted);font-size:.95rem}.lp-slides-nav{display:flex;align-items:center;justify-content:center;gap:.9rem;margin-top:1rem}.lp-slides-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--hairline);background:var(--surface-elevated);color:var(--ink);font-size:1.2rem;line-height:1;cursor:pointer}.lp-slides-btn:hover{border-color:rgb(var(--accent-rgb) / .5)}.lp-slides-dots{display:flex;gap:.45rem}.lp-slides-dot{width:8px;height:8px;border-radius:999px;background:rgb(var(--ink-rgb) / .2);transition:width .25s var(--ease),background .25s var(--ease)}.lp-slides-dot[aria-current=true]{width:22px;background:var(--accent)}@media (max-width: 760px){.lp-slide{grid-template-columns:minmax(0,1fr);padding:1.75rem 1.4rem;gap:1.2rem}.lp-slide-stat{justify-items:start;text-align:left}}
