.sl{background:var(--ink-950);border:1px solid var(--ink-700);--sl-teal:#63d8cb;--sl-truth:#8fb3ff;touch-action:manipulation;border-radius:10px;margin:1.8rem 0;padding:1.2rem 1.3rem 1.1rem}.sl-head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.9rem;display:flex}.sl-title{color:var(--gold);letter-spacing:.1em;font-size:.82rem}.sl-headbtns{flex:none;gap:.4rem;display:flex}.sl-ghost{border:1px solid var(--ink-700);color:var(--star-soft);cursor:pointer;background:0 0;border-radius:6px;min-height:30px;padding:.3rem .7rem;font-family:inherit;font-size:.75rem}.sl-ghost:hover{color:var(--star-bright);border-color:var(--star-dim)}.sl-row{flex-wrap:wrap;align-items:center;gap:.45rem .6rem;margin:.55rem 0;display:flex}.sl-label{color:var(--star-soft);flex:none;min-width:4.2em;font-size:.74rem}.sl-seg{flex-wrap:wrap;gap:.3rem;display:flex}.sl-seg button,.sl-btn{background:var(--ink-800);color:var(--star-soft);cursor:pointer;border:1px solid #0000;border-radius:6px;min-height:34px;padding:.34rem .66rem;font-family:inherit;font-size:.8rem;transition:border-color .15s,color .15s,background .15s,transform 80ms}.sl-seg button:hover,.sl-btn:hover{border-color:var(--star-dim);color:var(--star-bright)}.sl-seg button.on,.sl-btn.on{border-color:var(--gold);color:var(--star-bright);background:#1a1d2e}.sl-btn:active:not(:disabled){transform:scale(.97)}.sl-seg button:disabled,.sl-btn:disabled{opacity:.4;cursor:default}.sl-btn.sl-primary{background:var(--ink-700);color:var(--star-bright);border-color:#0000}.sl-btn.sl-primary:hover{border-color:var(--gold)}.sl-slider{flex:220px;align-items:center;gap:.7rem;min-width:0;display:flex}.sl-slider input[type=range]{min-width:0;accent-color:var(--gold);flex:1;height:28px}.sl-slider-val{font-family:var(--font-mono);color:var(--star-bright);text-align:right;min-width:4.5em;font-size:.8rem}.sl-svg{user-select:none;width:100%;height:auto;display:block;overflow:visible}.sl-svg text{font-family:var(--font-body)}.sl-svg .mono{font-family:var(--font-mono)}.sl-handle{outline:none}.sl-handle:focus-visible .sl-halo{opacity:.4}.sl-handle:active{cursor:grabbing}.sl-canvas{touch-action:pan-y;width:100%;height:auto;display:block}.sl-readout{background:var(--ink-900);border:1px solid var(--ink-700);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:.35rem 1.2rem;margin:.7rem 0;padding:.55rem .85rem;display:flex}.sl-stat{color:var(--star-soft);align-items:baseline;gap:.4em;font-size:.8rem;display:inline-flex}.sl-stat b{color:var(--star-bright);font-weight:600;font-family:var(--font-mono);display:inline-block}.sl-stat-big b{font-size:1.15rem}.sl-tone-gold b{color:var(--gold)}.sl-tone-teal b{color:var(--sl-teal)}.sl-tone-vermilion b{color:var(--vermilion)}.sl-tone-truth b{color:var(--sl-truth)}@keyframes sl-pop{0%{text-shadow:0 0 10px;transform:translateY(-1px)}to{text-shadow:0 0 #0000;transform:none}}.sl-pop{animation:.45s ease-out sl-pop}.sl-legend{color:var(--star-soft);flex-wrap:wrap;gap:.3rem 1rem;margin:.4rem 0 .2rem;font-size:.74rem;display:flex}.sl-legend-item{align-items:center;gap:.35rem;display:inline-flex}.sl-msg{border-left:3px solid var(--gold);color:var(--star-soft);min-height:2.9em;margin:.9rem 0 0;padding-left:.9rem;font-size:.82rem;line-height:1.75}.sl-msg b{color:var(--star-bright);font-weight:600}.sl-caption{color:var(--star-dim);letter-spacing:.05em;margin:.7rem 0 0;font-size:.78rem}@keyframes sl-ripple{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.2)}}.sl-ripple{transform-box:fill-box;transform-origin:50%;animation:.7s ease-out forwards sl-ripple}@keyframes sl-glow{0%{opacity:1}to{opacity:0}}.sl-glow{animation:.6s ease-out forwards sl-glow}.sl-stage{background:#0c1124;border-radius:8px;width:100%;position:relative;overflow:hidden}.sl-stage-box{position:absolute;inset:0}.sl-stage-box canvas{touch-action:pan-y;cursor:grab;width:100%;height:100%;display:block}.sl-stage-note{color:var(--star-dim);place-items:center;margin:0;font-size:.8rem;display:grid;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.sl *,.sl :before,.sl :after{transition-duration:.001ms!important;animation-duration:.001ms!important}}@media (width<=480px){.sl{padding:.95rem .55rem .85rem}.sl-label{width:100%;min-width:0}.sl-seg button,.sl-btn{padding:.3rem .5rem;font-size:.76rem}}
