:root{--bg: #0b0c0e;--surface: #141619;--surface-2: #1b1e23;--border: #2a2d33;--text-1: #e7e9ea;--text-2: #a7adb4;--muted: #7c828a;--accent: #3b6ef5;--accent-2: #2f5fe0;--on-accent: #ffffff;--danger: #ff6b6b;--warn-bg: rgba(240, 180, 80, .12);--warn-border: rgba(240, 180, 80, .38);--warn-text: #e7b866;--info-bg: rgba(59, 110, 245, .12);--info-border: rgba(59, 110, 245, .38);--info-text: #8fb0ff;--shadow: 0 8px 30px rgba(0, 0, 0, .35);color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=light]{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f0f2f5;--border: #e3e6eb;--text-1: #1a1d21;--text-2: #565c64;--muted: #8b9199;--accent: #2f5fe0;--accent-2: #274fc0;--on-accent: #ffffff;--danger: #d13438;--warn-bg: #fff6e6;--warn-border: #f0c987;--warn-text: #8a6100;--info-bg: #eaf0ff;--info-border: #b8ccff;--info-text: #274fc0;--shadow: 0 8px 30px rgba(20, 30, 60, .1);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text-1)}.app{height:100svh;display:flex;flex-direction:column}.topbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px}.brand-dot{width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg,#6d5cff,#3b6ef5 55%,#17c1c1)}.appname{font-weight:650;font-size:.95rem;letter-spacing:.1px}.topbar-right{display:flex;align-items:center;gap:12px}.who{font-size:.85rem}.envswitch{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px}.envswitch .seg{border:0;background:transparent;color:var(--text-2);font-size:.8rem;font-weight:600;padding:5px 14px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s}.envswitch .seg.active{background:var(--accent);color:var(--on-accent)}.icon-btn{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-1);font-size:1rem;cursor:pointer;line-height:1}.icon-btn:hover{border-color:var(--accent)}.link{border:0;background:transparent;color:var(--accent);font-size:.85rem;cursor:pointer;padding:0}.primary{width:100%;border:0;border-radius:10px;background:var(--accent);color:var(--on-accent);font-weight:650;font-size:.92rem;padding:12px 16px;cursor:pointer;transition:background .15s,opacity .15s}.primary:hover:not(:disabled){background:var(--accent-2)}.primary:disabled{opacity:.45;cursor:not-allowed}.centered{flex:1 1 auto;display:grid;place-items:center;padding:24px}.hero{max-width:380px;text-align:center;display:flex;flex-direction:column;gap:14px}.hero h1{font-size:1.35rem;margin:0}.workspace{flex:1 1 auto;display:flex;min-height:0}.sidebar{flex:0 0 340px;border-right:1px solid var(--border);background:var(--surface);padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.sidebar-head h2{margin:0 0 4px;font-size:1.05rem}.sidebar-head p{margin:0;font-size:.85rem}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.8rem;color:var(--text-2);font-weight:500}.field input,.field select{width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-1);font-size:.9rem;outline:none}.field input:focus,.field select:focus{border-color:var(--accent)}.field input::placeholder{color:var(--muted)}.callout{font-size:.82rem;line-height:1.4;padding:10px 12px;border-radius:9px;border:1px solid var(--border)}.callout.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.callout.info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.muted{color:var(--muted)}.error{color:var(--danger);font-size:.85rem;margin:0}.stage{flex:1 1 auto;position:relative;min-width:0;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.stage-frame{width:min(460px,100%);height:min(760px,100%);border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.stage-frame.hidden{display:none}.stage-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px}.stage-empty-card{max-width:320px;text-align:center}.stage-empty-card h3{margin:0 0 8px;font-size:1.05rem}.stage-empty-card p{margin:0;font-size:.88rem;line-height:1.5}@media(max-width:820px){.workspace{flex-direction:column}.sidebar{flex-basis:auto;border-right:0;border-bottom:1px solid var(--border)}.who{display:none}}
