/* Arcade MV 화면: 일부러 투박한 옛 오락실 게임기. 휴대폰 세로형, 폭 700px 이상(PC·태블릿·폴드 펼침)은 입체 오락기 */
@font-face{font-family:Galmuri11;src:url(https://arapshow.net/lib/vendor/galmuri-2.40.3/Galmuri11.woff2) format('woff2');font-display:swap}
@font-face{font-family:Galmuri11;font-weight:700;src:url(https://arapshow.net/lib/vendor/galmuri-2.40.3/Galmuri11-Bold.woff2) format('woff2');font-display:swap}
@font-face{font-family:Galmuri14;src:url(https://arapshow.net/lib/vendor/galmuri-2.40.3/Galmuri14.woff2) format('woff2');font-display:swap}
@font-face{font-family:NeoDunggeunmo;src:url(https://arapshow.net/lib/vendor/neodgm-1.601/neodgm.woff2) format('woff2');font-display:swap;size-adjust:133%;unicode-range:U+1100-11FF,U+3130-318F,U+AC00-D7AF}
@font-face{font-family:YKompyuta;src:url(https://arapshow.net/lib/vendor/ycomputer-1.0/Ycomputer-Regular.woff2) format('woff2');font-display:swap;unicode-range:U+1100-11FF,U+3130-318F,U+AC00-D7AF}
@font-face{font-family:GalmuriMono11;src:url(https://arapshow.net/lib/vendor/galmuri-2.40.3/GalmuriMono11.woff2) format('woff2');font-display:swap}
:root{--red:#e2382f;--red2:#b8231c;--teal:#27b3bd;--yel:#ffd23a;--org:#ff8a1f;--grn:#7ee04a;--ink:#14121c;--scr:#1d1b2b;--txt:#d8ff9e;--pink:#ff4f6a;
  --foot-bg:#2a2340;--foot-ink:#cfc8ff;--foot-faint:#8f88b8;--foot-line:#3a3358;--foot-font:NeoDunggeunmo,Galmuri11,sans-serif}
*{box-sizing:border-box}
html{background:#2a2340}
body{margin:0;background:#2a2340;font-family:NeoDunggeunmo,Galmuri11,sans-serif;word-break:keep-all;color:#fff;-webkit-font-smoothing:none;min-height:100vh}
button,select,input{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
button:disabled{cursor:wait;opacity:.5}
.wrap{display:flex;justify-content:center;padding:16px 16px 72px}
.cab{width:min(420px,100%);background:var(--red);border-radius:18px 18px 6px 6px;padding:12px 12px 0;box-shadow:inset -10px 0 0 var(--red2),0 8px 0 #12101a}
.marquee{background:var(--teal);border:4px solid #fff;outline:4px solid var(--ink);border-radius:6px;height:92px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.marquee::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0000 0 3px,#0001 3px 4px);pointer-events:none}
.logo{font-weight:700;font-size:clamp(30px,9.5vw,46px);letter-spacing:2px;color:var(--yel);transform:rotate(-3deg) skewX(-6deg);
  text-shadow:0 2px 0 var(--org),0 4px 0 var(--org),0 6px 0 #c0391b,3px 8px 0 var(--ink),-3px 0 0 var(--ink),3px 0 0 var(--ink),0 -3px 0 var(--ink)}
.logo small{font-size:18px;display:block;text-align:center;color:#fff;text-shadow:2px 2px 0 var(--ink);transform:rotate(2deg);margin-top:-2px}
.star{position:absolute;top:6px;font-size:22px;color:var(--yel);text-shadow:2px 2px 0 var(--ink)}.star.l{left:8px}.star.r{right:8px;transform:rotate(12deg)}
.bezel{margin-top:12px;background:var(--ink);padding:10px;border-radius:4px;box-shadow:inset 0 0 0 3px #3a3550}
.screen{background:var(--scr);position:relative;border:3px solid var(--pink);min-height:430px;padding-bottom:16px;
  background-image:radial-gradient(#fff 1px,#0000 1.5px),radial-gradient(#fff8 1px,#0000 1.5px);background-size:53px 61px,37px 41px;background-position:7px 9px,21px 30px}
.grass{height:10px;background:linear-gradient(90deg,var(--grn) 50%,#5cbf2f 50%);background-size:16px 10px;box-shadow:0 4px 0 #3c8d1f}
.grass.b{position:absolute;bottom:0;left:0;right:0;box-shadow:0 -4px 0 #3c8d1f}
.hud{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:8px 10px 4px;font-family:GalmuriMono11,monospace;font-size:13px}
.hud .lv{background:var(--yel);color:var(--ink);padding:2px 6px;box-shadow:2px 2px 0 var(--ink);white-space:nowrap}
.hud .coin{display:flex;align-items:center;gap:4px;background:#fff;color:var(--ink);padding:1px 8px 1px 2px;border-radius:10px;border:2px solid var(--ink);white-space:nowrap}
.hud .coin b{display:inline-block;width:16px;height:16px;border-radius:50%;background:var(--yel);box-shadow:inset -3px -3px 0 var(--org)}
.hud .life{color:var(--pink);white-space:nowrap}
.view[hidden]{display:none!important}
/* 첫 화면 */
.box{margin:14px 18px 10px;border:4px solid var(--pink);padding:14px 10px;text-align:center;background:#0006}
.box.insert{display:block;cursor:pointer;position:relative}
.box.insert:hover{background:#0009;border-color:var(--yel)}
.box .hint .br{display:block}
.box .hint{display:block;margin-top:6px;font-size:12px;color:#c9c3e0;word-break:keep-all}
.box.insert.half{border-color:var(--yel)}.box.insert.half h2{color:var(--yel);text-shadow:3px 3px 0 #8a5a00}
.box.insert.ready{border-color:var(--yel);background:var(--grn)}.box.insert.ready:hover{background:#5cbf2f}
.box.insert.ready h2{font-size:clamp(20px,6.2vw,30px);color:#fff;text-shadow:3px 3px 0 #2f5d17}.box.insert.ready .hint{color:#fff;font-weight:bold}
.box.insert.pop{animation:pop .6s steps(3)}@keyframes pop{0%{transform:scale(.8)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
#btnMain.call span,.tb.call span{animation:call .5s steps(1) infinite}@keyframes call{50%{background:#fff;box-shadow:0 0 0 4px var(--yel),0 2px 0 #000}}
.box input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.sample-go{display:block;width:calc(100% - 36px);margin:-2px 18px 10px;padding:8px 10px;background:var(--yel);color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);text-align:center;animation:pulse 1.2s steps(2) infinite}
.sample-go[hidden]{display:none}
.lineup{position:relative;margin:10px 18px 0;height:118px;border:3px solid #6a6390;background:linear-gradient(#0000 55%,#ff4f6a26)}
.lineup canvas{display:block;width:100%;height:100%;image-rendering:pixelated}
.pushstart{position:absolute;right:6px;top:4px;font-family:GalmuriMono11,monospace;font-size:12px;color:var(--yel);text-shadow:2px 2px 0 #000;letter-spacing:2px}
.board{text-align:center;padding:4px 6px}.board[hidden],.howto[hidden]{display:none}
.board b{display:block;font-family:GalmuriMono11,monospace;font-size:14px;color:var(--yel);letter-spacing:2px;margin-bottom:6px}
.board ol{list-style:none;margin:0 auto;padding:0;display:inline-block;text-align:left;font-family:GalmuriMono11,monospace;font-size:13px;line-height:1.75;counter-reset:rk}
.board li{counter-increment:rk;display:flex;align-items:center;gap:12px;color:#fff;margin-bottom:3px}.board li img,.board li .noth{display:block;width:48px;height:27px;border:2px solid #6a6390;object-fit:cover;background:#0006;image-rendering:pixelated}.board li::before{content:counter(rk) ".";color:var(--pink);width:2.2em;text-align:right}
.board li:first-child{color:var(--yel)}.board .in{letter-spacing:3px;width:3.6em}.board .ct{width:4.4em;color:var(--txt)}.board .dt{color:#c9c3e0}
.initials{display:flex;gap:10px;justify-content:center;flex-basis:100%;margin-bottom:10px}
.initials span{display:flex;flex-direction:column;align-items:center;gap:2px}
.initials b{font-family:YKompyuta,Galmuri14,sans-serif;font-size:34px;width:46px;text-align:center;border-bottom:4px solid #6a6390;color:#fff}
.initials span.on b{color:var(--yel);border-color:var(--yel);animation:blink 1s steps(1) infinite}
.initials button{background:none!important;box-shadow:none!important;color:var(--yel)!important;font-size:16px;padding:0 8px!important}
.ticker{overflow:hidden;white-space:nowrap;margin:12px 18px 0;border-block:2px solid #6a6390;padding:3px 0;font-family:GalmuriMono11,monospace;font-size:12px;color:var(--yel)}
.ticker span{display:inline-block;padding-left:100%;animation:tick 22s steps(220) infinite}@keyframes tick{to{transform:translateX(-100%)}}
#viewTitle:not([hidden]){display:flex;flex-direction:column}#viewTitle>*{order:2}#viewTitle>.box.insert{order:0}#viewTitle>.sample-go{order:1;margin-top:0}
.slots{flex-wrap:wrap}.paste-btn{flex-basis:100%;padding:6px;border:2px dashed #9aa6ff;color:#cdd3ff;background:#0004;font-size:13px}.paste-btn small{font-size:11px;opacity:.8;margin-left:4px}
.dlg-btns textarea.paste{flex-basis:100%;width:100%;height:180px;resize:vertical;background:#0006;border:2px solid var(--yel);color:#fff;padding:8px;font-size:13px;line-height:1.6;margin-bottom:8px}
.dlg-in:has(textarea.paste){max-width:560px;width:100%}
.sample-go b{display:block;font-family:YKompyuta,Galmuri14,sans-serif;font-size:18px}.sample-go small{display:block;font-size:11px;margin-top:2px}
.sample-go:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
@keyframes pulse{50%{background:#fff27a}}
.screen.drop{outline:4px dashed var(--yel);outline-offset:-8px}
.box h2{margin:0;font-family:YKompyuta,Galmuri14,sans-serif;font-size:clamp(22px,7vw,30px);white-space:nowrap;color:var(--grn);letter-spacing:2px;text-shadow:3px 3px 0 #2f5d17}
.blink{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}
.slots{display:flex;gap:10px;margin:0 18px}
.slot{flex:1;min-width:0;border:3px dashed var(--yel);padding:10px 6px;text-align:center;font-size:13px;line-height:1.5;color:var(--yel);background:#0004;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center}
.slot i{font-style:normal;font-size:24px}
.slot .fn{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slot .sub{font-size:11px;opacity:.85}
.slot input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.slot.done{border-style:solid;color:var(--txt);border-color:var(--grn)}
.slot.sample{border-color:#9aa6ff;color:#cdd3ff;border-style:solid}
.menu{margin:14px 22px 0;display:flex;flex-direction:column;gap:6px}
.menu button{font-family:YKompyuta,Galmuri14,sans-serif;font-size:clamp(17px,5.4vw,21px);line-height:1.2;color:var(--grn);text-align:left;position:relative;padding-left:28px}
.menu button small{font-family:NeoDunggeunmo,Galmuri11,sans-serif;font-size:12px;color:#b7c9a0;display:block}
.menu button.on::before{content:"▶";position:absolute;left:0;top:1px;color:var(--pink)}
.opts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 18px 0}
.opt{display:flex;align-items:center;gap:6px;font-size:12px;color:#c9c3e0}
.opt select{background:#0006;border:2px solid #6a6390;color:#fff;padding:3px 4px;font-size:12px}
.note{margin:12px 18px 18px;font-size:12px;color:#c9c3e0;text-align:center}
/* 손님 기다리는 무대 + 설명 */
.attract{margin:12px 18px 0;display:grid;grid-template-columns:1fr;gap:6px;text-align:center;border:3px solid #6a6390;background:#0005;padding:8px}
.attract canvas{width:100%;height:170px;display:block;image-rendering:pixelated}
.howto b{display:block;font-family:GalmuriMono11,monospace;font-size:13px;color:var(--yel);letter-spacing:1px}
.howto .tagline{margin:4px 0 6px;font-size:12px;line-height:1.5;color:#fff}
.howto ol{display:inline-block;text-align:left;margin:0;padding-left:18px;font-size:11px;line-height:1.6;color:var(--txt)}
/* 콘티: 큰 스크린 → 재생바 → 장면 카드 줄 */
#viewEdit{padding:0 10px 8px}
.modes{display:flex;align-items:center;gap:4px;margin:2px 0 6px;font-size:12px}
.modes button{background:#0006;border:2px solid #6a6390;color:#c9c3e0;padding:3px 10px}
.modes button.on{background:var(--yel);border-color:var(--ink);color:var(--ink);font-weight:700}
.modes .now{display:none;flex:1;min-width:0;text-align:right;color:var(--txt);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modes .dl{margin-left:6px;background:var(--grn);border-color:var(--ink);color:var(--ink);font-weight:700}
.prev{border:3px solid #fff;position:relative;background:#000;display:flex;justify-content:center;min-height:160px}
.prev canvas{display:block;width:auto;height:auto;max-width:100%;max-height:52vh}
.prev .tag{position:absolute;left:50%;transform:translateX(-50%);bottom:6px;max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#000a;padding:2px 6px;font-family:GalmuriMono11,monospace;font-size:12px;color:var(--txt)}
.prev .rec{position:absolute;right:6px;bottom:30px;color:var(--pink);font-family:GalmuriMono11,monospace;font-size:12px}
.typing{position:absolute;inset:0;background:#0b0a14d9;padding:12px 14px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;font-family:GalmuriMono11,monospace;font-size:13px;line-height:1.7;color:var(--grn)}
.typing p{margin:0;white-space:nowrap}.typing .ready{font-family:YKompyuta,Galmuri14,sans-serif;font-size:30px;color:var(--yel);margin-top:4px}
.typing[hidden],.script[hidden]{display:none}
.script{position:absolute;inset:0;background:#f4ecd2;color:#2a2418;overflow:auto;padding:14px 16px;font-size:13px;line-height:1.6;word-break:keep-all}
.script h3{margin:0;font-family:YKompyuta,Galmuri14,sans-serif;font-size:18px}.script .meta{margin:2px 0 8px;color:#6b5f45}
.script h4{margin:14px 0 4px;padding:3px 8px;color:#fff;font-size:13px;text-shadow:1px 1px 0 #0006}.script h4 small{font-weight:400;opacity:.85;margin-left:4px}
.script .sc{padding:6px 8px;border-left:4px solid transparent;cursor:pointer}.script .sc:hover{background:#0000000d}
.script .sc.cur{background:#ffd23a55;border-left-color:#e2382f}
.script .sc b{display:block}.script .sc b small{font-weight:400;color:#6b5f45}
.script q,.script em,.script span{display:block;margin-left:12px}.script q{quotes:none;color:#7a2c8c}.script em{font-style:normal;color:#2d5f9a}
.seek{position:relative;margin-top:6px;height:22px;border:3px solid #fff;background:#000;cursor:pointer;touch-action:none}
.segs{display:flex;height:100%}
.segs i{display:block;min-width:0;overflow:hidden;white-space:nowrap;font-style:normal;font-size:10px;line-height:16px;padding-left:3px;color:#fff;text-shadow:1px 1px 0 #000;border-right:2px solid #000}
.seek .head{position:absolute;top:-6px;bottom:-6px;width:4px;margin-left:-2px;background:var(--red);box-shadow:0 0 0 2px #fff;left:0;pointer-events:none}
.stripbar{display:flex;align-items:center;gap:8px;margin:8px 0 4px;font-size:12px}
.stripbar .stlabel{color:var(--yel);font-family:GalmuriMono11,monospace}.stripbar .stnum{flex:1;color:#c9c3e0}
.zoom{display:flex;gap:4px}.zoom button{width:28px;height:24px;background:#0006;border:2px solid #6a6390;color:#fff;font-size:16px;line-height:1}
.strip{--cw:90px;display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 8px;scrollbar-color:var(--yel) #0006}
.card{flex:none;width:var(--cw);position:relative;background:#000;border:3px solid;border-color:#5a5a5a #fff #fff #5a5a5a;padding:0;text-align:left;visibility:hidden}
.card.in{visibility:visible;animation:drop .25s steps(3)}@keyframes drop{0%{transform:translateY(-120%)}66%{transform:translateY(8%)}100%{transform:none}}
.card canvas{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#222}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:inherit;z-index:1}
.card b{position:absolute;left:2px;top:4px;background:#000b;color:#fff;font-family:GalmuriMono11,monospace;font-size:10px;font-weight:400;padding:0 3px}
.card s{position:absolute;right:2px;top:4px;background:#000b;color:var(--yel);font-family:GalmuriMono11,monospace;font-size:10px;text-decoration:none;padding:0 3px}
.card span{display:block;padding:2px 4px;font-size:11px;line-height:1.35;height:2.7em;overflow:hidden;color:#fff;background:#1d1a2b;word-break:keep-all}
.card span.inst{color:#8f88b0}
.card.sel{outline:3px solid var(--yel);outline-offset:-1px;z-index:2}
.strip.tiny .card span,.strip.tiny .card s{display:none}
.card.k-intro,.card.k-outro{border-top-color:#7a86a8}.card.k-verse{border-top-color:#6aa0d8}.card.k-chorus{border-top-color:#d7b94e}.card.k-bridge{border-top-color:#b98ad8}
.card.k-intro::before,.card.k-outro::before{background:#7a86a8}.card.k-verse::before{background:#6aa0d8}.card.k-chorus::before{background:#d7b94e}.card.k-bridge::before{background:#b98ad8}
.k-intro{background:#7a86a8}.k-verse{background:#6aa0d8}.k-chorus{background:#d7b94e}.k-bridge{background:#b98ad8}.k-outro{background:#7a86a8}
.card.k-intro,.card.k-outro,.card.k-verse,.card.k-chorus,.card.k-bridge{background:#000}
.status{display:flex;align-items:center;gap:8px;margin:4px 0 0;background:#3a3550;border:3px solid var(--ink);padding:5px 8px;font-size:12px;word-break:keep-all}
.status img{width:26px;height:26px;border:2px solid var(--ink)}
.status .say{flex:1}
/* 알림 창 */
.dialog{position:absolute;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;z-index:5;padding:16px}
.dialog[hidden]{display:none}
.dlg-in{background:var(--scr);border:4px solid var(--yel);box-shadow:6px 6px 0 var(--ink);padding:16px;max-width:340px;text-align:center;font-size:14px;line-height:1.6}
.dlg-in p{margin:0 0 12px;white-space:pre-line}
.dlg-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.dlg-btns button{background:var(--yel);color:var(--ink);padding:6px 12px;box-shadow:3px 3px 0 var(--ink);font-weight:700}
.dlg-btns button.sub{background:#cfc8ff}
.bar{height:12px;border:2px solid #fff;margin:6px 0 2px;background:#0006}.bar b{display:block;height:100%;background:var(--grn);width:0}
/* 조작판 */
.panel{margin:12px -12px 0;padding:10px 10px 14px;border-radius:0 0 6px 6px;background:repeating-linear-gradient(135deg,var(--org) 0 22px,var(--yel) 22px 44px);border-top:6px solid #ffb84a}
.deck{background:#2b2b33;border:3px solid var(--ink);border-radius:8px;padding:10px 8px 8px;box-shadow:inset 0 -6px 0 #1b1b22,0 4px 0 var(--ink);position:relative}
.deck::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--red);border-radius:5px 5px 0 0}
.tops{display:flex;justify-content:center;align-items:flex-end;gap:20px;margin:4px 0 8px}
.tb{text-align:center;font-size:11px;color:#ddd;line-height:1}
.tb span{display:block;position:relative;width:34px;height:34px;border-radius:50%;margin:0 auto 13px;background:radial-gradient(circle at 38% 32%,#ffffffcc 0 9%,var(--c) 36%,color-mix(in srgb,var(--c) 60%,#000) 100%);box-shadow:0 0 0 4px #121216,0 0 0 6px #3c3c46,0 5px 0 6px #000}
.tb em{font-style:normal}
.tb.play span{width:44px;height:44px}
.tb.play span::after{content:"";position:absolute;left:50%;top:50%;margin:-9px 0 0 -5px;border-left:15px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}
.tb.play.on span::after{margin:-7px 0 0 -7px;width:14px;height:14px;border:0;background:#fff}
.tb.call span{animation:call .5s steps(1) infinite}
.tb:active span,.b2:active span{transform:translateY(3px);box-shadow:0 0 0 4px #121216,0 0 0 6px #3c3c46,0 2px 0 6px #000}
.pls{display:flex;justify-content:space-between;gap:8px}
.pl{display:flex;align-items:flex-end;gap:10px;position:relative}
.pnum{position:absolute;left:-16px;top:-14px;z-index:3;font-family:GalmuriMono11,monospace;font-size:10px;color:#fff;background:#e2382f;padding:0 4px;border-radius:3px;transform:rotate(-6deg)}
.pl:last-child .pnum{background:#2f7de0}
/* 레버: 바닥 받침(먼지막이) + 쇠막대 + 반들반들한 공 */
.stk{width:54px;height:68px;position:relative;flex:none}
.stk i{position:absolute;left:0;bottom:0;width:54px;height:18px;border-radius:50%;background:radial-gradient(ellipse at 50% 40%,#3a3a44,#08080c 72%);box-shadow:0 2px 0 #000,inset 0 0 0 2px #1d1d24}
.stk::before{content:"";position:absolute;left:23px;bottom:8px;width:8px;height:34px;border-radius:4px;background:linear-gradient(90deg,#6c6c74,#f2f2f5 45%,#8a8a92);transform:rotate(-7deg);transform-origin:50% 100%;z-index:1}
.stk::after{content:"";position:absolute;left:6px;top:0;width:36px;height:36px;border-radius:50%;z-index:2;background:radial-gradient(circle at 34% 30%,#fff 0 7%,#ffffffaa 12%,var(--c) 34%,color-mix(in srgb,var(--c) 55%,#000) 100%);box-shadow:0 3px 0 #0007}
.bg{display:flex;gap:12px;align-items:flex-end;padding-bottom:2px}
.b2{text-align:center;font-size:10px;color:#eee;line-height:1.1;white-space:nowrap}
.bg .b2:nth-child(2){transform:translateY(-10px)} /* 단추 둘은 살짝 비스듬히(오락기 배열) */
/* 단추: 검은 테두리 링 + 볼록한 버튼 */
.b2 span{display:block;width:38px;height:38px;border-radius:50%;margin:0 auto 13px;background:radial-gradient(circle at 38% 32%,#ffffffcc 0 9%,var(--c) 36%,color-mix(in srgb,var(--c) 60%,#000) 100%);box-shadow:0 0 0 4px #121216,0 0 0 6px #3c3c46,0 5px 0 6px #000}
/* 휴대폰(700px 미만): 레버·단추를 작게, 긴 이름은 두 줄로(조작판 밖으로 안 나가게) */
@media (max-width:699px){
  .pls{gap:2px}.pl{gap:4px}.pnum{left:-6px;top:-10px}
  .stk{width:40px;height:52px}.stk i{width:40px;height:14px}.stk::before{left:16px;height:26px}.stk::after{left:5px;width:28px;height:28px}
  .bg{gap:6px}.b2 span{width:30px;height:30px;margin-bottom:11px}.b2{font-size:10px;white-space:normal;width:46px;word-break:keep-all;line-height:1.2}
  .bg .b2:nth-child(2){transform:translateY(-6px)}
}
/* PC 가로형: 창 전체가 오락기 안쪽. 창 네 모서리 → 스크린 벽 네 모서리를 사선으로 이어 천장·옆벽·바닥(조작판)이 입체로 보인다 */
.walls{display:none}
@media (min-width:700px){
  .wrap{padding:0}
  /* 아주 넓은 화면은 스크린 폭을 1480px 안팎에서 멈추고 남는 폭은 옆벽이 받는다(맥북 등) */
  .cab{--t:92px;--s:max(clamp(44px,5vw,84px),calc((100vw - 1480px) / 2));--b:132px;width:100%;height:max(560px,calc(100vh - 48px));border-radius:0;padding:0;position:relative;background:#14121c;box-shadow:none;overflow:hidden}
  .walls,.walls i{position:absolute;inset:0;display:block}
  .wt{background:linear-gradient(180deg,#8f1a14,var(--red));clip-path:polygon(0 0,100% 0,calc(100% - var(--s)) var(--t),var(--s) var(--t))}
  .wl{background:repeating-linear-gradient(115deg,#0000 0 26px,#0002 26px 30px),linear-gradient(90deg,#9c1e17,var(--red));clip-path:polygon(0 0,var(--s) var(--t),var(--s) calc(100% - var(--b)),0 100%)}
  .wr{background:repeating-linear-gradient(65deg,#0000 0 26px,#0002 26px 30px),linear-gradient(270deg,#7a1510,var(--red2));clip-path:polygon(100% 0,100% 100%,calc(100% - var(--s)) calc(100% - var(--b)),calc(100% - var(--s)) var(--t))}
  .marquee{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:min(56%,620px);height:calc(var(--t) - 26px);z-index:1;border-radius:18px;box-shadow:0 0 22px #5ff3ff88,0 0 0 4px var(--ink)}
  .logo{font-size:40px}.logo small{display:inline;font-size:18px;margin-left:14px}.star{top:50%;margin-top:-13px}
  .bezel{position:absolute;top:var(--t);left:var(--s);right:var(--s);bottom:var(--b);margin:0;padding:26px clamp(30px,4.5vw,80px) 24px;background:radial-gradient(120% 90% at 50% 40%,#f04a3f,var(--red) 60%,#c52a22);border-radius:16px;box-shadow:inset 0 0 0 3px #ff6a5f,inset 0 -8px 0 #0002;display:flex}
  .screen{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;padding-bottom:12px;border-radius:26px/20px;overflow:hidden;
    box-shadow:0 0 0 10px var(--ink),0 0 0 15px #4a4560,0 0 0 18px var(--ink),inset 0 0 50px #000a}
  .screen .grass{border-radius:20px 20px 0 0}.screen .grass.b{border-radius:0 0 20px 20px}
  .screen>.view{flex:1;min-width:0;min-height:0;overflow:auto}
  #viewEdit>*{min-width:0}
  .panel{position:absolute;left:0;right:0;bottom:0;height:var(--b);margin:0;padding:14px calc(var(--s) + 8px) 10px;border-radius:0;border-top:0;
    clip-path:polygon(var(--s) 0,calc(100% - var(--s)) 0,100% 100%,0 100%)}
  .deck::before{display:none}
  .deck{height:100%;border:0;border-radius:0;box-shadow:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='7,1 93,1 99.6,99 0.4,99' fill='%232b2b33' stroke='%2314121c' stroke-width='4' vector-effect='non-scaling-stroke' stroke-linejoin='round'/%3E%3Cpolygon points='7,1 93,1 93.5,7 6.5,7' fill='%23e2382f'/%3E%3Cpolygon points='0.4,99 99.6,99 99.3,93 0.7,93' fill='%231b1b22'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;filter:drop-shadow(0 5px 0 var(--ink));padding:12px 10% 6px;display:flex;align-items:center;justify-content:center;gap:clamp(28px,6vw,96px);padding:12px 10% 6px}
  .pls{display:contents}.pl:last-child{order:3}.tops{order:2;margin:0}
  #viewEdit:not([hidden]){display:flex;flex-direction:column;padding:0 14px 6px;overflow:hidden}
  .prev{flex:1;min-height:120px;border:0;background:none;align-items:center}
  .prev canvas{max-width:none;max-height:none;border:3px solid #fff;background:#000}
  .typing,.script{border:3px solid #fff}
  .modes .now{display:block}#viewEdit .status{display:none}
  .modes{margin:0 0 6px}
  #viewTitle:not([hidden]){display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"insert attract" "lineup attract" "slots attract" "opts attract" "sample attract" "ticker ticker" "note note";gap:clamp(10px,1.4vh,18px) 22px;padding:0 20px;align-content:safe center}
  #viewTitle .lineup{grid-area:lineup;margin:0;height:clamp(104px,13vh,200px)}#viewTitle .ticker{grid-area:ticker;margin:0}#viewTitle>*{order:0}
  #viewTitle .box{grid-area:insert;margin:10px 0 0}#viewTitle .sample-go{grid-area:sample;width:auto;margin:0}#viewTitle:has(#btnSample[hidden]){grid-template-areas:"insert attract" "lineup attract" "slots attract" "opts attract" "ticker ticker" "note note"}#viewTitle .note{grid-area:note;margin:0 0 8px}#viewTitle .slots{grid-area:slots;margin:0}#viewTitle .menu{grid-area:menu;margin:0}#viewTitle .opts{grid-area:opts;margin:0}
  #viewTitle .attract{grid-area:attract;margin:0;grid-template-columns:1fr;align-self:stretch;align-content:start}
  #viewTitle .attract canvas{width:100%;height:clamp(200px,28vh,420px)}
  #viewTitle .howto .tagline{font-size:clamp(14px,1.9vh,19px)}#viewTitle .howto ol{font-size:clamp(12px,1.6vh,16px)}#viewTitle .howto b,#viewTitle .board b{font-size:clamp(13px,1.8vh,18px)}#viewTitle .board ol{font-size:clamp(13px,1.7vh,17px)}
  #viewTitle .box{padding:8px 10px}#viewTitle .box h2{font-size:clamp(24px,3.2vh,40px)}#viewTitle .box .hint{font-size:clamp(12px,1.5vh,15px)}#viewTitle .slot{font-size:clamp(13px,1.6vh,16px)}#viewTitle .sample-go b{font-size:clamp(18px,2.4vh,26px)}#viewTitle .slot{padding:6px}
  .box .hint .br{display:inline}
  .howto{text-align:center}.howto .tagline{font-size:14px}.howto ol{display:inline-block;text-align:left;font-size:12px}
  .b2 span{width:42px;height:42px}.b2{font-size:12px}.bg{gap:18px}.stk{transform:scale(1.25)}.tb span{width:42px;height:42px}.tb.play span{width:58px;height:58px}.tb{font-size:12px}
}
/* 낮은 PC 화면(노트북): 천장·바닥을 얇게, 안내 줄은 숨겨서 스크린 키우기 */
@media (min-width:700px) and (max-height:800px){
  .cab{--t:66px;--b:108px}
  .marquee{top:8px;height:calc(var(--t) - 16px)}.logo{font-size:30px}.logo small{font-size:14px}
  .bezel{padding:20px clamp(30px,4.5vw,80px) 18px}
  #viewEdit .status{display:none}
  .stk{transform:none}.b2 span,.tb span{width:36px;height:36px}.tb.play span{width:48px;height:48px}
}
/* 처음 화면에선 1P·2P 단추(주인공·장면 앵글 바꾸기·상대역·전부 다시)가 하는 일이 없어 흐리게. 콘티 화면에서 켜짐 */
.cab:has(#viewEdit[hidden]) .pls .b2{opacity:.35;cursor:default} /* 툴팁은 보이게(누르면 아무 일 없음) */
/* 재생바는 일반 재생바처럼 한 가지 톤: 지나간 만큼 채우고, 곡 구간 이름은 흐린 칸막이로만(어랍쇼 2026-10-31 '색을 요란하게 하지 말고') */
.seek{background:#14121c;border-color:#6a6390}
.seek .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(#ffe36a,#f2b81e);pointer-events:none}
.segs{position:relative}
.segs i,.segs i[class]{background:none!important;color:#ffffffaa;border-right:1px solid #ffffff33;text-shadow:1px 1px 0 #000}
/* 장면 카드도 한 톤: 지금 장면만 크게 눈에 띄게 */
.card,.card[class]{background:#000!important;border-color:#3a3550!important}
.card::before{display:none}
.card.sel{outline:none;border-color:var(--yel)!important;box-shadow:0 0 0 2px var(--yel);z-index:2}
.card.sel b{background:var(--yel);color:var(--ink)}
.card.sel::after{content:"";position:absolute;left:50%;top:-4px;transform:translate(-50%,-100%);border:8px solid transparent;border-top:10px solid var(--yel);border-bottom:0} /* 지금 장면: 노란 테두리 + 위 역삼각형(▼) */
.strip{padding-top:16px}
.script h4[class]{background:#3a3550!important}
/* 노래가 나오는 동안 레버가 좌우·위아래로 까딱(12fps처럼 뚝뚝) */
.cab.playing .stk::before{animation:shaft .9s steps(4) infinite}
.cab.playing .stk::after{animation:ball .9s steps(4) infinite}
.cab.playing .pl:last-child .stk::before,.cab.playing .pl:last-child .stk::after{animation-delay:-.45s}
@keyframes shaft{0%{transform:rotate(-7deg)}25%{transform:rotate(-16deg)}50%{transform:rotate(4deg) scaleY(.92)}75%{transform:rotate(12deg)}100%{transform:rotate(-7deg)}}
@keyframes ball{0%{translate:0 0}25%{translate:-7px 1px}50%{translate:2px 4px}75%{translate:7px 1px}100%{translate:0 0}}
/* 레버로 카메라 조정: 콘티 화면에서 잡고 끌면 그만큼 기울어진다(드론 조종기처럼) */
.cab:not(:has(#viewEdit[hidden])) .stk{cursor:grab;touch-action:none}
.stk.held::before{animation:none!important;transform:rotate(calc(-7deg + var(--sx,0) * 22deg)) scaleY(calc(1 - var(--sy,0) * -0.06))}
.stk.held::after{animation:none!important;translate:calc(var(--sx,0) * 14px) calc(var(--sy,0) * -10px)}
