:root{--bg: #3a3a3a;--bg-grid: #323232;--ink: #2b2b2b;--muted: #888;--panel: #ffffff;--panel-shadow: 0 4px 0 rgba(0, 0, 0, .18), 0 8px 24px rgba(0, 0, 0, .18);--green: #5cb85c;--green-dark: #449d44;--blue: #4a90d9;--red: #ff4c4c;--orange: #f0ad4e;--font-display: "Nunito", "Segoe UI", system-ui, sans-serif;--font-body: "Nunito", "Segoe UI", system-ui, sans-serif;--wizard-bottom-gap: max(20px, calc(12px + env(safe-area-inset-bottom, 0px)) )}*{box-sizing:border-box}button,.btn,a,[role=button],label,input,select,textarea,.hud-action-btn,.vote-btn,.build-cat,.build-btn{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}button:focus:not(:focus-visible),.btn:focus:not(:focus-visible),a:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){outline:none}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.28) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent;margin:6px 0}*::-webkit-scrollbar-thumb{background:#00000038;border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#0000005c;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-button{display:none;width:0;height:0}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;font-family:var(--font-body);color:var(--ink);background:var(--bg)}#app{position:relative}.sea-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-color:#1a5f80;background-image:url(/textures/water.png);background-size:360px 360px;background-repeat:repeat;overflow:hidden}.menu-map-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;opacity:0;pointer-events:none;transition:opacity .45s ease}.menu-map-bg.is-on{opacity:1}.sea-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(ellipse 70% 55% at 50% 42%,#0000002e,#0000008c),#00000047;pointer-events:none}.sea-bg:after{content:none}.screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.screen-sub{align-items:center;justify-content:center;overflow:auto;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.screen-card{width:min(440px,100%);display:flex;flex-direction:column;gap:10px;margin:auto;min-height:0;flex-shrink:0;animation:rise .35s ease-out}.screen-card.screen-card-wide{width:min(560px,100%)}.screen-sub:has(.workshop-panel),.screen-sub:has(.online-card),.screen-sub:has(.campaign-card),.screen-sub:has(.admin-card),.screen-sub:has(.news-screen-card),.admin-screen{justify-content:flex-start;align-items:stretch;overflow:hidden}.screen-card:has(.workshop-panel),.screen-card.online-card,.screen-card.campaign-card,.screen-card.news-screen-card{flex:1 1 auto;flex-shrink:1;width:min(560px,100%);max-width:100%;max-height:100%;min-height:0;margin:0 auto;overflow:hidden}.screen-card.admin-card{flex:1 1 auto;flex-shrink:1;width:min(1080px,100%);max-width:100%;max-height:100%;min-height:0;margin:0 auto;overflow:hidden}.screen-card:has(.workshop-panel)>.row,.screen-card.online-card>.row,.screen-card.campaign-card>.row,.screen-card.admin-card>.row,.screen-card.news-screen-card>.row,.screen-card:has(.workshop-panel)>.tabs,.screen-card.online-card>.tabs,.screen-card.admin-card>.tabs,.screen-card:has(.workshop-panel)>.screen-head,.screen-card.online-card>.screen-head,.screen-card.campaign-card>.screen-head,.screen-card.admin-card>.screen-head,.screen-card.news-screen-card>.screen-head{flex:0 0 auto}.screen-card.online-card>.panel.fill{flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}.rules-panel{max-height:min(70vh,560px);overflow:auto}.help-tabs{margin-bottom:4px}.help-faq,.help-rules{display:flex;flex-direction:column;gap:8px}.help-accordion-item{border-radius:12px;background:#f6f6f6;overflow:hidden}.help-accordion-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;padding:12px 14px;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;text-align:left;font:inherit;font-size:1rem;font-weight:800;color:var(--ink);transition:background .15s ease}.help-accordion-head:hover{background:#00000008;filter:none;transform:none;box-shadow:none}.help-accordion-head:active{transform:none;box-shadow:none;filter:none}.help-accordion-chevron{flex:0 0 auto;width:10px;height:10px;border-right:2.5px solid #889;border-bottom:2.5px solid #889;transform:rotate(45deg);transition:transform .28s ease;margin-top:-4px}.help-accordion-item.is-open .help-accordion-chevron{transform:rotate(225deg);margin-top:2px}.help-accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.help-accordion-item.is-open .help-accordion-panel{grid-template-rows:1fr}.help-accordion-inner{overflow:hidden;min-height:0}.help-accordion-inner>p{margin:0;padding:0 14px 12px;font-weight:700;line-height:1.4;color:#555}.help-rule-group .rules-list{padding:0 14px 12px 1.9rem;font-weight:700;line-height:1.4;color:#555}.rules-list{margin:0;padding:0 0 0 1.25rem;display:flex;flex-direction:column;gap:10px;font-weight:700;line-height:1.35;color:var(--ink)}.rules-list li::marker{font-weight:800;color:var(--blue)}.screen-card .list.panel,.screen-card>.panel.fill{max-height:min(62vh,520px);overflow:auto;flex:0 1 auto}.screen-card.campaign-card>.list.panel.campaign-list{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch}.screen-card .grid-2{height:auto;min-height:0;grid-template-columns:1fr}.screen-head{position:relative;display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px;flex-wrap:nowrap}.screen-head>[data-back],.screen-head>[data-close],.screen-back-btn{position:relative;z-index:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;line-height:1.2;box-sizing:border-box}.screen-back-ico{width:1.1em;height:1.1em;object-fit:contain;flex-shrink:0;pointer-events:none;display:block}.screen-back-label{line-height:inherit}.screen-head>h2{position:absolute;left:0;right:0;margin:0;text-align:center;pointer-events:none}.menu-screen{justify-content:center;align-items:center}.menu-corner{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:2;display:flex;gap:8px;animation:rise .4s ease-out}.menu-corner-left{right:auto;left:max(12px,env(safe-area-inset-left));flex-wrap:wrap;max-width:min(100%,280px)}.menu-discord-ico,.menu-news-ico{display:block;flex-shrink:0}.menu-news-ico{width:20px;height:20px;object-fit:contain;pointer-events:none}.menu-corner-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.menu-online{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:12px;background:#f3f3f3;box-shadow:0 3px #d0d0d0;font-family:var(--font-body);font-weight:800;font-size:1rem;color:var(--ink);line-height:1.2;-webkit-user-select:none;user-select:none}.menu-online-live{width:12px;height:12px;border-radius:5px;background:var(--green);box-shadow:0 2px 0 var(--green-dark);flex-shrink:0;animation:menu-online-pulse 1.4s ease-in-out infinite}.menu-online-label{font-size:inherit;font-weight:800;color:var(--ink);line-height:inherit}#menu-online-count{min-width:1.1em;text-align:center;font-variant-numeric:tabular-nums;line-height:inherit;color:var(--green-dark)}@keyframes menu-online-pulse{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.55;filter:brightness(1.15)}}.menu-corner-ico{width:1.15em;height:1.15em;object-fit:contain;display:block;flex-shrink:0;pointer-events:none}.menu-corner-label{line-height:inherit}@media(max-width:720px){.menu-corner-btn{width:auto;min-width:0;padding:12px;gap:0}.menu-online{padding:12px;gap:6px}.menu-online-label,.menu-corner-label{display:none}.menu-corner-ico{width:1.25em;height:1.25em}.btn.menu-discord,.btn.menu-news{padding:12px;gap:0}.btn.menu-discord>span,.btn.menu-news>span{display:none}.menu-news-ico{width:1.25em;height:1.25em}}.menu-hero{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;width:min(360px,100%);max-height:100%;overflow:auto;animation:rise .55s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.brand-icon{width:clamp(96px,22vw,160px);height:clamp(96px,22vw,160px);object-fit:contain;border-radius:28px;box-shadow:0 6px #00000038,0 14px 28px #00000047;animation:icon-pop .65s ease-out}@keyframes icon-pop{0%{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}.loading-screen{align-items:center;justify-content:center}.loading-card{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.loading-icon{width:96px;height:96px;object-fit:contain;border-radius:22px;box-shadow:0 5px #00000038,0 12px 24px #00000047}.loading-spinner{width:36px;height:36px;border:4px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.loading-title{margin:0;color:#fff;font-size:1.25rem;font-weight:800;text-shadow:0 2px 0 rgba(0,0,0,.25)}.loading-sub{margin:0;color:#ffffffc7;font-size:.95rem;font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}.brand{font-family:var(--font-display);font-size:clamp(2.2rem,6vw,3.6rem);font-weight:800;line-height:1.05;margin:0;color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.25),0 8px 20px rgba(0,0,0,.25)}.brand-sub{margin:0 0 8px;color:#fff;opacity:.92;font-size:1.05rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.25)}.menu-actions{display:flex;flex-direction:column;gap:10px;width:100%;padding:18px;background:var(--panel);border-radius:16px;box-shadow:var(--panel-shadow)}button,.btn{font-family:var(--font-body);font-weight:800;font-size:1rem;border:none;background:#f3f3f3;color:var(--ink);padding:12px 18px;border-radius:12px;cursor:pointer;box-shadow:0 3px #d0d0d0;transition:transform .1s ease,filter .1s ease;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}button:hover,.btn:hover{filter:brightness(1.03);transform:translateY(-1px)}button:active,.btn:active{transform:translateY(2px);box-shadow:0 1px #d0d0d0}.btn.menu-discord{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#fff;background:#5865f2;box-shadow:0 3px #4752c4}.btn.menu-discord:hover{filter:brightness(1.08);color:#fff}.btn.menu-discord:active{box-shadow:0 1px #4752c4}.btn.menu-news{display:inline-flex;align-items:center;gap:8px;color:#fff;background:#3d8bfd;box-shadow:0 3px #2f6fc4}.btn.menu-news:hover{filter:brightness(1.08);color:#fff}.btn.menu-news:active{box-shadow:0 1px #2f6fc4}button.primary{background:var(--green);color:#fff;box-shadow:0 3px 0 var(--green-dark)}button.primary:active{box-shadow:0 1px 0 var(--green-dark)}button.danger{background:var(--red);color:#fff;box-shadow:0 3px #c62828}button.danger:active{box-shadow:0 1px #c62828}.workshop-editor-btn,button.primary.workshop-editor-btn{background:var(--green);color:#fff;box-shadow:0 3px 0 var(--green-dark)}.workshop-editor-btn:active,button.primary.workshop-editor-btn:active{box-shadow:0 1px 0 var(--green-dark)}button:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}.sk-toggle{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;row-gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;font-weight:800;color:var(--ink);width:100%}.sk-toggle input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.sk-toggle-label{grid-column:1;grid-row:1;font-size:.95rem;line-height:1.25;min-width:0}.sk-toggle-ui{position:relative;grid-column:2;grid-row:1;justify-self:end;width:28px;height:28px;border-radius:8px;background:#f3f3f3;box-shadow:0 3px #d0d0d0;transition:background .12s ease,box-shadow .12s ease,transform .1s ease}.sk-toggle-ui:after{content:"";position:absolute;left:8px;top:4px;width:8px;height:14px;border:solid transparent;border-width:0 3px 3px 0;transform:rotate(45deg) scale(.6);opacity:0;transition:opacity .12s ease,transform .12s ease}.sk-toggle input:checked+.sk-toggle-label+.sk-toggle-ui,.sk-toggle input:checked+.sk-toggle-ui{background:var(--green);box-shadow:0 3px 0 var(--green-dark)}.sk-toggle input:checked+.sk-toggle-label+.sk-toggle-ui:after,.sk-toggle input:checked+.sk-toggle-ui:after{border-color:#fff;opacity:1;transform:rotate(45deg) scale(1)}.sk-toggle:hover .sk-toggle-ui{filter:brightness(1.03);transform:translateY(-1px)}.sk-toggle:active .sk-toggle-ui{transform:translateY(2px);box-shadow:0 1px #d0d0d0}.sk-toggle input:checked:active+.sk-toggle-label+.sk-toggle-ui,.sk-toggle input:checked:active+.sk-toggle-ui{box-shadow:0 1px 0 var(--green-dark)}.sk-toggle input:focus-visible+.sk-toggle-label+.sk-toggle-ui,.sk-toggle input:focus-visible+.sk-toggle-ui{outline:3px solid rgba(76,175,80,.45);outline-offset:2px}.sk-toggle input:disabled+.sk-toggle-label+.sk-toggle-ui,.sk-toggle input:disabled+.sk-toggle-ui{opacity:.45;cursor:not-allowed;transform:none;filter:none}.sk-toggle-box{height:46px;min-height:46px;padding:0 14px;border-radius:12px;background:#f3f3f3;box-shadow:0 3px #d0d0d0;box-sizing:border-box}.sk-toggle-box .sk-toggle-label{font-size:1rem;font-weight:800}.sk-toggle-box .sk-toggle-ui{background:#fff;box-shadow:0 2px #c4c8ce}.sk-toggle-box input:checked+.sk-toggle-label+.sk-toggle-ui,.sk-toggle-box input:checked+.sk-toggle-ui{background:var(--green);box-shadow:0 3px 0 var(--green-dark)}.sk-toggle-box:active .sk-toggle-ui{box-shadow:0 1px #c4c8ce}.sk-toggle-box input:checked:active+.sk-toggle-label+.sk-toggle-ui,.sk-toggle-box input:checked:active+.sk-toggle-ui{box-shadow:0 1px 0 var(--green-dark)}.sk-toggle:has(input:disabled){cursor:not-allowed;opacity:.85}.sk-toggle:has(input:disabled):hover .sk-toggle-ui{transform:none;filter:none}.sk-toggle-hint,.sk-toggle .editor-rule-hint{grid-column:1 / -1;grid-row:2;margin:0}.panel{background:var(--panel);border:none;border-radius:16px;padding:14px;box-shadow:var(--panel-shadow);color:var(--ink)}.auth-panel{display:flex;flex-direction:column;gap:14px}.auth-panel .profile-auth-hint{margin:0}.auth-panel label{gap:6px}.auth-panel .cf-turnstile{display:flex;justify-content:center;min-height:65px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.editor-wrap{background:#2f9fd0}.editor-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair;background:#2f9fd0}.editor-chrome{position:absolute;z-index:3;top:max(10px,env(safe-area-inset-top));left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;overflow:visible}.editor-top{position:relative;width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px 10px;background:#fffffff0;border-radius:16px;box-shadow:0 4px 18px #00000029;pointer-events:auto;overflow:visible}.editor-top button{margin:0;padding:0 14px;font-size:1rem;height:44px;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;line-height:1}.editor-top .screen-back-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;padding:0 12px;height:44px;min-height:44px}.editor-title{flex:1 1 140px;min-width:110px;max-width:240px;margin:0;height:44px;padding:0 14px;border-radius:12px;border:2px solid #e8e8e8;font:inherit;font-size:1rem;font-weight:700}.editor-top-tools,.editor-top-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch}.editor-top-actions{margin-left:auto}.editor-save-draft-btn,.editor-fit-view-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;min-height:44px}.editor-top-btn-ico{width:18px;height:18px;object-fit:contain;flex-shrink:0;display:block;pointer-events:none}.editor-top-btn-label{line-height:1.1}.editor-hint{position:relative;margin:0;padding:6px 12px;max-width:min(520px,100%);text-align:center;font-size:.78rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55);pointer-events:none;background:#14283c59;border-radius:999px}.editor-hint.is-msg{background:#ffffffeb;color:#333;text-shadow:none;pointer-events:none}.editor-dock-cluster{position:absolute;z-index:3;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;width:min(780px,calc(100% - 16px));max-width:calc(100% - 16px);pointer-events:none;overflow:visible}.editor-dock-cluster>*{pointer-events:auto}.editor-dock{position:relative;flex:1 1 auto;min-width:0;width:min(640px,100%);padding:10px;background:#fffffff2;border-radius:18px;box-shadow:0 6px 24px #0000002e;display:flex;flex-direction:column;gap:10px}.editor-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;min-height:56px;order:0;width:100%;box-sizing:border-box}.editor-tools-pager{display:grid;grid-template-columns:1fr;align-items:center;column-gap:8px;width:100%;min-width:0;box-sizing:border-box}.editor-tools-pager.has-nav{grid-template-columns:32px minmax(0,1fr) 32px}.editor-tools-grid{min-width:0;width:100%;display:grid;grid-template-rows:repeat(2,auto);gap:8px;justify-items:stretch;align-items:stretch}.editor-tools-grid .editor-tool-btn{width:100%;min-width:0;max-width:none;box-sizing:border-box}.editor-tools-grid .editor-tool-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-tools-nav{flex:none;width:32px;height:72px;min-height:52px;margin:0;padding:0;border-radius:12px;background:#f0f0f0;box-shadow:0 3px #d8d8d8;color:#445;font-size:1.45rem;font-weight:900;line-height:1;justify-self:center;align-self:center;z-index:1}.editor-tools-nav:hover:not(:disabled){filter:brightness(1.03);transform:none}.editor-tools-nav:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #d8d8d8}.editor-tools-nav:disabled{opacity:.35;cursor:default;box-shadow:0 2px #e0e0e0}@keyframes editor-tools-slide-in-right{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes editor-tools-slide-in-left{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}@keyframes editor-tools-fade-in{0%{opacity:0}to{opacity:1}}.editor-tools-enter-right{animation:editor-tools-slide-in-right .28s ease}.editor-tools-enter-left{animation:editor-tools-slide-in-left .28s ease}.editor-tools-fade-in{animation:editor-tools-fade-in .28s ease}.editor-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;order:1}.editor-cat-preview{display:none}.editor-cat-label{display:block}.editor-tool-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:0;width:100%;min-width:0;padding:8px 6px 6px;border-radius:12px;background:#f6f6f6;box-shadow:inset 0 0 0 0 transparent,0 3px #ddd;color:#333;cursor:pointer;box-sizing:border-box;transition:transform .12s ease,background-color .22s ease,box-shadow .22s ease,color .22s ease}.editor-tool-btn:hover{filter:none;transform:translateY(-1px);box-shadow:inset 0 0 0 0 transparent,0 3px #ddd}.editor-tool-btn:active{transform:translateY(2px);box-shadow:inset 0 0 0 0 transparent,0 1px #ddd}@keyframes editor-pick-in{0%{transform:scale(.92)}60%{transform:scale(1.04)}to{transform:scale(1)}}.editor-tool-btn.is-on{outline:none;background:#eaf8ea;color:#2b2b2b;box-shadow:inset 0 0 0 3px #5cb85c,0 3px #449d44;animation:editor-pick-in .22s ease-out}.editor-tool-btn.is-on:hover{filter:none;transform:translateY(-1px);box-shadow:inset 0 0 0 3px #5cb85c,0 3px #449d44}.editor-tool-btn.is-on:active{transform:translateY(2px);box-shadow:inset 0 0 0 3px #5cb85c,0 1px #449d44}.editor-tool-art{width:36px;height:36px;object-fit:contain;image-rendering:auto;pointer-events:none}.editor-tool-badge{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e8eef4;font-size:1.05rem;font-weight:900;color:#2c4a66;line-height:1}.editor-tool-btn.is-on .editor-tool-badge{background:#5cb85c38;color:#2b5a2b}.editor-tool-name{font-size:.72rem;font-weight:800;line-height:1.15;text-align:center;max-width:78px}.editor-mode-row{display:flex;gap:8px;width:100%}.editor-mode-row .editor-tool-btn{flex:1;min-width:0}.editor-side-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;line-height:1.15;flex-shrink:0;align-self:center;white-space:nowrap;min-height:52px;min-width:96px;margin:0;padding:12px 14px;font-weight:800}.build-undo.editor-side-btn{background:#fff3cd;box-shadow:0 3px #e0c35a}.build-undo.editor-side-btn:disabled{opacity:.45;cursor:default;transform:none;filter:none}.build-undo.editor-side-btn:active:not(:disabled){box-shadow:0 1px #e0c35a}.editor-erase-btn{background:#ffe8e0;box-shadow:0 3px #e0a090;color:#5a3030;display:inline-flex;align-items:center;justify-content:center;gap:6px}.editor-erase-btn .hud-btn-ico{width:20px;height:20px;object-fit:contain;flex-shrink:0}.editor-erase-btn:active{box-shadow:0 1px #e0a090}.editor-erase-btn.is-on{outline:none;background:#ffe3e3;color:#5a3030;box-shadow:inset 0 0 0 3px #ff4c4c,0 3px #c62828;animation:editor-pick-in .22s ease-out}.editor-cats button{margin:0;padding:12px 14px;font-size:1rem;background:#f3f3f3;box-shadow:inset 0 0 0 0 transparent,0 3px #d0d0d0;color:#555;min-width:0;transition:transform .12s ease,background-color .22s ease,box-shadow .22s ease,color .22s ease}.editor-cats button.is-on{background:#eaf8ea;color:#2b2b2b;box-shadow:inset 0 0 0 3px #5cb85c,0 3px #449d44;animation:editor-pick-in .22s ease-out}.editor-chip{margin:0;padding:12px 18px;font-size:1rem;background:#f6f6f6;box-shadow:0 3px #ddd;color:#333}.editor-chip.is-on{background:var(--green);color:#fff;box-shadow:0 3px 0 var(--green-dark)}.editor-owner-swatch{width:36px;height:36px;border-radius:50%;border:2px solid rgba(0,0,0,.12);box-shadow:0 2px #00000029;flex-shrink:0}.editor-owner-btn.is-on .editor-owner-swatch{box-shadow:0 0 0 2px #5cb85c,0 2px #0000001f}.editor-swatches{display:flex;gap:10px;align-items:center;justify-content:space-between;width:100%;min-width:0;padding:10px 28px;box-sizing:border-box}.editor-swatch{width:42px;height:42px;margin:0;padding:0;border-radius:50%;border:2px solid rgba(0,0,0,.12);background:var(--c);box-shadow:0 2px #0000002e;flex:1 1 0;max-width:42px;aspect-ratio:1}.editor-swatch.is-on{box-shadow:0 0 0 3px #fffffff2,0 2px #00000029;transform:scale(1.08)}.editor-tools-rules{flex-direction:column;align-items:stretch;gap:8px}.editor-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px}.editor-modal[hidden]{display:none!important}.editor-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#08121c94;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.editor-modal-card{position:relative;z-index:1;width:min(420px,100%);max-height:min(86vh,640px);overflow-x:hidden;overflow-y:auto;padding:18px 14px 16px 18px;background:#fff;border-radius:18px;box-shadow:0 12px 40px #00000047;display:flex;flex-direction:column;gap:12px;animation:editor-modal-in .22s ease-out;scrollbar-gutter:stable}@keyframes editor-modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.editor-modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.editor-modal-head h2{margin:0;font-size:1.2rem}.editor-modal-x{width:36px;height:36px;margin:0;padding:0;border-radius:10px;font-size:1.4rem;line-height:1;background:#f3f3f3;box-shadow:none;color:#555}.editor-modal-lead{margin:0;font-size:.85rem;font-weight:700;color:#777;line-height:1.4}.editor-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.editor-modal-card.editor-size-card{width:min(880px,100%);max-height:min(96vh,920px);height:auto;overflow:hidden;scrollbar-gutter:auto;flex:0 1 auto;padding-bottom:28px}.editor-modal-card.editor-rules-card{width:min(760px,100%);max-height:min(90vh,720px)}.editor-size-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,1fr);gap:16px;align-items:stretch;min-height:0;flex:0 1 auto;overflow:hidden}.editor-size-groups,.editor-gen-form{display:flex;flex-direction:column;gap:14px;min-height:0;max-height:min(70vh,560px);overflow-x:hidden;overflow-y:auto;padding:2px 8px 4px 2px;scroll-padding-bottom:12px;scrollbar-gutter:stable}.editor-size-groups .editor-size-group:last-child{padding-bottom:2px;margin-bottom:0}.editor-size-preview{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;height:100%}.editor-size-preview-label{font-size:.82rem;font-weight:800;color:#5a6570;letter-spacing:.02em;text-transform:uppercase;flex:0 0 auto}.editor-size-preview-canvas{width:100%;flex:0 1 auto;min-height:220px;height:auto;aspect-ratio:1 / 1;max-height:min(42vh,340px);border-radius:14px;background:#2f9fd0;box-shadow:inset 0 0 0 2px #0000000f;display:block}.editor-size-actions{margin-top:auto;margin-bottom:0;padding-top:8px;padding-bottom:10px;justify-content:flex-end;flex:0 0 auto;gap:10px}.editor-size-actions button{margin:0}.editor-size-actions .primary{margin-bottom:2px}@media(max-width:720px){.editor-modal{align-items:flex-start;justify-content:center;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));overflow:hidden}.editor-modal-card,.editor-modal-card.editor-size-card,.editor-modal-card.editor-rules-card{width:100%;max-width:100%;height:auto;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex:0 1 auto;padding:14px 12px 16px;margin:0 auto}.editor-size-layout{grid-template-columns:1fr;overflow:visible;flex:0 0 auto;height:auto;max-height:none}.editor-size-groups,.editor-gen-form{max-height:none!important;overflow:visible!important;padding-right:2px;overscroll-behavior:auto}.editor-size-preview{height:auto;flex:0 0 auto}.editor-size-preview-canvas{max-height:min(28vh,180px);min-height:120px;aspect-ratio:1 / 1;touch-action:none}.editor-size-actions{margin-top:8px;padding-bottom:0;flex-wrap:wrap;justify-content:stretch;gap:8px}.editor-size-actions button{flex:1 1 auto;min-width:0}.editor-rules-grid,.editor-rules-grid-mid,.editor-rules-grid-players{grid-template-columns:1fr}}.editor-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;align-items:start}.editor-rules-grid-mid{align-items:start}.editor-rules-grid-mid>.sk-toggle{align-content:start;padding:10px 12px;border-radius:12px;background:#f6f6f6;box-sizing:border-box}.editor-rules-grid-players{align-items:start}@media(max-width:640px){.editor-rules-grid,.editor-rules-grid-mid,.editor-rules-grid-players{grid-template-columns:1fr}}.editor-size-group-title{margin:0 0 8px;font-size:.82rem;font-weight:800;color:#5a6570;letter-spacing:.02em;text-transform:uppercase}.editor-size-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.editor-size-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0;padding:12px 14px;border:none;border-radius:12px;background:#f3f3f3;box-shadow:0 3px #d0d0d0;color:var(--ink);text-align:left;cursor:pointer;transition:transform .1s ease,filter .1s ease,background .12s ease,box-shadow .12s ease}.editor-size-btn:hover{filter:brightness(1.03);transform:translateY(-1px);background:#f3f3f3}.editor-size-btn:active{transform:translateY(2px);box-shadow:0 1px #d0d0d0;filter:none}.editor-size-btn.is-on{background:#eaf8ea;color:var(--ink);box-shadow:0 3px 0 var(--green-dark);border:none}.editor-size-btn.is-on:hover{filter:brightness(1.03);transform:translateY(-1px);background:#eaf8ea}.editor-size-btn.is-on:active{transform:translateY(2px);box-shadow:0 1px 0 var(--green-dark);filter:none}.editor-size-dims{font-size:1.05rem;font-weight:800;line-height:1.2}.editor-size-hexes{font-size:.75rem;font-weight:700;color:#7a8694}.editor-rule-field{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:800;color:#555}.editor-rule-field .sk-select,.editor-rule-field .sk-select-trigger{width:100%}.editor-rule-field>input:not([type=checkbox]):not([type=radio]):not([type=range]),.editor-rule-field input[type=text],.editor-rule-field input[type=password],.editor-rule-field input[type=number],.editor-rule-field .sk-select-trigger{width:100%;box-sizing:border-box;height:46px;min-height:46px;padding:0 14px;border:none;border-radius:12px;font:inherit;font-weight:800;color:var(--ink);background:#f3f3f3;box-shadow:0 3px #d0d0d0}.editor-rule-field>input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,.editor-rule-field input[type=text]:focus,.editor-rule-field input[type=password]:focus,.editor-rule-field input[type=number]:focus{box-shadow:0 3px #d0d0d0}input.sk-range[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:46px;min-height:46px;margin:0;padding:0 14px;border:none;border-radius:12px;background:#f3f3f3;box-shadow:0 3px #d0d0d0;box-sizing:border-box;cursor:pointer}input.sk-range[type=range]:focus,input.sk-range[type=range]:focus-visible{outline:none;box-shadow:0 3px #d0d0d0}input.sk-range[type=range]:disabled{opacity:.45;cursor:default}input.sk-range[type=range]::-webkit-slider-runnable-track{height:8px;border:none;border-radius:999px;background:linear-gradient(to right,var(--blue) 0%,var(--blue) var(--range-fill, 0%),#d5dae2 var(--range-fill, 0%),#d5dae2 100%)}input.sk-range[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin-top:-5px;border:none;border-radius:50%;background:#fff;box-shadow:0 2px #c4c8ce;cursor:pointer}input.sk-range[type=range]:disabled::-webkit-slider-thumb{cursor:default}input.sk-range[type=range]::-moz-range-track{height:8px;border:none;border-radius:999px;background:#d5dae2}input.sk-range[type=range]::-moz-range-progress{height:8px;border:none;border-radius:999px;background:var(--blue)}input.sk-range[type=range]::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:#fff;box-shadow:0 2px #c4c8ce;cursor:pointer}input.sk-range[type=range]:disabled::-moz-range-thumb{cursor:default}input.sk-range[type=range]::-moz-focus-outer{border:none}.editor-player-settings{display:flex;flex-direction:column;gap:10px;margin-top:6px}.editor-player-group{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:#f6f6f6;box-sizing:border-box}.editor-player-group-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.editor-player-build-grid{margin-top:0}.editor-money-empty{padding:10px 12px;border-radius:12px;background:#f6f6f6;color:#888;font-size:.82rem;font-weight:700}.editor-money-who{display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.editor-money-swatch{width:22px;height:22px;border-radius:8px;flex-shrink:0;box-shadow:inset 0 0 0 2px #0000001f}.editor-money-name{min-width:0;font-weight:800;color:var(--ink);white-space:nowrap}.editor-money-field{position:relative;display:inline-flex;flex-direction:row;align-items:center;flex:0 0 auto}.editor-money-field .coin-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none;z-index:1}.editor-player-group input.editor-money-input[type=number]{width:104px;flex:0 0 104px;height:40px;margin:0;padding:0 12px 0 34px;border:2px solid #e0e0e0;border-radius:12px;background:#fff;box-shadow:none;text-align:center;font-weight:800;color:var(--ink);box-sizing:border-box}.editor-rule-hint{display:block;font-size:.78rem;font-weight:700;color:#888;line-height:1.35;margin-top:2px}@media(max-width:720px){.editor-chrome{top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right))}.editor-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"back title title" "tools tools actions";align-items:center;column-gap:6px;row-gap:6px;padding:8px 14px 12px;overflow:visible}.editor-hint{display:none!important}.editor-top .screen-back-btn{grid-area:back}.editor-title{grid-area:title;flex:unset;width:100%;max-width:none;min-width:0;height:40px;padding:0 10px;font-size:.9rem}.editor-top-tools{grid-area:tools;flex-wrap:nowrap;gap:4px;min-width:0;overflow-x:auto;overflow-y:visible;padding-bottom:2px;margin-bottom:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.editor-top-tools::-webkit-scrollbar{display:none;height:0}.editor-top-actions{grid-area:actions;margin-left:0;width:auto;flex:0 0 auto;padding-bottom:2px;overflow:visible}.editor-top-actions button{flex:0 0 auto}.editor-top button{padding:0 8px;font-size:.72rem;white-space:nowrap;height:40px;min-height:40px}.editor-top .screen-back-btn{padding:0 10px;height:40px;min-height:40px}.editor-save-draft-btn{width:40px;min-width:40px;min-height:40px;height:40px;padding:0!important;gap:0}.editor-save-draft-btn .editor-top-btn-label{display:none}.editor-save-draft-btn .editor-top-btn-ico{width:20px;height:20px}.editor-fit-view-btn{width:40px;min-width:40px;min-height:40px;height:40px;padding:0!important;gap:0;flex:0 0 auto}.editor-fit-view-btn .editor-top-btn-label{display:none}.editor-fit-view-btn .editor-top-btn-ico{width:20px;height:20px}.editor-publish-btn{display:none!important}.editor-dock-cluster{gap:6px;width:calc(100% - 20px);max-width:calc(100% - 20px);align-items:flex-end;bottom:max(22px,calc(14px + env(safe-area-inset-bottom,0px)))}.editor-dock{padding:0;gap:0;min-width:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible}.editor-cats{display:flex!important;flex-direction:row;grid-template-columns:none;gap:5px;width:100%;justify-content:center;order:1}.editor-cats button.editor-cat-card,.editor-cats button{flex:1 1 0;min-width:0;max-width:86px;width:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px 5px;font-size:.62rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:12px;background:#f6f6f6;box-shadow:0 3px #d0d0d0;color:#555}.editor-cats button.is-on{background:#eaf8ea;color:#2b2b2b;box-shadow:inset 0 0 0 2px #5cb85c,0 3px #449d44}.editor-cat-preview{display:grid;place-items:center;width:28px;height:28px;flex:none}.editor-cat-preview-art{width:26px;height:26px;object-fit:contain;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.editor-cat-preview-swatch{width:22px;height:22px;border-radius:6px;box-shadow:inset 0 0 0 1px #0000001f,0 2px #00000014;display:block}.editor-cat-label{font-size:.6rem;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis}.editor-tools{position:absolute;left:50%;bottom:calc(100% + 8px);width:min(300px,calc(100vw - 24px));margin:0;padding:8px 6px;min-height:0;background:#fff;border-radius:14px;box-shadow:0 4px #0000001a,0 12px 28px #00000024;z-index:8;order:0;display:flex;flex-direction:column;transform:translate(-50%) translateY(10px) scale(.96);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .22s ease,visibility 0s linear .22s}.editor-tools.is-open{transform:translate(-50%) translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease,transform .22s ease,visibility 0s linear 0s}.editor-tools.is-closing{display:flex!important;visibility:visible;pointer-events:none}.editor-tools[hidden]:not(.is-closing){display:none!important}.editor-tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:none;gap:5px}.editor-tools-grid .editor-tool-btn{padding:5px 3px 4px;min-height:0}.editor-tools-grid .editor-tool-name{font-size:.58rem}.editor-tools-grid .editor-tool-art{width:24px;height:24px}.editor-side-btn{min-width:40px;padding:8px 6px;font-size:.8rem}.build-undo.editor-side-btn{width:40px;min-width:40px;min-height:40px;height:40px;padding:0;gap:0}.build-undo.editor-side-btn .hud-btn-label{display:none}.build-undo.editor-side-btn .hud-btn-ico{width:20px;height:20px}.editor-erase-btn{width:40px;min-width:40px;min-height:40px;height:40px;padding:0;gap:0}.editor-erase-btn .hud-btn-label{display:none}.editor-erase-btn .hud-btn-ico{width:20px;height:20px}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;height:100%;min-height:0}@media(max-width:800px){.grid-2{grid-template-columns:1fr}}input,select,textarea{font:inherit;font-weight:700;color:var(--ink);background:#f3f3f3;border:none;border-radius:12px;padding:10px 12px;box-shadow:0 3px #d0d0d0;outline:none}input::placeholder,textarea::placeholder{color:#9aa0a6;font-weight:700;opacity:1}input:focus,textarea:focus,select:focus{outline:none;box-shadow:0 3px #d0d0d0}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%232b2b2b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}select:disabled{opacity:.45;cursor:not-allowed}.sk-select{position:relative;width:100%;z-index:1}.sk-select.is-open{z-index:50}.sk-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;box-sizing:border-box;height:46px;min-height:46px;padding:0 14px;font-weight:800;background:#f3f3f3;box-shadow:0 3px #d0d0d0;border-radius:12px}.sk-select-trigger:after{content:"";width:10px;height:10px;border-right:3px solid #555;border-bottom:3px solid #555;transform:rotate(45deg) translateY(-2px);flex-shrink:0;opacity:.7;transition:transform .15s ease}.sk-select.is-open .sk-select-trigger{background:#eaf8ea;box-shadow:0 3px #449d44}.sk-select.is-open .sk-select-trigger:after{transform:rotate(-135deg) translateY(-1px)}.sk-select-trigger:hover{filter:none;transform:translateY(-1px);box-shadow:0 3px #d0d0d0}.sk-select.is-open .sk-select-trigger:hover{box-shadow:0 3px #449d44}.sk-select-trigger:active{transform:translateY(2px);box-shadow:0 3px #d0d0d0}.sk-select-trigger:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}.sk-select-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;display:none;flex-direction:column;gap:4px;padding:8px;background:#fff;border-radius:14px;box-shadow:0 4px #00000029,0 12px 28px #0000002e;max-height:min(280px,42vh);overflow:auto}.sk-select.is-open>.sk-select-menu{display:flex;animation:rise .16s ease-out}.sk-select-menu.is-portal{position:fixed;right:auto;z-index:200;display:flex;animation:rise .16s ease-out}.sk-select-option{width:100%;text-align:left;padding:10px 12px;border-radius:10px;background:#f6f6f6;box-shadow:none;font-weight:800;font-size:.95rem}.sk-select-option:hover{background:#eef6ff;transform:none;filter:none;box-shadow:none}.sk-select-option.is-active,.sk-select-option.is-active:hover{background:#5cb85c;color:#fff;box-shadow:0 2px #449d44}.sk-select-option:active{transform:translateY(1px);box-shadow:none}select.sk-select-native{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)}label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:700;color:#555}.field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:700;color:#555;width:100%}.field-label{font-size:.85rem;font-weight:700;color:#555}.field-check{flex-direction:row;align-items:center;gap:10px;cursor:pointer;margin-top:8px}.field-check .field-label{margin:0}.field input[type=range]{width:100%}.settings-panel{display:flex;flex-direction:column;gap:12px}.admin-panel{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.admin-section-title{margin:0 0 6px;font-size:.98rem;font-weight:800}.admin-hint{margin:0 0 8px;font-size:.78rem;line-height:1.3}.admin-stats{font-size:.85rem;font-weight:700;flex:0 0 auto}.admin-dash{display:flex;flex-direction:column;gap:14px}.admin-stats-panel{background:#fff;border-radius:18px;padding:18px 18px 20px;box-shadow:0 3px #00000012;display:flex;flex-direction:column;gap:16px}.admin-dash-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.admin-stats-panel .admin-section-title{font-size:1.15rem;margin-bottom:4px}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-kpi{background:#f4f7fb;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.admin-kpi-label{font-size:.82rem;font-weight:800;color:#6a7a88;text-transform:uppercase;letter-spacing:.03em}.admin-kpi-value{font-size:2rem;font-weight:800;color:#1a2a35;line-height:1.1}.admin-chart-stack{display:flex;flex-direction:column;gap:18px}.admin-chart-block{display:flex;flex-direction:column;gap:8px;min-width:0;padding-top:8px;border-top:1px solid #e8eef5}.admin-chart-title{margin:0;font-size:1.05rem;font-weight:800}.admin-chart-body{width:100%;min-height:260px;overflow-x:auto}.admin-wins-bars{min-height:220px;display:flex;justify-content:center}.admin-chart-svg{width:100%;min-width:480px;height:auto;display:block}.admin-wins-bars-svg{max-width:520px;min-width:280px;margin:0 auto}.admin-chart-grid-line,.admin-chart-grid{stroke:#e7edf4;stroke-width:1}.admin-chart-axis{fill:#5a6a78;font-size:13px;font-weight:700;font-family:Nunito,system-ui,sans-serif}.admin-chart-bar-value{fill:#1a2a35;font-size:14px;font-weight:800;font-family:Nunito,system-ui,sans-serif}.admin-news-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.admin-news-layout{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.3fr);gap:12px;align-items:start}.admin-news-editor{display:flex;flex-direction:column;gap:10px;background:#fff;border-radius:16px;padding:14px;box-shadow:0 2px #0000000f}.admin-news-list{display:flex;flex-direction:column;gap:8px;max-height:min(560px,62vh)!important;overflow:auto;background:transparent!important;box-shadow:none!important;padding:0!important}.admin-news-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;text-align:left;background:#fff;border:none;border-radius:14px;padding:12px 14px;box-shadow:0 2px #0000000f;cursor:pointer;min-height:0;height:auto}.admin-news-item:hover{filter:brightness(1.02)}.admin-news-item.is-selected{outline:2px solid var(--blue);outline-offset:-2px}.admin-news-item strong{font-size:.95rem;font-weight:800;color:#1a2a35;line-height:1.25}.admin-news-item small{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:700}.news-panel{display:flex;flex-direction:column;gap:10px;padding:12px;min-height:0;flex:1 1 auto;overflow:hidden}.news-list-body.list{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:0;background:transparent;box-shadow:none;gap:8px}.news-list-body:has(>.news-empty-card){display:flex}.news-loading{padding:16px 8px;text-align:center}.news-card.list-item{align-items:center;gap:12px;padding:12px 14px;animation:news-card-in .28s ease both;animation-delay:calc(var(--i, 0) * 40ms)}@keyframes news-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.news-card-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}.news-card-cover{display:block;width:72px;height:72px;border-radius:10px;overflow:hidden;background:#e8eef5;flex:0 0 auto}.news-card-cover img{width:100%;height:100%;object-fit:cover;display:block}.news-card-cover-empty{background:linear-gradient(145deg,#d9e7f7,#eef3f8 55%,#dce8d8)}.news-card .workshop-map-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.news-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.news-card-title{font-size:1.02rem;font-weight:800;color:#1a2a35;line-height:1.25}.news-card-lead{font-size:.85rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-card .workshop-map-actions{flex-shrink:0}.news-detail-card{background:transparent;border-radius:0;padding:4px 2px 8px;box-shadow:none;display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:0;flex:1 1 auto}.news-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0}.news-detail-title{margin:0;font-size:1.35rem;font-weight:800;line-height:1.25;color:#1a2a35}.news-detail-body{font-size:.98rem;font-weight:600;line-height:1.55;color:#243440;display:flex;flex-direction:column;gap:.35em}.news-body-p{margin:0}.news-body-gap{height:.55em}.news-body-h{margin:.4em 0 .1em;font-weight:800;color:#1a2a35;line-height:1.25}.news-body-h:first-child{margin-top:0}.news-detail-body h3.news-body-h{font-size:1.15rem}.news-detail-body h4.news-body-h{font-size:1.05rem}.news-detail-body h5.news-body-h{font-size:.98rem}.news-body-list{margin:.2em 0;padding-left:1.25em;display:flex;flex-direction:column;gap:.2em}.news-body-link{color:#2b6cb0;text-decoration:underline;text-underline-offset:2px}.news-body-img-btn{display:block;width:100%;margin:.35em 0;padding:0;border:none;background:transparent;box-shadow:none;min-height:0;height:auto;border-radius:12px;overflow:hidden;cursor:pointer}.news-body-img{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:12px;background:#e8eef5}.news-detail-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.news-detail-img{padding:0;border:none;background:transparent;box-shadow:none;min-height:0;height:auto;border-radius:12px;overflow:hidden;cursor:pointer}.news-detail-img img{width:100%;aspect-ratio:1;object-fit:cover;display:block}@media(max-width:900px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-kpi-value{font-size:1.7rem}.admin-chart-body{min-height:220px}.admin-news-layout{grid-template-columns:1fr}}@media(max-width:560px){.news-card.list-item{flex-wrap:wrap}.news-card-left{width:100%}.news-card .workshop-map-actions{width:100%;justify-content:flex-end}.news-card-cover{width:64px;height:64px}}.admin-online-now{margin:0 0 8px;font-weight:800;font-size:.9rem}.admin-online-fields{margin-bottom:8px}.admin-online-fields .field{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:.85rem}.admin-panel>.settings-block{padding:10px 12px;gap:8px;flex:0 0 auto}.admin-map-list{margin-top:6px;max-height:min(160px,22vh);overflow:auto;gap:6px}.admin-map-list-tall{max-height:min(420px,48vh)}.admin-nav-tabs{flex:0 0 auto;margin-bottom:8px}.admin-range-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:0}.admin-stats-panel .admin-range-row>button{min-height:36px;font-weight:800}.admin-range-row>button.active{background:var(--blue);color:#fff;box-shadow:0 3px #3570b0}.admin-range-stats{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:.88rem;font-weight:700}.admin-news-actions{flex-wrap:wrap;gap:6px}.admin-news-body-field{gap:6px}.admin-news-toolbar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:2px}.admin-news-toolbar>button{min-width:36px;min-height:34px;padding:4px 8px;border-radius:10px;font-weight:800;font-size:.85rem;background:#eef3f8;color:#1a2a35;box-shadow:0 2px #00000014}.admin-news-toolbar>button:active{transform:translateY(1px);box-shadow:0 1px #00000014}.admin-news-fmt-hint,.admin-news-images-hint{display:block;margin-top:4px;font-size:.78rem;font-weight:600;line-height:1.35}.admin-news-upload-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;margin-top:4px;border-radius:12px;background:#3d8bfd;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 3px #3570b0;width:fit-content}.admin-news-upload-btn:active{transform:translateY(1px);box-shadow:0 2px #3570b0}.admin-news-thumbs,.news-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:8px 0}.admin-news-thumb{display:flex;flex-direction:column;gap:6px;background:#f4f7fb;border-radius:12px;padding:6px}.admin-news-thumb.is-cover{outline:2px solid var(--blue);outline-offset:0}.admin-news-thumb-preview{position:relative;border-radius:10px;overflow:hidden}.admin-news-thumb img,.news-thumb img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block;background:#e8eaed}.admin-news-cover-badge{position:absolute;left:6px;bottom:6px;padding:3px 8px;border-radius:999px;background:#1a2a35d1;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.02em}.admin-news-thumb-actions{display:flex;flex-direction:column;gap:4px}.admin-news-thumb-actions>button{min-height:30px;padding:4px 8px;border-radius:8px;font-size:.72rem;font-weight:800}.admin-news-thumb-actions>button:disabled{opacity:.55;cursor:default}.news-thumb{padding:0;border:none;background:transparent;cursor:pointer;box-shadow:none;min-height:0;height:auto}.news-thumb:hover{filter:brightness(1.05)}.admin-shell{width:min(1080px,100%)}.admin-shell .admin-nav-tabs{flex:0 0 auto;margin:0;background:transparent;border-radius:0;padding:0;box-shadow:none;display:flex;flex-wrap:wrap;gap:8px}.admin-shell .admin-nav-tabs>button{margin:0;flex:0 0 auto}.admin-section-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-shell.has-preview .admin-section-body>.admin-maps-layout,.admin-shell.has-preview .admin-section-body>.create-layout{flex:1 1 auto;width:100%;height:100%;min-height:0}.admin-shell.no-preview .admin-panel-card{flex:1 1 auto;min-height:0;height:100%;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 40px #00000029}.admin-maps-layout{min-height:0}.admin-maps-list-panel{display:flex;flex-direction:column;gap:10px;min-height:0}.admin-maps-list-panel .admin-map-list,.admin-maps-list-panel .create-map-list{flex:1 1 auto;min-height:0;max-height:none!important;overflow:auto;background:transparent!important;box-shadow:none!important;padding:0!important;gap:6px;margin:0;align-content:flex-start;justify-content:flex-start}.admin-map-pick{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%;flex:0 0 auto!important;align-self:stretch;text-align:left;background:#f4f7fb;border:none;border-radius:12px;padding:10px 12px;box-shadow:0 2px #00000014;cursor:pointer;min-height:0!important;height:auto!important;max-height:none}.admin-map-pick:hover{filter:brightness(.98)}.admin-map-pick .workshop-map-meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.admin-map-pick strong{font-size:.92rem;font-weight:800;color:#1a2a35;line-height:1.2}.admin-map-pick small{font-size:.78rem;font-weight:700;color:#6a7580;line-height:1.2}.admin-map-item.is-selected,.admin-map-pick.is-selected{outline:none;background:var(--green);color:#fff;box-shadow:0 3px 0 var(--green-dark)}.admin-map-pick.is-selected strong,.admin-map-pick.is-selected small{color:#fff}.admin-map-pick.is-selected small{color:#ffffffd9}.admin-map-detail{overflow:auto;gap:10px}.admin-map-preview-stage{flex:1 1 auto;min-height:220px;max-height:none}.admin-map-preview-stage .lobby-preview{width:100%;height:100%;min-height:220px;max-height:none;display:block}.admin-map-info{display:flex;flex-direction:column;gap:6px;min-height:0;flex:0 1 auto}.admin-map-author{margin:-2px 0 4px;font-weight:700;font-size:.85rem}.admin-map-detail-actions{flex-wrap:wrap;gap:6px;margin-top:2px;flex:0 0 auto}@media(max-width:900px){.admin-maps-layout.lobby-layout{grid-template-columns:1fr}}.news-head-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;min-width:0}.news-tag{display:inline-flex;align-items:center;font-size:.82rem;font-weight:800;letter-spacing:.02em;padding:5px 12px;border-radius:999px;background:#dfe7f5;color:#2f4f7a;line-height:1.2}.news-tag-update{background:#d8f5e1;color:#146c2e}.news-tag-event{background:#fff0d9;color:#8a4b00}.news-tag-news{background:#e5f0ff;color:#245ea8}.news-date,.news-lead{font-weight:600;font-size:.88rem}.news-body{margin:0;white-space:normal;line-height:1.45}.news-empty-card{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:220px;height:100%;background:transparent;border-radius:0;padding:28px 24px;box-shadow:none}.news-empty-text{margin:0;text-align:center;font-size:1.05rem;font-weight:700;color:#6a7a88;line-height:1.4}.news-empty{padding:12px 4px}.news-lightbox{background:#141820b8;cursor:zoom-out}.news-lightbox img{max-width:min(920px,92vw);max-height:86vh;border-radius:12px;box-shadow:0 12px 40px #00000059}.help-suggestions{display:flex;flex-direction:column;gap:10px}.help-suggestions-hint{margin:0;font-size:.88rem;line-height:1.35}.admin-map-item{align-items:center;padding:8px 10px}.admin-map-item .workshop-map-actions{gap:6px}.admin-map-item .workshop-map-actions>button{min-height:36px;height:36px;padding:0 10px;font-size:.78rem}.settings-block{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:14px;background:#f6f7f9}.settings-audio{gap:12px}.settings-volume{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:#fff;box-sizing:border-box}.settings-volume-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-volume-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.settings-volume-label .field-label{margin:0;color:#555}.settings-volume-ico{width:18px;height:18px;flex-shrink:0;display:block;background:#555;-webkit-mask:url(/textures/ui/audio.png) center / contain no-repeat;mask:url(/textures/ui/audio.png) center / contain no-repeat}.settings-volume-value{font-size:.9rem;font-weight:800;color:var(--green-dark);font-variant-numeric:tabular-nums}.settings-volume-track{margin-top:0}.settings-volume-track input[type=range]{display:block;width:100%}.sk-switch{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;font-weight:800;color:var(--ink);width:100%}.sk-switch input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.sk-switch-label{font-size:.95rem;line-height:1.25;min-width:0}.sk-switch-ui{position:relative;width:52px;height:30px;border-radius:999px;background:#d8dde4;box-shadow:inset 0 1px 3px #0000001f;transition:background .18s ease}.sk-switch-ui:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0000002e;transition:transform .18s ease}.sk-switch input:checked+.sk-switch-label+.sk-switch-ui{background:var(--green)}.sk-switch input:checked+.sk-switch-label+.sk-switch-ui:after{transform:translate(22px)}.sk-switch:hover .sk-switch-ui{filter:brightness(1.03)}.sk-switch input:focus-visible+.sk-switch-label+.sk-switch-ui{outline:3px solid rgba(76,175,80,.45);outline-offset:2px}.list{display:flex;flex-direction:column;gap:8px;overflow:auto;max-height:100%}.list.panel{display:flex;flex-direction:column;gap:8px}.list-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#f6f6f6;border:2px solid transparent;color:var(--ink);flex-wrap:wrap}.lobby-slot-row{flex-direction:column;align-items:stretch;gap:8px}.lobby-slot-main{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;width:100%}.lobby-slot-label{font-weight:800}.lobby-slot-diff{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding-top:6px;border-top:1px solid #e6e6e6}.lobby-slot-diff-label{font-size:.8rem;font-weight:800;color:#777}.lobby-slot-diff select,.lobby-slot-main select{min-width:140px}.list-item.workshop-list-item,.help-accordion-item.workshop-list-item,.online-create-form.workshop-list-item{animation:workshop-item-in .32s ease both;animation-delay:calc(var(--i, 0) * 35ms)}@keyframes workshop-item-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.list-item.workshop-list-item{animation:none}.workshop-sort-tabs,.list.panel{transition:none}.hud-objective,.hud-chat,.hud-fold{transition:none!important}}.list-item:has(.workshop-map-left),.list-item:has(.workshop-map-meta){align-items:center}.list-item:hover{border-color:#e0e0e0}.game-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}#game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;background:#2f9fd0}.hud{position:absolute;z-index:2;left:12px;right:12px;top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none}.hud>*{pointer-events:auto}.hud-top{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;width:100%}.hud-top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;flex:0 0 auto;max-width:min(100%,520px)}.hud-icon-btn{width:44px;min-width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;border-radius:14px}.hud-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:44px;height:44px;padding:0 14px 0 12px;border-radius:14px;font-size:.92rem;font-weight:800;line-height:1.1;white-space:nowrap}.hud-action-white{background:#fff!important;color:var(--ink);box-shadow:0 3px #d0d0d0!important}.hud-action-white:active{box-shadow:0 1px #d0d0d0!important}.report-overlay .report-panel{width:min(420px,92vw);display:flex;flex-direction:column;gap:12px;align-items:stretch}.report-panel-ico{width:48px;height:48px;object-fit:contain;align-self:center;margin-top:4px}.report-overlay .report-panel h2,.report-hint{text-align:center;margin:0}.report-comment-row{display:flex;align-items:stretch;gap:0}.report-comment-row textarea{flex:1 1 auto;width:100%;min-width:0;resize:vertical;min-height:96px;font:inherit;box-sizing:border-box}@media(max-width:720px){.report-comment-row,.report-comment-row textarea{width:100%}.report-actions{justify-content:center;width:100%}}@media(max-width:420px){.report-comment-row{width:100%}}.report-actions{gap:8px;flex-wrap:wrap}.admin-report-comment{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);font-size:.9rem}.hud-btn-ico{width:22px;height:22px;display:block;flex:0 0 auto;object-fit:contain;pointer-events:none}.hud-btn-label{display:inline}.hud-fold{display:grid;grid-template-rows:1fr;opacity:1;width:100%;transition:grid-template-rows .32s ease,opacity .24s ease}.hud-fold-inner{min-height:0;overflow:hidden}.is-collapsed>.hud-fold{grid-template-rows:0fr;opacity:0;pointer-events:none}.game-audio-card{width:min(420px,calc(100vw - 32px));max-height:min(90vh,640px);overflow:auto}.overlay-center .screen-head>h2,.game-audio-card .screen-head>h2{color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.25)}.hud-players{position:absolute;left:50%;top:0;transform:translate(-50%);z-index:1;pointer-events:none;max-width:min(56vw,560px)}.hud-players-inner{display:flex;flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:10px;padding:0;background:transparent;border-radius:0;box-shadow:none}.hud-player{display:flex;flex-direction:column;align-items:center;gap:6px;width:64px;padding:0;background:transparent;border:none;box-shadow:none;color:var(--ink);line-height:1.1}.hud-player.is-you .hud-player-name{font-weight:900}.hud-player.is-turn .hud-player-face,.hud-player.is-turn .hud-player-swatch,.hud-player.is-turn .hud-player-letter{box-shadow:0 0 0 3px color-mix(in srgb,var(--p-color, #ccc) 55%,#fff),0 3px #0000002e;transform:translateY(-1px)}.hud-player-face,.hud-player-swatch{flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:box-shadow .15s ease,transform .15s ease;box-shadow:0 3px #0000002e}.hud-player-face{font-size:1.35rem;line-height:1;background:color-mix(in srgb,var(--p-color, #ccc) 28%,#fff)}.hud-player-letter{font-size:1.2rem;font-weight:900;color:#fff;background:var(--p-color, #888);text-shadow:0 1px 2px rgba(0,0,0,.28)}.hud-player-swatch{background:var(--p-color, #888)}.hud-player-name{width:auto;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:.75rem;font-weight:800;color:var(--ink);background:#fff;border-radius:12px;padding:4px 8px;box-shadow:0 3px #d0d0d0}@media(max-width:900px){.hud-players{max-width:min(64vw,420px)}.hud-players-inner{gap:8px}.hud-player{width:56px}.hud-player-face,.hud-player-swatch{width:44px;height:44px;font-size:1.2rem}.hud-player-name{max-width:60px;font-size:.7rem;padding:3px 7px}}@media(max-width:640px){.hud-players{max-width:min(72vw,300px)}.hud-player{width:48px}.hud-player-face,.hud-player-swatch{width:40px;height:40px;font-size:1.1rem}}.profile-identity{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.profile-avatar-preview{width:84px;height:84px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:900;background:linear-gradient(160deg,#f4f6f8,#e7ebf0);box-shadow:inset 0 0 0 1px #0000000f}.profile-avatar-preview.is-guest{font-size:2.4rem;color:#5c6670;background:#eceff3}.profile-avatar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.profile-avatar-opt{aspect-ratio:1;min-height:44px;padding:0;font-size:1.35rem;line-height:1;border-radius:12px;background:#f3f4f6;border:2px solid transparent}.profile-avatar-opt.is-on{border-color:#2ecc71;background:#eafaf1;box-shadow:inset 0 0 0 1px #2ecc7159}.profile-role{display:flex;justify-content:center;margin-top:-2px}.profile-role-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.profile-role-badge.is-guest{background:#eceff3;color:#5c6670}.profile-role-badge.is-anon{background:#f3f0ea;color:#6b6358}.profile-role-badge.is-account{background:#e8f7ee;color:#2f8f57}.profile-logged-line{margin:0;font-size:.95rem;font-weight:700}.profile-nick-row{display:flex;align-items:stretch;gap:8px;width:100%}.profile-nick-row input{flex:1 1 auto;min-width:0;margin:0}.profile-nick-row input:disabled,.profile-nick-row input[readonly]{opacity:.85;cursor:default;color:var(--ink);background:#eceff3}.profile-nick-row.is-editing input{opacity:1;background:#fff;cursor:text}.profile-inline-btn{flex:0 0 48px;width:48px;min-width:48px;min-height:48px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#f3f3f3;box-shadow:0 3px #d0d0d0;color:var(--ink)}.profile-inline-btn.is-save{background:var(--green);color:#fff;box-shadow:0 3px 0 var(--green-dark)}.profile-inline-btn:active{transform:translateY(2px);box-shadow:0 1px #d0d0d0}.profile-inline-btn.is-save:active{box-shadow:0 1px 0 var(--green-dark)}.profile-inline-glyph{font-size:1.25rem;font-weight:900;line-height:1}.profile-inline-btn.is-save .profile-inline-ico{width:20px;height:20px}.profile-inline-ico{width:22px;height:22px;object-fit:contain;display:block;pointer-events:none}.profile-account-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}.profile-account-actions>button{width:100%;min-height:48px}.profile-replays-panel{margin-top:12px}.profile-replays-title{margin:0 0 6px;font-size:1.05rem}.profile-replays-hint{margin:0 0 10px;font-size:.88rem}.profile-replay-item{align-items:flex-start}.profile-replay-list{max-height:min(360px,42vh);overflow:auto}.profile-password-panel label{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-weight:700}.profile-identity .profile-auth-hint{text-align:center;margin:0;line-height:1.35}.profile-auth-hint{margin:0 0 8px;font-size:.85rem;font-weight:700;opacity:.75}.profile-anon-actions{display:flex;flex-direction:column;gap:10px}.profile-anon-actions>button{width:100%;min-height:48px}.hud-objective{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;background:transparent;border-radius:0;padding:0;box-shadow:none;max-width:min(320px,90vw);width:max-content;text-align:left;line-height:1.2;min-width:0;margin-top:10px}.hud-objective:not(.is-collapsed){width:min(280px,90vw)}.hud-objective .hud-fold{align-self:stretch;min-width:0;max-width:100%;box-sizing:border-box}.hud-objective-toggle{flex:0 0 auto}.hud-objective-body{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-width:0;max-width:100%;padding:8px 12px 10px;background:#fff;border-radius:14px;box-shadow:var(--panel-shadow);box-sizing:border-box}.hud-objective-title{font-size:.95rem;font-weight:900;color:var(--ink);min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.hud-objective-detail{font-size:.75rem;font-weight:700;color:#666;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.hud-objective.is-collapsed{width:max-content;max-width:none}.hud-objective.is-collapsed>.hud-fold{width:0;min-width:0;max-width:0;overflow:hidden;margin:0;padding:0;align-self:flex-start}.hud-objective.is-collapsed .hud-objective-body{min-width:0;width:0;padding-left:0;padding-right:0}.hud-objective.is-collapsing{max-width:min(280px,90vw)}.hud-objective.is-collapsing .hud-fold,.hud-objective.is-collapsing .hud-objective-body{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box}.hud-objective.is-collapsing .hud-objective-body{padding-left:12px!important;padding-right:12px!important}.hud-bottom{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;display:flex;justify-content:center;align-items:flex-end;gap:8px;pointer-events:none;overflow:visible}.hud-bottom>*{pointer-events:auto}.hud-bottom>.hud-chat{pointer-events:none}.hud-bottom>.hud-chat>.chat-toggle,.hud-bottom>.hud-chat>.hud-fold{pointer-events:auto}.hud-chat{position:absolute;left:auto;right:0;bottom:0;width:min(280px,34vw);max-height:min(340px,42vh);padding:0;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:6px;background:transparent!important;box-shadow:none!important;border:none!important;min-width:0}.hud-chat .hud-fold{align-self:stretch;min-width:0;max-width:100%;box-sizing:border-box}.chat-box{max-height:min(340px,42vh);display:flex;flex-direction:column;gap:6px}.chat-toggle{flex:0 0 auto;align-self:flex-end}.chat-body{display:flex;flex-direction:column;gap:6px;min-height:0;min-width:0;width:100%;max-width:100%;max-height:min(300px,38vh);padding:10px;background:#fff;border-radius:16px;box-shadow:var(--panel-shadow);box-sizing:border-box}.hud-chat.is-collapsed{width:max-content;max-height:none}.hud-chat.is-collapsed>.hud-fold{pointer-events:none;width:0;min-width:0;max-width:0;overflow:hidden;margin:0;padding:0;align-self:flex-end}.hud-chat.is-collapsed .chat-body{min-width:0;width:0;padding-left:0;padding-right:0}.hud-chat.is-collapsing{max-width:min(280px,34vw)}.hud-chat.is-collapsing .hud-fold,.hud-chat.is-collapsing .chat-body{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;pointer-events:auto}.chat-input-row{display:flex;flex-wrap:nowrap;align-items:center;gap:6px}.chat-input-row input{flex:1 1 auto;min-width:0;width:0;padding:8px 10px;font:inherit;font-size:16px;font-weight:700;border:none;border-radius:10px;background:#f0f0f0;color:var(--ink)}.chat-send{flex:0 0 auto;padding:8px 10px;min-width:40px;line-height:1}.hud-build-picker{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%) translateY(0) scale(1);transform-origin:50% 100%;display:flex;flex-direction:row;justify-content:center;align-items:stretch;padding:6px 10px 16px;margin:0;background:transparent;box-shadow:none;border:none;pointer-events:auto;z-index:2;width:max-content;max-width:min(96vw,540px);overflow:visible;opacity:1}.hud-build-picker.is-pre-open{opacity:0;transform:translate(-50%) translateY(10px) scale(.92)}.hud-build-picker.is-open{animation:build-picker-in .22s ease-out}.hud-build-picker.is-closing{animation:build-picker-out .2s ease-in forwards;pointer-events:none}.hud-build-picker .build-row.is-panel-in{animation:build-panel-in .22s ease-out}@keyframes build-picker-in{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes build-picker-out{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(10px) scale(.94)}}@keyframes build-panel-in{0%{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}.hud-build-picker[hidden]{display:none!important}@media(max-width:720px),(prefers-reduced-motion:reduce){.hud-build-picker.is-pre-open,.hud-build-picker.is-open,.hud-build-picker.is-closing,.hud-build-picker .build-row.is-panel-in{animation:none!important;opacity:1;transform:translate(-50%)}.hud-build-picker.is-pre-open{opacity:1;transform:translate(-50%)}}.hud-build-stack{position:relative;flex:0 1 auto;max-width:none;width:max-content;overflow:visible;display:flex;flex-direction:column;align-items:center;gap:0}.hud-report{min-width:44px;height:44px;padding:0 12px}.hud-report-ico{width:22px;height:22px;object-fit:contain}.hud-demolish-slot{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);display:flex;justify-content:center;align-items:stretch;width:max-content;max-width:min(96vw,200px);transform-origin:50% 100%;z-index:3;pointer-events:auto}.hud-demolish-slot .build-demolish{width:auto;min-width:120px}.hud-demolish-slot.is-pre-in{opacity:0;transform:translate(-50%) translateY(8px) scale(.94)}.hud-demolish-slot.is-in{animation:demolish-slot-in .2s ease-out}.hud-demolish-slot.is-out{animation:demolish-slot-out .18s ease-in forwards;pointer-events:none}.hud-demolish-slot[hidden]{display:none!important}@keyframes demolish-slot-in{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes demolish-slot-out{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(8px) scale(.94)}}@media(prefers-reduced-motion:reduce){.hud-demolish-slot.is-pre-in,.hud-demolish-slot.is-in,.hud-demolish-slot.is-out{animation:none;opacity:1;transform:none}}.hud-build-cluster{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;margin:0 auto;max-width:min(780px,92vw);z-index:1;overflow:visible}.build-row{display:flex;flex-wrap:nowrap;flex-direction:row;gap:8px;justify-content:center;align-items:stretch;overflow:visible;padding-bottom:2px}.build-row[hidden]{display:none!important}.hud-build-dock{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;justify-content:center;margin:0;padding:0;min-height:0;width:max-content;max-width:none;align-items:center;background:transparent;box-shadow:none;border:none}.build-cat{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:96px;min-width:96px;height:82px;padding:8px 10px;font-weight:800;line-height:1.1;box-sizing:border-box;flex:0 0 96px;background:#fff;color:var(--ink);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,box-shadow .12s ease;box-shadow:0 3px #d0d0d0}@media(hover:hover)and (pointer:fine){.build-cat:hover{filter:none;transform:translateY(-1px);background:#fff;box-shadow:0 3px #d0d0d0}}.build-cat:active{transform:translateY(2px);box-shadow:0 1px #d0d0d0}.build-cat.is-active{background:#eaf8ea;box-shadow:inset 0 0 0 3px #5cb85c,0 3px #449d44}@media(hover:hover)and (pointer:fine){.build-cat.is-active:hover,.build-cat.is-active:active{filter:none;background:#eaf8ea;box-shadow:inset 0 0 0 3px #5cb85c,0 3px #449d44}}.build-cat.is-active:active{transform:translateY(2px);box-shadow:inset 0 0 0 3px #5cb85c,0 1px #449d44}.build-cat-art{width:38px;height:38px;object-fit:contain;mix-blend-mode:multiply;pointer-events:none}@media(hover:none){.build-cat:hover,.build-cat.is-active:hover,.build-btn:hover{transform:none;filter:none}.build-cat:hover{box-shadow:0 3px #d0d0d0}.build-cat.is-active:hover{box-shadow:inset 0 0 0 3px #5cb85c,0 3px #449d44}}.build-cat-emoji,.build-ico{font-size:1.6rem;line-height:1}.build-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:108px;min-width:108px;max-width:108px;height:auto;min-height:128px;padding:10px 8px 8px;line-height:1.2;background:#fff;border:none;border-radius:14px;box-shadow:inset 0 0 0 0 transparent,0 4px #00000029,0 8px 18px #00000029;cursor:pointer;flex:0 0 108px;box-sizing:border-box;overflow:visible;filter:none;isolation:isolate;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .12s ease,background-color .22s ease,box-shadow .22s ease}.build-btn:hover{filter:none;transform:translateY(-1px);box-shadow:inset 0 0 0 0 transparent,0 4px #00000029,0 8px 18px #00000029}.build-btn.is-picked{outline:none;background:#eaf8ea;box-shadow:inset 0 0 0 3px #5cb85c,0 4px #00000029,0 8px 18px #00000029}.build-btn.is-picked:hover{filter:none;transform:translateY(-1px);box-shadow:inset 0 0 0 3px #5cb85c,0 4px #00000029,0 8px 18px #00000029}.build-btn:active,.build-btn.is-picked:active{transform:translateY(2px);filter:none;background:#fff}.build-btn:active{box-shadow:inset 0 0 0 0 transparent,0 4px #00000029,0 8px 18px #00000029}.build-btn.is-picked:active{background:#eaf8ea;box-shadow:inset 0 0 0 3px #5cb85c,0 4px #00000029,0 8px 18px #00000029}.build-btn.is-nomoney{background:#ffe3e3;box-shadow:inset 0 0 0 3px #ff4c4c,0 4px #b4282840,0 8px 18px #00000029;animation:build-nomoney-shake .4s ease}.build-demolish.is-nomoney{animation:build-nomoney-shake .4s ease}@keyframes build-nomoney-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.build-unit-art{width:40px;height:40px;object-fit:contain;mix-blend-mode:multiply;pointer-events:none;image-rendering:auto;flex-shrink:0}.build-name{font-size:.8rem;font-weight:800;text-align:center;line-height:1.15;max-width:100%;overflow:visible;white-space:normal;word-break:break-word;color:var(--ink)}.build-price{display:inline-flex;align-items:center;justify-content:center;gap:3px;font-size:.88rem;font-weight:800;color:#b8860b;line-height:1}.build-price .coin-icon-sm{width:14px;height:14px}.build-price b{color:var(--ink)}.build-econ{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:1px;line-height:1.05}.build-econ-label{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:#888}.build-econ-val{display:inline-flex;align-items:center;gap:2px;font-size:.78rem;font-weight:800}.build-econ-val .coin-icon-sm{width:12px;height:12px}.build-econ.is-upkeep .build-econ-val b{color:#c62828}.build-econ.is-income .build-econ-val b{color:#2e7d32}.coin-icon-sm{width:16px;height:16px}.hud-build-side{display:flex;flex-direction:column;align-items:stretch;gap:8px;flex-shrink:0;align-self:center}.build-end,.build-undo,.build-demolish{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;flex-shrink:0;align-self:center;white-space:nowrap;min-height:52px}.build-end.hud-action-btn{min-width:110px;height:auto;min-height:52px;padding:12px 16px;gap:8px}.build-undo.hud-action-btn{background:#fff3cd;box-shadow:0 3px #e0c35a;min-width:96px;height:auto;min-height:52px;padding:12px 14px;gap:8px}.build-undo:active{box-shadow:0 1px #e0c35a}.build-demolish{flex-direction:column;gap:2px;min-width:96px;padding:8px 10px;font-size:.82rem}.build-demolish-main{display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.1}.build-demolish-ico{width:18px;height:18px;object-fit:contain;display:block;flex-shrink:0;pointer-events:none}.build-demolish-label{line-height:1.1}.build-demolish-cost{display:inline-flex;align-items:center;gap:3px;font-size:.78rem}.build-demolish-cost .coin-icon-sm{width:12px;height:12px}.build-demolish:disabled{opacity:.55;cursor:not-allowed}.chat-log{overflow:auto;flex:1 1 auto;min-height:100px;max-height:min(180px,24vh);font-size:.85rem;font-weight:600;display:flex;flex-direction:column;gap:2px;color:var(--ink)}.chat-log .sys{opacity:.65;font-style:italic}.emoji-bar{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.emoji-bar button{padding:4px 0;font-size:1.05rem;line-height:1;box-shadow:0 2px #d0d0d0;border-radius:999px;aspect-ratio:1;display:grid;place-items:center}.lobby-screen{align-items:stretch;justify-content:flex-start;overflow:hidden;padding-bottom:var(--wizard-bottom-gap)}.lobby-shell,#wizard-shell.lobby-shell{width:min(1080px,100%);margin:0 auto;display:flex;flex-direction:column;gap:10px;min-height:0;flex:1 1 auto;height:100%;max-height:100%;animation:rise .35s ease-out}#wizard-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}#wizard-body>.create-layout,#wizard-body>.create-full,#wizard-body>.lobby-live-grid{flex:1 1 auto;width:100%;height:100%;min-height:0;max-height:none}#wizard-nav.create-nav,.lobby-shell>.create-nav{flex:0 0 auto;margin-top:2px;margin-bottom:0;padding-bottom:2px}.lobby-head{flex-wrap:wrap}.lobby-head strong,.lobby-head code{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.lobby-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:12px;min-height:0;flex:1;align-items:stretch}@media(max-width:860px){.lobby-layout{grid-template-columns:1fr}}.lobby-main{overflow:auto;max-height:none;flex:1 1 auto;min-height:0}.lobby-side{display:flex;flex-direction:column;gap:8px;min-height:0;max-height:none;flex:1 1 auto;height:100%}.lobby-preview-panel{display:flex;flex-direction:column;gap:8px;min-height:0;max-height:none;height:100%;padding:12px}.lobby-preview-label{font-size:.78rem;font-weight:800;color:#6a7580;letter-spacing:.04em;text-transform:uppercase}.lobby-preview{width:100%;flex:1 1 auto;min-height:280px;height:auto;border-radius:14px;background:#2f9fd0;display:block;max-width:100%}.lobby-chat{flex:1 1 auto;min-height:140px;display:flex;flex-direction:column;gap:6px;max-height:none}.lobby-chat .chat-log{flex:1 1 auto;max-height:none;min-height:80px;overflow:auto}.lobby-slots-hint{margin:0 0 8px;font-size:.85rem}.lobby-setup-note{margin:8px 0 0;font-size:.85rem}.create-wizard,.lobby-shell-live{width:min(1080px,100%)}.create-wizard.no-preview .create-full,.create-wizard.has-preview .create-layout{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column}.create-wizard.has-preview .create-layout{display:grid}.create-layout{min-height:0;height:100%}.create-side{height:100%;max-height:none;min-height:0}.create-wizard .create-main,.lobby-shell-live .create-main,#wizard-body .create-main{flex:1 1 auto;max-height:none;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:8px}.create-top,.lobby-live-top{position:relative;width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;background:#fff;border-radius:16px;box-shadow:0 4px 18px #00000029;flex:0 0 auto}.create-top-title{justify-self:center;text-align:center;font-size:1.15rem;font-weight:800;color:#1e2833!important;text-shadow:none!important}.create-top-spacer{width:88px}.create-exit{min-width:88px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.create-exit-ico{width:18px;height:18px;object-fit:contain;flex:0 0 auto;pointer-events:none}.lobby-live-title{justify-self:center;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.lobby-live-title strong{color:#1e2833!important;text-shadow:none!important;font-size:1.1rem;font-weight:800}.create-top strong,.lobby-live-top strong{color:#1e2833!important;text-shadow:none!important}.lobby-live-title code{color:#3a4550;text-shadow:none;font-size:.85rem;background:#fff;padding:2px 8px;border-radius:8px;border:1px solid #e5e8ec}.create-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;transform-origin:top center;flex:0 0 auto}.create-steps.create-steps-enter{animation:lobby-steps-in .38s ease-out both}.create-steps.create-steps-leave{animation:lobby-steps-out .28s ease-in both;pointer-events:none}@keyframes lobby-steps-in{0%{opacity:0;transform:translateY(-12px) scaleY(.88);max-height:0;margin-top:-8px}to{opacity:1;transform:translateY(0) scaleY(1);max-height:64px;margin-top:0}}@keyframes lobby-steps-out{0%{opacity:1;transform:translateY(0) scaleY(1);max-height:64px}to{opacity:0;transform:translateY(-10px) scaleY(.9);max-height:0;margin-top:-8px}}.create-steps button{margin:0;width:100%;min-width:0;padding:12px 10px;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.create-steps button:disabled{opacity:.45;cursor:default;transform:none;filter:none}.create-nav-btn.create-nav-btn-enter{animation:lobby-start-in .32s ease-out both}@keyframes lobby-start-in{0%{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.create-nav{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:4px;flex:0 0 auto}.create-nav.create-nav-solo{justify-content:center}.create-nav-btn{width:200px;min-width:200px;max-width:200px;height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:0;padding:0 14px;font-size:1rem;font-weight:800;border-radius:14px;box-sizing:border-box}.create-nav-btn.create-nav-spacer{visibility:hidden;pointer-events:none}.create-nav-ico,.create-nav-ico.editor-tools-nav-glyph{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#00000014;font-size:1.45rem;font-weight:900;line-height:1;flex-shrink:0}.create-nav-btn.primary .create-nav-ico{background:#ffffff38;color:#fff}.create-rules-card.editor-modal-card{width:100%;max-height:none;height:100%;overflow:auto;padding:18px 16px 16px;border-radius:16px;box-shadow:0 10px 40px #0000002e;animation:none}.create-preview-card{box-shadow:0 10px 40px #00000029}.create-rules-head{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.create-rules-head h2,.create-section-title{margin:0;font-size:1.25rem;font-weight:800;color:#1e2833!important;text-shadow:none!important}.create-slot-card{border-radius:12px;background:#f6f6f6;padding:10px 12px;margin-bottom:8px}.create-slot-card.workshop-list-item,.create-preview-card.workshop-list-item,.create-rules-card.workshop-list-item{animation:workshop-item-in .32s ease both;animation-delay:calc(var(--i, 0) * 35ms)}.lobby-preview-stage{position:relative;flex:1 1 auto;min-height:220px;width:100%;max-width:100%;border-radius:12px;overflow:hidden;background:radial-gradient(120% 80% at 50% 40%,#5eb0e8,#3d8fd4 55%,#2f7fc4)}.create-wizard .lobby-preview-stage{min-height:240px;height:100%}.lobby-preview-stage .lobby-preview,.lobby-preview-stage .lobby-live-preview-canvas{display:block;width:100%;height:100%;min-height:inherit;max-width:100%;opacity:0;background:transparent}.lobby-preview.is-preview-in,.lobby-live-preview-canvas.is-preview-in{animation:lobby-preview-fade .4s ease both}@keyframes lobby-preview-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.lobby-preview.is-preview-in,.lobby-live-preview-canvas.is-preview-in{animation:none;opacity:1}}.create-preview-card,.lobby-preview-panel,.lobby-live-preview{overflow:hidden;min-height:0}.create-preview-card .lobby-preview,.lobby-preview-panel .lobby-preview{max-width:100%}.create-source-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px}.create-source-tabs button{margin:0;padding:10px 8px;font-size:.9rem}.create-source-switch{--src-i: 0;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:12px;padding:4px;border-radius:14px;background:#eef1f5;box-shadow:inset 0 0 0 1px #e2e6ec}.create-source-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 3);border-radius:11px;background:#fff;box-shadow:0 2px #00000014;transform:translate(calc(var(--src-i) * 100%));transition:transform .28s cubic-bezier(.22,1,.36,1);pointer-events:none;z-index:0}.create-source-opt{position:relative;z-index:1;margin:0;padding:10px 8px;border:0;border-radius:11px;background:transparent;box-shadow:none;color:#5a6570;font-weight:800;font-size:.88rem;transform:none}.create-source-opt:hover,.create-source-opt:active{transform:none;filter:none;box-shadow:none}.create-source-opt.is-on{color:#1e2833;background:transparent;box-shadow:none}.create-build-grid,.create-feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:8px}.create-build-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:0;padding:12px 8px 10px;min-height:96px;border-radius:14px;background:#fff;box-shadow:0 3px #d8dde4;cursor:pointer;color:#2a3340;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.create-build-card:hover{transform:translateY(-1px)}.create-build-card input{position:absolute;opacity:0;pointer-events:none}.create-build-card img{width:40px;height:40px;object-fit:contain}.create-build-name{font-size:.78rem;font-weight:800;text-align:center;line-height:1.15}.create-build-tick{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:6px;background:#e8ecf1;box-shadow:inset 0 0 0 1px #d0d6de}.create-build-tick:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:3px;background:transparent}.create-build-card.is-on{background:#eaf8ea;box-shadow:0 3px #3bb273}.create-build-card.is-on .create-build-tick{background:var(--green);box-shadow:0 2px 0 var(--green-dark)}.create-build-card.is-on .create-build-tick:after{content:"";top:2px;right:2px;bottom:2px;left:2px;display:block;background:url(/textures/ui/check-white.png) center / 12px 12px no-repeat;border-radius:0}.create-gen-stack{display:flex;flex-direction:column;gap:14px}.create-gen-section{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:#f6f7f9}.create-gen-section .editor-size-group-title,.create-gen-row{margin:0}.create-territory-row,.create-mine-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.create-subhead{margin-top:10px}.create-map-body .create-map-list{max-height:min(42vh,380px)}.create-map-tools-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.55fr);gap:8px;align-items:end;width:100%}.create-map-tools-row:has(>:only-child){grid-template-columns:minmax(0,1fr)}.create-map-tools-row>input,.create-map-tools-row>.sk-select,.create-map-tools-row>label{width:100%;min-width:0;box-sizing:border-box}.create-map-filter-field{margin:0}.create-map-filter-field select{width:100%}.create-map-item-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1 1 auto}.create-map-likes{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;align-self:center;min-width:3.2rem;font-size:.95rem;font-weight:800;color:#e11d48;line-height:1}.create-map-like-ico{display:block;flex:0 0 auto;color:#e11d48}.create-map-body{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}.create-preset-block{display:flex;flex-direction:column;gap:10px;margin:4px 0 8px}.create-preset-block .online-preset-row{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.create-preset-block .editor-size-btn{align-items:center;text-align:center}.create-preset-block .editor-size-btn .editor-size-dims{font-size:.92rem}.preset-hint{margin:0;padding:8px 10px;border-radius:10px;background:#f6f6f6}.create-map-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:-6px;padding:0 0 20px}.create-map-actions.editor-modal-actions{justify-content:center;margin-top:12px}.create-map-actions button{min-width:150px;margin:0}.create-map-list-panel{display:flex;flex-direction:column;gap:8px;min-height:0;height:100%;padding:12px}.create-map-list-tools{display:flex;flex-direction:column;gap:8px;flex:0 0 auto}.create-map-list-tools input{width:100%}.create-map-filters{display:flex;flex-wrap:wrap;gap:6px}.create-map-filters button{margin:0;padding:8px 10px;font-size:.8rem}.create-map-list{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:6px;padding-right:2px}.create-map-item{display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;margin:0;padding:12px 14px;text-align:left;border-radius:12px}.create-map-item small{color:#6a7580;font-weight:600}.create-map-item.is-on{background:var(--green);color:#fff;box-shadow:0 3px 0 var(--green-dark)}.create-map-item.is-on small{color:#ffffffd9}.create-map-item.is-on .create-map-likes,.create-map-item.is-on .create-map-like-ico{color:#fff}.lobby-ready-badge{flex:0 0 auto;margin:0;padding:6px 10px;border-radius:999px;background:#eaf8ea;color:#1e6b35;font-size:.78rem;font-weight:800;box-shadow:0 2px #8fbf9a;white-space:nowrap}.workshop-panel{display:flex;flex-direction:column;gap:10px;padding:12px;min-height:0;flex:1 1 auto;overflow:hidden}.workshop-catalog-tools{flex:0 0 auto}.workshop-catalog-tools-row{width:100%}.workshop-mine-tools-row{grid-template-columns:1fr}.workshop-list-body.list{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:0;background:transparent;box-shadow:none}.create-map-loading{padding:16px 8px}.create-selected-map{padding:8px 10px;border-radius:10px;background:#f3f6f8}.create-mini-preview-wrap{flex:1 1 auto;min-height:180px;padding:8px;display:flex;flex-direction:column}.create-mini-preview{min-height:160px;height:100%}.create-game-grid{display:flex;flex-direction:column;gap:6px}.create-game-grid>label{margin-top:4px}.field-hint{margin:0 0 6px;font-size:.82rem;line-height:1.35}.create-review h3{margin:0 0 8px;font-size:1.05rem}.create-review-list,.create-review-slots{margin:0 0 10px;padding-left:1.1rem;display:flex;flex-direction:column;gap:4px}.create-review-slots li{display:flex;align-items:center;gap:8px;list-style:none;margin-left:-1.1rem}.lobby-live-grid{display:grid;grid-template-columns:minmax(240px,1.08fr) minmax(240px,1fr) minmax(240px,.9fr);gap:12px;flex:1 1 auto;min-height:0;height:100%;align-items:stretch}.lobby-head-inline{justify-self:center;display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:100%}.lobby-head-name{color:#1e2833!important;text-shadow:none!important;font-size:1.08rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(42vw,320px)}.lobby-head-sep{width:1px;height:1.1em;background:#d8dee6;flex:0 0 auto}.lobby-head-code-wrap{display:inline-flex;align-items:center;gap:8px;min-width:0}.lobby-head-code-label{color:#6a7580;font-size:.78rem;font-weight:800;white-space:nowrap}.lobby-code-short{display:none}.lobby-head-code{color:#3a4550;font-size:.9rem;font-weight:800;background:#fff;border:1px solid #e5e8ec;padding:4px 10px;border-radius:10px;letter-spacing:.04em}.lobby-live-left{display:flex;flex-direction:column;gap:10px;min-height:0;height:100%}.lobby-live-preview{flex:1 1 55%;display:flex;flex-direction:column;gap:8px;padding:12px;min-height:0}.lobby-live-preview .lobby-preview-stage{flex:1 1 auto;min-height:220px;height:auto;max-height:none}.lobby-live-players{flex:1 1 45%;min-height:0;overflow:auto;padding:12px}.lobby-live-info{min-height:0;height:100%;overflow:auto;padding:12px}.lobby-info-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.lobby-info-list li{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:.86rem}.lobby-info-list li span{color:#6a7580;font-weight:700}.lobby-info-list li strong{color:#1e2833;font-weight:800;text-align:right}.lobby-info-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.lobby-info-actions button{margin:0;flex:1 1 auto;min-width:110px}.lobby-member-card .lobby-slot-main{width:100%;gap:10px}.lobby-member-meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.lobby-member-meta strong{font-size:.92rem;color:#1e2833}.lobby-member-meta small{color:#6a7580;font-weight:700}.lobby-info-section{margin-top:10px}.lobby-info-blurb{margin:0 0 8px;padding:8px 10px;border-radius:10px;background:#f6f6f6}.lobby-live-chat{min-height:0;height:100%;max-height:none;display:flex;flex-direction:column;gap:8px;padding:12px}.lobby-live-chat .chat-log{flex:1 1 auto;min-height:120px;max-height:none;overflow:auto}.lobby-slot-host-row{display:flex;gap:8px;align-items:center;margin-top:6px}.lobby-slot-host-row select{flex:1 1 auto;min-width:0}.lobby-kick-btn{margin:0;padding:8px 10px;font-size:.8rem;flex:0 0 auto}@media(max-width:960px){.lobby-live-grid{grid-template-columns:1fr 1fr}.lobby-live-chat{grid-column:1 / -1;min-height:220px}}@media(max-width:720px){.lobby-screen{overflow:auto;-webkit-overflow-scrolling:touch}.lobby-shell,#wizard-shell.lobby-shell,.lobby-shell-live{height:auto;max-height:none;min-height:0;flex:0 0 auto}.lobby-shell-live #wizard-body,.lobby-screen #wizard-body{overflow:visible;flex:0 0 auto;min-height:0;height:auto}.lobby-live-grid{grid-template-columns:1fr;display:flex;flex-direction:column;height:auto!important;max-height:none;overflow:visible}#wizard-body>.lobby-live-grid,#wizard-body>.create-layout,#wizard-body>.create-full{height:auto!important;max-height:none;flex:0 0 auto}.create-wizard .create-main,.lobby-shell-live .create-main,#wizard-body .create-main,.create-rules-card.editor-modal-card,.lobby-main,.lobby-side,.create-side,.lobby-layout,.create-layout,.create-full{height:auto!important;max-height:none!important;overflow:visible!important;min-height:0}.create-nav-btn{width:0;min-width:0;max-width:none;flex:1 1 140px}.create-top-spacer{display:none}.create-top,.lobby-live-top{grid-template-columns:auto minmax(0,1fr);gap:6px;padding:8px}.create-exit{min-width:0;padding:10px 12px;font-size:.85rem}.lobby-copy-btn{display:none!important}.lobby-head-name{max-width:min(42vw,200px)}.lobby-code-full{display:none}.lobby-code-short{display:inline}.create-wizard .lobby-live-preview-canvas,.lobby-live-preview-canvas{min-height:140px;max-height:min(28vh,220px)}.lobby-preview{min-height:140px}.lobby-live-left{display:flex;flex-direction:column;gap:10px;height:auto;min-height:0}.lobby-live-preview,.lobby-live-players,.lobby-live-info,.lobby-live-chat{flex:0 0 auto;height:auto;max-height:none;min-height:0;overflow:visible}.lobby-live-chat{min-height:0}.lobby-live-chat .chat-log,.lobby-chat .chat-log{flex:0 0 auto;min-height:0;max-height:none;overflow:visible}.online-card .online-tabs{gap:6px}.online-card .online-tabs button{padding:12px 8px;font-size:.9rem}.create-source-tabs button,.create-source-switch button{font-size:.78rem;padding:8px 4px}.screen-back-label{display:none}.screen-back-btn{width:auto;min-width:0;height:auto;padding:12px;gap:0}.screen-back-ico{width:1.25em;height:1.25em}}.lobby-slot-swatch{width:14px;height:14px;border-radius:4px;flex-shrink:0;box-shadow:inset 0 0 0 1px #00000026}.lobby-slot-letter{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.28)}.lobby-slot-assign{display:flex;align-items:center;gap:8px;margin-top:6px;width:100%}.online-sessions-panel.panel.fill,.online-card .panel.fill.online-sessions-panel{display:flex;flex-direction:column;gap:10px;padding:12px;min-height:0;flex:1 1 auto;overflow:hidden;max-height:none}.online-sessions-list.list{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:0;background:transparent;box-shadow:none}.online-card .online-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.online-card .online-tabs button{width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:12px 18px;font-size:1rem}.online-tab-full{display:inline}.online-tab-short,.lobby-copy-short{display:none}.lobby-copy-btn{min-width:0;white-space:nowrap}@media(max-width:720px){.online-tab-full{display:none}.online-tab-short{display:inline}}.online-session-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.online-session-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.online-session-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.online-player-count{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-size:.9rem;color:#445}.online-join-btn{min-width:7.5rem}.online-create-form{display:flex;flex-direction:column;align-items:stretch;gap:10px}.online-create-hint{margin:0;font-size:.9rem}.online-preset-row{flex-wrap:wrap;gap:6px}.lobby-emoji{flex:0 0 auto}.lobby-emoji button{aspect-ratio:auto;min-height:34px;padding:4px 2px;border-radius:10px;font-size:1rem}.lobby-actions{flex:0 0 auto;margin-top:2px}.tabs{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.workshop-sort-tabs{overflow:hidden;max-height:220px;opacity:1;margin-bottom:10px;padding-bottom:6px;transform:translateY(0);transition:max-height .28s ease,opacity .22s ease,margin-bottom .28s ease,padding-bottom .28s ease,transform .28s ease}.workshop-sort-tabs.is-collapsed{max-height:0;opacity:0;margin-bottom:0;padding-bottom:0;transform:translateY(-6px);pointer-events:none}.workshop-sort-tabs>button,.workshop-sort-tabs>.workshop-popular{margin-bottom:2px}.tabs button.active{background:var(--blue);color:#fff;box-shadow:0 3px #3570b0}.workshop-popular{display:inline-flex;align-items:center;gap:6px;margin:0 0 2px;padding:6px 10px;border-radius:12px;background:#f3f3f3;box-shadow:0 3px #d0d0d0;cursor:pointer;font-weight:800;color:var(--ink)}.workshop-popular.active{background:var(--blue);color:#fff;box-shadow:0 3px #3570b0}.workshop-popular-label{font-size:.92rem;white-space:nowrap}.workshop-popular select,.workshop-popular .sk-select{min-width:7.5em}.workshop-popular .sk-select-trigger{padding:4px 28px 4px 8px;font-size:.85rem;border-radius:8px;background:#ffffffeb;color:var(--ink);box-shadow:none}.workshop-popular.active .sk-select-trigger{background:#fff}.workshop-popular select{font:inherit;font-weight:800;font-size:.85rem;border:none;border-radius:8px;padding:4px 6px;background:#ffffffeb;color:var(--ink);cursor:pointer}.workshop-map-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 180px}.workshop-map-meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 180px}.workshop-map-title-row{display:flex;align-items:center;gap:8px;min-width:0}.workshop-map-title-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}.workshop-map-meta small{opacity:.7;font-weight:700;line-height:1.2}.workshop-cleared-badge{display:inline-flex;align-items:center;gap:0;padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#146c2e;background:#d8f5e1;flex-shrink:0}.list-item.is-cleared{background:#f3faf5;box-shadow:inset 3px 0 #3cb371}.workshop-map-actions{flex-shrink:0;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:100%}.workshop-map-actions .workshop-fork-btn{width:44px;min-width:44px;flex:0 0 44px;padding-left:0;padding-right:0;gap:0}.workshop-map-actions .workshop-fork-btn .workshop-action-label{display:none}.workshop-map-actions .workshop-fork-btn .workshop-action-ico{width:18px;height:18px}@media(min-width:721px){.list-item:has(.workshop-map-left){flex-wrap:nowrap}.list-item:has(.workshop-map-left) .workshop-map-actions{flex-wrap:nowrap}.list-item:has(.workshop-map-left) .workshop-map-left{flex:1 1 auto;min-width:0}}.workshop-map-actions-mine{justify-content:flex-start;margin-left:0;align-items:stretch}.workshop-map-actions-mine>button{box-sizing:border-box;height:44px;min-height:44px;padding-top:0;padding-bottom:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.workshop-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box}.workshop-action-ico{width:1.1em;height:1.1em;object-fit:contain;flex-shrink:0;display:block;pointer-events:none}.workshop-action-label{line-height:inherit}.list-item>.workshop-action-btn{flex:0 0 auto}.campaign-list{gap:10px}.campaign-level{align-items:center;gap:12px;padding:12px 14px;background:#f4f6f8;border:2px solid transparent;flex-wrap:nowrap}.campaign-level-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}.campaign-level-num{flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:1.05rem;color:#fff;background:linear-gradient(160deg,#4a90d9,#3570b2);box-shadow:0 3px #2a5a8f}.campaign-level-meta{display:flex;flex-direction:column;gap:3px;min-width:0}.campaign-level-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0}.campaign-level-meta strong{font-size:.98rem;font-weight:800;color:var(--ink);line-height:1.2}.campaign-level-meta small{font-size:.78rem;font-weight:700;color:#7a8490}.campaign-status-badge{font-size:.68rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;padding:3px 8px;border-radius:999px;flex-shrink:0}.campaign-status-badge.is-done{background:#d8f5e1;color:#146c2e}.campaign-status-badge.is-next{background:#e5f0ff;color:#245ea8}.campaign-locked-badge{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:44px;min-height:44px;padding:0 14px;border-radius:12px;background:#e8eaee;color:#6a7380;font-weight:800;font-size:.9rem;box-shadow:inset 0 0 0 1px #0000000a;flex:0 0 auto;white-space:nowrap}.campaign-locked-ico{width:16px;height:16px;object-fit:contain;display:block;opacity:.75;pointer-events:none}.campaign-level.is-next{background:#eef5ff;border-color:#b7d2f5;box-shadow:0 2px #4a90d92e}.campaign-level.is-next .campaign-level-num{background:linear-gradient(160deg,#5cb85c,#449d44);box-shadow:0 3px #2f7a2f}.campaign-level.is-cleared{background:#f3faf5}.campaign-level.is-cleared .campaign-level-num{background:linear-gradient(160deg,#7aa889,#5a8f6a);box-shadow:0 3px #3d6a4a}.campaign-level.is-locked{background:#f0f1f3;opacity:.92}.campaign-level.is-locked .campaign-level-num{background:linear-gradient(160deg,#b0b6bd,#8e959e);box-shadow:0 3px #6e757e}.campaign-level.is-locked .campaign-level-meta strong{color:#5c6570}@media(max-width:720px){.campaign-level{flex-wrap:wrap;gap:10px}.campaign-level>.workshop-action-btn,.campaign-level>.campaign-locked-badge{width:100%}}.workshop-map-actions .workshop-action-btn{height:44px;min-height:44px;padding-top:0;padding-bottom:0;box-sizing:border-box}.workshop-map-actions .workshop-action-ico{width:16px;height:16px}.list-item:has(.workshop-map-actions-mine){flex-direction:column;align-items:stretch}.list-item:has(.workshop-map-actions-mine) .workshop-map-meta{flex:1 1 auto}.workshop-icon-btn{width:44px;min-width:44px;padding-left:0!important;padding-right:0!important;display:inline-flex;align-items:center;justify-content:center}.workshop-icon-btn-img{width:20px;height:20px;object-fit:contain;display:block;pointer-events:none}.workshop-icon-btn svg{display:block}@media(max-width:720px){.workshop-map-actions-mine .workshop-action-btn.primary,.workshop-map-actions-mine .workshop-del-btn{width:44px;min-width:44px;flex:0 0 44px;padding-left:0;padding-right:0;gap:0}.workshop-map-actions-mine .workshop-action-btn.primary .workshop-action-label,.workshop-map-actions-mine .workshop-del-btn .workshop-action-label{display:none}.workshop-map-actions-mine .workshop-action-btn.primary .workshop-action-ico,.workshop-map-actions-mine .workshop-del-btn .workshop-action-ico{width:18px;height:18px}}.vote-btn{min-width:0;padding:6px 10px;font-size:.85rem;font-weight:800;border-radius:10px;background:#ebebeb;box-shadow:0 2px #c8c8c8;color:var(--ink)}.vote-btn.vote-fav{flex:0 0 auto;width:34px;height:34px;min-width:34px;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;color:#b0b0b0;background:transparent;box-shadow:none}.vote-btn.vote-fav.is-on{color:#fc0;background:transparent;border-color:transparent;filter:drop-shadow(0 1px 0 #e6a800)}.vote-btn.vote-fav:hover{color:#ffd633;background:#fff8e0}.vote-btn.vote-fav.is-on:hover{color:#ffd633}.vote-btn.vote-like{display:inline-flex;align-items:center;gap:6px}.vote-btn.vote-like .vote-ico,.vote-btn.vote-fav .vote-ico{display:block;flex-shrink:0}.vote-btn.vote-like .vote-ico{color:#e11d48}.vote-btn.vote-like.is-on,.vote-btn.is-on.vote-like{background:#ffe4ec;box-shadow:0 2px #f5a3b8;color:#9f1239}.vote-btn.vote-like.is-on .vote-ico,.vote-btn.is-on.vote-like .vote-ico{color:#e11d48}.vote-btn.vote-like.is-ro,.vote-btn.vote-like:disabled{cursor:default;pointer-events:none;opacity:1;filter:none;transform:none}.vote-btn.vote-like.is-ro:hover,.vote-btn.vote-like:disabled:hover{filter:none;transform:none}.vote-btn.vote-like.is-ro .vote-ico,.vote-btn.vote-like:disabled .vote-ico{color:#e11d48}.vote-btn:active{transform:translateY(1px);box-shadow:0 1px #c8c8c8}.toast-emoji{position:absolute;z-index:5;font-size:2rem;animation:pop 1.8s ease-out forwards;pointer-events:none}.toast-host{position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:10px;width:max-content;max-width:min(420px,calc(100vw - 28px));pointer-events:none}.toast-note{display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;padding:12px 14px;border-radius:14px;font-weight:800;font-size:.95rem;line-height:1.35;text-align:left;background:#fff;color:var(--ink);box-shadow:0 4px #00000024,0 10px 22px #0000001f;opacity:0;transform:translateY(-14px);transition:opacity .25s ease,transform .25s ease}.toast-note.is-in{opacity:1;transform:translateY(0)}.toast-note.is-out{opacity:0;transform:translateY(-10px)}.toast-icon{flex:0 0 auto;width:36px;height:36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 3px #00000029}.toast-ico{display:block}.toast-text{flex:0 1 auto;min-width:0;white-space:normal}.toast-error .toast-icon{background:var(--red);box-shadow:0 3px #d63a3a}.toast-info .toast-icon{background:var(--blue);box-shadow:0 3px #3a78c0}.toast-success .toast-icon{background:var(--green);box-shadow:0 3px 0 var(--green-dark)}#hud-timer-chip.is-urgent{background:#ffe8e0;box-shadow:0 3px #e8a090}#hud-timer-chip.is-urgent .hud-value{color:#c23b22}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.8)}15%{opacity:1;transform:none}to{opacity:0;transform:translateY(-40px)}}.overlay-center{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;background:#00000059;animation:overlay-fade-in .22s ease-out}.overlay-center .panel{text-align:center;min-width:240px;animation:editor-modal-in .22s ease-out}@keyframes overlay-fade-in{0%{background-color:#0000}to{background-color:#00000059}}@media(prefers-reduced-motion:reduce){.overlay-center,.overlay-center .panel{animation:none}}.end-panel h2{margin:4px 0 16px;font-size:1.6rem}.leave-hint{margin:-8px 0 16px;font-weight:700;opacity:.75}.end-actions{display:flex;flex-direction:column;gap:8px}.end-actions button{width:100%}.end-overlay{z-index:5;flex-direction:column;gap:0;background:#080c128c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:end-overlay-in .35s ease-out}.end-overlay.is-win{background:radial-gradient(ellipse 70% 50% at 50% 40%,rgba(92,184,92,.22),transparent 70%),radial-gradient(ellipse 90% 70% at 50% 100%,rgba(240,173,78,.12),transparent 55%),#080e0a94}.end-overlay.is-lose{background:radial-gradient(ellipse 70% 50% at 50% 40%,rgba(255,76,76,.16),transparent 70%),radial-gradient(ellipse 90% 70% at 50% 100%,rgba(80,40,40,.2),transparent 55%),#0e08089e}@keyframes end-overlay-in{0%{opacity:0;background-color:#0000}to{opacity:1}}.end-sparks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.end-sparks span{position:absolute;width:8px;height:8px;border-radius:2px;opacity:0;transform:translateY(20px) rotate(12deg)}.end-overlay.is-win .end-sparks span{background:linear-gradient(135deg,#ffe08a,#5cb85c);box-shadow:0 0 10px #ffdc788c;animation:end-spark-win 2.8s ease-in-out infinite}.end-overlay.is-lose .end-sparks span{width:5px;height:14px;border-radius:3px;background:linear-gradient(180deg,#ff785a8c,#5028281a);animation:end-spark-lose 3.4s ease-in infinite}.end-sparks span:nth-child(1){left:12%;top:22%;animation-delay:0s}.end-sparks span:nth-child(2){left:28%;top:68%;animation-delay:.35s}.end-sparks span:nth-child(3){left:48%;top:16%;animation-delay:.7s}.end-sparks span:nth-child(4){left:62%;top:58%;animation-delay:1.05s}.end-sparks span:nth-child(5){left:78%;top:30%;animation-delay:1.4s}.end-sparks span:nth-child(6){left:86%;top:72%;animation-delay:.55s}.end-sparks span:nth-child(7){left:18%;top:44%;animation-delay:1.8s}.end-sparks span:nth-child(8){left:70%;top:42%;animation-delay:2.1s}@keyframes end-spark-win{0%,to{opacity:0;transform:translateY(18px) scale(.5) rotate(0)}20%{opacity:1}55%{opacity:.85;transform:translateY(-28px) scale(1) rotate(40deg)}to{opacity:0;transform:translateY(-52px) scale(.4) rotate(70deg)}}@keyframes end-spark-lose{0%{opacity:0;transform:translateY(-12px) scaleY(.6)}15%{opacity:.7}to{opacity:0;transform:translateY(70vh) scaleY(1.1)}}.end-match{position:relative;overflow:hidden;width:min(340px,calc(100vw - 28px));min-width:0;padding:28px 22px 20px;text-align:center;isolation:isolate;animation:end-panel-in .45s cubic-bezier(.22,1.15,.36,1)}.end-match.is-win{box-shadow:0 4px #449d4459,0 12px 36px #00000047,0 0 0 2px #5cb85c59,0 0 40px #5cb85c2e}.end-match.is-lose{box-shadow:0 4px #a0323247,0 12px 36px #0000004d,0 0 0 2px #ff645a47,0 0 36px #b432321f}@keyframes end-panel-in{0%{opacity:0;transform:translateY(28px) scale(.88)}70%{opacity:1;transform:translateY(-4px) scale(1.02)}to{opacity:1;transform:none}}.end-glow{position:absolute;left:50%;top:-20%;width:140%;height:70%;transform:translate(-50%);pointer-events:none;z-index:0;border-radius:50%;filter:blur(2px);animation:end-glow-pulse 2.6s ease-in-out infinite}.end-match.is-win .end-glow{background:radial-gradient(ellipse at center,rgba(255,220,120,.5),rgba(255,200,90,.14) 45%,transparent 70%)}.end-match.is-lose .end-glow{background:radial-gradient(ellipse at center,rgba(255,120,100,.28),rgba(100,40,40,.08) 50%,transparent 70%);animation-duration:3.4s}@keyframes end-glow-pulse{0%,to{opacity:.55;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.06)}}.end-seal{position:relative;z-index:1;width:96px;height:96px;margin:-4px auto 8px;display:grid;place-items:center;background:none;box-shadow:none;border-radius:0;animation:end-seal-in .55s cubic-bezier(.22,1.25,.36,1) .08s both}.end-seal-art,.end-seal img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.28));pointer-events:none}.end-match.is-win .end-seal-art{filter:drop-shadow(0 0 10px rgba(255,210,90,.55)) drop-shadow(0 3px 4px rgba(0,0,0,.22));animation:end-crown-bob 2.4s ease-in-out infinite}.end-match.is-lose .end-seal-art{animation:end-crown-tilt 3s ease-in-out infinite}@keyframes end-crown-bob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.03)}}@keyframes end-crown-tilt{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(3deg) translateY(2px)}}@keyframes end-seal-in{0%{opacity:0;transform:scale(.4) rotate(-12deg)}to{opacity:1;transform:none}}.end-match .end-title{position:relative;z-index:1;margin:0 0 8px;font-family:var(--font-display);font-size:clamp(1.85rem,6vw,2.25rem);font-weight:900;letter-spacing:.02em;line-height:1.1;animation:end-title-in .5s cubic-bezier(.22,1.15,.36,1) .12s both}.end-match.is-win .end-title{color:#2e7d32;text-shadow:0 1px 0 rgba(255,255,255,.9),0 2px 0 rgba(46,125,50,.18),0 0 24px rgba(92,184,92,.35)}.end-match.is-lose .end-title{color:#b71c1c;text-shadow:0 1px 0 rgba(255,255,255,.85),0 2px 0 rgba(183,28,28,.15)}@keyframes end-title-in{0%{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}.end-hint{position:relative;z-index:1;margin:0 auto 14px;max-width:26ch;font-size:.92rem;font-weight:700;line-height:1.35;opacity:.72;animation:end-title-in .5s cubic-bezier(.22,1.15,.36,1) .2s both}.end-divider{position:relative;z-index:1;height:2px;margin:0 auto 16px;width:72%;border-radius:2px;opacity:.55}.end-match.is-win .end-divider{background:linear-gradient(90deg,transparent,#5cb85c,#449d44,#5cb85c,transparent)}.end-match.is-lose .end-divider{background:linear-gradient(90deg,transparent,#e07070,#c62828,#e07070,transparent)}.end-match .end-actions{position:relative;z-index:1;gap:10px;animation:end-title-in .5s cubic-bezier(.22,1.15,.36,1) .28s both}.end-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 14px;font-weight:800}.end-btn-ico{width:22px;height:22px;object-fit:contain;flex:0 0 auto;pointer-events:none}.end-match.is-win .end-btn.primary{box-shadow:0 3px 0 var(--green-dark),0 0 16px #5cb85c59}.end-match.is-lose .end-btn.primary{background:#d9534f;box-shadow:0 3px #a94442}.end-match.is-lose .end-btn.primary:active{box-shadow:0 1px #a94442}@media(prefers-reduced-motion:reduce){.end-overlay,.end-match,.end-seal,.end-title,.end-hint,.end-match .end-actions,.end-glow,.end-sparks span,.end-seal-art{animation:none!important}.end-sparks span{opacity:0}}.replay-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;width:min(920px,96vw);margin:0 auto;padding:12px 16px;pointer-events:auto}.replay-bar .replay-btn{flex:0 0 auto;height:42px;min-height:42px;min-width:42px;padding:0 14px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;line-height:1}.replay-bar .replay-btn-icon{width:42px;padding:0}.replay-ico{display:block;font-size:1.05rem;letter-spacing:.02em;transform:translate(1px)}.replay-btn-icon[data-replay-play] .replay-ico{transform:translate(2px)}.replay-slider-wrap{flex:1 1 200px;min-width:140px;display:flex;align-items:center;margin:0;padding:0;background:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.replay-bar #replay-slider{display:block;width:100%;margin:0;height:32px;padding:0 14px;box-sizing:border-box;border:none;outline:none;box-shadow:none;cursor:pointer;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.replay-bar #replay-slider:focus,.replay-bar #replay-slider:focus-visible,.replay-bar #replay-slider:active{outline:none;box-shadow:none;border:none;background:transparent}.replay-bar #replay-slider::-webkit-slider-runnable-track{height:8px;border:none;border-radius:999px;background:linear-gradient(to right,var(--blue) 0%,var(--blue) var(--range-fill, 0%),#d5dae2 var(--range-fill, 0%),#d5dae2 100%)}.replay-bar #replay-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin-top:-5px;border:none;border-radius:50%;background:#fff;box-shadow:0 2px #c4c8ce;cursor:pointer}.replay-bar #replay-slider::-moz-range-track{height:8px;border:none;border-radius:999px;background:#d5dae2}.replay-bar #replay-slider::-moz-range-progress{height:8px;border:none;border-radius:999px;background:var(--blue)}.replay-bar #replay-slider::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:#fff;box-shadow:0 2px #c4c8ce;cursor:pointer}.replay-bar #replay-slider::-moz-focus-outer{border:none}.replay-bar #replay-frame-label{font-size:.85rem;font-weight:700;white-space:nowrap;min-width:7em}.replay-speeds{display:flex;gap:12px}.replay-bar .replay-btn.is-active{background:#2b6cb0;color:#fff;box-shadow:0 3px #1a4f86}.replay-bar .replay-btn.is-active:active{box-shadow:0 1px #1a4f86}.hud-money{display:flex;align-items:center;gap:8px;font-weight:800}.hud-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;flex:1 1 auto;min-width:0}.hud-chip{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:none;border-radius:12px;padding:10px 14px;box-shadow:0 3px #d0d0d0;min-height:48px;min-width:88px;text-align:center;box-sizing:border-box}.hud-chip-text{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;text-align:center}.hud-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#888;text-align:center}.hud-value{font-size:1.15rem;font-weight:900;color:var(--ink);text-align:center}.hud-money-value,.hud-income{display:inline-flex;align-items:center;justify-content:center;gap:4px}.hud-money-value .coin-icon,.hud-income .coin-icon{width:18px;height:18px}.hud-value small{font-size:.75rem;font-weight:700;color:#777}.coin-icon{width:32px;height:32px;object-fit:contain;flex-shrink:0}.hud-sep{opacity:.45;font-weight:700}.hud-income{color:var(--green-dark)!important}.hud-turn-badge{padding:10px 16px}.hud-turn-badge.is-you{background:var(--green);box-shadow:0 3px 0 var(--green-dark)}.hud-turn-badge.is-you strong{color:#fff;font-size:.95rem;font-weight:800}.hud-turn-badge.is-wait{background:#f3f3f3;box-shadow:0 3px #d0d0d0}.hud-turn-badge.is-wait strong{color:#666;font-size:.95rem;font-weight:800}.screen>.row>h2,.screen h2{color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.25);margin:0}.screen>.row>strong,.screen>.row>code{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}@media(max-width:720px){.hud{left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));top:max(6px,env(safe-area-inset-top));gap:6px}.hud-top{gap:4px;align-items:flex-start}.hud-bar{gap:4px;max-width:calc(100% - 52px);flex:1 1 auto;flex-wrap:nowrap;overflow:visible;padding-right:52px}.hud-bar .hud-chip[data-hud-turn],.hud-bar #hud-timer-chip{display:none}.hud-chip{min-width:0;min-height:40px;padding:6px 10px;border-radius:12px;box-shadow:0 3px #d0d0d0;flex:0 1 auto}.hud-turn-badge{flex:0 1 auto;white-space:nowrap}.hud-chip .hud-label{font-size:.58rem}.hud-value{font-size:.92rem}.hud-value small,.hud-income small{display:none}.hud-money-value .coin-icon,.hud-income .coin-icon,.coin-icon-sm{width:14px;height:14px}.hud-turn-badge{padding:6px 10px}.hud-turn-badge.is-you{box-shadow:0 3px 0 var(--green-dark)}.hud-turn-badge.is-wait{background:#f3f3f3;box-shadow:0 3px #d0d0d0}.hud-turn-badge strong{font-size:.72rem!important}.hud-top-actions{position:absolute;top:0;right:0;flex-direction:column;align-items:flex-end;justify-content:flex-start;flex-wrap:nowrap;gap:8px;max-width:none;z-index:6}.hud-icon-btn{width:40px;min-width:40px;height:40px;font-size:1.15rem;border-radius:12px}.hud-action-btn{width:40px;min-width:40px;height:40px;padding:0;gap:0;border-radius:12px}.hud-action-btn .hud-btn-label{display:none}.hud-btn-ico{width:20px;height:20px}.hud-objective{position:relative;left:auto;top:auto;z-index:5;margin-top:12px}.hud-objective .hud-fold{position:absolute;left:0;top:calc(100% + 6px);z-index:6}.hud-objective:not(.is-collapsed)>.hud-fold{width:100%;max-width:100%}.hud-players{position:relative;left:auto;top:auto;transform:none;max-width:min(180px,46vw);align-self:flex-start;margin-top:14px}.hud-players-inner{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px}.hud-player{flex-direction:row;width:auto;max-width:100%;gap:0;align-items:center}.hud-player-face,.hud-player-swatch,.hud-player-letter{width:34px;height:34px;font-size:.95rem}.hud-player-name{display:none}.build-end.hud-action-btn,.build-undo.hud-action-btn{width:44px;min-width:44px;min-height:44px;height:44px;padding:0;gap:0}.hud-objective:not(.is-collapsed){width:min(200px,52vw);max-width:min(200px,52vw)}.hud-objective.is-collapsing{max-width:min(200px,52vw)}.hud-objective-body{padding:6px 10px 8px;border-radius:12px}.hud-objective-title{font-size:.8rem}.hud-objective-detail{font-size:.68rem;line-height:1.25}.hud-bottom{left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));bottom:max(28px,calc(22px + env(safe-area-inset-bottom,0px)));flex-direction:column;align-items:stretch;justify-content:flex-end;gap:8px}.hud-chat{position:relative;left:auto;right:auto;bottom:auto;width:min(240px,calc(100vw - 24px));max-height:min(240px,32vh);z-index:2;align-self:flex-end;align-items:flex-end;margin-left:auto;margin-right:0}.hud-chat.is-collapsing{max-width:min(240px,calc(100vw - 24px))}.hud-chat .chat-toggle{align-self:flex-end}.hud-chat .chat-body{padding:8px}.hud-chat .chat-log{min-height:64px;max-height:min(110px,16vh);font-size:.78rem}.emoji-bar{grid-template-columns:repeat(6,1fr);gap:3px}.emoji-bar button{font-size:.95rem;padding:2px 0}.hud-build-cluster{position:relative;margin-left:auto;margin-right:auto;max-width:min(100%,calc(100vw - 12px));width:100%;gap:4px;justify-content:center;align-items:flex-end;flex-wrap:nowrap;overflow:visible;z-index:3}.hud-build-stack{position:relative;max-width:none;width:max-content;flex:0 1 auto;min-width:0;overflow:visible;gap:0}.hud-report{width:40px;min-width:40px;height:40px;padding:0;border-radius:12px}.hud-report .hud-btn-label{display:none}.hud-demolish-slot{position:absolute;left:50%;bottom:calc(100% + 6px);width:max-content;max-width:min(96vw,160px)}.hud-demolish-slot .build-demolish{width:auto;min-width:0;min-height:44px;height:auto;padding:6px 10px;flex-direction:row}.hud-build-dock{min-height:0;padding:0;gap:4px;flex-wrap:nowrap!important;flex-direction:row!important;width:max-content;max-width:100%;background:transparent;box-shadow:none}.build-cat{width:56px;min-width:56px;max-width:56px;height:60px;flex:0 0 56px;padding:4px 2px;font-size:.58rem;gap:1px;background:#fff}.build-cat-art{width:30px;height:30px}.build-end{padding:8px 10px;font-size:.75rem;white-space:nowrap;min-height:60px}.hud-build-side{gap:4px;flex-direction:row;align-items:flex-end}.build-undo,.build-demolish{padding:8px;font-size:.7rem;min-height:60px}.build-undo.hud-action-btn{min-width:48px;min-height:60px;padding:8px;gap:0}.build-undo.hud-action-btn .hud-btn-label{display:none}.build-end.hud-action-btn{min-width:48px;min-height:60px;padding:8px;gap:0}.build-end.hud-action-btn .hud-btn-label{display:none}.hud-build-picker{left:50%;width:min(100vw,calc(100vw - 8px));max-width:min(100vw,calc(100vw - 8px));padding:4px 0 10px;bottom:calc(100% + 6px);box-sizing:border-box;overflow:visible;z-index:4;animation:none!important;opacity:1!important;transform:translate(-50%)!important}.build-row{display:flex;flex-direction:row;flex-wrap:nowrap!important;width:100%;max-width:none;box-sizing:border-box;padding:4px max(10px,env(safe-area-inset-left,0px)) 10px max(10px,env(safe-area-inset-right,0px));gap:8px;justify-content:flex-start;align-items:stretch;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-y:none;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.28) transparent}.build-row::-webkit-scrollbar{height:4px;width:0}.build-row::-webkit-scrollbar-thumb{background:#00000047;border-radius:4px}.build-row::-webkit-scrollbar-track{background:transparent}.build-btn{flex:0 0 auto;min-width:72px}.replay-bar{flex-wrap:wrap;gap:6px;padding:8px;max-width:100%}.leave-panel,.end-panel{width:min(320px,calc(100vw - 24px))}}.tutorial-veil{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none;overflow:hidden}.game-wrap:has([data-tutorial-veil]) .hud-build-picker.is-pre-open,.game-wrap:has([data-tutorial-veil]) .hud-build-picker.is-open,.game-wrap:has([data-tutorial-veil]) .hud-build-picker.is-closing,.game-wrap:has([data-tutorial-veil]) .hud-build-picker .build-row.is-panel-in{animation:none!important;opacity:1!important;transform:translate(-50%)!important}.game-wrap:has([data-tutorial-veil]) .hud-build-picker .build-row.is-panel-in{transform:none!important}.tutorial-veil-dim{fill:#030c149e}.tutorial-hole-frame{stroke:#fffffff2;stroke-width:2.5;vector-effect:non-scaling-stroke}.tutorial-hex-ring{fill:none;stroke:#fffffff2;stroke-width:3;animation:tutorial-hex-pulse 1.15s ease-in-out infinite}.tutorial-hex-dot{fill:#ffffff47;stroke:#ffffffe6;stroke-width:2;animation:tutorial-hex-pulse 1.15s ease-in-out infinite}@keyframes tutorial-hex-pulse{0%,to{opacity:.75}50%{opacity:1}}.tutorial-coach{position:absolute;left:50%;top:calc(12px + env(safe-area-inset-top,0px));bottom:auto;transform:translate(-50%);z-index:7;box-sizing:border-box;width:min(420px,calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));pointer-events:none}@media(max-width:720px){.tutorial-coach{top:calc(10px + env(safe-area-inset-top,0px));width:min(420px,calc(100% - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))}}.tutorial-coach-inner{display:flex;flex-direction:column;gap:4px;padding:10px 14px;border-radius:14px;background:#fff;color:#1a2a35;box-shadow:0 10px 28px #00000047;border:none;pointer-events:auto}.tutorial-coach-label{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#3d8bfd}.tutorial-coach-text{margin:0;font-size:.95rem;font-weight:700;line-height:1.35;color:#1a2a35}.tutorial-coach-next{margin-top:6px;align-self:flex-start;pointer-events:auto;padding:8px 14px;font-size:.85rem}.campaign-level.is-tutorial{border-color:#3d8bfd73}.campaign-status-badge.is-tutorial{background:#3d8bfd;color:#fff}@keyframes tutorial-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.04)}}.tutorial-pulse{animation:tutorial-pulse 1.2s ease-in-out infinite;outline:none!important}.build-btn.tutorial-pulse{border-radius:14px;box-shadow:0 0 0 3px #fff,0 4px #00000029,0 8px 18px #00000029!important}.build-btn.tutorial-pulse.is-picked{box-shadow:0 0 0 3px #fff,inset 0 0 0 3px #5cb85c,0 4px #00000029,0 8px 18px #00000029!important}.build-cat.tutorial-pulse{border-radius:14px;box-shadow:0 0 0 3px #fff,0 3px #d0d0d0!important}.build-cat.tutorial-pulse.is-active{box-shadow:0 0 0 3px #fff,inset 0 0 0 3px #5cb85c,0 3px #449d44!important}.hud-chip.tutorial-pulse,#end.tutorial-pulse,button.tutorial-pulse:not(.build-btn):not(.build-cat){box-shadow:0 0 0 3px #fff!important;border-radius:12px}@media(max-width:420px){.hud-objective:not(.is-collapsed){width:min(168px,46vw);max-width:min(168px,46vw)}.hud-objective.is-collapsing{max-width:min(168px,46vw)}.build-cat span{font-size:.6rem}.hud-build-cluster .hud-demolish-slot .build-demolish-label{display:none}}
