:root{color-scheme:light dark;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:"Lora", "Georgia", "Times New Roman", serif;--sidebar-width:16.5rem;--header-height:3.25rem;--content-max:46rem;--radius-sm:6px;--radius-md:8px;--focus-ring:2px solid var(--accent);--focus-offset:2px;--accent:#2383e2;--accent-hover:#1a6fc7;--accent-subtle:#2383e21f;--bg-app:#fff;--bg-sidebar:#f7f6f3;--bg-elevated:#fff;--bg-hover:#37352f0f;--bg-active:#37352f1a;--border:#37352f17;--border-strong:#37352f29;--text:#37352f;--text-muted:#787774;--text-faint:#9b9a97;--shadow-sm:0 1px 2px #0f0f0f0a;--overlay:#0f0f0f66}[data-theme=dark]{--accent:#529cca;--accent-hover:#6eb0d9;--accent-subtle:#529cca2e;--bg-app:#191919;--bg-sidebar:#202020;--bg-elevated:#252525;--bg-hover:#ffffff0e;--bg-active:#ffffff1a;--border:#ffffff14;--border-strong:#ffffff24;--text:#ffffffe6;--text-muted:#fff9;--text-faint:#ffffff70;--shadow-sm:0 1px 2px #00000059;--overlay:#0000008c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent:#529cca;--accent-hover:#6eb0d9;--accent-subtle:#529cca2e;--bg-app:#191919;--bg-sidebar:#202020;--bg-elevated:#252525;--bg-hover:#ffffff0e;--bg-active:#ffffff1a;--border:#ffffff14;--border-strong:#ffffff24;--text:#ffffffe6;--text-muted:#fff9;--text-faint:#ffffff70;--shadow-sm:0 1px 2px #00000059;--overlay:#0000008c}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-height:100dvh;font-family:var(--font-sans);color:var(--text);background:var(--bg-app);margin:0;font-size:1rem;line-height:1.6}:focus{outline:none}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.skip-link{z-index:1000;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);padding:.5rem .875rem;transition:transform .15s;position:absolute;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.app-shell{grid-template-columns:var(--sidebar-width) 1fr;min-height:100dvh;display:grid}@media (width<=768px){.app-shell{grid-template-columns:1fr}.app-shell[data-sidebar-open=true] .sidebar-overlay{opacity:1;pointer-events:auto}.app-shell[data-sidebar-open=true] .sidebar{transform:translate(0)}}.sidebar-overlay{display:none}@media (width<=768px){.sidebar-overlay{z-index:40;background:var(--overlay);opacity:0;pointer-events:none;cursor:pointer;border:none;transition:opacity .2s;display:block;position:fixed;inset:0}}.sidebar{z-index:50;background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden}@media (width<=768px){.sidebar{width:min(var(--sidebar-width), 88vw);box-shadow:var(--shadow-sm);transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%)}}.sidebar-header{border-bottom:1px solid var(--border);min-height:var(--header-height);align-items:center;gap:.5rem;padding:.875rem .75rem .625rem;display:flex}.sidebar-brand{min-width:0;color:var(--text);border-radius:var(--radius-sm);flex:1;padding:.25rem .375rem;font-size:.8125rem;font-weight:600;line-height:1.35;text-decoration:none}.sidebar-brand:hover{background:var(--bg-hover)}.sidebar-brand span{color:var(--text-muted);font-size:.75rem;font-weight:500;display:block}.sidebar-nav{flex:1;padding:.5rem .5rem 1rem;overflow-y:auto}.sidebar-section-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin:.75rem .375rem .375rem;font-size:.6875rem;font-weight:600}.nav-list{margin:0;padding:0;list-style:none}.nav-link{border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:.5rem;margin:1px 0;padding:.375rem .5rem;font-size:.875rem;line-height:1.4;text-decoration:none;display:flex}.nav-link:hover{background:var(--bg-hover);color:var(--text)}.nav-link[aria-current=page]{background:var(--bg-active);color:var(--text);font-weight:500}.nav-icon{opacity:.72;flex-shrink:0;width:1.125rem;height:1.125rem}.main-column{flex-direction:column;min-width:0;display:flex}.top-bar{z-index:30;min-height:var(--header-height);background:color-mix(in srgb, var(--bg-app) 92%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex;position:sticky;top:0}@media (width>=769px){.menu-button{display:none}}.menu-button{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.menu-button:hover{background:var(--bg-hover);color:var(--text)}.page-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:.9375rem;font-weight:500;overflow:hidden}.top-bar-actions{align-items:center;gap:.25rem;display:flex}.icon-button{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--bg-hover);color:var(--text)}.page-content{width:100%;max-width:calc(var(--content-max) + 4rem);flex:1;margin:0 auto;padding:2rem 1.25rem 4rem}@media (width>=640px){.page-content{padding:2.75rem 2rem 5rem}}.prose{color:var(--text);font-size:1rem;line-height:1.7}.prose>:first-child{margin-top:0}.prose h1{letter-spacing:-.02em;margin:0 0 .75rem;font-size:clamp(1.875rem,4vw,2.375rem);font-weight:700;line-height:1.2}.prose h2{margin:2rem 0 .5rem;padding-top:.25rem;font-size:1.375rem;font-weight:600}.prose h3{margin:1.5rem 0 .375rem;font-size:1.125rem;font-weight:600}.prose p,.prose ul,.prose ol,.prose blockquote{margin:.65rem 0}.prose ul,.prose ol{padding-left:1.35rem}.prose li{margin:.25rem 0}.prose li::marker{color:var(--text-muted)}.prose strong{font-weight:600}.prose em{font-style:italic}.prose hr{border:none;border-top:1px solid var(--border);margin:1.75rem 0}.prose a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.prose a:hover{color:var(--accent-hover)}.prose blockquote{border-left:3px solid var(--border-strong);color:var(--text-muted);padding-left:.875rem}.signup-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-sm);margin-top:2.5rem;padding:1.25rem}.signup-panel h2{margin:0 0 .25rem;font-size:1.125rem}.signup-panel>p{color:var(--text-muted);margin:0 0 1rem;font-size:.9375rem}.form-grid{gap:1rem;display:grid}@media (width>=540px){.form-grid.two-col{grid-template-columns:1fr 1fr}}.form-field{flex-direction:column;gap:.375rem;display:flex}.form-field label{color:var(--text);font-size:.8125rem;font-weight:500}.form-field .hint{color:var(--text-muted);font-size:.75rem}.form-field input,.form-field textarea,.form-field select{width:100%;font:inherit;color:var(--text);background:var(--bg-app);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.5rem .625rem}.form-field input:hover,.form-field textarea:hover,.form-field select:hover{border-color:var(--text-faint)}.form-field textarea{resize:vertical;min-height:5rem}.fieldset-inline{border:none;margin:0;padding:0}.fieldset-inline legend{margin-bottom:.5rem;font-size:.8125rem;font-weight:500}.radio-row{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.radio-row label{cursor:pointer;align-items:center;gap:.375rem;font-size:.875rem;font-weight:400;display:inline-flex}.btn-primary{font:inherit;color:#fff;background:var(--accent);border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.5rem .875rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn-primary:hover{background:var(--accent-hover)}.form-status{border-radius:var(--radius-sm);border:1px solid var(--border);margin:.875rem 0 0;padding:.625rem .75rem;font-size:.875rem}.form-status--success{color:var(--text);background:var(--accent-subtle);border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.form-status--error{color:var(--text);background:color-mix(in srgb, #c0392b 12%, var(--bg-elevated));border-color:color-mix(in srgb, #c0392b 35%, var(--border))}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
