:root,[data-theme=dark]{--bg-void: #141311;--bg-surface: #1c1a17;--bg-surface-2: #262320;--border-subtle: #38332c;--border-strong: #4c4437;--ink: #f2ede4;--ink-muted: #a49a89;--ember: #ff7a3d;--ember-deep: #b8410a;--ember-soft: rgba(255, 122, 61, .16);--brass: #d4a73d;--success: #7fa84f;--danger: #d9573f;--grid-line: rgba(242, 237, 228, .035);color-scheme:dark}[data-theme=light]{--bg-void: #eae6de;--bg-surface: #f5f2ea;--bg-surface-2: #fbf9f4;--border-subtle: #d8d1c2;--border-strong: #c2b8a3;--ink: #241f18;--ink-muted: #6b6255;--ember: #c2410c;--ember-deep: #7c2d12;--ember-soft: rgba(194, 65, 12, .1);--brass: #9c6b12;--success: #4f7a2e;--danger: #b8402b;--grid-line: rgba(36, 31, 24, .05);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg-void);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:32px 32px;transition:background-color .35s ease,color .35s ease;min-height:100vh}body,button,input,textarea{color:var(--ink)}button,input,textarea,.theme-transition{transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}::selection{background:var(--ember);color:var(--bg-void)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--ember-deep)}:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.ember-particle{position:absolute;bottom:0;width:4px;height:4px;border-radius:999px;background:var(--ember);box-shadow:0 0 8px 2px var(--ember);pointer-events:none}.forge-loader{display:flex;align-items:flex-end;gap:8px;height:28px}.forge-loader span{width:10px;height:10px;border-radius:999px;background:linear-gradient(180deg,var(--ember) 0%,var(--ember-deep) 100%);box-shadow:0 0 10px 2px var(--ember-soft);animation:forge-bounce 1s ease-in-out infinite}.forge-loader span:nth-child(2){animation-delay:.15s}.forge-loader span:nth-child(3){animation-delay:.3s}.forge-loader--light span{background:#fffffff2;box-shadow:0 0 8px 1px #ffffff80}@keyframes forge-bounce{0%,80%,to{transform:translateY(0);opacity:.55}40%{transform:translateY(-10px);opacity:1}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.forge-prose{color:var(--ink);line-height:1.7;font-size:.975rem}.forge-prose>*:first-child{margin-top:0}.forge-prose>*:last-child{margin-bottom:0}.forge-prose p{margin:.75em 0}.forge-prose ul,.forge-prose ol{margin:.75em 0;padding-left:1.4em}.forge-prose ul{list-style:disc}.forge-prose ol{list-style:decimal}.forge-prose li{margin:.3em 0}.forge-prose h1,.forge-prose h2,.forge-prose h3{font-family:Space Grotesk,sans-serif;color:var(--ink);font-weight:600;margin:1.1em 0 .5em;line-height:1.3}.forge-prose h1{font-size:1.5rem}.forge-prose h2{font-size:1.25rem}.forge-prose h3{font-size:1.1rem}.forge-prose hr{border:none;border-top:1px solid var(--border-subtle);margin:1.5em 0}.forge-prose table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.9em}.forge-prose th,.forge-prose td{border:1px solid var(--border-subtle);padding:.5em .75em;text-align:left}.forge-prose th{background:var(--bg-surface-2)}.forge-prose strong{color:var(--ember);font-weight:600}.forge-prose code{font-family:IBM Plex Mono,monospace;color:var(--brass);background:var(--bg-surface-2);padding:.15em .4em;border-radius:4px;border:1px solid var(--border-subtle)}.forge-prose pre{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:10px;padding:1rem}.forge-prose pre code{border:none;padding:0;background:none}.forge-prose blockquote{border-left:3px solid var(--ember);color:var(--ink-muted);padding-left:1rem}.forge-prose a{color:var(--ember)}html,body{overflow-x:hidden}img,canvas,svg{max-width:100%}:focus-visible{outline:2px solid #ff7a3d;outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{[role=tabpanel][hidden]{display:block!important}}
