:root{--s-accent: #FF6B35;--s-accent-dim: rgba(255, 107, 53, .15);--s-accent-glow: rgba(255, 107, 53, .3);--forge-canvas: #0D0D0D;--forge-surface: #1A1A1A;--forge-surface-raised: #222222;--forge-surface-sunken: #0A0A0A;--forge-ember: #FF6B35;--forge-ember-dim: rgba(255, 107, 53, .12);--forge-ember-glow: 0 0 20px rgba(255, 107, 53, .25);--forge-ember-hover: 0 0 30px rgba(255, 107, 53, .35);--forge-shimmer-speed: 2s;--forge-cat-layout: #3B82F6;--forge-cat-content: #22C55E;--forge-cat-interactive: #F59E0B;--forge-cat-utility: #6B7280;--forge-grid-color: rgba(255, 107, 53, .06);--forge-grid-color-major: rgba(255, 107, 53, .12);--forge-sidebar-width: 260px;--forge-properties-width: 280px;--forge-ai-panel-width: 360px;--forge-toolbar-height: 44px;--forge-text-primary: #F5F5F5;--forge-text-secondary: #A3A3A3;--forge-text-muted: #666666;--forge-border: #2A2A2A;--forge-border-hover: #3A3A3A}.forge-interactive{transition:box-shadow .25s ease,transform .15s ease}.forge-interactive:hover{box-shadow:var(--forge-ember-hover)}.forge-interactive:active{transform:scale(.98)}.forge-gradient-text{background:linear-gradient(135deg,#ff6b35,#ff9a6c,#ffd4a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.forge-card{background:var(--forge-surface);border:1px solid var(--forge-border);border-radius:8px;transition:border-color .2s ease,box-shadow .2s ease}.forge-card:hover{border-color:var(--forge-border-hover);box-shadow:var(--forge-ember-glow)}.forge-input{background:var(--forge-surface-sunken);border:1px solid var(--forge-border);border-radius:6px;color:var(--forge-text-primary);font-family:Inter,sans-serif;font-size:13px;padding:6px 10px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.forge-input:focus{border-color:var(--forge-ember);box-shadow:0 0 0 2px var(--forge-ember-dim)}.forge-input::placeholder{color:var(--forge-text-muted)}@keyframes forge-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes forge-heat-wave{0%,to{filter:blur(0px);opacity:1}50%{filter:blur(.5px);opacity:.95}}@keyframes forge-pulse{0%,to{box-shadow:0 0 8px #ff6b3533}50%{box-shadow:0 0 20px #ff6b3566}}@keyframes forge-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes forge-slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes forge-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:"Inter",var(--s-font-body, sans-serif);font-weight:400;line-height:1.5;color:var(--forge-text-primary, #F5F5F5);background:var(--forge-canvas, #0D0D0D);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:"Playfair Display",var(--s-font-heading, serif);font-weight:600;line-height:1.2;color:var(--forge-text-primary)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}code,pre,.mono{font-family:"JetBrains Mono",var(--s-font-mono, monospace)}a{color:var(--forge-ember);text-decoration:none;transition:color .2s ease}a:hover{color:#ff9a6c}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;color:inherit}img,svg{display:block;max-width:100%}::selection{background:#ff6b354d;color:#fff}:focus-visible{outline:2px solid var(--forge-ember);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--forge-surface-sunken)}::-webkit-scrollbar-thumb{background:var(--forge-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--forge-border-hover)}*{scrollbar-width:thin;scrollbar-color:var(--forge-border) var(--forge-surface-sunken)}#root{min-height:100vh;display:flex;flex-direction:column}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
