*{box-sizing:border-box}body{margin:0;background:#17171f;color:#eee;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}.app{max-width:980px;margin:0 auto;padding:16px;text-align:center}.machine-select-row{margin:8px 0;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.setting-select{font-family:inherit;font-size:clamp(13px,2vmin,16px);color:#eee;background:#2a2a38;border:1px solid #3a3a55;border-radius:10px;padding:8px 12px;cursor:pointer}.repo-link{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid #3a3a55;border-radius:10px;background:#1e1e2c;color:#9fa8da;font-size:clamp(13px,2vmin,16px);font-weight:700;text-decoration:none}.repo-link:hover{color:#ffd54f;border-color:#5a5a78}.large-display-toggle{min-height:40px;padding:8px 12px;border:1px solid #3a3a55;border-radius:10px;background:#1e1e2c;color:#c7c9e8;font-size:clamp(13px,2vmin,16px)}.large-display-toggle:hover,.large-display-toggle-active{color:#17171f;border-color:#ffd54f;background:#ffd54f}.machine-select{font-family:inherit;font-size:clamp(16px,2.6vmin,22px);font-weight:700;color:#ffd54f;background:#1e1e2c;border:1px solid #3a3a55;border-radius:10px;padding:10px 16px;letter-spacing:2px;cursor:pointer;text-align:center;max-width:100%}.status-row{display:flex;justify-content:center;gap:8px;min-height:32px;margin-bottom:10px;flex-wrap:wrap}.chip{font-size:clamp(12px,1.8vmin,15px);padding:5px 14px;border-radius:999px;background:#2a2a38;color:#999}.chip-active{background:#b71c1c;color:#fff}.cabinet{background:linear-gradient(180deg,#23233a,#1a1a2a);border:2px solid #3a3a55;border-radius:20px;padding:clamp(16px,3vmin,32px)}.reels{display:flex;justify-content:center;gap:clamp(3px,.7vmin,7px);width:fit-content;margin:0 auto clamp(14px,2.5vmin,24px);padding:clamp(4px,.8vmin,8px);border:2px solid #777264;border-radius:12px;background:linear-gradient(180deg,#090a0c,#292a2d 48%,#090a0b);box-shadow:0 10px 22px #00000061,inset 0 1px #fff3,inset 0 -1px #000000bf}.reel{--cell-h: clamp(64px, 14vmin, 120px);position:relative;isolation:isolate;background:#d7d3c8;border-radius:4px;overflow:hidden;width:clamp(108px,22vmin,190px);height:calc(var(--cell-h) * 3);border:1px solid #1b1b1b;perspective:calc(var(--cell-h) * 24);perspective-origin:50% 50%;box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 0 16px #00000080}.reel:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(90deg,#231b0c38,#231b0c0d 12%,#fffce514 48%,#ffffff05 72%,#1c170d2e),linear-gradient(180deg,#140f07a3,#23180863 7%,#3c2b0f24 20%,#fffce505,#ffffff17 48%,#ffffff06 61%,#37250c1a 78%,#1911075c);box-shadow:inset 0 20px 22px -22px #000000f2,inset 0 -14px 18px -18px #000c}.reel:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;border-radius:3px;background:linear-gradient(108deg,transparent 0%,transparent 35%,rgba(255,255,255,.015) 40%,rgba(255,255,255,.16) 44%,rgba(255,255,255,.045) 48%,transparent 54%,transparent 100%),linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 8%,transparent 93%,rgba(255,255,255,.05) 100%);box-shadow:inset 0 0 9px #ffffff14}.reel-backlight{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 88% 31% at 50% 16.666%,rgba(255,248,218,.96) 0%,rgba(255,241,194,.58) 58%,transparent 100%),radial-gradient(ellipse 88% 31% at 50% 50%,rgba(255,250,224,.98) 0%,rgba(255,243,200,.62) 58%,transparent 100%),radial-gradient(ellipse 88% 31% at 50% 83.333%,rgba(255,248,218,.94) 0%,rgba(255,239,190,.54) 58%,transparent 100%),#746e5d}.reel-backlight:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,transparent calc(33.333% - 1px),rgba(35,31,23,.34) calc(33.333% - 1px),rgba(35,31,23,.34) calc(33.333% + 1px),transparent calc(33.333% + 1px),transparent calc(66.666% - 1px),rgba(35,31,23,.32) calc(66.666% - 1px),rgba(35,31,23,.32) calc(66.666% + 1px),transparent calc(66.666% + 1px),transparent 100%)}.reel-strip{position:absolute;inset:0;z-index:1;transform-style:preserve-3d;transform-origin:50% 50%;will-change:transform}.cell{--lamp-exposure: 0;--lamp-y: 50%;--symbol-transmission: .12;--transmission-brightness: 1.04;--transmission-saturation: 1.08;--transmission-contrast: 1.02;position:absolute;top:50%;left:0;width:100%;height:var(--cell-h);margin-top:calc(var(--cell-h) / -2);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e5e2d9eb;font-size:clamp(32px,8vmin,64px);font-weight:700;color:#333;backface-visibility:hidden;transform-origin:50% 50%}.cell:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:calc(var(--lamp-exposure) * .14);background:#fff9dcc7}.symbol-stack{position:relative;isolation:isolate;z-index:1;width:94%;height:86%;transform:translateZ(.1px)}.cell-img{width:94%;height:86%;object-fit:contain}.symbol-stack .cell-img,.symbol-transmission{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.symbol-print{z-index:1}.symbol-transmission{z-index:2;pointer-events:none;opacity:calc(var(--lamp-exposure) * var(--symbol-transmission));mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 120% 82% at 50% var(--lamp-y),#000 0%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 120% 82% at 50% var(--lamp-y),#000 0%,#000 58%,transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;filter:brightness(var(--transmission-brightness, 1.12)) saturate(var(--transmission-saturation, 1.22)) contrast(var(--transmission-contrast, 1.06))}.panel-art{display:block;width:100%;height:auto;object-fit:contain;border-radius:12px;margin-bottom:12px;border:2px solid #3a3a55}.sym-seven{--symbol-transmission: .24;--transmission-brightness: 1.04;--transmission-saturation: 1.12;--transmission-contrast: 1.03;color:#d32f2f}.sym-bar{--symbol-transmission: .24;--transmission-brightness: 1.04;--transmission-saturation: 1.08;--transmission-contrast: 1.03;font-size:clamp(20px,5vmin,40px);color:#111}.sym-bell{--symbol-transmission: .18}.sym-replay{--symbol-transmission: .12}.sym-cherry{--symbol-transmission: .16}.sym-melon{--symbol-transmission: .15}.sym-blank{--symbol-transmission: 0}.controls{display:flex;justify-content:center;gap:clamp(8px,1.5vmin,14px);margin-bottom:clamp(14px,2.5vmin,24px)}button{font-family:inherit;font-size:clamp(14px,2.2vmin,18px);padding:clamp(12px,2vmin,18px) clamp(14px,2.5vmin,24px);border-radius:10px;border:none;cursor:pointer;font-weight:700}button:disabled{opacity:.35;cursor:default}.lever{background:#d32f2f;color:#fff}.bet-btn{background:#f9a825;color:#333;width:clamp(72px,12vmin,110px)}.stop-btn{background:#ffd54f;color:#333;width:clamp(72px,12vmin,110px)}.counter-row{display:flex;justify-content:center;gap:32px}.counter{display:flex;flex-direction:column;align-items:center}.counter-label{font-size:clamp(10px,1.5vmin,13px);color:#888;letter-spacing:2px}.counter-value{font-family:Consolas,monospace;font-size:clamp(28px,5vmin,44px);color:#7fff9f}.app-large-display{width:100%;max-width:min(100%,var(--large-app-w));padding-inline:clamp(16px,1.5vw,48px)}.app-large-display .cabinet{padding:clamp(20px,calc(var(--large-cell-h) * .16),40px);border-width:clamp(2px,calc(var(--large-cell-h) * .012),3px);border-radius:clamp(20px,calc(var(--large-cell-h) * .12),30px)}.app-large-display .panel-art{width:min(100%,var(--large-panel-w));margin-right:auto;margin-left:auto}.app-large-display .reels{gap:clamp(7px,calc(var(--large-cell-h) * .035),12px);padding:clamp(8px,calc(var(--large-cell-h) * .04),12px);margin-bottom:clamp(24px,calc(var(--large-cell-h) * .12),34px)}.app-large-display .reel{--cell-h: var(--large-cell-h);width:var(--large-reel-w)}.app-large-display .controls{gap:clamp(14px,calc(var(--large-cell-h) * .075),22px);margin-bottom:clamp(24px,calc(var(--large-cell-h) * .12),34px)}.app-large-display .controls button{min-height:clamp(58px,calc(var(--large-cell-h) * .34),82px);padding:clamp(16px,calc(var(--large-cell-h) * .09),24px);font-size:clamp(18px,calc(var(--large-cell-h) * .105),26px)}.app-large-display .bet-btn,.app-large-display .stop-btn{width:clamp(110px,calc(var(--large-cell-h) * .68),164px)}.app-large-display .counter-row{gap:clamp(48px,calc(var(--large-cell-h) * .3),72px)}.app-large-display .counter-label{font-size:clamp(13px,calc(var(--large-cell-h) * .07),17px)}.app-large-display .counter-value{font-size:clamp(44px,calc(var(--large-cell-h) * .26),62px)}.app-large-display .notice-lamp{width:clamp(22px,calc(var(--large-cell-h) * .15),36px);height:clamp(22px,calc(var(--large-cell-h) * .15),36px)}.app-large-display .log,.app-large-display .tab-bar,.app-large-display .tab-content{max-width:980px;margin-right:auto;margin-left:auto}@media(prefers-reduced-motion:reduce){.large-display-toggle{transition:none}}.win-value{color:#ffd54f}.nav-banner{margin-bottom:12px;font-size:clamp(18px,3.2vmin,28px);font-weight:700;color:#17171f;background:#ffd54f;border-radius:10px;padding:8px;animation:nav-blink .5s step-end infinite alternate}@keyframes nav-blink{0%{background:#ffd54f}to{background:#ffb300}}.editor-textarea{width:100%;min-height:320px;font-family:Consolas,monospace;font-size:12px;background:#101018;color:#cde;border:1px solid #3a3a55;border-radius:8px;padding:8px;resize:vertical;margin-bottom:10px}.editor-save{background:#2e7d32;color:#fff}.badge-warn{color:#ffb74d}.win-banner{margin-top:14px;font-size:clamp(18px,3vmin,26px);font-weight:700;color:#ffd54f}.log{margin-top:14px;min-height:60px;text-align:left;font-size:clamp(12px,1.8vmin,14px);color:#aaa}.log-line{padding:3px 10px;border-left:2px solid #3a3a55;margin-bottom:2px}.panel{margin-top:14px;background:#1e1e2c;border:1px solid #3a3a55;border-radius:12px;text-align:left}.panel>summary{cursor:pointer;padding:12px 16px;font-size:clamp(14px,2vmin,16px);font-weight:700;color:#ffd54f}.panel-body{padding:0 16px 16px}.panel-controls{display:flex;gap:10px;margin-bottom:12px;align-items:center;flex-wrap:wrap}.panel-controls select{font-family:inherit;font-size:14px;padding:10px;border-radius:8px;background:#2a2a38;color:#eee;border:1px solid #3a3a55;max-width:100%}.panel-controls button{background:#3949ab;color:#fff}.spec-table{width:100%;border-collapse:collapse;font-size:clamp(13px,1.8vmin,15px);margin-bottom:12px}.spec-table th,.spec-table td{padding:8px 12px;border-bottom:1px solid #2e2e44;text-align:left}.spec-table th{color:#888;font-weight:400}.spec-table td.ok{color:#7fff9f;font-weight:700}.spec-table td.ng{color:#ff6f6f;font-weight:700}.badge-ok{color:#7fff9f;font-weight:700}.badge-ng{color:#ff6f6f;font-weight:700}.panel-note{font-size:13px;color:#888}.composer-theory{margin-bottom:14px;border:1px solid #3a3a55;border-radius:10px;background:#171721}.composer-theory>summary{cursor:pointer;padding:10px 12px;color:#9fd;font-size:14px;font-weight:700}.composer-theory-body{padding:0 14px 12px;color:#c7c9d9;font-size:13px;line-height:1.65}.composer-theory-body dl{margin:0}.composer-theory-body dt{margin-top:10px;color:#ffd54f;font-weight:700}.composer-theory-body dd{margin:2px 0 0}.composer-theory-body code{padding:1px 4px;border-radius:4px;background:#101018;color:#b9f6ca;font-family:Consolas,monospace}.slot-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.slot-sections{display:flex;flex-direction:column}.slot-section-title{width:fit-content;margin:2px 0 7px;padding:2px 9px;border-radius:999px;background:#28283a;color:#ffd54f;font-size:12px;font-weight:700}.slot-item{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.slot-label{font-size:11px;color:#888}.slot-fixed{font-family:Consolas,monospace;font-size:14px;padding:10px 12px;border-radius:8px;background:#101018;border:1px solid #2e2e44;color:#9fd}.slot-item select{font-family:Consolas,monospace;font-size:14px;padding:9px 8px;border-radius:8px;background:#2a2a38;color:#eee;border:1px solid #3a3a55}.song-name-input{font-family:inherit;font-size:14px;padding:9px 10px;border-radius:8px;background:#2a2a38;color:#eee;border:1px solid #3a3a55;flex:1;min-width:140px;max-width:100%}.song-list{margin-bottom:12px}.song-row{display:flex;gap:10px;align-items:center;padding:6px 10px;border-left:2px solid #3a3a55;margin-bottom:4px;flex-wrap:wrap}.song-name{color:#ffd54f;font-weight:700;font-size:14px}.song-summary{color:#888;font-size:12px;flex:1;min-width:180px}.song-delete{color:#ff8a80}.assign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:12px}.assign-item{display:flex;flex-direction:column;gap:4px}.assign-item select{font-family:inherit;font-size:14px;padding:9px 8px;border-radius:8px;background:#2a2a38;color:#eee;border:1px solid #3a3a55;width:100%;min-width:0}.st-volume{display:flex;align-items:center;gap:6px;font-size:13px;color:#aaa;font-family:Consolas,monospace}.st-volume input[type=range]{width:110px;accent-color:#ffd54f}.st-bpm,.st-loop{display:flex;align-items:center;gap:6px;font-size:13px;color:#aaa}.st-bpm input{width:70px;font-family:Consolas,monospace;font-size:14px;padding:9px 8px;border-radius:8px;background:#2a2a38;color:#eee;border:1px solid #3a3a55}.blind-study{margin:18px 0 10px;padding:clamp(14px,2.5vmin,22px);border:1px solid #505071;border-radius:14px;background:radial-gradient(circle at 100% 0,rgba(83,109,254,.16),transparent 42%),#14141e}.blind-study-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.blind-study-head h3{margin:0 0 5px;color:#fff;font-size:clamp(17px,2.4vmin,21px)}.blind-study-head p,.blind-empty{margin:0;color:#aeb1c5;font-size:13px;line-height:1.65}.blind-study button{padding:9px 13px;background:#3949ab;color:#fff;font-size:13px}.blind-study-head>button{flex:0 0 auto;background:#ffd54f;color:#25220e}.blind-candidates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.blind-candidate{display:flex;flex-direction:column;gap:10px;min-width:0;padding:13px;border:1px solid #343449;border-radius:11px;background:#14141ee0;transition:border-color .12s ease,background .12s ease}.blind-candidate.selected{border-color:#ffd54f;background:#ffd54f12}.blind-candidate.playing{border-color:#69f0ae;box-shadow:inset 0 0 0 1px #69f0ae38}.blind-candidate-title{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:7px;color:#9da0b4;font-size:12px}.blind-candidate-title strong{color:#fff;font-family:Consolas,monospace;font-size:25px;line-height:1}.blind-candidate-title small{color:#7e8195}.blind-candidate-title small:first-letter{color:#69f0ae}.blind-pick{display:flex;align-items:center;gap:6px;color:#d7d8e2;font-size:13px;cursor:pointer}.blind-pick input{accent-color:#ffd54f}.blind-reveal{display:flex;flex-direction:column;gap:5px;padding-top:9px;border-top:1px solid #343449;color:#bfc2d2;font-size:12px;line-height:1.55}.blind-reveal b{color:#ffd54f;font-size:13px}.blind-study-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}.blind-study-actions>button:first-child{background:#00897b}.blind-progress-copy{color:#9194a8;font-size:12px}.blind-result{margin-top:12px;padding:11px 12px;border-radius:9px;background:#101018;color:#d7d8e2;font-size:13px}.blind-result p{margin:0 0 9px}.blind-result strong{color:#ffd54f}.blind-totals{display:flex;gap:8px 16px;flex-wrap:wrap;color:#9da0b4;font-size:12px}.blind-totals b{color:#9fd}.blind-total-label{width:100%;color:#d7d8e2;font-weight:700}.blind-diff-note{margin:10px 0 0;color:#9da0b4;font-size:12px}.blind-votes-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px;padding-top:11px;border-top:1px dashed #3e415b}.blind-votes-tools small{color:#9194a8;font-size:11px}.composition-research{margin-top:16px;border:1px solid #3e415b;border-radius:11px;background:#0a0a1185;overflow:hidden}.composition-research>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;color:#eef0ff;cursor:pointer;font-weight:700}.composition-research>summary small{color:#969aaf;font-size:11px;font-weight:400;text-align:right}.composition-research[open]>summary{border-bottom:1px solid #34374d;background:#536dfe14}.composition-research-body{padding:15px}.composition-research-intro{margin:0 0 18px;color:#aeb1c5;font-size:13px;line-height:1.7}.composition-experiment-history h4,.composition-hypothesis-section h4{margin:0 0 9px;color:#fff;font-size:15px}.composition-experiment{padding:14px;border:1px solid #3c4058;border-radius:10px;background:#11121b}.composition-experiment header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.composition-experiment header small{color:#8f93aa;font-size:10px}.composition-experiment h5{margin:2px 0 0;color:#ffd54f;font-size:15px}.composition-experiment p,.composition-hypothesis-detail p{margin:8px 0 0;color:#c3c6d5;font-size:12px;line-height:1.65}.composition-experiment p b,.composition-hypothesis-detail p b{color:#f0f1f7}.composition-experiment-result{padding:9px 10px;border-left:3px solid #69f0ae;border-radius:4px;background:#69f0ae0f}.composition-condition-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.composition-condition-list span{padding:4px 7px;border-radius:999px;background:#282a3a;color:#bec1d1;font-size:11px}.research-status{flex:0 0 auto;padding:3px 7px;border:1px solid #555a70;border-radius:999px;color:#b7bac9;font-size:10px;line-height:1.4;white-space:nowrap}.research-status.experiment-completed,.research-status.hypothesis-tested{border-color:#69f0ae73;background:#69f0ae17;color:#8ff5bd}.research-status.experiment-running,.research-status.hypothesis-partiallyTested{border-color:#ffd54f80;background:#ffd54f14;color:#ffe082}.composition-limitations{margin-top:10px;border-top:1px solid #2e3041;color:#989caf;font-size:11px}.composition-limitations>summary{padding-top:9px;cursor:pointer}.composition-limitations ul{margin:8px 0 0;padding-left:20px;line-height:1.6}.composition-hypothesis-section{margin-top:20px}.composition-hypothesis-section>p{margin:0 0 10px;color:#9b9fb3;font-size:12px}.composition-hypothesis-list{display:grid;gap:7px}.composition-hypothesis{border:1px solid #34374a;border-radius:8px;background:#14151f;overflow:hidden}.composition-hypothesis>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;color:#dfe1ec;cursor:pointer;font-size:13px;font-weight:700}.composition-hypothesis>summary>span{display:flex;align-items:baseline;gap:8px}.composition-hypothesis>summary small{color:#777c92;font-family:Consolas,monospace;font-size:10px;font-weight:400}.composition-hypothesis[open]>summary{border-bottom:1px solid #303244;background:#ffffff06}.composition-hypothesis-detail{padding:3px 12px 12px}@media(max-width:720px){.blind-study-head{flex-direction:column}.blind-candidates{grid-template-columns:1fr}.composition-research>summary{align-items:flex-start;flex-direction:column;gap:5px}.composition-research>summary small{text-align:left}}.chord-line{font-family:Consolas,monospace;font-size:clamp(15px,2.4vmin,19px);color:#ffd54f;margin-bottom:6px}.chord-line.chord-form{display:flex;flex-direction:column;gap:5px}.chord-line.chord-form b{display:inline-block;min-width:1.5em;color:#9fd}.melody-line{font-family:Consolas,monospace;font-size:12px;color:#9fd;margin-bottom:6px;word-break:break-all}.composer-diagnosis{margin:10px 0 6px;padding:8px 10px;border:1px solid #3a3a55;border-radius:8px;background:#101018;color:#bbb;font-size:12px}.composer-diagnosis>summary{cursor:pointer;color:#ddd}.diagnosis-grid{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px}.diagnosis-issues{margin:8px 0 0;padding-left:18px;color:#d8b9b9}.diagnosis-issues li+li{margin-top:6px}.diagnosis-issues .form-mini-btn{margin-left:8px;padding:4px 8px}.diagnosis-observations .panel-note{margin-bottom:2px}.diagnosis-observations ul{margin:0;padding-left:18px;color:#b8d6c4;font-size:clamp(11px,1.65vmin,13px)}.guide-summary{font-size:clamp(13px,1.9vmin,15px);color:#ddd;margin:0 0 8px}.guide-list{margin:0;padding-left:20px;font-size:clamp(12px,1.8vmin,14px);color:#aaa;line-height:1.7}.force-row{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:12px;font-size:13px;color:#888}.force-row select{font-family:inherit;font-size:13px;padding:8px;border-radius:8px;background:#2a2a38;color:#eee;border:1px solid #3a3a55}.force-armed{color:#ffd54f;font-weight:700}.tab-bar{display:flex;justify-content:center;gap:6px;margin-top:18px;border-bottom:2px solid #3a3a55;flex-wrap:wrap}.tab-btn{font-size:clamp(13px,2vmin,16px);padding:10px 18px;border-radius:10px 10px 0 0;background:#1e1e2c;color:#888;border:1px solid #2e2e44;border-bottom:none}.tab-btn:hover{color:#ccc}.tab-btn-active{background:#2a2a44;color:#ffd54f;border-color:#3a3a55}.tab-content{text-align:left;padding-top:4px}.debug-inline{display:flex;align-items:center;gap:6px;cursor:pointer}.debug-toggle{display:block;margin-top:14px;font-size:13px;color:#888;cursor:pointer}.debug-panel{text-align:left;font-size:11px;background:#101018;border:1px solid #3a3a55;border-radius:8px;padding:8px;overflow-x:auto;color:#9fd}.cabinet{position:relative;overflow:hidden}.lamp-row{display:flex;justify-content:center;margin-bottom:8px}.notice-lamp{width:22px;height:22px;border-radius:50%;background:#2a2a38;border:2px solid #3a3a55;transition:background .2s}.notice-lamp.lamp-on{background:#ffd54f;border-color:#ffb300;box-shadow:0 0 18px 6px #ffd54fb3;animation:lamp-blink .6s ease-in-out infinite alternate}@keyframes lamp-blink{0%{box-shadow:0 0 18px 6px #ffd54fb3}to{box-shadow:0 0 30px 12px #ffb300e6}}.bonus-flash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,#ffd54f8c,#d32f2f40);animation:bonus-flash 1.2s ease-out forwards;z-index:2}@keyframes bonus-flash{0%{opacity:0}15%{opacity:1}to{opacity:0}}.tab,.tab-active{background:#2a2a38;color:#aaa;font-size:14px;padding:10px 16px}.tab-active{background:#3949ab;color:#fff}.form-editor{text-align:left}.form-section{margin:10px 0;background:#191926;border:1px solid #2e2e44;border-radius:10px}.form-section>summary{cursor:pointer;padding:10px 14px;font-size:14px;font-weight:700;color:#9fa8da}.form-body{padding:0 14px 14px}.form-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0;font-size:13px;color:#ccc}.form-row label{display:inline-flex;align-items:center;gap:6px}.form-text,.form-num{font-family:inherit;font-size:13px;padding:6px 8px;border-radius:6px;background:#101018;color:#eee;border:1px solid #3a3a55}.form-text{min-width:220px}.form-select{font-family:inherit;font-size:13px;padding:6px 8px;border-radius:6px;background:#2a2a38;color:#eee;border:1px solid #3a3a55}.form-mini-btn{font-size:12px;padding:6px 10px;background:#2a2a38;color:#ddd;border:1px solid #3a3a55}.form-h4{margin:14px 0 6px;color:#ffd54f;font-size:14px}.form-role{border:1px solid #2e2e44;border-radius:8px;padding:8px 10px;margin:8px 0}.role-name{color:#ffd54f}.weight-control{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.weight-control input[type=range]{width:160px}.weight-info{font-family:Consolas,monospace;font-size:12px;color:#7fff9f}.lottery-label{min-width:140px;display:inline-block;color:#eee}.chip-diff{font-size:11px;margin-left:6px;padding:2px 8px;border-radius:999px;background:#b71c1c;color:#fff}.spec-summary{background:#101018;border:1px solid #3a3a55;border-radius:10px;padding:10px 14px;margin-bottom:10px}.spec-summary-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:#ddd}.spec-summary b.ok{color:#7fff9f}.spec-summary b.ng{color:#ff6f6f}.reel-grid{display:flex;gap:14px;justify-content:flex-start}.reel-grid-col{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#ccc}.reel-counts{max-width:160px}.bonus-table{margin:4px 0 10px}.release-editor{margin:6px 0;padding-left:8px;border-left:2px solid #2e2e44}.wizard-result{margin-top:12px;padding:12px 14px;background:#101018;border:1px solid #3a3a55;border-radius:10px}.soundtest-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.credit-note{margin-top:16px;text-align:center}.credit-note a{color:#9fa8da}.fourth-reel{width:36px;height:36px;margin-left:12px;background:#f7f5ee;border:2px solid #3a3a55;border-radius:8px;overflow:hidden;display:inline-flex;flex-direction:column}.fourth-cell{width:100%;height:36px;flex:none;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.fourth-cell .cell-img{width:80%;height:80%;object-fit:contain}.fourth-roll{display:flex;flex-direction:column;animation:fourth-roll .3s linear infinite}@keyframes fourth-roll{to{transform:translateY(-50%)}}.stage-badge{margin-left:12px;align-self:center;font-size:clamp(11px,1.6vmin,13px);padding:4px 12px;border-radius:999px;background:#101018;border:1px solid #3a3a55;color:#bbb}.zone-banner{margin-bottom:12px;font-size:clamp(16px,2.6vmin,22px);font-weight:700;letter-spacing:.35em;text-indent:.35em;border-radius:10px;padding:6px;color:#fff}.zone-l0{background:#1565c0}.zone-l1{background:#f9a825;color:#17171f}.zone-l2{background:#2e7d32}.zone-l3{background:#b71c1c;animation:zone-pulse .5s ease-in-out infinite alternate}@keyframes zone-pulse{0%{box-shadow:0 0 6px 2px #ff525280}to{box-shadow:0 0 22px 8px #ff5252e6}}.zone-rainbow{background:linear-gradient(90deg,#e53935,#fb8c00,#fdd835,#43a047,#1e88e5,#8e24aa);background-size:300% 100%;animation:zone-rainbow 1.2s linear infinite}@keyframes zone-rainbow{to{background-position:300% 0}}.notice-lamp.lamp-on.lamp-rainbow{animation:lamp-blink .6s ease-in-out infinite alternate,lamp-rainbow 1.2s linear infinite}@keyframes lamp-rainbow{0%{background:#ef5350}33%{background:#ffd54f}66%{background:#42a5f5}to{background:#ef5350}}.battle-banner{margin-bottom:12px;font-size:clamp(18px,3.2vmin,28px);font-weight:700;color:#fff;background:linear-gradient(90deg,#4a148c,#b71c1c);border:2px solid #ffd54f;border-radius:10px;padding:8px;animation:battle-shake .35s ease-in-out infinite}@keyframes battle-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.cutin{position:absolute;left:0;right:0;top:34%;z-index:3;pointer-events:none;font-size:clamp(22px,4.5vmin,40px);font-weight:700;color:#ffd54f;text-shadow:0 0 12px rgba(0,0,0,.9),0 2px 4px rgba(0,0,0,.9);animation:cutin 1.5s ease-out forwards}@keyframes cutin{0%{opacity:0;transform:scale(2.2)}15%{opacity:1;transform:scale(1)}75%{opacity:1}to{opacity:0}}.fourth-flash{animation:fourth-flash .45s ease-in-out infinite alternate}@keyframes fourth-flash{0%{filter:none}to{filter:brightness(1.4) drop-shadow(0 0 6px #ffb300)}}.bgm-studio{max-width:1100px;margin:0 auto;padding:12px 16px}.studio-header{display:flex;align-items:center;gap:16px;margin-bottom:8px}.studio-header h1{margin:0;font-size:1.1rem}.studio-voices{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.studio-voices select{max-width:240px}
