:root{--bg: #0f172a;--panel: #020617;--text: #e5e7eb;--text-muted: #94a3b8;--text-soft: #cbd5f5;--border: #334155;--panel-border: #1e293b;--accent: #22c55e;--accent-hover: #159845;--accent-hover-bg: color-mix( in srgb, var(--accent-hover) 10%, transparent );--accent-contrast: #022c22;--secondary: #3b82f6;--secondary-hover: #2563eb;--secondary-hover-bg: color-mix( in srgb, var(--secondary-hover) 10%, transparent );--warning: #fbbf24;--danger: #f87171;--backdrop: rgba(2, 6, 23, .85);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .6);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .05);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--control-bg: transparent;--control-border: var(--border);--control-text: var(--text);--control-padding-y: .6rem;--control-padding-x: .75rem}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;background:radial-gradient(circle at top,var(--bg),var(--panel));color:var(--text)}.app{min-height:100vh;display:flex}button{cursor:pointer;font:inherit;transition:filter .15s ease,transform .15s ease,background-color .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease;border:1px solid var(--border);border-radius:var(--radius-md);font-size:1rem;background:var(--control-bg);color:var(--text-soft);padding:.3rem .6rem}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.06);border:1px solid var(--accent-hover);background:var(--accent-hover-bg)}.room button:hover:not(:disabled){filter:brightness(1.15);border:1px solid var(--accent-hover);background:var(--bg)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),textarea,select{font:inherit;color:var(--control-text);background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:var(--control-padding-y) var(--control-padding-x);outline:none}.room input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.room textarea,.room select{padding:.1rem}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.9}.no-select{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}
