@font-face{font-family:Josefin Sans;src:url(/assets/fonts/JosefinSans.ttf) format("truetype");font-weight:100 700;font-display:swap}@font-face{font-family:Nunito;src:url(/assets/fonts/Nunito.ttf) format("truetype");font-weight:200 900;font-display:swap}:root{color-scheme:dark;--game-font: "Josefin Sans", "Nunito", "Avenir Next", "SF Pro Rounded", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--game-font);--bg: #10151a;--panel: rgba(21, 28, 32, .92);--panel-strong: rgba(15, 20, 24, .96);--line: rgba(225, 238, 220, .18);--text: #f4f7f2;--muted: #aeb9ad;--accent: #f2b84b;--accent-2: #5fc9a2;--danger: #ef6f6c;--shadow: 0 16px 60px rgba(0, 0, 0, .34)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}button,input,select{font:inherit}button{border:1px solid var(--line);border-radius:6px;background:#f5f7ee14;color:var(--text);padding:11px 14px;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}button:hover{background:#f5f7ee24;border-color:#f5f7ee57}button:active{transform:translateY(1px)}button.primary{border-color:#f2b84bb8;background:linear-gradient(180deg,#f2b84b,#c9822f);color:#1d170f;font-weight:700}input,select{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:#00000038;color:var(--text);padding:10px 11px;outline:none}input:focus{border-color:var(--accent-2)}select:focus{border-color:var(--accent-2)}.hidden{display:none!important}.auth-screen{--menu-font: "Fredoka", "Avenir Next Rounded", "SF Pro Rounded", var(--game-font);--menu-ink: #29414e;--menu-ink-soft: #557284;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:24px;overflow:hidden;color-scheme:light;color:var(--menu-ink);background:linear-gradient(180deg,#4fb6d9,#79cde2 26%,#a9e3e6 46%,#dff3e7,#ffe8bd 78%,#ffd79c 88%,#ffc98a)}.invite-landscape{z-index:1}.invite-card{position:relative;z-index:2;width:min(440px,100%);display:grid;justify-items:center;gap:14px;padding:30px 30px 28px;text-align:center;border-radius:24px;border:1px solid rgba(255,255,255,.9);background:#ffffffd1;box-shadow:0 24px 60px #29414e42;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:menu-title-pop .7s cubic-bezier(.28,1.6,.42,1) both}.invite-heads{display:flex;justify-content:center}.invite-head{width:48px;height:48px;margin-left:-12px;border-radius:50%;background:linear-gradient(180deg,#eaf7fb,#cfeaf1);box-shadow:inset 0 0 0 2px #fff,0 6px 14px #29414e38;display:grid;place-items:center;overflow:hidden}.invite-head:first-child{margin-left:0}.invite-head img{width:42px;height:42px;object-fit:contain}.invite-title{font-size:clamp(42px,8vw,62px);line-height:.95;animation:none}.invite-view{display:grid;justify-items:center;gap:12px;width:100%}.invite-lead{margin:0;font-family:var(--menu-font);font-size:clamp(19px,4vw,24px);font-weight:700;color:var(--menu-ink)}.invite-copy{margin:0;max-width:34ch;color:var(--menu-ink-soft);line-height:1.5}.auth-kicker{margin:0;color:#2ba3c4;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700}.invite-note{margin:4px 0 0;padding:9px 14px;border-radius:12px;border:1px solid rgba(214,90,74,.4);background:#ee6f6c24;color:#c0392b;font-size:14px}.invite-note:empty{display:none}.invite-cta{width:100%;border:1px solid rgba(242,184,75,.72);border-radius:14px;background:linear-gradient(180deg,#ffca5f,#ef9d33);color:#4a2f10;font-family:var(--menu-font);font-weight:700;font-size:18px;padding:14px 16px;box-shadow:0 10px 22px #e08c2852}.invite-cta:hover:not(:disabled){filter:brightness(1.04);border-color:#f2b84be6}.invite-cta:disabled{opacity:.6;cursor:default}@media(max-width:520px){.invite-card{padding:24px 20px 22px;border-radius:20px}.invite-head{width:40px;height:40px}.invite-head img{width:34px;height:34px}}.account-chip{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 10px;border-radius:999px;background:#00000047}.account-chip button{padding:5px 8px;border-radius:999px}.account-chip .account-profile{display:grid;gap:1px;padding:3px 8px;border:0;background:transparent;text-align:left}.account-profile small{color:#87d8ee;font-size:10px;font-weight:700}.profile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:grid;place-items:center;padding:22px;background:#070d11bd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.profile-card{width:min(680px,100%);max-height:min(820px,calc(100vh - 44px));overflow:auto;display:grid;gap:18px;padding:26px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:linear-gradient(160deg,#1b3037fa,#0b1419fa);box-shadow:0 30px 100px #0000008f}.profile-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.profile-header h2{font-size:30px}.profile-kicker{margin:0 0 5px;color:#68cbe7;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.profile-email{margin:5px 0 0;color:var(--muted)}.profile-close{width:38px;height:38px;padding:0;border-radius:50%}.profile-elo{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:12px;padding:18px 20px;border-radius:16px;background:linear-gradient(120deg,#168eb1,#2da47f)}.profile-elo span{font-size:16px;font-weight:800;text-transform:uppercase}.profile-elo strong{font-size:44px;line-height:1}.profile-elo small{grid-column:2;opacity:.8}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.profile-stats div{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#ffffff0a;text-align:center}.profile-stats strong{font-size:24px}.profile-stats span{color:var(--muted);font-size:12px}.profile-name-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.profile-name-form label{display:grid;gap:6px;color:var(--muted);font-size:12px}.profile-error{min-height:18px;margin:-8px 0 0;color:var(--danger)}.profile-history-section{display:grid;gap:10px}.profile-history-section h3{margin:0}.profile-history{display:grid;gap:8px}.profile-history-empty{margin:0;padding:20px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}.profile-match{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-left:4px solid #7f929c;border-radius:10px;background:#ffffff0b}.profile-match>div{display:grid;gap:3px}.profile-match span,.profile-match small{color:var(--muted)}.profile-match-win{border-left-color:#57d59e}.profile-match-loss{border-left-color:#ee7474}.profile-match-draw{border-left-color:#e9c568}.profile-match-meta{justify-items:end;white-space:nowrap}.profile-match-meta .positive{color:#64dfa8}.profile-match-meta .negative{color:#f18383}@media(max-width:560px){.profile-overlay{padding:8px}.profile-card{max-height:calc(100vh - 16px);padding:18px;border-radius:16px}.profile-stats{grid-template-columns:repeat(2,1fr)}.profile-name-form{grid-template-columns:1fr}.profile-match{align-items:start}}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12500;overflow:auto;padding:24px;background:#050c10cc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.admin-shell{width:min(1080px,100%);margin:0 auto;display:grid;gap:16px;padding:26px;border:1px solid rgba(255,255,255,.15);border-radius:24px;background:linear-gradient(155deg,#1a2f36fc,#091217fc);box-shadow:0 30px 100px #0009}.admin-header{display:flex;justify-content:space-between;gap:20px}.admin-header h2{margin:4px 0;font-size:34px}.admin-header>div>p:last-child{margin:0;color:var(--muted)}.admin-kicker{margin:0;color:#67d7b0;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.admin-stat{padding:15px;border:1px solid var(--line);border-radius:15px;background:#ffffff0b}.admin-stat strong{display:block;font-size:28px}.admin-stat span{color:var(--muted);font-size:12px}.admin-section{display:grid;gap:11px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#00000024}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-section h3{margin:0}.admin-section-head span{color:var(--muted);font-size:12px}.admin-account-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.admin-account-form label{display:grid;gap:5px;color:var(--muted);font-size:12px}.admin-credential{padding:14px;border:1px solid rgba(100,220,170,.36);border-radius:12px;background:#46b4871f;line-height:1.55}.admin-credential code{-webkit-user-select:all;user-select:all;color:#8ce9bd;word-break:break-all}.admin-credential button{margin-left:10px;padding:6px 10px}.admin-list{display:grid;gap:7px}.admin-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:12px;align-items:center;padding:11px 13px;border-radius:11px;background:#ffffff0b}.admin-row-main{display:grid;gap:2px}.admin-row-main span,.admin-row small{color:var(--muted)}.admin-row-actions{display:flex;gap:6px}.admin-row-actions button{padding:7px 10px;font-size:12px}.admin-row-disabled{opacity:.52}.admin-bug{grid-template-columns:minmax(0,1fr) auto;align-items:start}.admin-bug p{margin:4px 0 0;color:#dfe8e1;line-height:1.4}@media(max-width:720px){.admin-overlay{padding:7px}.admin-shell{padding:16px;border-radius:17px}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-account-form,.admin-row{grid-template-columns:1fr}}.error-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(135deg,#0d1316,#111b18 48%,#171410);background-size:34px 34px,34px 34px,auto}.error-panel{width:min(560px,100%);border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);padding:26px}h1,h2{margin:0;letter-spacing:0}h1{font-size:44px;line-height:1}h2{font-size:20px}.error-panel .debug-grid{margin:18px 0}.diagnostics{margin:16px 0 0;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#00000047;color:#d5f6e5;padding:12px;white-space:pre-wrap}.row-actions{display:flex;gap:10px}.game-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1417}.game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;overscroll-behavior:none}.game-canvas canvas{display:block;touch-action:none}.debug-panel,.sandbox-panel,.event-log,.game-chat{position:absolute;border:1px solid var(--line);background:var(--panel-strong);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.debug-panel{z-index:40;pointer-events:auto}.sandbox-panel{z-index:42;pointer-events:auto}.event-log{z-index:10}.game-hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none}.hud-top-stats{position:absolute;top:12px;left:50%;display:flex;align-items:center;justify-content:center;gap:8px;transform:translate(-50%);padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:linear-gradient(180deg,#0a0f12c7,#0a0f127a);box-shadow:0 8px 24px #00000038;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f8faf0;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.84);pointer-events:none}.hud-top-stat{display:grid;gap:3px;min-width:74px;padding:0 8px}.hud-top-stat+.hud-top-stat{border-left:1px solid rgba(255,255,255,.16)}.hud-top-stat span{color:#f7faf1eb;font-size:17px;line-height:1;font-weight:400}.hud-top-stat strong{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:38px;line-height:.96;font-weight:300}.hud-top-stat small{color:#f7faf1c2;font-size:12px;font-weight:700;line-height:1}.star-icon{display:inline-block;width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.75));transform:translateY(-1px)}.star-icon-fallback{color:#f4c84e;line-height:1}.hud-bottom-actions{position:absolute;left:50%;bottom:18px;display:flex;align-items:flex-end;justify-content:center;gap:14px;transform:translate(-50%);pointer-events:auto}.hud-circle-button{display:grid;justify-items:center;gap:4px;width:64px;min-height:72px;border:0;background:transparent;color:#f9fbf1;padding:0;text-shadow:0 2px 8px rgba(0,0,0,.8)}.hud-circle-button span{display:grid;place-items:center;width:52px;height:52px;border:2px solid rgba(255,255,255,.84);border-radius:50%;background:#0c1215d1;box-shadow:0 12px 24px #00000061,inset 0 0 0 2px #ffffff14;font-size:24px;line-height:1}.hud-toast{position:absolute;left:50%;bottom:118px;transform:translate(-50%);z-index:55;max-width:min(420px,calc(100vw - 40px));padding:10px 18px;border-radius:999px;background:#0f1418f0;color:#ffd7d4;font-size:14px;box-shadow:0 10px 28px #00000073;pointer-events:none;animation:hud-toast-in .18s ease-out}@keyframes hud-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.turn-toast{position:absolute;top:168px;left:50%;z-index:60;padding:14px 34px;border-radius:14px;background:linear-gradient(180deg,#2ecc71f0,#167e4af0);border:1px solid rgba(255,255,255,.35);box-shadow:0 16px 40px #00000080;color:#fff;font-size:26px;font-weight:700;letter-spacing:.3px;white-space:nowrap;text-shadow:0 2px 6px rgba(0,0,0,.55);pointer-events:none;animation:turn-toast-pop 1.8s ease}@keyframes turn-toast-pop{0%{opacity:0;transform:translate(-50%,-14px) scale(.9)}14%{opacity:1;transform:translate(-50%) scale(1)}80%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-10px) scale(.96)}}.tribe-met-popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:70;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:260px;max-width:min(360px,calc(100vw - 40px));padding:26px 30px 22px;border-radius:18px;background:linear-gradient(180deg,#181e24f7,#0e1216f7);border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 60px #0009;color:#fff;text-align:center;animation:tribe-met-pop .26s ease-out}.tribe-met-head{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}.tribe-met-title{font-size:20px;font-weight:700;letter-spacing:.2px;text-shadow:0 2px 6px rgba(0,0,0,.5)}.tribe-met-reward{font-size:26px;font-weight:800;color:#ffd54a;text-shadow:0 2px 8px rgba(0,0,0,.55)}.tribe-met-close{margin-top:6px;padding:8px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#2ecc71e6;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.tribe-met-close:hover{background:#2ecc71}@keyframes tribe-met-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.86)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.stats-diplo{white-space:nowrap;text-align:center}.diplo-peace{font-size:15px;margin-right:4px}.diplo-btn{padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#2ecc71d9;color:#fff;font-size:12px;font-weight:600;cursor:pointer}.diplo-btn.diplo-break{background:#e74c3cd9}.diplo-btn:hover{filter:brightness(1.1)}.diplomacy-popup,.peace-incoming-popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:72;display:flex;flex-direction:column;gap:10px;min-width:300px;max-width:min(420px,calc(100vw - 40px));padding:20px 22px;border-radius:16px;background:linear-gradient(180deg,#181e24fa,#0e1216fa);border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 60px #0009;color:#fff;animation:tribe-met-pop .22s ease-out}.diplomacy-title,.peace-incoming-title{font-size:17px;font-weight:700;text-align:center}.diplomacy-row{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap}.diplomacy-row select,.diplomacy-row input{background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;padding:4px 8px;font-size:13px}.diplomacy-row input{width:64px}.diplomacy-actions,.peace-incoming-actions{display:flex;gap:10px;justify-content:center;margin-top:6px}.diplomacy-actions button,.peace-incoming-actions button{padding:8px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.28);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.diplo-send,.peace-accept{background:#2ecc71e6}.diplo-cancel,.peace-decline{background:#78828c99}.peace-incoming-terms{font-size:13px;line-height:1.5;text-align:center;color:#d7dee6}.daynight-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;opacity:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,transparent 45%,rgba(6,9,30,.5) 100%);transition:opacity .8s ease}.daynight-overlay.daynight-night{opacity:1}.daynight-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 46%,#0a0f2800 34%,#060a1e47 78%,#04071680)}.daynight-chip{position:absolute;top:122px;left:50%;transform:translate(-50%);z-index:32;display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:linear-gradient(180deg,#141a1eb8,#141a1e75);box-shadow:0 6px 18px #00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f4f7ee;font-size:14px;font-weight:600;white-space:nowrap;text-shadow:0 2px 6px rgba(0,0,0,.7);pointer-events:none;transition:background .35s ease,color .35s ease,border-color .35s ease}.daynight-chip--day{background:linear-gradient(180deg,#463a1ab8,#3c321680);border-color:#f2c86e52;color:#ffe7c2}.daynight-chip--night{background:linear-gradient(180deg,#181e3ed1,#12183494);border-color:#96a8e657;color:#dfe4ff}.turn-chip{position:absolute;top:122px;left:50%;transform:translate(-50%);z-index:32;display:inline-flex;align-items:center;padding:5px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:linear-gradient(180deg,#141a1eb8,#141a1e75);box-shadow:0 6px 18px #00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f4f7ee;font-size:14px;font-weight:600;white-space:nowrap;text-shadow:0 2px 6px rgba(0,0,0,.7);pointer-events:none;transition:background .35s ease,color .35s ease,border-color .35s ease}.turn-chip--mine{background:linear-gradient(180deg,#2ecc7140,#1e8c4e2e);border-color:#2ecc7166;color:#d9ffe9}.turn-chip--other{background:linear-gradient(180deg,#141a1eb8,#141a1e75);border-color:#ffffff29;color:#f4f7ee}.turn-chip--enter{animation:turn-chip-in .32s cubic-bezier(.22,1,.36,1)}@keyframes turn-chip-in{0%{opacity:0;transform:translate(-50%) scale(.92)}to{opacity:1;transform:translate(-50%) scale(1)}}.opponent-turn-chip{display:none!important}.hud-circle-button.hud-disabled{opacity:.4;filter:grayscale(.5);pointer-events:none}.weather-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;overflow:hidden}.weather-layer{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .6s ease;pointer-events:none}.weather-overlay.weather-rain .weather-layer-rain,.weather-overlay.weather-fog .weather-layer-fog{opacity:1}.weather-layer-rain{background:#283c5a0a}.weather-layer-rain:before,.weather-layer-rain:after{background-image:linear-gradient(105deg,transparent 0 45%,rgba(205,226,250,.6) 45% 55%,transparent 55% 100%);background-size:38px 52px;opacity:.28;animation:weather-rain-far 1.1s linear infinite}.weather-layer-rain:before{background-image:linear-gradient(105deg,transparent 0 42%,rgba(222,238,255,.85) 42% 58%,transparent 58% 100%);background-size:26px 34px;opacity:.4;animation:weather-rain-near .6s linear infinite}.weather-layer-rain:after{background-image:repeating-linear-gradient(105deg,transparent 0 22px,rgba(214,228,245,.25) 22px 23px,transparent 23px 45px);opacity:.12;animation:weather-rain-far 1.2s linear infinite}@keyframes weather-rain-near{0%{transform:translate(0)}to{transform:translate(-52px,340px)}}@keyframes weather-rain-far{0%{transform:translate(0)}to{transform:translate(-44px,300px)}}.weather-layer-fog{background-image:radial-gradient(circle at 50% 45%,#d8dbe00a,#cdd1d842 68%,#c6cad266);background-size:160% 160%;background-position:20% 30%;animation:weather-fog-drift 24s ease-in-out infinite alternate}@keyframes weather-fog-drift{0%{background-position:20% 30%}to{background-position:80% 70%}}.weather-plaque{position:absolute;top:86px;left:50%;transform:translate(-50%);z-index:32;display:inline-flex;align-items:center;justify-content:center;min-width:176px;gap:6px;padding:6px 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:linear-gradient(180deg,#141a1eb8,#141a1e75);box-shadow:0 6px 18px #00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f4f7ee;font-size:15px;font-weight:600;white-space:nowrap;text-shadow:0 2px 6px rgba(0,0,0,.7);pointer-events:none;transition:background .35s ease,color .35s ease,box-shadow .35s ease,border-color .35s ease}.weather-plaque--clear{background:linear-gradient(180deg,#1c221ea3,#1c221e66);color:#eef3e6}.weather-plaque--rain{background:linear-gradient(180deg,#264a6ecc,#1e3a588c);border-color:#96c8f059;color:#e6f2ff;box-shadow:0 6px 20px #143c6459}.weather-plaque--fog{background:linear-gradient(180deg,#60646ccc,#4e525a8c);border-color:#d2d6dc4d;color:#f0f1f4}.weather-plaque--enter{animation:weather-plaque-in .38s cubic-bezier(.22,1,.36,1)}@keyframes weather-plaque-in{0%{opacity:0;transform:translate(-50%) translateY(-14px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.weather-plaque--ending{animation:weather-plaque-pulse 1.1s ease-in-out infinite}@keyframes weather-plaque-pulse{0%,to{transform:translate(-50%) scale(1);box-shadow:0 6px 18px #00000047}50%{transform:translate(-50%) scale(1.05);box-shadow:0 8px 26px #ffffff2e}}.hud-action-icon{width:28px;height:28px;object-fit:contain;-webkit-user-drag:none}.hud-stats-icon{position:relative}.hud-tribe-head{width:40px;height:40px}.hud-rank-badge{position:absolute;top:-4px;right:-8px;min-width:20px;padding:1px 4px;border-radius:8px;background:#4caf50;border:1.5px solid rgba(255,255,255,.9);color:#fff;font-style:normal;font-size:9px;font-weight:700;line-height:15px;text-align:center;box-shadow:0 2px 6px #00000073}.hud-rank-badge--lower{background:#8a8f98}.hud-rank-badge--bump{animation:hud-rank-badge-bump .32s ease-out}@keyframes hud-rank-badge-bump{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.hud-circle-button strong{max-width:78px;font-size:10px;line-height:1.1;font-weight:600;white-space:normal}.hud-circle-button:hover{background:transparent;transform:translateY(-1px)}.hud-circle-button:hover span{border-color:#fff;background:#182126e6}.hud-circle-button.primary,.hud-circle-button.primary:hover{background:transparent;color:#f8faf0}.hud-circle-button.primary span{border-color:#fffffff5;background:#181f1fe6}.debug-panel{left:18px;bottom:90px;width:min(300px,calc(100vw - 36px));max-height:min(360px,calc(100vh - 150px));overflow:auto;border-radius:8px;padding:14px}.sandbox-panel{top:92px;right:18px;width:276px;max-height:calc(100vh - 120px);overflow:auto;border-radius:8px;padding:14px}.sandbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sandbox-head strong{font-size:18px}.sandbox-head span{border-radius:999px;background:#5fc9a224;color:#89ffd5;padding:4px 8px;font-size:11px;font-weight:800;text-transform:uppercase}.sandbox-toggle,.sandbox-checks label,.sandbox-grid label{display:grid;gap:6px}.sandbox-toggle,.sandbox-checks label{grid-template-columns:auto 1fr;align-items:center}.sandbox-grid{display:grid;gap:10px;margin-top:12px}.sandbox-grid span{color:var(--muted);font-size:12px;font-weight:700}.sandbox-checks{display:grid;gap:8px;margin-top:12px;color:#f4f7f2e6;font-size:13px}.sandbox-panel input[type=checkbox]{width:auto;margin:0}.sandbox-panel p{margin:12px 0 0;color:#f4f7f2b8;font-size:12px;line-height:1.35}.debug-panel.unit-summary-panel{left:18px;bottom:18px;width:min(460px,calc(100vw - 560px));max-height:none;overflow:visible;border:0;padding:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.debug-panel.unit-info-panel{width:min(620px,calc(100vw - 36px));max-height:min(500px,calc(100vh - 130px));border-color:#fff3;background:#000000d6;box-shadow:0 20px 70px #00000080,inset 0 0 0 1px #ffffff0d;padding:18px 20px 20px}.debug-panel h3{margin:0 0 10px;font-size:16px}.debug-grid{display:grid;grid-template-columns:minmax(76px,auto) 1fr;gap:8px 12px;color:var(--muted);font-size:13px}.debug-grid strong{color:var(--text)}.city-upgrade-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:36;display:grid;place-items:center;padding:24px;pointer-events:none}.city-upgrade-card{position:relative;width:min(360px,calc(100vw - 48px));border-radius:22px;border-image:url(/assets/ui/chrome/PopupBg.png) 44 fill / 22px stretch;background:#fff;box-shadow:0 18px 60px #0000006b;padding:20px 22px 22px;color:#23282e;text-align:left;text-shadow:none;pointer-events:auto}.city-upgrade-card h2{margin:0 34px 8px 0;font-size:25px;line-height:1;font-style:italic;font-weight:400}.city-upgrade-card p{margin:0 0 16px;color:#23282ea8;font-size:15px;line-height:1.25;font-weight:400}.city-upgrade-close{position:absolute;top:10px;right:10px;display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:50%;background:#23282e1a;color:#23282e;padding:0 0 3px;font-size:25px;line-height:1}.city-upgrade-options{display:flex;justify-content:center;gap:18px}.city-upgrade-option{display:grid;justify-items:center;gap:8px;width:112px;border:0;background:transparent;padding:0;color:#23282e}.city-upgrade-option:hover{background:transparent;transform:translateY(-2px)}.city-upgrade-icon{position:relative;display:grid;width:82px;height:82px;place-items:center;overflow:hidden;border:3px solid rgba(232,251,255,.95);border-radius:50%;background:radial-gradient(circle at 50% 42%,#75ddfffa,#1e96e5fa 66%,#106ec9fa);box-shadow:0 0 18px #4dd3ffa8,inset 0 0 10px #ffffff38}.city-upgrade-icon img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(0,0,0,.35))}.city-upgrade-icon.resources em,.city-upgrade-icon.workshop em{position:absolute;right:12px;bottom:11px;color:#fff;font-size:20px;font-style:normal;font-weight:500}.city-upgrade-option strong{max-width:112px;font-size:13px;line-height:1.08;font-weight:500;text-align:center;overflow-wrap:anywhere;white-space:normal}.boat-evolution-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:75;display:grid;place-items:center;padding:24px;background:#06090c99}.boat-evolution-shell{position:relative;max-width:min(940px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow-y:auto;border-radius:18px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,#181e24f7,#0e1216f7);box-shadow:0 24px 60px #0009;padding:24px 26px 26px;color:#fff;animation:tribe-met-pop .22s ease-out}.boat-evolution-shell h2{margin:0 40px 18px 0;font-family:var(--game-font);font-size:27px;font-weight:400;text-align:center}.boat-evolution-close{position:absolute;top:14px;right:14px;display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:#ffffff1f;color:#fff;padding:0 0 2px;font-size:22px;line-height:1;cursor:pointer}.boat-evolution-close:hover{background:#ffffff3d}.boat-evolution-options{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.boat-evolution-card{display:grid;justify-items:center;gap:10px;width:230px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:#ffffff0d;padding:18px 16px 20px;text-align:center}.boat-evolution-card--disabled{opacity:.6;filter:grayscale(.4)}.boat-evolution-portrait{display:grid;place-items:center;width:84px;height:96px}.boat-evolution-portrait img{max-width:96px;max-height:108px;object-fit:contain;transform:scale(1.5);filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}.boat-evolution-portrait span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#ffffff2e;color:#fff;font-size:28px;font-weight:800}.boat-evolution-card h3{margin:0;font-family:var(--game-font);font-size:21px;font-weight:400}.boat-evolution-cost{display:inline-flex;align-items:center;gap:5px;font-size:17px;font-weight:600;color:#ffd54a}.boat-evolution-cost img{width:20px;height:20px;object-fit:contain}.boat-evolution-stats{display:grid;gap:4px;width:100%}.boat-evolution-stat-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px;font-size:13px;color:#ffffffd1}.boat-evolution-stat-row strong{color:#fff;font-weight:600}.boat-evolution-delta{font-style:normal;font-size:12px;font-weight:700}.boat-evolution-delta--up{color:var(--accent-2)}.boat-evolution-delta--down{color:#e77a6b}.boat-evolution-skills{display:grid;gap:6px;width:100%}.boat-evolution-skills span{display:grid;gap:2px;border-radius:6px;background:#ffffff1a;padding:7px 9px;font-size:12px;line-height:1.2;text-align:left}.boat-evolution-skills strong{font-size:13px}.boat-evolution-skills em{color:#ffffffb3;font-size:11px;font-style:normal}.boat-evolution-no-skill{background:transparent!important;color:#ffffff8c;text-align:center}.boat-evolution-buy{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;border:0;border-radius:999px;background:#5fc9a2d9;color:#fff;padding:9px 14px;font-size:14px;font-weight:600;cursor:pointer}.boat-evolution-buy img{width:16px;height:16px;object-fit:contain}.boat-evolution-buy:not(:disabled):hover{background:#5fc9a2}.boat-evolution-buy:disabled{background:#ffffff1f;cursor:default}.boat-evolution-reason{margin:0;color:#fff9;font-size:12px;line-height:1.3}.unit-card{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.72)}.unit-card-title-row{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}.unit-title-actions{display:inline-flex;align-items:start;gap:10px}.unit-close-button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border-color:#ffffff52;background:#ffffff1f;padding:0;color:#fff;font-size:26px;line-height:1}.unit-card h2{font-family:var(--game-font);font-size:42px;line-height:.92;font-weight:400}.unit-cost{display:inline-flex;align-items:center;gap:6px;padding-top:6px;font-size:24px;line-height:1}.unit-cost img{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(255,211,76,.58))}.unit-cost .star-icon-fallback{font-size:26px;filter:drop-shadow(0 0 4px rgba(255,211,76,.55))}.unit-card-main{display:grid;grid-template-columns:92px 1fr;gap:22px;align-items:center;min-height:104px}.unit-card-main p{margin:0;font-family:var(--game-font);font-size:30px;line-height:1.04;font-weight:400}.unit-portrait{position:relative;display:grid;place-items:center;width:84px;height:96px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--unit-owner),#ffffff 20%)) drop-shadow(0 0 14px color-mix(in srgb,var(--unit-owner),transparent 20%))}.unit-portrait img{max-width:96px;max-height:108px;object-fit:contain;transform:scale(1.65)}.unit-portrait span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--unit-owner);color:#111719;font-size:30px;font-weight:800}.unit-skill-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 10px}.unit-skill-pills span{display:grid;gap:4px;border-radius:6px;background:#ffffff2e;color:#fffffff0;padding:9px 10px;font-size:14px;line-height:1.2}.unit-skill-pills strong{font-size:15px;line-height:1.1}.unit-skill-pills em{color:#ffffffc2;font-size:12px;line-height:1.25;font-style:normal}.unit-action-pills{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.unit-action-pills button{min-width:96px;border:0;border-radius:999px;background:#5fc9a247;color:#fff;padding:6px 16px 7px;font-size:14px;line-height:1;text-transform:uppercase}.unit-action-pills button:disabled{opacity:.55;cursor:default}.unit-action-pills button:not(:disabled):hover{background:#ffffff7a}.unit-stat-list{display:grid;gap:5px}.unit-stat-row{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:9px;font-family:var(--game-font);font-size:30px;line-height:1.02;font-weight:400}.unit-stat-row span{font-style:italic}.unit-stat-row i{min-width:24px;height:8px;margin-bottom:7px;background-image:radial-gradient(circle,rgba(255,255,255,.9) 1.5px,transparent 1.8px);background-size:11px 4px;background-repeat:repeat-x}.unit-stat-row strong{min-width:46px;text-align:right;font-weight:500}.unit-summary-card{display:grid;grid-template-columns:42px 72px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:96px;border-top:1px solid rgba(255,255,255,.16);background:linear-gradient(90deg,#000000e0,#0000009e);box-shadow:0 -14px 48px #00000070;padding:12px 16px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.72)}.unit-summary-heal{border:1px solid rgba(130,235,255,.72);border-radius:6px;background:#12aed8c7;color:#fff;padding:9px 12px;font-size:15px;font-weight:800;line-height:1;text-shadow:none;box-shadow:0 0 16px #4dd0ff52}.unit-summary-heal:disabled{border-color:#ffffff29;background:#ffffff1f;color:#ffffff75;box-shadow:none}.unit-summary-info{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#10151a;padding:0;font-family:Georgia,serif;font-size:28px;font-style:italic;font-weight:700;line-height:1;box-shadow:0 0 18px #ffffff38}.unit-summary-portrait{position:relative;display:grid;place-items:center;width:72px;height:72px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--unit-owner),#ffffff 20%)) drop-shadow(0 0 14px color-mix(in srgb,var(--unit-owner),transparent 20%))}.unit-art-badge{position:absolute;right:2px;bottom:2px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#183c6eeb;box-shadow:0 2px 8px #00000080,inset 0 0 0 1px #b4d6ff8c;font-size:14px;font-style:normal;line-height:1;text-shadow:none}.unit-summary-portrait .unit-art-badge{width:22px;height:22px;font-size:12px}.unit-summary-portrait img{max-width:74px;max-height:78px;object-fit:contain;transform:scale(1.42)}.unit-summary-portrait span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--unit-owner);color:#111719;font-size:26px;font-weight:800}.unit-summary-copy{min-width:0}.unit-summary-title-row{display:flex;align-items:center;gap:10px;min-width:0}.unit-summary-title-row strong{min-width:0;overflow:hidden;font-size:34px;line-height:1;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.unit-summary-owner{max-width:120px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--unit-owner),#ffffff 20%);color:#111719;padding:3px 12px 5px;font-size:16px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.unit-summary-copy p{margin:4px 0 0;overflow:hidden;color:#ffffffdb;font-size:20px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.unit-summary-health{min-width:46px;color:#fffffff0;font-size:24px;line-height:1;text-align:right}.tech-tree-list{display:grid;gap:8px}.tech-row{display:grid;grid-template-columns:1fr 54px;gap:10px;align-items:center;border:1px solid rgba(225,238,220,.14);border-radius:6px;padding:8px;background:#0f1718bd}.tech-row strong,.tech-row span,.tech-row small{display:block}.tech-row span,.tech-row small{color:var(--muted);font-size:11px;line-height:1.3}.tech-row em{color:#9ee493;font-size:12px;font-style:normal;text-align:right}.tech-row.locked{opacity:.58}.tech-row button{padding:8px}.victory-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#3078b2d1,#17426ee0);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto}.victory-swords{width:132px;margin:-8px auto 4px;display:block;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45))}.victory-card h1 .victory-wreath{height:64px;width:auto}.victory-card h1{display:flex;align-items:center;justify-content:center;gap:6px}.victory-card{width:min(420px,calc(100vw - 48px));border-radius:10px;background:#000000eb;box-shadow:0 18px 60px #00000094,inset 0 0 0 1px #ffffff14;padding:26px 28px;color:#fff;text-align:center;text-shadow:0 2px 7px rgba(0,0,0,.7)}.victory-card h1{margin:0 0 14px;font-size:42px;line-height:1;font-style:italic;font-weight:400}.victory-winner{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:26px}.victory-winner strong{font-weight:600}.victory-card p{margin:6px 0 18px;color:#ffffffc2;font-size:15px;line-height:1.25}.victory-player-color{display:inline-block;width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff8c}.victory-scores{display:grid;gap:8px;margin:0 auto 22px;max-width:320px}.victory-score-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:8px;background:#ffffff12;font-size:15px}.victory-score-row.winner{background:#f2b84b29;box-shadow:inset 0 0 0 1px #f2b84b80}.victory-score-name{flex:1;text-align:left}.victory-score-row strong{font-size:17px;font-weight:600}.victory-exit{min-width:180px;border:0;border-radius:999px;background:#f2b84b;color:#221a08;padding:12px 26px;font-size:16px;font-weight:600}.victory-exit:hover{background:#ffd067;transform:translateY(-1px)}.tech-tree-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;overflow:hidden;background:radial-gradient(1.5px 1.5px at 18% 26%,rgba(255,255,255,.7),transparent),radial-gradient(1.5px 1.5px at 72% 18%,rgba(255,255,255,.5),transparent),radial-gradient(2px 2px at 38% 72%,rgba(255,255,255,.55),transparent),radial-gradient(1.5px 1.5px at 86% 62%,rgba(255,255,255,.45),transparent),radial-gradient(1.5px 1.5px at 58% 44%,rgba(255,255,255,.4),transparent),radial-gradient(2px 2px at 12% 82%,rgba(255,255,255,.5),transparent),radial-gradient(ellipse at 50% 42%,#0c1230,#05060f 72%);color:#182026;pointer-events:auto;animation:tech-tree-fade .2s ease}@keyframes tech-tree-fade{0%{opacity:0}to{opacity:1}}.tech-tree-back{position:absolute;top:18px;left:18px;z-index:20;display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:50%;background:#fffffff5;color:#111;padding:0 2px 5px 0;font-size:48px;font-weight:300;line-height:1}.tech-tree-status{position:absolute;top:18px;left:50%;z-index:20;display:grid;grid-template-columns:repeat(3,minmax(78px,auto));gap:26px;transform:translate(-50%);text-align:center;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.72)}.tech-tree-status span,.tech-tree-status strong{display:block}.tech-tree-status span{font-size:12px;line-height:1;opacity:.86}.tech-tree-status strong{margin-top:2px;font-size:30px;font-weight:400;line-height:1}.tech-tree-status .star-icon{width:19px;height:19px;margin:0 4px 2px 0;vertical-align:middle}.tech-tree-progress{position:absolute;top:18px;right:28px;z-index:20;display:flex;gap:12px;align-items:center;border:1px solid rgba(148,163,184,.28);border-radius:6px;padding:8px 12px;background:#05080bb8;color:#f8fafc;font-family:inherit;box-shadow:0 10px 28px #0000003d}.tech-tree-progress div{min-width:76px}.tech-tree-progress div:nth-last-child(-n+2){min-width:130px}.tech-tree-progress span,.tech-tree-progress strong{display:block}.tech-tree-progress span{color:#f7faf1db;font-size:12px;font-weight:400;line-height:1}.tech-tree-progress strong{margin-top:3px;color:#fff;font-size:22px;font-weight:400;line-height:1}.tech-tree-shell{position:absolute;top:92px;right:24px;bottom:24px;left:24px;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:14px}.tech-tree-map{position:relative;min-width:0;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:contain}.tech-tree-hint{position:absolute;bottom:14px;left:50%;z-index:4;transform:translate(-50%);border:1px solid rgba(148,163,184,.3);border-radius:14px;background:#050814d1;padding:6px 14px;color:#cbd5e1;font-size:12px;white-space:nowrap;pointer-events:none}.tech-tree-head{position:absolute;z-index:3;display:grid;width:132px;height:132px;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 40%,#4256968c,#0a0e1e26 70%);transform:translate(-50%,-50%);pointer-events:none}.tech-tree-head img{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.6))}.tech-tree-map.dragging{cursor:grabbing}.tech-tree-graph-canvas{position:absolute;top:50%;left:50%;transform-origin:center;will-change:transform}.tech-tree-map.dragging .tech-tree-graph-canvas,.tech-tree-map.dragging .tech-tree-node{transition:none}.tech-tree-map.dragging .tech-tree-node{pointer-events:none}.tech-tree-links{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.tech-tree-links line{stroke:#788cc842;stroke-width:3;stroke-linecap:round}.tech-tree-links line.researched{stroke:#34d399b8}.tech-tree-links line.available{stroke:#78a5e180}.tech-tree-links line.locked{stroke:#5a698c38}.tech-tree-node{position:absolute;z-index:2;width:var(--tech-node-size, 92px);height:var(--tech-node-size, 92px);border:0;padding:0;background:transparent;transform:translate(-50%,-50%);cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;transition:transform .14s ease}.tech-tree-node *{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.tech-tree-node:hover{z-index:6;transform:translate(-50%,-50%) scale(1.05)}.tech-tree-node.dim{opacity:.55}.tech-node-disc{position:relative;display:grid;width:100%;height:100%;place-items:center;border-radius:50%;box-shadow:0 6px 16px #00000073}.tech-tree-node.researched .tech-node-disc{background:radial-gradient(circle at 50% 34%,#34d399,#15a34a)}.tech-tree-node.available .tech-node-disc,.tech-tree-node.expensive .tech-node-disc,.tech-tree-node.upgrade .tech-node-disc{background:radial-gradient(circle at 50% 34%,#4aa8f0,#2563eb)}.tech-tree-node.locked .tech-node-disc{background:#10162c80;box-shadow:inset 0 0 0 2px #94a3b88c,0 4px 12px #00000059}.tech-tree-node.selected .tech-node-disc{box-shadow:0 0 0 3px #fff,0 6px 18px #00000080}.tech-tree-node:focus,.tech-tree-node:focus-visible{outline:none}.tech-node-icons{display:flex;gap:4px;align-items:center;justify-content:center;width:64%;max-width:64%}.tech-node-icon{width:40px;height:40px;flex:0 1 auto;min-width:0;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}.ring-3 .tech-node-icon,.ring-4 .tech-node-icon{width:32px;height:32px}.tech-node-icon--unit{transform:scale(1.85)}.ring-3 .tech-node-icon--unit,.ring-4 .tech-node-icon--unit{transform:scale(1.7)}.tech-node-icons--pair .tech-node-icon--unit{transform:scale(1.55)}.ring-3 .tech-node-icons--pair .tech-node-icon--unit,.ring-4 .tech-node-icons--pair .tech-node-icon--unit{transform:scale(1.4)}.tech-node-title{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);color:#eef2ff;font-size:13px;font-weight:700;line-height:1.1;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.9);pointer-events:none}.tech-tree-node.locked .tech-node-title{color:#94a3b8;font-weight:600}.tech-node-badge{position:absolute;top:-11px;left:50%;z-index:2;display:flex;align-items:center;gap:3px;transform:translate(-50%);border:1px solid rgba(255,255,255,.28);border-radius:12px;background:#0b1020;padding:2px 7px;color:#ffd54a;font-size:12px;font-weight:800;line-height:19px;white-space:nowrap}.tech-node-badge .tech-star{width:19px;height:19px;object-fit:contain;flex-shrink:0}.tech-node-check{position:absolute;top:-6px;right:-4px;z-index:2;display:grid;width:20px;height:20px;place-items:center;border:2px solid #05060f;border-radius:50%;background:#15a34a;color:#fff;font-size:12px;font-weight:900}.tech-node-rank{position:absolute;right:-4px;bottom:-4px;z-index:2;min-width:20px;border:1px solid rgba(125,211,252,.55);border-radius:8px;background:#0b1020;padding:1px 5px;color:#7dd3fc;font-size:11px;font-weight:900;line-height:1.3;text-align:center}.tech-tree-toolbar{position:absolute;bottom:14px;left:14px;z-index:4;display:grid;overflow:hidden;border:1px solid rgba(148,163,184,.55);border-radius:4px;background:#0f172a;box-shadow:0 4px 14px #0f172a1f}.tech-tree-toolbar button{width:34px;height:34px;border:0;border-bottom:1px solid rgba(148,163,184,.28);background:#0f172a;color:#f8fafc;font-size:20px;line-height:1}.tech-tree-toolbar button:last-child{border-bottom:0;font-size:13px}.tech-tree-detail{position:relative;min-width:0;overflow:auto;border:1px solid rgba(148,163,184,.45);border-radius:6px;background:#f8fafc;padding:16px}.tech-detail-state{position:absolute;top:12px;left:12px;display:inline-flex;border-radius:3px;padding:3px 7px;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase}.tech-detail-state.researched{background:#10b981}.tech-detail-state.available{background:#0ea5e9}.tech-detail-state.expensive{background:#ef4444}.tech-detail-state.locked{background:#64748b}.tech-detail-art{width:calc(100% + 32px);border-radius:6px 6px 0 0;margin:-16px -16px 4px;display:block;box-shadow:0 4px 14px #0006}.tech-tree-detail h2{margin:12px 0 6px;color:#0f172a;font-size:20px;line-height:1.15}.tech-tree-detail p{margin:0;color:#475569;font-size:13px;line-height:1.35}.tech-detail-rank{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;border:1px solid #dbe4ee;border-radius:4px;background:#f8fafc;padding:9px 10px}.tech-detail-rank span,.tech-detail-picked span{color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase}.tech-detail-rank strong,.tech-detail-picked strong{color:#0f172a;font-size:14px;font-weight:900}.tech-detail-picked{display:grid;gap:7px;margin-top:8px}.tech-detail-picked-item{display:flex;align-items:center;gap:10px;border:1px solid rgba(16,185,129,.24);border-radius:4px;background:#ecfdf5;padding:8px 10px}.tech-detail-picked-icon{width:34px;height:34px;object-fit:contain;flex-shrink:0}.tech-detail-picked-text{display:flex;flex-direction:column;gap:2px;min-width:0}.tech-detail-unlocks{display:grid;gap:8px;margin-top:16px}.tech-detail-unlock{border:1px solid #dbe4ee;border-left:3px solid #0ea5e9;border-radius:4px;background:#fff;padding:9px 10px}.tech-detail-unlock strong,.tech-detail-unlock span{display:block}.tech-detail-unlock strong{color:#0f172a;font-size:13px;line-height:1.2}.tech-detail-unlock span{margin-top:4px;color:#475569;font-size:12px;line-height:1.35}.tech-detail-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px 12px;margin-top:18px;font-size:12px}.tech-detail-grid span{color:#64748b}.tech-detail-grid strong{min-width:0;color:#0f172a}.tech-detail-cost{display:inline-flex;align-items:center;gap:7px;font-size:16px;line-height:1}.tech-detail-cost img{width:24px;height:24px;object-fit:contain}.tech-detail-action{width:100%;margin-top:18px;border:0;border-radius:4px;background:#0ea5e9;color:#fff;padding:10px 12px;font-size:13px;font-weight:800}.tech-detail-action:hover{background:#0284c7;border-color:transparent;color:#fff;box-shadow:0 0 0 2px #0ea5e933}.tech-detail-hint{margin-top:18px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;padding:10px 12px;color:#475569;font-size:13px}.tech-upgrade-panel{margin-top:18px;border-top:1px solid #dbe4ee;padding-top:14px}.tech-upgrade-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.tech-upgrade-heading span{color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase}.tech-upgrade-heading strong{border-radius:3px;background:#0ea5e9;padding:3px 7px;color:#fff;font-size:12px;font-weight:900}.tech-upgrade-options{display:grid;gap:9px}.tech-upgrade-option{border:1px solid #cbd5e1;border-left:3px solid #0ea5e9;border-radius:5px;background:#fff;padding:10px;color:#0f172a;text-align:left}.tech-upgrade-option:hover:not(:disabled){border-color:#0ea5e9;box-shadow:0 0 0 2px #0ea5e929}.tech-upgrade-option:disabled{opacity:.58;cursor:not-allowed}.tech-upgrade-option--chosen{border-color:#10b981;border-left-color:#10b981;background:#ecfdf5;box-shadow:0 0 0 1px #10b98147}.tech-upgrade-option--chosen:disabled{opacity:1;cursor:default}.tech-upgrade-option-chosen-tag{color:#059669;font-size:11px;font-weight:900;font-style:normal}.tech-upgrade-option--dimmed:disabled{opacity:.4}.tech-upgrade-option-title,.tech-upgrade-option-summary,.tech-upgrade-option-description{display:block}.tech-upgrade-option-title{font-size:14px;font-weight:900}.tech-upgrade-option-summary{margin-top:3px;color:#0ea5e9;font-size:12px;font-weight:800}.tech-upgrade-option-description{margin-top:6px;color:#475569;font-size:12px;line-height:1.35}.tech-upgrade-effects{display:grid;gap:4px;margin-top:8px}.tech-upgrade-effects em{color:#64748b;font-size:11px;font-style:normal}.tech-upgrade-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.tech-upgrade-footer strong{display:inline-flex;align-items:center;gap:5px;color:#0f172a;font-size:14px}.tech-upgrade-footer img{width:20px;height:20px}.tech-upgrade-footer small{color:#64748b;font-size:11px;font-weight:700}.event-log{left:18px;bottom:18px;width:min(360px,calc(100vw - 36px));min-height:0;max-height:54px;overflow:auto;border-color:#e1eedc1f;border-radius:6px;padding:8px 10px;background:#0c1114b8;color:var(--muted);font-size:12px}.event-log div+div{margin-top:5px}.event-log.chat-active-hidden{display:none!important}.game-chat{left:auto;right:18px;bottom:110px;z-index:41;width:min(300px,calc(100vw - 36px));display:flex;flex-direction:column;overflow:hidden;border-radius:6px;background:#0c1114b8;pointer-events:auto}.premove-panel{position:absolute;right:18px;top:120px;z-index:42;width:min(260px,calc(100vw - 36px));max-height:45vh;display:flex;flex-direction:column;overflow:hidden;border-radius:8px;border:1px solid rgba(111,208,255,.35);background:#09141cd1;box-shadow:0 6px 18px #00000059;pointer-events:auto}.premove-panel.hidden{display:none}.premove-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(111,208,255,.25);color:#dff2ff;font-size:12px;font-weight:700}.premove-head span{color:var(--muted);font-weight:600}.premove-list{list-style:none;margin:0;padding:4px;overflow-y:auto}.premove-list li{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:5px;color:var(--text);font-size:12px}.premove-list li:hover{background:#6fd0ff1a}.premove-num{flex:0 0 auto;min-width:18px;height:18px;border-radius:999px;background:#6fd0ff33;color:#9fe0ff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.premove-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.premove-remove{flex:0 0 auto;width:18px;height:18px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--muted);font-size:12px;line-height:1;cursor:pointer}.premove-remove:hover{background:var(--danger);color:#fff}.premove-clear{margin:4px 8px 8px;padding:6px 8px;border:1px solid rgba(111,208,255,.3);border-radius:6px;background:transparent;color:#9fe0ff;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.premove-clear:hover{background:#6fd0ff24}.chat-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;border:none;border-radius:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font:inherit;font-size:12px;font-weight:700;text-align:left;cursor:pointer}.chat-header-title{flex:1}.chat-header-badge{min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.chat-header-arrow{color:var(--muted);transition:transform .15s ease}.game-chat.collapsed{width:auto;border-radius:999px}.game-chat.collapsed .chat-header{border-bottom:none;border-radius:999px}.game-chat.collapsed .chat-messages,.game-chat.collapsed .chat-form{display:none}.game-chat.collapsed .chat-header-arrow{transform:rotate(-90deg)}.chat-messages{display:flex;flex-direction:column;gap:4px;max-height:30vh;overflow-y:auto;padding:8px 10px;color:var(--text);font-size:12px;line-height:1.35}.chat-messages div{word-break:break-word}.chat-messages b{margin-right:4px;color:var(--accent-2);font-weight:700}.chat-form{display:flex;gap:6px;padding:8px;border-top:1px solid var(--line)}.chat-form input{flex:1;padding:6px 8px;font-size:13px}.chat-form button{padding:6px 12px;font-size:13px}@media(max-width:980px){.debug-panel.unit-summary-panel{left:10px;bottom:86px;width:min(460px,calc(100vw - 20px))}.game-chat{right:10px;bottom:100px;width:min(240px,calc(100vw - 20px))}}@media(max-width:760px){.row-actions{flex-direction:column}.unit-skill-pills{grid-template-columns:1fr}.hud-top-stats{top:8px;gap:4px;width:min(calc(100vw - 16px),420px);padding:7px 8px}.hud-top-stat{min-width:0;flex:1 1 0;padding:0 5px}.hud-top-stat span{font-size:11px}.hud-top-stat strong{font-size:24px}.star-icon{width:21px;height:21px}.hud-bottom-actions{bottom:10px;gap:8px}.hud-circle-button{width:58px;min-height:66px}.hud-circle-button span{width:46px;height:46px;font-size:21px}.hud-tribe-head{width:34px;height:34px}.hud-rank-badge{top:-3px;right:-6px;min-width:17px;font-size:8px;line-height:13px}.debug-panel{left:10px;bottom:86px;width:min(280px,calc(100vw - 20px));max-height:30vh}.debug-panel.unit-summary-panel{left:10px;bottom:82px;width:calc(100vw - 20px);max-height:none}.debug-panel.unit-info-panel{width:min(360px,calc(100vw - 20px));max-height:44vh;padding:14px}.unit-summary-card{grid-template-columns:34px 58px minmax(0,1fr) auto auto;gap:9px;min-height:78px;padding:10px 12px}.unit-summary-heal{padding:8px 9px;font-size:13px}.unit-summary-info{width:32px;height:32px;font-size:23px}.unit-summary-portrait{width:58px;height:58px}.unit-summary-portrait img{max-width:60px;max-height:64px;transform:scale(1.34)}.unit-summary-title-row strong{font-size:25px}.unit-summary-owner{max-width:88px;padding:3px 9px 4px;font-size:13px}.unit-summary-copy p{font-size:16px}.unit-summary-health{min-width:38px;font-size:19px}.unit-card h2{font-size:32px}.unit-card-main{grid-template-columns:70px 1fr;gap:12px}.unit-card-main p{font-size:20px}.unit-portrait{width:68px;height:78px}.unit-stat-row{font-size:23px}.event-log{display:none}.game-chat{right:10px;bottom:calc(96px + env(safe-area-inset-bottom,0px));width:min(260px,calc(100vw - 20px));max-height:42dvh}.game-chat .chat-messages{max-height:30dvh}.game-chat.collapsed{max-height:none}}@media(max-width:820px),(pointer:coarse){.hud-top-stats{top:calc(8px + env(safe-area-inset-top,0px))}.hud-bottom-actions{bottom:calc(10px + env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.hud-circle-button{min-width:48px;min-height:60px}.hud-settings-pop button,.hud-sound-toggle{min-height:44px}.hud-sound-volume{height:28px}.hud-settings-pop{max-height:60dvh;overflow-y:auto}.debug-panel.unit-info-panel{max-height:50dvh;overflow-y:auto}.premove-panel{top:calc(14px + env(safe-area-inset-top,0px));width:min(220px,calc(100vw - 24px));max-height:38dvh}.city-upgrade-overlay,.boat-evolution-overlay{padding:14px}.city-upgrade-card,.boat-evolution-card{max-height:calc(100dvh - 28px);overflow-y:auto;-webkit-overflow-scrolling:touch}.victory-card{max-height:calc(100dvh - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch}.victory-scores{overflow-y:auto}.tech-tree-status{gap:12px;grid-template-columns:repeat(3,minmax(48px,auto))}.tech-tree-status strong{font-size:22px}.tech-tree-progress{top:calc(12px + env(safe-area-inset-top,0px));right:12px;gap:8px;padding:6px 9px}.tech-tree-back{top:calc(12px + env(safe-area-inset-top,0px));left:12px;width:46px;height:46px}.tech-tree-toolbar button{width:44px;height:44px;font-size:22px}.unit-close-button{width:40px;height:40px;font-size:26px}}@media(max-width:700px){.tech-tree-shell{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(150px,42%)}.tech-tree-detail{max-height:100%}}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:linear-gradient(180deg,#4fb6d9,#79cde2 26%,#a9e3e6 46%,#dff3e7,#ffe8bd 78%,#ffd79c 88%,#ffc98a)}.menu-screen{--menu-font: "Fredoka", "Avenir Next Rounded", "SF Pro Rounded", var(--game-font);--menu-ink: #29414e;--menu-ink-soft: #557284;--menu-teal: #2ba3c4;position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;padding:24px;color-scheme:light;color:var(--menu-ink)}.menu-sky{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.menu-sun{position:absolute;left:50%;bottom:6%;width:60vmin;height:60vmin;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle,#fff8dee6,#ffe09880 38%,#ffd68c00 68%)}.menu-grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");background-size:160px 160px}.menu-landscape{position:absolute;left:0;right:0;bottom:0;height:min(calc(100vw / 3.8),52vh);z-index:1;pointer-events:none;overflow:hidden}.menu-panorama{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:max(100%,1400px);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;animation:menu-panorama-sway 19s ease-in-out infinite alternate}@keyframes menu-panorama-sway{0%{transform:translate(-50.5%)}to{transform:translate(-49.5%)}}.menu-content{position:relative;z-index:2;display:grid;justify-items:center;gap:clamp(12px,2.2vh,24px);width:min(920px,calc(100vw - 120px));padding-bottom:clamp(90px,13vh,160px)}.menu-masthead{display:grid;justify-items:center;gap:6px;text-align:center}.menu-title{margin:0;font-family:var(--menu-font);font-size:clamp(56px,6.6vw,104px);font-weight:700;line-height:.95;letter-spacing:.03em;text-transform:uppercase;color:#fff;text-shadow:0 1px 0 #ffcf6e,0 2px 0 #fdbf55,0 3px 0 #f7ae45,0 4px 0 #ec9c39,0 5px 0 #de8a30,0 6px 0 #cd7829,0 7px 0 #b96723,0 14px 28px rgba(146,84,30,.42);animation:menu-title-pop .9s cubic-bezier(.28,1.6,.42,1) both}.menu-tagline{margin:0;font-family:var(--menu-font);font-weight:500;font-size:clamp(14px,1.2vw,18px);color:#fffffff5;text-shadow:0 1px 2px rgba(60,90,110,.4),0 2px 10px rgba(60,90,110,.3);animation:menu-title-pop .9s cubic-bezier(.28,1.6,.42,1) .12s both}@keyframes menu-title-pop{0%{opacity:0;transform:scale(.72) translateY(26px)}to{opacity:1;transform:scale(1) translateY(0)}}.menu-card{width:100%;display:grid;gap:14px;border-radius:24px;background:#ffffffc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 2px #ffffffe6,0 22px 54px #2b4a5a38;padding:clamp(16px,2vw,24px) clamp(18px,2.4vw,30px);animation:menu-card-rise .8s cubic-bezier(.25,1.4,.45,1) .1s both}@keyframes menu-card-rise{0%{opacity:0;transform:translateY(34px) scale(.97)}to{opacity:1;transform:none}}.menu-settings-grid{display:grid;gap:10px}.menu-field{display:grid;grid-template-columns:clamp(110px,10vw,148px) 1fr;align-items:center;gap:12px}.menu-label{font-family:var(--menu-font);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--menu-ink-soft)}.menu-pills{display:flex;flex-wrap:wrap;gap:7px}.menu-screen .menu-pill{border:0;border-radius:999px;padding:8px 15px 9px;background:#e3eef2;color:#33586a;font-family:var(--menu-font);font-weight:500;font-size:14px;cursor:pointer;box-shadow:inset 0 -2px #23404e21;transition:transform .12s ease,background .12s ease,color .12s ease}.menu-screen .menu-pill:hover{background:#d3e7ee;color:#23404e;transform:translateY(-1px)}.menu-screen .menu-pill.active,.menu-screen .menu-pill.active:hover{background:var(--menu-teal);color:#fff;box-shadow:inset 0 -3px #0f4a5e8c}.menu-tribes-block{display:grid;gap:10px;border-top:2px dashed rgba(43,116,140,.18);padding-top:14px}.menu-tribes-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-player-tabs{display:flex;flex-wrap:wrap;gap:8px}.menu-screen .menu-player-tab{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;padding:8px 16px;background:#e3eef2;color:#33586a;font-family:var(--menu-font);font-weight:600;cursor:pointer;box-shadow:inset 0 -2px #23404e24;transition:transform .12s ease,background .12s ease,color .12s ease}.menu-screen .menu-player-tab:hover{background:#d3e7ee;color:#23404e;transform:translateY(-1px)}.menu-screen .menu-player-tab.active,.menu-screen .menu-player-tab.active:hover{background:#2e576b;color:#fff;box-shadow:inset 0 -3px #00000040}.menu-player-dot{width:12px;height:12px;border-radius:50%;background:var(--tribe-color, #999);box-shadow:inset 0 0 0 2px #ffffff80,0 0 0 1px #0000001f}.menu-validation{font-family:var(--menu-font);font-weight:500;font-size:13px;color:#3f7c8e}.menu-validation.invalid{color:#d0453e}.menu-tribe-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(6px,.7vw,9px)}.menu-screen .menu-tribe-card{--tribe-color: #88a0aa;position:relative;display:grid;justify-items:center;gap:2px;padding:6px 3px 5px;border:0;border-radius:12px;background:color-mix(in srgb,var(--tribe-color) 12%,#ffffff);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--tribe-color) 70%,#7f98a4),inset 0 -3px color-mix(in srgb,var(--tribe-color) 28%,#dfe9ec),0 2px 6px #2b4a5a14;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease,filter .16s ease}.menu-screen .menu-tribe-card:hover{transform:translateY(-4px);background:color-mix(in srgb,var(--tribe-color) 18%,#ffffff);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--tribe-color) 80%,#7f98a4),inset 0 -3px color-mix(in srgb,var(--tribe-color) 28%,#dfe9ec),0 10px 18px #2b4a5a2e}.menu-screen .menu-tribe-card.selected,.menu-screen .menu-tribe-card.selected:hover{transform:translateY(-7px) scale(1.04);background:color-mix(in srgb,var(--tribe-color) 22%,#ffffff);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--tribe-color) 88%,#52707d),0 14px 26px color-mix(in srgb,var(--tribe-color) 40%,transparent),0 4px 10px #2b4a5a26;z-index:1}.menu-screen .menu-tribe-card.taken{opacity:.38;filter:grayscale(.75);pointer-events:none}.menu-tribe-head{width:clamp(30px,3vw,44px);aspect-ratio:1 / 1;display:grid;place-items:center;pointer-events:none}.menu-tribe-head img{width:140%;height:140%;max-width:none;object-fit:contain}.menu-tribe-name{max-width:100%;overflow:hidden;font-family:var(--menu-font);font-weight:600;font-size:clamp(11px,.95vw,13px);color:#2b4553;pointer-events:none;white-space:nowrap;text-overflow:ellipsis}.menu-tribe-skin{margin-top:2px;max-width:100%;padding:1px 7px;border-radius:999px;border:1px solid var(--tribe-color, #7a99a8);background:#ffffffa6;font-family:var(--menu-font);font-weight:600;font-size:clamp(9px,.8vw,11px);line-height:1.4;color:#33515f;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.menu-tribe-skin:hover{background:#ffffffe6}.menu-tribe-skin.on{background:var(--tribe-color, #33515f);color:#fff;box-shadow:0 0 0 2px #ffffff8c inset}.menu-advanced{border-top:2px dashed rgba(43,116,140,.18);padding-top:8px}.menu-advanced summary{padding:4px 0;font-family:var(--menu-font);font-weight:600;font-size:14px;color:var(--menu-ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none}.menu-advanced summary:hover{color:var(--menu-ink)}.menu-advanced-body{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding-top:10px}.menu-seed-field{display:grid;gap:6px;flex:1;min-width:260px}.menu-seed-controls{display:grid;grid-template-columns:1fr auto;gap:8px}.menu-screen .menu-seed-controls input{border:2px solid rgba(43,116,140,.22);border-radius:12px;background:#fff;color:var(--menu-ink);padding:10px 12px}.menu-screen .menu-seed-controls input:focus{border-color:var(--menu-teal)}.menu-screen .menu-minor-btn{border:0;border-radius:12px;padding:10px 16px;background:#e3eef2;color:#33586a;font-family:var(--menu-font);font-weight:600;cursor:pointer;box-shadow:inset 0 -2px #23404e24;transition:transform .12s ease,background .12s ease,color .12s ease}.menu-screen .menu-minor-btn:hover{background:#d3e7ee;color:#23404e;transform:translateY(-1px)}.menu-screen .menu-minor-btn:disabled{opacity:.5;cursor:default;transform:none}.menu-screen .menu-dev-btn{background:#f4e3d0;color:#7c5320}.menu-screen .menu-dev-btn:hover{background:#efd7bb;color:#5f3d12}.menu-cta-row{display:grid;justify-items:center;animation:menu-card-rise .8s cubic-bezier(.25,1.4,.45,1) .2s both}.menu-screen .menu-cta{border:0;border-radius:20px;padding:15px 58px 17px;font-family:var(--menu-font);font-weight:600;font-size:clamp(21px,1.8vw,27px);letter-spacing:.05em;color:#482e07;background:linear-gradient(180deg,#ffd764,#f5ab38);box-shadow:0 7px #c67c1a,0 18px 34px #a0641961;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,filter .14s ease}.menu-screen .menu-cta:hover:not(:disabled){transform:translateY(-4px);background:linear-gradient(180deg,#ffdd78,#f8b13f);box-shadow:0 11px #c67c1a,0 24px 40px #a0641966}.menu-screen .menu-cta:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px #c67c1a,0 8px 18px #a0641952}.menu-screen .menu-cta:disabled{cursor:default;filter:saturate(.45) brightness(.97);box-shadow:0 5px #b99a67,0 12px 22px #78643c40}.menu-corner{position:absolute;top:20px;right:20px;z-index:7;display:grid;justify-items:end;gap:10px}.menu-screen .menu-gear{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;padding:0;background:#ffffffd9;color:#2e576b;cursor:pointer;box-shadow:0 4px #50788c40,0 10px 24px #2b4a5a33;transition:transform .35s ease,background .2s ease}.menu-screen .menu-gear:hover{transform:rotate(50deg);background:#fff}.menu-corner-row{display:flex;gap:10px}.menu-screen .menu-sound-btn{font-size:20px;line-height:1}.menu-screen .menu-sound-btn:hover{transform:none;background:#fff}.menu-gear-pop{display:grid;gap:4px;min-width:170px;border-radius:16px;padding:10px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 14px 34px #2b4a5a47}.menu-sound-pop{min-width:150px}.menu-screen .menu-sound-toggle{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;color:#2e576b;font-family:var(--menu-font);font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.menu-screen .menu-sound-toggle:hover{background:#e2f1f5;color:#173a4b}.menu-screen .menu-sound-toggle input{width:16px;height:16px;accent-color:#2e576b;cursor:pointer}.menu-screen .menu-sound-volume-row{display:flex;align-items:center;gap:10px;padding:0 12px 8px}.menu-screen .menu-sound-volume{flex:1;height:4px;accent-color:#2e576b;cursor:pointer}.menu-screen .menu-sound-volume-value{min-width:26px;text-align:right;font-family:var(--menu-font);font-weight:600;font-size:12px;color:#2e576b;font-variant-numeric:tabular-nums}.menu-screen .menu-util-btn{border:0;border-radius:10px;padding:9px 12px;background:transparent;color:#2e576b;font-family:var(--menu-font);font-weight:600;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.menu-screen .menu-util-btn:hover{background:#e2f1f5;color:#173a4b;transform:none}.menu-diagnostics{position:absolute;left:20px;bottom:20px;z-index:8;width:min(460px,40vw);margin:0;box-shadow:0 12px 30px #00000059}.menu-view{display:grid;justify-items:center;width:100%;animation:menu-view-in .42s cubic-bezier(.25,.9,.35,1) both}@keyframes menu-view-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.menu-home-actions{display:grid;justify-items:center;gap:18px;margin-top:clamp(12px,5vh,48px)}.menu-screen .menu-home-actions .menu-cta{width:clamp(320px,28vw,420px)}.menu-screen .menu-cta-secondary{color:#fff;text-shadow:0 1px 2px rgba(10,60,80,.35);background:linear-gradient(180deg,#55c4e0,#2b9fc4);box-shadow:0 7px #1c7191,0 18px 34px #185f7861}.menu-screen .menu-cta-secondary:hover:not(:disabled){background:linear-gradient(180deg,#67cee8,#35abd0);box-shadow:0 11px #1c7191,0 24px 40px #185f7866}.menu-screen .menu-cta-secondary:active:not(:disabled){box-shadow:0 2px #1c7191,0 8px 18px #185f7852}.menu-screen .menu-back{position:absolute;top:20px;left:20px;z-index:7;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;padding:0;background:#ffffffd9;color:#2e576b;cursor:pointer;box-shadow:0 4px #50788c40,0 10px 24px #2b4a5a33;transition:transform .15s ease,background .15s ease}.menu-screen .menu-back:hover{background:#fff;transform:translate(-3px)}.menu-lobby-content{width:min(980px,calc(100vw - 140px));gap:clamp(10px,1.8vh,18px);padding-bottom:clamp(70px,10vh,130px);animation:menu-view-in .42s cubic-bezier(.25,.9,.35,1) both}.menu-lobby-head{display:grid;justify-items:center;gap:4px;text-align:center}.menu-lobby-kicker{font-family:var(--menu-font);font-weight:500;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:#fffffff0;text-shadow:0 1px 6px rgba(60,90,110,.4)}.menu-lobby-code{margin:0;font-family:var(--menu-font);font-weight:700;font-size:clamp(38px,3.8vw,58px);line-height:1;letter-spacing:.06em;color:#fff;text-shadow:0 1px 0 #ffcf6e,0 2px 0 #f7ae45,0 3px 0 #de8a30,0 4px 0 #b96723,0 10px 20px rgba(146,84,30,.4)}.menu-lobby-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%}.menu-slot{--tribe-color: #88a0aa;display:flex;align-items:center;gap:12px;min-height:74px;padding:10px 14px;border-radius:18px;background:#ffffffc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--tribe-color) 55%,#ffffff),0 10px 24px #2b4a5a29}.menu-slot.waiting{background:#fff6;box-shadow:inset 0 0 0 2px #ffffffa6}.menu-slot-avatar{flex:none;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;overflow:hidden;background:color-mix(in srgb,var(--tribe-color) 22%,#ffffff);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--tribe-color) 60%,#7f98a4)}.menu-slot-avatar img{width:135%;height:135%;object-fit:contain;-webkit-user-drag:none}.menu-slot.waiting .menu-slot-avatar{background:#8ca5af2e;box-shadow:inset 0 0 0 2px #7896a052}.menu-slot.waiting .menu-slot-avatar img{filter:grayscale(1) brightness(.3);opacity:.28}.menu-slot-copy{display:grid;gap:2px;min-width:0}.menu-slot-copy strong{overflow:hidden;font-family:var(--menu-font);font-weight:600;font-size:15px;color:#23404e;white-space:nowrap;text-overflow:ellipsis}.menu-slot-copy span{overflow:hidden;font-size:12px;color:#557284;white-space:nowrap;text-overflow:ellipsis}.menu-slot.waiting .menu-slot-copy strong{color:#6d8896}.menu-slot{position:relative}.menu-slot-bot [data-action=bot-tribe]{cursor:pointer}.menu-slot-remove{position:absolute;top:8px;right:10px;width:26px;height:26px;border:none;border-radius:50%;background:#d2505029;color:#b23b3b;font-size:18px;line-height:1;cursor:pointer;transition:background .15s ease}.menu-slot-remove:hover{background:#d250504d}.menu-slot-addbot{width:100%;border:2px dashed color-mix(in srgb,#88a0aa 55%,#ffffff);background:#fff6;box-shadow:none;cursor:pointer;text-align:left;font:inherit}.menu-slot-addbot:hover{background:#ffffffa6}.menu-slot-addbot .menu-slot-avatar{font-size:24px;color:#557284;background:#8ca5af2e;box-shadow:inset 0 0 0 2px #7896a052}.menu-slot-hidden .menu-slot-avatar{font-size:22px;font-weight:700;color:#557284;background:#8ca5af2e}.menu-slot-hidden .menu-slot-copy span{font-style:italic}.menu-tribe-row-compact{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.menu-tribe-row-compact .menu-tribe-card{padding:5px 2px 4px;border-radius:10px}.menu-tribe-row-compact .menu-tribe-head{width:clamp(26px,2.4vw,38px)}.menu-tribe-row-compact .menu-tribe-name{font-size:10px}.menu-mp-card,.menu-mp-card .menu-seed-field,.menu-mp-card .menu-seed-field input{width:100%}.menu-mp-list{display:flex;flex-direction:column;gap:10px;width:100%;min-height:120px}.menu-mp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:16px;background:#ffffffc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 2px #ffffffa6,0 10px 24px #2b4a5a29}.menu-mp-row-copy{display:grid;gap:2px;min-width:0}.menu-mp-row-copy strong{overflow:hidden;font-family:var(--menu-font);font-weight:600;font-size:15px;color:#23404e;white-space:nowrap;text-overflow:ellipsis}.menu-mp-row-copy span{font-size:12px;color:#557284}.menu-mp-join{flex:none}.menu-mp-empty{padding:28px 12px;text-align:center;font-size:14px;color:#557284}.menu-mp-namebar{display:grid;gap:8px;width:min(360px,100%);justify-items:start;margin:clamp(18px,2.4vh,24px) auto clamp(12px,2.4vh,20px);padding:14px 16px 16px;border-radius:16px;background:#ffffffc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 2px #ffffffe6,inset 0 0 0 2px #ffffff80,0 10px 24px #2b4a5a29}.menu-mp-namebar .menu-label{margin:0}.menu-mp-namebar input{width:100%;box-sizing:border-box;padding:10px 14px;border:0;border-radius:12px;font-family:var(--menu-font);font-size:15px;color:#23404e;background:#ffffffd9;box-shadow:inset 0 0 0 2px #ffffffa6,0 6px 16px #2b4a5a24}.menu-screen #mp-home-view .menu-cta{width:clamp(320px,28vw,420px)}.menu-mp-unified{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:clamp(16px,3vh,32px)}.menu-mp-heading{margin:6px 0 2px;font-family:var(--menu-font);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#557284}.menu-mp-heading:not(:first-child){margin-top:14px}.menu-mp-row-game{width:100%;border:0;text-align:left;cursor:pointer;transition:transform .13s ease,box-shadow .13s ease}.menu-mp-row-game:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 2px #ffffffb3,0 14px 30px #2b4a5a38}.menu-mp-row-actions{display:flex;flex:none;align-items:center;gap:8px}.menu-mp-resume{flex:none;padding:6px 14px;border:0;border-radius:999px;font-family:var(--menu-font);font-weight:600;font-size:13px;color:#7a5a12;background:linear-gradient(180deg,#ffdd7a,#f6c343);box-shadow:0 4px #d69f22;cursor:pointer}.menu-mp-abandon{flex:none;padding:5px 12px;border:0;border-radius:999px;font-family:var(--menu-font);font-weight:600;font-size:12px;color:#8a4040;background:#d66a6a29;box-shadow:inset 0 0 0 1px #d66a6a66;cursor:pointer;transition:background .13s ease,transform .13s ease}.menu-mp-abandon:hover{background:#d66a6a42}.menu-mp-abandon:active{transform:translateY(1px)}.menu-pill[disabled]{opacity:.55;cursor:default}#replay-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:#060a0d9e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.replay-panel{width:min(460px,calc(100vw - 40px));max-height:78vh;display:flex;flex-direction:column;border-radius:18px;background:#fff;color:#23282e;box-shadow:0 20px 60px #00000073;overflow:hidden}.replay-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(35,40,46,.1)}.replay-head h2{margin:0;font-size:20px;font-weight:600}.replay-close{border:0;background:#23282e14;color:#23282e;width:30px;height:30px;border-radius:50%;font-size:16px;cursor:pointer}.replay-list{overflow-y:auto;padding:10px;display:grid;gap:8px}.replay-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;border:0;border-radius:12px;background:#eef2f6;color:#23282e;font-size:15px;cursor:pointer;text-align:left}.replay-row:hover{background:#e2e9f0}.replay-row em{font-style:normal;color:#23282e99;font-size:13px}.replay-empty{padding:24px;text-align:center;color:#23282e99}#replay-bar{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:70;width:min(760px,calc(100vw - 32px));display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-radius:16px;background:#0c1115eb;box-shadow:0 12px 40px #00000080;color:#f4f7f2}#replay-scores{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.rp-score{display:inline-flex;align-items:center;gap:6px;font-size:14px}.rp-score i{width:11px;height:11px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px #ffffff80}.rp-score b{font-weight:700}.replay-controls{display:flex;align-items:center;gap:10px}.replay-controls button{border:0;background:#ffffff1f;color:#f4f7f2;width:34px;height:34px;border-radius:9px;font-size:15px;cursor:pointer}.replay-controls button:hover{background:#ffffff38}#replay-play.playing{background:#f2b84b;color:#221a08}#replay-slider{flex:1;accent-color:#f2b84b}#replay-turn{font-size:13px;color:#aeb9ad;white-space:nowrap}body.replay-mode .hud-bottom-actions,body.replay-mode .hud-top-stats,body.replay-mode #sandbox-panel{display:none!important}.stats-standings{width:100%;border-collapse:collapse;margin:6px 0 4px;font-variant-numeric:tabular-nums}.stats-standings th,.stats-standings td{padding:4px 6px;text-align:right;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}.stats-standings th:nth-child(2),.stats-standings td.stats-player{text-align:left;white-space:nowrap}.stats-standings td.stats-rank{text-align:center;width:28px}.stats-standings td.stats-score{font-weight:700}.stats-standings tr.stats-row-me td{background:#ffd6591a}.stats-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:baseline}.stats-note{opacity:.65;font-size:12px;margin-top:4px}.stats-tasks-title{margin:12px 0 6px;padding-top:10px;font-size:14px;border-top:1px solid rgba(255,255,255,.08)}.stats-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.stats-task{display:grid;grid-template-columns:20px minmax(88px,auto) 1fr 16px;align-items:center;gap:8px;font-size:12px}.stats-task-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.stats-task-icon img{width:100%;height:100%;object-fit:contain}.stats-task-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-task-progress{display:flex;align-items:center;gap:6px;min-width:0}.stats-task-bar{flex:1;height:6px;border-radius:999px;background:#ffffff1f;overflow:hidden}.stats-task-bar-fill{display:block;height:100%;background:#89ffd5;border-radius:inherit}.stats-task-fraction{font-variant-numeric:tabular-nums;opacity:.75;white-space:nowrap}.stats-task-check{text-align:center;color:#89ffd5;font-weight:700}.stats-task--done .stats-task-bar-fill{background:#ffd659}.stats-task--done .stats-task-check{color:#ffd659}.stats-task--built{opacity:.45}.stats-task--built .stats-task-bar-fill{background:#fff6}.stats-task--built .stats-task-check{color:#fff9}.hud-settings-wrap{position:relative;display:inline-flex}.hud-settings-pop{position:absolute;bottom:84px;left:50%;transform:translate(-50%);background:#101623f5;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:4px;min-width:190px;z-index:40}.hud-settings-pop.hidden{display:none}.hud-settings-pop button{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#fff;font:inherit;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;white-space:nowrap}.hud-settings-icon{width:16px;height:16px;object-fit:contain;flex:0 0 16px;opacity:.85;filter:brightness(0) invert(1)}.hud-settings-symbol{width:16px;flex:0 0 16px;text-align:center;color:#f7c858}.hud-settings-pop button:hover{background:#ffffff1f}.hud-settings-pop button.hud-settings-surrender{color:#e5736b}.hud-settings-pop button.hud-settings-surrender:hover{background:#e5736b29}.hud-settings-pop .hud-sound-toggle{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;color:#fff;font:inherit;cursor:pointer;white-space:nowrap}.hud-settings-pop .hud-sound-toggle:hover{background:#ffffff1f}.hud-settings-pop .hud-sound-toggle input{width:16px;height:16px;cursor:pointer}.hud-settings-pop .hud-sound-volume-row{display:flex;align-items:center;gap:10px;padding:0 10px 8px}.hud-settings-pop .hud-sound-volume{flex:1;height:4px;accent-color:#ffffff;cursor:pointer}.hud-settings-pop .hud-sound-volume-value{min-width:24px;text-align:right;color:#fff;opacity:.85;font:inherit;font-size:12px;font-variant-numeric:tabular-nums}.hud-circle-button.hud-end-ready span{background:#1b9df0;border-color:#bfe4ff;box-shadow:0 0 18px #1b9df0a6,0 12px 24px #00000061;animation:hud-end-ready-pulse 1.8s ease-in-out infinite}@keyframes hud-end-ready-pulse{0%,to{box-shadow:0 0 18px #1b9df0a6,0 12px 24px #00000061;transform:scale(1)}50%{box-shadow:0 0 30px #1b9df0f2,0 12px 24px #00000061;transform:scale(1.05)}}body:has(.tech-tree-overlay) #game-canvas{pointer-events:none}body:has(.tech-tree-overlay) .game-chat{display:none}body:has(.tech-tree-overlay) .sky-row{display:none}.confirm-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:#04080e9e}.confirm-modal.hidden{display:none}.confirm-modal-card{border-radius:18px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,#181e24f7,#0e1216f7);box-shadow:0 24px 60px #0009;padding:24px 26px 26px;max-width:340px;text-align:center;color:#fff;animation:tribe-met-pop .22s ease-out}.confirm-modal-card h3{margin:0 0 8px;font-family:var(--game-font);font-size:22px;font-weight:400}.confirm-modal-card p{margin:0 0 20px;color:#ffffffb3;font-size:14px;line-height:1.35}.confirm-modal-actions{display:flex;gap:10px;justify-content:center}.confirm-modal-actions button{font:inherit;font-weight:600;padding:10px 28px;border-radius:999px;border:none;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}#confirm-modal-yes{color:#482e07;background:linear-gradient(180deg,#ffd764,#f5ab38);box-shadow:0 5px #c67c1a,0 12px 22px #a0641961}#confirm-modal-yes:hover{transform:translateY(-2px);background:linear-gradient(180deg,#ffdd78,#f8b13f);box-shadow:0 7px #c67c1a,0 16px 26px #a0641966}#confirm-modal-yes:active{transform:translateY(2px);box-shadow:0 2px #c67c1a,0 6px 14px #a0641952}#confirm-modal-no{color:#e8edf3;background:#ffffff1f}#confirm-modal-no:hover{background:#fff3}.bug-report-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:grid;place-items:center;padding:20px;background:#03080cc2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bug-report-card{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box;padding:24px;color:#f5f8fb;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:linear-gradient(180deg,#1f2931fa,#0c1217fc);box-shadow:0 30px 90px #000000ad}.bug-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bug-report-head span{color:#f7c858;font-size:12px;font-weight:800;letter-spacing:.16em}.bug-report-head h2{margin:3px 0 0;font:700 26px var(--game-font)}.bug-report-close{width:38px;height:38px;border:0;border-radius:50%;color:#fff;background:#ffffff1a;font-size:25px;cursor:pointer}.bug-report-lead{margin:10px 0 18px;color:#ffffffa8}.bug-report-field{display:grid;gap:7px;margin-top:14px;font-size:13px;font-weight:700}.bug-report-field select,.bug-report-field textarea{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:11px 12px;color:#fff;background:#04090d9e;font:500 14px var(--game-font);outline:none}.bug-report-field textarea{min-height:105px;resize:vertical;line-height:1.45}.bug-report-field select:focus,.bug-report-field textarea:focus{border-color:#f7c858;box-shadow:0 0 0 3px #f7c8581f}.bug-report-shot{margin-top:16px;overflow:hidden;aspect-ratio:16 / 10;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#0b1015}.bug-report-shot img{display:block;width:100%;height:100%;object-fit:cover}.bug-report-shot--empty{display:grid;place-items:center;padding:20px;box-sizing:border-box;color:#ffffff8c;text-align:center}.bug-report-attach{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px}.bug-report-attach input{accent-color:#f7c858}.bug-report-privacy{margin:10px 0 0;color:#ffffff7a;font-size:12px;line-height:1.4}.bug-report-status{min-height:18px;margin:10px 0 0;color:#ff9c92;font-size:13px}.bug-report-status--success{color:#8ce5a7}.bug-report-submit{width:100%;margin-top:6px;padding:12px 18px;border:0;border-radius:999px;color:#432e08;background:linear-gradient(180deg,#ffdc74,#f3ad3c);box-shadow:0 5px #bd781c;font:800 15px var(--game-font);cursor:pointer}.bug-report-submit:disabled{opacity:.66;cursor:wait}body:has(.bug-report-overlay) #game-canvas{pointer-events:none}@media(max-width:640px){.bug-report-overlay{padding:8px}.bug-report-card{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:18px;border-radius:17px}}.daynight-chip{display:inline-flex;align-items:center;gap:8px}.dn-label{font-size:12px;letter-spacing:.02em;min-width:34px}.dn-ribbon{position:relative;width:112px;height:14px;overflow:hidden;border-radius:7px;background:#00000059;mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%)}.dn-tape{position:absolute;left:0;top:3px;display:inline-flex;gap:2px;transition:transform .6s cubic-bezier(.25,.8,.35,1);will-change:transform}.dn-cell{width:14px;height:8px;border-radius:4px;display:inline-block;flex:none}.dn-cell--day{background:linear-gradient(180deg,#ffd76a,#f0a93a)}.dn-cell--night{background:linear-gradient(180deg,#46538c,#1b2340)}.dn-arrow{position:absolute;left:50%;top:-1px;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid rgba(255,255,255,.95);filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}.sky-row{position:absolute;top:84px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:10px;z-index:41;pointer-events:none}.sky-row .weather-plaque,.sky-row .daynight-chip,.sky-row .turn-chip{position:static;transform:none;margin:0}.menu-toggle{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;opacity:.9;cursor:pointer}.menu-toggle input{accent-color:#3498db;width:15px;height:15px}@media(max-width:450px){.sky-row{gap:6px;flex-wrap:wrap}.weather-plaque{min-width:130px;padding:4px 10px;font-size:13px}.daynight-chip,.turn-chip{padding:4px 9px;font-size:12px}}@media(max-width:820px),(pointer:coarse){.menu-content{width:min(920px,calc(100vw - 32px));gap:clamp(12px,2vh,20px);padding-top:max(12px,env(safe-area-inset-top,0px));padding-bottom:clamp(70px,12vh,140px)}.menu-lobby-content{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.menu-tribe-row,.menu-tribe-row-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.menu-tribe-head{width:clamp(38px,11vw,52px)}.menu-screen .menu-tribe-card{padding:9px 4px 8px}.menu-screen .menu-pill{min-height:44px;padding:10px 14px}.menu-screen .menu-cta{min-height:52px}.menu-screen .menu-minor-btn,.menu-screen .menu-util-btn{min-height:44px}.menu-screen .menu-gear,.menu-screen .menu-sound-btn,.menu-screen .menu-back{width:48px;height:48px}.menu-gear-pop{max-height:70dvh;overflow-y:auto}.menu-diagnostics{max-height:50dvh;overflow:auto}}@media(max-width:560px){.menu-settings-grid{grid-template-columns:1fr}.menu-tribe-row,.menu-tribe-row-compact{grid-template-columns:repeat(3,minmax(0,1fr))}}.profile-overlay{background:#29414e66;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-card{--menu-font: "Fredoka", "Avenir Next Rounded", "SF Pro Rounded", var(--game-font);color-scheme:light;color:#29414e;border:1px solid rgba(255,255,255,.9);border-radius:24px;background:linear-gradient(175deg,#fff,#f2fafc 60%,#fff6e8);box-shadow:0 24px 60px #29414e4d}.profile-card h2,.profile-card h3{font-family:var(--menu-font);color:#29414e}.profile-kicker{color:#2ba3c4}.profile-email{color:#557284}.profile-close{border:1px solid rgba(41,65,78,.18);background:#29414e0f;color:#29414e}.profile-close:hover{background:#29414e1f;border-color:#29414e4d}.profile-elo{background:linear-gradient(120deg,#2ba3c4,#45b98a);color:#fff;box-shadow:0 12px 26px #2ba3c452}.profile-stats div{border:1px solid rgba(41,65,78,.12);background:#ffffffbf}.profile-stats strong{font-family:var(--menu-font);color:#29414e}.profile-stats span,.profile-name-form label{color:#557284}.profile-card input{border:1px solid rgba(41,65,78,.2);border-radius:12px;background:#fff;color:#29414e}.profile-card input:focus{border-color:#2ba3c4}.profile-name-form button{border:1px solid rgba(242,184,75,.72);border-radius:12px;background:linear-gradient(180deg,#ffca5f,#ef9d33);color:#4a2f10;font-family:var(--menu-font);font-weight:700;box-shadow:0 8px 18px #e08c2847}.profile-name-form button:hover{filter:brightness(1.04);border-color:#f2b84be6}.profile-history-empty{border:1px dashed rgba(41,65,78,.25);color:#557284}.profile-match{background:#ffffffc7;border-top:1px solid rgba(41,65,78,.08);border-right:1px solid rgba(41,65,78,.08);border-bottom:1px solid rgba(41,65,78,.08)}.profile-match span,.profile-match small{color:#557284}.profile-match-win{border-left-color:#2fae76}.profile-match-loss{border-left-color:#d65a4a}.profile-match-draw{border-left-color:#dfa32e}.profile-match-meta .positive{color:#1f9a63}.profile-match-meta .negative,.profile-error{color:#c0392b}
