:root{--cream:#f7f8f0;--ink:#183d37;--muted:#7a8a7a;--line:#dbe1d1;--mint:#a7ecc8;--mint-deep:#367c60;--blue:#73c7ee;--peach:#ffc2a9;--yellow:#f4dd82;--white:#fffef8;--radius:16px;font-family:Inter,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}button,input{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #3e97b9}button{touch-action:manipulation}input{min-width:0}button{border:0}h1,h2,h3,p{margin:0}.hidden{display:none!important}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:var(--ink);color:white;padding:12px 18px;border-radius:8px}.skip-link:focus{top:12px}.site-header{max-width:1500px;margin:auto;padding:28px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-icon{width:45px;height:45px}.brand>span{font-size:22px;font-weight:900;letter-spacing:1px;line-height:1.25}.brand small{display:block;font-size:9px;letter-spacing:2.3px;margin-top:4px}.top-nav{display:flex;gap:37px;align-items:center}.nav-button{font-size:13px;font-weight:600;background:none;padding:10px 0;position:relative;white-space:nowrap}.nav-button.active:after{content:"";height:4px;width:17px;border-radius:2px;background:var(--ink);position:absolute;bottom:0;left:0}.nav-button span{margin-left:6px;font-size:16px}.header-tools{display:flex;gap:24px;align-items:center}.live-label{font-size:11px;display:flex;align-items:center;gap:7px;white-space:nowrap}.live-label i,.stage-topline i{width:6px;height:6px;background:#7fc798;border-radius:100%;display:inline-block}.icon-button{width:34px;height:34px;background:transparent;border:1px solid var(--line);border-radius:50%;font-size:24px;display:grid;place-items:center}.sound-button{position:relative;font-size:22px}.sound-slash{position:absolute;width:21px;height:1.5px;background:var(--ink);transform:rotate(-43deg);left:5px;top:15px}.sound-button[aria-pressed=true]{background:var(--mint)}.sound-button[aria-pressed=true] .sound-slash{display:none}
.home-view{max-width:1500px;margin:auto;padding:58px 4.5% 0;display:grid;grid-template-columns:minmax(370px,.89fr) minmax(430px,1.11fr);column-gap:5%;position:relative}.eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1.3px;font-weight:600}.tiny-spark{font-size:22px;line-height:1}.hero-copy h1{font-size:clamp(40px,4.1vw,64px);font-weight:850;line-height:1.23;letter-spacing:-2.4px;margin-top:20px;white-space:nowrap}.hero-word{display:inline-block;position:relative;color:#378467}.hero-word svg{position:absolute;left:-1px;right:0;bottom:-9px;width:100%;height:17px;color:#a1e4bc;z-index:-1}.title-period{letter-spacing:-15px}.hero-description{font-size:14px;color:#718076;line-height:1.9;margin:25px 0 20px}.game-facts{display:flex;gap:21px;align-items:center;margin-bottom:27px;font-size:10px;color:#7e8b7d}.game-facts span{display:flex;align-items:baseline;gap:5px}.game-facts b{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.7px}.field-label{display:flex;justify-content:space-between;font-size:11px;font-weight:650;align-items:center;margin-bottom:9px}.field-label span{font-size:9px;font-weight:400;color:#929c8d}.nickname-field{display:flex;align-items:center;gap:10px;border:1px solid #d4ddce;border-radius:9px;height:46px;padding:0 13px;background:#fffdf7}.nickname-field>span:first-child{font-size:22px;font-weight:400;color:#749381}.nickname-field input{width:100%;border:0;background:none;font-size:12px;color:var(--ink);outline:none}.nickname-field:focus-within{border-color:#60aa89;box-shadow:0 0 0 2px #a7ecc840}.nickname-field .enter-hint{font-size:9px;color:#8f9e8b;white-space:nowrap}.mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.mode-option{background:transparent;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;padding:12px 10px;gap:8px;text-align:left}.mode-option.selected{background:#e4f5e8;border-color:#95caa7}.mode-icon{font-size:22px;color:#5e8d74}.mode-option b{display:block;font-size:11px;font-weight:700}.mode-option small{display:block;font-size:9px;color:#8a9787;margin-top:5px;white-space:nowrap}.mode-option i{margin-left:auto;border:1px solid #bdc9b6;border-radius:50%;height:11px;width:11px;flex-shrink:0}.mode-option.selected i{background:var(--ink);border:3px solid #e4f5e8;outline:1px solid var(--ink)}.play-actions{display:flex;gap:10px;margin-top:14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:42px;padding:11px 17px;border-radius:9px;font-size:12px;font-weight:650;transition:transform .15s,background .15s,box-shadow .15s}.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(0)}.button.primary{background:var(--ink);color:#effbf1;box-shadow:0 3px 0 #0b2925}.button.primary:hover:not(:disabled){background:#2d5847}.button.primary span{font-size:20px;font-weight:400}.button.secondary{background:var(--mint);border:1px solid #98d6b1;box-shadow:0 3px 0 #8bc5a1}.button.quiet{background:none;color:#7c887b;box-shadow:none;border:1px solid var(--line)}.button.big{height:51px;flex:1;font-size:13px}.join-form{display:flex;align-items:center;gap:11px;margin-top:21px;font-size:11px}.join-form label{color:#8a9387}.join-form input{width:108px;border:0;border-bottom:1px solid #bec9b8;background:none;padding:6px 2px;font-size:11px;text-transform:uppercase;border-radius:0;color:var(--ink)}.join-form button{font-weight:600;background:none;font-size:11px;padding:6px 0}.join-form button span{margin-left:7px}.home-note{color:#9ba393;font-size:9px;line-height:1.8;margin-top:18px}.home-note span{margin-right:5px}.hero-stage{padding-top:1px;display:flex;flex-direction:column;justify-content:center;min-width:0}.stage-topline{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8a9985;letter-spacing:1px;margin:0 5px 9px}.stage-topline>span:first-child{display:flex;gap:7px;align-items:center;letter-spacing:1.5px}.stage-topline>span:last-child{font-size:8px;letter-spacing:2px}.illustration-wrap{position:relative;flex:1;min-height:440px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 45%,#e4f0df 0,transparent 68%);border-radius:28px;isolation:isolate}.illustration-wrap:before,.illustration-wrap:after{content:"+";position:absolute;color:#9eb69b;font-size:17px;font-weight:300}.illustration-wrap:before{left:0;top:25%}.illustration-wrap:after{right:1%;bottom:25%}#hero-canvas{display:block;width:110%;height:auto;max-height:560px;object-fit:contain;max-width:none;margin:0 -5%}.stage-sticker{position:absolute;z-index:1}.sticker-top{right:-4px;top:30px;width:103px;height:103px;background:var(--yellow);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(11deg);font-size:12px;line-height:1.5;box-shadow:2px 4px 0 #183d3710;letter-spacing:1px}.sticker-top b{font-size:14px}.sticker-top>span{font-size:23px;line-height:1.1}.sticker-bottom{bottom:36px;left:1%;font-size:10px;padding:10px 15px;background:#fffef9;box-shadow:1px 3px 8px #314f2c0b;border:1px solid #e2e8d7;transform:rotate(-7deg);border-radius:5px}.sticker-bottom>span{font-size:22px;vertical-align:middle;margin-right:7px}.stage-bottomline{display:flex;gap:19px;justify-content:center;margin:9px 0 14px;font-size:9px;color:#899780;align-items:center}.stage-bottomline>span{display:flex;align-items:center;gap:3px}.stage-bottomline .mobile-hint{margin-left:6px}.stage-bottomline kbd{font-size:8px;padding:3px 4px}.stage-bottomline>span kbd:last-of-type{margin-right:4px}kbd{font:inherit;font-size:10px;background:#eef1e7;border:1px solid #d7dfcd;box-shadow:0 1px 0 #cad6c2;border-radius:3px;padding:2px 5px;color:#6c7f64;white-space:nowrap}.home-bottom{grid-column:1/-1;border-top:1px solid var(--line);margin-top:42px;padding:21px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:10px;color:#8e9b87}.home-bottom button{background:none;font-size:10px;color:#5b7961}.home-bottom button span{margin-left:10px}.home-version{font-size:8px;letter-spacing:2px}.site-footer{max-width:1500px;margin:auto;padding:20px 4.5% 24px;display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#a7af9f;gap:20px}.site-footer span:last-child{font-size:7px;letter-spacing:1.7px}.site-footer i{font-style:normal;font-size:13px;vertical-align:middle;margin-left:8px;color:#7cab80}
.room-view{max-width:1330px;margin:auto;padding:32px 4.5%}.room-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.room-heading .eyebrow{font-size:9px;color:#7d947c}.room-heading h1{font-size:27px;letter-spacing:-.8px;margin-top:7px;font-weight:800}.room-heading-tools{display:flex;align-items:center;gap:12px}.room-code-button{display:flex;align-items:center;gap:10px;background:#ebf2e4;padding:11px 14px;border-radius:8px;font-size:10px;color:#7f9277}.room-code-button strong{font-size:15px;letter-spacing:2px;color:var(--ink)}.room-code-button>span{font-size:17px}.room-heading .button{min-height:38px;font-size:10px;padding:8px 12px}.arena-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:28px;align-items:start}.arena-main{min-width:0}.arena-toolbar{display:flex;justify-content:space-between;align-items:center;position:relative;margin-bottom:12px;height:25px}.round-indicator{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:600}.round-indicator .dot{width:6px;height:6px;background:#83bc8b;border-radius:50%}#round-series{font-weight:400;font-size:9px;color:#94a08e;border-left:1px solid var(--line);padding-left:9px;margin-left:2px}.arena-clock{position:absolute;left:50%;transform:translateX(-50%);font:700 22px ui-monospace,monospace;letter-spacing:-1px}.arena-clock.urgent{color:#c46f4d}.small-help{background:transparent;border:1px solid #cbd6c1;border-radius:50%;height:22px;width:22px;font-size:12px}.arena-shell{position:relative;background:#c4d8af;border:7px solid #e2ebd4;border-radius:16px;overflow:hidden;box-shadow:0 5px 0 #c3d0b6,0 15px 35px #2e502c0d;isolation:isolate;aspect-ratio:15/13}#game-canvas{display:block;width:100%;height:100%;touch-action:none}.arena-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#163c2836;padding:18px}.overlay-card{text-align:center;background:#fffef4ef;border:1px solid #ffffffba;box-shadow:0 15px 35px #183d3726;backdrop-filter:blur(7px);border-radius:20px;padding:28px 33px;max-width:370px;width:100%}.overlay-eyebrow{font-size:9px;letter-spacing:2px;color:#8d9e80}.overlay-icon{font-size:44px;line-height:1.4;margin-bottom:4px;color:#3c8e69}.overlay-card h2{font-size:27px;letter-spacing:-1px;margin:5px 0 13px}.overlay-card p{font-size:11px;color:#82927b;line-height:1.8}.overlay-code{margin:19px auto 12px;font:700 30px ui-monospace,monospace;letter-spacing:6px;color:#35674d}.overlay-card .button{margin-top:18px;width:100%;justify-content:center}.overlay-card .subtle{margin-top:9px;font-size:9px}.overlay-card .score-line{display:flex;justify-content:center;align-items:center;gap:15px;margin:18px 0 4px;font-size:13px}.overlay-card .score-line b{font-size:25px}.overlay-card.countdown-card{background:none;box-shadow:none;border:0;backdrop-filter:none;color:#fffef0}.countdown-number{font-size:100px;font-weight:900;text-shadow:0 4px 0 #3c6e52;line-height:1.2}.countdown-card h2{font-size:23px;text-shadow:0 2px 5px #183d3755}.countdown-card p{color:white}.arena-message{position:absolute;left:50%;top:12px;transform:translateX(-50%);white-space:nowrap;background:#fffdeeeb;border:1px solid #d6d7b5;padding:8px 15px;border-radius:20px;font-size:10px;box-shadow:0 2px 8px #183d3710;z-index:3}.arena-footnote{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:9px;color:#7e9275;padding-top:17px;line-height:1.5;min-height:35px}.arena-footnote>span:first-child{display:flex;align-items:center;gap:6px}.status-dot{width:5px;height:5px;border-radius:50%;background:#72b887;display:inline-block}.status-dot.out{background:#c19083}.game-upgrades{display:flex;gap:9px;font-size:10px}.server-hint{font-size:8px;color:#a0ad97}.room-sidebar{padding-top:2px}.roster-header{display:flex;justify-content:space-between;align-items:center;padding:3px 0 13px;border-bottom:1px solid var(--line);gap:8px}.roster-header h2{font-size:12px}.roster-header h2 span{font-size:10px;color:#8d9d84;font-weight:400;margin-left:7px}.roster-header>span{font-size:8px;background:#e5edda;padding:4px 6px;border-radius:4px;color:#7c9471}.member-list{display:flex;flex-direction:column;gap:2px;margin-top:8px}.member-row{display:flex;align-items:center;gap:10px;min-height:57px;padding:7px 0;border-bottom:1px dashed #dce3d3}.member-avatar{width:34px;height:36px;flex-shrink:0}.member-detail{min-width:0;flex:1}.member-name{font-size:11px;font-weight:600;display:flex;gap:5px;align-items:center}.member-name>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.member-name .you-tag{font-size:7px;font-weight:500;color:#7da382;background:#e8f0df;padding:2px 4px;border-radius:3px;white-space:nowrap}.member-sub{font-size:8px;color:#92a18b;margin-top:5px}.member-status{font-size:9px;color:#8ca27c;white-space:nowrap}.member-status.ready{color:#3d8b65}.member-status.trapped{color:#3a98ba}.member-status.out{color:#bf8671}.member-wins{display:flex;gap:3px;align-items:center;font-size:9px}.win-pip{width:7px;height:7px;border-radius:50%;background:#e4e9db;border:1px solid #d0d9c5}.win-pip.won{background:#efca66;border-color:#cfaf54}.empty-member{display:flex;align-items:center;gap:11px;min-height:56px;padding:8px 0;color:#b3bdab;font-size:10px}.empty-member>span{height:34px;width:34px;border:1px dashed #cbd6bf;border-radius:50%;display:grid;place-items:center;font-size:16px}.room-actions{padding-top:14px}.room-actions>.button{width:100%;margin-bottom:10px;min-height:39px;font-size:11px}.room-actions>p{font-size:8px;color:#9aa58e;line-height:1.8;text-align:center}.team-switch{margin-top:13px;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:7px;font-size:8px}.team-switch>span{margin-right:auto;color:#95a28b}.team-switch button{font-size:8px;border-radius:5px;padding:6px;background:#e6ecdc;border:1px solid transparent}.team-switch button[data-team="1"]{background:#f7e7dc}.team-switch button.selected{border-color:#79b292;font-weight:600}.team-switch button[data-team="1"].selected{border-color:#d3a28b}.win-guide{background:#edf0dd;padding:21px 18px 16px;margin-top:23px;border-radius:2px 18px 2px 18px;position:relative;overflow:hidden}.guide-number{font-size:7px;letter-spacing:1.2px;color:#8a9b7a}.win-guide h3{font-size:24px;line-height:1.35;letter-spacing:-.8px;margin:13px 0}.win-guide p{font-size:9px;color:#869876;line-height:1.9}.win-guide b{color:#497658;font-weight:600}.guide-footer{border-top:1px solid #dae1c8;margin-top:15px;padding-top:13px;display:flex;align-items:center;gap:9px;font-size:8px;color:#879775}.little-bubble{display:grid;place-items:center;width:25px;height:25px;border:1px solid #83a86c;background:#c0e6a9;border-radius:50%;color:#587343;font-size:18px}.keyboard-guide{display:flex;flex-direction:column;gap:9px;font-size:8px;color:#94a387;margin-top:22px}.keyboard-guide span{display:flex;align-items:center;gap:6px}.keyboard-guide kbd{font-size:8px}.connection-banner{background:#fff1d7;border:1px solid #e8d4a5;border-radius:8px;font-size:11px;line-height:1.7;padding:10px 14px;margin-bottom:15px;color:#947244}.touch-controls{display:none;align-items:center;justify-content:space-between;padding:23px 12px 4px;touch-action:none;user-select:none;-webkit-user-select:none}.dpad{display:grid;grid-template-columns:40px 40px 40px;grid-template-rows:34px 34px 34px;gap:3px}.dpad button{background:#e7efdc;border:1px solid #ccdbc0;box-shadow:0 2px 0 #c0d0b1;border-radius:9px;font-size:21px;touch-action:none;user-select:none}.dpad button:active,.dpad button.pressed{background:#b8dfbd;transform:translateY(2px);box-shadow:none}.dpad-up{grid-column:2}.dpad-left{grid-row:2;grid-column:1}.dpad>span{grid-row:2;grid-column:2;background:#eff3e6;border-radius:10px}.dpad-right{grid-row:2;grid-column:3}.dpad-down{grid-row:3;grid-column:2}.touch-actions{display:flex;gap:15px;align-items:center}.touch-actions button{border-radius:50%;touch-action:none;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 4px 0 #86b4a1;border:1px solid #86b4a1}.touch-actions button:active{transform:translateY(3px);box-shadow:0 1px 0 #86b4a1}.bubble-control{width:78px;height:78px;background:#a4e0eb;font-size:43px;color:#3f8491}.bubble-control>span{line-height:.9}.touch-actions small{font-size:9px;margin-top:4px;font-weight:600}.needle-control{background:#f5e9a7;width:55px;height:55px;font-size:24px;color:#8b7948;border-color:#c9b674!important;box-shadow:0 3px 0 #c9b674!important}.needle-control:disabled{opacity:.4}
.leaderboard-view{max-width:1120px;margin:auto;min-height:70vh;padding:55px 4.5% 35px}.page-kicker{font-size:9px;letter-spacing:2px;color:#99a28f}.leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:15px 0 35px}.leaderboard-heading h1{font-size:34px;letter-spacing:-1px}.leaderboard-heading h1>span{font-size:29px;color:#8ac59b;margin-left:15px;display:inline-block}.leaderboard-heading p{font-size:12px;color:#8c9a83;margin-top:12px}.leaderboard-table{border-top:2px solid var(--ink)}.ranking-row{display:grid;grid-template-columns:65px minmax(120px,1fr) 70px 70px 80px;align-items:center;gap:20px;padding:19px 15px;border-bottom:1px solid var(--line);font-size:12px}.ranking-head{font-size:9px;color:#8b9b80;padding-top:15px;padding-bottom:15px;background:#eef2e4}.ranking-row>span:nth-child(n+3){text-align:right}.ranking-rank{font:600 16px ui-monospace,monospace;color:#8ba27b}.ranking-rank.top{color:#b09a4e}.ranking-name{display:flex;align-items:center;gap:12px;font-weight:600;min-width:0}.ranking-name svg{width:29px;height:32px;flex-shrink:0}.ranking-name b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-score{font-weight:750;color:#498461}.ranking-note{font-size:9px;color:#9ca68f;margin:16px 0 40px}.empty-state{font-size:12px;text-align:center;padding:40px 10px;color:#96a28b;line-height:1.9}.history-section h2{font-size:16px;border-bottom:1px solid var(--line);padding-bottom:15px}.history-section h2 span{font-size:8px;font-weight:400;color:#99a68d;letter-spacing:1px;margin-left:12px}.history-row{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:15px 10px;font-size:11px}.history-row .match-outcome{min-width:43px;padding:5px 9px;border-radius:5px;background:#dff0de;color:#559069;font-size:10px;font-weight:650}.history-row .match-outcome.lost{background:#eeeadd;color:#a3926b}.history-row .history-date{margin-left:auto;font-size:9px;color:#9caa92}.history-row .history-points{font-size:10px;color:#6a8e65}.rules-dialog{border:1px solid #dce5cf;border-radius:20px;background:var(--cream);color:var(--ink);padding:35px;max-width:535px;width:calc(100% - 32px);max-height:calc(100dvh - 35px);overflow:auto;box-shadow:0 20px 70px #183d3730}.rules-dialog::backdrop{background:#183d3769;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:17px;top:17px;font-weight:300;background:#f0f3e7}.rules-dialog .eyebrow{font-size:9px;margin:6px 0 16px;color:#8ca182}.rules-dialog h2{font-size:25px;letter-spacing:-1px;line-height:1.4}.rules-intro{font-size:11px;color:#88997c;line-height:1.9;margin:12px 0 22px}.rules-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}.rules-list li{display:flex;gap:15px}.rules-list li>span{font-size:17px;font-weight:700;color:#87b790;margin-top:1px}.rules-list h3{font-size:12px;margin-bottom:6px}.rules-list p{font-size:10px;line-height:1.9;color:#8b9b7e}.powerup-legend{display:flex;gap:11px;justify-content:space-between;margin:24px 0;padding:14px 0;border-block:1px solid var(--line)}.powerup-legend>span{display:flex;align-items:center;gap:5px;font-size:8px;color:#819472}.powerup{font-style:normal;display:grid;place-items:center;width:23px;height:23px;font-size:16px;border:1px solid #bfcca9;border-radius:6px;background:#d2eabf;color:#69904e}.powerup.range{background:#b8e5f3;border-color:#99c7d5;color:#508ba0}.powerup.speed{background:#f5de8e;border-color:#d8c071;color:#a3904d}.powerup.needle{background:#f2c2b9;border-color:#dba49c;color:#b2786d}.rules-bottom{font-size:9px;line-height:1.9;color:#9ba78f;margin-bottom:20px}.rules-dialog>.button{width:100%;justify-content:center}.toast-stack{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);z-index:100;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{background:#183d37;color:#f0f7e9;padding:12px 20px;border-radius:10px;box-shadow:0 6px 25px #183d3725;font-size:12px;line-height:1.6;max-width:460px;animation:toast-in .2s ease-out}.toast.error{background:#885648}.noscript{position:fixed;inset:auto 0 0;background:#f0d49c;color:#674b22;padding:20px;text-align:center;font-size:14px}.reduced-motion *{scroll-behavior:auto!important}@keyframes toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.home-view{padding-top:68px}.hero-copy h1{font-size:65px}.hero-description{font-size:15px}.illustration-wrap{min-height:515px}#hero-canvas{max-height:610px}.sticker-bottom{bottom:65px}}
@media(max-width:1120px){.site-header{padding-inline:4%;gap:15px}.top-nav{gap:25px}.home-view{padding:40px 4% 0;column-gap:3%;grid-template-columns:minmax(335px,.94fr) minmax(350px,1.06fr)}.hero-copy h1{font-size:45px;letter-spacing:-2px}.hero-description{font-size:12px;margin-top:23px}.mode-option{padding:10px 8px;gap:6px}.mode-icon{font-size:18px}.mode-option small{font-size:8px}.mode-option i{width:9px;height:9px}.illustration-wrap{min-height:410px}.sticker-top{width:85px;height:85px;font-size:10px;right:-3px;top:40px}.sticker-top b{font-size:12px}.sticker-top>span{font-size:18px}.sticker-bottom{font-size:8px;bottom:50px;left:0}.stage-bottomline{gap:11px;font-size:8px}.stage-bottomline .mobile-hint{display:none}.game-facts{gap:15px}.arena-layout{gap:20px;grid-template-columns:minmax(0,1fr) 235px}.win-guide{padding:18px 15px}.win-guide h3{font-size:22px}.room-view{padding-inline:4%}.server-hint{display:none}}
@media(max-width:820px){.site-header{padding:19px 5%;gap:15px}.brand-icon{width:37px;height:37px}.brand>span{font-size:19px}.brand small{font-size:7px;letter-spacing:1.8px}.top-nav{gap:20px}.nav-button{font-size:11px}.header-tools{gap:12px}.live-label{display:none}.sound-button{width:30px;height:30px}.home-view{padding:35px 5% 0;grid-template-columns:minmax(290px,1fr) minmax(270px,.92fr);column-gap:15px}.hero-copy h1{font-size:39px;letter-spacing:-1.6px}.eyebrow{font-size:9px}.hero-description{font-size:11px}.game-facts{gap:11px;font-size:8px;margin-bottom:21px}.game-facts b{font-size:15px}.mode-selector{gap:6px}.mode-option{padding:9px 7px;gap:5px}.mode-option small{display:none}.mode-option b{font-size:10px}.mode-icon{font-size:20px}.mode-option i{margin-left:auto}.play-actions{gap:6px}.button.big{font-size:11px;padding-inline:13px;height:46px}.nickname-field{height:41px}.nickname-field .enter-hint{font-size:8px}.join-form{font-size:10px;gap:9px}.join-form input{font-size:10px;width:93px}.home-note{font-size:8px}.illustration-wrap{min-height:350px}.stage-topline{font-size:7px}.stage-topline>span:last-child{font-size:6px}.sticker-top{width:75px;height:75px;top:55px;font-size:8px}.sticker-top b{font-size:10px}.sticker-bottom{bottom:45px;font-size:7px;padding:8px 10px}.sticker-bottom>span{font-size:18px}.stage-bottomline{gap:7px;font-size:7px}.stage-bottomline kbd{font-size:6px;padding:2px 3px}.home-bottom{margin-top:32px;font-size:8px;gap:10px}.home-bottom button{font-size:8px}.home-version{font-size:6px;letter-spacing:1px}.site-footer{padding-inline:5%}.arena-layout{grid-template-columns:minmax(0,1fr) 200px;gap:17px}.room-view{padding:25px 4%}.room-sidebar{font-size:10px}.member-row{gap:7px;min-height:51px}.member-avatar{width:28px;height:31px}.member-name{font-size:10px}.member-name>span:first-child{max-width:80px}.member-sub{font-size:7px}.member-status{font-size:8px}.win-guide{padding:16px 12px}.win-guide h3{font-size:20px}.win-guide p{font-size:8px}.guide-number{font-size:6px}.guide-footer{font-size:7px;gap:6px}.room-heading{margin-bottom:20px}.room-heading h1{font-size:24px}.room-code-button{font-size:8px;padding:9px 10px;gap:7px}.room-code-button strong{font-size:12px}.room-heading .button{font-size:9px}.arena-shell{border-width:5px;border-radius:12px}.overlay-card{padding:20px;max-width:295px;border-radius:15px}.overlay-card h2{font-size:23px}.overlay-card p{font-size:10px}.overlay-icon{font-size:36px}.overlay-code{font-size:26px;margin-block:14px 9px}.overlay-card .button{min-height:36px;font-size:10px}.overlay-eyebrow{font-size:8px}.arena-clock{font-size:19px}.round-indicator{font-size:9px}#round-series{font-size:7px}.arena-footnote{font-size:8px}.game-upgrades{font-size:8px;gap:6px}.roster-header h2{font-size:10px}.roster-header h2 span{font-size:8px}.roster-header>span{font-size:7px}.room-actions>.button{font-size:10px}.keyboard-guide{font-size:7px;gap:8px}.keyboard-guide kbd{font-size:7px}.team-switch{gap:4px}.team-switch button{font-size:7px;padding:5px}.team-switch>span{font-size:7px}}
@media(max-width:620px){.site-header{padding:16px 5%}.brand{gap:7px}.brand-icon{width:34px;height:34px}.brand>span{font-size:18px}.brand small{font-size:6px}.top-nav{gap:17px}.nav-button{font-size:10px}.nav-button span{display:none}.top-nav .nav-button:first-child{display:none}.header-tools{gap:0}.sound-button{width:28px;height:28px;font-size:20px}.sound-slash{left:4px;top:13px;width:19px}.home-view{display:flex;flex-direction:column;padding:31px 6% 0}.hero-copy h1{font-size:48px;line-height:1.22;letter-spacing:-2px;margin-top:17px}.eyebrow{font-size:9px}.tiny-spark{font-size:20px}.hero-description{font-size:12px;margin-top:23px;margin-bottom:15px;line-height:1.8}.game-facts{font-size:9px;gap:20px;margin-bottom:24px}.game-facts b{font-size:16px}.hero-stage{order:0;position:absolute;top:55px;right:0;width:45%;height:205px;pointer-events:none;opacity:.92;z-index:-1}.hero-copy{position:relative;z-index:1}.hero-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--cream),transparent 40%)}.stage-topline,.stage-bottomline,.stage-sticker{display:none}.illustration-wrap{min-height:0;height:100%;overflow:hidden;background:none;border-radius:0}#hero-canvas{width:370px;height:330px;max-height:none;transform:translateX(63px) rotate(-7deg);opacity:.4}.field-label{font-size:11px}.field-label span{font-size:9px}.nickname-field{height:46px}.nickname-field input{font-size:12px}.nickname-field .enter-hint{font-size:9px}.mode-selector{gap:10px;margin-top:12px}.mode-option{padding:13px 10px;gap:8px}.mode-option small{display:block;font-size:8px}.mode-option b{font-size:11px}.mode-option i{width:10px;height:10px}.play-actions{gap:10px;margin-top:14px}.button.big{height:51px;font-size:12px;padding-inline:17px}.join-form{font-size:11px;gap:12px;margin-top:23px}.join-form input{font-size:11px;width:113px}.join-form button{font-size:11px}.home-note{font-size:9px;margin-top:20px}.home-bottom{flex-wrap:wrap;justify-content:flex-start;gap:13px;margin-top:29px;padding:20px 0}.home-bottom>span:first-child{font-size:9px;width:100%}.home-bottom button{font-size:9px}.home-bottom .home-version{margin-left:auto;font-size:6px}.site-footer{font-size:7px;padding:16px 6% 21px;gap:10px}.site-footer>span:nth-child(2){font-size:7px}.site-footer>span:last-child{display:none}.room-view{padding:23px 4% 10px}.room-heading{margin-bottom:20px;gap:8px}.room-heading h1{font-size:23px;letter-spacing:-.6px}.room-heading .eyebrow{font-size:8px}.room-heading-tools{gap:6px;align-items:flex-end;flex-direction:column}.room-code-button{padding:7px 9px;font-size:7px;gap:7px}.room-code-button strong{font-size:11px;letter-spacing:1px}.room-code-button>span{font-size:13px}.room-heading .button{border:0;padding:2px 3px;min-height:20px;font-size:8px;gap:8px}.arena-layout{display:flex;flex-direction:column;gap:17px}.arena-main{width:100%}.arena-toolbar{height:21px;margin-bottom:10px;padding-inline:2px}.arena-clock{font-size:20px}.arena-shell{border-width:5px;border-radius:12px;box-shadow:0 4px 0 #c3d0b6,0 10px 25px #2e502c0d}.arena-footnote{padding:12px 2px 0;font-size:8px;min-height:28px}.game-upgrades{font-size:8px;gap:9px}.arena-overlay{padding:16px}.overlay-card{max-width:285px;padding:21px 23px}.overlay-card h2{font-size:24px}.overlay-icon{font-size:36px}.overlay-card p{font-size:10px}.overlay-code{font-size:25px;letter-spacing:5px}.countdown-number{font-size:86px}.arena-message{top:8px;font-size:8px;padding:6px 11px;max-width:90%;overflow:hidden;text-overflow:ellipsis}.touch-controls{display:flex}.room-sidebar{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:17px 0 0;border-top:1px solid var(--line)}.roster-header{grid-column:1/-1;padding-bottom:10px}.roster-header h2{font-size:11px}.roster-header h2 span{font-size:9px}.roster-header>span{font-size:8px}.member-list{grid-column:1;grid-row:2/4}.member-row{min-height:51px;gap:7px}.member-name{font-size:10px}.member-name>span:first-child{max-width:78px}.member-avatar{width:28px;height:32px}.member-status{font-size:8px}.member-sub{font-size:7px}.member-name .you-tag{font-size:6px;padding:2px 3px}.member-wins{gap:2px}.win-pip{width:5px;height:5px}.room-actions{grid-column:2;grid-row:2;padding-top:15px}.room-actions>.button{font-size:10px;min-height:35px;padding:9px 12px;margin-bottom:9px}.room-actions>p{font-size:7px}.team-switch{flex-wrap:wrap;margin-top:10px;padding-top:9px;gap:7px}.team-switch>span{font-size:8px}.team-switch button{font-size:8px;padding:6px}.win-guide{grid-column:2;grid-row:3;padding:13px 11px;margin-top:13px;border-radius:2px 12px 2px 12px}.guide-number{font-size:6px}.win-guide h3{font-size:19px;margin:10px 0}.win-guide p{font-size:7px;line-height:1.9}.guide-footer{margin-top:10px;padding-top:10px;font-size:6px;gap:5px}.little-bubble{width:20px;height:20px;font-size:15px;flex-shrink:0}.keyboard-guide{display:none}.empty-member{font-size:8px;min-height:50px;gap:8px}.empty-member>span{width:28px;height:28px;font-size:13px}.connection-banner{font-size:10px;padding:9px 11px}.leaderboard-view{padding:35px 5% 20px;min-height:75vh}.page-kicker{font-size:7px;letter-spacing:1.3px}.leaderboard-heading{margin:15px 0 25px;align-items:flex-start}.leaderboard-heading h1{font-size:26px}.leaderboard-heading h1>span{font-size:20px;margin-left:7px}.leaderboard-heading p{font-size:10px;line-height:1.8;max-width:200px}.leaderboard-heading>.button{font-size:8px;white-space:nowrap;padding:7px 10px;min-height:33px;margin-top:3px}.ranking-row{grid-template-columns:32px minmax(88px,1fr) 35px 35px 47px;gap:10px;padding:14px 8px;font-size:11px}.ranking-head{font-size:8px}.ranking-name{gap:7px}.ranking-name b{font-size:10px}.ranking-name svg{width:25px;height:28px}.ranking-rank{font-size:14px}.ranking-note{font-size:8px;line-height:1.8}.history-section h2{font-size:14px}.history-section h2 span{font-size:6px;margin-left:8px}.history-row{gap:12px;font-size:9px;padding:13px 4px}.history-row .history-date{font-size:7px;max-width:85px;text-align:right;line-height:1.6}.history-row .history-points{font-size:9px}.history-row .match-outcome{font-size:9px;min-width:36px;padding:5px 7px}.rules-dialog{padding:29px 23px;border-radius:17px}.rules-dialog h2{font-size:22px;max-width:270px}.rules-dialog .eyebrow{font-size:8px}.rules-intro{font-size:10px}.rules-list{gap:20px}.rules-list li{gap:12px}.rules-list li>span{font-size:16px}.rules-list h3{font-size:12px}.rules-list p{font-size:10px}.powerup-legend{gap:8px;flex-wrap:wrap;margin:22px 0;padding:13px 0}.powerup-legend>span{font-size:8px}.powerup{width:21px;height:21px;font-size:14px}.rules-bottom{font-size:9px}.toast-stack{bottom:max(20px,env(safe-area-inset-bottom))}.toast{font-size:11px;padding:11px 15px}}
@media(hover:none) and (min-width:621px){.touch-controls{display:flex}.keyboard-guide{display:none}}
@media(max-width:370px){.hero-copy h1{font-size:42px}.mode-option small{font-size:7px}.mode-icon{font-size:18px}.mode-option{padding:12px 8px;gap:6px}.button.big{font-size:11px;padding-inline:12px}.game-facts{gap:14px}.top-nav{gap:13px}.brand>span{font-size:16px}.brand-icon{width:31px;height:31px}.brand small{font-size:5px}.site-header{gap:10px}.ranking-row{gap:7px;grid-template-columns:27px minmax(76px,1fr) 32px 32px 43px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.home-view,.hero-word{isolation:isolate}
@media(max-width:620px){.hero-copy h1{font-size:clamp(38px,11vw,55px)}}
@media(max-width:370px){.hero-copy h1{font-size:clamp(32px,10.9vw,40px)}}

.bot-remove{border:0;background:transparent;color:var(--mint-deep);font:inherit;text-decoration:underline;padding:0 0 0 7px;cursor:pointer}
.overlay-card .button+.button{margin-top:10px}
.connection-banner{display:flex;align-items:center;justify-content:space-between;gap:12px}.connection-banner>span{flex:1}.connection-banner>.button{flex-shrink:0;font-size:inherit;min-height:30px;padding:6px 10px}
.overlay-card.solo-card .overlay-icon{display:none}
