:root{color-scheme:light;font-family:DM Mono,SFMono-Regular,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--bg: #f7f3ee;--panel: #fffaf1;--ink: #1a1a1a;--muted: #6c6258;--accent: #ff8a3d;--border: #e2d4c4;--shadow: rgba(26, 26, 26, .08)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#ffe9d4,transparent 45%),radial-gradient(circle at bottom right,#f2dbff,transparent 45%),var(--bg);color:var(--ink);min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}#root{min-height:100vh;display:flex}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr) 320px;grid-template-rows:auto 1fr;width:100%;min-height:100vh;gap:16px;padding:20px}.top-bar{grid-column:1 / -1;display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--border);border-radius:18px;background:var(--panel);box-shadow:0 10px 30px var(--shadow)}.top-bar h1{font-size:20px;margin:0;text-transform:uppercase;letter-spacing:.12em}.top-bar .actions{margin-left:auto;display:flex;gap:12px;flex-wrap:wrap}.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:0 10px 30px var(--shadow);display:flex;flex-direction:column;gap:16px}.section{display:flex;flex-direction:column;gap:10px}.section h2{font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin:0;color:var(--muted)}button{border:1px solid var(--border);background:var(--ink);color:#fff;border-radius:999px;padding:10px 16px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 6px 16px #0000001f}button.secondary{background:transparent;color:var(--ink);box-shadow:none}button:active{transform:translateY(1px)}input[type=text],input[type=number],select,textarea{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:#fff}.canvas-card{background:#fff;border-radius:24px;border:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 30px var(--shadow)}.canvas-toolbar{display:flex;gap:10px;flex-wrap:wrap}.canvas-stage{background:#fefcf7;border-radius:16px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:12px}.canvas-stage canvas{background:#fff;border:1px dashed #d0c0b0}.list{display:flex;flex-direction:column;gap:8px}.list-item{border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;background:#fff;gap:12px}.list-item.active{border-color:var(--accent);box-shadow:0 0 0 2px #ff8a3d33}.badge{font-size:12px;padding:4px 8px;border-radius:999px;background:#f5e7d7;color:var(--muted)}.palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px}.palette button{border-radius:12px;padding:0;background:#fff;border:1px solid var(--border);box-shadow:none;height:48px;position:relative}.palette button.active{border-color:var(--accent);box-shadow:0 0 0 2px #ff8a3d33}.palette button span{position:absolute;bottom:4px;right:4px;font-size:10px;color:var(--muted)}.property-grid{display:grid;grid-template-columns:1fr;gap:10px}.property-grid label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.connection-pill{display:flex;gap:8px;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:12px}.connection-pill span{width:8px;height:8px;border-radius:50%;background:var(--accent)}@media(max-width:1100px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr}}
