/* Ppyong Arcade: one complete presentation system, inspired by the supplied brand artwork. */
@import url('https://fonts.googleapis.com/css2?family=Jua&family=Noto+Sans+KR:wght@400;600;700;800;900&display=swap');
:root{--ink:#183567;--muted:#49658a;--blue:#0867d8;--cobalt:#1245b8;--cyan:#24dadd;--pink:#ff60ac;--yellow:#ffcf35;--orange:#ff8b30;--paper:#f7fdff;--navy:#17499b;--gold:#ef9c15;--light:#ffe276;--ivory:#f0fbff;--mint:#30d3b1;--line:#bedceb;--shadow:0 8px 0 #bad7ef,0 16px 35px #286d9420;--display:'Jua','Noto Sans KR',sans-serif}
*{box-sizing:border-box}html{font-size:16px;background:#e4f7ff}body{margin:0;color:var(--ink);font-family:'Noto Sans KR',system-ui,sans-serif;line-height:1.55;background:radial-gradient(circle at 10% 15%,#c9f6ff,transparent 45%),radial-gradient(circle at 90% 75%,#e1daff,transparent 45%),#f2fcff}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.52}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ec4c91;outline-offset:4px}button{transition:transform .16s,box-shadow .16s,filter .16s}button:hover:not(:disabled){filter:brightness(1.06)}button:active:not(:disabled){transform:translateY(3px)}img{max-width:100%;display:block}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.25;word-break:keep-all}p{line-height:1.75}a{color:inherit}button,input,select,textarea{color:var(--ink)}[hidden]{display:none!important}.sr-only,.arcade-accessible-title{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}body.arcade-open{overflow:hidden}#arcade-root:fullscreen,#arcade-root.arcade-fullscreen{position:fixed;inset:0;width:100%;height:100dvh;overflow:auto;background:#eafaff;z-index:9998}*{scrollbar-color:#6daae1 #e5f5fe;scrollbar-width:thin}
/* Shared jelly controls. */
.arcade-tool,.arcade-home,.icon,.btn,.bingo-secondary,.bingo-voice,dialog button{border:2px solid #a4d3ee;border-bottom:4px solid #71a8d7;border-radius:15px;background:linear-gradient(#fff 0%,#eefbff 48%,#d6edff 100%);color:#164d8d;padding:10px 14px;font-size:14px;line-height:1.4;font-weight:800;box-shadow:inset 0 2px 0 #fff,0 3px 5px #297cc512;text-shadow:none;white-space:normal}
.cover-enter,.arcade-enter,.btn.start,.bingo-draw-button,.golden-draw,.arcade-confirm{border:3px solid #fff0a6;border-bottom:6px solid #de850c;border-radius:22px;background:linear-gradient(165deg,#fff79b 0%,#ffdf3d 30%,#ffbc20 70%,#ff9822 100%);color:#704415;padding:15px 24px;font-family:var(--display);font-size:25px;line-height:1.35;box-shadow:inset 0 3px 0 #fffbc8,0 7px 0 #1c65b1,0 12px 20px #2463a926;text-shadow:0 1px #fff4b7}
.btn.active{background:linear-gradient(#82f8eb,#2ddcd2 55%,#1ac2c9);color:#075a77;border-color:#bcfff5;border-bottom-color:#129cae;box-shadow:0 2px 0 #7ed5df}kbd{font:700 11px system-ui;border:1px solid currentColor;border-radius:6px;padding:3px 5px;opacity:.7;margin-left:5px}textarea,input,select{background:#fff;border:2px solid #b9d9ee;border-radius:12px;padding:9px;min-width:0}textarea{resize:vertical;line-height:1.7}small{font-size:13px}
/* Introduction: clear type next to brand art, game guide and original creator links. */
.arcade{position:fixed;inset:0;z-index:100;overflow:hidden;background:#e2f5ff;color:var(--ink);isolation:isolate}.arcade-view{position:absolute;inset:0;overflow:auto}.arcade[data-scene=cover] .arcade-topbar{display:none}.arcade-cover{background:#e6f7ff}.cover-backdrop{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;opacity:.09;pointer-events:none}.cover-light{display:none}.cover-scroll{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;padding:30px 24px 48px}.cover-card{position:relative;max-width:1180px;margin:auto}.cover-main{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:28px;padding:36px;border:3px solid #fff;border-radius:34px;background:linear-gradient(120deg,#fffdf4,#f4fdff 56%,#e4faff);box-shadow:var(--shadow);overflow:hidden}.cover-brand{grid-column:1/-1;display:flex;align-items:center;gap:12px}.cover-brand img{width:57px;height:57px;border-radius:18px;box-shadow:0 4px 0 #b4d6ed;object-fit:cover}.cover-brand>span{font-size:13px;letter-spacing:.12em;color:#2265ae;font-weight:900}.cover-brand small{display:block;margin-top:3px;font-size:14px;font-weight:600;letter-spacing:0;color:var(--muted)}.cover-copy{position:relative;z-index:1;min-width:0}.cover-kicker{font-size:16px;font-weight:800;color:#166dad;margin:0 0 12px}.cover-main h1{font-size:clamp(40px,5vw,68px);letter-spacing:-.025em;line-height:1.25;margin:0 0 12px;color:#08a6b9;text-shadow:0 3px 0 #a7f5f0}.cover-main h1 span{color:#ee9a05;text-shadow:0 3px 0 #ffe793}.cover-badge{display:inline-block;font-size:14px;font-weight:800;line-height:1.65;background:#e4f7ff;border:1px solid #b5e1f3;border-radius:12px;padding:7px 10px;margin:0 0 18px}.cover-purpose{font-size:20px;font-weight:800;margin:0 0 14px}.cover-invite{font-size:16px;margin:0 0 10px;color:var(--muted)}.cover-entry-note{font-size:14px;color:#617b96;margin:12px 0 0}.cover-art{position:relative;min-width:0;align-self:stretch;display:flex;align-items:center;justify-content:center}.cover-art img{width:100%;border:5px solid #fff;border-radius:26px;object-fit:cover;box-shadow:0 7px 0 #9ac4e9,0 16px 25px #2462ad24;transform:rotate(2deg)}.hero-star{position:absolute;right:-10px;top:-10px;color:#ffbe1c;font-size:54px;text-shadow:0 3px #fff;animation:jelly-bob 4s ease-in-out infinite}.cover-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px}.cover-games-heading{grid-column:1/-1;text-align:center}.cover-games-heading>span,.lobby-eyebrow{font-size:13px;font-weight:900;letter-spacing:.18em;color:#2668b4}.cover-games h2{font-size:32px;margin:6px 0 10px}.cover-game{min-width:0;border:3px solid #fff;border-radius:28px;padding:25px;background:linear-gradient(140deg,#efffff,#ddf9ff);box-shadow:0 7px 0 #addce9,0 10px 18px #3078ba16}.cover-game-bingo{background:linear-gradient(140deg,#fff9fd,#ffe2ef);box-shadow:0 7px 0 #eebfd6,0 10px 18px #c0638316}.cover-game-ticket{background:linear-gradient(140deg,#fffeea,#ffefb9);box-shadow:0 7px 0 #e7cb86,0 10px 18px #bf862516}.cover-game-icon{height:98px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;position:relative}.cover-game small{font-weight:900;letter-spacing:.09em;font-size:12px;color:#376a93}.cover-game h3{font-size:27px;margin:7px 0 9px}.cover-game p{font-size:16px;margin:0;color:#3b597c}.cover-game .game-detail{margin-top:16px;border-top:1px solid #98bccc66;padding-top:13px;font-size:14px;line-height:1.85;color:#56718b}.cover-marble{display:block;width:84px;height:84px;background:radial-gradient(circle at 28% 20%,#fff 0 6%,#a7fff7 8%,#35e6dd 26%,#00b5cd 57%,#1170c4 87%);border:3px solid #b8fff8;border-radius:50%;box-shadow:inset -5px -7px 3px #074eaa30,0 9px 0 #4b9bc02b,0 17px 18px #1684ae22;transform:rotate(-12deg)}.cover-marble:after{content:'';display:block;width:43px;height:18px;border-radius:50%;background:#fff7;transform:translate(22px,48px) rotate(-32deg)}.cover-bingo-grid{display:grid;grid-template-columns:repeat(3,22px);gap:5px;padding:11px;background:linear-gradient(#fca4dd,#f350a2);border:3px solid #fff;border-radius:18px;transform:rotate(8deg);box-shadow:0 6px 0 #c84190,0 15px 15px #df6b9e30}.cover-bingo-grid i{height:22px;border-radius:7px;background:linear-gradient(#fff9e2,#ffdf82)}.cover-bingo-grid i:nth-child(3n){background:linear-gradient(#a5fff0,#3ddaca)}.cover-ticket{display:block;font:50px var(--display);color:#fda520;width:132px;line-height:70px;text-align:center;background:linear-gradient(140deg,#fffba0,#ffdb39 60%,#ffaf23);border:4px solid #fff4ac;outline:3px solid #efa517;border-radius:17px;transform:rotate(-12deg);box-shadow:0 7px 0 #dd8c13,0 16px 17px #c9933133;text-shadow:0 2px #fff4b7}.cover-footer{margin-top:36px;padding:30px;border:3px solid #fff;border-radius:28px;background:#fffdf9;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:24px}.cover-contact{min-width:0}.cover-contact>strong{font:25px var(--display);color:#2764a3}.cover-contact>p{margin:10px 0;font-size:15px;color:var(--muted)}.cover-email{display:inline-flex;gap:20px;align-items:center;font-size:16px;font-weight:800;text-decoration:none;color:#1268b9;border-bottom:2px solid #7bcde9;padding-bottom:4px}.cover-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.cover-channels a{display:flex;align-items:center;gap:10px;padding:14px 11px;border:2px solid #e0e9f3;border-radius:16px;background:linear-gradient(#fff,#f0f8ff);text-decoration:none;box-shadow:0 4px 0 #d8e6f2;min-width:0}.cover-channel-icon{width:27px;height:27px;flex:none}.cover-channel-label{font-size:13px;font-weight:800;line-height:1.65}.cover-channel-arrow{margin-left:auto;color:#527dae}.cover-copyright{font-size:13px;align-self:center;color:#65809c;text-align:right;line-height:1.9}.cover-copyright strong{color:#345e90}.cover-bottom-entry{text-align:center;margin:34px auto 0}.cover-bottom-entry p{font:22px var(--display);margin:0 0 17px}.cover-enter{min-width:280px;max-width:100%;display:inline-flex;gap:44px;align-items:center;justify-content:center}.pc-ad-slot{width:min(100%,970px);min-height:90px;margin:18px auto 0;text-align:center;grid-column:1/-1}.pc-ad-slot ins{display:block;min-height:90px}
/* Arcade lobby: all three complete cabinets remain visible independent of backgrounds. */
.arcade-topbar{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:linear-gradient(#faffff,#e5f8ff);border-bottom:3px solid #fff;box-shadow:0 4px 0 #91cbe655}.arcade-brand,.bingo-brand,.golden-brand{display:flex;align-items:center;gap:12px;min-width:0}.arcade-brand img,.bingo-brand img,.golden-brand img{width:60px;height:60px;object-fit:cover;border:3px solid #fff;border-radius:19px;box-shadow:0 4px 0 #a0cbeb;filter:none}.arcade-brand>div{font:25px var(--display)}.arcade-brand small,.bingo-brand small,.golden-brand small{display:block;font:800 11px 'Noto Sans KR',sans-serif;letter-spacing:.13em;color:#4c7fb1;margin-top:3px}.arcade-utilities,.bingo-header-tools,.golden-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.arcade-view:not(.arcade-cover){top:94px}.lobby-room{position:relative;min-height:100%;padding:20px 24px 100px;background:linear-gradient(#d2f7ff70,#c6dbff66),url('./assets/jelly-arcade-room.png') center/cover fixed}.room-frame{position:relative;max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.interior-backdrop{display:none}.lobby-shade{display:none}.lobby-heading{grid-column:1/-1;text-align:center;margin:4px 0 10px}.lobby-heading p{margin:0 0 4px}.lobby-heading h2{font-size:34px;margin:0;color:#17458a;text-shadow:0 2px #fff}.cabinet-choice{position:relative;width:100%;padding:16px 16px 18px;border:3px solid #fff;border-radius:32px;background:linear-gradient(140deg,#e0fffff5,#c7f0fff0);color:var(--ink);box-shadow:0 9px 0 #45a7d0,0 20px 28px #2257a544;overflow:hidden;display:flex;flex-direction:column;align-items:center}.cabinet-choice.bingo{background:linear-gradient(140deg,#ffedf7f5,#ffb5dcf0);box-shadow:0 9px 0 #ce65a5,0 20px 28px #2257a533}.cabinet-choice.golden{background:linear-gradient(140deg,#fff7d0f5,#ffe076f0);box-shadow:0 9px 0 #dfa01f,0 20px 28px #2257a533}.cabinet-choice:hover{transform:translateY(-5px)}.cabinet-art{width:100%;height:clamp(210px,29vw,370px);object-fit:contain;order:1;filter:drop-shadow(0 9px 3px #2c79a62e)}.cabinet-marquee{order:0;font:clamp(23px,2.5vw,34px) var(--display);line-height:1.4;background:#fff9;border:2px solid #fff;border-radius:16px;padding:6px 10px;width:100%;box-shadow:0 3px 0 #fff8}.cabinet-info{order:2;display:flex;flex-direction:column;align-items:center;gap:9px;width:100%}.cabinet-number{font-size:12px;font-weight:900;letter-spacing:.13em;color:#2e6094}.cabinet-action{display:block;padding:9px 14px;width:100%;border:2px solid #fff;border-bottom:4px solid #0874bc;border-radius:16px;background:linear-gradient(#66e9ee,#28cbdc);color:#0e537b;font:20px var(--display);box-shadow:inset 0 2px #c9ffff}.bingo .cabinet-action{background:linear-gradient(#ffb4e0,#fa65b2);border-bottom-color:#c53982;color:#772251}.golden .cabinet-action{background:linear-gradient(#fff18b,#ffce39);border-bottom-color:#d18f12;color:#7e5115}.lobby-bottom{position:absolute;bottom:16px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:#f5fdfff2;border:2px solid #fff;border-radius:18px;box-shadow:0 4px 0 #b1d6ef;z-index:4}.lobby-bottom p{margin:0;font-size:15px;color:#365e91}.street-world{position:absolute;inset:0}.street-backdrop{width:100%;height:100%;object-fit:cover}.street-shade{position:absolute;inset:0;background:linear-gradient(transparent 50%,#e2f8ffa8)}.street-entry{position:absolute;bottom:10%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;width:min(380px,90%)}.arcade-enter{width:100%}.arcade-skip{border:2px solid white;border-radius:20px;background:#f8fdff;color:#215797;padding:8px 14px;font-weight:800}.arcade-corner{position:absolute;bottom:18px;left:25px;font-size:12px;font-weight:900;color:#fff;text-shadow:0 1px 3px #1c5195}.arcade-corner.right{left:auto;right:25px}.arcade.is-entering .cover-card{opacity:.4;transform:scale(1.025);transition:.8s}.arcade.is-selecting .cabinet-choice.marble,.arcade.is-selecting-bingo .cabinet-choice.bingo,.arcade.is-selecting-golden .cabinet-choice.golden{transform:scale(1.04);filter:brightness(1.12);transition:.65s}
/* Marble racing: same stage and controls, new candy materials. */
.app{width:min(1440px,calc(100% - 32px));height:calc(100dvh - 32px);min-height:650px;margin:16px auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto 66px minmax(0,1fr);background:#f7fcff;border:3px solid #fff;border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.top{grid-column:1/-1;padding:12px 20px 0;background:linear-gradient(110deg,#e3ffff,#d3edff 55%,#e6e4ff);border-bottom:2px solid #acd9e6}.headrow{display:flex;align-items:center;gap:12px}.headerlogo{width:60px;height:60px;object-fit:cover;border-radius:17px;border:2px solid white;box-shadow:0 3px 0 #9fc9e5;filter:none}.identity{margin-right:auto;min-width:0}.brand{display:block;font-size:12px;font-weight:900;color:#3472b8;letter-spacing:.1em}.title{font:30px var(--display);line-height:1.5}.edition{font:800 12px 'Noto Sans KR',sans-serif;display:inline-block;padding:2px 6px;margin-left:8px;background:#fff9;border:1px solid #b4dbe9;border-radius:7px;vertical-align:middle}.clockbox{text-align:right}.clockbox small{display:block;color:#547898;font-size:12px}.clock{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.icon{min-width:42px}.progress{height:5px;background:#fff8;margin:10px -20px 0}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#17c7d5,#fac72a,#fb6cab);transition:width .2s}.leaders{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px 16px;min-height:0}.leader{min-width:0;display:flex;align-items:center;gap:7px;padding:4px 9px;border:2px solid #bfdbec;border-bottom:4px solid #a7cbdf;border-radius:15px;background:linear-gradient(#fff,#e9f7ff)}.leader:first-child{border-color:#f5d477;border-bottom-color:#deb043;background:linear-gradient(#fffbd8,#ffec9d)}.leader b{font:22px var(--display);color:#4474a8;flex:none}.leader:first-child b{color:#b87c0d}.leader i{width:10px;height:10px;border-radius:50%;box-shadow:inset 1px 1px #fffa;flex:none}.leader-name{display:flex;align-items:center;justify-content:center;align-self:stretch;flex:1;min-width:0;min-height:0;font-size:32px;line-height:1.1;font-weight:900;white-space:nowrap;overflow:hidden}.leader-name-text{display:block;flex:none;font:inherit;white-space:pre}.stagewrap{position:relative;grid-column:1;grid-row:3;min-height:0;margin:3px 16px 16px;border:4px solid #87c5e3;border-radius:23px;background:#e2f6ff;overflow:hidden;isolation:isolate;box-shadow:0 0 0 3px #fff,inset 0 0 24px #a7daed}.stagewrap canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}#scene3d{z-index:0}#canvas{z-index:2;pointer-events:none}#celebration{z-index:9;pointer-events:none}.glass{position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 4px 5px #fffb;background:linear-gradient(115deg,transparent 20%,#fff1 22%,transparent 40%)}.stagehud{position:absolute;left:14px;right:14px;top:12px;z-index:4;display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;pointer-events:none;color:#3d659b}.statuslamp{display:flex;gap:7px;align-items:center}.statuslamp i{width:8px;height:8px;border-radius:50%;background:#19bfb2;border:2px solid #d5fff2}.viewname{position:absolute;z-index:4;right:12px;bottom:12px;color:#226ca3;border:1px solid #9dcfea;border-radius:20px;background:#fff9;padding:5px 9px;font-size:12px;pointer-events:none}.banner{position:absolute;z-index:5;left:50%;bottom:50px;max-width:88%;min-width:220px;transform:translate(-50%,12px);padding:9px 15px;background:#fffae6;border:2px solid #f1c148;border-radius:15px;color:#65511f;font-weight:800;text-align:center;opacity:0;transition:.25s;pointer-events:none}.banner.on{opacity:1;transform:translate(-50%,0)}.controls{grid-column:2;grid-row:2/4;min-height:0;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(#f0ffff,#edf2ff);border-left:2px solid #c5e2ee}.paneltitle{font-size:12px;letter-spacing:.14em;font-weight:900;color:#5480a3}.paneltitle strong{display:block;font:25px var(--display);letter-spacing:0;color:#245d9b;margin-top:4px}.controlrow{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.primarycontrols{display:grid;grid-template-columns:42px 1fr 42px;gap:8px}.pill{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;background:#fff;border:2px solid #b8deee;border-radius:15px;padding:4px 12px}.pill label{font-size:14px;font-weight:800}.pill input{width:67px;border:0;text-align:right;font-size:22px;font-weight:900;padding:2px;background:transparent}.step{font-size:22px;padding:4px}.speed{font-size:20px;text-align:center;font-weight:900}.btn.start{grid-column:1/-1;width:100%;font-size:23px;margin:5px 0 2px;padding:12px 10px}.secondarycontrols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.secondarycontrols .btn{padding:8px 3px;font-size:13px}.secondarycontrols .wide{grid-column:1/-1}.audio-meter{display:flex;align-items:center;gap:3px;color:#518196;font-size:12px}.audio-meter i{width:4px;height:10px;background:#34cbbc;border-radius:3px}.audio-meter span{margin-left:6px}.audio-meter i:nth-child(2n){background:#f77db1}.ufo-progress{background:#defff5;border:2px solid #aae6d6;border-radius:12px;padding:9px;font-size:13px;color:#287b76}.editor{border-top:1px solid #bfdeec;padding-top:12px}.editor summary{cursor:pointer;font-weight:800;font-size:14px}.editor textarea{width:100%;height:126px;margin:10px 0;font-size:14px}.editor .btn{font-size:12px;padding:7px}.hint,.legend{font-size:13px;line-height:1.8;color:#537599;margin:0}.legend{border-top:1px solid #bfdeec;padding-top:10px}.legend b{font-size:14px;color:#396ca2}.legend p{margin:6px 0}.footerbrand{font-size:11px;font-weight:800;letter-spacing:.1em;color:#7598b2;margin-top:auto;padding-top:9px}.countdown,.result{position:absolute;inset:0;display:none;place-items:center;z-index:8;background:#e8f8ff99;backdrop-filter:blur(3px);padding:12px}.countdown.on,.result.on{display:grid}.countdown strong{font:clamp(60px,14vw,140px) var(--display);color:#fff4a0;-webkit-text-stroke:2px #eaa015;text-shadow:0 7px 0 #1d83c3}.card{width:min(94%,460px);max-height:100%;overflow:auto;padding:22px;border:4px solid #ffdc5d;border-radius:28px;background:linear-gradient(#fffefa,#e5fbff);text-align:center;box-shadow:0 9px 0 #64b8dd,0 20px 30px #3875a244}.resultlogo{width:94px;height:94px;border-radius:20px;object-fit:cover;margin:0 auto 12px;filter:none}.card small{color:#b8860d;font-weight:800}.winner{font-weight:900;line-height:1.2;overflow-wrap:anywhere;margin:12px 0 7px;color:#086ea8}.original{font-size:13px;color:#5b7e9d}.places{padding:10px;margin:15px 0;background:#e5f6ff;border:1px solid #afdaf0;border-radius:15px;text-align:left;font-size:15px;line-height:1.9}.app.fullscreen{width:100%;height:100dvh;margin:0;border-radius:0}
/* Bingo: gumball machine, bubble counters and legible drawn states. */
.bingo-screen,.golden-screen{position:relative;isolation:isolate;width:100%;height:100dvh;overflow:auto;padding:20px 26px;display:grid;grid-template-rows:auto minmax(540px,1fr) auto;gap:18px;background:radial-gradient(circle at 0 0,#c8faff,transparent 55%),radial-gradient(circle at 100% 100%,#ffd5eb,transparent 50%),#f2faff;color:var(--ink)}.bingo-ambience{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;opacity:.05;pointer-events:none;z-index:-1}.bingo-header,.golden-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border:3px solid #fff;border-radius:23px;background:linear-gradient(110deg,#d7fbff,#edf9ff 60%,#ffdced);box-shadow:0 5px 0 #afd7ed}.bingo-brand h1,.golden-brand h1{font-size:30px;margin:4px 0 0;line-height:1.25}.bingo-brand h1 span{color:#df4e9a}.bingo-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.75fr);gap:18px;min-height:0}.bingo-draw-panel,.bingo-board-panel{min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px;border:3px solid #fff;border-radius:27px;background:linear-gradient(#fff,#e4faff);padding:16px;box-shadow:0 6px 0 #a4d5e9}.bingo-draw-panel{background:linear-gradient(#e7fbff,#d7f6fa 48%,#fff5fc)}.bingo-machine{position:relative;flex:1;min-height:280px;margin:-6px -6px 0;overflow:hidden;border-radius:20px;background:radial-gradient(ellipse at 50% 30%,#fff 10%,#d1f6ff 65%,#abdef7)}.bingo-machine canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.bingo-machine.has-3d #bingoCurrentNumber{display:none}.bingo-machine-label{position:absolute;top:10px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;color:#3c71a3;font-size:13px;font-weight:800}.bingo-live-dot{color:#19bda3}.bingo-current{position:absolute;left:50%;top:78%;transform:translate(-50%,-50%);font:clamp(72px,9vw,170px) var(--display);color:#235478;line-height:1;pointer-events:none;white-space:nowrap}.bingo-ball-caption{position:absolute;bottom:6px;left:4%;right:4%;font-size:14px;font-weight:800;color:#285f93;text-align:center}.bingo-status{text-align:center;margin:0;font-size:15px;min-height:40px;display:flex;align-items:center;justify-content:center;color:#496787;line-height:1.5}.bingo-draw-button{display:flex;align-items:center;justify-content:center;width:100%;gap:8px;font-size:25px;padding:12px 8px;flex:none}.bingo-host-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:7px}.bingo-win-button{background:linear-gradient(#ffdced,#ff9fc9);border-color:#ffdaf1;border-bottom-color:#d46b9c;color:#96305c}.bingo-range-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;border-top:1px solid #b8dce8;padding-top:12px;margin-top:6px}.bingo-range-controls input{width:64px;padding:5px;font-weight:900;font-size:20px;text-align:center}.bingo-range-controls small{width:100%;font-size:12px;color:#5e7c95}.bingo-range-controls input[aria-invalid=true]{border-color:#e35081}.bingo-board-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.bingo-board-heading h2{margin:0;font-size:27px}.bingo-board-heading h2 span{font:700 13px 'Noto Sans KR';color:#6787a6;margin-left:8px}.bingo-counters{display:flex;gap:15px;font-size:13px;align-items:center}.bingo-counters b{font-size:27px;color:#0b8aac;margin-left:5px}.bingo-counters small{color:#6e859c;margin-left:4px}.bingo-number-board{flex:1;min-height:0;display:grid;grid-template-columns:repeat(var(--bingo-columns,12),minmax(0,1fr));grid-template-rows:repeat(var(--bingo-rows,6),minmax(36px,1fr));gap:7px;list-style:none;margin:0;padding:5px 1px 8px;overflow-y:auto}.bingo-number-board li{display:flex;align-items:center;justify-content:center;min-width:0;min-height:36px;line-height:1.15;font-weight:900;font-size:var(--bingo-number-size,32px);color:#607e9f;border:2px solid #d0e2f0;border-bottom:4px solid #c1d8e8;border-radius:16px;background:linear-gradient(145deg,#fff,#eaf4fd);transition:background .2s,transform .2s}.bingo-number-board li.called{color:#14596d;border-color:#bbfff2;border-bottom-color:#2dbdb5;background:linear-gradient(145deg,#a9ffee,#38ddd0);box-shadow:inset 0 2px #f6fff9}.bingo-number-board li.latest{color:#8d490f;border-color:#fff3a0;border-bottom-color:#eca326;background:linear-gradient(145deg,#fff388,#ffd32d 70%,#ffa62a);box-shadow:0 0 0 2px #fab954,inset 0 2px #ffffce;animation:jelly-pop .5s ease-out}.bingo-history{flex:none;border-top:1px solid #c7e0ed;padding-top:10px;min-width:0}.bingo-history-heading{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:14px;font-weight:800}.bingo-history-heading select{flex:1;min-width:120px;font-size:13px;padding:7px}.bingo-history-heading button{font-size:12px;padding:7px 10px}.bingo-recent{padding-top:10px;min-width:0}.bingo-recent ol{display:flex;gap:8px;list-style:none;margin:0;padding:0 0 9px;overflow-x:auto;min-width:0;scrollbar-width:auto}.bingo-recent li{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:54px;padding:6px 10px;border:2px solid #bbdce8;border-radius:13px;background:linear-gradient(#fff,#e3f5ff);color:#3673a6}.bingo-recent li small{font-size:11px;color:#63809b}.bingo-recent li strong{font-size:26px}.bingo-recent li:last-child:not(.bingo-recent-empty){background:linear-gradient(#ffeca8,#ffd55c);border-color:#f3c13d;color:#8d600e}.bingo-recent li.bingo-recent-empty{font-size:14px;border:0;background:none;padding:8px 0;color:#65809b;white-space:normal}.bingo-history-note{font-size:12px;color:#68849c;margin:4px 0}.bingo-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:#4a6a90;padding:0 5px 8px}.bingo-footer p{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0}.bingo-footer p>b{color:#ae779d}.bingo-footer strong{color:#1884b1}.bingo-footer>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bingo-voice{font-size:13px;padding:7px 10px}
/* Lucky ticket: a golden candy ticket and three soft prize plinths. */
.golden-screen{background:radial-gradient(circle at 5% 0,#fff0aa,transparent 40%),radial-gradient(circle at 100% 80%,#ffd6ee,transparent 55%),#fff9e7;grid-template-rows:auto minmax(430px,1fr) auto}.golden-header{background:linear-gradient(110deg,#fff4bb,#fffdf1 60%,#ffdede);box-shadow:0 5px 0 #e8cc8f}.golden-content{display:grid;grid-template-rows:minmax(300px,1fr) auto;gap:18px;min-height:0}.golden-arena{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid white;border-radius:30px;background:radial-gradient(ellipse at center,#fff8db,#ffdfa5 45%,#c5efff);box-shadow:0 6px 0 #e1c796;perspective:1400px}.golden-arena:before{content:'';position:absolute;inset:-80%;background:repeating-conic-gradient(from 5deg at 50% 50%,#fff7 0deg 8deg,transparent 8deg 24deg);pointer-events:none;opacity:.45}.golden-arena canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.golden-stage-label{position:absolute;z-index:3;top:15px;left:20px;right:20px;display:flex;justify-content:space-between;gap:15px;font-size:14px;font-weight:800;color:#906316}.golden-stage-label span:last-child{color:#9b668a}.golden-ticket-wrap{position:relative;z-index:2;width:min(76%,700px,calc((100dvh - 330px)*1.6));min-width:260px;aspect-ratio:16/9;perspective:1400px;filter:drop-shadow(0 16px 13px #b3755040);margin-top:20px}.golden-ticket{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(var(--ticket-turn,0deg)) rotateZ(var(--ticket-tilt,0deg)) translateY(var(--ticket-lift,0px));will-change:transform}.golden-ticket-face{position:absolute;inset:0;backface-visibility:hidden;overflow:hidden}.golden-ticket-face>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.golden-ticket-back{transform:rotateY(180deg)}.golden-ticket-back img.ticket-seal{inset:25% 37%;width:26%;height:46%;object-fit:contain;border-radius:18px}.golden-rank{position:absolute;left:18%;right:18%;top:22%;text-align:center;font-size:clamp(17px,2.2vw,32px);font-weight:900;line-height:1.2;color:#9a6108}.golden-name{position:absolute;left:16%;right:16%;top:37%;height:27%;min-width:0;display:flex;align-items:center;justify-content:center;color:#6f431e;overflow:hidden}.golden-name strong{white-space:nowrap;font-weight:900;font-size:clamp(30px,5.5vw,100px);line-height:1.1;letter-spacing:-.03em}.golden-ticket-meta{position:absolute;left:16%;right:16%;bottom:22%;font-size:clamp(12px,1.2vw,18px);font-weight:700;color:#976728;text-align:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.golden-ticket-caption{position:absolute;left:15%;right:15%;bottom:10%;font-size:12px;letter-spacing:.2em;text-align:center;color:#ba7915}.golden-podium{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0;padding:0;min-height:110px}.golden-place{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:1fr auto;column-gap:15px;align-items:center;min-width:0;padding:14px 18px;border:3px solid #fff;border-radius:23px;background:linear-gradient(#fff,#e3f6ff);color:#6584a4;box-shadow:0 5px 0 #b8d9eb}.golden-place>b{grid-row:1/3;font:30px var(--display);color:#5c9ac4}.golden-place-name{display:flex;align-items:center;height:clamp(32px,4vw,60px);min-width:0;overflow:hidden}.golden-place-name strong{font-size:clamp(22px,3.8vw,60px);font-weight:900;white-space:nowrap;line-height:1.1}.golden-place small{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#7b92a9}.golden-place.won{background:linear-gradient(#fff8c4,#ffe188);border-color:#fff2b2;color:#90600c;box-shadow:0 5px 0 #e2b53d}.golden-place.won>b{color:#c08a14}.golden-place.next{background:linear-gradient(#fff3fb,#ffdbf0);box-shadow:0 5px 0 #deacd2}.golden-place.new-winner{animation:jelly-pop .6s ease-out}.golden-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;padding-bottom:8px}.golden-status{font-size:15px;line-height:1.65;color:#8c7158;margin:0}.golden-draw{min-width:260px;font-size:25px}.golden-footer-tools{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
/* Results, confirmation and roster dialogs also use the same material. */
dialog{border:3px solid #fff;border-radius:28px;padding:28px;max-height:calc(100dvh - 40px);overflow:auto;color:var(--ink);background:linear-gradient(135deg,#fffdf3,#edfbff);box-shadow:0 9px 0 #8fc8e6,0 25px 80px #1e51995c}dialog::backdrop{background:#477eb96b;backdrop-filter:blur(6px)}dialog h2{font-size:30px;margin:12px 0}dialog p{font-size:16px;color:#4f6e90;line-height:1.8}.arcade-dialog{width:min(510px,calc(100vw - 30px))}.arcade-dialog small{color:#3986b4;font-size:12px;font-weight:900;letter-spacing:.1em}.arcade-dialog-actions,.golden-roster-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.arcade-dialog .arcade-confirm{font:800 15px 'Noto Sans KR',sans-serif;padding:11px 15px;box-shadow:none}.golden-roster{width:min(650px,calc(100vw - 30px))}.golden-roster textarea{width:100%;height:min(43dvh,380px);font-size:16px}.golden-roster-error{color:#be3c60;min-height:24px}.bingo-celebration{width:min(600px,calc(100vw - 30px));text-align:center;background:radial-gradient(ellipse at top,#fff2bd,#fff6fc 65%);border-color:#ffdf76}.bingo-celebration img{width:130px;height:130px;border-radius:28px;margin:0 auto 18px;filter:none}.bingo-celebration small{color:#d49217;font-weight:800}.bingo-celebration h2{color:#e9509b;text-shadow:0 4px #ffcee6;font-size:clamp(58px,8vw,94px);line-height:1.2}.bingo-celebration p{font-size:23px;font-weight:800}.bingo-celebration button{max-width:300px;margin:auto}
@keyframes jelly-pop{0%{transform:scale(.9)}55%{transform:scale(1.05)}100%{transform:scale(1)}}@keyframes jelly-bob{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(8deg)}}
/* No fixed-width labels on compact displays. Everything stays in its own card. */
@media(min-width:1600px){.cover-card{max-width:1280px}.cover-main{padding:44px}.room-frame{max-width:1320px}.cabinet-art{height:400px}.bingo-screen,.golden-screen{max-width:1800px;margin:auto}}
@media(max-width:1100px){.cover-footer{grid-template-columns:1fr}.cover-copyright{text-align:center;margin:0}.cover-main{padding:28px;gap:24px}.cover-channels{grid-template-columns:repeat(3,minmax(0,1fr))}.bingo-layout{grid-template-columns:minmax(270px,.9fr) minmax(0,1.3fr)}.bingo-counters{gap:8px}.bingo-board-heading h2 span{display:none}.bingo-number-board{gap:5px}.bingo-number-board li{border-radius:11px}.golden-footer{grid-template-columns:1fr auto}.golden-footer-tools{grid-column:1/-1;justify-content:center}.app{grid-template-columns:minmax(0,1fr) 270px}.controls{padding:14px}.headrow{gap:9px}}
@media(max-width:760px){.cover-scroll{padding:16px 14px 36px}.cover-main{grid-template-columns:1fr;padding:22px;gap:22px;border-radius:25px}.cover-brand{gap:10px}.cover-brand img{width:48px;height:48px}.cover-brand>span{font-size:11px}.cover-brand small{font-size:13px}.cover-main h1{font-size:48px}.cover-art{grid-row:2}.cover-art img{transform:none;max-height:260px;object-fit:cover}.cover-copy{grid-row:3}.cover-purpose{font-size:19px}.cover-games{grid-template-columns:1fr;gap:20px;margin-top:32px}.cover-games h2{font-size:27px}.cover-game{display:grid;grid-template-columns:85px minmax(0,1fr);gap:18px;padding:22px 18px}.cover-game-icon{height:90px;margin:0;align-self:center}.cover-marble{width:72px;height:72px}.cover-bingo-grid{grid-template-columns:repeat(3,17px);gap:4px;padding:8px}.cover-bingo-grid i{height:17px}.cover-ticket{width:80px;line-height:48px;font-size:34px;border-radius:12px}.cover-game h3{font-size:25px}.cover-game small{font-size:11px;letter-spacing:.03em}.cover-game p{font-size:15px}.cover-game .game-detail{font-size:13px}.cover-footer{padding:24px 19px}.cover-channels{grid-template-columns:1fr;gap:12px}.cover-channel-label{font-size:14px}.cover-contact>strong{font-size:23px}.cover-contact-break{display:none}.arcade-topbar{padding:10px 14px;gap:8px}.arcade-brand{gap:8px}.arcade-brand img{width:46px;height:46px;border-radius:14px}.arcade-brand>div{font-size:20px}.arcade-brand small{display:none}.arcade-utilities{gap:5px}.arcade-tool{padding:8px 10px;font-size:13px}.arcade-view:not(.arcade-cover){top:73px}.lobby-room{padding:16px 16px 110px}.room-frame{grid-template-columns:1fr;max-width:420px;gap:22px}.lobby-heading{margin:5px 0}.lobby-heading h2{font-size:27px}.lobby-eyebrow{font-size:11px}.cabinet-choice{display:grid;grid-template-columns:44% minmax(0,1fr);column-gap:14px;padding:18px;border-radius:25px}.cabinet-art{grid-column:1;grid-row:1/3;height:210px}.cabinet-marquee{grid-column:2;grid-row:1;align-self:end;font-size:24px;padding:9px 5px}.cabinet-info{grid-column:2;grid-row:2;align-self:start;margin-top:16px}.cabinet-number{font-size:10px;letter-spacing:.04em}.cabinet-action{font-size:18px;padding:10px 4px}.lobby-bottom{position:sticky;bottom:0;left:auto;right:auto;margin:-82px 14px 14px;padding:10px;font-size:12px}.lobby-bottom p{font-size:12px}.app{display:flex;flex-direction:column;width:100%;height:auto;min-height:100dvh;margin:0;border-radius:0;border-width:0}.top{padding:10px 12px 0}.progress{margin:9px -12px 0}.headrow{flex-wrap:wrap;gap:8px}.headerlogo{width:45px;height:45px;border-radius:13px}.title{font-size:25px}.brand{font-size:11px}.clockbox{margin-left:auto}.clock{font-size:19px}.icon{padding:6px 9px}.arcade-home{font-size:12px;padding:7px 9px}.leaders{height:66px;flex:none;padding:9px 12px;gap:6px}.leader{padding:3px 6px;gap:4px}.leader b{font-size:18px}.leader i{width:7px;height:7px}.stagewrap{flex:none;height:66dvh;min-height:410px;margin:0 12px 15px}.controls{overflow:visible;border:0;border-top:2px solid #bfdfec;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.paneltitle{grid-column:1/-1}.primarycontrols,.secondarycontrols{align-content:start}.audio-meter,.ufo-progress,.editor,.hint,.legend,.footerbrand{grid-column:1/-1}.controls .btn{font-size:14px}.controls .start{font-size:22px}.stagehud{font-size:11px}.app.fullscreen{height:auto}.bingo-screen,.golden-screen{display:block;padding:12px;height:100dvh;overflow:auto}.bingo-header,.golden-header{flex-wrap:wrap;gap:12px;padding:12px}.bingo-brand img,.golden-brand img{width:48px;height:48px;border-radius:14px}.bingo-brand h1,.golden-brand h1{font-size:26px}.bingo-brand small,.golden-brand small{font-size:10px}.bingo-header-tools,.golden-tools{width:100%;justify-content:flex-end;gap:7px}.bingo-layout{display:flex;flex-direction:column;gap:18px;margin-top:20px}.bingo-machine{height:330px;flex:none;min-height:0}.bingo-draw-panel,.bingo-board-panel{flex:none;padding:14px}.bingo-number-board{grid-template-rows:repeat(var(--bingo-rows,9),minmax(45px,1fr));min-height:0;flex:none;gap:5px}.bingo-number-board li{font-size:min(var(--bingo-number-size,26px),28px)}.bingo-board-heading h2{font-size:25px}.bingo-footer{flex-direction:column;align-items:flex-start;margin-top:20px;gap:14px;font-size:13px}.bingo-counters b{font-size:23px}.bingo-draw-button{font-size:25px}.bingo-status{font-size:15px;min-height:35px}.golden-content{margin-top:20px;display:block}.golden-arena{height:340px}.golden-ticket-wrap{width:95%;min-width:0;max-width:600px}.golden-stage-label{font-size:12px;left:12px;right:12px}.golden-podium{gap:8px;margin-top:20px;min-height:108px}.golden-place{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;text-align:center;gap:4px;padding:10px 5px;border-radius:18px}.golden-place>b{grid-row:auto;font-size:22px}.golden-place-name{justify-content:center;height:34px}.golden-place small{font-size:11px}.golden-footer{display:flex;flex-direction:column;margin-top:22px;gap:16px}.golden-draw{width:100%;max-width:430px;min-width:0}.golden-status{text-align:center;font-size:15px}.golden-footer-tools{justify-content:center}.golden-ticket-caption{font-size:9px;letter-spacing:.08em}.golden-rank{font-size:18px}.golden-ticket-meta{font-size:12px}dialog{padding:23px}dialog h2{font-size:26px}}
@media(max-width:390px){.cover-main{padding:18px}.cover-main h1{font-size:43px}.cover-game{grid-template-columns:1fr}.cover-game-icon{height:75px}.cover-game h3{font-size:26px}.arcade-brand>div{font-size:18px}.arcade-brand img{width:38px;height:38px}.arcade-utilities .arcade-tool{font-size:11px;padding:8px}.cabinet-choice{gap:9px;padding:12px}.cabinet-marquee{font-size:21px}.cabinet-art{height:195px}.bingo-brand h1{font-size:23px}.bingo-brand img{width:43px;height:43px}.bingo-board-heading{align-items:flex-start;flex-direction:column}.golden-rank{font-size:15px}.golden-ticket-meta{font-size:10px}}
.cover-art img{height:auto;aspect-ratio:1024/500;object-fit:contain;max-height:none}.cover-art{align-self:center}.cover-main{grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr)}
.lobby-room{background:radial-gradient(circle at 15% 15%,#a9f4ff,transparent 45%),radial-gradient(circle at 85% 10%,#f4b8e7,transparent 42%),linear-gradient(#cceeff,#e3f7ff 65%,#bfdeff)}.lobby-room:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 5% 20%,#fff9 0 4px,transparent 5px),radial-gradient(circle at 90% 35%,#fff9 0 6px,transparent 7px);background-size:130px 150px,210px 210px}.cabinet-art{border-radius:24px;margin:16px 0;height:clamp(255px,31vw,395px);max-width:100%;filter:none;overflow:hidden;box-shadow:0 6px 0 #5b83b730;border:3px solid #ffffff9c}.cabinet-choice{padding:16px}.lobby-heading{position:relative}.cover-art .hero-star{top:-20px;right:-14px}
@media(max-width:760px){.cover-main{grid-template-columns:1fr}.cabinet-art{height:215px;margin:0}.cover-art img{max-height:none}.cover-art .hero-star{font-size:40px;right:-6px;top:-12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* The return bar participates in layout, so it cannot cover any cabinet action. */
#arcadeLobby{display:flex;flex-direction:column}
#arcadeLobby .lobby-room{flex:1 0 auto;min-height:auto;padding-bottom:28px}
#arcadeLobby .lobby-bottom{position:relative;inset:auto;flex:0 0 auto;margin:12px 24px 24px;flex-wrap:wrap}
.golden-ticket-back img.ticket-seal{opacity:.5}
@media(max-width:760px){#arcadeLobby .lobby-room{padding-bottom:20px}#arcadeLobby .lobby-bottom{margin:12px 14px 18px}}
/* Let a wrapped toolbar define the remaining viewport height on narrow screens. */
@media(max-width:560px){
  .arcade:not([data-scene=cover]){display:flex;flex-direction:column}
  .arcade-topbar{flex:none;flex-wrap:wrap}
  .arcade-utilities{width:100%;justify-content:flex-end}
  .arcade-view:not(.arcade-cover){position:relative;inset:auto;flex:1;min-height:0}
}

/* Ads stay in normal document flow, away from play controls. */
.pc-ad-slot{position:relative;display:block;width:100%;max-width:970px;min-height:136px;margin:42px auto;padding:16px;background:#fff;border:1px solid #d9e3ed;border-radius:12px;box-sizing:border-box;overflow:visible}
.pc-ad-slot[hidden]{display:none!important}
.pc-ad-label{display:block;margin-bottom:10px;font:12px/1.4 system-ui,sans-serif;color:#697686;text-align:center}
.pc-ad-slot .adsbygoogle{display:block;width:100%;min-width:250px}
#arcadeLobby .pc-ad-slot{flex:0 0 auto;width:calc(100% - 48px);margin:156px auto 32px}
.privacy-link{display:inline-block;margin-top:16px;font:14px/1.5 system-ui,sans-serif;color:#375d84;text-decoration:underline}
@media(max-width:760px){.pc-ad-slot{min-height:290px;padding:14px 8px;margin:32px auto}#arcadeLobby .pc-ad-slot{width:calc(100% - 28px);margin-top:156px}}

/* Each game retains its play area; its ad follows in the same scroll view. */
.game-ad-view{display:contents}
.game-ad-view[hidden]{display:none!important}
.game-ad-view.has-game-ad{display:block;height:100dvh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#f2faff}
.game-ad-view.has-game-ad[data-game-view="golden"]{background:#fff9e7}
.game-ad-view.has-game-ad>.bingo-screen,.game-ad-view.has-game-ad>.golden-screen{height:auto;min-height:100dvh;overflow:visible}
.game-ad-view>.game-ad-slot{width:calc(100% - 48px);margin:156px auto 32px}
@media(max-width:760px){.game-ad-view>.game-ad-slot{width:calc(100% - 28px)}}

/* Four-language navigation and room for longer translated labels. */
.language-picker{display:flex;align-items:center;flex:0 0 auto}
.language-picker select{max-width:148px;min-height:43px;padding:8px 28px 8px 10px;font-size:14px;font-weight:800;border:2px solid #f2a1ca;border-bottom:4px solid #cf5c98;border-radius:14px;background:linear-gradient(145deg,#fff0f8,#ffd0e8);color:#852754;box-shadow:inset 0 2px 0 #fff9fc,0 3px 5px #b8427a18;cursor:pointer}
html:lang(ja){--display:'Hiragino Maru Gothic ProN','Yu Gothic','Meiryo',sans-serif}
html:lang(zh){--display:'PingFang SC','Microsoft YaHei',sans-serif}
html:lang(ja) body{font-family:'Yu Gothic','Meiryo',system-ui,sans-serif}
html:lang(zh) body{font-family:'PingFang SC','Microsoft YaHei',system-ui,sans-serif}
html:not(:lang(ko)) .arcade-topbar{flex-wrap:wrap;height:auto;min-height:80px}
.arcade-utilities{flex-wrap:wrap;justify-content:flex-end}
html:not(:lang(ko)) .cover-copy h1{font-size:clamp(38px,5.3vw,74px);overflow-wrap:anywhere}
html:not(:lang(ko)) .cover-purpose{font-size:clamp(18px,2vw,26px)}
html:not(:lang(ko)) .cabinet-marquee{font-size:clamp(18px,2.1vw,32px);line-height:1.25;padding:8px;overflow-wrap:anywhere;white-space:normal}
html:not(:lang(ko)) .cabinet-action{font-size:clamp(16px,1.5vw,22px)}
html:not(:lang(ko)) .bingo-brand h1{font-size:clamp(19px,2.5vw,32px)}
html:not(:lang(ko)) .golden-brand h1{font-size:clamp(20px,2.6vw,34px)}
html:not(:lang(ko)) .btn.start,html:not(:lang(ko)) .bingo-draw-button,html:not(:lang(ko)) .golden-draw{font-size:clamp(18px,1.9vw,24px)}
html:not(:lang(ko)) .top .title{font-size:clamp(18px,2.3vw,30px)}
html:not(:lang(ko)) .golden-rank{font-size:clamp(14px,1.8vw,23px)}
html:not(:lang(ko)) .bingo-current{max-width:100%}
html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3,html:lang(zh) h1,html:lang(zh) h2,html:lang(zh) h3{font-weight:800;word-break:normal}
@media(max-width:760px){
 .arcade-topbar{flex-wrap:wrap;height:auto;gap:10px;padding:10px 14px}
 .arcade-utilities{width:100%;justify-content:flex-start;gap:6px}
 .arcade-utilities .arcade-tool{padding:8px 9px;font-size:13px;flex:1 1 auto}
 .language-picker{flex:0 1 132px}.language-picker select{width:100%;font-size:13px;max-width:none}
 html:not(:lang(ko)) .cover-card{padding:20px 16px}
 html:not(:lang(ko)) .cover-copy h1{font-size:40px}
 html:not(:lang(ko)) .bingo-header,html:not(:lang(ko)) .golden-header{gap:12px}
 html:not(:lang(ko)) .bingo-brand,html:not(:lang(ko)) .golden-brand{min-width:0}
 html:not(:lang(ko)) .bingo-header-tools,html:not(:lang(ko)) .golden-tools{flex-wrap:wrap}
 html:not(:lang(ko)) .cabinet-marquee{font-size:24px}
}

.cover-brand{flex-wrap:wrap}.cover-brand .language-picker{margin-left:auto}.cover-brand .language-picker select{font-family:system-ui,sans-serif;letter-spacing:normal}
@media(max-width:500px){.cover-brand .language-picker{width:100%;margin:8px 0 0;flex-basis:100%}.cover-brand .language-picker select{max-width:180px}}

/* Keep the introduction entry button comfortably separated from a filled ad. */
.pc-ad-slot:not([hidden]) + .cover-bottom-entry{margin-top:156px}
.language-picker select:focus-visible{outline-color:#a92368}
.language-picker option{background:#fff5fb;color:#852754}

/* Result sharing: the same playful full-screen invitation in all three games. */
.result-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch;width:100%}
.result-share-button{padding:11px 20px;border:2px solid #fff;border-bottom:4px solid #ca548f;border-radius:15px;background:linear-gradient(#ffe8f5,#ffb5d9);color:#832755;font-family:inherit;font-size:16px;font-weight:800;line-height:1.3;min-height:46px;white-space:normal;cursor:pointer}
.result-share-button[hidden]{display:none!important}
.result-share-button:hover{background:linear-gradient(#fff0f9,#ffa8d3)}
.result.on{overflow:auto;align-items:safe center}
.result .card{max-height:100%;overflow:auto}
.bingo-host-controls,.golden-footer-tools{flex-wrap:wrap}
.bingo-host-controls #bingoShare{flex-basis:100%}
dialog.arcade-share-dialog{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 0 0,#b8f6ff,transparent 60%),radial-gradient(ellipse at 100% 100%,#ffdb7b,transparent 58%),#ffe2f1;color:#24436e;box-sizing:border-box}
.arcade-share-dialog::backdrop{background:#243054a6}
.share-shell{width:min(960px,100%);min-height:100%;margin:auto;box-sizing:border-box;padding:24px max(20px,env(safe-area-inset-right)) 32px max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;justify-content:center;gap:18px}
.share-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.share-header>span{font-size:14px;font-weight:900;letter-spacing:.08em;color:#466599}
.share-close{background:#ffffffdc;color:#38577c;border:2px solid white;border-bottom:4px solid #adc7e2;border-radius:15px;padding:11px 16px;font-size:15px;min-height:46px;cursor:pointer}
.share-card{border:4px solid white;border-radius:30px;background:#ffffffed;box-shadow:0 8px 0 #98bed637,0 22px 60px #6b529325;overflow:hidden;text-align:center}
.share-art{display:block;width:100%;height:auto;max-height:270px;object-fit:cover;object-position:center;border-bottom:4px solid #fff}
.share-copy{padding:24px 36px 18px}
.share-game{display:inline-block;border-radius:30px;background:#e3faff;border:2px solid #c5edf4;padding:6px 16px;font-size:15px;font-weight:800;color:#267187}
.share-copy h2{font:clamp(28px,4vw,42px)/1.25 var(--display);color:#324c83;margin:14px 0;overflow-wrap:anywhere}
.share-copy>p:not(.share-status){font-size:17px;line-height:1.7;margin:0 0 22px;color:#547092}
.share-link-label{display:block;text-align:left;font-size:14px;font-weight:800;margin:0 0 8px}
.share-url{display:block;width:100%;box-sizing:border-box;border:2px solid #c7dcea;border-radius:13px;background:#f4fbff;color:#386789;font:600 16px/1.5 system-ui,sans-serif;padding:12px;text-align:center}
.share-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.share-actions button{flex:1 1 190px;min-height:56px;padding:13px 18px;border:2px solid white;border-radius:17px;font-size:19px;font-weight:900;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.share-actions .share-primary{background:linear-gradient(#ff91c9,#ef5ba1);border-bottom:5px solid #be3779;color:#501438}
.share-actions .share-secondary{background:linear-gradient(#fff4b5,#ffdf69);border-bottom:5px solid #d5a73a;color:#70521e}
.share-actions button[hidden]{display:none!important}
.share-actions button:disabled{opacity:.6;cursor:wait}
.share-status{min-height:2.8em;margin:12px 0 0;color:#725480;font-size:14px;line-height:1.4}
@media(max-width:500px){.share-shell{padding-top:max(14px,env(safe-area-inset-top));justify-content:flex-start;gap:14px}.share-header>span{font-size:12px}.share-close{font-size:14px;padding:9px 12px}.share-copy{padding:20px 16px 12px}.share-copy>p:not(.share-status){font-size:16px}.share-card{border-radius:23px}.share-actions{gap:8px}.share-actions button{flex-basis:100%;font-size:18px}.share-art{max-height:185px}}

/* Local result images: readable podiums, PNG export and an enlarged preview. */
.share-result-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);align-items:start}
.share-result-preview{margin:0;padding:18px;background:#eaf8ff;min-width:0}
.share-result-preview>button{display:block;width:100%;margin:0;padding:0;background:transparent;border:0;border-radius:18px;box-shadow:none;cursor:zoom-in}
.share-result-preview img{width:100%;height:auto;display:block;border-radius:18px;box-shadow:0 6px 20px #7386b533}
.share-result-preview img[hidden]{display:none}
.share-result-preview figcaption{font-size:14px;line-height:1.5;color:#56718c;margin-top:12px}
.share-result-preview>p{padding:30px 12px;font-size:16px;line-height:1.6}
.share-result-card .share-copy{padding:26px 22px 18px}
.share-result-card h2{font-size:clamp(26px,3vw,36px)}
.share-result-card .share-actions button{font-size:17px;flex-basis:100%;min-height:50px}
.share-result-card .result-image-help{font-size:14px!important;line-height:1.6!important;margin:12px 0 26px!important}
.result-image-actions{margin-top:0}
dialog.result-image-viewer{position:fixed;inset:0;margin:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;padding:0;background:#e8f6ff;overflow:auto;overscroll-behavior:contain}
.result-image-viewer header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 20px;background:#edf9fff2;border-bottom:2px solid white}
.result-image-viewer h2{font-size:22px;margin:0;color:#345681}
.result-image-viewer>img{display:block;width:100%;max-width:1080px;height:auto;margin:0 auto}
.result-save-tools{max-width:1080px;margin:0 auto;padding:16px 20px;color:#345681;font-size:16px;line-height:1.55}
.result-save-tools p{margin:0 0 12px}.result-save-tools .share-actions{display:flex;flex-wrap:wrap;gap:12px}
.result-save-tools .share-actions>a,.result-save-tools .share-actions>button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:18px;border:2px solid white;text-decoration:none;font:inherit;font-weight:800;color:#294875;box-sizing:border-box;white-space:normal}
.result-save-tools .share-secondary{background:#fff0a6}.result-save-tools .share-primary{background:#f4a8cf}
.result-save-tools [hidden]{display:none!important}
#arcadeResultFullImage{-webkit-touch-callout:default;user-select:auto;-webkit-user-select:auto;touch-action:auto}
@media(max-width:700px){.share-result-card{grid-template-columns:1fr}.share-result-preview{padding:12px}.share-result-card .share-copy{padding:22px 18px 14px}.share-result-card .share-actions button{font-size:18px}.result-image-viewer header{padding-top:max(12px,env(safe-area-inset-top))}}

/* A consistent top-right share entry, including browsers without Web Share. */
.quick-share-trigger{position:fixed;z-index:11000;top:max(12px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:50px;height:50px;padding:12px;border:2px solid white;border-bottom:4px solid #c95797;border-radius:16px;background:linear-gradient(#ffe6f4,#ffaed3);color:#862858;box-shadow:0 3px 10px #74417630;cursor:pointer}
.quick-share-trigger svg{display:block;width:100%;height:100%}
.quick-share-panel{position:fixed;z-index:11001;top:calc(max(12px,env(safe-area-inset-top)) + 60px);right:max(16px,env(safe-area-inset-right));width:min(360px,calc(100vw - 28px));max-height:calc(100dvh - 90px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:18px;background:#fffafd;border:3px solid white;border-radius:23px;box-shadow:0 10px 40px #36558b44;color:#345681}
.quick-share-panel[hidden],.share-fallback[hidden]{display:none!important}
.quick-share-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.quick-share-panel h2{font-size:20px;line-height:1.35;margin:0}
.quick-share-panel>header button{padding:0;width:40px;height:40px;flex:none;border:0;box-shadow:none;background:#ffe9f4;color:#85305b;border-radius:12px;font-size:28px;cursor:pointer}
.quick-share-panel .share-actions{margin:14px 0 12px;gap:10px}
.quick-share-panel .share-actions button{flex-basis:100%;font-size:17px;min-height:50px}
.quick-share-panel .share-url{font-size:14px;padding:9px}
.quick-share-status{font-size:14px;line-height:1.6;margin:10px 0 0;overflow-wrap:anywhere}
.quick-share-status:empty{display:none}
.share-fallback{padding:12px;border:2px solid #f3d396;border-radius:14px;background:#fff9e5;color:#735326;font-size:14px;line-height:1.6;text-align:left;margin:12px 0}
.share-fallback p{margin:0 0 8px}.share-fallback a{color:#27679b;font-weight:800;text-decoration:underline}
.cover-brand{padding-right:64px}.arcade-topbar{padding-right:84px}.top{padding-right:82px}.bingo-header,.golden-header{padding-right:74px}
.share-link-actions{margin:0 0 16px}
.share-result-card{grid-template-areas:'preview actions'}.share-result-preview{grid-area:preview}.share-result-card .share-copy{grid-area:actions}
@media(max-width:700px){.share-result-card{grid-template-areas:'actions' 'preview'}.share-result-card .share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-result-card .share-actions button{font-size:16px;line-height:1.4;padding:10px 8px;min-height:54px}.share-result-card .result-image-actions{margin-top:18px}.share-result-card h2{font-size:27px}.share-result-card .share-copy{padding:18px 16px 8px}.share-result-card .share-copy>p:not(.share-status){font-size:15px;line-height:1.55;margin-bottom:16px}.quick-share-trigger{right:12px}.quick-share-panel{right:12px}.arcade-topbar{padding-right:74px}.bingo-header,.golden-header{padding-right:60px}}

.share-actions .share-kakao{background:#fee500;color:#191919;border-bottom:5px solid #d2bd00}.share-link-actions .share-kakao,.result-image-actions .share-kakao{grid-column:1/-1}.share-result-card .result-kakao-note{font-size:12px!important;line-height:1.5!important;margin:10px 0!important;color:#6b6179}
