.dv{--bg:#0b0d10;--panel:#14171c;--line:#262b33;--text:#e8eaed;--muted:#9aa1ab;--accent:#4f8cff;--true:#e0453a;--false:#3d82e6;background:var(--bg);height:calc(100vh - 77px);color:var(--text);grid-template-columns:280px 1fr;font-size:14px;line-height:1.4;display:grid}.dv *{box-sizing:border-box}.dv aside{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:18px;padding:18px;display:flex;overflow-y:auto}.dv h1{margin:0;font-size:16px;font-weight:600}.dv .sub{color:var(--muted);margin-top:4px;font-size:12px}.dv .label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px;font-size:11px}.dv button,.dv .btn{color:var(--text);border:1px solid var(--line);font:inherit;cursor:pointer;text-align:center;background:#1d2128;border-radius:8px;padding:8px 10px}.dv button:hover,.dv .btn:hover{border-color:#3a414c}.dv button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.dv button:disabled{opacity:.4;cursor:default}.dv .seg{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.dv .seg.two{grid-template-columns:repeat(2,1fr)}.dv .seg button.on{border-color:var(--accent);background:#1b2740}.dv .stack{flex-direction:column;gap:6px;display:flex}.dv .toggle{cursor:pointer;align-items:center;gap:8px;padding:4px 0;display:flex}.dv .grow{align-items:center;display:flex}.dv .grow .toggle{flex:1}.dv .expand{color:var(--muted);background:0 0;border:0;padding:2px 6px;font-size:12px}.dv .items{max-height:220px;padding:2px 0 6px 22px;display:none;overflow-y:auto}.dv .items.open{display:block}.dv .items .toggle{color:#c9cdd3;padding:2px 0;font-size:13px}.dv .swatch{border-radius:2px;flex:none;width:9px;height:9px}.dv #pick{background:var(--panel);border:1px solid var(--line);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:none;position:absolute;transform:translate(-50%,-130%);box-shadow:0 4px 16px #0006}.dv #pick button{padding:3px 8px;font-size:12px}.dv .dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dv input[type=range]{width:100%;accent-color:var(--accent)}.dv .note{color:var(--muted);font-size:12px}.dv .note a{color:var(--muted);text-decoration:underline}.dv .dv-main{min-height:0;position:relative}.dv canvas#gl{outline:none;width:100%;height:100%;display:block}.dv .drop{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dv .drop .card{text-align:center;color:var(--muted);background:#0b0d10b3;border:2px dashed #39404b;border-radius:16px;padding:36px 44px}.dv .drop .card b{color:var(--text);margin-bottom:6px;font-size:16px;display:block}.dv .drop.hidden{display:none}.dv .dv-main.dragging .drop{display:flex!important}.dv .dv-main.dragging .drop .card{border-color:var(--accent);color:var(--text)}.dv .status{color:var(--muted);font-size:12px;position:absolute;bottom:14px;left:16px}.dv .hint{color:var(--muted);font-size:12px;position:absolute;bottom:14px;right:16px}.dv #lumenBox,.dv #seriesBox{display:none}.dv select{width:100%;color:var(--text);border:1px solid var(--line);background:#1d2128;border-radius:8px;padding:7px}@media (max-width:760px){.dv{grid-template-rows:auto 60vh;grid-template-columns:1fr;height:auto}.dv aside{border-right:0;border-bottom:1px solid var(--line)}}
