.machine-card{position:relative}#chat-toggle{flex-shrink:0;width:auto;padding:0 10px;font-size:12px}#chat-panel{z-index:10;color:#f5edf8;background:#201f2b;border:1px solid #65516f;border-radius:14px;max-width:440px;margin-left:auto;padding:12px;position:absolute;bottom:62px;left:12px;right:12px;box-shadow:0 8px 24px #0006}#chat-panel[hidden],#chat-toggle[hidden],#chat-form[hidden],#chat-name[hidden]{display:none}.chat-heading{justify-content:space-between;align-items:center;display:flex}#chat-close{min-width:44px;min-height:44px;font-size:24px}#chat-messages{overscroll-behavior:contain;touch-action:pan-y;height:min(170px,22dvh);overflow-y:auto}#chat-messages p{overflow-wrap:anywhere;margin:0 0 9px;font-size:13px;line-height:1.5}#chat-messages b{color:#eab8ed;font-size:11px;display:block}#chat-messages span{white-space:pre-wrap}#chat-hint,.chat-empty{color:#c4b9ce;font-size:11px}#chat-form{gap:8px;margin-top:8px;display:flex}#chat-input{color:#fff;background:#13141d;border:1px solid #65516f;border-radius:8px;flex:1;min-width:0;height:44px;padding:8px;font-size:16px}#chat-form button,#chat-name{color:#192319;background:#d6f9a9;border-radius:8px;min-height:44px;padding:8px 12px;font-weight:700}#chat-error{color:#ffbcc5;margin:4px 0 0;font-size:12px}.chat-input-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.admin-chat-message{overflow-wrap:anywhere;border-bottom:1px solid #51435b;padding:12px 0}.admin-chat-message p{white-space:pre-wrap}@media (height<=500px){#chat-panel{padding:6px 10px;bottom:8px}#chat-messages{height:55px}#chat-hint{display:none}}#chat-toggle{z-index:6;color:#f5edf8;background:#272432;border-color:#65516f;border-radius:12px;min-width:44px;min-height:44px;position:absolute;top:50px;right:12px}@media (pointer:coarse),(width<=760px){#chat-panel{top:calc(var(--visible-top,0px) + 54px);max-height:calc(var(--visible-height,100dvh) - 70px);z-index:80;margin:0 auto;position:fixed;bottom:auto;overflow-y:auto}}.social-area{grid-template-columns:minmax(240px,.8fr) minmax(0,1.5fr);align-items:stretch;gap:16px;margin-bottom:20px;display:grid}:is(.social-area:has(.group-lobby[hidden]),.social-area:not(:has(.chat-docked:not([hidden])))){grid-template-columns:minmax(0,1fr)}.social-area .group-lobby{border-radius:16px;align-content:start;gap:12px;margin:0;padding:16px}.social-area .group-intro h2{margin:4px 0;font-size:17px}.social-area .group-intro p{font-size:12px}.social-area .group-actions{gap:6px}.social-area .group-actions button{min-height:44px;padding:8px 12px}.social-area .group-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.social-area .group-slot{gap:4px;padding:10px}.social-area .group-slot strong,.social-area .group-slot span{font-size:12px}#chat-panel.chat-docked{z-index:auto;width:100%;max-width:none;max-height:none;box-shadow:none;margin:0;padding:16px;position:static;inset:auto;overflow:hidden}.chat-docked .chat-heading{min-height:28px;margin-bottom:8px}.chat-docked #chat-close{display:none}.chat-docked #chat-messages{height:130px}.chat-docked #chat-hint{display:block}body.play-focus .social-area{display:none}@media (width<=760px){.social-area{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:14px}.social-area .group-lobby{gap:8px;padding:12px}.social-area .group-lobby>.group-actions{width:auto;margin-left:auto}.social-area .group-lobby>small{font-size:11px}#chat-panel.chat-docked{padding:12px}.chat-docked #chat-messages{height:100px}}:root{color:#f2f0f6;font-synthesis:none;--muted:#9495a8;--mint:#cef9ac;--pink:#f0a3c8;--line:#2a2c3b;background:#11131b;font-family:Inter,Pretendard,Noto Sans KR,Malgun Gothic,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:5px}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}svg{vertical-align:middle;flex-shrink:0}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:88px;padding:0 4.5%;display:flex}.brand{letter-spacing:-.8px;white-space:nowrap;align-items:center;gap:7px;font-size:21px;font-weight:900;display:flex}.brand-light{margin-left:-3px;font-weight:400}.brand-mark{background:var(--pink);color:#342337;border-radius:12px;place-items:center;width:39px;height:39px;margin-right:3px;display:grid;transform:rotate(-6deg)}.beta{color:var(--pink);letter-spacing:1px;border:1px solid #593d51;border-radius:4px;margin-left:5px;padding:3px 5px;font-size:8px}.header nav{align-self:stretch;gap:28px;display:flex}.nav{color:var(--muted);align-items:center;gap:8px;padding:0 4px;font-size:13px;font-weight:600;display:flex;position:relative}.nav.active{color:#fff}.nav.active:after{content:"";background:var(--pink);border-radius:3px;height:3px;position:absolute;bottom:0;left:0;right:0}.header-right{align-items:center;gap:16px;display:flex}.wallet{color:#f0d58c;background:#25251f;border:1px solid #484432;border-radius:30px;align-items:center;gap:8px;padding:9px 10px 9px 13px;font-weight:700;display:flex}.plus{background:#47412d;border-radius:50%;place-items:center;width:21px;height:21px;font-size:17px;display:grid}.icon-button{border:1px solid var(--line);color:#adb0c2;border-radius:50%;place-items:center;width:37px;height:37px;display:grid}.icon-button[aria-pressed=true]{color:var(--mint);border-color:var(--mint)}main{max-width:1440px;margin:0 auto;padding:42px 4.5% 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:2.3px;color:#bbb7c9;align-items:center;gap:7px;font-size:9px;font-weight:600;display:flex}.live-dot{background:var(--pink);border-radius:50%;width:6px;height:6px}h1{letter-spacing:-1.8px;margin:14px 0 11px;font-size:36px;font-weight:800;line-height:1.25}h1>span:not(.title-spark){color:var(--pink)}.title-spark{vertical-align:middle;color:var(--mint);margin-left:15px;font-size:33px;font-weight:400;display:inline-block}.page-heading p{color:var(--muted);margin:0;font-size:12px}.daily-pill{text-align:left;color:var(--pink);background:#222330;border:1px solid #353342;border-radius:12px;align-items:center;gap:13px;padding:15px 20px;display:flex}.daily-pill span{color:#a5a1b4;font-size:10px;line-height:1.65}.daily-pill strong{color:#f1e7f0;font-size:12px;font-weight:500;display:block}.play-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:stretch;gap:20px;display:grid}.machine-card{background:radial-gradient(at 48% 53%,#493146 0,#282532 48%,#201f2c 78%);border:1px solid #34313f;border-radius:20px;min-height:606px;position:relative;overflow:hidden}.stage-top{z-index:2;justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;top:22px;left:25px;right:25px}.room-tag{letter-spacing:1.5px;color:#f4c4db;font-size:9px;font-weight:700}.room-tag span{color:#aca4b6;letter-spacing:1px;border-left:1px solid #57515e;margin-left:12px;padding-left:12px;font-size:8px}.free-badge{color:#c5e6d5;letter-spacing:1.1px;white-space:nowrap;background:#23312e61;border:1px solid #5c69645c;border-radius:20px;align-items:center;gap:6px;padding:7px 9px;font-size:8px;display:flex}.free-badge i{background:#b7f6cc;border-radius:50%;width:4px;height:4px}.stage{position:absolute;inset:28px 0 45px}.stage-glow{filter:blur(35px);background:#ef8fc744;border-radius:50%;height:40px;position:absolute;bottom:6%;left:23%;right:20%}#canvas-container{width:100%;height:100%;position:relative}canvas{width:100%;height:100%;display:block}.stage-loading{text-align:center;color:#f3dcec;background:#272332db;border-radius:12px;padding:16px;position:absolute;inset:40% 10% auto}.stage-loading[hidden]{display:none}.stage-bottom{align-items:center;gap:15px;display:flex;position:absolute;bottom:18px;left:23px;right:23px}.camera-control{background:#15151e80;border:1px solid #50414e;border-radius:8px;gap:2px;padding:4px;display:flex}.camera-control button{color:#a6a1b3;border-radius:5px;padding:7px 12px;font-size:10px}.camera-control button.selected{color:#34303d;background:#eee6ef;font-weight:700}.stage-hint{color:#918599;flex:1;font-size:9px}.stage-bottom .icon-button{border-color:#514552;width:31px;height:31px}.control-card{background:#1c1e2a;border:1px solid #334;border-radius:20px;padding:27px 26px 20px}.control-title{justify-content:space-between;align-items:center;display:flex}.mini-label{letter-spacing:1.7px;color:#9c99b0;font-size:8px;font-weight:700}.control-title .mini-label{color:var(--pink);letter-spacing:1.5px;font-size:9px}.number-tag{color:#727388;border:1px solid #393949;border-radius:5px;padding:4px 6px;font-size:10px}h2{letter-spacing:-1px;margin:15px 0 9px;font-size:26px}.control-description{color:#9695a9;margin:0;font-size:11px;line-height:1.8}.game-meta{border-bottom:1px solid #323241;gap:0;padding:19px 0 18px;display:flex}.game-meta>span{color:#8e8c9f;flex-direction:column;gap:7px;width:50%;font-size:10px;display:flex}.game-meta>span+span{border-left:1px solid #33323f;padding-left:23px}.game-meta b{color:#eeecf4;font-size:15px;font-weight:600}.game-meta small{color:#9995a8;margin-left:4px;font-size:10px;font-weight:400}.status-box{margin-top:19px;position:relative}.status-box>span{color:#b6b2c5;font-size:10px}.status-box strong{float:right;color:var(--mint);letter-spacing:-1px;margin-top:-5px;font:500 28px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.status-box strong span{color:#a7a8b1;margin-left:4px;font-size:13px}.status-box .urgent{color:#f597ac}.time-track{background:#3d3e49;border-radius:5px;height:3px;margin-top:12px;overflow:hidden}.time-track i{background:var(--mint);width:100%;height:100%;transition:width .1s linear;display:block}.joystick-area{text-align:center;padding:23px 0 16px}.dpad{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:4px;width:138px;height:138px;margin:0 auto;display:grid;position:relative}.dpad button{color:#d5d0e0;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(#333441,#292a37);border:1px solid #41414f;border-radius:10px;font-size:24px;font-weight:300;box-shadow:0 4px #10121b}.dpad button:disabled{opacity:.65}.dpad button:active,.dpad button.pressed{background:#6f5369;transform:translateY(3px);box-shadow:0 1px #10121b}.dpad [data-dir=up]{grid-column:2}.dpad [data-dir=left]{grid-area:2/1}.dpad [data-dir=right]{grid-area:2/3}.dpad [data-dir=down]{grid-area:3/2}.dpad-center{color:#6e647b;background:#252632;border-radius:50%;grid-area:2/2;place-items:center;display:grid}.joystick-note{color:#77778c;margin-top:15px;font-size:9px;display:block}.primary{background:var(--mint);color:#263522;border-radius:10px;padding:14px 18px;font-size:12px;font-weight:800;transition:filter .15s,transform .15s}.primary:hover{filter:brightness(1.06)}.primary:active{transform:translateY(1px)}.play-button{align-items:center;gap:10px;width:100%;display:flex;box-shadow:0 4px #759665}.play-button span{text-align:left;flex:1;font-size:13px}kbd{opacity:.65;border:1px solid #8da77d;border-radius:4px;padding:3px 4px;font:8px inherit}.practice-button{color:#d1c9dc;width:100%;padding:17px 0 12px;font-size:10px}.practice-button span{color:#797389;margin-left:8px;font-size:9px}.play-note{color:#8b869c;text-align:center;border-top:1px solid #323040;padding-top:13px;font-size:9px}.play-note span{color:var(--pink);margin-right:5px}.below-grid{grid-template-columns:1.05fr 1fr;gap:20px;margin-top:20px;display:grid}.mission-card,.collection-preview{background:#1b1d28;border:1px solid #303040;border-radius:14px;align-items:center;gap:20px;min-height:135px;padding:24px;display:flex}.small-icon{border-radius:14px;flex-shrink:0;place-items:center;width:49px;height:49px;display:grid}.purple{color:#cdb5ef;background:#383044}.mission-card>div{flex:1}.mission-card h3,.collection-preview h3{color:#e1deeb;margin:8px 0;font-size:14px;font-weight:600}.mission-card p{color:#9690a6;margin:0;font-size:10px}.mission-progress{background:#34303f;border-radius:2px;max-width:220px;height:3px;margin-top:13px;overflow:hidden}.mission-progress i{background:#c4a5e4;width:0;height:100%;display:block}.subtle-button{color:#cdb7e9;white-space:nowrap;background:#352b43;border:1px solid #534160;border-radius:7px;padding:8px 11px;font-size:10px}.collection-preview{background:linear-gradient(110deg,#222130,#27232f);justify-content:space-between}.text-button{color:#b7a5bf;margin-top:5px;padding:0;font-size:10px}.mini-plush{align-items:center;padding:0 3px;display:flex}.mini-plush span{background:#44334a;border-radius:24px;place-items:center;width:47px;height:58px;margin-left:-10px;font-size:33px;display:grid;transform:rotate(-9deg);box-shadow:0 0 0 5px #262330}.mini-plush span:nth-child(2){background:#583d48;transform:translateY(-6px)rotate(9deg)}.mini-plush span:nth-child(3){background:#38344e;transform:rotate(-5deg)}.mini-plush span:nth-child(4){background:#32453e;transform:translateY(-5px)rotate(10deg)}.how-to{border-bottom:1px solid #282a37;justify-content:space-between;align-items:center;gap:15px;margin-top:13px;padding:27px 17px;display:flex}.how-to>div{align-items:center;gap:12px;display:flex}.how-to b{color:#766c85;font:italic 22px Georgia,serif}.how-to span:not(.mini-label){color:#c4bed1;font-size:11px}.how-to small{color:#767284;margin-top:5px;font-size:9px;display:block}.ad-placeholder{color:#676374;border:1px dashed #34323e;border-radius:8px;justify-content:center;align-items:center;gap:18px;min-height:60px;margin-top:22px;font-size:10px;display:flex}.ad-placeholder span{letter-spacing:1px;color:#575261;font-size:8px}footer{color:#747182;justify-content:space-between;align-items:center;padding:27px 0;font-size:9px;display:flex}footer>div{gap:18px;display:flex}footer button{color:#858092;align-items:center;gap:5px;padding:3px;font-size:9px;display:flex}.footer-separator{color:#44414d;margin:0 13px}dialog{color:#f1eaf4;background:#20222e;border:1px solid #4b3b51;border-radius:20px;width:min(650px,100% - 30px);max-height:88vh;padding:25px;box-shadow:0 30px 100px #0009}dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0b0d17c9}.dialog-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.dialog-header h2{margin:0;font-size:23px}.close-button{color:#a198af;width:32px;height:32px;font-size:28px;line-height:1}.dialog-description{color:#aaa1b7;margin:17px 0 23px;font-size:12px;line-height:1.9}.dialog-actions{gap:10px;margin-top:22px;display:flex}.dialog-actions>*{flex:1}.secondary{color:#e6d9ed;white-space:nowrap;background:#373044;border:1px solid #514459;border-radius:9px;padding:11px 15px;font-size:11px}.full{width:100%}.form-label{color:#cbc0d6;margin:18px 0;font-size:12px;display:block}.form-label input{color:#fff;background:#141722;border:1px solid #4b4055;border-radius:8px;outline:none;width:100%;margin-top:9px;padding:13px;display:block}.form-label input:focus{border-color:var(--pink)}.form-error{color:#ffadc4;font-size:12px;line-height:1.6}.catalog-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.catalog-item{text-align:center;opacity:.6;background:#292735;border:1px solid #40364d;border-radius:12px;flex-direction:column;align-items:center;gap:9px;padding:15px 5px;display:flex}.catalog-item.collected{opacity:1;background:#383043;border-color:#a488b3}.catalog-item>span{font-size:42px}.catalog-item b{font-size:11px;font-weight:500}.catalog-item small{color:#a398b0;font-size:9px}.inventory-title{margin:25px 0 10px;font-size:14px}.inventory-title span{color:var(--pink);margin-left:5px}.inventory-list{max-height:280px;overflow:auto}.inventory-item{border-bottom:1px solid #37303e;align-items:center;gap:14px;padding:13px 0;display:flex}.inventory-emoji{font-size:27px}.inventory-item>div{flex:1}.inventory-item b{font-size:12px}.inventory-item small{color:#93859d;margin-top:5px;font-size:10px;display:block}.sell-button{color:var(--mint);background:#334133;border:1px solid #4e6348;border-radius:7px;padding:9px 12px;font-size:10px}.empty-state{text-align:center;color:#93889f;padding:33px 10px;font-size:12px;line-height:2}.rank-row{border-bottom:1px solid #3b3044;align-items:center;gap:15px;padding:16px 8px;display:flex}.rank-number{text-align:center;color:#a594b4;width:34px;font-size:21px}.rank-row b{flex:1;font-size:13px}.rank-row strong{color:var(--mint);font-size:15px}.rank-row small{color:#8f9b8b;font-size:9px}.my-score{background:#353041;border-radius:10px;justify-content:space-between;margin-top:20px;padding:18px;font-size:12px;display:flex}.reward-option{border-bottom:1px solid #3c3245;align-items:center;gap:15px;padding:20px 0;display:flex}.reward-option>span{font-size:27px}.reward-option>div{flex:1}.reward-option b{font-size:13px}.reward-option p{color:#a694b0;margin:6px 0 0;font-size:10px}.small-print{color:#a195ad;font-size:10px;line-height:1.8}.account-summary{text-align:center;color:#c6b2d4;padding:30px}.account-summary p{font-size:12px}.result-hero{text-align:center;padding:25px 0 12px}.result-hero>span:first-child{background:radial-gradient(circle,#8b5c8177,#0000 68%);place-items:center;height:160px;font-size:80px;display:grid}.result-hero.won>span:first-child{animation:1s ease-in-out celebrate}.result-hero h3{margin:13px 0;font-size:22px}.result-hero p{color:#bca8c7;font-size:12px}.chip{color:#d9bddd;background:#3a3045;border:1px solid #614764;border-radius:20px;padding:7px 11px;font-size:10px;display:inline-block}.admin-intro{color:#bdaec9;margin:20px 0;font-size:12px;line-height:1.8}.settings-grid{grid-template-columns:1fr 1fr;gap:25px 24px;display:grid}.setting-field{display:block}.setting-field>span{justify-content:space-between;gap:8px;font-size:12px;display:flex}.setting-field output{color:var(--mint);font-variant-numeric:tabular-nums;font-size:11px}.setting-field input{width:100%;accent-color:var(--pink);margin:13px 0}.setting-field small{color:#a592b1;font-size:10px;line-height:1.6;display:block}.admin-actions{gap:10px;margin-top:28px;display:flex}.admin-actions .primary{flex:1}.audit{color:#ae98bb;border-top:1px solid #4e3a59;margin-top:20px;padding-top:18px;font-size:11px}.audit pre{white-space:pre-wrap;background:#191521;border-radius:8px;padding:12px;font-size:10px}.help-copy{color:#c1b1cd;font-size:12px;line-height:1.95}#toast{color:#392a41;z-index:100;opacity:0;pointer-events:none;background:#f1e7f1;border:1px solid #fff8;border-radius:12px;width:max-content;max-width:calc(100% - 32px);padding:14px 23px;font-size:12px;line-height:1.7;transition:all .2s;position:fixed;bottom:27px;left:50%;transform:translate(-50%,15px);box-shadow:0 10px 40px #0007}#toast.show{opacity:1;transform:translate(-50%)}@keyframes celebrate{0%{transform:scale(.7)rotate(-15deg)}45%{transform:scale(1.14)rotate(10deg)}to{transform:scale(1)rotate(0)}}@media (width>=1500px){.machine-card{min-height:665px}.control-card{padding:32px}.joystick-area{padding-top:33px;padding-bottom:26px}.play-layout{grid-template-columns:minmax(0,1fr) 350px}}@media (width<=1050px){.header{gap:15px;padding:0 3%}.header nav{gap:18px}.brand{font-size:18px}.beta{display:none}main{padding:32px 3% 0}.play-layout{grid-template-columns:minmax(0,1fr) 285px;gap:14px}.control-card{padding:23px 20px}.stage-hint,.room-tag span{display:none}.below-grid{gap:14px}.mission-card,.collection-preview{gap:12px;padding:20px 16px}.mini-plush span{width:34px;height:48px;font-size:25px}.how-to{padding-left:0;padding-right:0}.how-to>.mini-label{display:none}}@media (width<=760px){.header{flex-wrap:wrap;gap:5px;height:70px;padding:0 5%}.brand{font-size:17px}.brand-mark{border-radius:9px;width:31px;height:31px}.header nav{z-index:3;background:#11131b;border-bottom:1px solid #2c2837;order:3;justify-content:center;width:100%;height:43px;position:relative}.header{align-content:space-between;height:104px;padding-top:12px}.nav{padding:0 16px;font-size:11px}.header-right{gap:9px}.wallet{padding:6px 8px;font-size:11px}.header-right .icon-button{width:31px;height:31px}main{padding:25px 4% 0}.page-heading{margin-bottom:22px}.eyebrow{letter-spacing:1.7px;font-size:7px}h1{letter-spacing:-1.5px;margin-top:11px;font-size:27px}.title-spark{margin-left:9px;font-size:25px}.page-heading p{max-width:250px;font-size:10px;line-height:1.7}.daily-pill{display:none}.play-layout{grid-template-columns:1fr}.machine-card{min-height:530px}.stage{inset:25px -13px 38px}.stage-top{top:18px;left:18px;right:18px}.stage-bottom{bottom:15px;left:17px;right:17px}.room-tag span{display:inline}.stage-hint{font-size:8px;display:block}.control-card{grid-template-columns:1fr 1fr;column-gap:22px;padding:22px;display:grid}.control-title{grid-column:1}.control-card h2{grid-column:1;margin:10px 0 6px;font-size:22px}.control-description{grid-column:1;font-size:10px}.game-meta{grid-column:1;padding:13px 0}.status-box{grid-column:1;margin-top:17px}.joystick-area{grid-area:1/2/6;align-self:center;padding:0}.dpad{width:132px;height:132px}.joystick-note{font-size:8px}.queue-box,.play-button{grid-column:1/3;margin-top:14px}.shake-button,.practice-button,.play-note{grid-column:1/3}.below-grid{grid-template-columns:1fr;margin-top:14px}.mission-card,.collection-preview{min-height:118px;padding:20px}.mini-plush span{width:45px;height:56px;font-size:32px}.how-to{flex-wrap:wrap;gap:18px;padding:22px 0}.how-to>div{gap:8px}.how-to b{font-size:18px}.how-to span:not(.mini-label){font-size:10px}.how-to small{font-size:8px}.ad-placeholder{gap:10px;font-size:9px}.ad-placeholder span{font-size:7px}footer{align-items:flex-start;gap:15px;font-size:8px}.footer-separator{margin:0 4px}footer>div{gap:10px}footer button{font-size:8px}dialog{padding:21px}.settings-grid{grid-template-columns:1fr}.catalog-grid{gap:7px}.catalog-item>span{font-size:34px}.catalog-item b{font-size:10px}.catalog-item small{font-size:8px}.reward-option{gap:9px}.reward-option p{font-size:9px}.reward-option .secondary{padding:9px 11px}.reward-option>span{font-size:24px}}@media (width<=390px){.machine-card{min-height:465px}.stage-hint{display:none}.control-card{column-gap:14px;padding:19px}.dpad{width:119px;height:119px}.header nav{gap:10px}.how-to{justify-content:flex-start}.how-to>div{min-width:42%}h1{font-size:25px}.brand{font-size:15px}.header-right{gap:6px}.catalog-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.google-button{color:#1f1f1f;background:#fff;border:1px solid #d8d2df;justify-content:center;align-items:center;gap:10px;padding:13px 15px;font-size:13px;font-weight:700;display:flex}.google-button:hover{background:#f1eef5}.form-divider{color:var(--muted);align-items:center;gap:12px;margin:16px 0 4px;font-size:11px;display:flex}.form-divider:before,.form-divider:after{content:"";background:var(--line);flex:1;height:1px}.free-badge.live{text-overflow:ellipsis;color:#ffd7e6;background:#3a1f2e;border-color:#7a4a63;max-width:62%;line-height:1.6;display:block;overflow:hidden}.free-badge.live i{background:#ff6b8b;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}.queue-box{background:#2a2436;border:1px solid #4a3b55;border-radius:10px;flex-direction:column;gap:9px;margin-top:16px;padding:12px 14px;display:flex}.queue-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}#queue-mine{color:#c9a7de;white-space:nowrap;font-size:10px;font-weight:600}#queue-mine.now{color:#ffd7e6}.queue-list{flex-direction:column;gap:4px;max-height:104px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.queue-list:empty{display:none}.queue-list li{color:#a99cb8;border-radius:6px;align-items:center;gap:8px;padding:3px 6px;font-size:10px;display:flex}.queue-list li b{color:#6f6280;text-align:center;width:15px;font-size:9px}.queue-list li.me{color:#efe3f6;background:#3a2f4a}.queue-list li.me span{letter-spacing:.5px;color:#ff9dba;margin-left:auto;font-size:8px}#rename{margin-bottom:8px}footer>div a{color:#8d81a0;font-size:9px;text-decoration:none}footer>div a:hover{color:#cdb7e9}.queue-box[hidden]{display:none}.queue-box b{color:#e3d3ec;font-size:11px;font-weight:600}body.spectating .dpad button{opacity:.35}.admin-machine{background:#241f2e;border:1px solid #4e3a59;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding:16px;display:flex}.admin-machine b{font-size:12px;display:block}.admin-machine small{color:#a694b0;max-width:330px;margin-top:6px;font-size:10px;line-height:1.6;display:block}.game-meta>span{flex:1;width:auto}.game-meta>span+span{padding-left:14px}.shake-button{color:#e6d9ed;background:#312a3d;border:1px solid #5a4a63;border-radius:10px;align-items:center;gap:9px;width:100%;margin-top:10px;padding:12px 14px;font-size:11px;display:flex}.shake-button span{text-align:left;flex:1;font-weight:700}.shake-button small{color:#a294b0;font-size:9px}.shake-button:not(:disabled):active{transform:translateY(1px)}.refill-button{color:#f1ddec;background:#372d42;border:1px solid #6c5871;border-radius:9px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;padding:10px 12px;font-size:11px;font-weight:700;display:flex}.refill-button small{color:#bdaec9;font-size:9px;font-weight:400}.refill-button[hidden]{display:none}.refill-button:not(:disabled):hover{background:#44334d;border-color:#af7ca0}@media (width<=760px){.header nav{gap:6px;max-width:100%;overflow-x:auto}.header .nav{flex-shrink:0;padding-left:10px;padding-right:10px}}:root[lang=en]{word-break:normal}.language-picker select{color:#f2f0f6;max-width:110px;min-height:44px;font:inherit;background:#252532;border:1px solid #484452;border-radius:10px;padding:8px;font-size:12px}@media (width<=600px){.header-right{gap:6px}.language-picker select{max-width:86px;padding:5px}}.site-intro{color:#c8bdd7;overflow-wrap:anywhere;max-width:1050px;margin:40px auto;padding:24px;font-size:14px;line-height:1.8}.site-intro h2{color:#eee5f5;font-size:20px}.site-intro ul{padding-left:22px}.site-intro nav{flex-wrap:wrap;gap:12px 20px;margin-top:16px;display:flex}.site-intro a{color:#dcc1fa;text-underline-offset:4px}#canvas-container canvas{cursor:auto;touch-action:auto}#canvas-container canvas.dragging{cursor:grabbing}.stage-hint>span{line-height:1.65;display:block}#view-info{color:#d1bfd9;font-size:10px}.play-toolbar{display:none}body.play-focus{overscroll-behavior:none;overflow:hidden}body.play-focus .header,body.play-focus .page-heading,body.play-focus .below-grid,body.play-focus .how-to,body.play-focus .ad-placeholder,body.play-focus footer{display:none}body.play-focus main{max-width:none;padding:0}body.play-focus .play-layout{left:0;right:0;top:var(--visible-top,0px);z-index:20;width:100%;height:var(--visible-height,100dvh);max-height:var(--visible-height,100dvh);padding:calc(58px + env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:#11131b;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 310px;gap:16px;display:grid;position:fixed;bottom:auto}body.play-focus .play-toolbar{top:env(safe-area-inset-top);left:max(22px, env(safe-area-inset-left));right:max(22px, env(safe-area-inset-right));align-items:center;gap:18px;height:54px;display:flex;position:absolute}.play-toolbar-brand{color:var(--pink);align-items:center;gap:9px;font-size:13px;font-weight:800;display:flex}.fullscreen-help{color:#a89bb4;flex:1;font-size:11px}#exit-play{background:#292332;border:1px solid #52465e;border-radius:8px;margin-left:auto;padding:9px 12px;font-size:11px}body.play-focus .machine-card{height:100%;min-height:0;max-height:none}body.play-focus .stage{inset:34px 0 52px}body.play-focus .control-card{flex-direction:column;justify-content:center;min-height:0;padding:24px;display:flex;overflow-y:auto}body.play-focus .joystick-area{padding:27px 0}body.play-focus .practice-button,body.play-focus .play-note{display:none}body.play-focus .status-box{margin-top:23px}body.play-focus .play-button{flex:none;margin-top:0}body.play-focus .stage-bottom{bottom:16px}body.play-focus #toast{z-index:100}@media (height<=730px) and (aspect-ratio>=1){body.play-focus .play-layout{padding-top:calc(48px + env(safe-area-inset-top));grid-template-columns:minmax(0,1fr) 245px;padding-bottom:10px}body.play-focus .play-toolbar{height:44px}body.play-focus .control-card{padding:18px}body.play-focus .control-description,body.play-focus .game-meta{display:none}body.play-focus .control-card h2{margin:12px 0;font-size:20px}body.play-focus .joystick-area{padding:18px 0}body.play-focus .dpad{width:120px;height:120px}}@media (width<=760px) and (aspect-ratio<=1){body.play-focus .play-layout{padding:calc(49px + env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:10px}body.play-focus .play-toolbar{height:45px;left:15px;right:15px}.play-toolbar-brand{font-size:11px}.fullscreen-help{display:none}#exit-play{padding:8px 10px;font-size:10px}body.play-focus .control-card{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:15px;padding:13px 18px;display:grid;overflow:visible}body.play-focus .play-layout{grid-template-rows:minmax(120px,1fr) auto}body.play-focus .control-card{align-self:end}body.play-focus .control-title,body.play-focus .control-card h2,body.play-focus .control-description,body.play-focus .game-meta{display:none}body.play-focus .status-box{grid-area:1/1;align-self:center;margin:0}body.play-focus .status-box>span{margin-bottom:10px;font-size:10px;line-height:1.5;display:block}body.play-focus .status-box strong{float:none;font-size:35px;display:block}body.play-focus .joystick-area{grid-area:1/2;padding:0}body.play-focus .dpad{gap:3px;width:108px;height:108px}body.play-focus .dpad button{border-radius:8px;font-size:20px}body.play-focus .joystick-note{margin-top:8px;font-size:8px}body.play-focus .play-button{grid-area:2/1/auto/3;margin-top:12px}body.play-focus .stage{inset:29px 0 49px}body.play-focus .stage-top{top:12px;left:14px;right:14px}body.play-focus .stage-bottom{gap:8px;bottom:10px;left:12px;right:12px}body.play-focus .room-tag span{display:none}body.play-focus .stage-hint{flex:1;display:block}body.play-focus .stage-hint>span+span{display:none}body.play-focus #view-info{text-align:right;font-size:9px}body.play-focus .camera-control button{padding:7px 9px}}@media (height<=480px) and (aspect-ratio>=1){body.play-focus .play-layout{grid-template-columns:minmax(0,1fr) 210px;gap:9px;padding-left:10px;padding-right:10px}body.play-focus .control-title,body.play-focus .control-card h2{display:none}body.play-focus .status-box{margin-top:0}body.play-focus .joystick-area{padding:12px 0}body.play-focus .dpad{gap:3px;width:95px;height:95px}body.play-focus .joystick-note{margin-top:8px;font-size:8px}body.play-focus .stage-hint,body.play-focus .room-tag span,body.play-focus .play-button kbd{display:none}}.cheer-float{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.cheer-pop{will-change:transform, opacity;font-size:30px;line-height:1;animation:2.4s cubic-bezier(.25,.6,.3,1) forwards cheer-rise;position:absolute;bottom:8%}@keyframes cheer-rise{0%{opacity:0;transform:translateY(20px)scale(.6)}14%{opacity:1;transform:translate(0)scale(1.15)}30%{transform:translate(calc(var(--drift,0) * 14px), -22%) scale(1)}to{opacity:0;transform:translate(calc(var(--drift,0) * 46px), -210%) scale(.85)}}.cheer-box{border-top:1px solid #323040;margin-top:16px;padding-top:15px;transition:opacity .2s}.cheer-box.quiet{opacity:.5}.cheer-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px;display:flex}.cheer-head b{color:#d6cadf;font-size:11px;font-weight:600}#cheer-count{color:var(--pink);text-align:right;font-size:9px;line-height:1.5}.cheer-buttons{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.cheer-buttons button{background:#272834;border:1px solid #41414f;border-radius:9px;padding:9px 0;font-size:17px;line-height:1;transition:transform .12s,background .12s}.cheer-buttons button:hover:not(:disabled){background:#3b3247;transform:translateY(-2px)}.cheer-buttons button:active:not(:disabled){transform:scale(.9)}.cheer-chip{color:#f7cfe3;background:#45303f;border-color:#7a4f6b;margin-left:7px}body.play-focus .cheer-box{display:none}@media (prefers-reduced-motion:reduce){.cheer-pop{animation-duration:1.2s}}@media (width<=760px){.cheer-box{grid-column:1/3}.cheer-pop{font-size:25px}}.analog-stick,.touch-note{display:none}.analog-stick{--stick-x:0px;--stick-y:0px;color:#d1e7db;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;background:radial-gradient(circle,#323646 0 32%,#242736 33% 60%,#3b4251 61% 63%,#242736 64%);border:1px solid #79858b88;border-radius:50%;width:126px;height:126px;margin:auto;padding:0;position:relative;box-shadow:inset 0 3px 15px #0005,0 0 0 5px #caffdb0a}.analog-stick:focus-visible{outline-offset:5px;outline:2px solid #ceffa8}.analog-stick:disabled{opacity:.4}.stick-knob{color:#253b39;width:46px;height:46px;transform:translate(var(--stick-x), var(--stick-y));pointer-events:none;background:linear-gradient(145deg,#c6f1cf,#718f8b);border-radius:50%;place-items:center;font-size:25px;transition:transform .12s ease-out;display:grid;position:absolute;top:calc(50% - 23px);left:calc(50% - 23px);box-shadow:0 5px 12px #0006,inset 0 1px 1px #fff9}.analog-stick.dragging .stick-knob{transition:none}.stick-arcs{text-align:center;pointer-events:none;font-size:16px;position:absolute;inset:6px}.stick-arcs i,.stick-arcs b,.stick-arcs em{font-style:normal;font-weight:400;position:absolute}.stick-arcs i{top:calc(50% - 10px);left:1px}.stick-arcs b{top:calc(50% - 10px);right:1px}.stick-arcs em{bottom:-1px;left:calc(50% - 8px)}@media (pointer:coarse),(width<=760px){.dpad,.keyboard-note{display:none}.analog-stick,.touch-note{display:block}body.play-focus .analog-stick{width:116px;height:116px}.joystick-note{line-height:1.6}}@media (height<=480px) and (aspect-ratio>=1){body.play-focus .analog-stick{width:96px;height:96px}}.mode-picker{gap:12px;margin:0 0 20px;display:flex}.mode-picker button{text-align:left;color:#b9adc9;cursor:pointer;background:#201f2c;border:1px solid #383444;border-radius:18px;flex:1;padding:18px 22px}.mode-picker button[aria-pressed=true]{color:#f2d5eb;background:#35293e;border-color:#c394d3;box-shadow:0 4px 18px #9d7dc21a}.mode-picker span,.mode-picker small{display:block}.mode-picker span{margin-bottom:6px;font-size:17px;font-weight:750}.mode-picker small{font-size:12px}#challenge-card{color:#57426f;background:linear-gradient(135deg,#f2ebff,#fff1e7);border-radius:18px;margin:14px 0;padding:18px}.challenge-heading{justify-content:space-between;gap:10px;font-size:12px;display:flex}.challenge-score{align-items:baseline;gap:9px;margin:14px 0 8px;display:flex}.challenge-score strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:32px}.challenge-score span{font-size:12px}#challenge-card p{margin:7px 0 0;font-size:12px;line-height:1.65}.challenge-mode #practice-button,.challenge-mode #shake-button,.challenge-mode #refill-button{display:none}@media (width<=600px){.mode-picker{gap:8px}.mode-picker button{padding:14px 12px}.mode-picker span{font-size:15px}.mode-picker small{font-size:10px}}@media (width<=760px){#challenge-card{grid-area:5/1/auto/-1}body.challenge-mode:not(.play-focus) .control-card h2,body.challenge-mode:not(.play-focus) .control-description,body.challenge-mode:not(.play-focus) .game-meta{grid-column:1/-1}body.challenge-mode:not(.play-focus) .status-box{grid-row:6;align-self:center}body.challenge-mode:not(.play-focus) .joystick-area{grid-row:6;padding:12px 0}body.play-focus #challenge-card{grid-row:auto;margin:0;padding:8px 12px}body.play-focus #challenge-card p{display:none}body.play-focus .challenge-score{margin:2px 0}body.play-focus .challenge-score strong{font-size:22px}}.group-lobby{--group-accent:#f0a3c8;--group-text:#ded4df;--group-border:#574254;--group-surface:#302735;border:1px solid var(--group-border);color:#faf5fb;background:linear-gradient(120deg,#292130,#1c202b);border-radius:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px;padding:24px 28px;display:flex;box-shadow:0 8px 30px #00000024}.group-lobby[hidden],.group-lobby [hidden]{display:none!important}.group-lobby.group-mint{--group-accent:#b0e2c9;--group-text:#d1e3dc;--group-border:#3e5b52;--group-surface:#253931;background:linear-gradient(120deg,#20312b,#1c202b)}.group-badge{color:var(--group-accent);letter-spacing:.08em;font-size:11px;font-weight:800}.group-intro h2{color:#faf5fb;margin:8px 0;font-size:22px}.group-intro p,.group-details p{color:var(--group-text);margin:0;font-size:13px;line-height:1.8}.group-lobby small{color:var(--group-text);font-size:12px;line-height:1.7}.group-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.group-actions button{min-height:42px;padding:10px 18px}.group-lobby .primary{color:#20212b;background:var(--group-accent)}.group-lobby .secondary,.group-lobby .subtle-button{color:#faf5fb;background:var(--group-surface);border:1px solid var(--group-border)}.group-lobby button:hover:not(:disabled){filter:brightness(1.1)}.group-lobby button:focus-visible,.group-lobby input:focus-visible{outline:2px solid var(--group-accent);outline-offset:3px}.group-details{border-top:1px solid var(--group-border);width:100%;padding-top:18px}.group-heading{color:var(--group-accent);justify-content:space-between;gap:12px;display:flex}.group-heading strong{font-size:18px}.group-heading span{font-size:12px}.group-details .group-actions{margin:16px 0 12px}.group-details input{box-sizing:border-box;border:1px solid var(--group-border);color:#faf5fb;background:#171b24;border-radius:10px;width:100%;margin-bottom:12px;padding:12px;display:block}.group-board{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.group-board li{background:var(--group-surface);color:var(--group-accent);border-radius:12px;padding:10px 14px;font-size:13px;font-weight:600}@media (width<=600px){.group-lobby{border-radius:18px;margin-bottom:16px;padding:20px}.group-intro h2{font-size:20px}.group-actions{width:100%}.group-actions button{white-space:nowrap;flex:1}}.group-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;display:grid}.group-slot{border:1px solid var(--group-border);background:var(--group-surface);border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.group-slot strong{color:#faf5fb;font-size:14px}.group-slot span{color:var(--group-text);overflow-wrap:anywhere;font-size:13px;line-height:1.6}.group-slot.available{border-color:#75bc99}.group-slot.available span{color:#c0f1d6}.group-slot.closing{border-color:#e9b97f}.group-slot.closing span{color:#ffe0b7}@media (width<=600px){.group-slots{grid-template-columns:1fr}}@media (pointer:coarse),(width<=760px){.camera-control button,.stage-bottom .icon-button{min-width:44px;min-height:44px}.camera-control button{padding:8px 10px;font-size:12px}.stage-bottom{gap:6px;left:8px;right:8px}.stage-hint>span+span{display:none}.stage-hint{min-width:0;font-size:10px}.play-button kbd{display:none}.play-button{touch-action:manipulation;min-height:56px}.status-box .time-track{display:none}.analog-stick{width:144px;height:144px}.stick-knob{width:54px;height:54px;top:calc(50% - 27px);left:calc(50% - 27px)}.joystick-note{font-size:11px}body.play-focus #exit-play{min-height:44px}body.play-focus .mode-picker,body.play-focus .group-lobby{display:none}body.play-focus .stage{inset:30px 0 66px}body.play-focus .stage-bottom{bottom:8px;left:8px;right:8px}}@media (width<=760px) and (aspect-ratio<=1){body.play-focus .play-layout{padding:calc(48px + env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));grid-template-rows:minmax(100px,1fr) auto;gap:8px}body.play-focus .control-card{max-height:calc(var(--visible-height,100dvh) * .55);grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:8px 14px;padding:12px;overflow-y:auto}body.play-focus .joystick-area{grid-area:1/1/4;align-self:center}body.play-focus .analog-stick{width:clamp(116px,34vw,144px);height:clamp(116px,34vw,144px)}body.play-focus .joystick-note{margin-top:8px;font-size:10px}body.play-focus .status-box{grid-area:1/2;align-self:start;min-width:0}body.play-focus .status-box>span{margin:0 0 5px;font-size:11px}body.play-focus .status-box strong{margin:0;font-size:26px}body.play-focus .time-track{margin-top:6px}body.play-focus .play-button{grid-area:2/2;margin:0;padding:12px 10px}body.play-focus .play-button span{text-align:center;font-size:14px}body.play-focus .play-button>svg{display:none}body.play-focus .shake-button{grid-area:3/2;min-height:44px;margin:0;padding:8px}body.play-focus .shake-button small{display:none}body.play-focus #challenge-card{grid-area:4/1/auto/-1;margin:0;padding:8px 12px}body.play-focus .challenge-score{margin:2px 0}body.play-focus .queue-box,body.play-focus .refill-button{grid-area:auto/1/auto/-1;margin:0}body.play-focus .queue-list{max-height:60px}body.play-focus .stage-hint{display:none}body.play-focus .camera-control{margin-right:auto}}@media (height<=480px) and (aspect-ratio>=1){body.play-focus .play-layout{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right));padding-top:calc(44px + env(safe-area-inset-top));padding-bottom:max(8px, env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) 210px}body.play-focus .control-card{justify-content:flex-start;gap:6px;padding:10px}body.play-focus .analog-stick{flex-shrink:0;width:104px;height:104px}body.play-focus .joystick-area{padding:0}body.play-focus .joystick-note,body.play-focus .time-track{display:none}body.play-focus .status-box strong{font-size:22px}body.play-focus .play-button{min-height:48px;padding:10px}body.play-focus .shake-button{min-height:44px;margin:0;padding:8px}body.play-focus .shake-button small{display:none}body.play-focus #challenge-card{margin:0;padding:6px 10px}body.play-focus #challenge-card p{display:none}body.play-focus .challenge-score{margin:0}body.play-focus .challenge-score strong{font-size:20px}}body.play-focus.is-playing .queue-box{display:none}
