:root{--cream:#fff4e0;--cream-2:#ffe9c9;--peach:#ffb38a;--coral:#ff7b6b;--coral-dark:#d95a4b;--honey:#ffd166;--teal:#5bc0be;--blue:#4a9fe0;--blue-dark:#357fbd;--green:#4fb46a;--green-dark:#3a9254;--ink:#5b4636;--ink-soft:#8a7262;--card:#fffaf2;--shadow:0 6px 0 #5b46362e;--radius:22px;--font:"Fredoka", "Baloo 2", Nunito, system-ui, sans-serif;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--cream);height:100%;color:var(--ink);font-family:var(--font);overscroll-behavior:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#game{visibility:hidden;position:fixed;inset:0}#game.active{visibility:visible}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}#ui>.hud{pointer-events:none}button{cursor:pointer;font-family:inherit}.btn{color:#fff;background:var(--ink-soft);border:0;border-radius:999px;padding:12px 22px;font-size:18px;font-weight:600;transition:transform 80ms,box-shadow 80ms;box-shadow:0 5px #0000002e}.btn:active{transform:translateY(4px);box-shadow:0 1px #0000002e}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--coral);box-shadow:0 5px 0 var(--coral-dark)}.btn-blue{background:var(--blue);box-shadow:0 5px 0 var(--blue-dark)}.btn-green{background:var(--green);box-shadow:0 5px 0 var(--green-dark)}.btn-ghost{color:var(--ink);background:#fff;box-shadow:0 5px #5b463626}.btn-big{padding:15px 30px;font-size:22px}.screen{padding:calc(16px + var(--safe-t)) 16px calc(16px + var(--safe-b));background:radial-gradient(circle at 20% 15%, #ffe2c2 0 18%, transparent 19%), radial-gradient(circle at 85% 80%, #ffd9cf 0 22%, transparent 23%), radial-gradient(circle at 90% 10%, #fff0b8 0 10%, transparent 11%), var(--cream);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.logo{color:var(--coral);letter-spacing:1px;text-shadow:0 4px 0 var(--coral-dark), 0 10px 18px #d95a4b40;margin:0;font-size:clamp(44px,12vw,84px);font-weight:700}.logo span{color:var(--blue);text-shadow:0 4px 0 var(--blue-dark), 0 10px 18px #357fbd40}.logo.small{font-size:clamp(36px,9vw,60px)}.tagline{color:var(--ink-soft);margin:8px 0 28px;font-size:20px}.splash-art{width:240px;height:110px;position:relative}.bubble{color:#fff;width:54px;height:54px;box-shadow:var(--shadow);border-radius:50%;place-items:center;font-size:28px;font-weight:700;animation:1.8s ease-in-out infinite bob;display:grid;position:absolute}.b0{background:var(--coral);top:40px;left:0}.b1{background:var(--blue);animation-delay:.2s;top:4px;left:50px}.b2{background:var(--honey);animation-delay:.4s;top:44px;left:102px}.b3{background:var(--green);animation-delay:.6s;top:2px;left:150px}.b4{background:var(--peach);animation-delay:.8s;top:46px;left:190px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.loadbar{background:#fff;border-radius:999px;width:min(320px,80vw);height:16px;overflow:hidden;box-shadow:inset 0 2px #00000014}.loadbar .fill{background:linear-gradient(90deg, var(--honey), var(--coral));width:0;height:100%;transition:width .2s}.splash-hint{color:var(--ink-soft);margin-top:14px;font-size:18px}.splash.ready{cursor:pointer}.splash.ready .splash-hint{color:var(--coral);font-weight:600;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.08)}}.card-screen{justify-content:flex-start;gap:14px}.card{background:var(--card);border-radius:var(--radius);width:min(560px,100%);box-shadow:var(--shadow);margin-top:auto;padding:22px 20px}.card h2{margin:0 0 14px;font-size:26px}.card h3{margin:18px 0 8px;font-size:18px}.card-foot{justify-content:space-between;align-items:center;gap:12px;width:min(560px,100%);margin-bottom:auto;padding-bottom:6px;display:flex}.card-foot>:only-child{margin-left:auto}.field-label{margin:16px 0 8px;font-weight:600;display:block}.text-input{width:100%;font:inherit;border:3px solid var(--cream-2);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:16px;outline:none;padding:12px 16px;font-size:20px}.text-input:focus{border-color:var(--peach)}.choice-list{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.choice{border:3px solid var(--cream-2);color:var(--ink);background:#fff;border-radius:16px;flex:160px;padding:12px;font-size:18px}.choice.active{border-color:var(--coral);background:#fff1ea;font-weight:600}.country-grid{grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px;max-height:38vh;padding:2px;display:grid;overflow-y:auto}.country{color:var(--ink);background:#fff;border:3px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:13px;display:flex}.country img{border-radius:6px;width:44px;height:33px;box-shadow:0 1px 3px #0003}.country.active{border-color:var(--coral);background:#fff1ea}.segmented{background:var(--cream-2);border-radius:999px;gap:4px;padding:4px;display:flex}.segmented button{color:var(--ink);background:0 0;border:0;border-radius:999px;flex:1;padding:10px 6px;font-size:16px}.segmented button.active{background:#fff;font-weight:600;box-shadow:0 3px #5b463626}.home{gap:18px}.hello{align-items:center;gap:10px;margin-top:16px;font-size:20px;display:flex}.hello img{border-radius:6px;width:40px;height:30px;box-shadow:0 1px 3px #0003}.menu{flex-direction:column;gap:16px;width:min(320px,90%);margin-top:12px;display:flex}.result .card{text-align:center}.result-emoji{font-size:64px;animation:1.6s ease-in-out infinite bob}.result-title{color:var(--coral);font-size:40px!important}.result.loss .result-title{color:var(--blue)}.winners{flex-wrap:wrap;justify-content:center;gap:10px;margin:4px 0 12px;display:flex}.winner{border:4px solid var(--team);background:color-mix(in srgb, var(--team) 12%, white);border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:10px 14px 8px;font-weight:600;animation:1.8s ease-in-out infinite bob;display:flex}.winner img{border-radius:8px;width:72px;height:54px;box-shadow:0 2px 6px #0003}.result-text{margin:0 0 16px;font-size:18px}.stats{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;display:grid}.stat{background:#fff;border-radius:16px;flex-direction:column;align-items:center;padding:10px 6px;display:flex}.stat-icon,.stat b{font-size:22px}.stat small{color:var(--ink-soft);text-align:center;font-size:13px}.record-list{flex-direction:column;gap:6px;max-height:30vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.record{border-left:6px solid var(--ink-soft);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.record.win{border-left-color:var(--green)}.record.draw{border-left-color:var(--honey)}.record.loss{border-left-color:var(--coral)}.record img{border-radius:4px;width:28px;height:21px}.record-main{flex:1}.record-side{color:var(--ink-soft);font-size:13px}.note{color:var(--ink-soft);margin:14px 0 0;font-size:13px}.saved{color:var(--green);font-weight:600}.confetti{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hud{position:absolute;inset:0}.hud>*{pointer-events:auto}.hud-top{padding:calc(8px + var(--safe-t)) 10px 8px;background:linear-gradient(var(--cream) 70%, #fff4e000);align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.hud-timer{background:#fff;border-radius:999px;flex:none;align-items:center;padding:6px 12px;font-size:20px;font-weight:700;display:flex;box-shadow:0 3px #5b463626}.hud-timer .t-icon{margin-right:4px}.hud-timer .t-digit{text-align:center;width:.62em;display:inline-block}.hud-timer .t-sep{text-align:center;width:.32em;display:inline-block}.hud-timer.urgent{color:#fff;background:var(--coral);animation:.8s ease-in-out infinite pulse}.hud-players{scrollbar-width:none;flex:1;gap:6px;display:flex;overflow-x:auto}.chip{border:3px solid var(--team);background:#fff;border-radius:999px;flex:none;align-items:center;gap:5px;padding:3px 9px 3px 4px;font-size:13px;display:flex}.chip img{border-radius:4px;width:24px;height:18px}.chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:76px;font-weight:600;overflow:hidden}.chip-me{background:color-mix(in srgb, var(--team) 18%, white)}.chip.out{opacity:.4;filter:grayscale()}.hud-actions{flex:none;gap:6px;display:flex}.icon-btn{width:40px;height:40px;color:var(--ink);background:#fff;border:0;border-radius:50%;font-size:20px;box-shadow:0 3px #5b463626}.hud-toast{top:calc(70px + var(--safe-t));opacity:0;color:#fff;background:var(--ink);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:92vw;padding:10px 18px;font-size:18px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;left:50%;overflow:hidden;transform:translate(-50%,-10px);pointer-events:none!important}.hud-toast.show{opacity:1;transform:translate(-50%)}.hud-toast.good{background:var(--green)}.hud-toast.bad{background:var(--coral)}.hud-toast.info{background:var(--blue)}.hud-dock{padding:10px 10px calc(10px + var(--safe-b));background:var(--card);border-radius:24px 24px 0 0;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #5b46361f}.hud-panel{background:#fff;border-radius:16px;flex-direction:column;justify-content:safe center;gap:6px;height:132px;padding:8px 12px;display:flex;overflow:hidden auto}.hud-panel.defense{box-shadow:inset 0 0 0 3px var(--coral);background:#fff0ec}.hud-panel.attack{background:#f0f7ff}.panel-title{flex-wrap:wrap;align-items:center;gap:6px;font-size:17px;font-weight:700;display:flex}.panel-hint{color:var(--ink-soft);text-align:center;margin:0;font-size:17px}.panel-info{color:var(--ink-soft);margin:0;font-size:14px}.cooldown{text-align:center;color:var(--coral);font-weight:600}.badges{flex-wrap:wrap;gap:4px;display:flex}.badge{background:#fff;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.question{flex-direction:column;gap:6px;display:flex}.expr{text-align:center;letter-spacing:1px;white-space:normal;overflow-wrap:anywhere;font-size:clamp(24px,7vw,34px);font-weight:700;line-height:1.25}.expr.long{font-size:22px}.expr.xlong{font-size:18px}.answer{background:var(--honey);min-width:1.6em;color:var(--ink);border-radius:10px;padding:0 8px;display:inline-block}.answer.empty{background:var(--cream-2);color:var(--ink-soft)}.timebar{background:var(--cream-2);border-radius:999px;height:10px;overflow:hidden}.timebar .fill{background:var(--green);border-radius:999px;height:100%}.timebar .fill.low{background:var(--coral)}.action{flex-direction:column;gap:6px;display:flex}.row{justify-content:flex-end;gap:10px;display:flex}.row .btn{padding:8px 18px;font-size:16px}.stepper{align-items:center;gap:12px;display:flex}.step{background:var(--cream-2);width:38px;height:38px;color:var(--ink);border:0;border-radius:50%;font-size:22px;font-weight:700}.step-value{text-align:center;min-width:80px;font-size:20px;font-weight:700}.step-value small{color:var(--ink-soft);font-weight:500}.keypad{grid-template-columns:repeat(6,1fr);grid-template-areas:"k1 k2 k3 k4 k5 kb""k6 k7 k8 k9 k0 ko";gap:6px;transition:opacity .15s;display:grid}.keypad.disabled{opacity:.45}.key{height:50px;color:var(--ink);touch-action:manipulation;background:#fff;border:0;border-radius:14px;font-size:24px;font-weight:700;box-shadow:0 4px #5b463626}.key:active{transform:translateY(3px);box-shadow:0 1px #5b463626}.key-ok{background:var(--green);color:#fff;box-shadow:0 4px 0 var(--green-dark)}.key-back{background:var(--cream-2)}.k-1{grid-area:k1}.k-2{grid-area:k2}.k-3{grid-area:k3}.k-4{grid-area:k4}.k-5{grid-area:k5}.k-6{grid-area:k6}.k-7{grid-area:k7}.k-8{grid-area:k8}.k-9{grid-area:k9}.k-0{grid-area:k0}.k-b{grid-area:kb}.k-o{grid-area:ko}@media (orientation:landscape) and (min-width:640px){.hud-dock{width:min(340px,40vw);padding-top:calc(64px + var(--safe-t));border-radius:24px 0 0 24px;justify-content:flex-end;top:0;left:auto}.hud-top{right:min(340px,40vw)}.hud-panel{flex:1;height:auto;min-height:140px;max-height:220px}.keypad{grid-template-columns:repeat(3,1fr);grid-template-areas:"k1 k2 k3""k4 k5 k6""k7 k8 k9""kb k0 ko"}}@media (orientation:landscape) and (max-height:480px){.key{height:40px;font-size:20px}.hud-panel{min-height:110px}.expr:not(.long):not(.xlong){font-size:24px}}.launcher{left:10px;top:calc(66px + var(--safe-t));flex-direction:column;gap:8px;display:flex;position:absolute}.launcher.hidden{display:none}.w-btn{width:58px;height:58px;color:var(--ink);touch-action:manipulation;background:#fff;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;padding:2px;display:flex;position:relative;box-shadow:0 4px #5b463633}.w-btn:active{transform:translateY(3px);box-shadow:0 1px #5b463633}.w-icon{font-size:24px;line-height:1}.w-name{text-overflow:ellipsis;white-space:nowrap;max-width:54px;font-size:10px;font-weight:600;overflow:hidden}.w-wait{color:#fff;pointer-events:none;border-radius:18px;place-items:center;font-size:15px;font-weight:700;display:grid;position:absolute;inset:0}.w-btn.locked .w-wait{--done:calc((1 - var(--p,0)) * 360deg);background:conic-gradient(#5b463600 0deg var(--done), #5b4636a8 var(--done) 360deg);overflow:hidden}.w-btn.locked .w-wait:after{content:"";transform-origin:50% 0;width:3px;height:75%;transform:rotate(calc(var(--done) + 180deg));background:#fffffff2;border-radius:2px;margin-left:-1.5px;position:absolute;top:50%;left:50%;box-shadow:0 0 4px #5b463680}.w-btn.armed{box-shadow:0 0 0 4px var(--honey), 0 4px 0 #5b463633;animation:.9s ease-in-out infinite pulse}.w-btn.firing{box-shadow:0 0 0 4px var(--coral), 0 4px 0 #5b463633}.hud-panel.weapon{box-shadow:inset 0 0 0 3px var(--honey);background:#fff7e6}.badge.tricky{background:var(--honey)}@media (orientation:landscape) and (max-height:480px){.w-btn{width:48px;height:48px}.w-name{display:none}}.launcher.sealed .w-wait{font-size:13px}.launcher.sealed .w-wait:before{content:"🔒";font-size:14px}.hud.alert:before{content:"";pointer-events:none;z-index:5;animation:.6s ease-in-out 3 alert-flash;position:absolute;inset:0;box-shadow:inset 0 0 0 6px #e8615ae6,inset 0 0 70px #e8615a8c}@keyframes alert-flash{50%{opacity:.25}}.hud-panel.intercept{box-shadow:inset 0 0 0 3px var(--coral);background:#ffecea;animation:.7s ease-in-out infinite intercept-pulse}@keyframes intercept-pulse{50%{box-shadow:inset 0 0 0 5px var(--coral-dark)}}.markers{pointer-events:none;position:absolute;inset:0}.edge-marker{border:3px solid var(--team);pointer-events:auto;touch-action:manipulation;background:#fff;border-radius:50%;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;display:grid;position:absolute;box-shadow:0 3px #5b463633}.edge-marker img{border-radius:4px;width:26px;height:20px}.em-arrow{width:16px;height:16px;color:var(--team);text-align:center;transform-origin:50%;margin:-8px 0 0 -8px;font-size:14px;line-height:16px;position:absolute;top:50%;left:50%}.em-troops{background:var(--team);color:#fff;border-radius:999px;min-width:20px;padding:0 4px;font-size:11px;font-weight:700;line-height:16px;position:absolute;bottom:-6px;right:-8px}.picker{align-items:center;gap:6px;display:flex}.soldier-list{scrollbar-width:none;flex:1;gap:4px;padding:2px;display:flex;overflow-x:auto}.soldier-card{border:2px solid var(--cream-2);opacity:.55;touch-action:manipulation;background:#fff;border-radius:9px;flex-direction:column;flex:none;justify-content:space-between;align-items:center;width:30px;height:40px;padding:1px;display:flex}.soldier-card.picked{opacity:1;border-color:var(--coral);background:#fff1ea}.sc-icon{font-size:13px;line-height:1}.sc-bar{background:var(--cream-2);border-radius:4px;align-items:flex-end;width:8px;height:18px;display:flex;overflow:hidden}.sc-fill{border-radius:4px;width:100%}.sc-fill.fresh{background:var(--green)}.sc-fill.tired{background:var(--honey)}.sc-fill.exhausted{background:var(--coral)}.badge.tired-badge{background:var(--honey)}.row.split{align-items:center}.row.split .panel-info{flex:1;font-size:12px;line-height:1.25}
