:root{--ink:#252420;--muted:#77736b;--na:#b68712;--rb:#93618e;--sr:#347d87;--h:#6379b7;--red:#ce4038}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:"Trebuchet MS",Arial,sans-serif}.widget{width:100%;max-width:880px;margin:0 auto;padding:8px 12px 6px}.toolbar{display:flex;gap:9px;align-items:center;min-height:38px;flex-wrap:wrap}.mix-label{font-size:12px;color:var(--muted)}select{border:1px solid #a49f96;border-radius:4px 7px 4px 5px;background:white;color:var(--ink);padding:6px 22px 6px 7px;font:inherit;font-size:12px;cursor:pointer}.palette{display:flex;gap:5px}.atom-add{--kind:var(--na);display:flex;gap:4px;align-items:center;border:1px solid #ddd9d1;background:white;border-radius:8px 4px 7px 4px;padding:5px 7px;font-size:12px;cursor:grab;color:var(--kind);font-weight:700}.atom-add i{display:block;width:9px;height:9px;border-radius:50%;background:var(--kind)}.atom-add span{font-size:14px;opacity:.7}.atom-add:hover{background:#f7f6f2;border-color:var(--kind)}.atom-add:active{cursor:grabbing}.rb{--kind:var(--rb)}.sr{--kind:var(--sr)}.h{--kind:var(--h)}.tools{display:flex;gap:7px;margin-left:auto}.tools button{border:0;background:none;padding:4px;font:inherit;font-size:17px;color:var(--muted);cursor:pointer}.tools #clear{font-size:11px}.tools button:hover,.tools button[aria-pressed=true]{color:var(--red)}.scene-wrap{position:relative;isolation:isolate}.scene-wrap.drag-over{background:#faf9f4;outline:2px dashed var(--sr);outline-offset:-3px}.drop-hint{position:absolute;top:64%;left:48%;font-size:12px;padding:5px 9px;background:white;color:var(--sr);border:1px solid var(--sr);border-radius:4px;pointer-events:none}canvas{display:block;width:100%;height:auto}.laser-button{position:absolute;left:2.4%;top:66.1%;width:3.7%;height:11%;padding:0;min-width:19px;min-height:19px;border:0;border-radius:4px;background:transparent;cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s}.laser-button:hover,.laser-button:focus-visible{background:rgba(225,52,40,.22);box-shadow:0 0 0 3px rgba(206,64,56,.25);transform:scale(1.1)}.laser-button:active{background:rgba(225,52,40,.5);transform:scale(.96)}.laser-button:disabled{cursor:wait;opacity:.5}.laser-controls{display:grid;grid-template-columns:105px minmax(100px,1fr) 95px 85px;gap:12px;align-items:center;padding:7px 2px 24px;border-top:1px solid #e6e2da}.laser-controls>label{font-size:12px;font-weight:700}.slider-wrap{position:relative;height:22px}input[type=range]{width:100%;height:20px;margin:0;accent-color:var(--red);cursor:pointer}.resonances{position:absolute;left:8px;right:8px;top:22px;height:20px}.resonance{position:absolute;top:0;transform:translateX(-50%);background:none;border:0;color:var(--kind);padding:0 3px;cursor:pointer;font-size:15px;line-height:15px;font-weight:bold}.resonance span{display:block;font-size:9px;line-height:12px;font-family:Arial,sans-serif}.resonance:hover{transform:translateX(-50%) scale(1.14)}.energy-value{display:flex;gap:4px;align-items:center;font-size:12px}.energy-value input{width:73px;font:inherit;text-align:right;border:0;border-bottom:1px dashed #999;background:white;padding:4px 0;color:var(--ink)}.wavelength{font-size:11px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.bottom-line{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);border-top:1px solid #eeeae3;padding:7px 2px;min-height:28px}.model-label{white-space:nowrap}.notes{border-top:1px solid #eeeae3;padding:5px 2px}.notes p{font-size:11px;line-height:1.6;color:var(--muted);margin:6px 0}.notes a{color:var(--ink)}.loading{font-size:12px;text-align:center;color:var(--muted)}.loading:empty{display:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--red);outline-offset:3px}@media(max-width:600px){.widget{padding:5px 7px}.toolbar{gap:6px}.mix-label{display:none}.atom-add{padding:4px 5px;font-size:11px;gap:3px}.atom-add i{width:7px;height:7px}.tools{gap:3px}.tools #clear{display:none}.laser-controls{grid-template-columns:90px 1fr 88px;gap:8px;padding-bottom:29px}.laser-controls>label{font-size:11px}.wavelength{grid-column:3;font-size:10px;position:absolute;right:11px;margin-top:38px}.bottom-line{font-size:9px;line-height:1.4}.model-label{display:none}.resonance span{font-size:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.laser-button{left:2%;top:61.5%;width:3%;height:10%;min-width:24px;min-height:24px}
.narration{font-size:13px;line-height:1.5;min-height:39px;margin:0 0 5px;padding:8px 9px;background:#faf9f5;border-left:3px solid #bdb6a9;color:var(--ink)}.narration[data-phase=excited],.narration[data-phase=emitting]{border-left-color:var(--red)}.bottom-line{justify-content:flex-end;min-height:20px;padding:5px 2px}@media(max-width:600px){.narration{font-size:12px;min-height:48px}}
