/* 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}
