.theme-lamp-control { display:inline-flex; flex:none; align-items:center; justify-content:center; padding:0; border:0; border-radius:20px; background:transparent; color:inherit; font:inherit; cursor:pointer; touch-action:none; user-select:none; -webkit-tap-highlight-color:transparent; }
.theme-lamp-control:focus-visible { outline:2px solid var(--sage); outline-offset:2px; }
.theme-lamp-art { display:block; flex:none; width:var(--theme-lamp-width,64px); height:var(--theme-lamp-height,84px); }
.theme-lamp { display:block; width:100%; height:100%; overflow:visible; fill:none; stroke-width:1.4; }
.theme-lamp .lamp-wire { stroke:#8e8879; stroke-width:1.8; }
.theme-lamp .lamp-glass { stroke:#a69c82; }
.theme-lamp .lamp-shine { stroke:#fff; stroke-width:2.6; stroke-linecap:round; opacity:.9; }
.theme-lamp .lamp-filament { stroke:#a3946b; stroke-linecap:round; stroke-linejoin:round; }
.theme-lamp .lamp-cord { fill:none; stroke-linecap:round; }
.theme-lamp .lamp-cord-shadow { stroke:#a3987e; stroke-width:2; }
.theme-lamp .lamp-cord-thread { stroke:#f1e8d2; stroke-width:1.1; stroke-dasharray:1.2 2.5; }
.theme-lamp .lamp-cord-hit { stroke:transparent; stroke-width:18; cursor:grab; }
.theme-lamp .lamp-pull { cursor:grab; }
[data-lamp-dragging] .theme-lamp { cursor:grabbing; }
[data-lamp-dragging] .theme-lamp * { cursor:inherit; }
.theme-lamp .lamp-glow { opacity:0; transition:opacity .3s; }
:is([data-tone=dark], [data-theme=dark]) .theme-lamp .lamp-glass { fill:#eebe4c40; stroke:#eebe4c; }
:is([data-tone=dark], [data-theme=dark]) .theme-lamp .lamp-filament { stroke:#f2d48a; }
:is([data-tone=dark], [data-theme=dark]) .theme-lamp .lamp-glow { opacity:1; }
@media (prefers-reduced-motion:reduce) { .theme-lamp .lamp-glow { transition:none; } }
