:root{color:#29483f;font-synthesis:none;--board-size:min(calc(100dvh - 40px), calc(100vw - 132px));background:#f5f3e9;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.4;cursor:default}button:focus-visible{outline-offset:3px;outline:3px solid #e99b4c}#game:focus-visible{outline:none}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{flex-direction:column;height:100dvh;padding:4px 8px 0;display:flex}.arena{grid-template-columns:48px var(--board-size) 48px;flex:1;justify-content:center;align-items:center;gap:10px;min-height:0;display:grid}.stage{width:var(--board-size);height:var(--board-size);border-radius:18px;position:relative;overflow:hidden}#game{touch-action:none;width:100%;height:100%}#game canvas{display:block}.player{--player:#c96b32;--tint:#f4e0ca;flex-direction:column;align-items:center;gap:18px;display:flex}.player-blue{--player:#3e7ea8;--tint:#dce8eb}.score{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px;display:flex}.player-dot{background:var(--player);border-radius:50%;align-self:center;width:10px;height:10px}.score strong{color:var(--player);font-size:24px;font-weight:650;line-height:1}.score>span:last-child{color:#89927e;font-size:10px}.dpad{display:none}.settings-shortcut{color:#6b7d62;background:0 0;border:0;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:64px;min-height:44px;padding:4px 0;font-size:9px;display:flex}.settings-shortcut:hover{background:#e6ebd9}.settings-shortcut kbd{border:1px solid #bac5ac;border-bottom-width:2px;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px;font-weight:600}.side-menu{z-index:10;flex-direction:column;gap:4px;display:flex;position:fixed;top:8px;right:0}.secondary-button.return-to-game{color:#fffbe8;background:#294f43;border-color:#294f43}.secondary-button.return-to-game:hover{background:#38634f}.sound-scopes{gap:6px;margin-bottom:12px;display:flex}.sound-scopes button{background:#f9f8ec;border:1px solid #cad3bc;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:42px;padding:7px;font-size:12px;display:flex}.sound-scopes [data-player-name]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rename-hint{opacity:.6;flex-shrink:0;font-size:11px}.player-name-form{gap:6px;margin-bottom:12px;display:flex}.player-name-form input{min-width:0;color:inherit;font:inherit;background:#fffdf4;border:1px solid #cad3bc;border-radius:6px;flex:1;padding:8px}.player-name-form button{background:#e2ebcb;border:1px solid #cad3bc;border-radius:6px;min-width:38px}.player-summary{flex-direction:column;align-items:center;gap:6px;width:64px;display:flex}.player-name{text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:4px;max-width:100%;min-height:24px;padding:2px 0;font-size:12px;font-weight:650;overflow:hidden}.player-name:hover{background:#e6ebd9}.player-summary .player-name{width:64px;font-size:10px}.title-controls .player-name{width:130px;margin-bottom:4px;display:block}.sound-scopes button[aria-pressed=true]{background:#e2ebcb;border-color:#7f9866;font-weight:700}.sound-slot{border-top:1px solid #dce2d1}.sound-row{grid-template-columns:minmax(0,1fr) auto 36px;align-items:center;gap:8px;min-height:54px;display:grid}.sound-edit{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;min-height:40px;padding:6px 0;font-size:13px;display:flex}.sound-edit[aria-expanded=true] span{transform:rotate(180deg)}.sound-editor select{color:#29483f;min-width:0;min-height:36px;font:inherit;background:#fffdf4;border:1px solid #cad3bc;border-radius:6px;padding:6px;font-size:12px}.sound-level{gap:2px;display:flex}.sound-level label{cursor:pointer;position:relative}.sound-level input{opacity:0;width:1px;height:1px;position:absolute}.sound-level span{background:#fffdf4;border:1px solid #cad3bc;border-radius:5px;place-items:center;min-width:35px;min-height:36px;padding:4px 6px;font-size:11px;display:grid}.sound-level input:checked+span{background:#e2ebcb;border-color:#7f9866;font-weight:700}.sound-level input:focus-visible+span{outline-offset:2px;outline:3px solid #e99b4c}.sound-level input:disabled+span{opacity:.4;cursor:default}.sound-editor{flex-wrap:wrap;align-items:center;gap:5px;padding:0 0 12px;display:flex}.sound-editor select{flex:1;width:130px}.sound-editor button{white-space:nowrap}.sound-preview,.sound-editor button{background:#f9f8ec;border:1px solid #d4dcc7;border-radius:6px;min-height:36px;padding:6px 9px;font-size:11px}.sound-edit:hover,.sound-preview:hover,.sound-editor button:hover{background:#eaf0dc}.sound-editor button.recording{background:#ffe1cb;border-color:#c47a59}.sound-slot.is-dragover{background:#e5edcf;border-radius:6px;outline:2px dashed #718b59}@media (any-pointer:coarse){.sound-scopes button,.sound-edit,.sound-level span,.player-name,.player-name-form button,.sound-editor select,.sound-editor button,.sound-preview{min-height:44px}.sound-row{grid-template-columns:minmax(0,1fr) auto 44px}.sound-level span{min-width:40px}}.menu-icon{font-size:19px;line-height:1}.footer{color:#7e8873;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;height:28px;font-size:9px;display:flex}.game-actions{gap:8px;display:flex}.game-actions button{background:0 0;border:0;border-radius:4px;place-items:center;width:26px;height:24px;padding:0;font-size:18px;display:grid}.game-actions button:hover{background:#e6ebd9}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1d3a3466;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.pause-card{text-align:center;background:#fbf9ed;border:2px solid #29483f;border-radius:20px;max-width:390px;padding:30px 32px;box-shadow:6px 6px #203a3433}.card-symbol{background:#e8edcf;border-radius:17px;place-items:center;width:56px;height:56px;margin-bottom:20px;font-size:29px;display:inline-grid}.pause-card h2{overflow-wrap:anywhere;letter-spacing:-1px;margin:0 0 10px;font-size:30px}.pause-card p{color:#77826b;margin:0 0 24px;font-size:14px;line-height:1.6}.play-button{background:#ffc066;border:2px solid #29483f;border-radius:9px;padding:12px 25px;font-weight:700;box-shadow:0 3px #29483f}.play-button:hover{background:#ffd18d}.overlay-hint{color:#839074;margin-top:18px;font-size:10px;display:block}@media (any-pointer:coarse){:root{--board-size:min(calc(100dvh - 60px), calc(100vw - 328px))}.arena{grid-template-columns:146px var(--board-size) 146px}.dpad{touch-action:none;grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px);gap:3px;display:grid}.dpad button{touch-action:none;-webkit-user-select:none;user-select:none;background:#faf9f1;border:1px solid #cdd4c0;border-bottom:3px solid #c6ceba;border-radius:8px;padding:0;font-size:20px}.dpad button:active{background:var(--tint);border-bottom-width:1px;transform:translateY(2px)}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-area:2/1}.dpad span{grid-area:2/2}.dpad button:nth-child(4){grid-area:2/3}.dpad button:last-child{grid-area:3/2}.footer{height:48px}.game-actions button{width:44px;height:44px}}@media (any-pointer:coarse) and (aspect-ratio<=6/5){:root{--board-size:min(calc(100dvh - 258px), calc(100vw - 16px))}.arena{grid-template-columns:repeat(2,1fr);align-content:center;gap:8px;padding-top:52px}.side-menu{flex-direction:row;top:4px;right:8px}.stage{grid-area:1/1/auto/-1;justify-self:center}.player{flex-direction:row;justify-content:center;gap:16px}}.menu-screen{min-height:100dvh;padding:36px 24px}.title-screen{background:radial-gradient(at 50% 35%,#e5ebcf,#0000 65%);place-items:center;display:grid}.title-card{text-align:center;width:min(480px,100%)}.menu-eyebrow{letter-spacing:2px;color:#82916c;margin:0 0 10px;font-size:10px;font-weight:750}.title-card h1{letter-spacing:-3px;margin:0;font-size:clamp(44px,7vw,68px);font-weight:850;line-height:1}.title-card h1 span{color:#bf6b37}.title-robots{justify-content:center;align-items:center;gap:30px;margin-bottom:38px;display:flex}.title-fruit{color:#d57548;font-size:40px}.menu-robot{--robot-color:#f18a45;background:var(--robot-color);border:4px solid #29483f;border-radius:21px;justify-content:center;align-items:center;gap:15px;width:92px;height:66px;display:inline-flex;position:relative;box-shadow:inset 0 7px #fff3,0 8px #29483f18}.menu-robot:before{content:"";background:#29483f;border-radius:4px;width:7px;height:20px;position:absolute;top:-23px;left:calc(50% - 3px)}.menu-robot:after{content:"";background:#29483f;border-radius:8px;width:61px;height:30px;position:absolute}.menu-robot i{z-index:1;background:#fff9dc;border-radius:3px;width:10px;height:13px}#title-robot-0{transform:rotate(-8deg)}#title-robot-1{--robot-color:#549ac5;transform:rotate(8deg)}.title-actions{gap:12px;width:250px;margin:auto;display:grid}.title-actions button{min-height:50px}.secondary-button{cursor:pointer;background:#faf9f1;border:1px solid #cad3bc;border-radius:9px;justify-content:center;align-items:center;padding:11px 18px;font-size:13px;font-weight:650;display:inline-flex}.secondary-button:hover{background:#e9efdb}.title-controls{color:#77856b;justify-content:center;gap:28px;margin-top:34px;font-size:12px;display:flex}.title-controls b{color:#385644;margin-bottom:4px;font-weight:650;display:block}.title-rule{color:#889378;margin-top:18px;font-size:10px;display:block}.title-links{justify-content:center;gap:18px;margin-top:30px;font-size:11px;display:flex}.title-links a{color:#77856b;text-underline-offset:3px;-webkit-text-decoration:underline #cad3bc;text-decoration:underline #cad3bc}.title-links a:hover{color:#29483f;text-decoration-color:currentColor}.title-links a:focus-visible{outline-offset:3px;border-radius:3px;outline:3px solid #e99b4c}.settings-screen{background:#f5f3e9;padding:24px}.settings-content{max-width:960px;margin:auto}.settings-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.settings-heading h1{letter-spacing:-1px;margin:0;font-size:30px;line-height:1.1}.settings-grid{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:14px;display:grid}.settings-left{gap:14px;display:grid}.settings-card{background:#fffdf4;border:1px solid #d6ddc8;border-radius:12px;padding:18px}.settings-card h2{letter-spacing:-.5px;margin:0 0 12px;font-size:18px}.toggle-line{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;display:flex}input[type=checkbox]{accent-color:#527453;cursor:pointer;width:22px;height:22px}.range-label{color:#677c5d;justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}input[type=range]{accent-color:#527453;cursor:pointer;width:100%}input:focus-visible{outline-offset:4px;outline:3px solid #e99b4c}.music-upload{gap:10px;margin-top:10px;display:grid}.file-label{justify-self:start;position:relative}.file-label:focus-within{outline-offset:3px;outline:3px solid #e99b4c}.music-actions{gap:6px;margin-top:8px;display:flex}.music-actions button,.sound-actions button{background:#f9f8ec;border:1px solid #d4dcc7;border-radius:7px;min-height:36px;padding:6px 9px;font-size:11px}.music-actions button:hover,.sound-actions button:hover{background:#eaf0dc}.color-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:14px;display:grid}.color-options>.color-player{flex-direction:column;align-items:center;gap:12px;min-width:0;font-size:12px;display:flex}.small-robot{border-width:3px;border-radius:14px;gap:10px;width:60px;height:44px}.small-robot:before{width:5px;height:14px;top:-17px}.small-robot:after{border-radius:5px;width:40px;height:20px}.small-robot i{border-radius:2px;width:7px;height:9px}input[type=color]{cursor:pointer;background:#f6f5eb;border:1px solid #d4dcc7;border-radius:6px;width:60px;height:30px;padding:2px}.settings-status{color:#a95736;margin:12px 0 0;font-size:12px}@media (width<=760px){.menu-screen{padding:24px 18px}.settings-grid{grid-template-columns:1fr}.settings-left{grid-template-columns:1fr 1fr;gap:12px}.settings-card{padding:18px}.settings-heading h1{font-size:28px}}@media (width<=520px){.settings-left{grid-template-columns:1fr}}@media (any-pointer:coarse){.secondary-button,.music-actions button,.sound-actions button{min-height:44px}.sound-actions button{min-width:44px}input[type=range]{min-height:32px}}.track-label{color:#677c5d;margin-bottom:8px;font-size:12px;display:block}#music-track{width:100%;font:inherit;color:#29483f;background:#f9f8ec;border:1px solid #d4dcc7;border-radius:7px;margin-bottom:12px;padding:10px 8px;font-size:12px}.settings-right{gap:14px;min-width:0;display:grid}.graphics-card{gap:14px;padding-block:12px;display:grid}.graphics-card h2{margin:0}.graphics-options{gap:6px;display:flex}.graphics-options label{cursor:pointer;position:relative}.graphics-options input{opacity:0;width:1px;height:1px;position:absolute}.graphics-options span{white-space:nowrap;background:#f9f8ec;border:1px solid #d4dcc7;border-radius:8px;place-items:center;min-height:44px;padding:8px 13px;font-size:12px;display:grid}.graphics-options input:checked+span{background:#dfebc9;border-color:#89a26a;font-weight:700}.graphics-options input[value=v2]:checked+span{color:#d5fac1;background:#234f4d;border-color:#234f4d}.graphics-options input:focus-visible+span{outline-offset:3px;outline:3px solid #e99b4c}[data-graphics=v2] .stage{box-shadow:0 12px 35px #173e3c30,0 0 0 1px #2e62544d}.graphics-environment{justify-content:space-between;align-items:center;gap:12px;display:flex}.skin-players{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.skin-player{min-width:0}.skin-player-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:7px;font-size:12px;font-weight:650;display:block;overflow:hidden}.skin-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.skin-options label{cursor:pointer;min-width:0;position:relative}.skin-options input{opacity:0;width:1px;height:1px;position:absolute}.skin-choice{background:#f9f8ec;border:1px solid #d4dcc7;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:72px;padding:7px 3px;font-size:10px;display:flex}.skin-choice img{object-fit:contain;width:34px;height:32px}.skin-portrait{background:var(--skin-color);border:3px solid #29483f;border-radius:9px;width:34px;height:27px;margin-block:3px 2px;display:block;position:relative;box-shadow:0 3px #29483f66}.skin-portrait:before{content:"";background:#29483f;border-radius:4px;position:absolute;inset:6px 4px}.skin-portrait:after{content:"";background:#fff9da;border-radius:2px;width:4px;height:6px;position:absolute;top:8px;left:7px;box-shadow:10px 0 #fff9da}.skin-portrait.scout{border-width:2px;border-radius:11px;box-shadow:inset 0 3px #fff8,0 4px #29483f}.skin-portrait.scout:after{border-radius:50%;width:6px;height:7px;top:8px}.skin-options input:checked+.skin-choice{background:#e2edd1;border-color:#7f9c6d;box-shadow:inset 0 0 0 1px #7f9c6d}.skin-options input:focus-visible+.skin-choice{outline-offset:3px;outline:3px solid #e99b4c}.choice-field{width:100%;min-width:0}.sound-editor .choice-field{flex:1;width:130px;min-width:130px}.choice-trigger,.sound-editor .choice-trigger{text-align:left;background:#f9f8ec;border:1px solid #d4dcc7;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;min-height:40px;padding:9px 12px;font-size:12px;display:flex}.choice-trigger>span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.choice-trigger>span:last-child{flex-shrink:0}.choice-list{overscroll-behavior:contain;color:#29483f;background:#fffdf4;border:1px solid #9cad8b;border-radius:8px;max-height:240px;margin:0;padding:4px;position:fixed;inset:auto;overflow-y:auto;box-shadow:0 8px 24px #173e3c33}.choice-list button{text-align:left;overflow-wrap:anywhere;background:0 0;border:0;border-radius:5px;width:100%;min-height:40px;padding:9px 12px 9px 28px;font-size:12px;display:block}.choice-list button[aria-selected=true]{background:#e2ebcb;font-weight:700;position:relative}.choice-list button[aria-selected=true]:before{content:"✓";position:absolute;left:9px}.choice-list button:hover,.choice-list button:focus-visible{outline-offset:-2px;background:#d3e5bd;outline:2px solid #7f9866}@media (any-pointer:coarse){.choice-trigger,.sound-editor .choice-trigger,.choice-list button{min-height:44px}}
