*{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;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-canvas{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%}.reel-fallback{position:absolute;inset:0;z-index:1;display:grid;grid-template-rows:repeat(3,1fr)}.reel-fallback-cell{display:flex;align-items:center;justify-content:center;background:#e5e2d9eb;font-size:clamp(32px,8vmin,64px);font-weight:700;color:#333;border-bottom:1px solid rgba(35,31,23,.34)}.cell-img{width:94%;height:86%;object-fit:contain}.panel-art{display:block;width:100%;height:auto;object-fit:contain;border-radius:12px;margin-bottom:12px;border:2px solid #3a3a55}.sym-seven{color:#d32f2f}.sym-bar{font-size:clamp(20px,5vmin,40px);color:#111}.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}.composer-layer{margin-bottom:14px;padding:10px 12px 4px;border:1px solid #3a3a55;border-radius:10px;background:#171721}.composer-layer-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.composer-layer-head h3{margin:0;font-size:14px;color:#ffd54f}.composer-layer-step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#3949ab;color:#fff;font-size:12px;font-weight:700}.composer-layer-note{font-size:12px;color:#888}.composer-layer-action{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:12px;color:#aaa}.composer-layer-action button{padding:6px 10px;font-size:12px;background:#2a2a38;color:#ddd;border:1px solid #3a3a55}.setting-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px 12px;margin-bottom:10px}.setting-field{display:flex;flex-direction:column;gap:4px;min-width:0}.setting-field-label{font-size:11px;color:#888}.setting-field select,.setting-field input[type=number]{font-family:inherit;font-size:14px;padding:9px 10px;border-radius:8px;background:#2a2a38;color:#eee;border:1px solid #3a3a55;width:100%;min-width:0;box-sizing:border-box}.setting-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.setting-row{display:grid;grid-template-columns:minmax(96px,max-content) minmax(200px,1fr) minmax(0,1.4fr);gap:6px 12px;align-items:center;padding:4px 0;border-bottom:1px dashed #2e2e44}.setting-row:last-child{border-bottom:none}.setting-row-label{font-size:13px;color:#c7c9d9}.setting-row-control select{font-family:inherit;font-size:14px;padding:8px 10px;border-radius:8px;background:#2a2a38;color:#eee;border:1px solid #3a3a55;width:100%;min-width:0;box-sizing:border-box}.setting-row-control select:disabled{color:#777;background:#20202a;cursor:not-allowed}.setting-row-status{font-size:12px;line-height:1.4;min-width:0}.setting-status-style{color:#888}.setting-status-override{color:#ffd54f}.setting-status-unavailable{color:#ff9e80}.setting-sub{margin:6px 0 0 8px;padding-left:10px;border-left:2px solid #2e2e44}@media(max-width:720px){.setting-row{grid-template-columns:1fr;gap:4px}}.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}.form-editor{margin:6px 0 12px}.form-generate{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:#aaa}.form-generate label{display:flex;align-items:center;gap:6px}.form-generate input[type=number]{width:72px;font-family:inherit;font-size:13px;padding:5px 8px;border-radius:6px;background:#2a2a38;color:#eee;border:1px solid #3a3a55}.form-table table{border-collapse:collapse;font-size:12px}.form-table th,.form-table td{padding:3px 5px;text-align:left;white-space:nowrap}.form-table th{color:#888;font-weight:400;border-bottom:1px solid #2e2e44}.form-table input,.form-table select{font-size:12px;padding:4px 6px;border-radius:6px;background:#2a2a38;color:#eee;border:1px solid #3a3a55}.form-table .form-row-error input,.form-table .form-row-error select{border-color:#e57373}.form-row-actions button{padding:2px 6px;margin-right:2px}.form-row-issue{margin-left:4px;color:#ffb74d}.form-cell-note{color:#888;font-size:12px}.form-table-foot{display:flex;gap:14px;align-items:center;margin-top:8px;flex-wrap:wrap}.form-issues{margin:6px 0 0;padding-left:18px;font-size:12px}.form-issue-warning{color:#ffb74d}.status-lamps{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:clamp(8px,1.6vmin,16px);margin:calc(clamp(14px,2.5vmin,24px)*-.45) auto clamp(12px,2vmin,20px)}.status-lamp{font-family:Consolas,monospace;font-size:clamp(9px,1.4vmin,12px);letter-spacing:1px;padding:2px clamp(6px,1.2vmin,10px);border-radius:999px;color:#4b4b60;background:#15151d;border:1px solid #2c2c40;transition:color .12s,background .12s,box-shadow .12s}.status-lamp-group{display:inline-flex;align-items:center;gap:3px}.status-lamp-bet{width:clamp(16px,2.4vmin,22px);height:clamp(16px,2.4vmin,22px);padding:0;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0}.status-lamp-caption{font-size:clamp(9px,1.4vmin,12px);letter-spacing:1px;color:#666;margin-left:4px}.status-lamp-lit,.status-lamp-blink{color:#17171f;background:#ffd54f;border-color:#ffb300;box-shadow:0 0 10px 2px #ffd54f8c}.status-lamp-blink{animation:status-blink .6s step-end infinite alternate}@keyframes status-blink{0%{color:#17171f;background:#ffd54f;box-shadow:0 0 10px 2px #ffd54f8c}to{color:#4b4b60;background:#15151d;box-shadow:none}}.app-large-display .status-lamps{gap:clamp(14px,calc(var(--large-cell-h) * .07),24px);margin-bottom:clamp(20px,calc(var(--large-cell-h) * .1),30px)}.app-large-display .status-lamp,.app-large-display .status-lamp-caption{font-size:clamp(12px,calc(var(--large-cell-h) * .065),16px)}.app-large-display .status-lamp-bet{width:clamp(22px,calc(var(--large-cell-h) * .12),30px);height:clamp(22px,calc(var(--large-cell-h) * .12),30px)}@media(prefers-reduced-motion:reduce){.status-lamp-blink{animation:none}}
