:root{color-scheme:dark;--bg:#080d14;--panel:#101922;--panel-deep:#0a121b;--border:#22303d;--muted:#77899b;--text:#e9f3f7;--green:#22ec9d;--cyan:#46d8ff;--purple:#a378ff;--orange:#ffb478;--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg);font:14px/1.6 'Open Sans',Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:3px}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}.ambient{pointer-events:none;position:fixed;z-index:-1;width:55vw;height:60vw;border-radius:50%;filter:blur(100px);opacity:.075}.ambient-a{left:-20vw;top:-20vw;background:#04e8ae}.ambient-b{right:-20vw;top:0;background:#4478ff}.app-shell{width:min(1580px,calc(100% - 72px));margin:0 auto}.header{height:98px;border-bottom:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between;gap:20px}.identity{display:flex;align-items:center;gap:12px}.identity-icon{height:43px;width:45px;border:1px solid rgba(28,255,167,.3);border-radius:11px;display:flex;justify-content:center;align-items:center;gap:4px;background:radial-gradient(circle at 80% 20%,rgba(31,239,155,.19),transparent 62%),#0d1f24;box-shadow:0 0 25px #20f1a810}.identity-icon span{display:block;width:5px;border-radius:8px;background:var(--green);box-shadow:0 0 12px #28ef9b}.identity-icon span:nth-child(1){height:15px;transform:rotate(26deg)}.identity-icon span:nth-child(2){height:27px}.identity-icon span:nth-child(3){height:19px;transform:rotate(-26deg)}.identity-name{font-weight:850;font-size:18px;letter-spacing:1.4px;line-height:1.05}.identity-name>span{color:var(--green)}.identity-name small{display:block;color:#738395;letter-spacing:2px;font-weight:650;font-size:8px;margin-top:6px}.header-right{display:flex;align-items:center;gap:22px}.connection{color:#9daebb;font-weight:650;font-size:10px;letter-spacing:1.4px;display:flex;align-items:center;gap:8px}.connection i{height:7px;width:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.top-badge{padding:9px 12px;border:1px solid #2a4147;border-radius:6px;color:#b1ded6;font-size:10px;font-weight:750;letter-spacing:1.1px;background:#0c1e21}.page-intro{padding:42px 0 31px;display:flex;justify-content:space-between;align-items:end;gap:20px}.eyebrow,.eyebrow-small{color:var(--green);font-size:10px;letter-spacing:2px;font-weight:750}.mini-line{display:inline-block;background:var(--green);height:1px;width:23px;margin:0 10px 3px;opacity:.55}.page-intro h1{font-size:clamp(28px,3.3vw,43px);line-height:1.2;letter-spacing:-1.3px;margin:8px 0 10px;font-weight:780}.page-intro h1 em{color:var(--green);font-style:normal}.page-intro p{margin:0;color:#8fa0af;font-size:13px;max-width:690px}.live-pill{flex:none;display:flex;align-items:center;gap:9px;border:1px solid #293b42;border-radius:30px;padding:9px 13px;color:#acbdc8;font-size:10px;font-weight:800;letter-spacing:1.2px;margin-bottom:4px}.live-dot{height:6px;width:6px;background:#627681;border-radius:100%}.live-pill.is-live{color:#35f0a5;border-color:#1a7958;background:#0b2b26}.live-pill.is-live .live-dot{background:#2cf3a5;box-shadow:0 0 10px #18dc91;animation:blip 1.4s infinite}@keyframes blip{50%{opacity:.38;transform:scale(.65)}}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.main-column,.sidebar{display:flex;flex-direction:column;gap:18px;min-width:0}.show-panel,.player-panel,.analysis-panel,.side-card{border:1px solid var(--border);background:linear-gradient(145deg,rgba(20,32,43,.85),rgba(10,17,24,.95));border-radius:var(--radius);overflow:hidden}.show-panel{background:#080e16;box-shadow:0 8px 52px #00000030}.show-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(ellipse at center 70%,#0d1539,#02050d 82%);isolation:isolate}.show-frame canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.stage-vignette{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 50% 52%,transparent 37%,rgba(0,0,0,.42) 100%);z-index:2}.stage-topline,.stage-hud{position:absolute;z-index:4;left:0;right:0;pointer-events:none}.stage-topline{top:0;padding:21px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(#000a,transparent);font-size:9px;font-weight:800;letter-spacing:1.55px;color:#e3ecf1}.stage-brand{white-space:nowrap}.tiny-light{display:inline-block;width:7px;height:7px;transform:rotate(45deg);background:var(--green);box-shadow:0 0 10px var(--green);margin-right:6px}.stage-separator{color:#648e9b;margin:0 7px}.stage-fps{display:flex;align-items:center;gap:8px;color:#ccdfe6}.stage-red{background:#ff4161;box-shadow:0 0 12px #ff4161;border-radius:50%;width:6px;height:6px}.stage-hud{bottom:0;display:flex;align-items:end;justify-content:space-between;padding:45px 25px 22px;background:linear-gradient(transparent,#0009)}.hud-spectrum{height:31px;display:flex;align-items:flex-end;gap:3px;width:106px}.hud-spectrum i{background:linear-gradient(#44ffd1,#04bd83);border-radius:2px 2px 0 0;flex:1;height:4px;opacity:.85;box-shadow:0 0 10px #19fbbb60;transition:height .08s}.stage-bottom-label{font-size:9px;color:#d5e5ec;letter-spacing:1.5px;font-weight:700;margin:0 auto 0 20px}.stage-bottom-label span{color:var(--green);padding:0 7px}.stage-counter{display:flex;flex-direction:column;align-items:flex-end;line-height:1}.stage-counter b{font-size:27px;letter-spacing:.5px;color:#fff;font-variant-numeric:tabular-nums}.stage-counter small{font-size:8px;letter-spacing:1.2px;color:#a8c1c4;margin-top:7px}.center-hint{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;pointer-events:none;color:#e9f6f8;text-shadow:0 3px 14px #000;transition:opacity .6s}.center-hint.hidden{opacity:0}.hint-icon{height:59px;width:59px;display:grid;place-items:center;border-radius:50%;border:1px solid #71ffc566;color:#83ffd3;font-size:22px;padding-left:4px;background:#0a2c326f;box-shadow:0 0 40px #13ff9550;backdrop-filter:blur(4px)}.center-hint strong{font-size:16px;letter-spacing:3.5px}.center-hint span{font-size:11px;color:#cfdae5;min-width:290px}.show-toolbar{display:flex;min-height:58px;justify-content:space-between;align-items:center;padding:10px 20px;gap:12px;border-top:1px solid #253340}.show-toolbar-status{display:flex;gap:9px;align-items:center;color:#97a8ba;font-size:11px}.show-toolbar-status i{height:7px;width:7px;border-radius:50%;background:#788390}.show-toolbar-status i.on{background:var(--green);box-shadow:0 0 12px var(--green)}.toolbar-buttons{display:flex;gap:8px}.toolbar-button{display:flex;align-items:center;gap:7px;border:1px solid #293843;color:#acc1cc;border-radius:7px;background:#101e28;padding:8px 11px;font-size:10px;letter-spacing:.6px;font-weight:750;transition:.2s}.toolbar-button:hover,.toolbar-button.is-active{border-color:#3ecf9d;color:#45ffc0;background:#0d2a28}.toolbar-demo{color:#77d5be}.player-panel{padding:21px 25px 23px}.player-top{display:flex;align-items:center;gap:14px}.album-art{flex:none;height:55px;width:55px;border:1px solid #316c62;border-radius:11px;display:grid;place-items:center;background:radial-gradient(circle at 22% 28%,#304ed4c0,transparent 45%),radial-gradient(circle at 70% 80%,#0cbb81a8,transparent 45%),#122b39;box-shadow:inset 0 0 17px #11d9a328}.album-art span{font-size:28px;text-shadow:0 0 11px var(--green);color:#fff}.song-info{flex:1;min-width:0}.subheading,.eyebrow-small{font-size:9px;color:var(--green);font-weight:800;letter-spacing:1.5px}.song-name{font-size:15px;font-weight:750;color:#f3faff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-extra{color:#8296a6;font-size:11px;margin-top:2px}.player-right-indicator{display:flex;gap:4px;align-items:center;height:38px}.player-right-indicator i{width:3px;height:10px;background:#25e8a4;animation:eq 1s ease-in-out infinite alternate}.player-right-indicator i:nth-child(2){animation-delay:-.3s;height:25px}.player-right-indicator i:nth-child(3){animation-delay:-.6s;height:17px}.player-right-indicator i:nth-child(4){animation-delay:-.8s;height:29px}.player-right-indicator i:nth-child(5){animation-delay:-.2s;height:13px}.player-panel:not(.is-playing) .player-right-indicator i{animation-play-state:paused;height:4px}@keyframes eq{to{height:4px}}.timeline{display:flex;gap:13px;align-items:center;margin:20px 0 14px;color:#a0adba;font-size:10px;font-variant-numeric:tabular-nums}.timeline input{flex:1}.player-controls{display:flex;justify-content:space-between;align-items:center}.transport{display:flex;align-items:center;gap:12px}.transport-small{height:34px;width:34px;border-radius:8px;color:#acbfcb;font-size:16px}.transport-small:hover{color:var(--green);background:#1b3138}.play-button{background:#18e49d;color:#061714;border-radius:50%;height:43px;width:43px;display:grid;place-items:center;font-size:16px;box-shadow:0 0 24px #15e79835;transition:background .2s,transform .2s}.play-button:hover{background:#66ffd0;transform:scale(1.05)}.player-tools{display:flex;gap:9px;align-items:center;color:#a6b8c4;font-size:11px}.volume-label{font-size:13px}.player-tools input{width:100px}.player-tools span{width:32px;text-align:right}input[type=range]{appearance:none;-webkit-appearance:none;cursor:pointer;background:linear-gradient(to right,#1bf0a5 0%,#1bf0a5 var(--fill,50%),#2b3c49 var(--fill,50%),#2b3c49 100%);height:5px;border-radius:50px;outline:0}input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;background:#dffdf2;border:2px solid #1fe1a0;border-radius:50%;box-shadow:0 0 8px #19e9ac60}input[type=range]::-moz-range-thumb{width:10px;height:10px;background:#dffdf2;border:2px solid #1fe1a0;border-radius:50%}.analysis-panel{padding:20px 24px 23px}.section-title-row,.side-title-row{display:flex;align-items:center;justify-content:space-between;gap:9px}.section-title-row h2,.side-title-row h2{font-size:14px;letter-spacing:.05px;font-weight:750;margin:0}.section-sub{font-size:9px;letter-spacing:1.2px;color:#768da0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px;margin-top:20px}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.metric-top span{font-size:10px;color:#d5e2e8;font-weight:780;letter-spacing:.5px}.metric-top b{font-weight:760;color:#fff;font-size:12px;font-variant-numeric:tabular-nums}.meter{height:5px;border-radius:20px;background:#2b3847;overflow:hidden;margin:11px 0 6px}.meter i{display:block;height:100%;width:0;transition:width .08s;box-shadow:0 0 12px currentColor}.bar-green{background:#1dffad}.bar-blue{background:#38baff}.bar-purple{background:#b171ff}.bar-orange{background:#ff9f72}.metric small{font-size:10px;color:#7e92a3}.side-card{padding:23px 19px}.side-title-row{margin-bottom:20px}.side-title-row h2{font-size:17px;margin-top:2px}.track-count{padding:6px 9px;background:#153129;color:#51f2b8;border:1px solid #225941;border-radius:5px;font-size:9px;letter-spacing:.5px;font-weight:750;white-space:nowrap}.playlist{display:flex;flex-direction:column;gap:7px;max-height:315px;overflow:auto;padding-right:2px}.playlist::-webkit-scrollbar{width:5px}.playlist::-webkit-scrollbar-thumb{background:#334752;border-radius:6px}.track{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:11px 9px;border-radius:8px;border:1px solid transparent;transition:.2s;min-width:0}.track:hover{background:#182936}.track.is-current{border-color:#24654f;background:linear-gradient(90deg,#153d34,#10262c)}.track-number{display:grid;place-items:center;width:23px;flex:none;font-size:11px;color:#7d96a6}.track.is-current .track-number{color:var(--green)}.track-cover{width:36px;height:36px;border-radius:6px;flex:none;background:linear-gradient(135deg,#173763,#49276c 55%,#0e8c78);display:grid;place-items:center;color:#8cf4d8;font-size:15px}.track-meta{min-width:0;flex:1}.track-meta b{font-size:11px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.track-meta small{font-size:10px;color:#72889a}.track-current-dot{height:6px;width:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.playlist-empty{display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;padding:18px 4px 25px;color:#92a5b1;font-size:11px;border:1px dashed #354551;border-radius:8px}.playlist-empty strong{color:#d2e3e9;font-size:13px}.empty-symbol{color:#39ecae;font-size:30px;margin-bottom:7px}.playlist-empty p{max-width:200px;margin:6px 0 0}.music-path{margin-top:21px;border:1px solid #295040;background:#102820b0;border-radius:9px;padding:13px 11px;display:flex;gap:10px}.folder-icon{font-size:19px;color:var(--green);line-height:1.2}.music-path b{font-size:11px;color:#dff7eb}.music-path p{font-size:10px;color:#91b2a5;line-height:1.6;margin:3px 0 0}.music-path code{font-size:10px;color:#54f6b7}.settings-card{padding-bottom:20px}.settings-icon{font-size:18px;color:#7893a5}.setting{display:flex;align-items:center;justify-content:space-between;gap:10px}.setting>span{display:flex;flex-direction:column}.setting b,.toggle-row b{font-size:11px;font-weight:700;color:#e5f0f6}.setting small,.toggle-row small{font-size:10px;color:#70889a;margin-top:1px}.setting strong{font-size:11px;font-weight:750;color:#47f0b5}.setting-range{width:100%;margin:12px 0 21px}.palette-label{font-size:10px;color:#98aebe;letter-spacing:1px;font-weight:700;margin:1px 0 12px}.color-palette{display:flex;gap:10px;margin-bottom:21px}.palette{border:1px solid #324554;border-radius:7px;background:#0a131d;padding:6px;flex:1;height:41px;display:grid;place-items:center}.palette.active{border-color:var(--green);background:#12382d;box-shadow:inset 0 0 0 1px #1b835d}.palette i{display:block;border-radius:5px;width:100%;height:100%}.palette-em{background:linear-gradient(115deg,#00fd9a 50%,#05b8ff 50%)}.palette-sp{background:linear-gradient(115deg,#fc4040,#ffb837,#42f88f,#4e97ff,#ba4ff5)}.palette-vio{background:linear-gradient(115deg,#ff3cc5 40%,#6f53ff 60%)}.palette-ice{background:linear-gradient(115deg,#28dfff,#c1e8ff)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:18px;border-top:1px solid #2a3642;cursor:pointer;position:relative}.toggle-row>span:first-child{display:flex;flex-direction:column}.toggle-row input{position:absolute;opacity:0;right:0}.switch{flex:none;display:block;height:19px;width:36px;border-radius:14px;background:#2b4050;position:relative;transition:.2s}.switch:before{content:"";position:absolute;left:3px;top:3px;width:13px;height:13px;background:#95a9b6;border-radius:100%;transition:.2s}.toggle-row input:checked+.switch{background:#137d5b}.toggle-row input:checked+.switch:before{transform:translateX(17px);background:#d8fff0}.toggle-row input:focus-visible+.switch{outline:2px solid #60f4b7;outline-offset:3px}.info-card{border:1px solid #254c45;padding:17px 20px;border-radius:12px;background:linear-gradient(125deg,#10332899,#0b1d28c7);display:flex;align-items:flex-start;gap:13px}.info-icon{font-size:20px;line-height:1;color:#39e6aa}.info-card p{font-size:11px;color:#98b5b3;line-height:1.7;margin:0}.info-card b{font-weight:750;color:#c9f5e4}.footer{margin:39px 0 25px;padding-top:22px;border-top:1px solid #182630;display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:1.25px;color:#647c8c;font-weight:750}.footer b{color:#20cf94;padding:0 7px}.toast{position:fixed;right:26px;bottom:24px;z-index:20;max-width:min(400px,calc(100% - 32px));background:#173a32;color:#dfffee;border:1px solid #297d62;padding:12px 16px;border-radius:9px;font-size:12px;box-shadow:0 10px 40px #0009;opacity:0;transform:translateY(15px);transition:opacity .25s,transform .25s;pointer-events:none}.toast.visible{opacity:1;transform:translateY(0)}.show-frame:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;background:#02050d}.show-frame:fullscreen canvas{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100vw,177.7778vh);height:min(100vh,56.25vw)}.show-frame:fullscreen .stage-hud{padding-bottom:38px}.show-frame:fullscreen .stage-topline{padding-top:31px}@media(max-width:1260px){.main-grid{grid-template-columns:minmax(0,1fr) 290px}.app-shell{width:min(1300px,calc(100% - 42px))}.metrics{gap:14px}.stage-bottom-label{font-size:8px}}@media(max-width:1030px){.main-grid{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.info-card{grid-column:span 2}.playlist{max-height:270px}.top-badge{display:none}}@media(max-width:680px){.app-shell{width:calc(100% - 24px)}.header{height:77px}.header-right .connection{display:none}.identity-name{font-size:17px}.page-intro{padding:26px 0 22px;align-items:start}.page-intro h1{font-size:29px}.page-intro p{font-size:11px}.live-pill{display:none}.show-panel,.player-panel,.analysis-panel,.side-card{border-radius:11px}.stage-topline{padding:11px 12px;font-size:6px;letter-spacing:1px}.stage-brand .stage-separator,.stage-brand #stageMode{display:none}.stage-hud{padding:25px 13px 10px}.stage-bottom-label{display:none}.hud-spectrum{height:20px;width:58px;gap:2px}.stage-counter b{font-size:19px}.stage-counter small{font-size:7px;margin-top:4px}.center-hint{gap:3px}.hint-icon{height:37px;width:37px;font-size:13px}.center-hint strong{font-size:10px;letter-spacing:1.2px}.center-hint span{font-size:8px;min-width:0;width:210px}.show-toolbar{min-height:54px;padding:9px}.show-toolbar-status{font-size:10px}.toolbar-button{font-size:9px;padding:8px}.player-panel,.analysis-panel{padding:17px 15px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 25px}.sidebar{grid-template-columns:1fr;gap:14px}.info-card{grid-column:auto}.footer{margin-top:28px;flex-direction:column;font-size:8px}.player-tools input{width:75px}.stage-fps{font-size:7px}.stage-counter{margin-left:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V2 — dedicated professional concert cue desk */
.stage-cue-tag{position:absolute;z-index:4;pointer-events:none;left:25px;top:76px;display:flex;align-items:center;gap:9px;padding:9px 12px;background:rgba(3,11,15,.65);border:1px solid rgba(71,190,171,.25);border-radius:7px;box-shadow:0 4px 22px #0008;backdrop-filter:blur(6px)}
.stage-cue-tag .cue-spot,.cue-pulse{width:7px;height:7px;flex:none;background:#26f0ad;box-shadow:0 0 12px #11efa9;border-radius:50%;animation:blip 1.5s ease-in-out infinite}
.stage-cue-tag small,.cue-now small{display:block;font-size:7px;letter-spacing:1.5px;color:#88c8c1;font-weight:800}
.stage-cue-tag b{display:block;font-size:10px;white-space:nowrap;letter-spacing:.5px;color:#eafff5;font-weight:800}
.stage-cue-tag.is-blackout{border-color:rgba(255,92,114,.32)}.stage-cue-tag.is-blackout .cue-spot{background:#ff5577;box-shadow:0 0 11px #ff3555}
.cue-card{padding:21px 19px 18px}.cue-card .side-title-row{margin-bottom:18px}.rig-count{font-size:8px;font-weight:850;letter-spacing:.6px;color:#80d8bb;border:1px solid #235c52;border-radius:30px;padding:5px 7px;white-space:nowrap}
.cue-now{display:flex;align-items:center;gap:10px;border:1px solid #28534b;border-radius:9px;padding:12px 10px;background:linear-gradient(100deg,#0c2a25,#0b1620)}
.cue-now strong{font-size:12px;font-weight:750;color:#e5fff7;line-height:1.4;display:block}.cue-now small{font-size:8px;margin-bottom:2px}
.cue-mode{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}
.mode-button{border:1px solid #34434b;border-radius:7px;background:#101d26;color:#9faebe;font-weight:750;padding:9px 5px;font-size:10px;letter-spacing:.55px}
.mode-button.is-active{background:#114836;color:#66ffca;border-color:#208a66}.mode-button:hover{border-color:#37dda4}
.cue-explain{font-size:10px;line-height:1.55;color:#8da8b5;margin:11px 1px 14px}
.cue-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.cue-buttons button{background:linear-gradient(135deg,#122532,#0e1823);border:1px solid #324553;border-radius:7px;text-align:left;font-size:9px;color:#c8dbe5;font-weight:700;letter-spacing:.1px;min-height:39px;padding:7px 8px;transition:background .16s,border-color .16s}
.cue-buttons button b{font-size:15px;color:#42e6ac;font-weight:500;margin-right:6px}.cue-buttons button:hover{background:#15392f;border-color:#29bd8d}.cue-buttons button.cue-active{border-color:#3ae5a5;background:#133f32;color:#eafff4;box-shadow:inset 0 0 0 1px #157c53}
.cue-buttons button.cue-off b{color:#ffbd71}.cue-buttons button.cue-blackout b{color:#f46b80}.cue-buttons button[data-cue="BLACKOUT"]{grid-column:span 2;text-align:center}
.cue-toggle{margin-top:16px;padding-top:15px}.flash-setting{margin-top:14px}.cue-card .setting-range{margin-bottom:8px}.flash-warning{margin:5px 0 0;color:#bd9f82;font-size:9px;line-height:1.55}
@media(max-width:680px){.stage-cue-tag{left:12px;top:35px;padding:5px 7px;gap:6px}.stage-cue-tag small{font-size:5px}.stage-cue-tag b{font-size:7px;letter-spacing:0}.stage-cue-tag .cue-spot{height:5px;width:5px}}

/* v3: measured FPS display. Scenery consists only of stage, truss, spots and lasers. */
.actual-fps{display:inline-block;color:#68ffc5;margin-left:9px;padding:2px 6px;border:1px solid #286b5a;border-radius:4px;background:#081e1d;font-size:9px;font-weight:750;letter-spacing:.2px;font-variant-numeric:tabular-nums}
@media (max-width:680px){.actual-fps{font-size:7px;margin-left:3px;padding:1px 4px}}

/* v4: 12 fiziksel klavye tuşu için hızlı koreografi kumandası. */
.hotkey-help{display:flex;flex-direction:column;gap:3px;padding:9px 10px 11px;margin:-3px 0 12px;border:1px solid #245b4c;border-radius:8px;background:#0a2b22;color:#c8efe0;font-size:10px;line-height:1.6}
.hotkey-help strong{font-size:9px;letter-spacing:1px;color:#51f2b8}
.hotkey-help span{display:block;font-size:10px;color:#e0f2eb}
.hotkey-help kbd{display:inline-block;padding:0px 5px;line-height:17px;border:1px solid #3b826c;border-radius:4px;background:#153e32;color:#e4f9f0;font-family:inherit;font-size:10px;font-weight:750}
.hotkey-help small{color:#8fb6a8;font-size:9px;line-height:1.5}
.cue-buttons button[data-cue]{position:relative;padding-right:32px}
.cue-buttons .cue-key{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;place-items:center;min-width:20px;height:21px;padding:0 3px;background:#193a32;border:1px solid #337962;border-radius:5px;font-family:inherit;font-size:10px;font-weight:800;color:#80ffd1;line-height:1}
.cue-buttons button.cue-active .cue-key{background:#1b6e50;border-color:#51e3a9;color:#f2fff9}
.cue-buttons button.cue-hotkey-hit{border-color:#a3ffd9;box-shadow:inset 0 0 0 1px #53edb4,0 0 18px rgba(67,255,174,.33);background:#235846}
.cue-buttons button.cue-hotkey-hit .cue-key{background:#5debad;border-color:#b4ffe0;color:#09251b}

/* V5: Two manually triggered 12-lamp blinder units */
.blinder-button{width:100%;min-height:65px;margin:13px 0 11px;display:flex;align-items:center;gap:12px;border:1px solid #946e35;border-radius:9px;padding:12px;background:linear-gradient(105deg,#38250c,#19221d);color:#fff2d7;text-align:left;cursor:pointer;transition:border-color .08s,background .08s,box-shadow .08s}
.blinder-button:hover,.blinder-button:focus-visible{border-color:#ffd789;outline:none;box-shadow:0 0 13px #c98b4338}
.blinder-button .blinder-button-symbol{font-size:28px;color:#ffd081;text-shadow:0 0 17px #ffc0535c}
.blinder-button span:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.blinder-button b{font-size:11px;font-weight:800;letter-spacing:.5px}
.blinder-button small{font-size:9px;line-height:1.4;color:#d2ac72}
.blinder-button kbd{border:1px solid #deb16a;background:#644114;color:#fff4dc;border-radius:5px;display:grid;place-items:center;font:bold 15px inherit;min-width:33px;height:32px}
.blinder-button.blinder-firing{background:#f5d49b;color:#171004;box-shadow:0 0 30px #ffd584aa}
.blinder-button.blinder-firing small{color:#5c482e}
.blinder-button.blinder-firing kbd{color:#191001;background:#fff4de}
.rig-fixture-state{margin:0 0 14px;font-size:9px;color:#71918f;line-height:1.5;letter-spacing:.3px}
@media(max-width:680px){.blinder-button{min-height:55px}.blinder-button small{font-size:8px}}

.palette-rgb{background:linear-gradient(90deg,#ff2d55 0%,#ffb000 22%,#29f36f 46%,#2fd7ff 68%,#7e59ff 100%)}
.fixture-photo-credit{font-size:10px;line-height:1.7;color:#6f8791;margin:18px 0 -18px}.fixture-photo-credit a{color:#93b3bd;text-decoration:underline;text-underline-offset:2px}.fixture-photo-credit a:hover{color:#9df7cb}

.rig-placement{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 7px;margin:2px 0 12px;color:#9ab9bc}.rig-placement span{display:flex;justify-content:space-between;gap:8px;border:1px solid #263e45;background:#0c1d26;border-radius:5px;padding:5px 7px;font-size:9px}.rig-placement b{color:#4bffbe;font-size:10px}.rig-placement span:nth-last-child(1){grid-column:span 2}

/* v8: bass-synchronized auto director status */
.bass-sync-indicator{border:1px solid #296451;border-radius:7px;background:rgba(10,49,38,.55);color:#8ee8bd;padding:8px 10px;margin:-4px 0 12px;font-size:10px;font-weight:750;letter-spacing:.55px;transition:background .07s,color .07s}
.bass-sync-indicator.has-beat{background:rgba(39,159,102,.42);color:#e8fff1;border-color:#68ffb0}
