:root{--color-grim-bg: var(--color-grim-bg, #0a0a0f);--color-grim-surface: var(--color-grim-surface, #141420);--color-grim-surface-hover: var(--color-grim-surface-hover, #1c1c2e);--color-grim-border: var(--color-grim-border, #2a2a3a);--color-grim-text: var(--color-grim-text, #e0e0e8);--color-grim-text-muted: var(--color-grim-text-muted, #8a8a9a);--color-grim-accent: var(--color-grim-accent, #8b5cf6);--color-grim-success: var(--color-grim-success, #22c55e);--color-grim-warning: var(--color-grim-warning, #f59e0b);--color-grim-error: var(--color-grim-error, #ef4444);--color-grim-muted: var(--color-grim-muted, #4a4a5a)}.dev-settings{margin-top:16px;border-top:1px solid var(--color-grim-border);padding-top:16px}.dev-settings__row{display:flex;align-items:center;justify-content:space-between;gap:12px}.dev-settings__label{font-size:.875rem;font-weight:600;color:var(--color-grim-text);display:block}.dev-settings__sublabel{font-size:.75rem;color:var(--color-grim-text-muted);display:block;margin-top:2px}.dev-settings__toggle{position:relative;width:44px;height:24px;border-radius:12px;border:1px solid var(--color-grim-border);background:var(--color-grim-bg);cursor:pointer;transition:background .2s,border-color .2s;flex-shrink:0}.dev-settings__toggle--on{background:var(--color-grim-warning);border-color:var(--color-grim-warning)}.dev-settings__toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--color-grim-text);transition:transform .2s}.dev-settings__toggle--on .dev-settings__toggle-knob{transform:translate(20px);background:#fff}.dev-settings__info{margin-top:12px;padding:10px;border-radius:8px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2)}.dev-settings__warning{font-size:.75rem;color:var(--color-grim-warning);margin:0}.dev-settings__feedback-count{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.75rem;color:var(--color-grim-text-muted)}.dev-settings__copy-btn{height:24px;padding:0 8px;border-radius:6px;border:1px solid var(--color-grim-border);background:var(--color-grim-bg);color:var(--color-grim-accent);font-size:.6875rem;cursor:pointer}.dev-mode-bar{position:fixed;top:0;left:0;right:0;z-index:9999;height:28px;display:flex;align-items:center;gap:6px;padding:0 12px;overflow-x:auto;scrollbar-width:none;background:linear-gradient(90deg,#f59e0b26,#ef444426);border-bottom:1px solid rgba(245,158,11,.3);font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-grim-warning);pointer-events:auto}.dev-mode-bar::-webkit-scrollbar{display:none}.dev-mode-bar__sep{opacity:.3;flex-shrink:0}.dev-mode-bar__version{font-size:.5625rem;opacity:.5;flex-shrink:0;font-family:monospace;text-transform:none;letter-spacing:0}.dev-mode-bar__link{display:flex;align-items:center;gap:3px;flex-shrink:0;color:var(--color-grim-text-muted);text-decoration:none;padding:2px 6px;border-radius:4px;transition:color .15s,background .15s;font-size:.625rem;text-transform:none;letter-spacing:0}.dev-mode-bar__link:hover{color:var(--color-grim-text);background:#ffffff0f}.dev-mode-bar__dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.dev-mode-bar__dot--live{background:var(--color-grim-success)}.dev-mode-bar__dot--built{background:var(--color-grim-warning)}.dev-mode-bar__dot--pkg{background:var(--color-grim-muted)}.dev-mode-bar__link--live{color:var(--color-grim-success)}.dev-mode-bar__link--built{color:var(--color-grim-text-muted)}.dev-mode-bar__link--pkg{color:var(--color-grim-muted);opacity:.7}.dev-feedback-pill{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0px));left:16px;z-index:40;display:flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:9999px;border:1px solid var(--color-grim-warning);background:var(--color-grim-surface);color:var(--color-grim-warning);font-size:.8125rem;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #0000004d;transition:background .2s ease,transform .15s ease}.dev-feedback-pill:hover{background:var(--color-grim-surface-hover)}.dev-feedback-pill:active{transform:scale(.96)}.dev-feedback-pill__dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-grim-warning);animation:status-pulse 2s ease-in-out infinite}.dev-feedback-pill__count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:9999px;background:var(--color-grim-error);color:#fff;font-size:.625rem;font-weight:700}.dev-pin-overlay{position:fixed;inset:0;z-index:39;cursor:crosshair;pointer-events:none}.dev-feedback-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#00000080;padding:16px}.dev-feedback-panel{width:100%;max-width:480px;max-height:80vh;overflow-y:auto;border-radius:1.25rem;border:1px solid var(--color-grim-border);background:var(--color-grim-surface);padding:20px 20px 24px;animation:dev-slide-up .2s ease-out}@keyframes dev-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.dev-feedback-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dev-feedback-panel__title{font-size:1rem;font-weight:700;color:var(--color-grim-text)}.dev-feedback-panel__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--color-grim-text-muted);font-size:1.25rem;cursor:pointer;transition:background .15s ease}.dev-feedback-panel__close:hover{background:var(--color-grim-surface-hover)}.dev-feedback-panel__page{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dev-feedback-panel__page-label{font-size:.75rem;color:var(--color-grim-text-muted)}.dev-feedback-panel__page-path{font-size:.75rem;color:var(--color-grim-accent);background:var(--color-grim-bg);padding:2px 8px;border-radius:6px}.dev-feedback-panel__pin-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.dev-feedback-pin-btn{height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--color-grim-border);background:var(--color-grim-bg);color:var(--color-grim-text-muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.dev-feedback-pin-btn:hover{border-color:var(--color-grim-warning);color:var(--color-grim-warning)}.dev-feedback-pin-btn--active{border-color:var(--color-grim-warning);background:#f59e0b1a;color:var(--color-grim-warning)}.dev-feedback-panel__selector{font-size:.625rem;color:var(--color-grim-warning);background:var(--color-grim-bg);padding:2px 6px;border-radius:4px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-feedback-panel__textarea{width:100%;min-height:80px;resize:vertical;border-radius:12px;border:1px solid var(--color-grim-border);background:var(--color-grim-bg);color:var(--color-grim-text);padding:12px;font-size:.8125rem;margin-bottom:8px;font-family:inherit}.dev-feedback-panel__textarea:focus{outline:none;border-color:var(--color-grim-accent)}.dev-feedback-panel__textarea::placeholder{color:var(--color-grim-text-muted)}.dev-feedback-panel__submit{width:100%;height:40px;border-radius:12px;border:none;background:var(--color-grim-accent);color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s ease;margin-bottom:16px}.dev-feedback-panel__submit:hover{background:var(--color-grim-accent-hover)}.dev-feedback-panel__submit:disabled{opacity:.5;cursor:not-allowed}.dev-feedback-panel__list{border-top:1px solid var(--color-grim-border);padding-top:12px}.dev-feedback-panel__list-title{font-size:.75rem;font-weight:600;color:var(--color-grim-text-muted);margin-bottom:8px}.dev-feedback-card{padding:10px;border-radius:10px;border:1px solid var(--color-grim-border);background:var(--color-grim-bg);margin-bottom:8px}.dev-feedback-card--resolved{opacity:.5}.dev-feedback-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.dev-feedback-card__target{font-size:.625rem;color:var(--color-grim-accent);font-family:monospace;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-feedback-card__time{font-size:.625rem;color:var(--color-grim-text-muted);white-space:nowrap}.dev-feedback-card__text{font-size:.8125rem;color:var(--color-grim-text);margin-bottom:6px;line-height:1.4}.dev-feedback-card__actions{display:flex;gap:6px}.dev-feedback-card__btn{height:26px;padding:0 8px;border-radius:6px;border:1px solid var(--color-grim-border);background:transparent;color:var(--color-grim-text-muted);font-size:.625rem;cursor:pointer;transition:all .15s ease}.dev-feedback-card__btn:hover{border-color:var(--color-grim-accent);color:var(--color-grim-accent)}.dev-feedback-card__btn--delete:hover{border-color:var(--color-grim-error);color:var(--color-grim-error)}.dev-feedback-highlight{outline:2px solid var(--color-grim-warning)!important;outline-offset:2px;box-shadow:0 0 0 4px #f59e0b33!important}.dev-feedback-has-badge{position:relative}.dev-feedback-badge{position:absolute;top:-4px;right:-4px;width:10px;height:10px;border-radius:50%;background:var(--color-grim-warning);border:2px solid var(--color-grim-bg);pointer-events:none;z-index:30}:root{--gold: #c8973a;--gold-dim: #a07a2e;--gold-bright: #e0b050;--bg: #06080a;--surface: #0c1018;--surface-raised: #111822;--border: #1a2230;--border-accent: #2a3444;--text-primary: #e8e0d4;--text-secondary: #9ca3af;--text-muted: #6b7280;--danger: #ef4444;--font-heading: "Cinzel", serif;--font-mono: "JetBrains Mono", monospace;--font-body: system-ui, -apple-system, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;min-height:100dvh}#root{display:flex;flex-direction:column;min-height:100dvh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-accent);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--text-primary);line-height:1.3}a{color:var(--gold);text-decoration:none}a:hover{color:var(--gold-bright);text-decoration:underline}.header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}.header-inner{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;height:56px}.header-brand{display:flex;align-items:center;gap:.5rem;cursor:pointer;user-select:none}.header-brand h1{font-size:1.125rem;font-weight:700;color:var(--gold);letter-spacing:.02em}.desktop-nav{display:none;gap:.25rem}@media (min-width: 768px){.desktop-nav{display:flex}}.nav-btn{background:none;border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:.8125rem;padding:.5rem .75rem;border-radius:6px;cursor:pointer;transition:color .15s,background .15s;white-space:nowrap}.nav-btn:hover{color:var(--text-primary);background:var(--surface-raised)}.nav-btn.active{color:var(--gold);font-weight:600}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:6px}.hamburger-btn:hover{background:var(--surface-raised)}@media (min-width: 768px){.hamburger-btn{display:none}}.mobile-menu{display:none;flex-direction:column;padding:.5rem 1rem 1rem;border-top:1px solid var(--border);background:var(--surface)}.mobile-menu.open{display:flex}@media (min-width: 768px){.mobile-menu{display:none!important}}.mobile-menu .nav-btn{text-align:left;padding:.75rem 1rem;font-size:.9375rem;min-height:48px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--surface);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom,0px)}@media (min-width: 768px){.bottom-nav{display:none}}.bottom-nav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;color:var(--text-muted);font-family:var(--font-body);font-size:.625rem;padding:.5rem .25rem;min-height:48px;min-width:48px;cursor:pointer;transition:color .15s;flex:1}.bottom-nav-btn:hover,.bottom-nav-btn.active{color:var(--gold)}.bottom-nav-btn svg{width:20px;height:20px}.main-content{flex:1;max-width:900px;width:100%;margin:0 auto;padding:2rem 1rem;padding-bottom:calc(2rem + 64px)}@media (min-width: 768px){.main-content{padding-bottom:2rem}}.prose p{color:var(--text-secondary);margin-bottom:1rem}.prose strong{color:var(--text-primary);font-weight:600}.prose ul,.prose ol{color:var(--text-secondary);padding-left:1.5rem;margin-bottom:1rem}.prose li{margin-bottom:.375rem}.prose li ul,.prose li ol{margin-top:.375rem;margin-bottom:0}.blockquote{border-left:3px solid var(--gold);background:var(--surface);padding:1.25rem 1.5rem;margin:2rem 0;border-radius:0 6px 6px 0}.blockquote p{color:var(--text-secondary);font-style:italic;line-height:1.7}.blockquote .attribution{text-align:right;font-style:normal;font-size:.875rem;margin-top:.75rem;color:var(--text-muted)}.content-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1rem}.callout{border-left:3px solid var(--gold);background:var(--surface-raised);padding:.75rem 1rem;border-radius:0 6px 6px 0;margin:1rem 0}.callout p{color:var(--text-secondary);font-size:.9375rem}.callout strong{color:var(--gold)}.accordion{margin-bottom:.75rem}.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--surface);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-body);font-size:.9375rem;font-weight:600;padding:1rem;border-radius:8px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s;min-height:48px}.accordion-trigger:hover{background:var(--surface-raised);border-color:var(--border-accent)}.accordion-trigger.open{border-radius:8px 8px 0 0;border-bottom-color:transparent}.accordion-trigger .chevron{width:18px;height:18px;flex-shrink:0;transition:transform .25s ease;color:var(--text-muted)}.accordion-trigger.open .chevron{transform:rotate(180deg)}.accordion-body{overflow:hidden;max-height:0;transition:max-height .35s ease-in-out;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px}.accordion-body-inner{padding:1rem}.accordion-body-inner p{color:var(--text-secondary);margin-bottom:.75rem;font-size:.9375rem}.accordion-body-inner p:last-child{margin-bottom:0}.accordion-body-inner ul,.accordion-body-inner ol{color:var(--text-secondary);padding-left:1.5rem;margin-bottom:.75rem;font-size:.9375rem}.accordion-body-inner li{margin-bottom:.375rem}.accordion-body-inner em.code-note{font-size:.75rem;color:var(--text-muted)}.section-heading{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;margin-top:2rem;margin-bottom:1rem;color:var(--text-primary)}.page-title{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.page-subtitle{color:var(--gold);font-style:italic;font-size:1.0625rem;margin-bottom:1.5rem}.form-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.form-section h3{color:var(--gold);font-size:1.125rem;font-weight:600;margin-bottom:.75rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.form-field{margin-bottom:.75rem}.form-field label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:.25rem;font-size:.9375rem}.form-field .input-placeholder{border:1px dashed var(--border-accent);background:var(--bg);padding:.5rem;border-radius:4px;min-height:38px;color:var(--text-muted);font-size:.875rem;font-family:var(--font-mono)}.form-field .note{font-size:.75rem;font-style:italic;color:var(--text-muted);margin-top:.25rem}.required-ast{color:var(--danger);margin-left:2px}.form-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 640px){.form-grid{grid-template-columns:1fr 1fr}}.link-text{color:var(--gold);cursor:pointer;font-weight:600}.link-text:hover{color:var(--gold-bright);text-decoration:underline}.footer{background:var(--surface);border-top:1px solid var(--border);padding:1.5rem 1rem;text-align:center}.footer p{color:var(--text-muted);font-size:.8125rem}
