:root{--bg: #101216;--panel: #14161b;--ink: #e8e6e1;--ink-dim: #9a978f;--ink-faint: #5c5a55;--line: rgba(255, 255, 255, .08);--accent: #ff4d00;--mono: "SF Mono", "JetBrains Mono", Menlo, monospace}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:Helvetica Neue,Helvetica,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;overflow:hidden}#app{display:grid;grid-template-columns:264px 1fr 336px;height:100vh}#sidebar{border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;padding:28px 24px;gap:32px}.brand h1{font-size:30px;font-weight:700;letter-spacing:.04em;line-height:1.05}.brand .sub{margin-top:10px;color:var(--ink-dim);font-size:12px;letter-spacing:.2em}#idea-list{flex:1;display:flex;flex-direction:column;gap:4px}.idea-item{display:block;width:100%;text-align:left;background:none;border:none;border-left:2px solid transparent;color:var(--ink);padding:14px 12px;cursor:pointer;transition:background .15s,border-color .15s}.idea-item:hover{background:#ffffff08}.idea-item.active{border-left-color:var(--accent);background:#ffffff0a}.idea-item .idx{font-family:var(--mono);font-size:11px;color:var(--ink-faint)}.idea-item .name{display:block;font-weight:600;margin-top:4px;font-size:14px}.idea-item .tag{display:block;color:var(--ink-dim);font-size:12px;margin-top:2px}.side-foot{color:var(--ink-faint);font-size:11px;letter-spacing:.08em;line-height:1.8}#stage{position:relative;min-width:0}#canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0}#canvas-wrap canvas{display:block}.css2d{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.hud{position:absolute;z-index:5}.hud-top-left{top:20px;left:24px;color:var(--ink-faint);font-size:12px;letter-spacing:.06em}.hud-top-right{top:20px;right:24px;display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px #ff4d0099}.status-text{color:var(--ink-dim);font-size:12px;letter-spacing:.1em}.hud-bottom{bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#14161bd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:8px;padding:10px 14px}button{font-family:inherit;font-size:13px;color:var(--ink);background:#ffffff0d;border:1px solid var(--line);border-radius:6px;padding:7px 14px;cursor:pointer;transition:background .15s,border-color .15s}button:hover{background:#ffffff1a}.btn-primary{border-color:#ff4d0080}.btn-primary:hover{background:#ff4d0026}.seg{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.seg button{border:none;border-radius:0;padding:7px 14px;color:var(--ink-dim)}.seg button+button{border-left:1px solid var(--line)}.seg button.active{color:var(--ink);background:#ffffff17}.chk{display:flex;align-items:center;gap:6px;color:var(--ink-dim);font-size:12px;cursor:pointer}.chk input{accent-color:var(--accent)}#info{border-left:1px solid var(--line);background:var(--panel);padding:28px 26px;overflow-y:auto}.info-kicker{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.15em}.info-title{font-size:22px;font-weight:700;margin-top:8px}.info-tagline{color:var(--ink-dim);margin-top:4px;font-size:13px}.info-rule{border:none;border-top:1px solid var(--line);margin:20px 0}.info-story p{color:var(--ink-dim);line-height:1.75;font-size:13px;margin-bottom:12px}.spec-table{width:100%;border-collapse:collapse}.spec-table caption{text-align:left;font-size:11px;letter-spacing:.2em;color:var(--ink-faint);padding-bottom:10px}.spec-table td{padding:9px 0;border-top:1px solid var(--line);vertical-align:top;font-size:12.5px;line-height:1.5}.spec-table td:first-child{color:var(--ink-faint);white-space:nowrap;padding-right:14px;width:84px}.spec-table td:last-child{color:var(--ink)}.tag-label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink);background:#101216d9;border:1px solid rgba(255,255,255,.18);border-radius:4px;padding:4px 8px;white-space:nowrap}.tag-label .dot{color:var(--accent);margin-right:6px}@media(max-width:960px){#app{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow-y:auto}#info{display:none}#sidebar{flex-direction:row;align-items:center;gap:20px;padding:16px 20px}.brand h1{font-size:18px}.brand h1 br{display:none}#idea-list{flex-direction:row}.side-foot{display:none}}
