:root{--bg:#080e18;--panel:#101a28;--panel2:#162333;--line:#2a3b4e;--txt:#e5edf4;--dim:#9aaec0;--acc:#69d4d0;--ok:#85dcb2;--gold:#eac58a;--rail:174px;--detail: min(51vw,760px)}
body{font:14px/1.55 'Segoe UI',system-ui,sans-serif}button,input,select{min-height:38px;border-radius:7px}button{background:#203346;border-color:#354d60;padding:8px 12px;transition:background .15s, border-color .15s}button:hover:not(:disabled){background:#304c5e;border-color:#69d4d0}button.pri{background:#326d69;border-color:#5ca59b;color:#f3fffd}button.pri:hover:not(:disabled){background:#438b81}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.5}input,select{max-width:100%;background:#0c1724}a{color:var(--acc)}
#brand{position:fixed;left:0;top:0;width:var(--rail);height:112px;padding:22px 18px;font-size:17px;line-height:1.1;letter-spacing:3px;z-index:6;background:#0e1723}#brand>span{float:left;font-size:35px;color:var(--gold);margin-right:9px}#brand strong{font-size:14px;letter-spacing:1.8px}#brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--dim);margin-top:14px}
#top{left:var(--rail);height:82px;gap:8px;padding:10px 18px;background:#0e1723;overflow-x:auto;white-space:nowrap}#top>b{display:none}#top>.tag{display:none}#top>.dim{font-size:10px}.chip{border:0;border-right:1px solid var(--line);border-radius:0;background:none;display:grid;grid-template-columns:auto 1fr;gap:0 7px;padding:0 14px}.chip small{grid-column:2;font-size:10px}.chip b{font-size:16px;font-variant-numeric:tabular-nums}
#tabs{position:fixed;left:0;top:112px;bottom:0;width:var(--rail);display:flex;flex-direction:column;flex-wrap:nowrap;gap:7px;padding:18px 12px;background:#0e1723;z-index:5;border-right:1px solid var(--line)}#tabs button{flex:none;text-align:left;padding:13px 10px;border:1px solid transparent;border-radius:8px;color:var(--dim)}#tabs button.on{color:#a6eee0;background:#18332f;border-color:#31554e}#tabs button:hover{color:white}
#map{left:var(--rail);top:82px;width:calc(100% - var(--rail));height:calc(100% - 82px);touch-action:none}#mapTools{position:fixed;left:calc(var(--rail) + 18px);right:calc(var(--detail) + 18px);top:102px;z-index:3;display:flex;gap:6px;flex-wrap:wrap;align-items:center}#mapTools>span{width:100%;font-size:10px;color:#94acbf;letter-spacing:2px;margin-bottom:6px}#mapTools button{background:#101e2de8;font-size:11px;padding:6px 10px;min-height:32px}#side{top:82px;width:var(--detail);background:linear-gradient(135deg,#142132,#0d1724);border-color:var(--line)}#panelHead{padding:24px 26px 17px;border-bottom:1px solid var(--line)}#panelHead small{color:var(--gold);font-size:9px;letter-spacing:2px}#panelHead h1{font-size:28px;letter-spacing:-.8px;margin:4px 0}#panelHead p{color:var(--dim);margin:0;font-size:12px}#panel{padding:20px 24px;}.card{padding:15px;margin-bottom:12px;border-radius:10px;background:linear-gradient(135deg,#1b2a3b,#142232);border-color:#304154}.card h4{font-size:14px;margin-bottom:8px}.card .dim{font-size:12px}.tag{background:#0d1a28;padding:3px 7px}.cost{background:#0c1825;padding:4px 6px;font-size:11px}.bar{margin-top:9px;height:5px}.bar>i{background:linear-gradient(90deg,#458e87,#ace6d3)}
#hud{left:calc(var(--rail) + 16px);bottom:16px;width:min(280px,calc(100vw - var(--rail) - var(--detail) - 32px))}#hud .card{font-size:11px;backdrop-filter:blur(12px)}#target{left:calc(var(--rail) + 16px);top:200px;width: min(370px,calc(100vw - var(--rail) - 32px));max-height:calc(100% - 220px);background:#112031f5;padding:20px;box-shadow:0 20px 70px #0008}#target h3{padding-right:28px}#toast{top:90px}.modal>div{padding:22px;background:#101d2c;box-shadow:0 30px 100px #0009}.t{background:#244139;border-color:#5d9a8e}
.planet-hero{position:relative;border:1px solid #345065;border-radius:12px;overflow:hidden;margin-bottom:16px}.planet-hero #pv{display:block;height:200px;object-fit:cover}.planet-hero .hero-label{position:absolute;left:18px;bottom:14px;text-shadow:0 2px 8px black}.hero-label small{color:var(--gold);letter-spacing:2px;font-size:9px}.hero-label h2{margin:2px 0;font-size:22px}.filters{display:flex;gap:6px;margin:20px 0 14px;flex-wrap:wrap}.filters button{font-size:12px;background:transparent}.filters button.on{background:#29433f;border-color:#598578;color:#aff0d9}.building-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.building-card{margin:0;display:flex;flex-direction:column;gap:8px;padding:14px}.building-card canvas{width:100%;height:100px;object-fit:contain;background:radial-gradient(ellipse,#254252,transparent 70%)}.building-card h4{margin:0;display:block}.building-card h4 .tag{float:right;font-size:10px}.building-card .dim{flex:1}.building-card button{width:100%;margin-top:4px}.building-status{font-size:11px;color:var(--gold);min-height:18px}.ship-preview{width:100%;height:100px;object-fit:contain;background:radial-gradient(ellipse,#263f51,transparent 70%)}
body.map-expanded #side{display:none}body.map-expanded #map{width:calc(100% - var(--rail))}body.map-expanded #mapTools{right:18px}body.map-expanded #hud{width:280px}
#login{background:radial-gradient(ellipse at 20% 20%,#1c414d,transparent 55%),radial-gradient(ellipse at 90% 80%,#292546,transparent 55%),#080f1b}#login .box{width:min(1020px,96vw);padding:32px}#login h1{font-size:42px;letter-spacing:-2px}#login .race{background:linear-gradient(#1c2b3ddd,#101b2bdd);border:1px solid #3c5064;padding:18px 10px;text-align:left;transition:transform .2s}.race:hover{transform:translateY(-4px)}#login .race.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 12px 45px #0004}#login .race canvas{max-width:100%}#login .row:last-child{padding-top:20px;border-top:1px solid var(--line)}#login input{padding:12px}.pcard{width:100px;margin:5px}.pcard canvas{border-radius:8px}.slot{width:80px;height:76px}
@media(min-width:1600px){:root{--detail:760px}.building-card canvas{height:120px}}
@media(max-width:1100px){:root{--rail:130px;--detail:52vw}#brand{padding:22px 10px;font-size:13px}#brand strong{font-size:11px}#brand>span{font-size:27px}#tabs{padding:12px 6px}#tabs button{font-size:12px}#panel{padding:14px}#panelHead{padding:18px}.chip{padding:0 7px}#top>.dim{display:none}#hud{width:180px}.building-grid{gap:8px}}
@media(max-width:760px){:root{--rail:0px;--detail:100vw}#brand{display:none}#top{height:66px;padding:8px;gap:0}.chip{min-width:95px}.chip b{font-size:14px}#tabs{top:auto;bottom:0;left:0;width:100%;height:66px;flex-direction:row;justify-content:space-around;padding:6px 4px;border-top:1px solid var(--line);gap:0}#tabs button{font-size:10px;text-align:center;padding:9px 4px;flex:1;min-width:0}#map{left:0;top:66px;width:100%;height:calc(38% - 66px)}#side{top:38%;bottom:66px;width:100%;border-left:0;border-top:1px solid var(--line)}#panelHead{padding:12px 16px}#panelHead small{display:none}#panelHead h1{font-size:22px;margin:0}#panelHead p{font-size:11px}#panel{padding:12px}#mapTools{top:76px;left:10px;right:10px}#mapTools>span{display:none}#hud{display:none}#target{left:10px;top:120px;width:calc(100% - 20px);max-height:calc(100% - 200px);z-index:8}#toast{top:72px;width:95%;font-size:12px}.planet-hero #pv{height:150px}.building-card{padding:10px}.building-card h4{font-size:12px}.building-card h4 .tag{float:none;display:inline-block}.building-card canvas{height:80px}body.map-expanded #map{height:calc(100% - 132px);width:100%}#login{align-items:flex-start}#login .box{padding:22px 12px}#login h1{font-size:32px}.races{grid-template-columns:repeat(2,1fr)}#login .race{padding:10px}#login .race canvas:first-child{height:90px;object-fit:contain}.race .dim{font-size:12px}.race canvas:last-child{height:65px;width:auto}#uname,#upass{width:100%}#login #go{width:100%}}
#top{overflow-y:hidden;scrollbar-width:none}#top::-webkit-scrollbar{display:none}
#guide:has(.quiet){padding:0;border:0;background:none;margin-top:4px}
.ui-icon{display:inline-block;width:19px;height:19px;vertical-align:middle;flex-shrink:0}.cost .ui-icon{width:13px;height:13px}.chip>.ui-icon{grid-row:1 / 3;align-self:center;color:var(--gold)}#tabs button{display:flex;align-items:center;gap:10px}#tabs .ui-icon{width:21px;height:21px}.commander-filters{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}.commander-filters label{flex:1;min-width:110px;font-size:11px;color:var(--dim)}.commander-filters select{display:block;width:100%;margin-top:4px}.commander-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:20px}.commander-grid .pcard{width:auto;margin:0;background:#101e2e;border:1px solid var(--line);border-radius:10px;overflow:hidden;padding-bottom:10px;font-size:12px}.commander-grid .pcard canvas{width:100%;height:auto;border-radius:0}.commander-grid .pcard.sel{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.commander-grid .pcard.sel canvas{outline:0}.commander-grid .pcard.gray{opacity:.55}.modifier-list{margin-top:10px;display:grid;gap:6px}.modifier{border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:12px}.modifier summary{cursor:pointer;color:#c5d7e4}.modifier summary>b{float:right;color:var(--ok)}.modifier>div{display:flex;justify-content:space-between;gap:10px;color:var(--dim);padding-top:6px}.modifier>div>b{white-space:nowrap;font-weight:400}.economy-details{margin-top:16px}.economy-details>summary{cursor:pointer}#guide{margin-top:12px;padding:10px 12px;background:#1a343380;border:1px solid #3c6159;border-radius:8px;font-size:12px}#guide small{display:block;color:var(--dim);font-size:11px}#guide button{min-height:26px;padding:3px 8px;font-size:11px;margin-top:6px}.guide-top{display:flex;justify-content:space-between;align-items:center;color:var(--gold)}#guide .guide-top button{margin:0;background:none;border:0;min-height:20px}.guide-focus{outline:2px solid var(--gold);outline-offset:3px}.quiet{background:transparent;border:0;color:var(--dim)}.summon-card{animation:reveal .55s backwards}.summon-card canvas{box-shadow:0 0 20px #d9b36b44}@keyframes reveal{from{transform:translateY(22px) scale(.85);filter:brightness(2.5)}to{transform:none;filter:brightness(1)}}#bvPlay,#bvSpd,#bvRestart,#bvClose{min-width:40px;background:#233c4b}#bvc{border:1px solid #38546a;box-shadow:0 10px 45px #0006}#bvInfo{padding:12px;background:#0b1522;border:1px solid var(--line);border-radius:8px}#bvSeek{accent-color:var(--acc)}
@media(max-width:760px){#tabs button{flex-direction:column;gap:3px;padding:3px}#tabs .ui-icon{height:19px}#guide{margin-top:6px;padding:6px 10px}#guide small{display:none}#guide>div:not(.guide-top){display:inline}#guide>button{float:right;margin-top:0}.guide-top{font-size:10px}#guide:after{content:'';display:block;clear:both}.commander-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.commander-filters label{min-width:90px}.commander-grid .pcard{font-size:10px}.modal>div{padding:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Защита: существующие игровые данные, визуальный выбор назначений. */
.defense-field{display:grid;grid-template-columns:46% 1fr;align-items:center;gap:12px;padding:16px;background:radial-gradient(ellipse at 20% 50%,#1e4b5c66,transparent 65%),#142333}
.field-visual{position:relative;min-width:0;aspect-ratio:280/220;isolation:isolate}.field-visual canvas{width:100%;height:100%;display:block}.field-ring{position:absolute;inset:8% 17%;border:1px dashed #5c7685;border-radius:50%;pointer-events:none}.field-active .field-ring{border:1px solid #7bdcde;box-shadow:inset 0 0 24px #65d8f12b,0 0 25px #65d8f12b;background:repeating-linear-gradient(60deg,transparent 0 16px,#81cdd511 17px 18px);animation:field-breathe 4s ease-in-out infinite}.field-active .field-ring:after{content:'';position:absolute;inset:-9%;border:1px solid #7bdcde44;border-radius:50%}.field-state{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;letter-spacing:1.3px;color:var(--dim)}.field-active .field-state{color:#8ce2d2}.eyebrow{color:var(--gold);font-size:9px;letter-spacing:2px}.field-info h2{font-size:21px;line-height:1.2;margin:6px 0 10px}.field-info p{margin:10px 0}.field-info>small.dim{display:block;font-size:10px;line-height:1.5}.shield-stats{display:flex;gap:20px;margin:14px 0}.shield-stats span{display:flex;flex-direction:column;font-size:10px;color:var(--dim)}.shield-stats b{font-size:23px;color:var(--acc);font-weight:500}.field-upgrade{display:flex;align-items:center;justify-content:space-between;gap:10px}.field-upgrade b{font-size:12px}.field-upgrade>div>div{margin-top:5px;font-size:11px}.field-upgrade button{flex-shrink:0}.defense-note{font-size:11px;color:var(--dim);margin:10px 0 18px}.defense-heading{display:flex;align-items:center;gap:10px;margin:26px 0 12px}.defense-heading>span{color:var(--gold);font-size:10px;border:1px solid #665940;padding:2px 6px;border-radius:4px}.defense-heading h3{font-size:16px;margin:0}.defense-heading>.tag{margin-left:auto;font-size:10px}
.defense-commanders{display:grid;grid-template-columns:1fr 1fr;gap:10px}.defense-commander{display:flex;gap:12px;padding:12px;text-align:left;align-items:center;min-width:0;background:#172738;border:1px solid #405568}.defense-commander.assigned{border-color:#527d76}.defense-avatar{width:72px;min-width:72px;height:90px;border:1px solid #446071;border-radius:7px;background:#0d1b2a;display:flex;align-items:center;justify-content:center;overflow:hidden}.defense-avatar canvas{width:72px;height:90px}.defense-avatar>.ui-icon{width:30px;height:30px;color:#70899a}.defense-commander-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.defense-commander-copy small{font-size:8px;letter-spacing:1px;color:var(--gold)}.defense-commander-copy b{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.defense-commander-copy>span{font-size:10px}
.formation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.formation-card{position:relative;display:flex;flex-direction:column;text-align:left;padding:12px 9px;gap:5px;background:#152536;border-color:#304b5e}.formation-card.selected{border-color:var(--acc);background:#1a3a3e;box-shadow:inset 0 0 24px #76d9cd0a}.formation-card canvas{display:block;width:100%;height:auto;margin:7px 0}.formation-status{color:var(--dim);font-size:9px}.selected .formation-status{color:#94ebd4}.formation-card>b{font-size:13px}.formation-card>.dim{font-size:10px}.defense-fleet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.defense-fleet .card{margin:0;text-align:center}.defense-fleet b{font-size:12px}.defense-fleet .ship-preview{height:75px}.defense-fleet+button{margin-top:14px}.defender-picker{width:min(660px,85vw)}.defender-picker h2{font-size:20px}.defender-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:18px 0}.defender-options button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px}.defender-options button[aria-pressed=true]{border-color:var(--gold)}.defender-options canvas{width:100%;max-width:120px;border-radius:5px}.defender-options b{font-size:12px}.defender-options small,.defender-options button>span:last-child{font-size:10px}
@keyframes field-breathe{50%{opacity:.65}}
.shield-kind-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.shield-kind{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:14px;background:#152536}.shield-kind.selected{border-color:var(--acc);background:#1a3a3e;opacity:1}.shield-kind-icon{display:grid;place-items:center;width:100%;height:66px;background:radial-gradient(ellipse,#72cecd22,transparent 70%)}.shield-kind-icon .ui-icon{width:46px;height:46px;color:#89cfd2}.shield-kind .dim{font-size:11px;flex:1}.shield-kind-status{font-size:11px;color:var(--gold)}.shield-kind.selected .shield-kind-status{color:var(--ok)}
@media(max-width:1100px){.defense-commanders{grid-template-columns:1fr}.formation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-info h2{font-size:18px}.shield-stats{gap:14px}.field-upgrade{flex-wrap:wrap}}
@media(max-width:760px){#tabs{overflow-x:auto;justify-content:flex-start;scrollbar-width:none}#tabs button{flex:1 0 52px;font-size:9px}.defense-field{padding:10px;gap:8px}.field-info h2{font-size:16px}.shield-stats{margin:8px 0}.shield-stats b{font-size:20px}.defense-heading h3{font-size:14px}.defense-heading>.tag{font-size:9px}.field-upgrade button{width:100%}.defender-picker{width:85vw}.defender-options{grid-template-columns:repeat(2,minmax(0,1fr))}.defense-commander-copy b{font-size:14px}}
:root #login .races{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
:root #login .race{padding:6px;text-align:center;min-width:0}:root #login .race canvas{display:block;width:100%;height:76px;object-fit:contain}:root #login .race b{font-size:12px}
.race-selector-head{display:flex;justify-content:space-between;margin:16px 0 8px;color:#b8cadc}#raceDetail{display:flex;gap:18px;align-items:center;min-height:115px;padding:14px;margin-top:12px;background:#101e30;border:1px solid #38516b;border-radius:12px}#raceDetail h3{margin:0 0 5px;color:#eac58a}#raceDetail p{margin:4px 0;font-size:13px}#raceDetail canvas{flex:none;width:72px;height:90px}
@media(max-width:600px){:root #login .races{grid-template-columns:repeat(3,minmax(0,1fr))}:root #login .race canvas{height:55px}:root #login .race b{font-size:10px}#raceDetail{gap:10px;padding:10px}#raceDetail p{font-size:11px}}

/* Star Kingdoms — стартовый экран (вход → выбор цивилизации) */
#login{position:fixed;inset:0;z-index:40;overflow:auto;background:radial-gradient(ellipse at 15% 10%,#1b4a5a 0,transparent 50%),radial-gradient(ellipse at 90% 90%,#2c2358 0,transparent 55%),#060a16;display:block;-webkit-overflow-scrolling:touch}
#inStars{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}
.in-wrap{position:relative;max-width:1180px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 96px max(16px,env(safe-area-inset-left));min-height:100%}
.in-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.in-logo{font-size:clamp(22px,4vw,32px);font-weight:800;letter-spacing:.3px;text-shadow:0 2px 18px #4aa3ff66}.in-logo span{margin-right:6px}
.in-head a{color:#7cc4ff;text-decoration:none;font-size:14px}.in-head a:hover{text-decoration:underline}
.in-steps{display:flex;align-items:center;gap:10px;justify-content:center;margin:6px 0 18px;color:#7f8bb8;font-size:14px}.in-steps i{width:48px;height:2px;background:#2a3668}
.in-steps .s b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#1b2552;border:1px solid #34449a;margin-right:6px;font-size:13px}.in-steps .s.on{color:#fff}.in-steps .s.on b{background:#2f7de0;border-color:#6db4ff;box-shadow:0 0 12px #4aa3ff88}
.in-card{background:linear-gradient(#111a3acc,#0b1230cc);border:1px solid #2a3668;border-radius:18px;padding:22px;backdrop-filter:blur(6px);box-shadow:0 18px 60px #0009}
.in-auth{max-width:460px;margin:4vh auto 0}.in-auth h1{margin:0 0 6px;font-size:clamp(20px,4vw,26px);line-height:1.2}.in-sub{color:#9fb0e0;margin:0 0 16px;font-size:14px;line-height:1.45}
.in-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#0a1030;padding:4px;border-radius:12px;margin-bottom:14px}.in-tabs button{border:0;background:transparent;padding:10px;border-radius:9px;font-size:15px;color:#9fb0e0}.in-tabs button.on{background:#25408f;color:#fff}
.in-auth label{display:block;margin-bottom:12px;color:#9fb0e0;font-size:13px}.in-auth input{display:block;width:100%;margin-top:5px;padding:12px 13px;font-size:16px;border-radius:10px;background:#081030;border:1px solid #2a3668;color:#fff}.in-auth input:focus{outline:0;border-color:#4aa3ff;box-shadow:0 0 0 3px #4aa3ff33}
.in-pw{display:flex;gap:6px;align-items:center}.in-pw input{margin-top:5px}.in-pw button{margin-top:5px;padding:10px 12px;border-radius:10px}
.in-err{min-height:20px;color:#ff8a8a;font-size:13px;margin-bottom:6px}
.in-btn{width:100%;padding:13px 16px;font-size:16px;font-weight:700;border-radius:12px;border:1px solid #4fc98a;background:linear-gradient(#25985a,#1a6f42);color:#fff;cursor:pointer}.in-btn:hover:not(:disabled){filter:brightness(1.12)}.in-btn:disabled{opacity:.5}
.in-btn.ghost{background:#16204a;border-color:#34449a;width:auto;font-weight:500}
.in-hint{color:#7f8bb8;font-size:12px;margin:12px 0 0;line-height:1.45}.in-splash{text-align:center;margin-top:18vh;font-size:18px;color:#9fb0e0}
.in-race{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}
.in-list{display:flex;flex-direction:column;gap:6px;position:sticky;top:8px;max-height:calc(100vh - 150px);overflow:auto;padding-right:4px}
.in-item{display:flex;align-items:center;gap:10px;text-align:left;padding:8px 10px;border-radius:14px;background:#0e1636cc;border:1px solid #26305e;color:#dfe6ff;cursor:pointer;flex:none}.in-item:hover{border-color:#4a5fb8}
.in-item.on{border-color:#ffc94d;background:linear-gradient(90deg,#2a2a46,#131c42);box-shadow:0 0 18px #ffc94d33}.in-item canvas{width:54px;height:54px;flex:none}.in-item b{display:block;font-size:15px}.in-item small{color:#8d99c8;display:block;line-height:1.25;font-size:12px}
.in-detail{--c1:#4aa3ff;--c2:#cfe6ff;background:linear-gradient(160deg,color-mix(in srgb,var(--c1) 22%,#0c1230),#0b1230 60%);border:1px solid #2a3668;border-radius:18px;padding:20px;min-width:0}
.in-hero{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.in-hero h2{margin:0;font-size:clamp(24px,4vw,32px)}.in-hero p{color:#c4d0f5;line-height:1.5;margin:8px 0 0}.in-hero>div{flex:1;min-width:240px}.in-look{color:#9fb0e0!important;font-size:13px}
.in-tag{color:var(--c2);opacity:.9;font-size:13px;margin-top:3px}
.in-detail section{margin-top:20px;padding-top:16px;border-top:1px solid #ffffff14}.in-detail h3{margin:0 0 10px;font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:#8fb4ff}
.in-chips{display:flex;flex-wrap:wrap;gap:7px}.in-chip{background:#0a1030;border:1px solid #34449a;border-radius:20px;padding:5px 11px;font-size:13px}.in-chip.up{border-color:#2fae62;color:#7dffb0}.in-chip.dn{border-color:#a8404f;color:#ff9aa6}
.in-note{color:#7f8bb8;font-size:12px;margin:10px 0 0}
.in-unit{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.in-unit>div{flex:1;min-width:220px}.in-uname{font-size:18px}.in-unit p{color:#c4d0f5;margin:8px 0;line-height:1.45}
.in-pass{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:5px;font-size:13px;color:#dfe6ff}.in-pass li{background:#ffffff0a;border-radius:8px;padding:6px 10px}
.in-cmds{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.in-cmd{display:flex;gap:10px;align-items:center;background:#0a1030;border:1px solid #26305e;border-radius:12px;padding:8px}.in-cmd b{display:block;font-size:14px}.in-cmd small{font-size:12px}
.in-bar{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:linear-gradient(#060a1600,#060a16 35%);grid-column:1/-1}
.in-bar .in-btn:not(.ghost){width:auto;min-width:200px}.in-pick{flex:1;text-align:center;color:#9fb0e0}
@media(max-width:900px){.in-race{grid-template-columns:1fr}.in-list{position:static;flex-direction:row;overflow-x:auto;max-height:none;padding:2px 0 8px;scroll-snap-type:x proximity}.in-item{min-width:150px;scroll-snap-align:center}.in-item small{display:none}.in-detail{padding:14px}
 .in-pick{display:none}.in-bar{justify-content:stretch}.in-bar .in-btn:not(.ghost){flex:1;min-width:0}.in-hero canvas{margin:0 auto;display:block}}
@media(max-width:420px){.in-card{padding:16px}.in-steps i{width:24px}}
.sysbadge{padding:4px 10px;border:1px solid #34449a;border-radius:14px;background:#0a1030;color:#cfe0ff;white-space:nowrap}.sysbadge small{color:#8d99c8}.logout{padding:3px 9px;margin-left:4px}
@media(max-width:760px){.sysbadge small{display:none}.logout{padding:3px 6px}}

#login [hidden],.in-wrap [hidden]{display:none!important}
#login{height:100dvh;min-height:-webkit-fill-available}
.in-auth{margin-top:max(2vh,8px)}
@media(max-width:760px){.in-wrap:has(#inAuth:not([hidden])){padding-bottom:max(24px,env(safe-area-inset-bottom))}.in-auth{margin-top:0}.in-head a{font-size:13px}}
/* кнопка музыки в шапке главного меню */
.in-hr{display:flex;align-items:center;gap:14px}
.in-mus{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid #4aa3ff88;background:rgba(14,24,64,.75);color:#dff0ff;font-size:14px;font-weight:600;cursor:pointer;backdrop-filter:blur(6px);transition:.2s}
.in-mus:hover{background:rgba(30,50,110,.9);box-shadow:0 0 16px #4aa3ff66}.in-mus.off{border-color:#ff6a6a88;color:#ffd0d0}
@media(max-width:560px){.in-mus{padding:10px 16px;font-size:15px;min-height:44px;white-space:nowrap}.in-hr{gap:10px;flex-wrap:wrap;justify-content:flex-end}}
/* заметная форма входа / регистрации */
.in-auth{position:relative;border:1px solid #4aa3ff99;background:linear-gradient(180deg,rgba(18,28,76,.96),rgba(9,14,40,.97));box-shadow:0 0 0 1px #0a1030,0 0 38px #3b82ff55,0 18px 60px #000a;animation:inGlow 3.2s ease-in-out infinite}
@keyframes inGlow{0%,100%{box-shadow:0 0 0 1px #0a1030,0 0 28px #3b82ff44,0 18px 60px #000a}50%{box-shadow:0 0 0 1px #0a1030,0 0 52px #5bb0ff88,0 18px 60px #000a}}
.in-auth h1{font-size:clamp(22px,3.4vw,30px);background:linear-gradient(90deg,#fff,#8fd0ff,#ffd98a);-webkit-background-clip:text;background-clip:text;color:transparent}
.in-auth .in-tabs{padding:5px;border:1px solid #26358a}.in-auth .in-tabs button{font-size:17px;font-weight:700;padding:13px}
.in-auth input{font-size:17px;padding:13px 14px;border-radius:12px}.in-auth input:focus{outline:none;border-color:#6fe0ff;box-shadow:0 0 0 3px #4aa3ff55}
.in-auth #inGo{margin-top:6px;padding:16px;font-size:19px;letter-spacing:.4px;border-color:#7dffb4;background:linear-gradient(110deg,#25a85f,#2fd07c 45%,#25a85f);background-size:220% 100%;box-shadow:0 6px 26px #2fd07c66;animation:inShine 3s linear infinite}
@keyframes inShine{to{background-position:-220% 0}}
.in-auth #inGo:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 34px #2fd07caa}
@media(prefers-reduced-motion:reduce){.in-auth,.in-auth #inGo{animation:none}}
@media(max-width:560px){.in-logo small{display:none}}

.st-mus{position:fixed;top:max(14px,env(safe-area-inset-top));left:14px;z-index:3;min-height:40px;white-space:nowrap}
#storyView .st-skip{white-space:nowrap}
#login{z-index:200}

/* ---- телефон: карусель цивилизаций на всю ширину, свайп влево/вправо ---- */
.in-car,.in-dots,.in-swipe{display:none}
@media(max-width:900px){
 #inRace{display:block;margin:0 -16px}
 #inRace .in-list,#inRace>.in-detail{display:none}
 .in-dots{display:flex;justify-content:center;gap:6px;padding:2px 0 8px;flex-wrap:wrap}.in-dots i{width:7px;height:7px;border-radius:50%;background:#34449a;transition:.2s}.in-dots i.on{background:#ffc94d;width:20px;border-radius:4px}
 .in-car{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;height:calc(100dvh - 196px)}.in-car::-webkit-scrollbar{display:none}
 .in-slide{flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow-y:auto;overflow-x:hidden;padding:0 12px 130px;box-sizing:border-box;-webkit-overflow-scrolling:touch}
 .in-slide .in-detail{display:block;min-height:100%}
 .in-bar{justify-content:center;padding-top:46px;background:linear-gradient(to top,#060a16 0,#060a16 52%,#060a1600 100%);pointer-events:none}
 .in-bar>*{pointer-events:auto}
 .in-bar .in-btn:not(.ghost){flex:0 1 min(68%,300px)}
 .in-bar #inBack{position:absolute;left:10px;top:50px;min-width:0;width:auto;padding:8px 12px;background:#0a1030cc}
 .in-bar #inBack{font-size:0}.in-bar #inBack::before{content:"←";font-size:18px}
}

@media(max-width:900px){
 .in-swipe{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 12px 6px;padding:8px 12px;border-radius:14px;background:linear-gradient(90deg,#14274a00,#14274acc 20%,#14274acc 80%,#14274a00);color:#cfe0ff;font-size:13px;font-weight:600;transition:opacity .4s,max-height .4s,margin .4s,padding .4s;max-height:48px;overflow:hidden}
 .in-swipe i{font-style:normal;font-size:26px;line-height:1;color:#ffd24a;animation:swL 1.2s ease-in-out infinite}.in-swipe i:last-child{animation-name:swR}
 .in-swipe.gone{opacity:0;max-height:0;margin:0;padding:0;pointer-events:none}
 @keyframes swL{0%,100%{transform:translateX(0);opacity:.5}50%{transform:translateX(-7px);opacity:1}}@keyframes swR{0%,100%{transform:translateX(0);opacity:.5}50%{transform:translateX(7px);opacity:1}}
}

/* ---- альфа-тест, подтверждение почты ---- */
.in-alpha{display:inline-block;vertical-align:middle;margin-left:8px;padding:3px 10px;border-radius:12px;border:1px solid #ffc94d;background:#3a2a0088;color:#ffd98a;font-size:11px;font-weight:800;letter-spacing:1.4px;text-shadow:none}
.in-alphabox{margin:0 0 14px;padding:9px 12px;border-radius:12px;border:1px solid #ffc94d66;background:linear-gradient(90deg,#3a2a0066,#2a1e0044);color:#ffe2a6;font-size:13px;line-height:1.4}.in-alphabox b{color:#ffd24a;letter-spacing:.5px}
.in-codecard h1{margin-bottom:8px}
.in-codein{text-align:center;font-size:34px!important;letter-spacing:.5em;font-weight:800;padding:14px 8px 14px 22px!important;font-variant-numeric:tabular-nums;width:100%;display:block;margin:6px 0 4px;border-radius:14px;background:#081030;border:1px solid #3b6fd6;color:#fff}
.in-codein:focus{outline:0;border-color:#6fe0ff;box-shadow:0 0 0 3px #4aa3ff44}.in-codein::placeholder{color:#34449a}
.in-codelinks{display:flex;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}
.in-link{background:none;border:0;color:#7cc4ff;font-size:14px;cursor:pointer;padding:6px 2px}.in-link:hover:not(:disabled){text-decoration:underline}.in-link:disabled{color:#6b7898;cursor:default}
/* ---- карусель цивилизаций на ПК ---- */
@media(min-width:901px){
 #inRace{display:block;position:relative}
 #inRace .in-list,#inRace>.in-detail{display:none}
 .in-dots{display:flex;justify-content:center;gap:7px;padding:2px 0 10px;flex-wrap:wrap}.in-dots i{width:8px;height:8px;border-radius:50%;background:#34449a;transition:.2s;cursor:pointer}.in-dots i.on{background:#ffc94d;width:24px;border-radius:4px}
 .in-car{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;max-width:1040px;margin:0 auto;height:calc(100vh - 215px);border-radius:18px}.in-car::-webkit-scrollbar{display:none}
 .in-slide{flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow-y:auto;overflow-x:hidden;padding:0 6px 90px;box-sizing:border-box}
 .in-slide .in-detail{display:block;min-height:100%}
 .in-swipe{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 8px;max-width:420px;padding:6px 12px;border-radius:12px;color:#9fb0e0;font-size:13px}.in-swipe i{font-style:normal;font-size:22px;color:#ffd24a}.in-swipe.gone{display:none}
 .in-nav{position:fixed;top:50%;transform:translateY(-60%);z-index:6;width:52px;height:52px;border-radius:50%;border:2px solid #4aa3ff99;background:#0e1840e6;color:#fff;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 4px;backdrop-filter:blur(6px);transition:.2s}
 .in-nav:hover{background:#1b3280;border-color:#8fd0ff;box-shadow:0 0 20px #4aa3ff88}.in-nav.l{left:max(14px,calc(50% - 600px))}.in-nav.r{right:max(14px,calc(50% - 600px))}
}
@media(max-width:900px){.in-nav{display:none}}

.in-dl{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:12px;padding:11px 14px;border-radius:12px;border:1px solid #4aa3ff88;background:linear-gradient(#16275a,#0f1b44);color:#dff0ff;text-decoration:none;text-align:center;transition:.2s}
.in-dl:hover{border-color:#8fd0ff;box-shadow:0 0 18px #4aa3ff66;transform:translateY(-1px)}.in-dl b{font-size:15px}.in-dl small{color:#8fa4d8;font-size:12px}
@media(min-width:761px){.in-auth h1{font-size:clamp(20px,2.2vw,26px)!important;margin-bottom:4px}.in-auth .in-sub{margin-bottom:10px}.in-alphabox{margin-bottom:10px;padding:7px 11px;font-size:12.5px}.in-auth .in-tabs button{padding:10px;font-size:16px}.in-auth input{padding:10px 13px}.in-auth label{margin-bottom:8px}.in-auth #inGo{padding:13px;font-size:18px}.in-err{min-height:14px;margin-bottom:2px}.in-auth{margin-top:0}}

/* ---- блок «Играйте где удобно» (клиенты) ---- */
.in-clients{max-width:460px;margin:14px auto 0;padding:14px;border-radius:16px;border:1px solid #2f4aa8;background:linear-gradient(160deg,#101c4acc,#0a1130cc);backdrop-filter:blur(6px)}
.in-clients[hidden]{display:none!important}
.ic-t{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:#8fb4ff;margin:0 0 10px 2px;font-weight:700}
.in-clients .ic-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch;padding:0;background:none;border-radius:0;border:0;font-size:inherit;line-height:inherit}.in-clients .ic-row>span{flex:none;width:auto;text-align:left}
.ic{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid #26358a;background:#0a1030;color:#cfe0ff;text-decoration:none;min-width:0}
.ic svg{flex:none;color:#8fa4d8}.ic span{display:flex;flex-direction:column;min-width:0}.ic b{font-size:14px;color:#fff}.ic small{font-size:11.5px;color:#8fa4d8;line-height:1.25}
.ic-win{grid-column:1/-1;border-color:#4fc98a;background:linear-gradient(110deg,#176a40,#1f8f56 55%,#176a40);background-size:220% 100%;box-shadow:0 4px 20px #2fd07c44;animation:inShine 4s linear infinite;padding:13px 14px}
.ic-win svg,.ic-win small{color:#e6fff1}.ic-win b{font-size:16px}.ic-win:hover{filter:brightness(1.12);transform:translateY(-1px)}
.ic-go{margin-left:auto;font-style:normal;font-size:22px;font-weight:800;color:#fff}
.ic-off{opacity:.62}.ic-off small{color:#ffd98a}.ic-web{border-color:#3b6fd6}.ic-web svg{color:#7cc4ff}
@media(prefers-reduced-motion:reduce){.ic-win{animation:none}}
@media(max-width:420px){.in-clients .ic-row{grid-template-columns:1fr}}
.in-flt{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}.in-fb{padding:6px 12px;border-radius:999px;background:#0e1636cc;border:1px solid #26305e;color:#dfe6ff;cursor:pointer;font-size:13px}.in-fb.on{border-color:#ffc94d;background:#2a2a46;color:#ffe9a8}.in-fb.all{margin-left:0}

.in-musw{display:inline-flex;flex-direction:column;align-items:stretch;gap:6px}.in-vol{width:100%;min-width:130px;height:18px;accent-color:#4aa3ff;cursor:pointer;margin:0}
.in-flt{justify-content:flex-start}.in-fb{flex:0 0 auto;text-align:center}.in-fb.all{border-color:#4aa3ff88}
@media(max-width:560px){.in-flt{display:grid;grid-template-columns:repeat(3,1fr)}.in-fb{padding:9px 4px;font-size:13px;min-height:40px}.in-fb.all{grid-column:1/-1}.in-vol{min-width:110px}}

/* радар цивилизации + сравнение */
.in-rwrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:center}.in-rcv{flex:none;max-width:100%}.in-radar{max-width:100%;height:auto;overflow:visible}
.in-rinfo{flex:1 1 220px;min-width:0}.in-rrows{display:grid;gap:7px}.in-rr{display:grid;grid-template-columns:132px 1fr 28px;gap:8px;align-items:center;font-size:13px;color:#b8c7ee}.in-rr.top{color:#fff;font-weight:700}
.in-rr i{height:7px;background:#ffffff14;border-radius:5px;overflow:hidden;display:block}.in-rr i b{display:block;height:100%;border-radius:5px}.in-rr em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums}
.in-rsum{margin:10px 0;font-size:13px;line-height:1.5;color:#c9d6f5}.in-rwhy{display:block;color:#98a8d4}.in-rwhy b{color:#cfe0ff}.in-cmpbtn{margin-top:4px}
.in-cmp{position:fixed;inset:0;z-index:100;background:#02061cd9;display:flex;align-items:center;justify-content:center;padding:12px;overflow:auto}.in-cmp[hidden]{display:none}
.in-cmpbox{position:relative;background:#0d1433;border:1px solid #34449a;border-radius:18px;padding:18px;max-width:760px;width:100%;max-height:100%;overflow:auto}.in-cmpbox h3{margin:0 0 8px;text-align:center;color:#cfe0ff}
.in-cmpx{position:absolute;right:10px;top:10px;background:#ffffff14;border:0;color:#fff;width:34px;height:34px;border-radius:50%;font-size:16px;cursor:pointer}
.in-cmplegend{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin-bottom:6px;font-weight:700}.in-cmplegend span{display:flex;gap:6px;align-items:center}.in-cmplegend i{width:14px;height:14px;border-radius:4px;background:var(--c)}.in-cmplegend b{color:#7f8fc0;font-weight:400}
.in-cmpmid{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap}.in-cmptbl{display:grid;gap:8px;min-width:230px}.in-cr{display:grid;grid-template-columns:1fr 34px 40px 34px;gap:6px;align-items:center;font-size:13px;color:#b8c7ee}.in-cr b{text-align:center}.in-cr em{font-style:normal;text-align:center;color:#8d9ac4;font-size:12px}.in-cr em.up{color:#7dffb0}.in-cr em.dn{color:#ff9aa6}
.in-cmppick{margin-top:12px}.in-cmppick small{color:#8d9ac4}.in-cmppick div{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.in-cmppick button{background:#0a1030;border:1px solid #34449a;color:#cfe0ff;border-radius:18px;padding:6px 11px;font-size:13px;cursor:pointer}.in-cmppick button.on{background:#27409a;border-color:#6f8cff;color:#fff}
@media(max-width:520px){.in-rr{grid-template-columns:112px 1fr 26px}.in-cmpbox{padding:14px}}

/* Star Kingdoms — единая типографика и читаемые плашки (грузится последним) */
#guide,#guide *,#sectionHint{letter-spacing:normal!important;font-family:inherit!important}
#panel{font-size:14px;line-height:1.5}#panel .dim{color:#a5b1d8}#panel b{font-weight:650}
.card{padding:12px 14px;border-radius:12px}.card h4{margin:0 0 8px;font-size:15px}
.tag{padding:3px 9px;font-size:12px;border-radius:10px}
.pc-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}.pc-head b{font-size:17px;margin-right:4px}
.pc-sec{margin:14px 0 8px;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#8fb4ff;font-weight:700}
.traits{display:grid;gap:8px}.trait{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;border-radius:10px;border:1px solid}
.trait i{font-style:normal;font-size:12px;line-height:1.6}.trait span{display:block}.trait b{display:block;font-size:14px}.trait small{display:block;font-size:13px;opacity:.92}
.trait.good{background:#10331f;border-color:#2a8a52;color:#b9ffd6}.trait.bad{background:#3a1620;border-color:#a8404f;color:#ffc4cc}
.pchips{display:flex;flex-wrap:wrap;gap:7px}.pchip{padding:6px 11px;border-radius:18px;font-size:13px;font-weight:600;border:1px solid}
.pchip.good{background:#0f2c4a;border-color:#2f7de0;color:#bfe0ff}.pchip.bad{background:#3a1620;border-color:#a8404f;color:#ffc4cc}
.pc-foot{margin-top:14px;gap:10px}

/* ===== Телефон: карта на весь экран, управление — шторка по кнопке внизу ===== */
#mClose{display:none}
@media(max-width:760px){
  #quickDock,#brand,#hud{display:none!important}
  #top{height:52px!important;padding:4px 8px!important;gap:6px!important;align-items:center}
  #top .chip{min-width:0!important;padding:2px 8px!important;gap:5px;font-size:12px}#top .chip b{font-size:14px!important}#top .chip small,#top .chip .dim{display:none}
  #top .chip>*{white-space:nowrap}
  #top{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}#top::-webkit-scrollbar{display:none}
  #top>*{flex:0 0 auto!important}#top>b,#top>.tag{display:none!important}#top .chip{height:34px;display:flex;align-items:center;margin:0!important}#top .chip.full:after{display:none}#top .chip.full{border-color:#ff8a6a}#top .sysbadge{order:-1}
  #top .sysbadge{padding:3px 8px;font-size:12px}#top .sysbadge small{display:none}
  #econBar{left:6px!important;right:6px;top:58px!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:5px}#econBar::-webkit-scrollbar{display:none}#econBar .eb{padding:2px 7px!important;font-size:11px!important;flex:none}
  #map{left:0!important;top:52px!important;width:100%!important;height:calc(100% - 52px - 66px)!important}
  body.map-expanded #map{height:calc(100% - 52px - 66px)!important;width:100%!important}
  #mapTools{top:96px!important;left:8px!important;right:auto!important;gap:6px!important}#mapTools button{padding:6px 9px;font-size:12px}#togglePanel{display:none}
  #commBar{top:96px!important;right:8px!important;flex-direction:column!important;gap:8px!important}.cbtn{width:40px!important;height:40px!important;font-size:18px!important}
  #side{top:52px!important;bottom:66px!important;height:auto!important;border-top:0!important;z-index:15}
  #panelHead{padding:10px 56px 8px 14px!important}#panelHead h1{font-size:20px!important}#panelHead p{display:none}
  #mClose{display:grid;position:fixed;top:60px;right:10px;z-index:16;width:40px;height:40px;border-radius:50%;place-items:center;font-size:18px;padding:0;background:#16204a;border:1px solid #4a6fb8}
  body.map-expanded #mClose{display:none}
  #tabs{z-index:17!important;height:62px!important;padding-bottom:max(2px,env(safe-area-inset-bottom))}
  #target{top:132px!important}
  .pc-sec{margin-top:10px}.trait{padding:7px 9px}
}
@media(max-width:760px){#tabs button{padding-left:10px!important;padding-right:10px!important;font-size:11px!important;white-space:nowrap}}
#commBar.collapsed .cbtn:not(#cbHide){display:none!important}#commBar.collapsed{gap:0}#cbHide{opacity:.85;font-size:16px}
@media(max-width:760px){#commBar.collapsed{top:96px!important}}
#touchHint{position:fixed;left:50%;top:38%;transform:translate(-50%,-50%);z-index:60;width:min(320px,88vw);background:#0b1430f2;border:1px solid #34449a;border-radius:16px;padding:16px 18px;box-shadow:0 12px 40px #000c;font-size:15px;line-height:1.9}#touchHint b{display:block;font-size:17px;margin-bottom:4px;color:#ffd24a}#touchHint button{margin-top:10px;width:100%;padding:10px;font-size:16px}

.cv-pend{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:12px;background:#0b1430f2;border:1px solid #34449a;border-radius:30px;padding:8px 10px 8px 18px;box-shadow:0 8px 30px #000b;font-size:15px;white-space:nowrap}
.cv-pend button{width:46px;height:46px;border-radius:50%;font-size:22px;padding:0;line-height:1}.cv-pend .ok{background:#1f8f4f;border-color:#3fd07d}.cv-pend .no{background:#8a2a38;border-color:#d0586a}
@media(max-width:760px){#tabs button{font-size:0!important;padding:8px 6px!important;min-width:48px;display:flex!important;align-items:center;justify-content:center}#tabs button svg{width:26px!important;height:26px!important;margin:0!important}#tabs button .lk,#tabs button small{display:none!important}}

#panelHead{position:relative}#pClose{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;padding:0;display:grid;place-items:center;font-size:15px;background:#16204a;border:1px solid #4a6fb8;color:#dfe8ff;cursor:pointer;z-index:3}#pClose:hover{background:#22306a}
@media(max-width:760px){#pClose{display:none}}
#techView .tv-x{margin:0 8px 0 0;width:40px;height:40px;border-radius:50%;padding:0;flex:none;font-size:18px;background:#2a1a24;border:1px solid #c0506a;color:#fff}
@media(max-width:760px){#techView .tv-head{flex-wrap:wrap;gap:6px;padding:6px 8px}#techView .tv-tabs{order:3;width:100%}#techView .tv-q{order:4;max-width:none;width:100%}#techView .tv-body{flex-direction:column}#techView .tv-info{width:auto;max-height:38%;border-left:0;border-top:1px solid #223a5a;overflow:auto}}

#sysMap{position:fixed;inset:0;z-index:70;background:#030616f2;display:flex;flex-direction:column;color:#e5edf4;font:13px system-ui}
#sysMap .sm-head{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #223a5a}#sysMap .sm-head .dim{flex:1;font-size:12px}
#sysMap .sm-x{width:40px;height:40px;border-radius:50%;padding:0;font-size:18px;background:#2a1a24;border:1px solid #c0506a;color:#fff}
#sysMap .sm-body{flex:1;min-height:0;display:grid;place-items:center;padding:8px}#sysMap canvas{border-radius:8px;cursor:crosshair;max-width:100%;max-height:100%}
#sysMap .sm-leg{padding:6px 14px;font-size:11px;color:#9fb5c8;display:flex;gap:10px;flex-wrap:wrap;align-items:center}#sysMap .sm-leg i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:3px}
@media(max-width:760px){.cv-pop{width:min(310px,calc(100vw - 16px))}#cityView .cv-hint{bottom:78px;font-size:11px;white-space:nowrap}}

button.rush{background:linear-gradient(#5a3b00,#3a2600);border-color:#ffb52e;color:#ffe29a;font-weight:700}button.rush:disabled{opacity:.45;filter:grayscale(.6)}
.building-card .rush{margin-top:4px;width:100%}.tile-prog{margin:6px 0}.tile-prog .row{justify-content:space-between}.building-card .row{display:flex;gap:6px;margin-top:4px}.building-card .row button{flex:1}
@media(max-width:760px){
  .planet-hero #pv{height:120px!important}.planet-hero .hero-label{left:12px;bottom:8px}
  .building-card canvas{height:64px!important;width:100%}.building-card .dim{font-size:11px}.building-card h4{font-size:15px}
  #cityView .cv-hint{white-space:normal;text-align:center;width:92%;bottom:74px}
  #guide{padding:6px 10px!important}#guide small{display:block;font-size:11px}
  .building-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  button.rush{font-size:12px;padding:6px 4px}
}
#alertGlow{position:fixed;inset:0;z-index:7;pointer-events:none;opacity:0;box-shadow:inset 0 0 90px 24px rgba(255,30,40,.55)}
body.under-attack #alertGlow{animation:alertPulse 1.1s ease-in-out infinite}
@keyframes alertPulse{0%,100%{opacity:.12}50%{opacity:1}}
#alertBox{position:fixed;left:34%;top:168px;transform:translateX(-50%);z-index:8;display:flex;flex-direction:column;gap:4px;align-items:center}
#alertBox .ab{padding:5px 12px;border-radius:10px;background:#5a0f18e6;border:1px solid #ff4a5a;color:#ffd9dc;font-size:13px;cursor:pointer;animation:alertPulse 1.1s ease-in-out infinite}
@media(max-width:760px){#tabs button{min-width:0!important;flex:1 0 33px!important;padding:8px 1px!important}#tabs button svg,#tabs .ui-icon{width:22px!important;height:22px!important}}
.tv-effs{margin:8px 0;padding:8px 10px;border-radius:10px;background:#0a1320;border:1px solid #2a4258}.tv-eff{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin-top:4px}.tv-eff>span:first-child{flex:1 1 100%;color:#c4d3df}

/* карта: круглые кнопки, поиск раскрывается по нажатию, меньше лишней информации */
#mapTools>span,#togglePanel{display:none!important}
#mapTools{gap:8px!important;align-items:center}
#mapTools button,#finder #finderBtn{width:42px;height:42px;min-height:42px;padding:0!important;border-radius:50%!important;font-size:18px!important;line-height:1;display:inline-flex;align-items:center;justify-content:center;background:#0e1a34ee;border:1px solid #3a5a8a;color:#e8f1ff;box-shadow:0 2px 10px #0008}
#mapTools button:active,#finder #finderBtn:active{transform:scale(.94)}
#mapTools #homeMap{font-size:0!important}#mapTools #homeMap:before{content:'⌖';font-size:26px}
#mapTools #zoomIn,#mapTools #zoomOut{font-size:24px!important;font-weight:700}
#econToggle.on{border-color:#58d6a2!important;box-shadow:0 0 10px #58d6a255}
#finder{position:relative;display:inline-flex!important;align-items:center}
#mapTools #finder input{position:absolute;left:48px;top:50%;transform:translateY(-50%);width:0!important;opacity:0;padding:0!important;border-width:0;border-radius:21px;min-height:42px;border:1px solid #3a5a8a;transition:width .2s,opacity .2s,padding .2s;pointer-events:none;z-index:5}
#mapTools #finder.open input{width:min(160px,42vw)!important;max-width:none!important;opacity:1;padding:4px 14px!important;border-width:1px;pointer-events:auto}
body.econ-hide #econBar{display:none!important}
@media(max-width:760px){body.econ-hide #mapTools{top:62px!important}}

/* ПК: компактная правая панель «Планета» */
@media(min-width:901px){
  #panel .planet-hero{margin-bottom:8px}#panel .planet-hero #pv{height:104px!important}#panel .planet-hero .hero-label{left:12px;bottom:6px}#panel .planet-hero h2{font-size:18px;margin:0}
  #panel .pcard2{padding:8px 10px}#panel .pcard2 .pc-head{margin-bottom:4px}#panel .pcard2 .pc-sec{margin:6px 0 3px;font-size:10px}
  #panel .pcard2 .traits{display:grid;grid-template-columns:1fr 1fr;gap:5px}#panel .pcard2 .trait{padding:4px 7px;font-size:11px}#panel .pcard2 .trait small{display:block;font-size:10px;line-height:1.25}
  #panel .pcard2 .pchips .pchip{font-size:11px;padding:3px 8px}#panel .pcard2 .pc-foot .dim{display:none}
  #panel .hp-note{display:none}#panel .card{margin-bottom:8px;padding:8px 10px}
  #panel .dash-details>summary{cursor:pointer;list-style:none}#panel .dash-details>summary::-webkit-details-marker{display:none}#panel .dash-details>summary .dim{font-size:11px;margin-left:6px}
  #panel .dash-details[open]>summary{margin-bottom:8px}
}
/* текст в полосах прогресса не должен «уезжать» вниз: у #panel line-height 1.5 раздувал строку выше высоты полосы */
.bar{line-height:14px;display:flex;align-items:center}.bar>em{display:block;position:relative;line-height:14px;margin:0}

/* ===== Меню планеты рядом с планетой ===== */
#target.tp{width:360px;max-height:none;padding:0;overflow:visible;background:#0d1826f7;border:1px solid #3a5a7a;border-radius:16px;box-shadow:0 18px 60px #000c;z-index:6;will-change:transform}
#target.tp:before{content:"";position:absolute;top:50%;width:14px;height:14px;background:#0d1826;border:1px solid #3a5a7a;transform:translateY(-50%) rotate(45deg);z-index:-1}
#target.tp[data-side=r]:before{left:-8px;border-right:0;border-top:0}#target.tp[data-side=l]:before{right:-8px;border-left:0;border-bottom:0}
.tgt-hero{position:relative;height:118px;border-radius:15px 15px 0 0;overflow:hidden}.tgt-hero canvas{width:100%;height:100%;display:block;object-fit:cover}
.tgt-ttl{position:absolute;left:14px;right:44px;bottom:8px;text-shadow:0 2px 8px #000}.tgt-ttl b{display:flex;align-items:center;gap:8px;font-size:18px;color:#fff}.tgt-ttl small{color:#d7e6f2}
.lvb{font-style:normal;font-size:12px;background:#fff;color:#10182e;border-radius:8px;padding:0 7px;font-weight:800}
.tgt-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px}.tgt-traits{display:flex;flex-wrap:wrap;gap:6px}
.tgt-body .row{margin-top:4px!important}.tgt-body .row button{flex:1}
.tgt-body .bar{height:10px;border-radius:6px}.tgt-body .card{margin:0}
#target.tp #tClose{position:absolute;right:8px;top:8px;width:30px;height:30px;min-height:0;padding:0;border-radius:50%;background:#0b1624cc;border:1px solid #4a6a88;display:grid;place-items:center;z-index:2}
@media(max-width:760px){#target.tp{left:8px!important;right:8px;top:auto!important;bottom:70px;width:auto;max-height:62vh;overflow:auto;transform:none!important}#target.tp:before{display:none}.tgt-hero{height:96px}}

/* ===== Полноэкранные окна ===== */
#fw{position:fixed;left:0;right:0;bottom:0;top:82px;z-index:11;display:none;flex-direction:column;background:radial-gradient(ellipse at 15% 0,#14303a,transparent 60%),radial-gradient(ellipse at 100% 100%,#241f44,transparent 55%),#080f1b;color:var(--txt);padding-bottom:104px}
#fw.show{display:flex}
.fw-head{display:flex;align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid #26405a;background:#0b1624cc;flex:none}
.fw-ttl{display:flex;align-items:center;gap:12px;min-width:0}.fw-ttl>div{display:flex;flex-direction:column;line-height:1.2}.fw-ttl b{font-size:20px}.fw-ttl small{color:var(--dim)}.fw-ic{font-size:28px}
.fw-tools{flex:1;min-width:0;overflow-x:auto}.fw-sum{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.fw-sum button{white-space:nowrap}
.fw-x{width:42px;height:42px;border-radius:50%;padding:0;font-size:18px;background:#2a1a24;border:1px solid #c0506a;color:#fff;flex:none}
.fw-body{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}
.fw-empty{display:grid;place-items:center;gap:12px;text-align:center;padding:40px;color:var(--dim);flex:1}
.fw-info{padding:16px}.fw-info h3{margin:0 0 8px;font-size:18px}.fw-info p{margin:0 0 10px;line-height:1.5;color:#c4d3df}
.fw-info,.cm-note{font-size:13px}.cm-note{margin:0 0 10px;line-height:1.5}
.pc{display:inline-block;line-height:0;border-radius:12px;overflow:hidden}.pc canvas{display:block}.pc.gray canvas{filter:grayscale(1) brightness(.5)}.nocm{display:grid;place-items:center;width:100%;height:100%;font-size:28px;color:#5a7288;font-style:normal;min-height:60px}

/* --- командиры --- */
.cm-wrap{flex:1;min-height:0;display:grid;grid-template-columns:minmax(330px,42%) 1fr}
.cm-left{display:flex;flex-direction:column;min-height:0;border-right:1px solid #26405a;background:#0a1320aa}
.cm-filters{display:flex;gap:6px;padding:10px 12px 4px;flex-wrap:wrap}.cm-filters select{flex:1;min-width:110px;min-height:34px}.cm-chk{display:flex;align-items:center;gap:4px;color:var(--dim)}
.cm-count{padding:2px 14px 6px;font-size:12px}
.cm-grid{flex:1;min-height:0;overflow:auto;padding:8px 12px 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;align-content:start;grid-auto-rows:max-content}
.cm-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 8px;border-radius:14px;background:linear-gradient(#16263a,#0f1a2a);border:2px solid #2a3b4e;color:var(--txt);font-size:12px}
.cm-card:hover:not(:disabled){border-color:var(--rc,#69d4d0);background:linear-gradient(#1b304a,#112033)}.cm-card.sel{border-color:var(--rc,#69d4d0);box-shadow:0 0 0 2px var(--rc,#69d4d0)55,0 8px 22px #0009}
.cm-card.gray{opacity:.6}.cm-card b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-busy{position:absolute;top:4px;right:4px;font-style:normal;font-size:9px;background:#8a2a38;border-radius:6px;padding:0 5px}
.cm-right{overflow:auto;padding:16px 20px 24px;min-height:0}
.cm-hero{display:flex;gap:18px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#17283a,#0e1826);border:1px solid var(--rc,#3a5a7a);box-shadow:0 0 30px color-mix(in srgb,var(--rc,#000) 25%,transparent)}
.cm-hero .pc.big{align-self:flex-start;border:2px solid var(--rc,#3a5a7a);flex:none}.cm-hi{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.cm-hi h2{margin:0;font-size:24px}
.cm-tags{display:flex;gap:6px;flex-wrap:wrap}.cm-lv .bar{margin-top:4px;height:10px}
.cm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cm-stats div{background:#0a1320;border-radius:10px;padding:8px;text-align:center}.cm-stats b{display:block;font-size:20px}.cm-stats small{color:var(--dim);font-size:11px}
.cm-sub{display:flex;gap:6px;margin:14px 0 10px;flex-wrap:wrap}.cm-sub button{flex:1;min-width:110px}.cm-sub button.on{background:#1f4a52;border-color:var(--acc)}
.cm-sk{display:flex;gap:12px;align-items:center;padding:10px 12px;margin-bottom:8px;border-radius:12px;background:#122030;border:1px solid #2a4258}.cm-sk.off{opacity:.5}.cm-sk .ic{font-size:26px;width:40px;text-align:center}.cm-sk .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cm-sk button{width:44px;height:44px;font-size:20px;padding:0}
.cm-tr{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.cm-br{display:flex;align-items:center;gap:8px;padding:10px;border-radius:10px;background:#122030;border:1px solid #2a4258}.cm-br span{font-size:22px}.cm-br b{flex:1}
.cm-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.cm-slot{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;min-height:86px;border-radius:12px;background:#122030;border:2px dashed #3a5068;text-align:left}.cm-slot.has{border-style:solid;border-color:var(--ic,#69d4d0)}.cm-slot .plus{font-size:26px;color:var(--dim)}
@media(max-width:760px){
  #fw{top:52px;bottom:62px;padding-bottom:0;z-index:16}
  .fw-head{padding:6px 10px;gap:8px;flex-wrap:wrap}.fw-ttl b{font-size:16px}.fw-ttl small{display:none}.fw-ic{font-size:22px}.fw-x{width:38px;height:38px;order:2;margin-left:auto}.fw-tools{order:3;flex-basis:100%}.fw-sum{justify-content:flex-start;flex-wrap:nowrap}.fw-sum small{display:none}
  .cm-wrap{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow:auto}.cm-wrap{display:flex;flex-direction:column;overflow:hidden}
  .cm-left{border-right:0;border-bottom:1px solid #26405a;flex:none}.cm-filters{padding:6px 8px 2px;flex-wrap:nowrap;overflow-x:auto}.cm-filters select{min-width:96px;min-height:32px;font-size:12px}.cm-count{display:none}
  .cm-grid{display:flex;overflow-x:auto;overflow-y:hidden;padding:6px 8px 8px;gap:8px}.cm-card{flex:0 0 92px;padding:4px 2px}.cm-card .pc canvas{width:76px!important;height:96px!important}
  .cm-right{flex:1;padding:10px 10px 18px}.cm-hero{flex-direction:column;align-items:center;padding:12px;gap:10px;text-align:center}.cm-hero .pc.big canvas{width:132px!important;height:166px!important}.cm-hi{width:100%}.cm-hi h2{font-size:20px}.cm-tags{justify-content:center}.cm-hi .row{justify-content:center}
  .cm-sub button{min-width:0;padding:8px 4px;font-size:12px}.cm-sk{padding:8px}.cm-sk .ic{width:28px;font-size:20px}
}

/* --- отряды --- */
.sq-wrap{flex:1;min-height:0;display:grid;grid-template-columns:1fr 340px}
.sq-main{overflow:auto;padding:16px 18px}.sq-side{overflow:auto;border-left:1px solid #26405a;background:#0a1320aa}
.sq-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.sq-card{padding:12px;border-radius:14px;background:linear-gradient(#16263a,#0f1a2a);border:1px solid #2f465c;display:flex;flex-direction:column;gap:8px}.sq-card.out{border-color:#3a6a8a}
.sq-top{display:flex;gap:10px;align-items:center}.sq-hd{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;align-items:flex-start}.sq-hd .dim{font-size:12px}
.sq-fm{width:120px;height:70px;border-radius:10px;background:#0a1220;flex:none}
.sq-us{display:flex;flex-wrap:wrap;gap:5px}.sq-u{display:flex;align-items:center;gap:4px;font-size:12px;padding:2px 8px 2px 2px;border-radius:10px;background:#122030;border:1px solid #2a4258}.sq-u canvas{width:44px;height:21px}
.sq-meter{position:relative;height:20px;border-radius:10px;background:#0a1220;overflow:hidden}.sq-meter i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#1f8f5f,#5dffa0);opacity:.7}.sq-meter span{position:relative;display:block;text-align:center;font-size:11px;line-height:20px}
.sq-card .row{gap:6px;flex-wrap:nowrap}.sq-card .row button{flex:1}.sq-card .row button:last-child{flex:0 0 44px}
.sq-dock{margin:12px;padding:10px 12px;border-radius:12px;background:#122030;border:1px solid #2a4258}.sq-dock summary{cursor:pointer;font-weight:600}.sq-row2{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:6px 0}
@media(max-width:900px){.sq-wrap{grid-template-columns:1fr;grid-template-rows:1fr;overflow:auto;display:block}.sq-main{overflow:visible}.sq-side{border-left:0;border-top:1px solid #26405a;overflow:visible}.sq-list{grid-template-columns:1fr}}
/* конструктор */
.sqe{flex:1;min-height:0;display:grid;grid-template-columns:300px 1fr 330px}
.sqe>section,.sqe>aside{overflow:auto;padding:14px 16px;min-height:0}.sqe-c1{border-right:1px solid #26405a;background:#0a1320aa}.sqe-c3{border-left:1px solid #26405a;background:#0a1320aa}
.sqe h3{display:flex;align-items:center;gap:10px;margin:4px 0 4px;font-size:17px}.sqe h3 i{font-style:normal;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#1f4a52;border:1px solid var(--acc);font-size:13px}.sqe h4{margin:12px 0 6px;color:#9aaec0;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.sqe p.dim{margin:0 0 10px;font-size:12px}
.sqe-cms{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sqe-cms.small{grid-template-columns:repeat(3,1fr)}
.sqe-cm{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:12px;background:#122030;border:2px solid #2a3b4e;font-size:12px;min-height:0;color:var(--txt)}.sqe-cm.on{border-color:var(--rc,#69d4d0);background:#173a3c;box-shadow:0 0 14px #69d4d044}.sqe-cm small{color:#8aa0b6;font-size:11px;text-align:center}.sqe-cm b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sqe-cms.small .pc canvas{width:48px!important;height:60px!important}.sqe-cm .pc{min-width:48px;min-height:60px;background:#0a1220}
.sqe-fms{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.sqe-fm{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px;border-radius:12px;background:#122030;border:2px solid #2a3b4e;text-align:center;min-height:0;color:var(--txt)}.sqe-fm.on{border-color:var(--acc);background:#173a3c}.sqe-fm canvas{width:100%;height:auto;border-radius:8px;background:#0a1220}.sqe-fm small{font-size:11px}
.sqe-u{display:grid;grid-template-columns:78px 120px 1fr 64px 56px;gap:10px;align-items:center;padding:8px 10px;margin-bottom:6px;border-radius:12px;background:#122030;border:1px solid #2a4258}.sqe-u canvas{width:78px;height:38px;background:#0a1220;border-radius:8px}.sqe-u .nm{display:flex;flex-direction:column;line-height:1.2}.sqe-u .nn{width:64px;text-align:center;padding:4px}
.sqe-u input[type=range]{width:100%;accent-color:#5dffa0;height:28px}
.sqe-sum{display:flex;flex-direction:column;gap:12px}.sqe-sum label{font-size:12px;color:#9aaec0}.sqe-sum input{display:block;width:100%;margin-top:3px}
#sqePrev{width:100%;height:auto;border-radius:12px;background:radial-gradient(circle,#1a3350,#0a1220)}.sqe-cap{padding:10px;border-radius:12px;background:#0a1220;font-size:13px}.sqe-cap b.bad{color:#ff8a7a}
.sq-bar{height:8px;border-radius:5px;background:#1a2436;margin:4px 0 8px;overflow:hidden}.sq-bar i{display:block;height:100%;background:#5dffa0;transition:width .15s}.sq-bar i.over{background:#ff6a6a}
#sHint{min-height:16px;color:#ffb38a;font-size:12px}.sqe-sum .row{gap:8px}.sqe-sum .row button{flex:1}
@media(max-width:1100px){.sqe{grid-template-columns:240px 1fr}.sqe-c3{grid-column:1 / -1;border-left:0;border-top:1px solid #26405a}.sqe-u{grid-template-columns:64px 1fr 60px}.sqe-u input[type=range]{grid-column:1 / -1;order:5}.sqe-u .nn{grid-column:2;grid-row:1;justify-self:end}.sqe-u button{grid-column:3;grid-row:1}}
@media(max-width:760px){.sqe{display:block;overflow:auto}.sqe>section,.sqe>aside{overflow:visible;padding:10px 12px}.sqe-c1,.sqe-c3{border:0}.sqe-c1{border-bottom:1px solid #26405a}.sqe-cms{grid-template-columns:repeat(3,1fr)}.sqe-cm .pc canvas{width:56px!important;height:70px!important}.sqe-fms{grid-template-columns:repeat(2,1fr)}.sqe-u{grid-template-columns:64px 1fr 58px 52px}.sqe-u canvas{width:64px;height:32px}.sqe-u input[type=range]{grid-column:1 / -1}.sqe-u .nn{grid-column:3;grid-row:1}.sqe-u button{grid-column:4;grid-row:1}.sqe-c3{position:sticky;bottom:0;background:#0b1624f6;border-top:1px solid #3a5a7a}#sqePrev{display:none}}

/* --- фабрикатор --- */
.fab{flex:1;min-height:0;display:grid;grid-template-columns:1fr 360px}.fab-main{overflow:auto;padding:16px 20px 24px}.fab-info{border-left:1px solid #26405a;background:#0a1320aa;overflow:auto}
.fab-main h3{display:flex;align-items:center;gap:10px;margin:18px 0 8px;font-size:17px}.fab-main h3 i{font-style:normal;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#1f4a52;border:1px solid var(--acc);font-size:13px}
.fab-st{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:12px;background:linear-gradient(90deg,#14323a,#1a2442);border:1px solid #2f5a66;flex-wrap:wrap}.fab-st b{color:var(--gold)}
.fab-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.fab-sl{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border-radius:14px;background:#122030;border:2px solid #2a3b4e;min-height:0;color:var(--txt)}.fab-sl.on{border-color:#6fe0ff;background:#15305a;box-shadow:0 0 18px #6fe0ff33}.fab-sl img{width:72px;height:72px;border-radius:12px}
.fab-qty{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.fab-qty input{width:76px;text-align:center}
.fab-go{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding:14px;border-radius:14px;background:#0f1d2c;border:1px solid #2a4258}.fab-cost{font-size:14px}button.big{font-size:17px;padding:12px;min-height:50px}
.fab-info .fw-info{position:sticky;top:0}.fab-rr{display:flex;flex-direction:column;gap:3px;padding:8px 0;border-bottom:1px solid #1d2c3d}.fab-how{padding-left:20px;line-height:1.7;margin:0 0 10px}
@media(max-width:900px){.fab{display:flex;flex-direction:column;overflow:auto}.fab-main{overflow:visible;padding:12px}.fab-info{border-left:0;border-top:1px solid #26405a;order:-1;max-height:none}.fab-info .fw-info{position:static;padding:10px 12px}.fab-info h3{font-size:15px}.fab-slots{grid-template-columns:repeat(3,1fr)}.fab-sl img{width:56px;height:56px}}
@media(max-width:760px){.fab-info{display:none}.fab-main:before{content:none}}
body.fw-on #commBar,body.fw-on #chatFeed,body.fw-on #mapTools,body.fw-on #hud,body.fw-on #econBar,body.fw-on #fleetStrip,body.fw-on #target,body.fw-on #mClose{display:none!important}
.sqe-name{display:block;font-size:12px;color:#9aaec0;margin-bottom:8px}.sqe-name input{display:block;width:100%;margin-top:3px}
@media(max-width:760px){.sqe-c3 .sqe-sum{gap:6px}.sqe-cap{padding:6px 10px;font-size:12px}.sqe-c3{padding:8px 12px!important}.cm-filters select{flex:0 0 auto}}
.tb{font-style:normal;font-size:10px;font-weight:800;padding:1px 6px;border-radius:7px;border:1px solid;vertical-align:middle}
.tb.t1{color:#c9d3dc;border-color:#6b7a88;background:#1b242d}.tb.t2{color:#9dffb8;border-color:#2fae62;background:#10331f}.tb.t3{color:#9fd0ff;border-color:#2f7de0;background:#0f2c4a}.tb.t4{color:#e0b8ff;border-color:#a05af0;background:#2a1650}.tb.t5{color:#ffe29a;border-color:#ffb52e;background:#4a3000;box-shadow:0 0 8px #ffb52e66}
@media(max-width:760px){.cm-hero .pc.big{align-self:center}}
.sq-siege{margin-bottom:12px;padding:12px 14px;border-radius:12px;background:#3a1018;border:1px solid #ff4a5a;color:#ffd9dc;line-height:1.5}
.tgt-coords{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:#0a1320}.tgt-coords .row{margin:0!important;gap:6px}.tgt-coords button{min-height:32px;padding:4px 8px;font-size:12px}
a.coord{color:#7fd6ff;text-decoration:underline;cursor:pointer;white-space:nowrap}
#finder{display:inline-flex;gap:4px}#finder input{width:150px;min-height:34px;padding:4px 8px}#finder button{min-height:34px;padding:4px 10px}
@media(max-width:760px){#finder input{width:96px}}
/* дерево технологий: кнопка закрытия — справа в шапке, не посередине */
#techView .tv-head .tv-x{order:2;margin:0 0 0 auto!important;flex:none}
#techView .tv-head>b{order:1;font-size:18px}
#techView .tv-head .tv-tabs{order:3}
@media(max-width:760px){#techView .tv-head>b{flex:1}#techView .tv-head .tv-x{margin:0!important}#techView .tv-head .tv-tabs{order:4;width:100%}#techView .tv-head .tv-q{order:5}}
#techView .tv-line{font-weight:700}

/* верфь: плитки Т1–Т3 в ряд */
.yc h4{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 6px}
.yt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.yt{background:#0b1424;border:1px solid #23405f;border-radius:8px;padding:5px;display:flex;flex-direction:column;gap:2px;min-width:0;font-size:11px}
.yt.lock{opacity:.6}.yt-h{display:flex;justify-content:space-between;align-items:center}
.yt canvas{width:100%;height:auto;max-height:44px;object-fit:contain}.yt-s{color:#9fd4ff}
.yt-c{display:flex;flex-wrap:wrap;gap:2px 5px;font-size:10.5px}.yt-c *{font-size:10.5px}
.yt-b{display:flex;gap:3px;margin-top:auto}.yt-b input{width:100%;min-width:0;padding:3px;font-size:12px}.yt-b button{padding:3px 5px;font-size:11px;white-space:nowrap}
@media(max-width:760px){.yt-grid{gap:4px}.yt{padding:4px}}
/* панель здания: длинные подписи не вылезают, текст переносится */
#panel .bp-meter{height:auto;min-height:18px}
#panel .bp-meter span{line-height:15px;padding:1px 6px;white-space:normal;word-break:break-word;font-size:10.5px}
#panel .bp-sec,#panel .bp-row,#panel .bp-t{max-width:100%;box-sizing:border-box}
#panel .bp-row{flex-wrap:wrap}#panel .bp-t td:first-child{word-break:break-word}
#panel .bp-bad,#panel .bp-spec,#panel .bp-note{overflow-wrap:anywhere}

/* профиль */
.pf{width:min(460px,92vw);max-height:84vh;overflow:auto}.pf-head{display:flex;gap:12px;align-items:center;margin:10px 0}.pf-nick{font-size:20px;font-weight:800}
.pf-av{border-radius:50%;border:2px solid #3a6aa8;background:#0d1630;flex:none}
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;margin-top:6px}
.pf-b{padding:4px;border-radius:10px;font-size:24px;line-height:1.1;background:#0b1424;border:1px solid #23405f;display:flex;justify-content:center;align-items:center}.pf-b.on{border-color:#ffc94d;box-shadow:0 0 0 2px #ffc94d55}.pf-c .pf-av{width:42px!important;height:42px!important}

/* 2.5D-сцена командира */
.cm-stage{position:relative;flex:none;width:320px;height:410px;border-radius:14px;overflow:hidden;border:2px solid var(--rc,#3a5a7a);box-shadow:0 0 28px color-mix(in srgb,var(--rc,#000) 35%,transparent);background:#050818;touch-action:pan-y;cursor:grab}
.cm-stage .cm-stage-cv{display:block;width:100%;height:100%}.cm-stage.gray .cm-stage-cv{filter:grayscale(.85) brightness(.75)}
.cm-stage .cs-nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:60px;border:0;border-radius:10px;background:rgba(5,10,30,.45);color:#fff;font-size:26px;cursor:pointer;opacity:.0;transition:opacity .2s}
.cm-stage:hover .cs-nav{opacity:.85}.cm-stage .cs-nav.l{left:6px}.cm-stage .cs-nav.r{right:6px}
@media(max-width:760px){.cm-stage{width:100%;max-width:340px;height:340px}.cm-stage .cs-nav{opacity:.6}}
/* анимации командиров: кнопка «Фирменная» и подпись */
.cm-stage .cs-sig{position:absolute;right:8px;bottom:8px;z-index:3;border:1px solid #ffd24a88;background:rgba(20,16,4,.72);color:#ffe9a8;border-radius:10px;padding:6px 11px;font-size:13px;cursor:pointer;backdrop-filter:blur(4px)}
.cm-stage .cs-sig:hover{background:rgba(60,44,6,.85)}
.cm-stage .cs-cap{position:absolute;left:8px;bottom:8px;z-index:2;max-width:calc(100% - 130px);font-size:11px;line-height:1.35;color:#c9d6ff;text-shadow:0 1px 3px #000;pointer-events:none;opacity:.85}.cm-stage .cs-cap b{color:#fff}
@media(max-width:760px){.cm-stage .cs-cap{font-size:10px}.cm-stage .cs-sig{padding:5px 9px;font-size:12px}}

/* верфь: плитки одним рядом Т1 → Т5, на узком экране прокрутка вбок */
.yt-grid{display:flex!important;grid-template-columns:none!important;gap:6px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}
.yt-grid>.yt{flex:1 0 132px;min-width:132px;scroll-snap-align:start}
@media(max-width:760px){.yt-grid>.yt{flex:0 0 140px;min-width:140px}}
/* карточка маяка / цитадели — в стиле карточки планеты */
.tb-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.tb-row b{color:#fff}.tb-row span{color:#9fb0d8}
.tb-gat{margin-top:4px;padding:12px;border-radius:14px;background:linear-gradient(#0e1a38cc,#0a1230cc);border:1px solid #2a4a7a;display:flex;flex-direction:column;gap:8px}
.tb-pips{display:flex;gap:8px}.tb-pips i{flex:1;height:34px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:16px;border:1px dashed #2a3f66;color:#2a3f66;background:#08102a}
.tb-pips i.on{border:1px solid #ffd24a;color:#ffd24a;background:linear-gradient(#3a2d0c,#1b1606);box-shadow:0 0 10px #ffd24a44}
.tb-gat small{font-size:12px;line-height:1.4}.tb-gat .row button{min-height:40px;border-radius:12px;font-weight:700}.tb-gat .cst{opacity:.9;font-weight:600;margin-left:4px}
#target.tp .tgt-body .row button{min-height:40px;border-radius:12px}
.tb-gat .row button.pri{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2;padding:6px 8px}.tb-gat .cst{display:block;font-size:11px;margin:0;opacity:.85}
.tb-pips i.lock{opacity:.35;filter:grayscale(1);border-style:dotted}
.tv-link{color:#ffc27a;cursor:pointer;text-decoration:underline}.tv-link:hover{color:#fff}

/* выбор командира в конструкторе отряда: те же шестигранники со звёздами, что и в зале командиров */
.sqe-cms,.sqe-cms.small{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))!important;gap:10px 6px;min-width:0}
.sqe-cm.sqe-hxb{background:none!important;border:0!important;box-shadow:none!important;padding:8px 0 2px!important;min-width:0;max-width:100%;overflow:visible;align-items:center}
.sqe-hxb .ch-hex{display:block;margin:0 auto 4px}
.sqe-hxb .nm{font-size:11px;line-height:1.15;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e5edf4}
.sqe-hxb small{font-size:10px;color:#9fb5c8}
.sqe-hxb.on .nm{color:#ffd24a}
.sqe-cm .pc canvas{width:100%!important;height:100%!important}
@media(max-width:760px){.sqe-cms,.sqe-cms.small{grid-template-columns:repeat(3,minmax(0,1fr))!important}.sqe-hxb .ch-hex{width:72px;height:86px}.sqe-hxb .nm{font-size:10px}}
.tb-rep{margin:8px 0 4px;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#2a1218cc,#150c1ecc);border:1px solid #ff6a6a55;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.tb-rep .tb-row b{color:#ff9a9a}.tb-repc{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 8px;font-weight:700;font-size:13px}.tb-repc .bad{color:#ff7b7b}
.tb-rep button{width:100%;min-height:40px;border-radius:10px}

.ic-row{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.35;padding:5px 8px;border-radius:8px;background:#ffffff0a}.ic-row>span{flex:none;width:20px;text-align:center}.ic-row.bad{background:#ff5a5a14;border-left:3px solid #ff6a6a}.ic-row.ok{background:#4dff9a12;border-left:3px solid #4dd98a}.ic-note{font-size:12px;color:#ffd24a}.tb-row{display:flex;justify-content:space-between;font-size:12.5px}

.tgt-civ{display:flex;align-items:flex-end;gap:10px}.tgt-civ .tgt-tx{min-width:0;display:flex;flex-direction:column}.tgt-emb{width:56px;height:56px;flex:none;filter:drop-shadow(0 2px 6px #000a)}.tgt-race{font-style:normal;font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 10px var(--g),0 2px 6px #000;margin-bottom:1px}
@media(max-width:760px){.tgt-emb{width:46px;height:46px}.tgt-race{font-size:11px}}
body #target.tp .tgt-hero canvas.tgt-emb{position:static;inset:auto;width:56px;height:56px;object-fit:contain;flex:none}
@media(max-width:760px){body #target.tp .tgt-hero canvas.tgt-emb{width:46px;height:46px}}
body #target.tp .tgt-civ .tgt-tx{flex:1}
.allytag{display:inline-flex;align-items:center;gap:5px}.allylogo{height:24px;width:auto;vertical-align:middle;filter:drop-shadow(0 1px 3px #000a)}

/* выбранный командир — хорошо заметен */
.sqe-cm.sqe-hxb{position:relative;border-radius:14px!important;transition:.15s}
.sqe-cm.sqe-hxb.on{background:none!important;box-shadow:none!important}
.sqe-cm.sqe-hxb:not(.on){opacity:.78}.sqe-cm.sqe-hxb:not(.on):hover{opacity:1}
.sqe-chk{position:absolute;top:-6px;left:50%;transform:translateX(-50%);background:#ffd24a;color:#241a00;font-style:normal;font-weight:800;font-size:10px;padding:1px 7px;border-radius:9px;z-index:3;white-space:nowrap}
.sqe-cm.sqe-none.on{box-shadow:0 0 0 3px #ffd24a;background:linear-gradient(#ffd24a30,#ffd24a10)!important}
.sqe-q2{display:flex;gap:8px;align-items:center;margin:6px 0}.sqe-q2 input{flex:1;min-width:0;padding:7px 10px;border-radius:10px;border:1px solid #2a3b4e;background:#0a1220;color:#e5edf4}
.sqe-more{width:100%;margin-top:6px;padding:8px;border-radius:10px;background:#122030;border:1px dashed #3a5a7a;color:#9fd8ff;cursor:pointer}
.sqe-slots{display:grid;gap:8px;margin-top:8px}.sqe-slot{display:flex;gap:10px;align-items:center;text-align:left;padding:8px;border-radius:12px;background:#0b1424;border:1px solid var(--rc,#2a4a6a);cursor:pointer;color:#fff}.sqe-slot.has{box-shadow:0 0 10px var(--rc,#6fe0ff)55}.sqe-slot.lock{opacity:.6;cursor:not-allowed;border-style:dashed}
.sqe-slot .pc{min-width:58px;min-height:72px;background:#0a1220;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px}.sqe-slot .tx{display:flex;flex-direction:column;gap:2px;min-width:0}.sqe-slot small{color:#9fb6cc}.sqe-slot b{font-size:15px}.sqe-slot em{font-style:normal;color:#ffd27a;font-size:12px}
.sqp{width:min(720px,94vw);max-height:86vh;overflow:auto}.sqp-f{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap}.sqp-f input{flex:1;min-width:140px}.sqp-l{max-height:60vh;overflow:auto;margin-top:8px}
.sqp-l .ch-hex .pc canvas,.sqe-cms .ch-hex .pc canvas{width:100%!important;height:100%!important}
.sqp-l .ch-hex .pc{min-width:0;min-height:0}

/* Карточка босса поверх слотов флота. */
body #target:has(canvas[data-leviathan]){z-index:24}

/* профиль: кнопки «Пройдите обучение» и «Достижения» */
.pf-tut,.pf-ach{position:relative;display:grid;grid-template-columns:34px 1fr;gap:0 10px;align-items:center;width:100%;margin:8px 0;padding:10px 12px;text-align:left;border-radius:12px;color:#fff;cursor:pointer;overflow:hidden}
.pf-tut span,.pf-ach span{grid-row:1/3;font-size:26px;text-align:center}
.pf-tut b,.pf-ach b{font-size:14px}.pf-tut small,.pf-ach small{color:#b8c8e0;font-size:11.5px}
.pf-tut{background:linear-gradient(135deg,#1c3a5c,#122238);border:1px solid #5aa0e0;box-shadow:0 0 14px #4a9aff55;animation:pfTut 2s ease-in-out infinite}
@keyframes pfTut{50%{box-shadow:0 0 22px #6fe0ffaa}}
.pf-ach{background:linear-gradient(135deg,#3a2c10,#1a1608);border:1px solid #c9a23a}
.pf-ach i{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#ffd24a,#ff9a2e)}

/* карточки объектов карты (пираты, руины, караваны, поля, реликвии, станции…): шапка выше, картинка над названием */
.tgt-hero.obj,body #target.tp .tgt-hero.obj{height:146px}.tgt-hero.obj:after{content:"";position:absolute;left:0;right:0;bottom:0;height:62px;background:linear-gradient(transparent,#07101fe6);pointer-events:none}.tgt-hero.obj .tgt-ttl{z-index:1}
/* тег альянса везде — кликабельная ссылка на карточку альянса (g.allyLink в ui.js) */
a.allytag{cursor:pointer;color:#ffd27a;text-decoration:none;border-bottom:1px dotted #ffd27a99}a.allytag:hover{color:#fff;border-bottom-color:#fff}

@media(max-width:760px){
:root{--tb:38px;--hb:34px}
body #top{height:38px!important}
:root body #commBar,:root body.map-expanded #commBar,body #commBar.collapsed{top:calc(var(--tb) + 4px)!important;left:auto!important;right:6px!important;width:auto!important;max-width:208px;height:auto!important;padding:4px!important;gap:4px!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:flex-end!important;overflow:visible!important;background:#0b1725e6!important;border:1px solid #2e4660;border-radius:12px;z-index:16}
body #commBar.collapsed{background:transparent!important;border:0;padding:0!important}
body #commBar .cbtn{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;font-size:16px!important;flex:none;padding:0!important}
body #mapTools{left:4px!important;top:calc(var(--tb) + 4px)!important;gap:4px!important}
body #mapTools button{width:34px!important;height:34px!important;min-height:34px!important;font-size:15px!important}
body #top{gap:2px!important;padding:0 4px!important}
body #top .sysbadge{font-size:10px!important;padding:3px 5px!important;min-width:0!important}
body #top .resbox{flex:1 1 auto;min-width:0;gap:0!important;justify-content:space-between}
body #top .chip{padding:2px 3px!important;gap:2px!important;min-width:0!important;font-size:11px!important}
body #top .chip b{font-size:11px!important}
body #top .chip svg{width:12px!important;height:12px!important}
body #top .powerchip{padding:2px 5px!important}
body #top .avbtn{width:30px!important;height:30px!important;flex:none}
body #top .avbtn canvas{width:26px!important;height:26px!important}
body #top .sysbadge{max-height:26px}
}
@media(max-width:760px){
body #commBar.collapsed{box-shadow:none!important;backdrop-filter:none!important;width:auto!important;min-width:0!important}
body #commBar.collapsed #cbHide{box-shadow:0 0 6px #000a}
body #mapTools #finder #finderBtn{width:34px!important;height:34px!important;min-height:34px!important;font-size:15px!important}
}
/* ===== телефон в горизонтальном положении ===== */
@media(max-height:500px) and (orientation:landscape){
:root{--tb:32px;--hb:30px;--detail:min(330px,42vw)}
body #top{height:32px!important;padding:0 6px!important;gap:6px!important}
body #top .sysbadge{font-size:10px!important;padding:2px 6px!important}
body #top .chip{padding:1px 6px!important;font-size:12px!important;gap:3px!important}
body #top .chip b{font-size:12px!important}body #top .chip small{font-size:9px!important}
body #top .chip svg{width:13px!important;height:13px!important}
body #top .avbtn{width:26px!important;height:26px!important}body #top .avbtn canvas{width:22px!important;height:22px!important}
body #econBar,body #chatFeed,body #fleetStrip,body #touchHint{display:none!important}
body #map{top:32px!important;height:calc(100% - 32px)!important}
body #side{top:32px!important;width:var(--detail)!important}
body #mapTools{left:4px!important;top:36px!important;gap:3px!important}
body #mapTools button,body #mapTools #finder #finderBtn{width:30px!important;height:30px!important;min-height:30px!important;font-size:13px!important}
:root body #commBar,:root body.map-expanded #commBar,body #commBar.collapsed{top:36px!important;left:auto!important;right:6px!important;width:auto!important;max-width:260px;height:auto!important;padding:3px!important;gap:3px!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:flex-end!important;overflow:visible!important;background:#0b1725e6!important;border:1px solid #2e4660;border-radius:10px;z-index:16}
body.bp-open #commBar,body:not(.map-expanded) #commBar{right:calc(var(--detail) + 8px)!important}
body #commBar.collapsed{background:transparent!important;border:0;padding:0!important;box-shadow:none!important}
body #commBar .cbtn{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;font-size:14px!important;padding:0!important}
body #quickDock,body.map-expanded #quickDock{left:4px!important;bottom:4px!important;gap:4px!important;padding:2px!important;height:auto!important;width:auto!important;max-width:calc(100vw - var(--detail) - 16px)!important;background:#0a1424cc;border-radius:12px}
body.map-expanded #quickDock{max-width:calc(100vw - 16px)!important}
body #quickDock .qd{width:34px!important}body #quickDock .qd .ic{width:32px!important;height:32px!important}
body #quickDock .qd .ic svg{width:17px!important;height:17px!important}body #quickDock .qd small{display:none!important}
body #quickDock .qd .lk{font-size:10px!important;top:-4px!important;right:0!important}
}
/* ===== карточка планеты (тап по планете) ===== */
.tgt-coords{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px!important;border-radius:12px!important;background:linear-gradient(160deg,#0f2236,#0a1624)!important;border:1px solid #274560}
.tgt-coords .tc-l{display:flex;align-items:center;gap:8px;min-width:0;font-size:18px}.tgt-coords .tc-l>span{display:flex;flex-direction:column;line-height:1.2}.tgt-coords .tc-l small{font-size:10px;color:#8fb0c8;letter-spacing:.06em;text-transform:uppercase}.tgt-coords .tc-l b{font-size:15px;color:#e8f4ff;white-space:nowrap}
.tgt-coords .tc-b{display:flex;gap:6px;flex:none}.tgt-coords .tc-b button{min-height:34px!important;padding:4px 10px!important;font-size:12px!important;border-radius:9px;white-space:nowrap}
.tgt-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}.tgt-acts button{min-height:42px;border-radius:11px;font-size:14px;font-weight:600;background:linear-gradient(#1f3a54,#152b40);border:1px solid #33607f;color:#e8f4ff}
.tgt-note{font-size:11.5px;line-height:1.4;opacity:.8}
@media(max-width:760px){.tgt-coords{flex-wrap:wrap}.tgt-coords .tc-b{width:100%}.tgt-coords .tc-b button{flex:1}.tgt-body .tag{font-size:12px;padding:4px 9px}}
/* ===== альянс: герб ===== */
@media(max-width:760px){
.a-ed{display:flex!important;flex-direction:column;gap:8px!important}
.a-ed-l{position:static!important;display:flex;align-items:center;gap:10px;padding:6px 8px;background:#0b1226f5;border-radius:10px;border:1px solid #26305e}
.a-ed-l canvas{width:58px!important;height:70px!important;flex:none}.a-ed-l .dim{font-size:12px;text-align:left!important}
.a-ed .opts{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(46px,1fr))!important;gap:6px!important}
.a-ed .opts button{padding:3px!important;min-height:0}.a-ed .opts canvas{width:100%!important;height:auto!important}
.a-ed .sw{display:flex!important;flex-wrap:wrap;gap:5px}.a-ed .sw i{width:26px!important;height:26px!important}
.a-ed .primary{position:sticky;bottom:0;z-index:3;min-height:46px;box-shadow:0 -10px 14px #0b1226}
.a-ed-r{padding-bottom:6px}
}
/* ===== подсказки/оповещения не лезут поверх окон и друг на друга (телефон) ===== */
@media(max-width:760px){
#poiHud{z-index:14!important;top:calc(var(--tb) + 8px)!important;max-width:calc(100vw - 100px)!important;font-size:12px!important;padding:6px 10px!important}
#poiHud *{font-size:12px!important}
#scoutHud{z-index:14!important;width:170px!important;font-size:11px!important;padding:7px!important;right:8px!important;bottom:178px!important}
}
@media(max-width:760px){body:has(#target.tp[style*="block"]) #chatFeed{display:none!important}}
/* audit fixes: overlaps with open panels */
@media(max-width:760px),(max-height:500px) and (orientation:landscape){
body.bp-open #ttResume,body.bp-open #poiHud,body.bp-open #scoutHud,body.bp-open #miniMap,body.bp-open #minimap{display:none!important}
body:has(#cityView.cv-compact) #poiHud{display:none!important}
}
body:has(.cwin.show) #ttResume,body:has(#techView[style*="block"]) #ttResume,body:has(#target[style*="block"]) #ttResume{display:none!important}
@media(max-width:760px),(max-height:500px) and (orientation:landscape){body:has(.cwin.show) #poiHud,body:has(.cwin.show) #scoutHud{display:none!important}}
@media(max-height:500px) and (orientation:landscape){
#poiHud{left:58px!important;transform:none!important;align-items:flex-start!important;max-width:calc(100vw - var(--detail) - 80px)!important;top:40px!important}
body #target.tp{left:58px!important;right:auto!important;width:min(300px,46vw)!important;bottom:48px!important;top:auto!important;max-height:calc(100vh - 100px)!important;overflow:auto!important}
}
@media(max-height:500px) and (orientation:landscape){
#poiHud{top:auto!important;bottom:50px!important}
body:has(#target[style*="block"]) #poiHud{display:none!important}
}
/* tablet: side panel must not run under commBar / dock */
@media(min-width:761px) and (max-width:1100px) and (min-height:600px){
body #side{top:100px!important;bottom:84px!important;z-index:12!important}
body #commBar{z-index:11!important}
}
@media(min-width:761px) and (max-width:1100px) and (min-height:600px){#chatWin{bottom:92px!important}}
@media(max-height:500px) and (orientation:landscape){
#chatWin{bottom:52px!important;left:58px!important;height:min(280px,calc(100vh - 100px))!important}
.sq-head,.sq-hd,#squadsWin header,#squadsView header{flex-wrap:wrap;gap:6px}
.sq-head button,.sq-hd button{padding:6px 8px;font-size:12px}
}
@media(max-width:760px){
#techView .tv-tree>div{zoom:.72}
#techView .tv-head{flex-wrap:wrap;gap:8px;padding:8px 10px}
#techView .tv-q{max-width:none;flex:1 1 100%;order:3}
#techView .tv-tabs button{padding:7px 12px}
}

#liteBox{position:fixed;left:8px;top:calc(env(safe-area-inset-top,0px) + 148px);z-index:60;display:flex;align-items:center;gap:2px;border-radius:12px;background:rgba(8,14,30,.78);border:1px solid rgba(120,170,255,.35);color:#cfe0ff;font:600 12px system-ui;user-select:none}
#liteBox .lb-main{display:flex;align-items:center;gap:6px;padding:5px 4px 5px 9px;cursor:pointer}
#liteBox input{width:16px;height:16px;accent-color:#5fa8ff;margin:0}
#liteBox .lb-fold{width:30px;height:30px;border:0;background:transparent;color:#9fc4ff;font-size:15px;cursor:pointer;border-radius:10px}
#liteBox.min{background:rgba(8,14,30,.55)}#liteBox.min .lb-main{display:none}#liteBox.min .lb-fold{width:34px;height:34px;opacity:.8}
@media(max-height:500px){#liteBox{top:calc(env(safe-area-inset-top,0px) + 56px)}}
body.lite *:not(.ag-sp):not(.hk-x){animation-iteration-count:1!important}

/* телефон 30.10: шапка не наезжает (ресурсы / щит / мощь), узкие экраны */
@media(max-width:420px){body #top .resbox .chip{padding:2px 1px!important;gap:1px!important}body #top .chip,body #top .chip b{font-size:10px!important}body #top .chip svg{width:10px!important;height:10px!important}}

/* Единый стиль полос прокрутки Star Kingdoms */
:root{--sb-track:rgba(8,14,32,.55);--sb-a:#4f7dff;--sb-b:#8a5cff;--sb-hi:#7fc4ff}
*{scrollbar-width:thin;scrollbar-color:#5b6fe8 rgba(8,14,32,.55)}
@supports selector(::-webkit-scrollbar){
  *{scrollbar-width:auto;scrollbar-color:auto}
  ::-webkit-scrollbar{width:10px;height:10px;background:transparent}
  ::-webkit-scrollbar-track{background:var(--sb-track);border-radius:10px;box-shadow:inset 0 0 0 1px rgba(120,150,255,.12)}
  ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--sb-a),var(--sb-b));border-radius:10px;border:2px solid transparent;background-clip:padding-box;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
  ::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--sb-hi),var(--sb-a));background-clip:padding-box}
  ::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,#ffd978,#ff9a4f);background-clip:padding-box}
  ::-webkit-scrollbar-corner{background:transparent}
  /* скрытые намеренно (ленты, карусели) остаются скрытыми */
  #top::-webkit-scrollbar,#econBar::-webkit-scrollbar,.bag-tabs::-webkit-scrollbar,.in-car::-webkit-scrollbar,#tabs::-webkit-scrollbar,#mapTools::-webkit-scrollbar,nav::-webkit-scrollbar,#top .resbox::-webkit-scrollbar{display:none}
}
@media(max-width:760px){::-webkit-scrollbar{width:6px;height:6px}}

/* Star Kingdoms — доводка под телефоны (вертикаль и горизонталь): окна «Отряды», редактор отряда и др. Подключается последним. */
@media(max-width:760px){
  html:root body:has(#fw.show) #ttResume,html:root body:has(#techView) #ttResume{display:none!important}
  #fw .fw-head{padding:6px 10px;gap:8px}
  #fw .fw-tools:empty{display:none}
  html:root #fw .fw-head .fw-tools{order:5;flex:1 1 100%!important;max-width:100%}
  html:root #fw .fw-head .fw-ttl{flex:1 1 auto;min-width:120px}
  #fw .fw-x{order:0;margin-left:auto}
  #fw .fw-ttl{flex:1;min-width:0}#fw .fw-ttl b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* редактор отряда: компактная нижняя панель */
  .sqe-c3{position:sticky;bottom:0;z-index:4;background:#09121fF2!important;border-top:1px solid #2a4a66!important;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px))!important}
  .sqe-c3 #sqePrev{display:none}
  .sqe-c3 .sqe-sum{gap:4px}
  .sqe-c3 .sqe-cap{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:1px 10px;padding:5px 8px;font-size:12px;white-space:nowrap}
  .sqe-c3 .sqe-cap .sq-bar{margin:2px 0 3px;height:5px}
  .sqe-c3 #sHint{min-height:0;font-size:11px}
  .sqe-c3 .row button{min-height:42px}
  .sqe-u{padding:6px 8px;gap:6px 8px;margin-bottom:5px}.sqe-u canvas{width:56px;height:30px}
  .sqe-cm{padding:6px 2px}
}
/* горизонталь на телефоне */
@media(max-height:500px) and (orientation:landscape){
  html:root body:has(#techView) #tabs,html:root body:has(#techView) #quickDock,html:root body:has(#techView) #commBar,html:root body:has(#fw.show) #tabs,html:root body:has(#fw.show) #quickDock,html:root body:has(#fw.show) #commBar,html:root body:has(#fw.show) #navMenu,html:root body:has(#fw.show) #mClose,html:root body:has(#fw.show) #ttResume{display:none!important}
  html:root #fw{bottom:0!important;padding-bottom:0!important}
  #fw .fw-head{padding:3px 10px;gap:8px;min-height:0}#fw .fw-tools:empty{display:none}html:root #fw .fw-head .fw-tools{order:1;flex:0 1 auto!important;margin-left:8px}html:root #fw .fw-head .fw-ttl{flex:0 0 auto;min-width:0}
  #fw .fw-ttl b{font-size:15px;white-space:nowrap}#fw .fw-ttl small{display:none}#fw .fw-ic{font-size:18px}
  #fw .fw-x{width:32px;height:32px;order:0;margin-left:auto}
  .sqe{display:grid!important;grid-template-columns:210px 1fr;grid-template-rows:minmax(0,1fr) auto}
  .sqe>section{overflow:auto!important;padding:8px 10px}
  .sqe-c3{grid-column:1/-1;border-top:1px solid #2a4a66!important;padding:5px 10px!important;overflow:visible!important}
  .sqe-c3 .sqe-sum{flex-direction:row;align-items:center;gap:10px}
  .sqe-c3 #sqePrev{display:none}
  .sqe-c3 .sqe-cap{flex:1;display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:1px 10px;padding:4px 8px;font-size:12px;white-space:nowrap}
  .sqe-c3 .sqe-cap .sq-bar{margin:2px 0;height:5px}
  .sqe-c3 #sHint{flex:1;min-height:0;font-size:11px}
  .sqe-c3 .row{flex:none;display:flex;gap:8px}.sqe-c3 .row button{min-height:38px;padding:4px 14px}
  .sqe-u{grid-template-columns:56px 1fr 60px 54px}.sqe-u input[type=range]{grid-column:auto;order:0}
}

/* окно настроек на сенсорных экранах: клавиатурных клавиш нет — оставляем только графику */
@media(pointer:coarse){#hkWin .hk-hint,#hkWin .hk-body,#hkWin .hk-reset{display:none!important}#hkWin .hk-foot{display:block}#hkWin .hk-lite{font-size:15px;padding:8px 4px;flex-wrap:wrap}#hkWin .hk-lite input{width:22px;height:22px}}
@media(max-height:500px) and (orientation:landscape){#techView .tv-head{padding-top:2px;padding-bottom:2px}#techView{padding-bottom:0!important}}

@media(max-width:760px){html:root body .sq-fm{width:100%;height:120px;order:3}}

/* клавиатура: окно с полем ввода поднимается над ней */
@media(max-width:760px){html.kb-on:root body .cwin:focus-within,html.kb-on:root body #chatWin:focus-within{bottom:calc(var(--kb,0px) + 6px)!important;top:max(8px,env(safe-area-inset-top))!important;height:auto!important;max-height:none!important}html.kb-on #quickDock,html.kb-on #tabs,html.kb-on #commBar{display:none!important}}

.sq-real{margin:8px 0;padding:8px 10px;border-radius:10px;background:#0e2233;border:1px solid #2b5878;color:#cfe6ff;font-size:13px;line-height:1.4}.sq-real.warn{background:#2a1418;border-color:#a8404f;color:#ffd2d8}

/* Общая оболочка событий, заданий и бонусов. Карта остаётся доступной вокруг компактных кнопок. */
body #hudRow>button{width:52px!important;height:52px!important;border-radius:50%!important;border:1px solid #597c93!important;background:radial-gradient(circle at 35% 25%,#25485c,#0b1c2c 75%)!important;color:#d9edf5!important;animation:none!important}
body #hudRow>button .hl{font-size:9px;color:#d5e4ec}body #hudRow>button .hi{font-size:20px}
body #hudRow>button.has{border-color:#cdb279!important}body #hudRow>button .qn{right:-3px;top:-4px;font-size:8px;min-width:15px}
body #commBar>button,body #commBar .cbtn{border-radius:50%!important}
body #questWin .qw,body #retWin{background:#0b1828;border:1px solid #47657c;box-shadow:0 24px 80px #0009;border-radius:18px;color:#e3edf5}
body #questWin .qw:has(.etabs){display:grid;grid-template-columns:136px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);width:min(940px,calc(100vw - 32px));height:min(740px,calc(100dvh - 32px));max-height:calc(100dvh - 32px)}
body #questWin .qw>.qh{grid-column:1/-1;padding:16px 20px;border-bottom:1px solid #294154}
body #questWin .qw>.etabs{grid-column:1;grid-row:2;order:0;flex-direction:column;overflow:auto;padding:10px;gap:7px;margin:0;border:0;border-right:1px solid #294154;background:#081421;min-height:0}
body #questWin .etabs button{flex:0 0 auto;min-height:58px;width:100%;white-space:normal;animation:none;box-shadow:none;border:1px solid transparent;background:transparent;color:#9eb9ca;border-radius:10px}
body #questWin .etabs button.on{background:#1c394e;border-color:#547d96;color:#fff}body #questWin .etabs button.new{background:#142838;border-color:#52616a;animation:none;box-shadow:none}
body #questWin .qw>.evp{grid-column:2;grid-row:2;min-width:0;min-height:0;padding:18px;overflow:auto;overscroll-behavior:contain}
body #questWin .wk,body #questWin .qi,body #retWin .rt-card{background:#112437;border:1px solid #2e4b61;border-radius:12px;box-shadow:none;animation:none}
body #questWin .wk.me,body #retWin .rt-card.hot{border-color:#b49d6b}body #retWin .rt-card.hot:after{display:none}
body #questWin button,body #retWin button{touch-action:manipulation}body #questWin .wspin,body #retWin .rt-go.ready{background:#cfb477;color:#10202b;border:1px solid #e9d4a5;animation:none;box-shadow:none}
body #questWin .qx,body #retWin .x{border-radius:50%;background:#162b3c;border:1px solid #47657c;color:#e4eff7;width:36px;height:36px;flex-shrink:0}
.fortune{position:relative;width:min(100%,370px);align-self:center}.fortune canvas{display:block;width:100%;height:auto;aspect-ratio:1}.fortune-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;font-size:12px}.fortune-list>span{padding:7px;background:#102436;border-radius:7px}.fortune-result{text-align:center;padding:16px;background:#243a38;border:1px solid #cbb17b;border-radius:12px;font-size:18px;animation:fortune-reveal .5s ease-out}.fortune-result:empty{display:none}@keyframes fortune-reveal{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
body #retWin{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(940px,calc(100vw - 32px));height:min(740px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);z-index:65;overflow:hidden}
body #retWin>header{padding:16px 20px;border-bottom:1px solid #294154;gap:12px;flex-shrink:0}body #retWin .cbody{display:grid;grid-template-columns:136px minmax(0,1fr);padding:0;gap:0;overflow:hidden}
body #retWin .rt-tabs{flex-direction:column;padding:10px;background:#081421;border-right:1px solid #294154;overflow:auto}body #retWin .rt-tabs button{flex:0 0 auto;min-height:52px;border-radius:10px;border:1px solid transparent;background:transparent;color:#a9c0d0}body #retWin .rt-tabs button.on{background:#1c394e;border-color:#547d96;color:#fff}
.rt-content{overflow:auto;min-width:0;min-height:0;padding:18px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}body #retWin .rt-card{padding:16px;gap:12px}body #retWin .rt-h small{font-size:12px;color:#a5bdcd}body #retWin .rt-go{min-height:40px}body #retWin .rt-new{flex-wrap:wrap}body #retWin select{max-width:100%;min-width:0}
@media(max-width:760px){body #questWin .qw:has(.etabs){width:calc(100vw - 12px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);grid-template-columns:76px minmax(0,1fr)}body #questWin{align-items:center}body #questWin .qw>.etabs{padding:6px 4px}body #questWin .qw>.evp{padding:10px}body #questWin .etabs button{min-height:56px}body #questWin .etabs .tl{font-size:10px}body #questWin .qh h3{font-size:16px}body #retWin{width:calc(100vw - 12px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}body #retWin .cbody{grid-template-columns:76px minmax(0,1fr)}body #retWin .rt-tabs{padding:6px 4px}body #retWin .rt-tabs button{font-size:11px}.rt-content{padding:10px}body #retWin .rt-card{padding:10px}.fortune-list{grid-template-columns:1fr}body #hudRow>button{width:46px!important;height:46px!important}body #hudRow{gap:6px!important}body #commBar{max-width:calc(100vw - 176px)} }
@media(prefers-reduced-motion:reduce){.fortune-result{animation:none}body #retWin *{animation:none!important;transition:none!important}}

body #retWin{font:14px system-ui}body #retWin>header{background:#0c1c2c}body #retWin select{background:#0b1b2a;color:#dfebf2;border:1px solid #46657b;border-radius:8px;padding:8px}body #retWin .rt-hv{flex-wrap:wrap}
:root body #hudRow{left:84px!important;gap:8px!important}:root body #commBar,:root body.map-expanded #commBar{left:272px!important;right:auto!important}
@media(max-width:760px){:root body #hudRow{left:8px!important;gap:6px!important}:root body #commBar,:root body.map-expanded #commBar{left:172px!important;right:8px!important;max-width:calc(100vw - 180px);height:46px!important}body #retWin .rt-hv{align-items:flex-start;gap:8px}body #retWin .rt-hv-r{flex-wrap:wrap}}
