:root{--bg: #1e1f24;--panel: #2a2c33;--panel-2: #33363f;--border: #3d404a;--text: #e6e7ea;--muted: #9aa0ab;--accent: #8fb8de;--warn: #e0a04a;--danger: #e06b6b;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:6px 10px;cursor:pointer}button:hover{background:var(--border)}button.primary{background:var(--accent);color:#14181d;border-color:var(--accent)}button.active{outline:2px solid var(--accent)}input,select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 8px}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar h1{font-size:16px;margin:0}.topbar .tabs{display:flex;gap:8px;margin-left:16px}.spacer{flex:1}.layout{display:flex;flex:1;min-height:0}.sidebar{width:300px;background:var(--panel);border-right:1px solid var(--border);overflow-y:auto;padding:12px}.sidebar.right{border-right:none;border-left:1px solid var(--border)}.canvas-wrap{flex:1;min-width:0;position:relative;background:#16171b}.section{margin-bottom:18px}.section h2{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px}.row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.row>*{min-width:0}.grow{flex:1}.muted{color:var(--muted);font-size:12px}.warn{color:var(--warn)}.danger{color:var(--danger)}.list-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;margin-bottom:6px;background:var(--panel-2)}.list-item.selected{outline:2px solid var(--accent)}.swatch{width:14px;height:14px;border-radius:3px;flex:none}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.template-grid button{text-align:left;font-size:12px}.empty{color:var(--muted);padding:40px;text-align:center}.finder{padding:16px;overflow-y:auto;flex:1}.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.card img{width:100%;height:140px;object-fit:cover;background:var(--panel-2)}.card .body{padding:8px}.card .title{font-size:13px;margin:0 0 4px}.card .price{color:var(--accent);font-weight:600}.source-block{margin-bottom:24px}.source-block h3{display:flex;align-items:center;gap:8px}.pill{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--panel-2);border:1px solid var(--border)}.market{display:flex;gap:10px;padding:8px;border:1px solid var(--border);border-radius:6px;margin-bottom:6px;background:var(--panel)}.market .date{font-weight:600;color:var(--accent);min-width:90px}a{color:var(--accent)}.moodboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:12px}.mood-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px}.mood-section{margin-top:14px}.mood-section h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px}.swatch-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.palette-swatch{position:relative;width:64px;height:64px;border-radius:6px;border:1px solid var(--border)}.palette-swatch .swatch-hex{position:absolute;left:0;right:0;bottom:0;font-size:10px;text-align:center;background:#000a;padding:1px 0;border-radius:0 0 5px 5px}.swatch-x,.swatch-use{position:absolute;top:2px;width:18px;height:18px;line-height:16px;padding:0;font-size:12px;text-align:center;border-radius:50%;background:#000a;border:none;color:#fff}.swatch-x{right:2px}.swatch-use{left:2px;color:#9ff0a8}.mood-images{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.mood-image{position:relative}.mood-image img{width:96px;height:96px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}textarea{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 8px;width:100%;resize:vertical}
