.achievement-shelf{max-width:1050px;margin:28px auto;padding:0 20px 70px}.collection-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.collection-heading h1{margin:7px 0;font-size:clamp(26px,5vw,38px)}.collection-heading p,.collection-rule,.collection-footnote{color:#abb9d7;font-size:13px;line-height:1.65}.collection-count{text-align:center;background:#202d4a;border:1px solid #425272;border-radius:20px;flex-shrink:0;padding:14px 20px}.collection-count b{color:#d6f591;font-size:30px}.collection-count span{color:#a1afcd}.collection-count small{color:#c3cfdf;font-size:11px;display:block}.identity-card{background:radial-gradient(at 100% 0,#4d4373,#0000 70%),#202c47;border:1px solid #596582;border-radius:24px;align-items:center;gap:18px;min-height:125px;padding:24px;display:flex}.identity-card>.runner{flex-shrink:0}.identity-preview{flex:1;min-width:0}.identity-preview>strong{overflow-wrap:anywhere;font-size:23px;display:block}.identity-preview>small{color:#b9c8df;margin-top:7px;display:block}.identity-card>.achievement-medal{flex-shrink:0;width:66px}.player-title{letter-spacing:.02em;white-space:normal;overflow-wrap:anywhere;margin-top:3px;color:#e4d49e!important;font-size:11px!important;font-weight:700!important;line-height:1.5!important;display:block!important}.player-title span{font-size:10px}.title-chain{color:#b8edd7!important}.title-race{color:#ffe09b!important}.title-stack{color:#d2bfff!important}.identity-settings{flex-wrap:wrap;align-items:center;gap:12px;padding:18px 4px 24px;display:flex}.identity-settings h2{margin:0 0 6px;font-size:15px}.identity-settings p{color:#bac7dc;margin:0;font-size:12px}.identity-settings>.button{margin-left:auto}.rename-note{color:#a7b6cf;flex-basis:100%;font-size:12px}.rename-form{background:#1d2941;border-radius:16px;flex-basis:100%;gap:10px;padding:16px;display:grid}.rename-form label{font-size:13px}.rename-form select{width:100%;min-width:0}.rename-form small{color:#c2cee0;line-height:1.6}.rename-form>div{flex-wrap:wrap;gap:10px;display:flex}.collection-controls{justify-content:space-between;align-items:center;gap:8px;display:flex}.collection-tabs{background:#15213a;border-radius:15px;flex-wrap:wrap;gap:5px;padding:5px;display:flex}.collection-tabs button{color:#b9c7df;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:11px 14px;font-size:13px}.collection-tabs button[aria-pressed=true]{color:#172435;background:#d7ee9e;font-weight:800}.collection-rule{min-height:42px;margin:15px 0}.achievement-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.achievement-card{text-align:center;background:linear-gradient(155deg,#253450,#1a253d);border:1px solid #3c4c6c;border-radius:21px;flex-direction:column;align-items:center;min-width:0;padding:14px 10px;display:flex;position:relative}.achievement-card.equipped{border-color:#d5ed9f;box-shadow:0 0 0 1px #d5ed9f,0 8px 35px #b7e67a0d}.achievement-status{color:#a8b8d0;align-self:flex-end;margin-bottom:6px;font-size:10px}.equipped .achievement-status{color:#d5ed9f}.achievement-card h3{margin:8px 0;font-size:14px;line-height:1.4}.achievement-card p{color:#b9c9df;min-height:32px;margin:0 0 9px;font-size:11px}.achievement-card>small{color:#b8c9e3;margin:5px 0 14px;font-size:10px}.achievement-card progress{appearance:none;background:#0e172a;border:0;border-radius:5px;width:100%;height:5px;overflow:hidden}.achievement-card progress::-webkit-progress-bar{background:#0e172a}.achievement-card progress::-webkit-progress-value{background:#c6e895;border-radius:5px}.achievement-card progress::-moz-progress-bar{background:#c6e895}.achievement-card .button{width:100%;min-height:38px;margin-top:auto;padding:8px 4px;font-size:11px}.achievement-card.locked .button{opacity:.7}.achievement-medal{filter:drop-shadow(0 4px 8px #0004);--rim:#b0efce;--face:#285e58;--symbol:#dbfff1;width:82px;height:auto}.medal-race{--rim:#f5d28d;--face:#76512b;--symbol:#fff1bd}.medal-stack{--rim:#ceb6ff;--face:#524179;--symbol:#f3e7ff}.medal-ribbon{fill:var(--face);stroke:var(--rim);stroke-width:2px}.medal-rim{fill:var(--rim);stroke:#ffffff70;stroke-width:1.5px}.medal-face{fill:var(--face);stroke:#ffffff40;stroke-width:2px}.medal-symbol{fill:var(--symbol)}.medal-link{fill:none;stroke:var(--symbol);stroke-width:4px}.medal-tier{fill:#19263e;stroke:var(--rim);stroke-width:1.5px}.achievement-medal text{fill:var(--rim);letter-spacing:1px;font-size:11px;font-weight:900}.medal-locked{--rim:#687992;--face:#2d3a50;--symbol:#8999ad;filter:none}.collection-footnote{margin-top:20px;font-size:11px}.profile-shortcut{background:#1d2943;border:1px solid #485777;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:12px;display:flex}.profile-shortcut>span{min-width:0}.profile-shortcut strong{overflow-wrap:anywhere}.profile-shortcut button{white-space:nowrap}.achievement-unlock{color:#e3f4be;background:#223b35;border:1px solid #b1d982;border-radius:18px;max-width:720px;margin:20px auto;padding:16px 20px;animation:.45s ease-out medal-reveal}.achievement-unlock strong{display:block}.achievement-unlock p{margin:8px 0;font-size:13px}.achievement-unlock .button{margin-top:5px}@keyframes medal-reveal{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (max-width:760px){.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-shelf{padding:0 14px 90px}.achievement-card:last-child{grid-column:1/-1}.collection-controls{align-items:flex-start}.collection-tabs button{padding:10px 8px;font-size:11px}.collection-controls>.text-button{font-size:11px}.identity-card{gap:10px;padding:18px 14px}.identity-preview>strong{font-size:20px}.collection-heading p{max-width:210px}.achievement-card .achievement-medal{width:88px}.achievement-card p{min-height:auto}.nav{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){.achievement-unlock{animation:none}}@media (max-width:760px){.header .nav{padding-left:8px;padding-right:8px}.header .nav button{flex:1;min-width:0;padding-left:5px;padding-right:5px}}.lane-name:has(.player-title){white-space:normal;line-height:1.3;overflow:visible}.board-label strong>span{overflow-wrap:anywhere;min-width:0}.board-label .player-title{font-size:9px!important}.player-title{align-items:center;gap:4px;display:flex!important}.player-title>.achievement-medal{filter:none;flex-shrink:0;width:18px;height:21px}.player-title>span{font-size:inherit}.safety-dialog{color:#17243b;background:#fff;border:1px solid #dce2ed;border-radius:22px;width:min(600px,100vw - 24px);max-height:90dvh;padding:22px;overflow:auto;box-shadow:0 20px 80px #12233e33}.safety-dialog::backdrop{background:#17243b80}.safety-dialog header{justify-content:space-between;align-items:center;gap:12px;display:flex}.safety-dialog h2{font-size:22px}.safety-dialog section{border-top:1px solid #e4e8f0;margin-top:20px;padding-top:16px}.safety-dialog p,.safety-dialog small{line-height:1.6}.safety-dialog label{gap:8px;margin:14px 0;display:grid}.safety-dialog input:not([type=checkbox]),.safety-dialog select{width:100%;min-width:0;font:inherit;border:1px solid #b6c4d8;border-radius:10px;padding:12px;font-size:16px}.safety-dialog .safety-check{align-items:flex-start;gap:10px;display:flex}.safety-check input{flex:none;width:20px;height:20px}.safety-notice{background:#eff5ff;border-radius:12px;padding:14px}.safety-actions,.safety-person{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.safety-person strong,.safety-person span{overflow-wrap:anywhere;flex:1;min-width:100px}.safety-message{background:#edf8f1;border:1px solid #b8ddc6;border-radius:10px;padding:12px;position:sticky;bottom:0}.safety-entry{white-space:nowrap;font-size:12px}.safety-inline{color:#53627a;font-size:12px;line-height:1.6}:root{color:#253e32;font-synthesis:none;--green:#234d3c;--muted:#708076;--border:#dce3d9;--cream:#f7f8f2;--accent:#d6ef84;background:#f7f8f2;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:15px;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.43}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #589769}input,select,textarea{color:#253e32;background:#fff;border:1px solid #d4ddd3;border-radius:12px;width:100%;min-width:0;padding:12px 14px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.5px;line-height:1.22}h2{letter-spacing:-.6px;font-size:21px}small{font-size:12px}button{background:0 0;border:0}em{font-style:normal}a{color:inherit}.app{max-width:1240px;margin:auto;padding:0 48px}.header{border-bottom:1px solid var(--border);align-items:center;gap:35px;height:112px;display:flex}.brand{text-align:left;letter-spacing:-1px;white-space:nowrap;align-items:center;gap:12px;padding:0;font-size:26px;font-weight:850;display:flex}.brand-symbol{color:#d8f294;background:var(--green);border-radius:15px;place-items:center;width:45px;height:45px;display:grid;transform:rotate(-8deg)}.brand-symbol svg{transform:rotate(8deg)}.brand small{letter-spacing:0;color:var(--muted);margin-top:-1px;font-size:10px;font-weight:500;display:block}.nav{gap:8px;margin-left:auto;display:flex}.nav button{white-space:nowrap;color:#738077;border-radius:24px;align-items:center;gap:7px;padding:11px 15px;font-size:14px;font-weight:650;display:flex}.nav .selected{color:var(--green);background:#e8ede4}.connection{color:#8a6969;white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:flex}.connection i,.eyebrow i{background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.skip{z-index:99;background:#fff;padding:12px;position:fixed;top:-100px;left:15px}.skip:focus{top:10px}.eyebrow{letter-spacing:1.4px;color:#668069;align-items:center;gap:8px;font-size:10px;font-weight:750;display:flex}.hero{grid-template-columns:1fr 1fr;align-items:center;min-height:370px;padding:41px 16px 38px;display:grid;overflow:hidden}.hero-copy{z-index:1}.hero h1{letter-spacing:-3px;margin:18px 0;font-size:62px;font-weight:850}.hero h1 em{color:#658a44}.hero p{color:#6a786f;font-size:15px;line-height:1.8}.hero-tags{gap:8px;margin-top:23px;display:flex}.hero-tags span{color:#637660;border:1px solid #d8e1d4;border-radius:30px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;display:flex}.hero-art{height:300px;margin-top:15px;position:relative;transform:rotate(-9deg)}.track-oval{border:2px solid #c1d2a8;border-radius:50%;width:470px;height:180px;position:absolute;top:71px;left:0;transform:rotate(-10deg)}.oval-one{background:#e7eed9;box-shadow:0 0 0 20px #e9f0dd,0 0 0 22px #d2dfbf,0 0 0 42px #eff3e5,0 0 0 44px #d4dfc3}.oval-two{background:var(--cream);border-color:#d1ddbd;width:398px;height:134px;inset:94px 0 0 36px}.oval-three{border:1px dashed #d2dfbe;width:348px;height:102px;inset:110px 0 0 61px}.hero-runner{width:120px;position:absolute;transform:rotate(9deg)}.hero-runner.first{z-index:3;top:29px;left:279px}.hero-runner.second{z-index:2;width:100px;top:115px;left:109px}.hero-runner.third{width:88px;top:74px;left:17px}.runner{width:80px;height:90px;overflow:visible}.runner.small{flex-shrink:0;width:42px;height:48px}.hero-runner .runner{width:100%;height:auto}.runner.running .runner-body{animation:.38s ease-in-out infinite alternate run-bounce}.runner.running .leg-one{transform-origin:33px 65px;animation:.38s ease-in-out infinite alternate stride}.runner.running .leg-two{transform-origin:47px 65px;animation:.38s ease-in-out infinite alternate-reverse stride}@keyframes run-bounce{to{transform:translateY(-3px)rotate(-2deg)}}@keyframes stride{0%{transform:rotate(-13deg)}to{transform:rotate(13deg)}}.floating-key{color:#76905e;background:#fffef6;border:1px solid #deded0;border-bottom:5px solid #dadbd0;border-radius:12px;place-items:center;width:49px;height:49px;font-size:23px;font-weight:700;display:grid;position:absolute;box-shadow:3px 5px #e9eedc}.key-one{top:23px;left:129px;transform:rotate(-8deg)}.key-two{width:39px;height:39px;font-size:18px;top:223px;left:347px;transform:rotate(13deg)}.finish-flag{color:#4a6748;font-size:48px;position:absolute;top:71px;left:402px;transform:rotate(9deg)}.art-caption{letter-spacing:3px;color:#829768;font-size:9px;font-weight:700;position:absolute;top:244px;left:149px}.home-grid{grid-template-columns:minmax(0,1fr) 335px;align-items:start;gap:36px;padding:7px 0 45px;display:grid}.section-label{justify-content:space-between;align-items:center;gap:10px;margin:4px 0 20px;display:flex}.section-label h2{font-size:19px}.section-label>span{letter-spacing:1.5px;color:#91a18c;font-size:8px;font-weight:750}.mode-list{flex-direction:column;gap:13px;display:flex}.mode-card{text-align:left;background:#fffef9;border:1px solid #e1e4d9;border-radius:19px;align-items:center;gap:19px;width:100%;min-height:135px;padding:22px 20px;transition:box-shadow .15s,transform .15s;display:flex}.mode-card:hover{transform:translateY(-2px)}.mode-card.active{background:#f2f6e9;border:2px solid #63825a;padding:21px 19px;box-shadow:0 3px #dce4d1}.mode-art{color:#638448;background:#e5eccf;border-radius:18px;flex:0 0 67px;place-items:center;height:74px;display:grid;transform:rotate(-5deg)}.mode-rain .mode-art,.mode-rain.rule-icon{color:#538291;background:#e1edf0}.mode-stack .mode-art,.mode-stack.rule-icon{color:#9f785a;background:#f2e5d6}.mode-info{flex:1}.mode-info small{letter-spacing:1.2px;color:#81916c;margin-bottom:5px;font-size:8px;font-weight:700;display:block}.mode-rain small{color:#7999a3}.mode-stack small{color:#ad8c6b}.mode-info strong{letter-spacing:-.8px;margin-bottom:4px;font-size:21px;font-weight:800;display:block}.mode-info>span{color:#788174;word-break:keep-all;max-width:255px;font-size:12px;line-height:1.7;display:block}.mode-tail{flex-direction:column;justify-content:space-between;align-self:stretch;align-items:flex-end;padding:5px 0;display:flex}.pill{color:#738365;white-space:nowrap;background:#fffefa;border:1px solid #e2e7d7;border-radius:20px;padding:3px 8px;font-size:10px}.radio-dot{color:#fff;border:1px solid #ccd6c4;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.active .radio-dot{background:#5b7f4c;border-color:#5b7f4c}.friendly-note{color:#728065;align-items:center;gap:15px;padding:22px 6px;display:flex}.friendly-note p{flex:1;font-size:11px}.friendly-note strong{color:#596d4d;font-size:12px}.text-button{white-space:nowrap;align-items:center;gap:7px;padding:6px 0;font-size:12px;font-weight:650;text-decoration:none;display:flex}.setup-card{background:#fff;border:1px solid #e2e6de;border-radius:22px;padding:26px;box-shadow:0 8px 30px #294d3b05}.setup-title{margin-bottom:23px}.setup-title h2{margin-top:3px;font-size:23px}.setup-title .eyebrow{letter-spacing:1.8px;font-size:9px}.setup-card label{margin-bottom:8px;font-size:12px;font-weight:650;display:block}.setup-card input,.setup-card select{background:#fcfdf9;font-size:14px}.field-note{color:#8b9589;margin-top:6px;font-size:10px;display:block}.avatar-picker{justify-content:space-between;gap:5px;margin:18px 0 22px;display:flex}.avatar-picker button{background:#fcfdf9;border:1px solid #e6eadf;border-radius:13px;justify-content:center;align-items:center;width:47px;height:53px;display:flex}.avatar-picker .runner{width:39px;height:45px}.avatar-picker .picked{background:#eef4e0;border:2px solid #6c8f58}.settings-row{grid-template-columns:1fr 1.35fr;gap:12px;display:grid}.static-field{color:#718364;background:#f9fbf4;border:1px solid #dde3d6;border-radius:12px;align-items:center;height:49px;padding:0 10px;font-size:12px;display:flex}.setup-card .check-label{color:#7a8771;cursor:pointer;align-items:flex-start;gap:8px;margin:20px 0;font-size:10px;font-weight:400;line-height:1.7;display:flex}.check-label input{flex-shrink:0;margin:2px 0 0}.check-label small{color:#69775f;font-size:9px}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:47px;padding:12px 19px;font-size:14px;font-weight:700;transition:background .15s,transform .15s;display:inline-flex}.button:hover:not(:disabled){filter:brightness(.96)}.primary,.dark{background:var(--green);color:#fff}.soft{color:#5c7352;background:#edf2e5}.full{width:100%;margin-bottom:10px}.setup-card .primary{justify-content:space-between}.setup-card .soft{min-height:39px;padding:8px;font-size:12px}.join{border-top:1px dashed #dde3d5;margin-top:13px;padding-top:18px}.join form{gap:8px;display:flex}.join input{text-transform:uppercase;letter-spacing:1px;width:100%;font-size:12px}.join .button{white-space:nowrap;padding:10px 14px;font-size:12px}.panel{background:#fffefa;border:1px solid #e1e6dc;border-radius:24px;margin:38px 0 50px;padding:38px}.panel h1{margin:12px 0;font-size:34px}.subtle{color:#758471;font-size:14px}.panel-top{justify-content:space-between;display:flex}.lobby{max-width:840px;margin-left:auto;margin-right:auto}.invite{background:#eff4e5;border-radius:17px;justify-content:space-between;align-items:center;margin:28px 0 16px;padding:18px 24px;display:flex}.invite span{color:#7a896f;font-size:11px;display:block}.invite strong{-webkit-user-select:text;user-select:text;letter-spacing:6px;font-size:35px;line-height:1.4;display:block}.invite .button{background:#fffefa;font-size:12px}.invite-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.lobby-meta{color:#7a886d;justify-content:space-between;margin:20px 0;font-size:12px;display:flex}.members{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px;display:grid}.member{overflow-wrap:anywhere;background:#f5f7ef;border:1px solid #e0e7d7;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:175px;padding:14px;display:flex;position:relative}.member strong{margin-top:7px;font-size:14px}.member strong small{color:#64945b;font-size:10px}.member>span{color:#8b9381;margin-top:5px;font-size:11px}.member.is-ready{background:#eff5e2;border-color:#80a169}.host-label{color:#6b835c;background:#e3ebd6;border-radius:4px;padding:2px 5px;font-size:8px;position:absolute;top:10px;left:10px}.empty-member{color:#a3af98;background:0 0;border-style:dashed;gap:12px}.lobby-actions{justify-content:center;gap:15px;margin-top:28px;display:flex}.lobby-actions .button{min-width:145px}.small-note{text-align:center;color:#87917f;margin:18px 0;font-size:11px;line-height:1.9}.hall-heading{align-items:center;gap:25px;margin:4px 0 30px;display:flex}.trophy{color:#9c8a4e;background:#f1e9c7;border-radius:25px;place-items:center;width:90px;height:90px;display:grid;transform:rotate(-5deg)}.hall-heading h1{margin:7px 0}.segmented{background:#edf1e5;border-radius:14px;gap:6px;max-width:610px;margin:24px auto 10px;padding:6px;display:flex}.segmented button{border-radius:10px;flex:1;padding:11px;font-size:13px;font-weight:650}.segmented button[aria-pressed=true]{background:#fffefb;box-shadow:0 1px 4px #25423310}.length-filter{justify-content:center;gap:12px;margin:17px;display:flex}.length-filter button{border:1px solid #dee5d4;border-radius:24px;padding:5px 18px;font-size:12px}.length-filter [aria-pressed=true]{background:var(--green);color:#fff}.empty-state{text-align:center;flex-direction:column;align-items:center;padding:35px 0 50px;display:flex}.empty-state h2{margin:14px 0 10px}.empty-state p{color:#8c9585;margin-bottom:25px;font-size:13px}.empty-state>svg:not(.runner){color:#859d70}.hall-list,.results-list{margin:20px 0;padding:0;list-style:none}.hall-list li{border-bottom:1px solid #e8eadf;align-items:center;gap:18px;padding:14px 20px;display:flex}.rank{color:#7e8f6b;text-align:center;min-width:28px;font-size:21px;font-weight:800}.hall-list li:first-child{background:#f2f5e4;border:0;border-radius:15px}.hall-list li>div{flex:1}.hall-list strong{font-size:15px}.hall-list small{color:#8f9887;font-size:11px;display:block}.hall-list b{font-size:20px}.rules-grid{grid-template-columns:repeat(3,1fr);gap:25px;margin:35px 0;display:grid}.rules-grid article{border:1px solid #e4e7db;border-radius:18px;padding:25px}.rule-icon{color:#759452;background:#e7edcd;border-radius:16px;padding:15px;display:inline-flex}.rules h2{margin:16px 0 10px;font-size:19px}.rules p{color:#7a8572;word-break:keep-all;font-size:13px;line-height:1.9}.rules details{border-top:1px solid #e2e7d7;padding:20px 5px}.rules summary{cursor:pointer;font-size:15px;font-weight:650}.rules details p{max-width:800px;margin-top:15px}.danger{color:#ab6256;margin-top:20px}.arena{max-width:1000px;margin:28px auto 35px}.arena-top{align-items:center;gap:20px;display:flex}.arena h1{margin-top:3px;font-size:28px}.arena-clock{font-variant-numeric:tabular-nums;color:#7b896c;align-items:center;gap:7px;margin-left:auto;font-size:16px;display:flex}.icon-button{border:1px solid #dde3d5;border-radius:50%;place-items:center;padding:10px;display:grid}.game-stats{background:#eaf0df;border-radius:16px;grid-template-columns:repeat(3,1fr);margin:22px 0;padding:17px 5px;display:grid}.game-stats>div{text-align:center;border-right:1px solid #d7e0cb;line-height:1.4}.game-stats>div:last-child{border-right:0}.game-stats span{color:#829370;font-size:11px;display:block}.game-stats strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:25px;font-weight:800;display:block}.game-stats strong>small{color:#7d906d;margin-left:5px;font-size:12px;font-weight:400}.game-stats .lives{color:#cd7962;justify-content:center;gap:7px;font-size:23px;display:flex}.lanes{background:#fffef9;border:1px solid #dce4d3;border-radius:18px;padding:15px 17px}.lanes.many{max-height:275px;overflow:auto}.lane{align-items:center;gap:11px;height:52px;display:flex}.lane-name{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;width:90px;font-size:11px;line-height:1.4;overflow:hidden}.lane-name b{color:#648448;background:#dfebd0;border-radius:5px;margin-left:4px;padding:1px 4px;font-size:8px}.lane-track{border-bottom:1px dashed #c4d0b7;flex:1;height:36px;position:relative}.lane-fill{opacity:.3;border-radius:10px;height:5px;transition:width .1s linear;position:absolute;bottom:2px}.lane-runner{z-index:1;width:40px;height:46px;transition:left .12s linear;position:absolute;bottom:0}.lane-runner .runner{width:40px;height:46px}.finish-line{background:repeating-conic-gradient(#a3b18e 0 25%, transparent 0 50%) 0/8px 8px;opacity:.55;width:10px;height:27px;position:absolute;bottom:0;right:0}.lane-percent{color:#839272;text-align:right;width:35px;font-size:10px}.my-lane .lane-name{color:#3c6542;font-weight:800}.race-copy-wrap{background:#fff;border:1px solid #dfe5d8;border-radius:16px;margin-top:16px;padding:17px 21px}.copy-heading{color:#7d8d6f;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:11px;display:flex}.copy-heading strong{color:#567349;font-size:12px}.race-copy{letter-spacing:.3px;color:#98a18b;word-break:break-all;max-height:125px;font-size:19px;line-height:1.95;position:relative;overflow-y:auto}.race-copy .current{color:#395c35;background:#f1f5e8;border-bottom:3px solid #518246}.typing-dock{background:#fffef9;border:1px solid #dbe3d0;border-radius:16px;margin-top:18px;padding:17px 20px}.input-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.input-heading label{color:#637751;font-size:12px;font-weight:650}.input-heading>span{color:#929e86;font-size:9px}.typing-dock textarea{resize:vertical;background:#fbfcf6;border-color:#bccfa9;height:82px;min-height:64px;font-size:17px;line-height:1.7}.typing-dock input{background:#fbfcf6;border-color:#bccfa9;font-size:18px}.input-help{color:#8b977e;min-height:20px;margin-top:7px;font-size:10px}.word-form{gap:10px;display:flex}.word-form .button{white-space:nowrap;font-size:14px}.word-form .button span{color:#d0e696;font-size:19px}.countdown{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:4;pointer-events:none;background:#f7f9f0e8;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.countdown>span{color:#698155;font-size:14px}.countdown strong{font-size:85px;font-weight:900;line-height:1.5}.rain-layout{grid-template-columns:minmax(0,1fr) 210px;gap:18px;display:grid}.rain-board{background:linear-gradient(#eef5f2,#f7fbf3);border:1px solid #d1e0df;border-radius:18px;height:340px;position:relative;overflow:hidden}.rain-lines{background:repeating-linear-gradient(90deg,#0000 0 calc(25% - 1px),#deebe3 25%);position:absolute;inset:0}.rain-word{border:1px solid #cecfae;border-bottom:3px solid var(--word-color);white-space:nowrap;z-index:1;background:#fffefb;border-radius:9px;padding:5px 12px;font-size:17px;font-weight:700;transition:top .1s linear;position:absolute;box-shadow:0 2px 4px #234d3c05}.ground{background:#e3ead8;border-top:1px dashed #acbc9c;place-items:center;width:100%;height:33px;display:grid;position:absolute;bottom:0}.ground span{color:#91a17f;font-size:10px}.survivors{background:#fffef9;border:1px solid #dfe5d7;border-radius:18px;max-height:340px;padding:17px;overflow:auto}.survivors>strong{margin-bottom:10px;font-size:12px;display:block}.survivors>div{align-items:center;gap:7px;padding:4px 0;font-size:11px;display:flex}.survivors .runner{width:33px;height:39px}.survivors>div>span{overflow-wrap:anywhere;flex:1}.survivors small{color:#89977a;font-size:9px;display:block}.survivors b{color:#cf8870;white-space:nowrap;font-size:11px}.survivors .out{opacity:.45}.board-empty{text-align:center;color:#98aa8f;font-size:14px;position:absolute;top:40%;left:0;right:0}.eliminated-overlay{z-index:5;background:#f6f8eef0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.eliminated-overlay strong{font-size:23px}.eliminated-overlay span{color:#829572;margin-top:10px;font-size:12px}.stack-layout{grid-template-columns:1.35fr 1fr;gap:20px;display:grid}.board-label{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:13px;display:flex}.board-label strong b{background:#e0eccd;border-radius:5px;margin-left:4px;padding:1px 5px;font-size:9px}.board-label>span{color:#83976c;font-size:10px}.stack-board{background:#f6f8ee;border:1px solid #d2ddc2;border-radius:13px;height:340px;position:relative;overflow:hidden}.board-grid{background:repeating-linear-gradient(0deg,#0000 0 calc(12.5% - 1px),#dfe6d3 12.5%),repeating-linear-gradient(90deg,#0000 0 calc(12.5% - 1px),#e4e9da 12.5%);position:absolute;inset:0}.stack-row{gap:1px;width:100%;height:12.5%;padding:1px;transition:bottom .1s linear;display:flex;position:absolute;left:0}.word-block{color:#506c34;letter-spacing:1px;background:#e1eccb;border:1px solid #c6d5ae;border-bottom:3px solid #bccf9c;border-radius:5px;justify-content:center;align-items:center;font-size:16px;font-weight:650;display:flex}.word-block.cleared{color:#a2b58c;background:#f2f5e9;border:1px dashed #d2dfc1}.word-block.undelivered{color:#c2cbb7;background:0 0;border:1px dashed #dbe3cf}.ghost-dots{font-size:11px;font-weight:400}.falling-block{letter-spacing:1px;color:#66592c;z-index:2;background:#e5d77e;border:1px solid #c4b04f;border-bottom:3px solid #bbab59;border-radius:5px;place-items:center;height:12.5%;font-size:16px;font-weight:700;transition:bottom .1s linear;display:grid;position:absolute}.stack-board.mini{height:270px}.mini .word-block,.mini .falling-block{letter-spacing:0;font-size:12px}.stack-tip{text-align:center;color:#92a17e;background:#f0f2e5;border:1px dashed #d4ddc4;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:270px;display:flex}.stack-tip p{font-size:13px;line-height:1.8}.stack-tip small{font-size:10px}.attack-notice{text-align:center;color:#a4815a;margin-top:16px;font-size:11px}.results{text-align:center;max-width:900px;margin-left:auto;margin-right:auto}.results>.eyebrow{justify-content:center}.result-mascot{width:125px;margin:20px auto 5px;position:relative}.result-mascot>span{color:#a78d46;background:#faf0c9;border-radius:50%;padding:10px;position:absolute;bottom:0;right:-9px}.my-result{border-top:1px solid #dce5d0;border-bottom:1px solid #dce5d0;justify-content:center;gap:45px;margin:28px 0;padding:23px 0;display:flex}.my-result strong{font-size:30px;display:block}.my-result span{color:#8b987c;font-size:11px}.results-list li{text-align:left;border-bottom:1px solid #e3e9dc;align-items:center;gap:15px;padding:10px 17px;font-size:12px;display:flex}.results-list .mine{background:#edf3e1;border-radius:12px}.results-list strong{flex:1}.results-list strong small{color:#7c9b59;font-size:9px}.results-list li>span:not(.rank){color:#879777;font-size:10px}.results-list b{white-space:nowrap;font-size:14px}.result-actions{justify-content:center;gap:15px;margin-top:25px;display:flex}.result-actions p{color:#8f9b83;align-self:center;font-size:12px}footer{color:#8d9a80;border-top:1px solid #e1e6d9;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:24px 0 35px;font-size:10px;display:flex}.footer-links{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.footer-links a{color:#365843;text-underline-offset:3px;padding:10px 0;font-size:12px}.footer-dot{padding:0 10px}.toast{bottom:max(30px, env(safe-area-inset-bottom));color:#fff;z-index:50;background:#234d3cf5;border-radius:13px;align-items:center;gap:15px;width:max-content;max-width:calc(100% - 28px);padding:15px 18px;font-size:12px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 5px 30px #172e2520}.toast button{color:#fff;padding:4px;display:flex}.network-banner{text-align:center;color:#9b8146;background:#f5e9c9;border-radius:10px;margin:14px 0;padding:12px;font-size:12px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;background:#17382b66;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fffef9;border-radius:22px;max-width:420px;padding:28px;box-shadow:0 20px 80px #0b291924}.modal p{color:#7e8b73;margin:15px 0 25px;font-size:13px}.modal>div{justify-content:flex-end;gap:10px;display:flex}@media (min-width:1200px){.home-grid{gap:50px}.mode-card{padding-left:25px;padding-right:25px}.mode-card.active{padding-left:24px;padding-right:24px}.hero-art{margin-left:20px}}@media (max-width:980px){.app{padding:0 28px}.header{gap:15px}.connection{display:none}.home-grid{grid-template-columns:minmax(0,1fr) 300px;gap:22px}.setup-card{padding:21px}.section-label>span{display:none}.mode-card{gap:13px;padding:20px 15px}.mode-card.active{padding:19px 14px}.mode-art{border-radius:13px;flex-basis:47px;height:60px}.mode-art svg{width:25px}.mode-info strong{font-size:19px}.mode-info>span{font-size:11px}.mode-tail .pill{font-size:8px}.hero-art{transform-origin:50%;transform:scale(.85)rotate(-9deg)}.hero h1{font-size:55px}.rules-grid{gap:15px}.rules-grid article{padding:17px}.panel{padding:28px}}@media (max-width:700px){:root{font-size:14px}.app{padding:0 19px}.header{gap:12px;height:79px}.brand{gap:9px;font-size:23px}.brand small{font-size:8px}.brand-symbol{border-radius:12px;width:36px;height:38px}.brand-symbol svg{width:23px}.nav{z-index:25;padding:8px 16px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fdfef8f5;border-top:1px solid #dce4d3;justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.nav button{border-radius:12px;flex-direction:column;gap:3px;min-width:85px;padding:5px 12px;font-size:10px}.nav button svg{height:20px}.header .connection{margin-left:auto;font-size:9px;display:flex}.in-game .nav{display:none}.hero{grid-template-columns:1fr 135px;min-height:255px;padding:27px 3px 22px;overflow:visible}.hero .eyebrow{letter-spacing:.1px;white-space:nowrap;font-size:8px}.hero h1{letter-spacing:-2px;margin:14px 0;font-size:42px;line-height:1.17}.hero p{font-size:12px}.hero-tags{flex-wrap:wrap;gap:5px;width:220px;margin-top:15px}.hero-tags span{padding:4px 7px;font-size:9px}.hero-tags span svg{width:13px}.hero-art{transform-origin:0 48%;pointer-events:none;width:250px;height:190px;top:-15px;left:-45px;transform:scale(.48)rotate(-12deg)}.hero-art .track-oval{width:380px}.hero-art .oval-two{width:308px}.hero-art .oval-three{width:260px}.hero-runner.first{left:210px}.hero-runner.second{top:131px;left:96px}.hero-runner.third{top:89px;left:21px}.finish-flag{left:325px}.key-two{left:280px}.hero-art .art-caption{font-size:11px;top:258px;left:84px}.home-grid{flex-direction:column;gap:19px;padding-top:7px;padding-bottom:30px;display:flex}.mode-section,.setup-card{width:100%}.section-label{margin:5px 0 14px}.section-label h2{font-size:17px}.mode-list{gap:10px}.mode-card{border-radius:16px;gap:14px;min-height:103px;padding:15px 13px}.mode-card.active{padding:14px 12px}.mode-art{border-radius:14px;flex-basis:49px;height:58px}.mode-info small{letter-spacing:.8px;margin-bottom:3px;font-size:7px}.mode-info strong{margin-bottom:3px;font-size:18px}.mode-info>span{max-width:210px;font-size:10px;line-height:1.65}.mode-tail{min-width:48px;padding:0}.mode-tail .pill{padding:3px 5px;font-size:8px}.radio-dot{width:17px;height:17px}.friendly-note{gap:12px;padding:19px 2px 0}.friendly-note>svg{width:21px}.friendly-note p{font-size:10px}.friendly-note strong{font-size:11px}.friendly-note .text-button{font-size:10px}.setup-card{border-radius:19px;padding:24px}.setup-title{margin-bottom:18px}.setup-title h2{font-size:22px}.setup-card input,.setup-card select{font-size:16px}.setup-card label{font-size:12px}.avatar-picker{justify-content:flex-start;gap:12px}.avatar-picker button{width:48px;height:55px}.setup-card .check-label{font-size:11px}.setup-card .primary{font-size:14px}.join input{font-size:15px}.panel{border-radius:18px;margin:25px 0 30px;padding:22px 18px}.panel h1{letter-spacing:-1px;font-size:27px}.subtle{font-size:12px}.invite{flex-wrap:wrap;gap:12px;margin-top:21px;padding:17px 15px}.invite strong{letter-spacing:4px;font-size:29px}.invite .button{gap:6px;padding:9px 11px;font-size:10px}.invite .button svg{width:16px}.lobby-meta{gap:9px;font-size:10px}.members{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.member{min-height:150px;padding:13px 9px}.member .runner{width:56px;height:62px}.member strong{font-size:12px}.member>span{font-size:10px}.lobby-actions{gap:10px}.lobby-actions .button{flex:1;min-width:0;font-size:12px}.small-note{font-size:10px}.hall-heading{align-items:flex-start;gap:13px}.hall-heading .trophy{border-radius:17px;flex-shrink:0;width:56px;height:59px}.trophy svg{width:30px}.hall-heading h1{margin:5px 0;font-size:24px;line-height:1.35}.hall-heading .eyebrow{font-size:8px}.hall-heading .subtle{font-size:10px}.segmented{gap:3px;padding:4px}.segmented button{padding:9px 5px;font-size:11px}.hall-list li{gap:9px;padding:12px 4px}.hall-list b{font-size:15px}.hall-list strong{font-size:12px}.hall-list small{font-size:9px}.hall-list .runner{width:35px;height:39px}.rank{min-width:25px;font-size:18px}.empty-state{padding:20px 0 25px}.empty-state h2{font-size:18px}.empty-state p{font-size:11px}.rules-grid{grid-template-columns:1fr;gap:13px;margin:22px 0}.rules-grid article{padding:19px}.rule-icon{float:left;margin-right:15px;padding:10px}.rule-icon svg{width:23px;height:23px}.rules h2{margin:11px 0 18px;font-size:18px}.rules p{clear:both;font-size:12px}.rules details{padding:17px 0}.rules summary{font-size:13px}.rules .button{font-size:11px}.arena{margin:19px auto 20px}.arena-top{gap:12px}.arena h1{letter-spacing:-1px;font-size:24px}.arena .eyebrow{font-size:8px}.arena-clock{gap:5px;font-size:13px}.icon-button{padding:8px}.icon-button svg{width:18px}.game-stats{border-radius:13px;margin:16px 0;padding:13px 2px}.game-stats span{font-size:10px}.game-stats strong{font-size:22px}.game-stats strong>small{font-size:10px}.game-stats>div:first-child strong{font-size:19px}.game-stats .lives{gap:5px;font-size:20px}.lanes{border-radius:13px;padding:10px 9px}.lane{gap:6px;height:43px}.lanes.many{max-height:182px}.lane-name{width:65px;font-size:9px}.lane-name b{margin-left:2px;padding:1px 2px;font-size:7px}.lane-track{height:29px}.lane-runner,.lane-runner .runner{width:34px;height:38px}.lane-percent{width:29px;font-size:9px}.finish-line{height:22px}.race-copy-wrap{border-radius:13px;margin-top:12px;padding:13px 15px}.race-copy{max-height:117px;font-size:17px;line-height:1.85}.copy-heading{font-size:10px}.copy-heading strong{font-size:11px}.typing-dock{bottom:env(safe-area-inset-bottom);z-index:6;border-radius:13px;margin-top:12px;padding:13px 12px;position:sticky;box-shadow:0 -3px 15px #314c2305}.input-heading{flex-wrap:wrap;gap:5px;margin-bottom:8px}.input-heading label{font-size:11px}.input-heading>span{font-size:8px}.typing-dock textarea{resize:none;height:76px;padding:10px 12px;font-size:16px}.typing-dock input{padding:11px 12px;font-size:16px}.input-help{min-height:17px;margin-top:4px;font-size:9px}.word-form{gap:7px}.word-form .button{min-height:46px;padding:10px 13px;font-size:12px}.rain-layout{flex-direction:column;gap:10px;display:flex}.rain-board{border-radius:13px;height:clamp(180px,35dvh,300px)}.rain-word{padding:4px 9px;font-size:15px}.survivors{border-radius:12px;align-items:center;gap:13px;max-height:80px;padding:8px 10px;display:flex;overflow-x:auto}.survivors>strong{display:none}.survivors>div{flex-shrink:0;gap:4px;min-width:100px;font-size:9px}.survivors .runner{width:27px;height:30px}.survivors small{font-size:8px}.survivors b{font-size:9px}.stack-layout{grid-template-columns:1.7fr 1fr;gap:10px}.board-label{flex-wrap:wrap;gap:4px;margin-bottom:7px;font-size:10px}.board-label>span{font-size:9px}.stack-board{border-radius:8px;height:clamp(210px,37dvh,310px)}.word-block,.falling-block{letter-spacing:0;border-bottom-width:2px;font-size:12px}.stack-board.mini{height:clamp(168px,29.6dvh,248px)}.mini .word-block,.mini .falling-block{border-bottom-width:2px;font-size:9px}.stack-tip{gap:9px;height:clamp(168px,29.6dvh,248px);padding:10px}.stack-tip svg{width:27px}.stack-tip p{font-size:11px}.stack-tip small{font-size:8px}.attack-notice{margin-top:10px;font-size:9px}.eliminated-overlay strong{font-size:18px}.eliminated-overlay span{font-size:10px}.countdown strong{font-size:68px}.countdown>span{font-size:12px}.countdown small{font-size:10px}.my-result{gap:22px;margin:22px 0;padding:18px 0}.my-result strong{font-size:25px}.my-result span{font-size:9px}.results h1{font-size:25px}.results-list li{flex-wrap:wrap;gap:7px;padding:10px 3px}.results-list strong{font-size:11px}.results-list .runner{width:33px;height:36px}.results-list li>span:not(.rank){max-width:75px;font-size:8px}.results-list b{font-size:11px}.result-actions{gap:10px}.result-actions .button{padding:11px 14px;font-size:12px}.result-actions p{font-size:11px}footer{gap:12px;padding:23px 0 97px;font-size:8px}.footer-dot{padding:0 5px}.toast{bottom:calc(85px + env(safe-area-inset-bottom));padding:13px 15px;font-size:11px}.in-game .toast{bottom:15px}.network-banner{padding:10px;font-size:10px}.modal{padding:23px}.modal h2{font-size:20px}}@media (max-width:370px){.app{padding:0 13px}.hero h1{font-size:38px}.hero-art{left:-52px;transform:scale(.42)rotate(-12deg)}.mode-card{gap:9px}.mode-info strong{font-size:16px}.mode-info>span{font-size:9px}.setup-card{padding:20px}.header .connection{font-size:8px}.brand small,.hero .eyebrow{font-size:7px}.section-label h2{font-size:16px}.hero-tags span{font-size:8px}.results-list li>span:not(.rank){display:none}}@media (max-height:550px) and (max-width:700px){.in-game .header{display:none}.arena{margin-top:10px}.game-stats{margin:9px 0;padding:6px 0}.game-stats strong{font-size:18px}.game-stats span{font-size:8px}.arena h1{font-size:19px}.lanes{max-height:80px;padding:4px 9px;overflow:auto}.lanes.many{max-height:80px}.lane{height:35px}.race-copy{max-height:65px;font-size:16px}.race-copy-wrap{margin-top:7px;padding:9px 12px}.typing-dock{margin-top:7px;padding:8px 10px}.typing-dock textarea{height:50px;min-height:50px}.input-heading{margin-bottom:5px}.input-help{font-size:8px}.rain-board{height:155px}.survivors{max-height:45px;padding:4px 9px}.stack-board{height:180px}.stack-board.mini,.stack-tip{height:144px}.game-stats>div:first-child strong{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:700px){.hero{grid-template-columns:minmax(0,1fr) 135px;overflow:hidden}.hero-copy{min-width:0}}:root{color:#eff3ff;--green:#6852e7;--muted:#9eabd4;--border:#343e66;--cream:#141d38;--accent:#b2f668;background:#10162c}body{background:radial-gradient(at 12% 0,#31285866,#0000 55%),radial-gradient(at 95%,#123d5855,#0000 55%),#10162c;min-height:100vh}.app{max-width:1320px}.header{border-color:#2e3858;height:98px}.brand{color:#ffe579;text-shadow:0 3px #a4564e;letter-spacing:-1.5px;font-size:29px}.brand small{color:#a1acd1;text-shadow:none;margin-top:0;font-size:9px}.brand-symbol{color:#ffe675;background:linear-gradient(140deg,#9676ff,#5341c5);border:2px solid #b69aff;box-shadow:0 4px #392988,0 0 20px #855aff30}.nav button{color:#9ba9d0}.nav .selected{color:#fff;background:#313256;box-shadow:inset 0 0 0 1px #535281}.connection.online{color:#9fe8af}.connection.online i{box-shadow:0 0 9px #8be7b1}.hero{isolation:isolate;background:#182850;border:1px solid #64649a;border-radius:27px;min-height:440px;margin:26px 0 31px;padding:45px 45px 38px;display:block;position:relative;overflow:hidden;box-shadow:0 9px #080c20,0 18px 50px #05091c40}.hero-art{z-index:-2;width:100%;height:100%;margin:0;position:absolute;inset:0;transform:none}.hero-art>img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#101a43ec 0%,#141d4ba8 25%,#0000 57%);position:absolute;inset:0}.hero-copy{max-width:440px;position:relative}.hero .eyebrow{color:#c2c9ff;letter-spacing:.4px;background:#212657b8;border:1px solid #7674ac;border-radius:20px;padding:5px 12px;font-size:9px;display:inline-flex}.hero h1{color:#fff;text-shadow:0 4px #252b6b,0 6px 20px #081538;letter-spacing:-3px;margin:20px 0;font-size:64px;font-weight:950;line-height:1.14}.hero h1 em{color:#ffe67d;text-shadow:0 4px #a9673d,0 7px 20px #0a133b}.hero p{color:#cad6ff;text-shadow:0 2px 6px #122045;font-size:14px;font-weight:550}.hero-tags{gap:8px;margin-top:24px}.hero-tags span{color:#e8e9ff;background:#1b2456c9;border:1px solid #6e6c9d;padding:5px 11px;font-size:11px}.hero-spark{color:#ffea92;text-shadow:0 0 17px #ffc864;font-size:30px;animation:2s ease-in-out infinite twinkle;position:absolute}.spark-one{top:13%;right:35%}.spark-two{animation-delay:.8s;bottom:15%;right:12%}.spark-three{font-size:19px;animation-delay:1.3s;top:25%;right:9%}@keyframes twinkle{50%{opacity:.5;transform:scale(.65)rotate(20deg)}}.eyebrow{color:#a6afe1}.section-label h2{color:#f5f5ff;text-shadow:0 2px #090f25;font-size:20px}.section-label>span{color:#778db9;letter-spacing:2px}.home-grid{grid-template-columns:minmax(0,1fr) 345px;gap:32px}.mode-card{background:linear-gradient(110deg,#212b4c,#1b2340);border:1px solid #47517b;border-bottom:4px solid #0b112a;gap:20px;min-height:145px;padding:17px 20px;position:relative;overflow:hidden;box-shadow:0 4px 15px #050a2020}.mode-card.active{background:linear-gradient(110deg,#273957,#283d52);border:2px solid #8ff5ad;border-bottom:4px solid #4e9368;padding:16px 19px;box-shadow:0 0 24px #82ebac16,0 4px #0b132c}.mode-info{z-index:1}.mode-info strong{color:#fff;text-shadow:0 2px #0e1530;margin-bottom:5px;font-size:23px}.mode-info small{color:#a2eeb3;font-size:9px}.mode-info>span{color:#a5b3d0;font-size:12px}.mode-rain .mode-info small{color:#7cdef7}.mode-stack .mode-info small{color:#d8a0f6}.pill{color:#c6d2ef;background:#111a34;border:1px solid #526486;font-size:10px}.radio-dot{color:#162a2a;background:#0e1938;border-color:#7585aa}.active .radio-dot{background:#a5f686;border-color:#d5ffbe;box-shadow:0 0 10px #a2ff7370}.friendly-note{color:#dfbc68;gap:13px}.friendly-note strong{color:#ecd381}.friendly-note p{color:#a3acd0}.friendly-note .text-button{color:#bdd4ff}.mode-art{isolation:isolate;background:linear-gradient(145deg,#295e65,#14324b);border:1px solid #4a8d97;border-radius:18px;flex:0 0 115px;height:106px;position:relative;overflow:visible;transform:none;box-shadow:inset 0 0 24px #74ea8c1a}.mode-art .runner{filter:drop-shadow(0 4px 8px #0b214799);z-index:2;width:88px;height:101px;position:absolute;bottom:1px;left:22px}.mode-art .mini-track{border:2px solid #b9f4a3;border-radius:50%;width:90px;height:38px;position:absolute;bottom:9px;left:10px;transform:rotate(-22deg);box-shadow:0 0 0 7px #83d69733,0 0 0 8px #8edebe55}.speed-lines{color:#a7fc90;font-size:40px;font-weight:900;position:absolute;bottom:15px;left:2px;transform:rotate(-12deg)}.mode-rain .mode-art{background:linear-gradient(135deg,#244b75,#17345b);border-color:#488dbe}.mode-stack .mode-art{background:linear-gradient(135deg,#54316f,#262b62);border-color:#8759b0}.cloud-puff{background:#ccecff;border-radius:20px;width:61px;height:25px;position:absolute;top:13px;left:30px;box-shadow:0 4px #76a9e3,inset 0 -5px 8px #89bceb}.cloud-puff:before{content:"";background:#e1f4ff;border-radius:50%;width:33px;height:29px;position:absolute;top:-12px;left:14px}.keycap{color:#f6feff;background:linear-gradient(#9bdafa,#56a7e8);border:1px solid #c9f5ff;border-radius:8px;place-items:center;width:29px;height:31px;font-size:18px;font-weight:850;animation:2.5s ease-in-out infinite key-bob;display:grid;position:absolute;box-shadow:0 4px #324cbd,0 8px 10px #0003}.key-a{top:52px;left:16px;transform:rotate(-15deg)}.key-b{background:linear-gradient(#cdb1ff,#9b6de7);border-color:#e9d4ff;animation-delay:.6s;top:60px;left:62px;transform:rotate(12deg);box-shadow:0 4px #6944b8}.key-c{background:linear-gradient(#a6f6cd,#5dbfa9);border-color:#d0ffdf;animation-delay:1.2s;top:14px;left:48px;transform:rotate(-4deg);box-shadow:0 4px #45978d}.tile{color:#fff;text-shadow:0 1px 1px #6555ad;background:linear-gradient(#bdb2ff,#997aea);border:1px solid #dac2ff;border-radius:7px;place-items:center;width:36px;height:34px;font-size:18px;font-weight:850;display:grid;position:absolute;transform:skewY(-6deg);box-shadow:0 5px #684ab1}.tile-a{background:linear-gradient(#ffd092,#f69d66);border-color:#ffdfaf;bottom:12px;left:16px;box-shadow:0 5px #b36156}.tile-b{bottom:16px;left:56px}.tile-c{background:linear-gradient(#a7ecf8,#75bdda);border-color:#c1f4ff;bottom:55px;left:56px;box-shadow:0 5px #5285bb}.tile-d{background:linear-gradient(#d5f597,#9bc96b);border-color:#edffb9;animation:2.3s ease-in-out infinite key-bob;top:-3px;left:17px;box-shadow:0 5px #688c50}.battle-spark{color:#fff2a8;text-shadow:0 0 10px #ffc679;font-size:23px;position:absolute;top:5px;right:2px}@keyframes key-bob{50%{translate:0 -5px}}.sprite-runner.running{transform-origin:bottom;animation:.38s ease-in-out infinite alternate sprite-hop}.sprite-runner{filter:drop-shadow(0 4px 2px #050c2d40)}@keyframes sprite-hop{0%{transform:translateY(1px)rotate(-3deg)}to{transform:translateY(-4px)rotate(2deg)}}.setup-card{background:linear-gradient(155deg,#263150,#1a2441);border:1px solid #526080;border-bottom:5px solid #090f26;padding:25px;position:relative;box-shadow:0 9px 22px #060b2430}.setup-title h2{color:#fff;text-shadow:0 2px #0d1839;font-size:25px}.setup-title .eyebrow{color:#f0cc7a}.setup-card label{color:#d1dbf3;font-size:12px}input,select,textarea,.setup-card input,.setup-card select{color:#f2f4ff;background:#121c37;border-color:#4d5f85;box-shadow:inset 0 2px 5px #050c2330}input::placeholder,textarea::placeholder{color:#7c8fb6}input:focus,textarea:focus,select:focus{border-color:#92dcff}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#acebf5}.field-note{color:#879abc}.avatar-picker{gap:8px}.avatar-picker button{background:linear-gradient(#334268,#253051);border-color:#526187 #526187 #101835;border-bottom-style:solid;border-bottom-width:3px;border-radius:13px;flex:1;min-width:0;max-width:53px;height:62px;padding:2px;position:relative}.avatar-picker .runner{width:43px;max-width:100%;height:53px}.avatar-picker .picked{background:linear-gradient(#64634b,#4b4738);border:2px solid #f3d980;border-bottom:3px solid #aa8651;box-shadow:0 0 16px #ffd75c2a}.avatar-picker .picked:after{content:"✦";color:#ffe388;font-size:15px;position:absolute;top:-8px;right:-4px}.static-field{color:#bdcee6;background:#17233d;border-color:#45597c}.setup-card .check-label{color:#a2b2d2;font-size:11px}.check-label small{color:#8397c0}.primary,.dark{color:#1e432c;text-shadow:0 1px #d7ff9270;background:linear-gradient(#b9f578,#7cc951);border:1px solid #d3ffa2;border-bottom:4px solid #457a35;box-shadow:0 3px #0a142844}.primary svg{color:#254735}.soft{color:#c8dcff;background:linear-gradient(#394b71,#2a3d61);border:1px solid #546b92;border-bottom:3px solid #182642}.button{letter-spacing:-.3px;font-weight:800}.button:active:not(:disabled){transform:translateY(2px)}.setup-card .primary{min-height:53px;font-size:14px}.setup-card .soft{background:#2b3858;border-color:#445778;font-size:12px}.join{border-color:#4b5a7c}.join .dark{color:#fff;background:linear-gradient(#8b7bec,#6957c9);border-color:#b3a4ff #b3a4ff #453581}.setup-card .join input{font-size:13px}.text-button{color:#bdd3f7}.panel{background:linear-gradient(150deg,#232e4c,#18223e);border-color:#4a577b;box-shadow:0 6px #090f25}.panel h1{color:#f7f6ff;text-shadow:0 3px #101733}.subtle{color:#a1b1d2}.invite{background:linear-gradient(125deg,#303568,#234359);border:1px solid #6973a3;box-shadow:inset 0 0 20px #5f78dd15}.invite span{color:#b4c9e6}.invite strong{color:#ffdd7a;text-shadow:0 3px #89614d}.invite .button{color:#c7e4ff;background:#304368}.lobby-meta{color:#abbad6}.member{background:radial-gradient(#34436b,#202b48);border-color:#4a5e82 #4a5e82 #111b34;border-bottom-style:solid;border-bottom-width:4px}.member .runner{width:74px;height:87px}.member strong{color:#e6edff}.member>span{color:#96a9d3}.member.is-ready{background:radial-gradient(#355c52,#223c49);border-color:#79c194;box-shadow:0 0 18px #81d8a41c}.member.is-ready>span{color:#aff297}.member strong small{color:#aaf696}.host-label{color:#ffdd8e;background:#554537}.empty-member{color:#7d93b7;background:#131d35;border-color:#425474}.empty-member>span{color:#8296b6}.small-note{color:#93a7ca}.trophy{color:#ffdd75;background:linear-gradient(#796142,#584836);border:2px solid #be9857;box-shadow:0 4px #2c2841}.hall-list li:first-child{background:linear-gradient(90deg,#554938,#2d3452);border:1px solid #a2895a}.hall-list li{border-color:#364767}.rank{color:#ffdf7c;text-shadow:0 2px #856b48}.hall-list small{color:#99add1}.hall-list b{color:#b6f189}.segmented{background:#101a32;border:1px solid #425373}.segmented button{color:#91a8d0}.segmented button[aria-pressed=true]{color:#eeeaff;background:#52479a;box-shadow:0 2px #2a235b}.length-filter button{color:#adbfdf;border-color:#4a5b7e}.length-filter [aria-pressed=true]{color:#e2ffd1;background:#607d50;border-color:#a4d67e}.empty-state p{color:#a0b1d4}.empty-state .runner{width:130px;height:145px}.rules-grid article{background:#1a2542;border-color:#3d5276}.rule-icon{color:#c1ff95;background:#314c4b}.rules h2{color:#f4f3ff}.rules p{color:#aabbd7}.rules details{border-color:#394d6d}.rules summary{color:#d5e4ff}.danger{color:#ffc3b3}.rules .mode-rain{color:#9aebff;background:#254564}.rules .mode-stack{color:#dcbbff;background:#493c64}.arena h1{color:#f6f4ff;text-shadow:0 3px #343b79}.arena .eyebrow{color:#98b0df}.arena-clock{color:#ffdb7b;background:#202d4c;border:1px solid #546286;border-radius:9px;padding:6px 10px;font-weight:800;box-shadow:0 3px #0c132d}.icon-button{color:#d6dfff;background:#223052;border-color:#4b5c80}.game-stats{background:linear-gradient(130deg,#2b3557,#192b48);border:1px solid #526284;border-bottom:4px solid #080f25;padding:14px 4px;box-shadow:inset 0 0 25px #536ed712}.game-stats>div{border-color:#43577d}.game-stats span{color:#90a9d2}.game-stats strong{color:#ffe181;text-shadow:0 3px #604966;font-size:30px}.game-stats strong>small{color:#b0c9e9;text-shadow:none}.game-stats .lives{color:#ff879f;filter:drop-shadow(0 2px #822b66)}.lives .lost{color:#455272}.lanes{background:linear-gradient(115deg,#143453,#1c2447);border:1px solid #4e83b1;border-bottom:5px solid #0a132d;padding:18px;position:relative;box-shadow:inset 0 0 40px #0bdeeb08}.lane{height:59px}.lane-name{color:#bbcae6;font-weight:600}.lane-name b{color:#234f43;background:#aff5bb}.lane-track{background:linear-gradient(#0000,#24486c66);border-bottom:2px dashed #647dac;border-radius:5px;height:43px}.lane-fill{opacity:.4;filter:blur(1px);height:12px;bottom:1px;box-shadow:0 0 10px}.lane-runner,.lane-runner .runner{width:48px;height:53px}.lane-runner .runner{filter:drop-shadow(-9px 6px 6px #62e9fa60)}.lane-percent{color:#b0cdee;font-weight:700}.finish-line{background:repeating-conic-gradient(#c5e5f9 0 25%, #193452 0 50%) 0/8px 8px;opacity:.9;width:13px;height:34px;box-shadow:0 0 10px #84e8ee55}.race-copy-wrap{background:#17243f;border-color:#516484 #516484 #080e25;border-bottom-style:solid;border-bottom-width:3px}.copy-heading{color:#83bdda}.copy-heading strong{color:#c5dbf5}.race-copy{color:#9caed1;font-weight:550}.race-copy .correct{color:#b8f38f;background:#639a591f}.race-copy .incorrect{color:#ffc0bc;background:#963f6044}.race-copy .current{color:#fff2ac;background:#b29e4d22;border-bottom-color:#ffe479}.typing-dock{background:linear-gradient(#263354,#1b2946);border:1px solid #65799d;border-bottom:4px solid #0a132d;box-shadow:0 -2px 15px #080f3020}.input-heading label{color:#c7dcf6}.input-heading>span{color:#91aad0}.typing-dock textarea,.typing-dock input{color:#eff7ff;background:#111e39;border-color:#637d9e;box-shadow:inset 0 2px 8px #08102280}.input-help{color:#9fbadd}.word-form .button span{color:#395535}.rain-board{--rain-word-height:42px;--rain-floor-height:32px;background:radial-gradient(at 50% 0,#363575,#0000 70%),linear-gradient(#162a50,#1a2947);border-color:#5d87ba #5d87ba #0b132a;border-bottom-style:solid;border-bottom-width:5px;box-shadow:inset 0 0 35px #68bffa14}.rain-lines{background-image:radial-gradient(circle,#b5daff99 1px,#0000 1.5px),repeating-linear-gradient(90deg,#0000 0 calc(33.3333% - 1px),#77abcf22 33.3333%);background-size:51px 73px,100% 100%}.rain-word{top:calc(var(--rain-progress,0) * (100% - var(--rain-word-height) - var(--rain-floor-height)));height:var(--rain-word-height);color:#384677;border-color:#fff;border-bottom:5px solid var(--word-color);background:linear-gradient(#fbfaff,#e9eaff);border-radius:10px;justify-content:center;align-items:center;max-width:calc(33.3333% - 8px);padding:6px 13px;font-weight:850;line-height:1;display:flex;transform:translate(-50%);box-shadow:0 4px #0b2049,0 0 13px #aadcf022}.ground{background:linear-gradient(#356080,#263e62);border-top:2px solid #8adbea;height:32px;box-shadow:0 -3px 12px #67ecff44}.ground span{color:#a4d5ec}.board-empty{color:#91bce7}.survivors{background:#172540;border-color:#45648b}.survivors>strong{color:#bddfff}.survivors>div{color:#c5d6f4}.survivors small{color:#84a4cc}.survivors b{color:#ffb1bb}.eliminated-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#101b3aea}.eliminated-overlay strong{color:#ffc2bd;text-shadow:0 2px #864974}.eliminated-overlay span{color:#a8bfdf}.board-label strong{color:#d5e6ff}.board-label strong b{color:#234f42;background:#88dda5}.board-label>span{color:#8ab4d5}.stack-board{background:linear-gradient(#141e3c,#243455);border-color:#6982af #6982af #070f27;border-bottom-style:solid;border-bottom-width:5px;box-shadow:0 0 24px #7664c913,inset 0 0 40px #080d2770}.board-grid{background:repeating-linear-gradient(0deg,#0000 0 calc(12.5% - 1px),#6c85b42d 12.5%),repeating-linear-gradient(90deg,#0000 0 calc(12.5% - 1px),#6c85b42d 12.5%)}.word-block{color:#1d3e67;text-shadow:0 1px #d8f6ff66;background:linear-gradient(#b4e8ff,#6abbdf);border-color:#d2f4ff #d2f4ff #397dba;border-bottom-style:solid;border-bottom-width:5px;font-weight:850;box-shadow:inset 0 1px 4px #fff9}.word-block:nth-child(2){color:#472e77;background:linear-gradient(#cdb9ff,#a383e3);border-color:#ecddff #ecddff #7154ad}.word-block:nth-child(3){color:#3e643b;background:linear-gradient(#cff3a8,#a2d27d);border-color:#e6ffc9 #e6ffc9 #588d67}.garbage .word-block{color:#813457;background:linear-gradient(#ffc3a4,#ef8f8d);border-color:#ffe1c8 #ffe1c8 #a45774}.word-block.cleared{color:#8cbaab;box-shadow:none;text-shadow:none;background:#25344d;border:1px dashed #6c8fa170}.word-block.undelivered{color:#486082;box-shadow:none;background:0 0;border:1px dashed #6683a544}.falling-block{color:#795429;background:linear-gradient(#fff1a3,#ffd360);border:1px solid #fff9cf;border-bottom:5px solid #ba884f;font-weight:850;box-shadow:0 0 18px #ffda6350,inset 0 2px 4px #fff9}.stack-tip{color:#a7b4de;background:linear-gradient(#2a3155,#1e2b49);border-color:#5c6b95}.stack-tip strong{color:#f5d487}.attack-notice{color:#f3b3ce}.countdown{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#111b40cf;border:1px solid #6684bb}.countdown strong{color:#ffdb78;text-shadow:0 5px #b17354,0 0 40px #ffbc7944;font-style:italic;animation:1s ease-in-out infinite count-beat}.countdown>span{color:#c5dcff}.countdown small{color:#a0b7e2}@keyframes count-beat{0%{transform:scale(1.15)}70%,to{transform:scale(1)}}.result-mascot{width:155px}.result-mascot .runner{width:145px;height:155px}.result-mascot>span{color:#fff2a5;background:linear-gradient(#d7af54,#947247);border:2px solid #ffe292;box-shadow:0 4px #61456a}.results{position:relative;overflow:hidden}.results:before{content:"✦　·　✧　　✦　·　✧　　✦";letter-spacing:20px;color:#ffd87b;opacity:.7;pointer-events:none;font-size:18px;position:absolute;top:40px;left:0;right:0}.results h1{color:#ffe39d}.my-result{border-color:#4e6488}.my-result strong{color:#b9f28b;text-shadow:0 3px #2a543f}.my-result span{color:#9fb7d9}.results-list li{border-color:#364d70}.results-list .mine{background:#2c4851;border:1px solid #628f87}.results-list li>span:not(.rank){color:#a4c1d9}.results-list strong small{color:#ade790}.results-list b{color:#ebd290}.result-actions p{color:#9bb5db}.toast{color:#fff;background:#384271f5;border:1px solid #8796d0;box-shadow:0 6px #0c163f}.network-banner{color:#f3dc9a;background:#554734;border:1px solid #9a814b}.modal-backdrop{background:#030b25c0}.modal{color:#ecf0ff;background:linear-gradient(#313c65,#1e2b4c);border:1px solid #6a80aa}.modal p{color:#adc3e2}footer{color:#7e93b6;border-color:#2c3e5d}.footer-dot{color:#8674c1}.skip{color:#fff;background:#233963}.game-fx{pointer-events:none;z-index:8;border-radius:15px;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.game-fx>strong{color:#fff1a0;text-shadow:0 3px #aa7957,0 0 18px #ffcf84;font-size:30px;font-style:italic;font-weight:950;animation:.85s both score-pop;position:absolute;top:32%}.game-fx i{background:var(--particle-color,#fff199);width:7px;height:7px;transform:rotate(var(--angle));border-radius:2px;animation:.7s ease-out both particle;position:absolute;top:48%;left:50%;box-shadow:0 0 8px}.under-attack{animation:.55s ease-in-out board-hit}.attack-fx>strong{color:#ffc1de;text-shadow:0 3px #773a85,0 0 20px #ff70b1}@keyframes score-pop{0%{opacity:0;transform:scale(.6)translateY(8px)}20%{opacity:1;transform:scale(1.14)}70%{opacity:1}to{opacity:0;transform:scale(1)translateY(-45px)}}@keyframes particle{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) scale(1)}to{opacity:0;transform:rotate(var(--angle)) translateY(-100px) scale(.4)}}@keyframes board-hit{0%,60%{box-shadow:0 0 0 3px #ff95bd,0 0 45px #f966a288}20%{transform:translate(-4px)}40%{transform:translate(4px)}to{transform:translate(0)}}@media (max-width:980px){.hero{min-height:405px;padding:35px}.hero h1{font-size:57px}.hero:after{background:linear-gradient(90deg,#101a43ec,#141d4b77 40%,#0000 72%)}.home-grid{grid-template-columns:minmax(0,1fr) 300px;gap:23px}.mode-art{flex-basis:88px;height:91px}.mode-art .runner{width:73px;height:88px;left:14px}.mode-info strong{font-size:20px}.mode-info>span{font-size:11px}.mode-card{gap:13px;padding:17px 13px}.mode-card.active{padding:16px 12px}.mode-tail{min-width:48px}.mode-art .tile-a{left:6px}.mode-art .tile-b,.mode-art .tile-c{left:46px}.mode-art .tile-d{left:8px}.mode-art .cloud-puff{left:15px}.mode-art .key-a{left:9px}.mode-art .key-b{left:53px}.mode-art .key-c{left:36px}.setup-card{padding:22px}.sprite-runner{max-width:100%}}@media (max-width:700px){.header{height:75px}.brand{font-size:25px}.brand small{font-size:8px}.brand-symbol{width:37px;height:38px}.header .connection{font-size:8px}.nav{background:#17223cf5;border-color:#435271;box-shadow:0 -4px 25px #080e2a50}.nav .selected{background:linear-gradient(#574b92,#3d3868);border:1px solid #7569aa;box-shadow:0 2px #141b36}.nav button{color:#94a6ce;min-width:83px;padding:4px 10px}.hero{border-radius:21px;min-height:405px;margin:18px 0 26px;padding:22px 21px 20px;display:block;box-shadow:0 6px #080e25,0 15px 30px #05091c40}.hero-art{z-index:-2;width:100%;height:100%;position:absolute;inset:0;transform:none}.hero-art>img{object-fit:cover;object-position:66% center;width:100%;height:100%}.hero:after{background:linear-gradient(#111e49f2 0%,#16274a80 37%,#0000 56%,#13224490 82%,#101f3cec 100%)}.hero-copy{max-width:none;position:static}.hero .eyebrow{letter-spacing:.3px;white-space:normal;padding:4px 8px;font-size:8px;position:relative}.hero h1{letter-spacing:-2px;max-width:230px;margin:14px 0;font-size:42px;line-height:1.12;position:relative}.hero h1 br{display:none}.hero h1 em{margin-top:1px;display:block}.hero p{text-shadow:0 2px 4px #0b1a41;color:#d4e5ff;font-size:11px;line-height:1.6;position:absolute;bottom:51px;left:21px;right:10px}.hero p br{display:none}.hero-tags{gap:5px;width:auto;margin:0;position:absolute;bottom:17px;left:21px;right:15px}.hero-tags span{background:#253967b0;border-color:#5e7aaa;padding:4px 7px;font-size:9px}.spark-one{font-size:20px;top:36%;right:22%}.spark-two{font-size:15px;bottom:30%;right:8%}.spark-three{font-size:15px;top:19%;right:12%}.section-label{margin-bottom:14px}.section-label h2{font-size:18px}.home-grid{gap:20px;display:flex}.mode-card{border-radius:16px;gap:12px;min-height:118px;padding:12px 11px}.mode-card.active{border-bottom-width:4px;padding:11px 10px}.mode-art{border-radius:13px;flex:0 0 78px;height:88px}.mode-art .runner{width:71px;height:84px;bottom:0;left:9px}.mode-art .mini-track{width:65px;height:28px;bottom:10px;left:7px}.speed-lines{font-size:30px;bottom:10px;left:0}.mode-info small{letter-spacing:.6px;margin-bottom:4px;font-size:7px}.mode-info strong{margin-bottom:4px;font-size:19px}.mode-info>span{max-width:185px;font-size:10px;line-height:1.65}.mode-tail .pill{padding:3px 5px;font-size:8px}.mode-tail{min-width:45px}.radio-dot{width:18px;height:18px}.mode-art .cloud-puff{width:51px;height:22px;top:19px;left:17px}.cloud-puff:before{width:28px;height:24px;top:-10px;left:12px}.keycap{width:25px;height:28px;font-size:15px}.mode-art .key-a{top:52px;left:8px}.mode-art .key-b{top:53px;left:44px}.mode-art .key-c{top:22px;left:33px}.tile{width:29px;height:28px;font-size:15px}.mode-art .tile-a{bottom:12px;left:7px}.mode-art .tile-b{bottom:15px;left:40px}.mode-art .tile-c{bottom:48px;left:40px}.mode-art .tile-d{top:3px;left:8px}.battle-spark{font-size:17px;top:4px;right:0}.friendly-note{padding-top:20px}.friendly-note p{font-size:10px}.friendly-note strong{font-size:11px}.setup-card{border-radius:19px;padding:23px}.setup-title h2{font-size:24px}.setup-card .eyebrow{font-size:8px}.avatar-picker{gap:7px}.avatar-picker button{min-width:0;max-width:56px;height:61px;padding:1px}.avatar-picker .runner{width:42px;max-width:100%;height:52px}.setup-card input,.setup-card select{font-size:16px}.setup-card .check-label{font-size:11px}.setup-card .join input{font-size:15px}.member .runner{width:67px;height:76px}.member{min-height:163px}.game-stats{border-radius:13px;margin:15px 0;padding:11px 2px}.game-stats strong{font-size:25px}.game-stats>div:first-child strong{font-size:21px}.game-stats strong>small,.game-stats span{font-size:9px}.game-stats .lives{font-size:22px}.arena h1{font-size:24px}.arena-clock{gap:4px;padding:5px 8px;font-size:12px}.lanes{border-radius:13px;padding:11px 9px}.lane{gap:6px;height:48px}.lane-track{height:35px}.lane-name{width:62px;font-size:9px}.lane-runner,.lane-runner .runner{width:40px;height:45px}.lane-percent{width:29px;font-size:9px}.finish-line{width:11px;height:29px}.race-copy{max-height:119px;font-size:17px;line-height:1.85}.race-copy-wrap{padding:12px 14px}.copy-heading{font-size:9px}.typing-dock{bottom:env(safe-area-inset-bottom);border-radius:13px;padding:12px}.typing-dock input,.typing-dock textarea{font-size:16px}.input-heading label{font-size:11px}.input-heading>span{font-size:8px}.input-help{font-size:9px}.rain-word{border-bottom-width:4px;padding:5px 9px;font-size:15px}.rain-board{border-radius:13px}.survivors{border-radius:10px;padding:7px 9px}.survivors .runner{width:28px;height:33px}.word-block,.falling-block{border-bottom-width:4px;font-size:12px}.mini .word-block,.mini .falling-block{border-bottom-width:3px;font-size:9px}.my-result strong{font-size:26px}.result-mascot .runner{width:133px;height:143px}.results:before{letter-spacing:12px;font-size:13px;top:53px}.results-list strong{font-size:11px}.game-fx>strong{font-size:25px}.hero-copy p{max-width:calc(100% - 30px)}}@media (max-width:370px){.hero{min-height:376px;padding:20px 16px}.hero .eyebrow{font-size:7px}.hero h1{font-size:37px}.hero p{font-size:10px;bottom:53px;left:16px;right:12px}.hero-tags{bottom:18px;left:16px}.hero-tags span{font-size:8px}.mode-card{gap:8px;padding:12px 9px}.mode-card.active{padding:11px 8px}.mode-art{flex-basis:66px;height:80px}.mode-art .runner{width:62px;height:75px;left:5px}.mode-info strong{font-size:16px}.mode-info>span{font-size:9px}.mode-info small{font-size:6px}.mode-tail{min-width:39px}.mode-tail .pill{font-size:7px}.mode-art .tile-a{left:2px}.mode-art .tile-b,.mode-art .tile-c{left:35px}.mode-art .tile-d{left:3px}.tile{width:27px;height:26px}.mode-art .key-b{left:38px}.mode-art .key-c{left:28px}.mode-art .cloud-puff{width:44px;left:13px}.setup-card{padding:20px}.avatar-picker{gap:5px}.avatar-picker .runner{width:36px;height:47px}.avatar-picker button{height:55px}.hero-tags span{padding:4px 6px}.header .connection,.brand small{font-size:7px}.section-label h2{font-size:16px}}@media (max-height:550px) and (max-width:700px){.arena-clock{padding:3px 6px}.game-stats{margin:8px 0;padding:6px 1px}.game-stats strong{font-size:19px}.game-stats span{font-size:8px}.game-stats>div:first-child strong{font-size:17px}.lane{height:37px}.lane-track{height:28px}.lane-runner,.lane-runner .runner{width:33px;height:37px}.race-copy{max-height:67px;font-size:16px}.typing-dock{margin-top:8px;padding:8px 10px}.lanes{padding:4px 8px}.game-stats .lives{font-size:17px}.input-help{font-size:8px}}.stack-layout.has-opponent{grid-template-columns:1fr 1fr}.has-opponent .stack-board.mini{height:340px}.has-opponent .mini .word-block,.has-opponent .mini .falling-block{font-size:15px}.has-opponent .opponent-board .board-label strong:after{content:"상대";color:#ffb8d8;border:1px solid #885580;border-radius:5px;margin-left:5px;padding:1px 5px;font-size:9px}@media (max-width:700px){.has-opponent .stack-board.mini{height:clamp(210px,37dvh,310px)}.has-opponent .mini .word-block,.has-opponent .mini .falling-block{font-size:11px}.has-opponent .board-label{min-height:32px}}@media (max-height:550px) and (max-width:700px){.has-opponent .stack-board.mini{height:180px}}.sprite-runner{pointer-events:none;overflow:hidden}.attack-meter{grid-template-columns:repeat(8,1fr);gap:3px;width:min(104px,80%);margin:4px auto 0;display:grid}.attack-meter i{background:#435070;border-radius:2px;height:5px;transition:background .12s,box-shadow .12s}.attack-meter .charged{background:#ffe17a;box-shadow:0 0 6px #ffce5566}.stack-piece{z-index:1;height:calc(12.5% - 2px);transition:bottom .18s ease-out;position:absolute;transform:translate(1px,-1px)}.stack-board>.stack-piece.tone-0{color:#1d3e67;background:linear-gradient(#b4e8ff,#6abbdf);border-color:#d2f4ff #d2f4ff #397dba}.stack-board>.stack-piece.tone-1{color:#472e77;background:linear-gradient(#cdb9ff,#a383e3);border-color:#ecddff #ecddff #7154ad}.stack-board>.stack-piece.tone-2{color:#3e643b;background:linear-gradient(#cff3a8,#a2d27d);border-color:#e6ffc9 #e6ffc9 #588d67}.stack-board>.stack-piece.garbage-piece{color:#813457;background:linear-gradient(#ffc3a4,#ef8f8d);border-color:#ffe1c8 #ffe1c8 #a45774}.brand-title{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.1;display:flex}.brand-title>span{letter-spacing:-.3px;color:#e8e2ff;text-shadow:none;font-size:12px}.brand-title>strong{letter-spacing:-1.2px;font-size:29px}.horse-color{filter:hue-rotate(var(--horse-hue,0deg))}.horse-frames{transform:translate(-543px)}.running .horse-frames{animation:.64s steps(4,end) infinite horse-gallop}.sprite-runner.running{animation:.32s ease-in-out infinite horse-bounce}@keyframes horse-gallop{0%{transform:translate(0)}to{transform:translate(-2172px)}}@keyframes horse-bounce{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-2px)rotate(1deg)}}.personal-summary{text-align:left;background:#151e36;border:1px solid #454b78;border-radius:12px;grid-template-columns:1fr auto;gap:7px;margin:12px 0 3px;padding:12px 13px;font-size:12px;display:grid}.personal-summary>span{color:#c0cbea}.personal-summary>span small{color:#94a2c9;font-size:10px}.personal-summary>strong{color:#ffe79c;font-size:12px}.personal-summary>small{color:#9eabd4;grid-column:1/-1;font-size:10px}.personal-comparison{text-align:left;background:#273254;border:1px solid #59648c;border-radius:15px;justify-content:center;align-items:center;gap:13px;margin:0 0 20px;padding:18px;display:flex}.personal-comparison>svg{flex-shrink:0}.personal-comparison strong,.personal-comparison span{display:block}.personal-comparison strong{font-size:16px}.personal-comparison span{color:#bbc8e8;margin-top:6px;font-size:12px}.personal-comparison.new-best{color:#ffe79c;background:linear-gradient(120deg,#403550,#27314c);border-color:#9b854e}@media (max-width:700px){.brand-title>strong{font-size:24px}.brand-title>span{font-size:10px}.personal-summary,.personal-summary>strong{font-size:11px}.personal-comparison{padding:14px 11px}}@media (prefers-reduced-motion:reduce){.running .horse-frames,.sprite-runner.running{animation:none}}@media (max-width:700px){.hero-art>img{object-position:85% center}}body.playing-mobile{overscroll-behavior:none;overflow:hidden}.app.mobile-play{top:var(--play-top,0px);left:var(--play-left,0px);width:var(--play-width,100%);height:var(--play-height,100dvh);max-width:none;padding:max(6px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));background:#10182e;flex-direction:column;margin:0;display:flex;position:fixed;overflow:hidden}.mobile-play>.header{flex:0 0 47px;gap:12px;height:47px;margin-bottom:6px}.mobile-play .brand-symbol{border-radius:10px;width:30px;height:32px}.mobile-play .brand-title>strong{font-size:20px}.mobile-play .brand-title>span{font-size:9px}.mobile-play .nav,.mobile-play>footer{display:none}.mobile-play>main{flex:1;min-height:0;display:flex}.mobile-play .arena{grid-template-rows:auto auto minmax(0,1fr) auto;width:100%;height:100%;min-height:0;margin:0 auto;display:grid}.mobile-play .arena-top{gap:9px;min-height:42px}.mobile-play .arena h1{margin:0;font-size:21px}.mobile-play .arena .eyebrow{font-size:8px}.mobile-play .arena .icon-button{width:40px;height:40px;padding:8px}.mobile-play .game-stats{margin:6px 0;padding:6px 0}.mobile-play .game-stats strong,.mobile-play .game-stats>div:first-child strong{margin:0;font-size:21px}.mobile-play .game-stats span{font-size:9px}.mobile-play .game-stats .lives{font-size:21px}.mobile-play .arena-content{min-height:0}.mobile-play .arena-race .arena-content{grid-template-rows:minmax(54px,.65fr) minmax(80px,1fr);gap:7px;display:grid}.mobile-play .lanes,.mobile-play .lanes.many{overscroll-behavior:contain;min-height:0;max-height:none;padding:4px 8px;overflow-y:auto}.mobile-play .lane{height:40px}.mobile-play .lane-track{height:30px}.mobile-play .lane-runner,.mobile-play .lane-runner .runner{width:36px;height:39px}.mobile-play .race-copy-wrap{flex-direction:column;min-height:0;margin:0;padding:7px 10px;display:flex}.mobile-play .copy-heading{flex-shrink:0;margin-bottom:4px}.mobile-play .race-copy{overscroll-behavior:contain;flex:1;min-height:0;max-height:none;font-size:17px;line-height:1.8}.mobile-play .typing-dock{border-bottom-width:2px;min-width:0;margin:7px 0 0;padding:8px 10px;position:static}.mobile-play .input-heading{gap:5px;margin-bottom:5px}.mobile-play .input-heading label{font-size:11px}.mobile-play .input-heading>span{display:none}.mobile-play .typing-dock textarea{resize:none;height:65px;min-height:0;padding:8px 10px;font-size:16px;line-height:1.5;display:block}.mobile-play .typing-dock input{height:44px;padding:8px 10px;font-size:16px}.mobile-play .typing-dock input:focus-visible,.mobile-play .typing-dock textarea:focus-visible{outline-offset:1px;outline-width:2px}.mobile-play .word-form{gap:7px}.mobile-play .word-form .button{min-height:44px;padding:7px 13px}.mobile-play .input-help{min-height:15px;margin-top:4px;font-size:10px;line-height:1.4}.mobile-play .rain-layout{grid-template-rows:minmax(0,1fr) 43px;grid-template-columns:minmax(0,1fr);gap:6px;height:100%;min-height:0}.mobile-play .rain-board{--rain-word-height:24px;--rain-floor-height:4px;height:100%;min-height:0}.mobile-play .rain-word{white-space:nowrap;border-bottom-width:2px;border-radius:6px;padding:0 6px;font-size:16px;box-shadow:0 2px #0b2049}.mobile-play .rain-board .ground{height:4px}.mobile-play .rain-board .ground span{display:none}.compact-play .rain-layout{grid-template-rows:minmax(0,1fr) 32px;gap:4px}.mobile-play .survivors{gap:12px;min-height:0;max-height:none;padding:3px 8px;display:flex;overflow:auto}.mobile-play .survivors>strong{display:none}.mobile-play .survivors>div{flex:none;padding:0}.mobile-play .survivors .runner{width:25px;height:30px}.mobile-play .survivors>div>span{white-space:nowrap}.mobile-play .stack-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;height:100%;min-height:0}.mobile-play .stack-layout>section{grid-template-rows:24px minmax(0,1fr);min-width:0;min-height:0;display:grid}.mobile-play .board-label{white-space:nowrap;gap:4px;min-height:0;margin:0;font-size:11px}.mobile-play .board-label strong{text-overflow:ellipsis;min-width:0;overflow:hidden}.mobile-play .board-label>span{flex-shrink:0;font-size:9px}.mobile-play .stack-board,.mobile-play .has-opponent .stack-board.mini,.mobile-play .stack-tip{height:100%;min-height:0}.mobile-play .stack-board .word-block,.mobile-play .stack-board .falling-block{letter-spacing:0;border-bottom-width:2px;font-size:12px}.mobile-play .stack-tip{gap:5px;overflow:auto}.mobile-play .stack-tip svg{flex-shrink:0;width:25px;height:25px}.mobile-play .stack-tip p{font-size:12px;line-height:1.45}.mobile-play .stack-tip small{font-size:9px}.mobile-play .attack-notice{display:none}.mobile-play .network-banner{flex-shrink:0;margin:0 0 4px;padding:4px 7px;font-size:10px}.mobile-play .modal-backdrop{padding:12px;position:absolute}.mobile-play .modal{max-height:100%;overflow:auto}.mobile-play .toast{width:auto;max-width:none;position:absolute;inset:5px 10px auto;transform:none}.compact-play>.header,.compact-play .arena .eyebrow{display:none}.compact-play .arena h1{font-size:18px}.compact-play .arena-top{min-height:36px}.compact-play .arena .icon-button{width:36px;height:36px;padding:6px}.compact-play .game-stats{border-bottom-width:2px;margin:4px 0;padding:3px 0}.compact-play .game-stats strong,.compact-play .game-stats>div:first-child strong,.compact-play .game-stats .lives{font-size:18px}.compact-play .arena-race .arena-content{grid-template-rows:minmax(54px,.45fr) minmax(64px,1fr);gap:5px}.compact-play .race-copy{min-height:32px;font-size:16px;line-height:1.65}.compact-play .typing-dock{margin-top:5px;padding:5px 8px}.compact-play .typing-dock textarea{height:40px;padding:7px 9px}.compact-play .input-heading{margin-bottom:3px}.compact-play .input-heading label{font-size:10px}.compact-play .input-help{min-height:13px;margin-top:3px;font-size:9px}.compact-play .ground{height:20px}.compact-play .ground span,.compact-play .stack-tip>svg{display:none}body.choosing-play{overflow:hidden}.play-dialog{inset:auto;top:var(--sheet-top,0px);left:var(--sheet-left,0px);width:var(--sheet-width,100vw);height:var(--sheet-height,100dvh);color:#edf3ff;background:0 0;border:0;max-width:none;max-height:none;margin:0;padding:20px;position:fixed}.play-dialog[open]{justify-content:center;align-items:center;display:flex}.play-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#070d25c9}.play-sheet{background:linear-gradient(140deg,#2d375b,#17233e);border:1px solid #67749d;border-radius:23px;flex-direction:column;width:440px;max-width:100%;max-height:100%;display:flex;overflow:hidden;box-shadow:0 14px 60px #03071c90}.play-sheet-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px 14px;display:flex}.play-sheet-heading h2{letter-spacing:-.6px;font-size:23px}.play-sheet-heading .text-button{color:#a7bfdf;padding:0 0 3px;font-size:11px}.play-sheet-heading .icon-button{flex-shrink:0;width:40px;height:40px;padding:8px}.play-choices{gap:13px;padding:2px 20px 23px;display:grid;overflow:auto}.play-choices>button{text-align:left;background:linear-gradient(100deg,#3a5347,#293948);border:1px solid #7e9d68;border-radius:15px;align-items:center;gap:12px;width:100%;padding:15px 12px;display:flex;box-shadow:0 4px #111a2e}.play-choices>button:last-child{background:linear-gradient(100deg,#4b4374,#2a3754);border-color:#8b7bbe}.play-choices .runner,.friends-icon{color:#d6c4ff;flex-shrink:0;place-items:center;width:65px;height:65px;display:grid}.play-choices>button>span:not(.friends-icon){flex:1}.play-choices strong{color:#f2f6e4;font-size:21px;display:block}.play-choices small{color:#bbcbe2;margin-top:4px;font-size:12px;line-height:1.5;display:block}.play-sheet-body{overscroll-behavior:contain;min-height:0;padding:0 22px 14px;overflow:auto}.quick-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:15px;display:grid}.quick-modes button{color:#b5c4de;background:#1c2947;border:1px solid #4a5e83;border-radius:12px;justify-items:center;gap:7px;padding:12px 3px;font-size:12px;display:grid}.quick-modes button[aria-pressed=true]{color:#e0ffc7;background:#435b4a;border-color:#adf080}.quick-nickname,.quick-settings label{color:#b2c4e2;font-size:12px;display:block}.quick-nickname select,.quick-settings select,.quick-join input{color:#edf3ff;background:#111d36;border-color:#5f7295;margin-top:5px;padding:9px 11px;font-size:16px}.quick-avatars{gap:7px;margin:12px 0}.quick-avatars button{flex:1;min-width:0;max-width:none;height:51px;padding:0}.quick-avatars .runner{width:46px;height:46px}.quick-settings{gap:10px;display:flex}.quick-settings label{flex:1}.quick-note{color:#aebfda;margin-top:10px;font-size:12px}.play-sheet .check-label{color:#b5c8e2;margin:13px 0 0;font-size:11px}.play-sheet .check-label small{font-size:10px}.play-sheet-actions{background:#1b2742;border-top:1px solid #457;flex-shrink:0;margin:0;padding:14px 22px 20px;display:block}.play-sheet-actions .button{min-height:46px;font-size:14px}.play-sheet-actions .full{margin:0}.quick-join{margin-top:14px}.quick-join label{color:#adbfdf;font-size:11px;display:block}.quick-join>div{align-items:stretch;gap:8px;margin-top:4px;display:flex}.quick-join input{letter-spacing:2px;min-width:0;margin:0}.quick-join .button{flex-shrink:0;padding:8px 17px}.quick-error{color:#ffc2b7;margin:0 0 9px;font-size:12px;line-height:1.5}.together-choices>button:nth-child(2){background:linear-gradient(100deg,#294f67,#263955);border-color:#72a8c3}.together-choices .friends-icon{width:44px;height:48px}.together-choices strong{font-size:19px}.public-rooms{background:#14213a;border:1px solid #506688;border-radius:13px;margin-bottom:16px;padding:12px}.public-heading{justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.public-heading span{color:#a6e99f;font-size:10px}.public-rooms p{color:#bbcbe1;font-size:12px;line-height:1.7}.public-room{border-top:1px solid #354866;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.public-room>div{min-width:0}.public-room strong{overflow-wrap:anywhere;font-size:13px;display:block}.public-room span{color:#afbfda;margin-top:4px;font-size:11px;display:block}.public-room .button{flex-shrink:0;min-height:44px;padding:8px 12px;font-size:12px}.play-sheet-actions>.quick-note{margin:0 0 10px;line-height:1.5}.match-wait{background:linear-gradient(120deg,#403966,#223650);border:1px solid #907ac7;border-radius:18px;align-items:center;gap:14px;margin:22px 0;padding:18px;display:flex}.match-wait .runner{flex-shrink:0;width:75px;height:85px}.match-wait strong{color:#ffe38b;font-size:18px}.match-wait p{color:#b9c9e4;margin-top:7px;font-size:12px;line-height:1.6}@media (max-width:700px){.play-dialog{padding:10px max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.play-dialog[open]{align-items:flex-end}.play-sheet{border-radius:23px 23px 17px 17px;width:100%}.play-sheet-heading{padding:15px 17px 12px}.play-sheet-heading h2{font-size:21px}.play-sheet-body{padding:0 17px 12px}.play-sheet-actions{padding:12px 17px 14px}.play-choices{padding:0 14px 18px}.quick-modes button{font-size:11px}}.room-name-field{margin:14px 0}.room-name-field label{margin-bottom:6px;font-size:13px;display:block}.room-name-field select{font-size:16px}.room-name-help{opacity:.8;justify-content:space-between;gap:12px;margin-top:6px;font-size:11px;display:flex}.room-name-help>:last-child{font-variant-numeric:tabular-nums;flex-shrink:0}.play-sheet .room-name-field{color:#b2c4e2}.play-sheet .room-name-field select{color:#edf3ff;background:#111d36;border-color:#5f7295;padding:9px 11px}.lobby-room-title{overflow-wrap:anywhere;margin:8px 0 16px;font-size:18px;font-weight:700}.language-select{color:#afc2df;align-items:center;gap:9px;min-width:0;font-size:11px;display:flex}.language-select select{font:inherit;color:#edf5ff;background:#172640;border:1px solid #53688e;border-radius:9px;min-width:0;min-height:36px;padding:8px}.ui-language{flex-direction:column;gap:3px;margin-left:auto}.nav{margin-left:0}.header{gap:22px}.game-language{margin:13px 0}.game-language select{flex:1}.arena-language{color:#9aafcc;margin-left:9px;font-size:10px;font-weight:500}.brand-title strong{letter-spacing:1px;font-size:30px}.brand-title>span{letter-spacing:4px}.brand-symbol{background:linear-gradient(145deg,#314fc7,#712ceb);box-shadow:0 0 30px #477dff30}.runner.character-runner{filter:drop-shadow(0 4px 3px #05091440);aspect-ratio:1.66;height:auto;overflow:visible}.car-body{transform-origin:90px 70px}.character-runner.running .car-body{animation:.16s ease-in-out infinite alternate car-suspension}.car-wheel{transform-box:fill-box;transform-origin:50%}.character-runner.running .car-wheel{animation:.32s linear infinite wheel-spin}.nitro-flame{opacity:0;transform-origin:35px 63px}.character-runner.boosting .nitro-flame{opacity:1;animation:.13s linear infinite alternate flame-flicker}.character-runner.boosting{filter:drop-shadow(-5px 0 5px #48d6ff80)}.hero-art.car-hero{isolation:isolate;background:radial-gradient(at 50% 0,#56488a66,#0000 65%),linear-gradient(150deg,#152042,#080f24);border:1px solid #6b80b330;border-radius:28px;width:100%;height:290px;top:auto;left:auto;overflow:hidden;transform:none;box-shadow:inset 0 0 70px #10294d}.neon-orbit{border:1px solid #8975ff80;border-radius:50%;width:280px;height:280px;position:absolute;top:-170px;left:25%;box-shadow:0 0 40px #605cff40,inset 0 0 40px #605cff30}.city-lights{opacity:.45;align-items:end;gap:7px;display:flex;position:absolute;inset:30px 0 55%}.city-lights i{background:repeating-linear-gradient(0deg,#0000 0 8px,#68b0d233 8px 10px),linear-gradient(90deg,#3e437d,#191e39);border-top:1px solid #b994dc;flex:1}.hero-road{background:#202947;border-block:5px solid #52def7;position:absolute;inset:42% -30% -15%;transform:perspective(360px)rotateX(30deg)rotate(-14deg);box-shadow:0 -4px 25px #57d5ff70,0 4px 25px #8c6cff70}.hero-road span{background:repeating-linear-gradient(90deg,#c2dcfa70 0 24px,#0000 24px 45px);height:2px;animation:.6s linear infinite road-scroll;position:absolute;top:30%;left:0;right:0}.hero-road span:nth-child(2){top:65%}.hero-car{filter:drop-shadow(0 12px 8px #01051c);width:160px;animation:3s ease-in-out infinite alternate hero-drift;position:absolute;transform:rotate(-12deg)}.hero-car-0{width:135px;animation-delay:-1s;top:33%;left:13%}.hero-car-1{width:145px;animation-delay:-2s;top:45%;left:47%}.hero-car .runner{width:100%;height:auto}.hero-badge{letter-spacing:2px;color:#85e8ff;font-size:9px;font-weight:800;position:absolute;top:16px;right:16px}.hero-tags span:last-child{color:#84e9ff}.mode-art .character-runner{width:78px;height:50px}.avatar-picker .character-runner{width:60px;height:42px}.avatar-picker button{overflow:visible}.play-choices .character-runner{height:65px}.member .character-runner{width:100px;height:62px}.result-mascot .character-runner{width:125px;height:80px}.race-stage{isolation:isolate;background:#101b34;border-radius:18px;min-height:0;position:relative}.race-stage .lanes{z-index:1;background:linear-gradient(125deg,#17223cea,#0c152ddd);border:1px solid #657aaa;padding-top:31px;position:relative;overflow:hidden auto}.race-stage .lane{position:relative}.lane-track{background:repeating-linear-gradient(90deg,#d3e2ff24 0 13px,#0000 13px 25px) 50%/100% 1px no-repeat,#0a1328;border-top:1px solid #748ac940;border-bottom:1px solid #748ac940;overflow:visible;box-shadow:inset 0 1px 3px #0009}.lane-fill{opacity:.22;box-shadow:0 0 9px #5af0ff66;background:linear-gradient(90deg, transparent, var(--green))!important}.lane-runner{z-index:2;filter:drop-shadow(0 0 3px #7fecff80);transition:left .28s linear}.lane-runner,.lane-runner .character-runner{width:65px;height:42px;top:auto;bottom:-2px}.lane-finished .lane-runner{filter:drop-shadow(0 0 7px #ffdd4d)}.finish-line{background:conic-gradient(#f5f4ff 25%, #273153 0 50%, #f5f4ff 0 75%, #273153 0) 0 0/8px 8px;border:none;box-shadow:0 0 12px #cbd4ff60}.my-lane .lane-name{color:#a5f5ff}.race-boosting .my-lane .lane-track{background-position:50%;animation:.35s linear infinite boost-road;box-shadow:inset 0 0 12px #29c7ff40,0 0 12px #29c7ff40}.race-boosting .my-lane .lane-runner:before{content:"";filter:blur(2px);background:linear-gradient(90deg,#0000,#6589ffb0,#bcfcff);border-radius:100%;width:70px;height:14px;animation:.2s infinite alternate trail-throb;position:absolute;top:38%;right:70%}.combo-hud{z-index:3;color:#8ea9d0;letter-spacing:1px;align-items:center;gap:6px;font-size:9px;font-weight:900;display:flex;position:absolute;top:8px;left:14px}.combo-hud b{color:#f6ffff;font-size:13px}.combo-hud>div{background:#344361;border-radius:5px;width:65px;height:4px;overflow:hidden}.combo-hud i{background:#7399df;height:100%;transition:width .2s;display:block}.combo-hud.charged{color:#72edff;text-shadow:0 0 8px #3bd3ff}.combo-hud.charged i{background:#76faff;box-shadow:0 0 8px #55c8ff}.race-atmosphere{z-index:2;pointer-events:none;border-radius:18px;position:absolute;inset:0;overflow:hidden}.race-atmosphere i{left:110%;top:calc(var(--i) * 8%);opacity:0;background:linear-gradient(90deg,#0000,#83e8ff);width:90px;height:1px;position:absolute}.race-atmosphere.nitro-on i{animation:wind-rush .7s calc(var(--i) * -.17s) linear infinite}.race-event{z-index:6;pointer-events:none;background:radial-gradient(#20365d90,#0000 65%);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;animation:1.6s both event-exit;display:flex;position:absolute;inset:0;overflow:hidden}.race-event>span{letter-spacing:-1px;color:#eaffff;text-shadow:3px 3px #3871c5,0 0 22px #6feaff;font-size:clamp(30px,6vw,66px);font-style:italic;font-weight:1000;animation:.45s cubic-bezier(.18,.9,.23,1.25) both event-slam;transform:rotate(-6deg)}.race-event>small{color:#c8eafa;letter-spacing:2px;margin-top:8px;font-size:12px;font-weight:800}.event-finish{background:radial-gradient(#44315cbb,#0000 70%);animation-duration:3.6s}.event-finish>span{color:#ffe99c;text-shadow:3px 3px #a66638,0 0 28px #ffad42}.shock-ring{border:2px solid #92f8ff;border-radius:50%;width:60px;height:60px;animation:.8s ease-out both shock-expand;position:absolute;top:50%;left:50%}.race-confetti{background:var(--color);width:5px;height:11px;animation:confetti-blast 1.4s calc(var(--i) * 16ms) ease-out both;--angle:calc(var(--i) * 37deg);position:absolute;top:50%;left:50%}.start-lights{background:#070d1e;border:2px solid #53648b;border-radius:40px;gap:12px;padding:12px 20px;display:flex;box-shadow:0 8px 20px #0006}.start-lights i{background:#402239;border:2px solid #652b47;border-radius:50%;width:22px;height:22px}.start-lights .lit{background:#ff4d66;box-shadow:0 0 15px #ff466dbb,inset 0 2px 4px #ffc4c4}.countdown>strong{animation:1s infinite count-pulse}.race-results{position:relative;overflow:hidden}.podium-fireworks{pointer-events:none;position:absolute;inset:0}.podium-fireworks i{left:calc(var(--i) * 5%);background:var(--green);width:6px;height:14px;filter:hue-rotate(calc(var(--i) * 29deg));animation:podium-fall 3s calc(var(--i) * -.14s) ease-out 2 both;position:absolute;top:-25px}.rain-board .ground{background:linear-gradient(#0000,#18324a);justify-content:center;align-items:center;height:27px;display:flex}.rain-board .ground .character-runner{width:49px;height:29px}.vehicle-shield{gap:3px;display:flex}.vehicle-shield i{background:#5ee8e0;border-radius:3px 3px 6px 6px;width:10px;height:12px;display:block;box-shadow:0 0 6px #5ee8e088}.vehicle-shield i.lost{box-shadow:none;background:#3d485d}.shield-hit{animation:.55s both shield-crack}.rain-shot{pointer-events:none;z-index:6;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.rain-shot line{stroke:#b0feff;stroke-width:.8px;filter:drop-shadow(0 0 2px #20c7ff);animation:.36s both shot-beam}.rain-shot circle{fill:none;stroke:#fff4b4;stroke-width:1px;transform-box:fill-box;transform-origin:50%;animation:.55s both shot-impact}.board-label strong{align-items:center;gap:3px;min-width:0;display:flex}.board-label .character-runner{flex-shrink:0;width:32px;height:22px}.energy-missile{filter:drop-shadow(0 0 12px #986bff);background:linear-gradient(90deg,#0000,#925cff,#c5a8ff,#fff6da);border-radius:50%;width:75px;height:18px;animation:.65s ease-in both energy-launch;position:absolute;top:40%;left:0}@keyframes car-suspension{to{transform:translateY(-1.2px)rotate(-.6deg)}}@keyframes wheel-spin{to{transform:rotate(360deg)}}@keyframes flame-flicker{to{transform:scaleX(1.3)scaleY(.72)}}@keyframes hero-drift{to{translate:12px -3px}}@keyframes road-scroll{to{background-position:-45px 0}}@keyframes boost-road{to{background-position:-25px}}@keyframes trail-throb{to{opacity:.65;width:90px}}@keyframes wind-rush{15%{opacity:.65}to{opacity:0;left:-30%}}@keyframes event-slam{0%{opacity:0;transform:scale(2.5)rotate(-14deg)}70%{transform:scale(.93)rotate(-6deg)}to{opacity:1;transform:scale(1)rotate(-6deg)}}@keyframes event-exit{0%,85%{opacity:1}to{opacity:0}}@keyframes shock-expand{0%{opacity:1;transform:translate(-50%,-50%)scale(.1)}to{opacity:0;transform:translate(-50%,-50%)scale(8)}}@keyframes confetti-blast{0%{transform:rotate(var(--angle)) translateY(0);opacity:1}to{transform:rotate(var(--angle)) translateY(160px) rotate(320deg);opacity:0}}@keyframes count-pulse{0%{transform:scale(1.25)}50%,to{transform:scale(1)}}@keyframes podium-fall{to{opacity:0;top:100%;transform:translate(35px)rotate(550deg)}}@keyframes shield-crack{30%{filter:brightness(2);transform:scale(.8)}to{filter:none;transform:none}}@keyframes shot-beam{0%,30%{opacity:1}to{opacity:0}}@keyframes shot-impact{0%{opacity:1;transform:scale(.1)}to{opacity:0;transform:scale(2)}}@keyframes energy-launch{0%{opacity:0;left:0;transform:scale(.2)}30%{opacity:1}to{opacity:0;left:100%;transform:scale(1.2)}}@media (max-width:700px){.header{gap:8px}.brand-title strong{font-size:23px}.brand-title>span{letter-spacing:3px;font-size:8px}.brand-symbol{width:36px;height:40px}.header .connection{max-width:68px;font-size:8px}.ui-language{margin-left:auto;font-size:8px}.ui-language select{max-width:94px;min-height:32px;padding:5px;font-size:10px}.hero-art.car-hero{border-radius:16px;width:100%;height:185px;margin:0;top:auto;left:auto;transform:none}.hero{grid-template-columns:1.15fr 1fr;gap:9px}.hero-car-0{width:82px;top:30%;left:0}.hero-car-1{width:90px;top:44%;left:25%}.hero-car-2{width:115px;top:61%;left:0}.hero-badge{letter-spacing:.5px;font-size:6px;top:12px;right:7px}.city-lights{gap:3px}.hero-road{inset:39% -40% -5%}.race-stage .lanes{padding-top:27px}.lane-runner,.lane-runner .character-runner{width:44px;height:29px;bottom:0}.race-event>small{font-size:9px}.combo-hud{font-size:8px;top:6px}.combo-hud b{font-size:11px}.combo-hud>div{width:48px}.board-label .character-runner{width:23px;height:17px}.board-label strong{font-size:9px}.arena-language{margin-left:5px;font-size:8px;display:inline-block}.game-language{font-size:11px}.language-select.game-language select{min-height:40px}.race-stage{flex-direction:column;flex:0 auto;min-height:0;display:flex}.mobile-play .race-stage .lanes{flex:0 auto;min-height:55px;max-height:150px}.compact-play .race-stage .lanes{min-height:55px;max-height:105px}.rain-board{--rain-floor-height:28px}.ground .character-runner{height:27px!important}.input-heading>span{text-align:right;max-width:35%}.nav button{min-width:0}.play-choices small{line-height:1.5}.quick-modes button{min-width:0}.quick-modes span{overflow-wrap:anywhere}.board-label strong{white-space:nowrap;overflow:hidden}.arena-top h1{line-height:1.2}.game-stats>div>span{font-size:9px}.race-boosting .my-lane .lane-runner:before{width:35px;height:7px}.race-results .results-list li>span:not(.rank){max-width:65px}.rain-word{font-family:system-ui,Malgun Gothic,Yu Gothic,Microsoft YaHei,sans-serif}}@media (prefers-reduced-motion:reduce){.character-runner *,.hero-car,.hero-road span,.race-atmosphere i,.race-event,.race-event *,.countdown>strong,.podium-fireworks i,.rain-shot *,.energy-missile,.shield-hit,.race-boosting .my-lane .lane-track,.race-boosting .my-lane .lane-runner:before{animation:none!important}.race-atmosphere,.shock-ring,.race-confetti,.podium-fireworks,.energy-missile{display:none}.lane-runner{transition:none}.nitro-flame{opacity:0!important}.rain-shot{display:none}}:lang(en) .opponent-board .board-label strong:after{content:"RIVAL"}:lang(ja) .opponent-board .board-label strong:after{content:"相手"}:lang(zh) .opponent-board .board-label strong:after{content:"对手"}@media (max-width:700px){.mobile-play .rain-board{--rain-floor-height:28px}.mobile-play .race-stage{height:100%;overflow:hidden}.mobile-play .race-stage .lanes{flex:1;height:100%;max-height:none}.mobile-play .lane-runner,.mobile-play .lane-runner .character-runner{width:44px;height:29px;top:auto;bottom:0}.mobile-play .rain-board .ground{height:27px;display:flex}.mobile-play .arena-language{vertical-align:middle;max-width:90px;overflow:hidden}.ui-language>span{font-size:8px}}.hero-art.car-hero{border:0;border-radius:0;width:62%;height:100%;margin:0;inset:0 0 0 38%}.hero-car-0{width:190px;top:28%;left:12%}.hero-car-1{width:220px;top:43%;left:51%}.hero-car-2{width:290px;top:55%;left:12%}.hero .hero-badge{top:35px;right:28px}@media (max-width:700px){.hero-art.car-hero{width:100%;height:auto;inset:115px 0 65px}.hero-car-0{width:120px;top:16%;left:4%}.hero-car-1{width:130px;top:29%;left:56%}.hero-car-2{width:200px;top:44%;left:20%}.hero .hero-badge{font-size:6px;top:5px;right:10px}.hero-copy{z-index:1}.hero:after{background:linear-gradient(#111e4999,#0000 45% 70%,#101f3c99)}}.race-copy:lang(en){word-break:normal;overflow-wrap:anywhere}.survivors .my-vehicle{box-shadow:inset 2px 0 #64f1e3}.survivors .my-vehicle .boosting{filter:drop-shadow(0 0 4px #5ff5ff)}@media (max-width:700px){.mobile-play .rain-board{--rain-floor-height:4px}.mobile-play .rain-board .ground{display:none}.survivors .my-vehicle .character-runner{width:35px;height:25px}.hero p br{display:block}}.hero h1:lang(ja){letter-spacing:-1.6px;font-size:46px}@media (max-width:700px){.hero-details{gap:8px;display:grid;position:absolute;bottom:17px;left:21px;right:15px}.hero-details p,.hero-details .hero-tags{width:auto;margin:0;position:static}.hero h1:lang(ja){max-width:none;font-size:clamp(26px,6.8vw,36px)}}.rule-picker{margin:14px 0}.rule-picker>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rule-picker button{text-align:left;color:#c4cce4;background:#192342;border:1px solid #4a597f;border-radius:14px;grid-template-columns:24px 1fr;align-items:center;gap:3px 6px;min-width:0;padding:12px;display:grid}.rule-picker button[aria-pressed=true]{color:#fff;background:linear-gradient(120deg,#493277,#263557);border-color:#aa8cff;box-shadow:inset 0 0 0 1px #aa8cff}.rule-picker button>span{color:#ffd97a;grid-row:span 2;font-size:23px}.rule-picker small{grid-column:2;font-size:11px;line-height:1.4}.rule-picker p{color:#bdc7e2;margin:9px 2px 0;font-size:12px;line-height:1.6}.rules-badge{color:#dbc9ff;vertical-align:middle;border:1px solid #8271ba;border-radius:6px;margin-left:7px;padding:3px 7px;font-size:11px;line-height:1.4;display:inline-block}.item-controls{margin-bottom:8px}.item-buttons{grid-template-columns:1fr 1fr 65px;gap:7px;display:grid}.item-button{color:#fff;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:linear-gradient(145deg,#614b92,#2c214d);border:1px solid #a995f8;border-radius:11px;align-items:center;gap:7px;min-width:0;min-height:44px;padding:6px 10px;display:flex}.item-button:disabled{opacity:.48;cursor:default}.item-button small{white-space:nowrap;margin-left:auto;font-size:10px}.item-button strong{font-size:12px}.item-symbol{color:#cc9cff;text-shadow:0 0 10px #8761ff;font-size:25px;line-height:1}.shield-button{background:linear-gradient(145deg,#246c81,#133448);border-color:#77def5}.shield-button .item-symbol{color:#a4f4ff}.item-charge{color:#c7d9ff;text-align:center;grid-template-columns:1fr;align-content:center;font-size:11px;display:grid}.item-charge small{font-size:9px}.item-charge progress{accent-color:#bd9cff;width:100%;height:5px}.item-status{color:#b9c7e2;min-height:15px;margin-top:3px;font-size:10px;line-height:1.4}.item-danger .item-status{color:#efb7ff}.item-danger .shield-button:not(:disabled){box-shadow:0 0 12px #66e9ff80}.item-safe .item-status{color:#98edff}.ink-smudged{text-shadow:0 0 9px #9b73d8;-webkit-user-select:none;user-select:none;background:#21102e;border-radius:48% 30% 45% 38%;box-shadow:0 0 4px 2px #21102e;color:#0000!important}.race-copy .ink-smudged{text-shadow:0 0 12px #9479b4}.ink-hit .race-copy-wrap,.rain-board.ink-hit,.stack-board.ink-hit{border-color:#ac74d7;box-shadow:inset 0 0 24px #a43aca30}.mobile-play .item-controls{margin-bottom:3px}.mobile-play .item-buttons{grid-template-columns:1fr 1fr 52px;gap:5px}.mobile-play .item-button{gap:5px;min-height:40px;padding:4px 7px}.mobile-play .item-status{min-height:13px;font-size:9px}.compact-play .arena-items .input-heading,.compact-play .arena-items .input-help,.compact-play .arena-items .game-stats{display:none}.compact-play .arena-items{grid-template-rows:auto minmax(0,1fr) auto}@media (max-width:380px){.rule-picker button{padding:10px 7px}.rule-picker small{font-size:10px}.item-button strong{font-size:11px}}.local-game-info{color:#b3c9ed;margin-top:5px;font-size:11px;display:block}.local-pause-button{flex-shrink:0}.local-pause{z-index:90;background:#080d25df;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.local-pause>.panel{text-align:center;max-width:400px}.local-pause .button{margin:12px 5px 0}.offline-ready{color:#b3c9ed;text-align:center;padding:8px 16px;font-size:12px}.arena-content{position:relative}.battle-particles{z-index:8;pointer-events:none;border-radius:inherit;width:100%;height:100%;position:absolute;inset:0}.race-boosting .my-lane .lane-track{box-shadow:inset 0 -2px #80e4ff7a,0 0 16px #73a5ff29}.race-boosting .my-lane .lane-fill{background-image:linear-gradient(90deg,#0000,#bcfaff65)}@media (prefers-reduced-motion:reduce){.battle-particles{display:none}}@media (max-width:600px){.arena-top .local-pause-button{padding:4px;font-size:11px}.arena-top:has(.local-game-info){grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px;display:grid}.arena-top:has(.local-game-info)>div:first-child{min-width:0}.arena-top:has(.local-game-info) .arena-clock{gap:3px;padding:5px;font-size:12px}.arena-top:has(.local-game-info) .arena-clock svg{display:none}.compact-play .local-game-info{margin-top:2px;font-size:9px}}.sound-button{color:#bce8ff;flex-shrink:0;width:40px;height:40px}.sound-button.sound-muted{color:#8d9db7}.sound-dialog{box-sizing:border-box;overscroll-behavior:contain;color:#eef4ff;background:linear-gradient(150deg,#202d50,#121b35);border:1px solid #5976a2;border-radius:22px;width:min(400px,100vw - 28px);max-height:calc(100dvh - 28px);margin:auto;padding:24px;font-family:inherit;overflow-y:auto;box-shadow:0 20px 80px #0009}.sound-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#050b20be}.sound-heading,.sound-channel>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.sound-heading h2{margin:5px 0 0;font-size:24px}.sound-heading .icon-button{width:36px;height:36px;padding:0}.sound-intro,.sound-footnote{color:#b6c9e8;font-size:13px;line-height:1.6}.sound-channel{background:#0b142f70;border:1px solid #ffffff13;border-radius:14px;margin:14px 0;padding:16px}.sound-channel label{color:#c3d5ee;grid-template-columns:1fr auto;gap:8px;margin-top:18px;font-size:12px;display:grid}.sound-channel input{accent-color:#a7edc5;cursor:pointer;grid-column:1/-1;width:100%;height:28px;margin:0}.sound-switch{color:#c4d0e2;min-height:36px;font:inherit;cursor:pointer;background:#26364e;border:1px solid #60718d;border-radius:20px;align-items:center;gap:7px;padding:5px 10px;font-size:12px;display:flex}.sound-switch i{background:#8795ab;border-radius:50%;width:12px;height:12px}.sound-switch.enabled{color:#b8f5d2;background:#244d41;border-color:#91d9b1}.sound-switch.enabled i{background:#a5f4c5;box-shadow:0 0 10px #a5f4c544}.sound-switch:disabled{opacity:.45;cursor:default}.haptic-controls strong{overflow-wrap:anywhere;font-size:14px}.haptic-controls .sound-switch{flex-shrink:0}.haptic-controls .typing-sound-preview{border:1px solid #5976a2;border-radius:10px}.sound-dialog>.button{width:100%;min-height:42px}.typing-sounds{margin:18px 0}.typing-sounds-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.typing-sounds-help{color:#b6c9e8;margin:8px 0;font-size:12px;line-height:1.6}.typing-sound-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.typing-sound-choice{background:#111e38;border:1px solid #465c7e;border-radius:12px;min-width:0;overflow:hidden}.typing-sound-choice.selected{background:#203d3c;border-color:#9deac0;box-shadow:inset 0 0 0 1px #9deac033}.typing-sound-choice label{cursor:pointer;align-items:start;gap:7px;min-height:64px;padding:12px 9px 8px;display:flex}.typing-sound-choice input[type=radio]{appearance:auto;width:15px;min-width:15px;height:15px;min-height:15px;box-shadow:none;accent-color:#9deac0;border:0;flex:0 0 15px;margin:3px 0 0;padding:0}.typing-sound-choice label>span{min-width:0}.typing-sound-choice strong{font-size:13px;line-height:1.45;display:block}.typing-sound-choice small{color:#bbd0e9;margin-top:3px;font-size:11px;line-height:1.5;display:block}.typing-sound-preview{color:#d8ebff;width:100%;min-height:40px;font:inherit;cursor:pointer;background:#ffffff06;border:0;border-top:1px solid #ffffff14;padding:6px 9px;font-size:12px}.typing-sound-preview:hover:not(:disabled){background:#ffffff12}.typing-sound-preview:disabled{opacity:.45;cursor:default}.typing-sound-preview:focus-visible,.typing-sound-choice:focus-within{outline-offset:-2px;outline:2px solid #ffdc80}.results>.sound-button{z-index:2;position:absolute;top:16px;right:16px}.results{position:relative}@media (max-width:600px){.header:has(.sound-button){gap:8px}.header:has(.sound-button) .connection{gap:0;margin-left:0;font-size:0}.header .sound-button{width:34px;height:34px;margin-left:auto}.arena-top:has(.local-game-info){grid-template-columns:minmax(0,1fr) repeat(4,auto);gap:4px}.mobile-play .arena-top .sound-button{width:32px;height:32px;padding:6px}.arena-top .sound-button svg{width:18px}.sound-dialog{padding:18px}}.letter-rain{grid-template-rows:auto minmax(308px,1fr) auto;gap:8px;min-width:0;min-height:0;display:grid}.rain-target{background:#1b2c50;border:1px solid #384d73;border-radius:16px;padding:10px 14px}.rain-target-heading{color:#d0daf1;align-items:center;gap:12px;font-size:12px;display:flex}.rain-target-heading>strong{color:#889cbf;letter-spacing:4px;flex:1;font-size:26px}.rain-target-heading .assembled{color:#94f3cb}.rain-next{align-items:center;gap:7px;display:flex}.rain-next b{color:#ffdc80;font-size:22px}.rain-letter-guide{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.rain-letter-guide>span{text-align:center;color:#92a4c6;border-radius:5px;min-width:21px;padding:2px 3px;font-size:13px}.rain-letter-guide .done{color:#7de8b9;background:#174b42}.rain-letter-guide .current{color:#172039;background:#ffdc80;font-weight:900;box-shadow:0 0 0 2px #ffdc8033}.arena-rain .touch-rain-board{background:linear-gradient(#142543,#193952);border:2px solid #50658d;border-radius:14px;height:100%;min-height:308px;position:relative;overflow:hidden}.rain-grid{pointer-events:none;background-image:linear-gradient(90deg,#708db21a 1px,#0000 1px),linear-gradient(0deg,#708db21a 1px,#0000 1px);background-size:calc(100% / 6) calc(100% / var(--rain-rows,8));position:absolute;inset:0}.touch-rain-board .rain-letter{width:calc(16.6667% - 4px);height:calc(100% / var(--rain-rows,8) - 4px);color:#152d57;touch-action:manipulation;-webkit-user-select:none;user-select:none;cursor:pointer;background:#daefff;border:1px solid #c1ebff;border-bottom:4px solid #5984b9;border-radius:10px;place-items:center;min-height:40px;margin:2px;padding:0;font-size:clamp(22px,4.8vw,30px);font-weight:850;display:grid;position:absolute;box-shadow:0 3px 9px #0003}.touch-rain-board .rain-letter.settled{background:#b7d8ed;border-color:#92bddc #92bddc #507ea0}.touch-rain-board .rain-letter:active{filter:brightness(1.15)}.touch-rain-board .rain-letter:focus-visible{outline-offset:-4px;outline:3px solid #ffe18e}.touch-rain-board .rain-letter:disabled{opacity:1;cursor:default}.arena-rain .touch-rain-board.rain-danger{border-color:#f4aa80;box-shadow:inset 0 0 30px #ed784520}.rain-recovery{z-index:3;color:#f3f8ff;text-align:center;background:#101d39e8;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.rain-recovery b{color:#ffdc80;font-size:56px}.rain-board-caption{color:#c1d0e7;justify-content:space-between;gap:8px;font-size:11px;display:flex}.arena-rain .rain-layout{grid-template-columns:minmax(0,1fr) 112px;gap:16px;max-width:940px;min-height:0;margin:0 auto;display:grid;position:relative}.arena-rain .rain-layout.rain-solo{grid-template-columns:minmax(0,1fr);max-width:760px}.arena-rain .game-stats .rain-pace-label{color:#bcebdd;padding-top:7px;font-size:15px;font-weight:700}.rain-rivals{flex-direction:column;align-self:start;gap:10px;min-width:0;min-height:0;max-height:540px;padding:4px;display:flex;overflow:auto}.rain-rival{background:#172640;border:1px solid #435b7e;border-radius:10px;flex:none;min-width:0;padding:6px}.rain-rival.out{opacity:.5}.rain-mini{background:#0d1c34;border:1px solid #526f94;border-radius:5px;align-items:end;gap:2px;height:72px;padding:3px;display:flex;position:relative;overflow:hidden}.rain-mini i{background:repeating-linear-gradient(to top, #95c4dd 0, #95c4dd calc(100% / var(--rain-rows,8) - 1px), #456681 calc(100% / var(--rain-rows,8) - 1px), #456681 calc(100% / var(--rain-rows,8)));border-radius:1px;flex:1;max-height:100%}.rain-mini.recovering{border-color:#ffca8f}.rain-mini b{color:#ffdc80;background:#131c2caa;place-items:center;display:grid;position:absolute;inset:0}.rain-rival-info{color:#b7c8e2;gap:3px;min-width:0;margin-top:5px;font-size:11px;display:grid}.rain-rival-info span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rain-rival-info strong{color:#e5f5ff;font-size:12px}.rain-attack-overlay{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.rain-beam{--beam-color:#ffda87;position:absolute;inset:0}.rain-beam.incoming{--beam-color:#dc9bff}.rain-beam.blocked{--beam-color:#8beaff}.rain-beam>.attack-trail{width:100%;height:100%;overflow:visible}.rain-beam .attack-trail path{fill:none;stroke:var(--beam-color);stroke-width:4px;stroke-linecap:round;stroke-dasharray:18 100;filter:drop-shadow(0 0 5px var(--beam-color));animation:.65s ease-out both rain-transfer}.rain-beam .attack-trail circle{fill:none;stroke:var(--beam-color);stroke-width:3px;transform-box:fill-box;transform-origin:50%}.beam-origin{animation:.4s ease-out both rain-ring}.beam-impact{animation:.55s ease-out .45s both rain-ring}.rain-attack-label{border:1px solid var(--beam-color);max-width:90%;color:var(--beam-color);text-align:center;background:#16243bef;border-radius:20px;padding:5px 12px;font-size:12px;animation:1.2s both rain-label;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@keyframes rain-transfer{0%{stroke-dashoffset:18px;opacity:1}to{stroke-dashoffset:-100px;opacity:0}}@keyframes rain-ring{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.8)}}@keyframes rain-label{0%,to{opacity:0}12%,85%{opacity:1}}@media (min-width:761px){.arena-rain .letter-rain{grid-template-rows:auto minmax(420px,1fr) auto}}.arena-rain .rain-touch-dock{min-height:0;padding:6px 0 0}.arena-rain .rain-touch-dock .input-help{min-height:18px;margin:0}.arena-rain .rain-touch-dock .item-bar{margin:0}@media (max-width:760px){.arena-rain .rain-layout,.mobile-play .arena-rain .rain-layout{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:4px;height:100%}.arena-rain .rain-layout.rain-solo{grid-template-rows:minmax(0,1fr)}.rain-rivals{scrollbar-width:thin;flex-direction:row;align-self:auto;gap:6px;width:100%;height:44px;max-height:44px;padding:0}.rain-rival{align-items:center;gap:6px;min-width:112px;max-width:152px;padding:3px 6px;display:flex}.rain-mini{flex:0 0 38px;gap:1px;height:32px;padding:2px}.rain-rival-info{gap:1px;margin:0;font-size:10px}.rain-rival-info strong{font-size:11px}.arena-rain .game-stats .rain-pace-label{padding-top:5px;font-size:11px}.mobile-play .arena-rain .letter-rain{grid-template-rows:auto minmax(0,1fr) auto;gap:4px}.mobile-play .arena-rain .touch-rain-board,.mobile-play .arena-rain .rain-letter{min-height:0}.rain-target{padding:6px 10px}.rain-target-heading>strong{font-size:23px}.rain-letter-guide{margin-top:3px}.mobile-play .arena-rain .survivors{max-height:34px}.mobile-play .arena-rain .survivors .runner{display:none}.mobile-play .arena-rain .survivors>div{gap:5px}.mobile-play .arena-rain .survivors small,.mobile-play .arena-rain .arena-language,.mobile-play .arena-rain .local-game-info{display:none}}@media (prefers-reduced-motion:reduce){.rain-beam .attack-trail path,.rain-beam .beam-origin{display:none}.rain-beam .beam-impact,.rain-attack-label{opacity:1;animation:none}}@media (max-height:690px) and (max-width:760px){.app.mobile-play:has(.arena-rain)>.header{display:none}.mobile-play .arena-rain .game-stats{margin:3px 0;padding:2px 0}.mobile-play .arena-rain .arena-top{min-height:38px}}.rain-board-caption{align-items:center}.rain-reserve{flex-shrink:0;align-items:center;gap:4px;display:flex}.rain-reserve button{color:#d6e9f7;touch-action:none;background:#213954;border:1px solid #7892b4;border-radius:8px;width:44px;height:40px;padding:0;font-size:22px}.rain-reserve button:disabled{opacity:1}.rain-reserve .reserve-ready{color:#152d37;cursor:pointer;background:#94f3cb;border-color:#b2f6cf;box-shadow:0 0 8px #94f3cb44}@media (max-width:380px){.rain-reserve>span{display:none}.rain-full-rule{text-align:right;max-width:80px}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}.app:not(.mobile-play){padding-top:var(--safe-top);padding-left:max(19px, var(--safe-left));padding-right:max(19px, var(--safe-right))}.app.mobile-play{padding-top:max(6px, var(--safe-top));padding-right:max(10px, var(--safe-right));padding-bottom:max(6px, var(--safe-bottom));padding-left:max(10px, var(--safe-left))}.play-dialog{padding-top:max(10px, var(--safe-top));padding-bottom:max(10px, var(--safe-bottom))}.hall-back{min-height:44px;margin-bottom:18px}@media (min-width:701px){.app:not(.mobile-play){padding-left:max(48px, var(--safe-left));padding-right:max(48px, var(--safe-right))}}@media (max-width:700px){.app:not(.in-game)>.header{grid-template-columns:minmax(0,1fr) auto auto;gap:8px 12px;height:auto;min-height:100px;padding:12px 0;display:grid}.app:not(.in-game)>.header .brand{grid-area:1/1}.app:not(.in-game)>.header .ui-language{flex-direction:row;grid-area:2/2/auto/-1;justify-content:flex-end;margin:0;font-size:11px}.app:not(.in-game)>.header .ui-language select{width:140px;max-width:140px;min-height:44px;font-size:14px}.app:not(.in-game)>.header .sound-button{grid-area:1/2}.app:not(.in-game)>.header .connection{grid-area:1/3}.app:not(.in-game)>.header .safety-entry{grid-area:2/1;justify-self:start}.nav{padding-bottom:calc(8px + var(--safe-bottom))}}.runner.character-runner{aspect-ratio:166/110;filter:drop-shadow(0 3px 2px #070f2440);height:auto;overflow:visible}.character-body{transform-origin:83px 88px}.character-speed,.character-electric{opacity:0}.character-feet,.character-arm,.character-tentacles,.character-cheeks,.character-mouth{transform-box:fill-box;transform-origin:50%}.character-runner.running .character-body{animation:.46s ease-in-out infinite alternate character-hop}.character-runner.running .character-feet{animation:.22s ease-in-out infinite alternate character-feet}.character-octopus.running .character-tentacles{animation:.46s ease-in-out infinite alternate tentacle-wiggle}.character-ghost.running .character-body{animation:1.1s ease-in-out infinite alternate ghost-float}.character-runner.boosting .character-speed{opacity:1}.character-runner.struck .character-body{animation:.45s ease-out character-hit}.character-potato.attacking .character-body{animation:.65s ease-out both potato-recoil}.character-potato.attacking .attack-arm{animation:.65s ease-out both potato-punch}.character-octopus.attacking .character-body{animation:.65s ease-out both octopus-squeeze}.character-octopus.attacking .character-cheeks{animation:.65s ease-out both octopus-cheeks}.character-hamster.attacking .character-body{animation:.65s ease-out both hamster-charge}.character-hamster.attacking .character-electric{animation:.65s ease-out both hamster-sparks}.character-ghost.attacking .character-body{animation:.65s ease-out both ghost-stretch}.avatar-picker{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.avatar-picker button,.quick-avatars button{flex-direction:column;justify-content:center;align-items:center;width:100%;min-width:0;max-width:none;height:auto;min-height:78px;padding:3px;display:flex}.avatar-picker .character-runner,.quick-avatars .character-runner{width:min(100%,86px);height:53px}.character-choice-name{color:inherit;white-space:normal;text-align:center;font-size:10px;line-height:1.3;display:block}.character-equality{color:#b9d6ca;text-align:center;margin:0 0 10px;font-size:11px;display:block}.hero-car{transform:rotate(-6deg)}.hero .hero-car-0{width:24%;top:22%;left:12%}.hero .hero-car-1{width:27%;top:28%;left:60%}.hero .hero-car-2{width:36%;top:48%;left:20%}.hero .hero-car-3{width:29%;animation-delay:-1.5s;top:62%;left:60%}.rain-mascot{flex:0 0 42px;width:42px;display:inline-flex}.rain-mascot .character-runner{width:42px;height:29px}.rival-mascot{width:42px;height:28px;display:block}.rival-mascot .character-runner{width:42px;height:28px}.rain-target-heading{gap:7px}.rain-target-heading>strong{min-width:0}.rain-attack-overlay{z-index:5}.rain-beam>.attack-trail{position:absolute;inset:0}.rain-beam .attack-trail path{stroke-width:2px;opacity:.6;animation-delay:.18s}.rain-beam .attack-trail .beam-impact{animation-delay:.65s}.attack-performer{width:64px;height:44px;margin:-22px 0 0 -32px;animation:1.1s both attack-cameo;position:absolute}.attack-performer .character-runner{width:64px;height:44px}.attack-projectile{width:35px;height:35px;margin:-18px 0 0 -18px;animation:.5s cubic-bezier(.3,.1,.75,1) .2s both character-flight;position:absolute}.rain-beam .character-shot{width:100%;height:100%;filter:drop-shadow(0 0 5px var(--beam-color));overflow:visible}.rain-beam .character-shot path,.rain-beam .character-shot circle{stroke-dasharray:none;filter:none;animation:none}.shot-potato{transform:rotate(-18deg)}.shot-octopus{animation:.24s infinite alternate ink-wobble}.shot-hamster{animation:.13s infinite alternate bolt-zigzag}.shot-ghost{animation:.27s infinite alternate jelly-squish}.attack-splat{width:46px;height:46px;color:var(--beam-color);place-items:center;margin:-23px 0 0 -23px;font-size:44px;animation:.4s .65s both character-impact;display:grid;position:absolute}.blocked .attack-splat{background:#12536a55;border:2px solid #8beaff;border-radius:50%;font-size:29px}.attack-octopus .attack-splat{background:#a77ad866;border-radius:45% 55% 38% 62%}.attack-ghost .attack-splat{background:#80edd266;border-radius:46%}.rain-attack-label{padding:3px 9px;font-size:11px;bottom:8px}.touch-rain-board .rain-letter{width:16.6667%;height:calc(100% / var(--rain-rows,8));min-height:0;box-shadow:none;touch-action:none;-webkit-touch-callout:none;background:0 0;border:0;border-radius:0;margin:0;line-height:1}.touch-rain-board .rain-letter.settled{background:0 0}.touch-rain-board .rain-letter>span{border:1px solid var(--letter-border,#c1ebff);border-bottom:4px solid var(--letter-edge,#5984b9);background:linear-gradient(145deg, var(--letter-top,#f2fcff), var(--letter-bottom,#bcdef6));color:var(--letter-ink,#152d57);pointer-events:none;border-radius:10px;place-items:center;display:grid;position:absolute;inset:2px;box-shadow:0 3px 7px #0003}.touch-rain-board .rain-letter.settled>span{background:linear-gradient(145deg, var(--letter-settled-top,#deeff9), var(--letter-settled-bottom,#aacfe6));border-color:var(--letter-settled-border,#92bddc);border-bottom-color:var(--letter-edge,#507ea0)}.letter-rain [data-letter-kind=consonant]{--letter-top:#e7f5ff;--letter-bottom:#b6ddff;--letter-settled-top:#d6edff;--letter-settled-bottom:#a9d3f5;--letter-border:#bce4ff;--letter-settled-border:#8abce6;--letter-edge:#4d80ad;--letter-ink:#153c66;--letter-hint:#a9d9ff;--letter-tint:#26486b}.letter-rain [data-letter-kind=vowel]{--letter-top:#fff0d9;--letter-bottom:#ffd09b;--letter-settled-top:#ffe6c5;--letter-settled-bottom:#f5c38e;--letter-border:#ffe4bc;--letter-settled-border:#dfac74;--letter-edge:#b5793c;--letter-ink:#613912;--letter-hint:#ffd09b;--letter-tint:#59422e}.rain-letter-guide>[data-letter-kind]:not(.done):not(.current){color:var(--letter-hint);background:var(--letter-tint)}.rain-next b[data-letter-kind]{color:var(--letter-hint)}.rain-reserve button[data-letter-kind]:not(.reserve-ready){color:var(--letter-ink);background:linear-gradient(145deg, var(--letter-top), var(--letter-bottom));border-color:var(--letter-edge)}.touch-rain-board .rain-letter.tap-pending>span{opacity:.38;border-color:#ffe08e;transition:transform 80ms,opacity 80ms;transform:scale(.85)}.touch-rain-board .rain-letter:focus-visible{outline-offset:-3px;border-radius:10px}.rain-pop-layer{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.letter-pop{color:#e5ffef;width:0;height:0;position:absolute}.letter-pop b{text-shadow:0 2px #246a69,0 0 12px #9cffe4;place-items:center;width:44px;height:44px;font-size:30px;font-weight:900;animation:.5s ease-out both letter-pop;display:grid;position:absolute;top:-22px;left:-22px}.pop-ring{border:3px solid #9dffe1;border-radius:50%;width:46px;height:46px;animation:.4s ease-out both pop-ring;position:absolute;top:-23px;left:-23px}.pop-core{background:#fff4ba;border-radius:35%;width:34px;height:34px;animation:.22s ease-out both pop-core;position:absolute;top:-17px;left:-17px}.letter-pop i{background:#7cf1d0;border-radius:2px;width:8px;height:8px;animation:.5s cubic-bezier(.1,.6,.35,1) both pop-shard;position:absolute;top:-4px;left:-4px;box-shadow:0 0 5px #c4ffee}.letter-pop i:nth-of-type(2n){background:#ffdc85;width:6px;height:11px}.pop-wrong{color:#ffc0b7}.pop-wrong .pop-core,.pop-wrong .pop-ring{display:none}.pop-wrong b{text-shadow:0 1px 3px #591d2a;font-size:25px}@keyframes character-hop{to{transform:translateY(-3px)rotate(2deg)}}@keyframes character-feet{to{transform:scaleX(.82)rotate(9deg)}}@keyframes tentacle-wiggle{to{transform:scaleX(1.07)scaleY(.88)}}@keyframes ghost-float{to{transform:translateY(-6px)rotate(-3deg)}}@keyframes character-hit{25%,65%{transform:translate(-4px)rotate(-6deg)}45%{transform:translate(3px)}}@keyframes potato-punch{20%{transform:translate(-8px)rotate(-15deg)}45%{transform:translate(18px)scale(1.25)}to{transform:none}}@keyframes potato-recoil{40%{transform:rotate(-12deg)translate(-6px)}to{transform:none}}@keyframes octopus-squeeze{25%{transform:scale(1.12,.9)}45%{transform:scale(.9,1.08)}to{transform:none}}@keyframes octopus-cheeks{25%{transform:scale(1.35)}to{transform:none}}@keyframes hamster-charge{15%,35%{transform:rotate(-5deg)scale(1.08)}25%,45%{transform:rotate(5deg)}to{transform:none}}@keyframes hamster-sparks{15%,65%{opacity:1}to{opacity:0}}@keyframes ghost-stretch{25%{transform:scale(.75,1.15)}50%{transform:scale(1.25,.85)}to{transform:none}}@keyframes attack-cameo{0%{opacity:0}10%,60%{opacity:1}to{opacity:0}}@keyframes character-flight{0%{opacity:0;transform:translate(0)scale(.5)}10%{opacity:1}to{transform:translate(var(--flight-x),var(--flight-y)) scale(1.1);opacity:1}}@keyframes ink-wobble{to{transform:rotate(18deg)scale(.85,1.1)}}@keyframes bolt-zigzag{to{transform:translateY(-4px)rotate(9deg)}}@keyframes jelly-squish{to{transform:scale(1.2,.75)rotate(20deg)}}@keyframes character-impact{0%{opacity:0;transform:scale(.4)}25%{opacity:1}to{opacity:0;transform:scale(1.55)}}@keyframes letter-pop{15%{opacity:1;transform:scale(1.25)}to{opacity:0;transform:translateY(-24px)scale(.7)}}@keyframes pop-ring{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.9)}}@keyframes pop-core{0%{opacity:.8;transform:scale(.3)rotate(0)}to{opacity:0;transform:scale(1.6)rotate(55deg)}}@keyframes pop-shard{0%{opacity:1;transform:translate(0)scale(1.2)}to{transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.3);opacity:0}}@media (max-width:760px){.rain-target-heading>span:not(.rain-mascot):not(.rain-next){display:none}.rain-target-heading>strong{letter-spacing:2px;font-size:22px}.rain-next{gap:4px}.rain-rival{gap:3px;min-width:137px}.rival-mascot,.rival-mascot .character-runner{width:29px;height:23px}.attack-performer,.attack-performer .character-runner{width:52px;height:36px}.attack-performer{margin:-18px 0 0 -26px}.hero .hero-car-0{width:25%;top:16%;left:4%}.hero .hero-car-1{width:27%;top:17%;left:58%}.hero .hero-car-2{width:39%;top:46%;left:18%}.hero .hero-car-3{width:30%;top:57%;left:63%}}@media (prefers-reduced-motion:reduce){.character-runner *,.hero-car,.attack-splat,.rain-attack-label{animation:none!important}.attack-performer,.attack-projectile,.rain-beam .attack-trail path,.letter-pop i,.pop-core,.pop-ring{display:none}.attack-splat{opacity:1;font-size:28px}.letter-pop b{opacity:1;font-size:24px;animation:none}.touch-rain-board .rain-letter.tap-pending>span{transition:none;transform:none}}@media (max-height:690px) and (max-width:760px){.rain-mascot,.rain-mascot .character-runner{flex-basis:32px;width:32px;height:22px}.mobile-play .arena-rain .rain-target{padding-top:4px;padding-bottom:4px}.mobile-play .arena-rain .rain-touch-dock .input-help{font-size:10px}}.chain-arena{color:#233a42;background:#f5f8f6;border:1px solid #d7e3dc;border-radius:24px;max-width:980px;margin:auto;padding:24px}.chain-header{align-items:center;gap:14px;display:flex}.chain-header>div:first-child{flex:1}.chain-header h1{margin:4px 0 14px;font-size:28px}.chain-arena .text-button{color:#315e50;min-height:44px}.chain-arena .button.primary,.chain-results .button.primary{color:#fff;box-shadow:none;text-shadow:none;background:#35654d}.chain-arena .button.soft{color:#244f40;box-shadow:none;text-shadow:none;background:#e3ede6;border:1px solid #b8ccbf}.chain-header .eyebrow{color:#52746b;font-size:11px}.chain-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.chain-stats>div{background:#fff;border:1px solid #d7e3dc;border-radius:16px;flex-direction:column;gap:5px;padding:14px;display:flex}.chain-stats span{color:#53676b;font-size:12px}.chain-stats strong{font-variant-numeric:tabular-nums;font-size:34px;line-height:1.2}.chain-stats small{margin-left:5px;font-size:12px;font-weight:500}.chain-urgent{color:#a54027}.chain-current{text-align:center;background:#e5eee8;border-radius:18px;padding:20px 10px}.chain-current>strong{overflow-wrap:anywhere;margin:8px;font-size:clamp(30px,6vw,54px);line-height:1.4;display:block}.chain-current>span{font-size:12px}.chain-current b{margin-left:8px;font-size:28px;display:inline-block}.chain-current p{margin:4px}.chain-turn{color:#315e50;font-size:14px;font-weight:700}.chain-players{flex-wrap:wrap;gap:6px;margin:14px 0;display:flex}.chain-players>div{border:1px solid #d7e3dc;border-radius:12px;align-items:center;gap:9px;padding:8px 10px;font-size:12px;display:flex}.chain-players span{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.chain-players .chain-active{background:#dcebe0;border-color:#48795d}.chain-out{opacity:.5}.chain-hint{align-items:center;gap:12px;font-size:13px;display:flex}.chain-hint button{flex-shrink:0}.chain-hint p{overflow-wrap:anywhere}.chain-history{color:#506660;flex-wrap:wrap;gap:8px;margin:14px 0;font-size:13px;display:flex}.chain-history span+span:before{content:"→";margin-right:8px}.chain-rules{color:#52635e;margin:12px 0;font-size:12px;line-height:1.65}.chain-rules p{margin:8px 0}.chain-rules summary{cursor:pointer;font-weight:700}.chain-rules a{color:#245a49;text-decoration:underline}.chain-input{border-top:1px solid #d7e3dc;margin-top:18px;padding-top:12px}.chain-input label{font-size:13px;font-weight:700}.chain-input>div{gap:8px;margin-top:6px;display:flex}.chain-input input{color:#233a42;-webkit-text-fill-color:#233a42;caret-color:#244f40;opacity:1;background:#fff;border:1px solid #aebfb4;border-radius:12px;width:100%;min-width:0;padding:12px;font-size:18px}.chain-input input::placeholder{color:#53676b;-webkit-text-fill-color:#53676b;opacity:1}.chain-input input:focus{outline-offset:1px;outline:2px solid #49836a}.chain-input button{flex-shrink:0}.chain-input p{min-height:2.8em;margin:8px 0 0;font-size:12px}.chain-ranking{padding:0;list-style:none}.chain-ranking li{border-bottom:1px solid #d7e3dc;gap:18px;padding:12px;display:flex}.chain-ranking li span:first-of-type{flex:1}.chain-ranking li span:last-child{font-size:12px}.chain-records{background:#e5eee8;border-radius:14px;padding:12px}.chain-results{color:#233a42;box-shadow:none;background:#f5f8f6;border-color:#d7e3dc}.chain-results:before{display:none}.chain-results h1{color:#233a42;text-shadow:none}.chain-results .chain-stats strong{color:#233a42}.scene-chain{color:#346550;background:#dcebe0}.chain-art{letter-spacing:5px;font-size:32px;font-weight:800}.mode-chain{--mode-color:#48795d}.mobile-play .chain-arena{border-radius:0;flex-direction:column;flex:1;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:12px;display:flex;overflow:hidden}.mobile-play .chain-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.mobile-play .chain-header{flex-wrap:wrap;flex-shrink:0;gap:6px}.mobile-play .chain-header h1{margin-bottom:0;font-size:21px}.mobile-play .chain-stats{flex-shrink:0;gap:6px;margin:9px 0}.mobile-play .chain-stats>div{padding:9px}.mobile-play .chain-stats strong{font-size:29px}.mobile-play .chain-current{flex-shrink:0;padding:12px 6px}.mobile-play .chain-input{flex-shrink:0;margin-top:7px;padding-top:7px}.mobile-play .chain-input p{min-height:2.6em}.compact-play .chain-header .eyebrow{display:none}.compact-play .chain-stats{margin:5px 0}.compact-play .chain-stats>div{padding:5px 8px}.compact-play .chain-stats strong{font-size:24px}.compact-play .chain-current{padding:6px}.compact-play .chain-current>strong{margin:2px;font-size:28px}.compact-play .chain-current b{font-size:22px}.compact-play .chain-input input{padding:8px}.compact-play .chain-hint{gap:6px}@media (max-width:480px){.chain-results{padding:16px}.chain-stats strong{font-size:28px}.chain-stats>div{padding:9px}}.app.mobile-play.chain-play.compact-play{padding-top:max(6px, calc(var(--safe-top) - var(--play-top)));padding-bottom:6px}.compact-play .chain-arena{padding:6px}.compact-play .chain-header{flex-wrap:nowrap;gap:4px}.compact-play .chain-header h1{white-space:nowrap;margin:0;font-size:16px}.compact-play .chain-header .text-button{min-height:32px;padding:4px;font-size:12px}.compact-play .chain-header .sound-button{width:32px;height:32px;padding:6px}.compact-play .chain-stats{gap:4px;margin:4px 0}.compact-play .chain-stats>div{border-radius:10px;gap:0;padding:3px 6px}.compact-play .chain-stats span{font-size:11px;line-height:14px}.compact-play .chain-stats strong{white-space:nowrap;font-size:20px;line-height:24px}.compact-play .chain-stats small{margin-left:3px;font-size:10px}.compact-play .chain-current{border-radius:12px;padding:4px 6px}.compact-play .chain-current>span{clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.compact-play .chain-current>strong{margin:2px 0;font-size:28px;line-height:1.2}.compact-play .chain-current>strong:lang(ja){font-size:clamp(20px,6vw,28px)}.compact-play .chain-current p{margin:0;font-size:12px;line-height:18px}.compact-play .chain-current b{font-size:22px;line-height:26px}.compact-play .chain-turn{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.compact-play .chain-input{margin-top:4px;padding-top:4px}.compact-play .chain-input label{clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.compact-play .chain-input>div{margin-top:0}.compact-play .chain-input input{height:44px;padding:8px}.compact-play .chain-input .button{min-height:44px;padding:8px 16px}.compact-play .chain-input p{min-height:0;margin-top:3px;font-size:11px;line-height:15px}.compact-play .chain-input-help{display:none}.series-score{color:#244f40;overflow-wrap:anywhere;background:#e5eee8;border:1px solid #b9ccbf;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:10px 0;padding:10px 12px;font-size:13px;display:flex}.series-score small{width:100%}.queue-practice{gap:10px;margin:16px 0;display:grid}.queue-practice small{line-height:1.5}.chain-review{color:#233a42;background:#fff;border:1px solid #d7e3dc;border-radius:12px;margin:12px 0;padding:12px;font-size:13px}.chain-review h2{margin:0 0 6px;font-size:16px}.chain-review summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.chain-review dl{margin:8px 0}.chain-review dt{font-weight:700}.chain-review dd{overflow-wrap:anywhere;margin:4px 0 12px;line-height:1.5}.chain-report{color:#235840;margin-left:8px;text-decoration:underline;display:inline-flex}.chain-arena .local-pause>.panel{max-height:85dvh;overflow:auto}.chain-current p.chain-meaning{overscroll-behavior:contain;color:#3d584c;overflow-wrap:anywhere;scrollbar-width:thin;max-width:620px;max-height:3.2em;margin:4px auto 7px;padding:0 5px;font-size:13px;line-height:1.6;overflow:auto}.chain-history button{color:#315e50;min-height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #b7ccbf;border-radius:10px;padding:6px 10px}.chain-history button[aria-pressed=true]{background:#dcebe0;border-color:#48795d}.chain-history button:focus-visible{outline-offset:2px;outline:2px solid #315e50}.chain-history-meaning{background:#edf3ee;border-left:3px solid #78a18b;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.6}.chain-history-meaning p{overflow-wrap:anywhere;margin:4px 0 0}.compact-play .chain-current p.chain-meaning{max-height:36px;margin:3px auto;font-size:12px;line-height:18px}.compact-play .chain-tight .chain-current>strong{font-size:22px;line-height:1.15}.compact-play .chain-tight .chain-current p.chain-meaning{max-height:18px;margin:1px auto}.chain-current{isolation:isolate;overflow:hidden}.chain-current>strong{position:relative}.chain-word-text{z-index:1;position:relative}.chain-success{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.chain-success-ring{opacity:0;border:3px solid #4fae8c;border-radius:50%;width:96px;height:42px;animation:.5s ease-out both chain-success-ring;position:absolute;top:50%;left:50%}.chain-success-ring-second{border-color:#e4b653;animation-delay:65ms}.chain-success-piece{background:var(--burst-color);opacity:0;border-radius:2px;width:6px;height:9px;animation:.56s cubic-bezier(.12,.65,.3,1) both chain-success-piece;position:absolute;top:50%;left:50%}.chain-success-piece:nth-of-type(3n){border-radius:50%;width:5px;height:5px}.chain-success-check{color:#236c4c;background:#d5eddd;border-radius:50%;width:26px;font-size:18px;line-height:26px;display:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.chain-success-check:after{content:"✓"}@keyframes chain-success-ring{0%{opacity:.7;transform:translate(-50%,-50%)scale(.45)}to{opacity:0;transform:translate(-50%,-50%)scale(1.9)}}@keyframes chain-success-piece{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}12%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--burst-x)),calc(-50% + var(--burst-y))) rotate(var(--burst-turn)) scale(.65)}}@media (prefers-reduced-motion:reduce){.chain-success-ring,.chain-success-piece{animation:none;display:none}.chain-success-check{display:block}}.keyboard-picker{color:inherit;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0;display:flex}.keyboard-picker>label{white-space:nowrap;margin:0;font-size:12px;font-weight:700}.keyboard-picker>select{width:auto;min-width:140px;min-height:40px;color:inherit;background-color:#0000;border:1px solid #8299aa;border-radius:10px;flex:1;margin:0;padding:6px 32px 6px 10px;font-size:14px}.keyboard-picker>select option{color:#233a42;background:#fff}.keyboard-picker small{flex-basis:100%;font-size:11px}.keyboard-dock{flex-shrink:0;min-width:0}.game-keyboard{color:#233b53;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(135deg,#e4eef8,#edf5ef);border:1px solid #bed0db;border-radius:18px;padding:10px 7px 5px;box-shadow:inset 0 1px #fff,0 5px 15px #00000012}.key-row{gap:5px;margin-bottom:7px;display:flex}.key-row.inset{padding:0 4%}.game-keyboard .game-key{color:#243d5a;cursor:pointer;-webkit-tap-highlight-color:transparent;min-width:0;min-height:46px;text-shadow:none;background:#f7fbff;border:1px solid #c4d5e5;border-bottom-width:3px;border-radius:9px;flex:1;justify-content:center;align-items:center;padding:3px 0;font-family:inherit;font-size:20px;font-weight:700;line-height:1.2;transition:transform 70ms,background 70ms;display:flex;box-shadow:0 2px 2px #63819a14}.game-keyboard .game-key.vowel{color:#724323;background:#fff1e0;border-color:#e7cfb1}.game-keyboard .game-key.utility{color:#334f67;background:#dce8f3;border-color:#b6cbdd}.game-keyboard .game-key.send{color:#fff;background:#39785f;border-color:#2c654e;flex:1.65}.game-keyboard .game-key.space{flex:4}.game-keyboard .game-key.small-key{font-size:12px}.game-keyboard .game-key:active:not(:disabled),.game-keyboard .game-key[aria-pressed=true]{background:#c1dfd1;border-bottom-width:1px;transform:translateY(2px)}.game-keyboard .game-key:focus-visible{outline-offset:2px;outline:3px solid #2771b6}.game-keyboard .game-key:disabled{opacity:.45;cursor:default}.cheonjiin-grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(48px,.7fr);gap:7px;display:grid}.game-keyboard .keyboard-tip{color:#546979;text-align:center;min-height:0;margin:6px 0 0;font-size:10px;line-height:14px}.typing-dock .keyboard-picker{margin:7px 0}.mobile-play .keyboard-dock .keyboard-picker{margin:5px 0}.mobile-play .game-keyboard{border-radius:13px;padding:6px 5px 4px}.mobile-play:has(.has-game-keyboard)>.header{display:none}.mobile-play:has(.has-game-keyboard) .typing-dock textarea{height:48px}.mobile-play:has(.has-game-keyboard) .input-heading{display:none}.mobile-play:has(.has-game-keyboard) .typing-dock>.input-help{display:none}.mobile-play:has(.has-game-keyboard) .chain-current{padding:6px}.mobile-play:has(.has-game-keyboard) .chain-current>strong{margin:3px;font-size:28px}.mobile-play:has(.has-game-keyboard) .chain-stats{margin:5px 0}.mobile-play:has(.has-game-keyboard) .chain-stats>div{padding:5px 8px}.mobile-play:has(.has-game-keyboard) .chain-stats strong{font-size:24px}@media (max-width:360px){.key-row{gap:3px}.game-keyboard .game-key{font-size:17px}.game-keyboard .game-key.small-key{font-size:11px}}@media (max-height:650px){.mobile-play:has(.has-game-keyboard) .game-key{min-height:40px}.mobile-play:has(.has-game-keyboard) .key-row{margin-bottom:4px}.mobile-play:has(.has-game-keyboard) .cheonjiin-grid{gap:4px}.mobile-play:has(.has-game-keyboard) .keyboard-tip{display:none}.mobile-play:has(.has-game-keyboard) .chain-header .eyebrow{display:none}.mobile-play:has(.has-game-keyboard) .chain-header h1{font-size:17px}.mobile-play:has(.has-game-keyboard) .chain-stats strong{font-size:20px}:is(.mobile-play:has(.has-game-keyboard) .chain-current>span,.mobile-play:has(.has-game-keyboard) .chain-input label){display:none}.mobile-play:has(.has-game-keyboard) .chain-current p{margin:0;font-size:12px}.mobile-play:has(.has-game-keyboard) .chain-current b{font-size:22px}.mobile-play:has(.has-game-keyboard) .chain-input-help{display:none}}@media (prefers-reduced-motion:reduce){.game-keyboard .game-key{transition:none}}
