*,*:before,*:after{box-sizing:border-box}:root{color-scheme:dark;--bg: #0b1220;--panel: #121a2b;--border: #1e2a44;--text: #e8eefc;--muted: #8b9bb8;--accent: #00d4ff;--danger: #ff5d7a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}html,body{margin:0;height:100%;background:var(--bg);color:var(--text)}#app{min-height:100%}.layout{display:grid;grid-template-columns:340px 1fr;gap:16px;padding:16px;min-height:100vh}@media (max-width: 960px){.layout{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.panel h1{margin:0 0 4px;font-size:18px;font-weight:700}.panel .hint{margin:0 0 16px;color:var(--muted);font-size:12px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.field input[type=text],.field input[type=number],.field input[type=color],.field textarea{width:100%;border:1px solid var(--border);background:#0a1322;color:var(--text);border-radius:8px;padding:8px 10px;font:inherit}.field input[type=range]{width:100%}.field .row{display:flex;gap:8px;align-items:center}.field .val{min-width:42px;text-align:right;color:var(--accent);font-variant-numeric:tabular-nums;font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#18233a;color:var(--text);border-radius:8px;padding:8px 12px;font:inherit;cursor:pointer}button.primary{background:linear-gradient(135deg,#00b7e6,#07a);border-color:transparent;font-weight:600}button:hover{filter:brightness(1.08)}.intent-box textarea{min-height:64px;resize:vertical}.intent-log{margin-top:8px;font-size:12px;color:var(--muted);white-space:pre-wrap}.preview-wrap{display:flex;flex-direction:column;gap:12px}.stage-frame{flex:1;min-height:420px;display:flex;align-items:center;justify-content:center;background:#05080f;border-radius:12px;border:1px solid var(--border);overflow:hidden;position:relative}.stage-scale{width:1920px;height:1080px;transform-origin:center center;position:relative;background:#000;box-shadow:0 20px 60px #00000073}.stage-scale:fullscreen,.stage-scale:-webkit-full-screen{width:100vw;height:100vh;transform:none!important}.toolbar{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at top,#12203a 0%,transparent 55%),var(--bg)}.auth-card{width:100%;max-width:400px}.auth-card h1{font-size:22px}.auth-form .actions{margin-top:8px}.auth-form button[type=submit]{width:100%}.auth-error{color:var(--danger);font-size:13px;margin:8px 0}.auth-switch{margin:16px 0 0;font-size:13px;color:var(--muted);text-align:center}.auth-switch a{color:var(--accent);text-decoration:none}.auth-switch a:hover{text-decoration:underline}.user-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;color:var(--muted)}.user-bar button{padding:4px 10px;font-size:12px}.project-box{padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:16px}.project-box select,.field input[type=password]{width:100%;border:1px solid var(--border);background:#0a1322;color:var(--text);border-radius:8px;padding:8px 10px;font:inherit}
