@import "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Outfit:wght@300;500;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--panel:#16161a;--border:#2a2a32;--accent:#c8ff57;--text:#e8e8ec;--muted:#555568;--radius:16px}body{background:var(--bg);color:var(--text);font-family:Outfit,sans-serif}.app-root{flex-direction:column;align-items:center;min-height:100vh;padding-top:5vw;display:flex}.fixture-area{justify-content:center;width:100%;padding-bottom:20vw;display:flex}.flat-cylinder{background:#000;border-radius:100%;width:30vw;height:3vw;position:relative;box-shadow:0 4px 24px #000c}.arm{transform-origin:0%;width:8vw;height:1vw;transform:rotate(var(--angle)) translateX(1vw);background:#000;border-radius:.5vw;position:absolute;bottom:50%;left:50%}.arm>*{position:absolute;top:50%;left:100%;transform:translateY(-50%)rotate(90deg)}.bulb-btn{cursor:pointer;border-radius:50%;transition:filter .2s,transform .2s}.bulb-btn:hover{filter:brightness(1.3)}.bulb-selected{filter:drop-shadow(0 0 12px var(--accent))}.editor-panel{background:var(--panel);border-top:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;z-index:100;max-width:700px;margin:0 auto;padding:24px 28px 32px;transition:transform .35s cubic-bezier(.4,0,.2,1);position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.editor-panel.open{transform:translateY(0)}.editor-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.editor-swatch{border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:22px;height:22px}.editor-title{letter-spacing:.12em;text-transform:uppercase;flex:1;font-family:Share Tech Mono,monospace;font-size:1rem}.toggle-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;letter-spacing:.1em;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-family:Share Tech Mono,monospace;font-size:.75rem;transition:border-color .2s;display:flex}.toggle-btn:hover{border-color:var(--accent)}.toggle-pip{border-radius:50%;width:8px;height:8px}.toggle-pip.on{background:var(--accent);box-shadow:0 0 6px var(--accent)}.toggle-pip.off{background:var(--muted)}.close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.1rem;transition:color .2s}.close-btn:hover{color:var(--text)}.editor-body{align-items:flex-start;gap:28px;display:flex}.editor-left{flex-shrink:0}.editor-right{flex-direction:column;flex:1;gap:10px;display:flex}.wheel-wrap{cursor:crosshair;-webkit-user-select:none;user-select:none;width:200px;height:200px;position:relative}.wheel-canvas{border-radius:50%;display:block}.wheel-marker{pointer-events:none;border:2.5px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 6px #000000b3}.ctrl-label{letter-spacing:.15em;color:var(--muted);font-family:Share Tech Mono,monospace;font-size:.68rem;display:block}.slider{-webkit-appearance:none;cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--thumb-color,var(--accent));border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 6px #00000080}.sat-slider{background:linear-gradient(to right, #fff, var(--thumb-color,red))}.bright-slider{background:linear-gradient(to right, #111, var(--thumb-color,#fff))}.warm-slider{background:linear-gradient(90deg,#fff,#ffad42)}.cool-slider{background:linear-gradient(90deg,#fff,#b3d4ff)}.kelvin-labels{color:var(--muted);justify-content:space-between;margin-top:-6px;font-size:.7rem;display:flex}.kelvin-val{color:var(--accent);font-family:Share Tech Mono,monospace}.hex-row{align-items:center;gap:10px;margin-top:4px;display:flex}.hex-val{letter-spacing:.1em;color:var(--text);font-family:Share Tech Mono,monospace;font-size:1rem}.desk-lamp-container{flex-direction:column;gap:10px;display:flex;position:absolute;bottom:10%;right:10%}.desk-bulb-btn{cursor:pointer;flex-direction:column;align-items:center;gap:8px;transition:transform .2s;display:flex}.desk-bulb-btn:hover{transform:scale(1.1)}.desk-lamp-label{color:#666;font-size:.9rem;font-weight:500}.hex-input{border:none;border-bottom:1px solid var(--accent);color:var(--text);letter-spacing:.1em;background:0 0;outline:none;width:90px;padding:0;font-family:Share Tech Mono,monospace;font-size:1rem}.hex-val{cursor:text}
