:root {color-scheme:dark; --bg:#070e1b;--panel:#0d1929ec;--panel2:#122239;--border:#30445c;--text:#ecf5ff;--muted:#a8bdd0;--gold:#ffc55d;--green:#4ce2a6;--blue:#52bdff;--red:#ff6e72;--violet:#cb92ff;--shadow:0 18px 52px #02060f8c;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:#070b14;color:var(--text)}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.47;filter:saturate(.3)}button:focus-visible{outline:3px solid #9ad7ff;outline-offset:3px}#app{min-height:100vh;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 20% 55%,#17447288,transparent 39%),radial-gradient(ellipse at 90% 0,#543c648a,transparent 38%),#070e1b;transition:background 1.5s}#app:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(1px 1px at 14% 17%,#ffdeb9 99%,transparent),radial-gradient(2px 2px at 68% 13%,#fff 99%,transparent),radial-gradient(1px 1px at 81% 50%,#91d6ff 99%,transparent),radial-gradient(2px 2px at 43% 75%,#ffe5bc 99%,transparent),radial-gradient(1px 1px at 24% 86%,#fff 99%,transparent);background-size:315px 247px;opacity:.4;pointer-events:none}.sector-1{background:radial-gradient(ellipse at 20% 55%,#4a734a88,transparent 44%),radial-gradient(ellipse at 90% 10%,#3d745488,transparent 48%),#091a20!important}.sector-2{background:radial-gradient(ellipse at 25% 65%,#7c4c1680,transparent 40%),radial-gradient(ellipse at 90% 0,#584e2280,transparent 50%),#0d1420!important}.sector-3{background:radial-gradient(ellipse at 25% 55%,#9d203f7a,transparent 45%),radial-gradient(ellipse at 90% 5%,#6f263a98,transparent 55%),#1a0d1b!important}.sector-4{background:radial-gradient(ellipse at 25% 55%,#674090aa,transparent 45%),radial-gradient(ellipse at 90% 5%,#85522790,transparent 50%),#120d20!important}
.header{display:flex;align-items:center;gap:18px;min-height:96px;padding:15px clamp(16px,3vw,44px);border-bottom:1px solid #6680a336;background:#051021ad;backdrop-filter:blur(15px)}.identity{display:flex;align-items:center;gap:11px;min-width:250px}.identity-icon{font-size:35px}.identity h1{font-size:25px;letter-spacing:.06em;margin:0;line-height:1.05;color:#eaf7ff;text-shadow:0 0 24px #399eff66}.identity h1 span{color:#ffbd63}.identity small{display:block;letter-spacing:.09em;margin-top:7px;font-size:9px;color:#afcae5}.nav{flex:1;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.nav-btn,.settings{background:#152139cc;color:#c6d9eb;border:1px solid #304564;border-radius:11px;padding:12px 13px;font-weight:700;font-size:13px;transition:.2s}.nav-btn:hover,.settings:hover{border-color:#76bdff;transform:translateY(-1px)}.nav-btn.selected{color:#fff7de;border-color:#efb45c;background:linear-gradient(#44371f,#201f28);box-shadow:inset 0 0 19px #efb45c26,0 0 12px #d39a4326}.settings{font-size:20px;padding:8px 14px}.resource-bar{display:grid;grid-template-columns:repeat(5,minmax(112px,1fr));gap:11px;max-width:1460px;margin:12px auto 5px;padding:0 22px}.resource{display:flex;align-items:center;gap:11px;background:#0b1829e6;border:1px solid #37506f;border-radius:12px;padding:10px 12px;min-width:0}.res-icon{font-size:26px}.res-name{color:#d1e0ee;font-size:11px;white-space:nowrap}.res-num{font-weight:850;font-size:20px;font-variant-numeric:tabular-nums}.res-rate{font-size:11px;color:var(--green)}
.dashboard{display:grid;grid-template-columns:minmax(300px,1.12fr) minmax(340px,1.04fr) minmax(280px,.82fr);gap:14px;padding:12px clamp(12px,2vw,32px) 18px;max-width:1790px;margin:auto}.hero-panel,.work-panel,.side-panel{min-width:0}.hero-panel{display:flex;flex-direction:column;gap:14px}.hero-top{display:flex;justify-content:space-between;align-items:center;padding:10px 7px 0}.eyebrow{font-size:10px;font-weight:750;color:#93b9e9;letter-spacing:.15em}.hero-top h2,.work-heading h2{font-size:21px;margin:7px 0 8px}.ship-chip,.badge-chip{border-radius:7px;border:1px solid #4483b4;background:#0a2c49;color:#91d8ff;padding:5px 10px;font-size:12px}.badge-chip{color:#f4d9a4;border-color:#83683c;background:#302517;text-align:center}.sky{height:355px;min-height:300px;position:relative;border:1px solid #4467896d;border-radius:20px;overflow:hidden;background:radial-gradient(circle at 35% 88%,#3378a366,transparent 51%),linear-gradient(140deg,#08112488,#0209162e),radial-gradient(circle at 83% 23%,#8b72a252,transparent 36%);box-shadow:var(--shadow)}.planet{position:absolute;width:420px;height:420px;left:-165px;bottom:-338px;border-radius:50%;background:radial-gradient(circle at 70% 0,#addeb4,#468ea0 22%,#153956 60%,#070e1b 78%);box-shadow:0 -15px 90px #56adca70;opacity:.85}.sector-1 .planet{background:radial-gradient(circle at 70% 0,#e0eeb7,#6d9e4f 35%,#1d5b36 65%,#071b19 80%)}.sector-2 .planet{background:radial-gradient(circle at 70% 0,#ffedaf,#edb35a 29%,#805c27 65%,#302713 80%)}.sector-3 .planet{background:radial-gradient(circle at 70% 0,#ffa58b,#d83b55 30%,#812440 64%,#290f22 80%)}.sector-4 .planet{background:radial-gradient(circle at 70% 0,#ffdcab,#ad78de 30%,#4e337e 64%,#190e30 80%)}.orbit{position:absolute;border:1px solid #e9c79e30;transform:rotate(-17deg);border-radius:50%;width:140%;height:220px;top:35%;left:-20%;pointer-events:none}.orbit-two{transform:rotate(26deg);border-color:#bdd8ff18;height:270px;top:25%}.crumb{position:absolute;font-size:21px;color:#ffd39a;filter:drop-shadow(0 0 12px #ffb04988);animation:float 5s ease-in-out infinite}.c1{top:18%;left:12%}.c2{top:54%;right:13%;animation-delay:1s}.c3{bottom:25%;left:17%;animation-delay:2s}.c4{top:27%;right:29%;animation-delay:3s}.sandwich-art{position:absolute;inset:1% 0 8%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 20px 24px #01040b90);animation:float 4.5s ease-in-out infinite}.sandwich-art svg{width:98%;height:100%;overflow:visible}.floating-label{position:absolute;bottom:17px;right:16px;max-width:260px;text-align:right;font-size:11px;color:#d8e6f5;background:#071226b9;border:1px solid #365773;border-radius:9px;padding:8px 10px}.hero-actions{display:flex;gap:9px}.primary,.secondary,.danger{border-radius:10px;padding:12px 14px;border:1px solid #2f77a8;color:#eaf7ff;background:linear-gradient(180deg,#164b88,#0a2748);font-weight:800;transition:.18s}.primary{background:linear-gradient(180deg,#1888ca,#104b8e);border-color:#49aff9;box-shadow:inset 0 2px 8px #9fe8ff36,0 6px 18px #0070b625}.primary:hover:not(:disabled),.secondary:hover:not(:disabled){filter:brightness(1.15)}.hero-actions .primary{flex:1}.secondary{background:#162a43}.danger{background:#54222a;border-color:#bd626b}.live-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat-chip{background:#0b1b2bcf;border:1px solid #304c68;border-radius:11px;padding:11px 8px;text-align:center}.stat-chip b{display:block;font-size:20px;color:#ffda99}.stat-chip small{font-size:10px;color:#bad0de}.helper{display:flex;gap:12px;align-items:center;background:#071426da;border:1px solid #38506a;border-radius:14px;padding:12px}.robot{font-size:39px}.helper b{font-size:12px;color:#b7d9f8}.helper p{font-size:12px;color:#d4e5f0;margin:5px 0 0;line-height:1.5}
.work-panel{border:1px solid #3a506d;border-radius:17px;background:#0a1729e9;box-shadow:var(--shadow);overflow:hidden;min-height:660px}.work-heading{padding:18px 18px 13px;border-bottom:1px solid #31455c}.work-heading p{font-size:12px;color:#a9c0d3;line-height:1.5;margin:0}.panel-content{padding:14px 13px;max-height:670px;overflow:auto;scrollbar-color:#4a6485 transparent}.category-title{display:flex;gap:8px;align-items:center;justify-content:space-between;font-weight:850;font-size:14px;color:#d7ecff;margin:17px 4px 8px}.category-title:first-child{margin-top:2px}.category-title small{font-size:10px;color:#92b8d0}.item-card{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:9px;background:linear-gradient(135deg,#15283f,#0d1a2b);border:1px solid #3a4d65;border-radius:12px;padding:10px;margin:8px 0;min-width:0}.item-card.equipped{border-color:#c79c4b;box-shadow:inset 0 0 0 1px #e6a85125}.item-icon{width:48px;height:49px;border-radius:10px;display:grid;place-items:center;font-size:30px;background:#293b4c;border:1px solid #647080;box-shadow:inset 0 0 12px #0007}.item-desc{min-width:0}.item-desc b{display:block;font-size:13px;line-height:1.35}.item-desc p{margin:4px 0 3px;color:#a8c4d9;font-size:11px;line-height:1.45}.item-desc small{color:#b3dcf7;font-size:11px}.item-controls{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:101px}.equip-row{display:flex;align-items:center;justify-content:center;gap:7px}.mini-btn{border-radius:7px;border:1px solid #4c7395;background:#1b3450;color:white;font-size:16px;font-weight:800;padding:3px 9px;line-height:1.5}.mini-btn:hover:not(:disabled){background:#3273aa}.owned{color:#ffdb8b;font-variant-numeric:tabular-nums;font-weight:800;min-width:37px;text-align:center;font-size:12px}.buy-btn{border:1px solid #4dce9b;background:linear-gradient(#177e65,#0d5547);color:#fff;border-radius:8px;font-weight:750;font-size:11px;padding:8px 6px}.buy-btn:hover:not(:disabled){background:#159877}.buy-btn small{display:block;font-size:10px;color:#bcffe6}.bread-card{grid-template-columns:52px 1fr auto}.select-btn{min-width:112px}.muted{color:var(--muted)}.note-panel{border:1px solid #46638b;border-radius:12px;background:#14233d9c;padding:12px;color:#c5d9eb;font-size:12px;line-height:1.6;margin:10px 0}.progress{height:10px;border-radius:99px;overflow:hidden;background:#263851;border:1px solid #394f68;margin:8px 0}.progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#32bd9c,#8af0a3);transition:width .25s}.pill{display:inline-flex;align-items:center;gap:4px;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:800;background:#23445a;color:#a2d7ff}.pill.warm{background:#61411d;color:#ffce82}.pill.success{background:#145342;color:#87f2bf}.pill.bad{background:#602c36;color:#ffadb5}.score-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;margin:8px 0}.score-row strong{color:#f2d2a1}.soft-divider{border:0;border-top:1px solid #354761;margin:14px 0}.sector-card,.mission-card,.side-foot{border:1px solid #405775;border-radius:16px;background:#091526ea;padding:14px;margin-bottom:13px;box-shadow:var(--shadow)}.sector-picture{height:151px;border-radius:12px;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 40%,#86b6ff55,transparent 34%),linear-gradient(120deg,#1f4368,#0d172d);border:1px solid #5c7c9680;margin:12px 0}.sector-picture::before{content:"";position:absolute;border-radius:50%;width:170px;height:170px;left:55%;top:5%;background:radial-gradient(circle at 30% 30%,var(--sector-light,#b4d0ee),var(--sector-dark,#274e81) 60%,#0b1a2d);box-shadow:0 0 60px var(--sector-light,#7899c4)}.sector-picture::after{content:"✦  ✧    ✶";position:absolute;left:10%;top:22%;font-size:36px;letter-spacing:17px;color:#fbdca7aa;transform:rotate(-15deg)}.sector-picture .picture-label{position:absolute;z-index:1;bottom:12px;left:12px;font-weight:900;font-size:22px;color:#fff;text-shadow:0 3px 10px #000}.panel-label{font-size:13px;font-weight:850;display:flex;align-items:center;justify-content:space-between;gap:10px}.sector-card p,.mission-card p{color:#b3cadc;line-height:1.55;font-size:12px;margin:10px 0}.sector-card h3{margin:8px 0;font-size:21px}.side-action{width:100%;margin-top:8px}.side-foot{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#a8bdcf}.side-foot b{color:#d9eafb}.plain-link{background:transparent;color:#84cbff;text-align:left;padding:0;border:0;font-size:12px;text-decoration:underline}.footer{display:flex;gap:16px;justify-content:space-between;padding:7px 24px 20px;color:#748ca4;font-size:10px;letter-spacing:.06em}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:12px 0}.metric{padding:12px;background:#102238;border-radius:11px;border:1px solid #304c65}.metric b{font-size:19px;color:#ffda8c}.metric label{display:block;font-size:11px;color:#b4c9dc;margin-bottom:5px}.combo{padding:12px;border:1px solid #766044;border-radius:11px;background:linear-gradient(100deg,#382a1d,#172337);margin:9px 0}.combo h4{margin:0 0 6px;color:#ffdf94}.combo p{margin:0;color:#d1cbbe;font-size:12px;line-height:1.5}.combo.off{border-color:#375069;background:#112137}.planet-picker{display:flex;gap:9px;align-items:center;justify-content:space-between;background:#101f33;border:1px solid #334d69;padding:11px;border-radius:10px;margin:9px 0}.planet-picker b{font-size:13px}.planet-picker p{font-size:11px;color:#aac3d6;margin:5px 0}.planet-picker button{min-width:90px}.big-banner{padding:17px;background:linear-gradient(110deg,#2a263b,#121e33);border:1px solid #6e5c9a;border-radius:12px;margin:10px 0}.big-banner h3{margin:0 0 7px;color:#efceff}.big-banner p{font-size:12px;color:#d5c7ea;line-height:1.6}.big-banner button{width:100%;margin-top:10px}.report{margin:12px 0;border-left:3px solid #5be0ad;padding:10px;background:#0f352f99;border-radius:0 9px 9px 0;line-height:1.65;font-size:12px}.action-inline{display:flex;flex-wrap:wrap;gap:7px}.tag{font-size:10px;background:#24405b;color:#a8d4fa;border-radius:6px;padding:3px 5px;margin:4px 5px 0 0;display:inline-block}.toast{position:fixed;z-index:15;left:50%;bottom:22px;transform:translate(-50%,130px);max-width:min(600px,90vw);background:#1b3546;border:1px solid #70d7aa;box-shadow:0 16px 35px #000b;padding:13px 22px;border-radius:11px;color:white;transition:.25s;pointer-events:none;font-size:13px;text-align:center}.toast.show{transform:translate(-50%,0)}dialog{border:1px solid #6382a6;border-radius:20px;background:#101d30;color:#fff;max-width:550px;width:calc(100% - 25px);box-shadow:0 0 0 4000px #050b14ad,0 20px 70px #000e;padding:24px}dialog::backdrop{background:#0009}.dialog-header{display:flex;align-items:center;justify-content:space-between}.dialog-header h2{font-size:19px}.close{background:transparent;border:0;color:white;font-size:19px}.dialog-buttons{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.dialog-buttons button{flex:1;min-width:180px}.minor{font-size:11px;color:#a9bfd1;line-height:1.7}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@media(max-width:1320px){.header{flex-wrap:wrap}.identity{min-width:245px}.nav{justify-content:flex-end}.dashboard{grid-template-columns:minmax(280px,.95fr) minmax(360px,1.05fr)}.side-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.side-panel>div{margin:0}.resource-bar{grid-template-columns:repeat(5,1fr)}.sky{height:380px}}@media(max-width:860px){.header{justify-content:center}.identity{min-width:0}.nav{justify-content:center;order:3;width:100%}.nav-btn{font-size:11px;padding:10px 8px}.resource-bar{grid-template-columns:repeat(3,1fr)}.dashboard{grid-template-columns:1fr}.side-panel{grid-column:auto;grid-template-columns:1fr 1fr}.side-foot{grid-column:1/-1}.work-panel{min-height:0}.panel-content{max-height:none}}@media(max-width:550px){.resource-bar{grid-template-columns:repeat(2,1fr);padding:0 11px}.header{padding:13px}.identity h1{font-size:21px}.sky{height:300px}.hero-top h2{font-size:18px}.side-panel{display:block}.side-panel>div{margin-bottom:12px}.stat-grid{grid-template-columns:1fr 1fr}.item-card{grid-template-columns:45px minmax(0,1fr) auto;gap:7px}.item-icon{width:44px;height:44px}.item-controls{grid-column:auto;width:auto;display:flex;flex-direction:column;align-items:stretch;min-width:108px}.equip-row{gap:5px}.mini-btn{padding:3px 8px}.buy-btn{padding:7px 6px;font-size:10px}.hero-actions .primary{font-size:12px}.hero-actions .secondary{font-size:12px}.footer{flex-direction:column}}

/* ====================== КОСМОБУТЕР: ART & UX v0.2 ====================== */
.sky{background:#071426;isolation:isolate;box-shadow:inset 0 0 60px #0004,0 18px 46px #0007}
.sky::before{content:"";position:absolute;inset:-3%;z-index:-2;background-image:linear-gradient(90deg,#0a15214d,#0a14281a),var(--current-sky);background-size:cover;background-position:center;animation:space-drift 32s ease-in-out infinite alternate;opacity:.96}
.sky::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,#040d20aa,transparent 26%,#040d2011 76%,#050e2090)}
.sky .planet{display:none}
.sky .orbit{opacity:.18;pointer-events:none}
.sky .crumb{opacity:.7;text-shadow:0 0 15px #ffe5a9}
.sandwich-art{z-index:3;filter:drop-shadow(0 17px 25px #0009) drop-shadow(0 0 14px #ffca6740)}
.thruster-flame{transform-box:fill-box;transform-origin:right center;animation:engine-pulse .19s ease-in-out infinite alternate}
.floating-label{z-index:5;max-width:270px;backdrop-filter:blur(7px);box-shadow:0 5px 15px #010a1880}
.sky-burst{position:absolute;inset:0;pointer-events:none;z-index:8;overflow:hidden}
.loot-pop{position:absolute;color:#ffe6a9;font-size:22px;font-weight:950;text-shadow:0 3px 10px #000,0 0 17px #ffc54b;transform:translate(-50%,-50%);animation:crumb-float 1.04s cubic-bezier(.12,.7,.22,1) forwards;white-space:nowrap}
.resource{background:linear-gradient(125deg,#0e2437ef,#0c192aea);border:1px solid #3a597b;box-shadow:inset 0 1px 0 #b6deff16,0 7px 18px #01081555;transition:border-color .2s}
.resource:nth-child(1){border-left:3px solid #ffc267}.resource:nth-child(2){border-left:3px solid #ffda58}.resource:nth-child(3){border-left:3px solid #6fc8ed}.resource:nth-child(4){border-left:3px solid #67a8ff}.resource:nth-child(5){border-left:3px solid #ce9fff}
.res-num{font-weight:900;letter-spacing:-.025em}
.nav-btn,.buy-btn,.primary,.secondary{transition:transform .15s,box-shadow .16s,border-color .16s,filter .16s}
.nav-btn:hover:not(:disabled),.buy-btn:hover:not(:disabled),.primary:hover:not(:disabled),.secondary:hover:not(:disabled){transform:translateY(-2px)}
button:active:not(:disabled){transform:translateY(1px) scale(.986)}
.item-card{box-shadow:inset 0 1px 0 #ffffff10;transition:border-color .2s,background .2s}
.item-card:hover{border-color:#6087a9;background:linear-gradient(135deg,#192f4c,#0f1d32)}
.work-panel{box-shadow:inset 0 1px 0 #ffffff12,0 17px 55px #0006}
.sector-picture{background-size:cover;background-position:64% 52%;border:1px solid #82a6c17d;box-shadow:inset 0 -30px 34px #08182f88}
.sector-picture::before,.sector-picture::after{display:none}
.picture-label{text-shadow:0 3px 12px #000,0 0 19px #071124!important;font-size:18px!important;letter-spacing:.02em}
.preset-panel{padding:9px 12px 14px;background:linear-gradient(105deg,#172b42c9,#0b2139bf);border:1px solid #416385;border-radius:14px;margin-bottom:14px;box-shadow:inset 0 1px 0 #ffffff11}
.preset-panel .category-title{margin:5px 2px 13px}
.preset-row{display:grid;grid-template-columns:minmax(105px,1fr) auto auto;align-items:center;gap:7px;padding:8px 6px;border-radius:9px;border:1px solid #314967;margin:6px 0;background:#0a1b30a6}
.preset-row.active{border-color:#a7833d;background:#292d38b8}
.preset-row>div{min-width:0}.preset-row b{font-size:12px;display:block}.preset-row small{display:block;font-size:10px;color:#91b1c9;margin-top:3px}
.preset-row .slim{font-size:11px;white-space:nowrap;padding:8px 9px}
.auto-recipe-btn{width:100%;padding:11px;margin-top:9px;border:1px solid #799df0;background:linear-gradient(135deg,#324777,#182d55);color:#e6f6ff;font-weight:800;border-radius:10px;box-shadow:inset 0 1px 0 #ffffff2b}
.auto-recipe-btn:hover{filter:brightness(1.15)}
.affinity-details{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 10px}
.affinity-pill{font-size:11px;padding:5px 8px;background:#4d2a2a;border:1px solid #8a4754;color:#ffc7c4;border-radius:9px}
.affinity-pill.met{background:#133b34;border-color:#408f78;color:#a5f1cd}
.achievement-summary{padding:17px;border:1px solid #8b7455;border-radius:12px;background:linear-gradient(125deg,#31271b,#102437);margin-bottom:12px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px}
.achievement-summary b{color:#ffe1a7}.achievement-summary span{color:#9ae6c8}
.achievement-card{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:10px;padding:12px;margin-bottom:9px;border-radius:12px;background:#0d2033;border:1px solid #3d566b;opacity:.85}
.achievement-card.done{background:linear-gradient(115deg,#27331e,#162b32);border-color:#7da94d;opacity:1}
.achievement-icon{font-size:30px;text-align:center}.achievement-card b{font-size:13px}.achievement-card p{margin:4px 0;color:#c3d0dd;font-size:12px}.achievement-card small{color:#b9dcba;font-size:11px}.achievement-card strong{font-size:10px;color:#92b4c5;text-align:right;white-space:nowrap}.achievement-card.done strong{color:#c9e795}
@keyframes engine-pulse{from{transform:scaleX(.88)}to{transform:scaleX(1.14)}}
@keyframes space-drift{from{transform:scale(1.03) translate(-1.2%,0)}to{transform:scale(1.06) translate(1.2%,-1.1%)}}
@keyframes crumb-float{0%{opacity:0;transform:translate(-50%,-20%) scale(.62)}16%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-175%) scale(1.15)}}
@media(max-width:550px){.preset-row{grid-template-columns:1fr auto auto}.preset-row .slim{font-size:10px;padding:8px 6px}.achievement-card{grid-template-columns:36px 1fr}.achievement-card strong{grid-column:2;text-align:left}.res-num{font-size:18px}}
@media(prefers-reduced-motion:reduce){.sky::before,.thruster-flame,.sandwich-art,.loot-pop{animation:none!important}.nav-btn,.buy-btn,.primary,.secondary{transition:none!important}}
/* folded preset toolbox: ingredients remain immediately discoverable */
.preset-panel{padding:10px;margin-bottom:10px}
.preset-panel .preset-details>summary{font-size:12px;cursor:pointer;font-weight:800;color:#cfe5fa;list-style-position:inside;padding:4px 0 10px}
.preset-panel .preset-details[open]>summary{color:#ffdb95}
.preset-panel .preset-details .category-title{display:none}
.preset-panel .auto-recipe-btn{margin-top:0}
.preset-panel .preset-details[open] + .auto-recipe-btn{margin-top:10px}
.planet-preview{width:75px;height:64px;object-fit:cover;border:1px solid #4f7f9d;border-radius:10px;flex:none}
.big-banner{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#261c35,#102639)}
.big-banner::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#25173573 0%,#122039e8 69%),url('assets/panels/ascension.webp');background-size:cover;background-position:left center;opacity:.56}

/* ===== v0.3 · Живой космос / понятная кладовая ===== */
.dashboard{max-width:1920px;grid-template-columns:minmax(365px,1.2fr) minmax(380px,1.03fr) minmax(285px,.77fr)}
.sky{height:470px;min-height:380px;border:1px solid #699ac88c;box-shadow:0 0 0 1px #e6d7a316,0 16px 50px #0009;}
.sky::before{animation:space-drift 45s ease-in-out infinite alternate;filter:saturate(1.09)}
.sky::after{background:linear-gradient(0deg,#040d20bd,transparent 20%,#040d2005 77%,#050e206a)}
.starfield{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.sky-hud{position:absolute;z-index:7;top:13px;left:13px;display:flex;align-items:center;gap:8px;background:#08172bdc;border:1px solid #6a97b6;padding:8px 11px;border-radius:9px;box-shadow:0 3px 14px #03090f99;color:#bce8ff;font-size:10px;font-weight:800;letter-spacing:.04em;max-width:calc(100% - 26px)}
.live-dot{width:7px;height:7px;background:#72f5c0;border-radius:50%;box-shadow:0 0 10px #62e5b5;flex:none;animation:radar-pulse 1.9s ease-in-out infinite}
.flyby-layer{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}
.flyby{position:absolute;left:-100px;top:40%;border:0;background:none;color:#fff;padding:0;cursor:pointer;pointer-events:auto;display:flex;align-items:center;gap:6px;filter:drop-shadow(0 2px 8px #000b);animation:flyby-cross linear 1 both;will-change:transform;min-width:80px;height:74px}
.flyby.reverse{left:calc(100% + 22px);animation-name:flyby-cross-reverse;flex-direction:row-reverse}
.flyby svg{width:66px;height:66px;position:relative;z-index:2;filter:drop-shadow(0 0 12px var(--fly-color));flex:none}
.flyby-glow{position:absolute;width:68px;height:68px;border-radius:50%;background:radial-gradient(circle,var(--fly-color),transparent 69%);filter:blur(12px);opacity:.65}
.flyby-name{display:block;padding:6px 9px;border-radius:8px;background:#05152bec;border:1px solid var(--fly-color);box-shadow:0 0 16px #061a3499;color:white;white-space:nowrap;text-align:center;font-size:10px;font-weight:850;line-height:1.3;max-width:145px}
.flyby-name small{display:block;color:var(--fly-color);font-size:9px;letter-spacing:.1em;margin-top:2px}
.flyby:hover svg,.flyby:focus-visible svg{filter:drop-shadow(0 0 20px var(--fly-color)) brightness(1.35)}
.flyby.caught{animation:flyby-caught .36s ease-out forwards!important;pointer-events:none}
.sky .crumb{z-index:2;opacity:.76}
.floating-label{z-index:5;max-width:210px}
.sandwich-art{inset:4% -4% 7%;filter:drop-shadow(0 24px 22px #030713ca) drop-shadow(0 0 13px #ffca6747);z-index:3}
.sandwich-art svg{max-width:100%}
.panel-content{scrollbar-color:#9ac6e7 #132438;scrollbar-width:auto;scroll-behavior:smooth}
.panel-content::-webkit-scrollbar{width:12px}
.panel-content::-webkit-scrollbar-thumb{border-radius:99px;border:3px solid #162840;background:#87bde4}
.panel-content::-webkit-scrollbar-track{background:#152b45;border-radius:99px}
.catalog-intro{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 13px 13px;border:1px solid #59789b;border-radius:12px;background:linear-gradient(125deg,#203652,#112337);margin-bottom:12px}
.catalog-intro strong{font-size:14px;color:#ffdfa6}.catalog-intro p{font-size:11px;margin:6px 0 0;line-height:1.55;color:#c3d7eb}
.slot-count{font-weight:900;color:#ffd58b;font-size:22px;border-radius:11px;padding:8px 10px;background:#071624aa;border:1px solid #b28a4d;white-space:nowrap;text-align:center}
.slot-count small{display:block;font-size:9px;color:#b3cddd;font-weight:600}
.catalog-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0 12px}
.catalog-tab{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:10px 2px 8px;border:1px solid #4d6e91;background:linear-gradient(#16304d,#101e34);border-radius:10px;color:#dce9f9;font-size:11px;font-weight:800;line-height:1.25;transition:background .14s,border-color .14s;}
.catalog-tab:hover:not(:disabled){border-color:#b3dcff;background:#224565}
.catalog-tab.active{background:linear-gradient(150deg,#4a3b26,#2b2931);border-color:#ffca68;color:#ffe1ae;box-shadow:inset 0 0 0 1px #ffe29923,0 0 14px #dda5501b}
.catalog-icon{font-size:23px;line-height:1.15}.catalog-tab small{font-size:10px;color:#9bbbd1}.catalog-tab.active small{color:#ffe2a7}
.catalog-toolbar{display:flex;align-items:center;gap:8px;margin:8px 1px}
.catalog-search{display:flex;align-items:center;gap:6px;background:#09172b;border:1px solid #7094b7;border-radius:9px;padding:5px 10px;flex:1;min-width:0}
.catalog-search:focus-within{border-color:#ffce77;box-shadow:0 0 0 2px #ffd78c30}
.catalog-search input{color:white;background:none;border:0;outline:none;min-width:0;width:100%;font:inherit;font-size:12px;padding:7px 0}
.catalog-search input::placeholder{color:#859db6}
.catalog-count{font-size:10px;color:#b7cbe2;white-space:nowrap}
.scroll-hint{border:1px dashed #789cc0;background:#1a304bbd;border-radius:9px;padding:8px 10px;color:#ffd28c;font-size:11px;font-weight:750;margin:10px 0;animation:hint-pulse 3s ease-in-out infinite}
.catalog-empty{border:1px dashed #6c819d;padding:20px;text-align:center;border-radius:10px;color:#d7e0ee;font-size:12px}
.catalog-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#8aa9c0;border:1px solid #304b68;border-radius:9px;margin:12px 0;padding:9px}
.catalog-bottom button{padding:7px 9px;white-space:nowrap;font-size:10px}
.ingredient-card{position:relative}
.ingredient-card:has(.equip-row button:not(:disabled)) .owned-status{color:#b4e9c4}
#ingredientCatalog[hidden],#breadCatalog[hidden],.ingredient-card[hidden],.scroll-hint[hidden],.catalog-empty[hidden]{display:none!important}
.catalog-search input::-webkit-search-cancel-button{cursor:pointer}
@keyframes flyby-cross{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--travel),0,0)}}
@keyframes flyby-cross-reverse{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--travel-negative),0,0)}}
@keyframes flyby-caught{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}
@keyframes radar-pulse{50%{opacity:.4;box-shadow:0 0 2px #70e9ab}}
@keyframes hint-pulse{50%{border-color:#b5d7f2;background:#243e5a}}
@media(max-width:1320px){.dashboard{grid-template-columns:minmax(320px,1fr) minmax(360px,1.05fr)}.sky{height:455px}}
@media(max-width:860px){.dashboard{grid-template-columns:1fr}.sky{height:430px}.catalog-nav{grid-template-columns:repeat(7,minmax(0,1fr))}.panel-content{max-height:none}}
@media(max-width:610px){.sky{height:325px;min-height:300px}.catalog-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-intro{align-items:stretch}.catalog-intro p{font-size:10px}.sky-hud{font-size:9px}.flyby-name{display:none}.flyby{min-width:66px}.catalog-count{font-size:9px}.work-panel{min-height:0}}
@media(prefers-reduced-motion:reduce){.sky::before,.live-dot,.scroll-hint{animation:none!important}.sandwich-art{animation:none!important}.flyby{animation-duration:40s!important}}

.pickup-label{position:absolute;z-index:9;font-size:18px;max-width:90%;font-weight:900;color:#fff0ae;text-align:center;white-space:nowrap;text-shadow:0 2px 9px #000,0 0 18px #ffdd72;transform:translate(-50%,-50%);animation:pickup-label 1.4s ease-out both}
.pickup-spark{position:absolute;z-index:8;width:6px;height:6px;border-radius:50%;background:#ffeb9e;box-shadow:0 0 12px 3px #ffcc70;animation:pickup-spark .63s ease-out both}
@keyframes pickup-spark{from{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--sx)),calc(-50% + var(--sy))) scale(.3)}}
@keyframes pickup-label{0%{opacity:0;transform:translate(-50%,0) scale(.7)}15%{opacity:1;transform:translate(-50%,-40%) scale(1.06)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-170%) scale(.9)}}
@media(prefers-reduced-motion:reduce){.pickup-label,.pickup-spark{animation:none!important}}

/* ===== v0.4 · onboarding, lively B.O.T., distinct breads and persistent fleet ===== */
.tutorial-overlay[hidden]{display:none!important}
.tutorial-overlay{position:fixed;z-index:100;right:22px;bottom:20px;width:min(378px,calc(100vw - 32px));padding:18px 20px 16px;border:2px solid #ffd389;border-radius:17px;background:linear-gradient(145deg,#132946fa,#071626fc);box-shadow:0 12px 55px #000e,0 0 0 6px #ffd27c1b;color:#f0f6ff;pointer-events:auto}
.tutorial-overlay:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:15px;background:radial-gradient(ellipse at 100% 0%,#ffc46724,transparent 55%)}
.tutorial-head{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:900;letter-spacing:.07em;color:#ffce7b}
.tutorial-overlay h3{margin:14px 0 8px;color:#fff3d9;font-size:19px;line-height:1.2}
.tutorial-overlay p{font-size:13px;line-height:1.65;color:#d3e3f4;margin:0 0 14px}
.tutorial-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tutorial-skip{background:transparent;border:0;color:#b1bfd1;text-decoration:underline;cursor:pointer;font-size:11px;padding:8px}
.tutorial-focus{position:relative;z-index:9;outline:3px solid #ffd37a!important;outline-offset:3px;box-shadow:0 0 0 7px #ffd37a33,0 0 25px #ffd37a55!important;border-radius:8px}
.hero-panel.tutorial-focus{z-index:2}
.bot-joke{margin:8px 0 0;font-size:10px;font-weight:800;padding:5px 9px;background:#1f3b54;border:1px solid #6e9ab5;color:#d8ebfa;border-radius:8px;cursor:pointer}
.bot-joke:hover{background:#315675}
.fleet-totals{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.fleet-totals span{display:inline-flex;align-items:center;gap:5px;background:#071b31c2;border:1px solid #446585;border-radius:8px;padding:6px 9px;font-size:11px;color:#d1ebff;font-weight:800}
.fleet-intro .primary{width:100%}
.fleet-card{margin:12px 0 16px;padding:14px;background:linear-gradient(130deg,#182b42,#0b1b2e);border:1px solid #537a9c;border-radius:13px;box-shadow:inset 0 1px #ffffff13}
.fleet-head{display:flex;align-items:center;gap:12px}.fleet-head h3{margin:0 0 3px;font-size:16px}.fleet-head small{display:block;color:#a7bfd4;line-height:1.5}.fleet-head .pill{margin-left:auto;white-space:nowrap}
.fleet-symbol{font-size:31px;padding:8px;background:#273d56;border:1px solid #58738e;border-radius:12px}
.fleet-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fleet-selector label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#acc8de;font-weight:800}
.fleet-selector select{width:100%;min-width:0;padding:9px;border:1px solid #557898;border-radius:8px;background:#0b1c30;color:#e9f7ff;font:inherit;font-size:11px}
.fleet-train{margin-top:10px;width:100%;justify-content:center}
.fleet-formation{position:absolute;inset:0;z-index:4;pointer-events:none}
.fleet-escort{position:absolute;left:12%;top:32%;width:91px;filter:drop-shadow(0 4px 8px #000a) drop-shadow(0 0 10px #ffd88b5a);animation:fleet-hover 5s ease-in-out infinite alternate;transform:rotate(-7deg)}
.fleet-escort svg{width:100%;height:auto}.fleet-escort.escort-1{left:68%;top:28%;width:82px;animation-delay:-2s;transform:rotate(6deg)}
.fleet-escort.escort-2{left:8%;top:69%;width:76px;animation-delay:-3.5s;transform:rotate(3deg)}
.fleet-escort.escort-3{left:70%;top:68%;width:85px;animation-delay:-1s;transform:rotate(-4deg)}
@keyframes fleet-hover{from{translate:0 -6px}to{translate:12px 10px}}
@media(max-width:700px){.tutorial-overlay{right:10px;bottom:10px;width:min(348px,calc(100vw - 20px));padding:13px 15px}.tutorial-overlay h3{font-size:16px}.tutorial-overlay p{font-size:12px}.fleet-selector{grid-template-columns:1fr}.fleet-escort{width:55px}.fleet-escort.escort-1{width:56px}.fleet-escort.escort-2{width:51px}.fleet-escort.escort-3{width:53px}}
@media(prefers-reduced-motion:reduce){.fleet-escort{animation:none!important}}

/* ===== v0.4.2 · animated B.O.T. dialogue, more legible reading, achievement atlas ===== */
.helper{align-items:flex-start;padding:16px;gap:16px;background:linear-gradient(135deg,#142940ed,#071529ee);border-color:#547da3}
.helper .bot-summary{min-width:0;flex:1}
.helper .bot-summary b{display:flex;flex-direction:column;gap:3px;color:#d7f5ff;font-size:16px}
.helper .bot-summary b small{font-size:12px;color:#9bd7e9;font-weight:600}
.helper #botText{font-size:16px;line-height:1.55;margin:11px 0 7px;color:#f3faff;min-height:50px}
.bot-new[hidden]{display:none!important}
.bot-new{display:inline-block;background:#225b78;color:#abf9ff;border:1px solid #49bbdb;padding:4px 8px;border-radius:999px;margin-top:8px;font-size:11px;font-weight:800}
.bot-joke{font-size:14px;padding:9px 13px;border-radius:9px;background:#163c67;color:#e8f6ff;border-color:#579ed7}
.bot-avatar{width:84px;min-width:84px;filter:drop-shadow(0 6px 12px #010914a0);animation:bot-bob 4.5s ease-in-out infinite}
.bot-avatar svg{width:100%;height:auto;display:block}
.bot-avatar .bot-eye{transform-box:fill-box;transform-origin:center;animation:bot-blink 8s infinite}
.bot-avatar .bot-mouth{transform-box:fill-box;transform-origin:center}
.bot-avatar.speaking .bot-mouth{animation:bot-talk .36s ease-in-out infinite}
.bot-avatar.speaking .bot-antenna{animation:bot-flash .5s ease-in-out infinite}
@keyframes bot-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes bot-blink{0%,45%,48%,100%{transform:scaleY(1)}46%,47%{transform:scaleY(.09)}}
@keyframes bot-talk{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.7)}}
@keyframes bot-flash{0%,100%{fill:#ffd06f}50%{fill:#99faff}}
.bot-dialog{border:1px solid #5ba0d2;border-radius:20px;padding:0;background:linear-gradient(155deg,#122e49,#071426 82%);color:#eaf6ff;width:min(720px,calc(100vw - 24px));max-height:91dvh;box-shadow:0 28px 90px #000b;overflow:auto}
.bot-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
.bot-dialog-header{display:flex;align-items:center;gap:18px;padding:19px 24px;background:linear-gradient(90deg,#205277,#0b1d35);border-bottom:1px solid #477ba3}
.bot-dialog-header .bot-avatar{width:112px;min-width:112px}
.bot-dialog-header h2{font-size:36px;letter-spacing:.04em;margin:5px 0 0;color:#d8f9ff}
.bot-dialog-header p{font-size:17px;margin:3px 0;color:#bad7ec}
.bot-dialog-header .close{margin-left:auto;align-self:flex-start}
.bot-chat-log{padding:14px 22px;max-height:265px;min-height:140px;overflow:auto;display:flex;flex-direction:column;gap:10px}
.bot-message{max-width:95%;margin:0;padding:12px 16px;border:1px solid #3a6383;border-radius:14px;background:#10273d;font-size:17px;line-height:1.5}
.bot-message strong{display:block;color:#93e6f1;font-size:12px;margin-bottom:5px;letter-spacing:.03em}
.bot-message.user{align-self:end;background:#193b60;border-color:#468aca}
.bot-message.assistant{align-self:start}
.bot-questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 22px 19px}
.bot-questions button{border:1px solid #4e8bac;border-radius:10px;background:#123655;color:#f1f9ff;font:inherit;font-size:14px;font-weight:800;min-height:46px;padding:9px;cursor:pointer}
.bot-questions button:hover{background:#21577e}
.bot-disclaimer{font-size:12px;color:#a7bbcd;line-height:1.55;border-top:1px solid #2e526d;padding:14px 22px 18px;margin:0}
.ach-filters{display:grid;grid-template-columns:1fr minmax(130px,.48fr);gap:10px;margin:14px 0}
.ach-filters input,.ach-filters select{width:100%;padding:12px 13px;background:#10263e;border:1px solid #527899;border-radius:10px;color:#edf8ff;font:inherit;font-size:14px}
.achievement-card .progress{margin:6px 0}.achievement-card small{display:block;color:#abcae0}
.achievement-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;font-size:13px;color:#d9ecfc}
.achievement-pager button{padding:10px}
.tutorial-overlay{width:min(440px,calc(100vw - 24px));padding:21px 24px}
.tutorial-overlay h3{font-size:23px}
.tutorial-overlay p{font-size:16px;line-height:1.55}
.tutorial-head{font-size:12px}
@media(max-width:700px){.helper #botText{font-size:15px}.bot-avatar{width:70px;min-width:70px}.bot-dialog-header .bot-avatar{width:83px;min-width:83px}.bot-dialog-header h2{font-size:27px}.bot-dialog-header p{font-size:14px}.bot-questions{grid-template-columns:repeat(2,minmax(0,1fr))}.ach-filters{grid-template-columns:1fr}.bot-message{font-size:15px}.tutorial-overlay p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.bot-avatar,.bot-avatar .bot-eye,.bot-avatar.speaking .bot-mouth,.bot-avatar.speaking .bot-antenna{animation:none!important}}

/* ===== v0.5: culinary assistant, defensive events, discoveries, fleet missions ===== */
#app:before{animation:deep-space-drift 90s linear infinite}
@keyframes deep-space-drift{to{background-position:-340px 200px}}
.bot-avatar{position:relative;filter:drop-shadow(0 8px 18px #091b2b)}
.bot-avatar .bot-chef-hat{transform-origin:center bottom;animation:chef-hat-hop 5.5s ease-in-out infinite}
.bot-avatar.mood-happy{animation:bot-bob .45s ease-in-out 5;filter:drop-shadow(0 0 12px #ffe28c)}
.bot-avatar.mood-alert{animation:bot-alert .3s ease-in-out 7;filter:drop-shadow(0 0 15px #ff7047)}
.bot-avatar.mood-curious{animation:bot-curious 2.5s ease-in-out 2}
@keyframes chef-hat-hop{0%,90%,100%{transform:translateY(0)}95%{transform:translateY(-4px)}}
@keyframes bot-alert{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes bot-curious{0%,100%{transform:rotate(0deg)}50%{transform:rotate(7deg)}}
.hull-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#12253a;border:1px solid #496988;border-radius:11px;padding:8px 12px;font-size:12px;color:#dceeff;font-weight:800}
.hull-row button{padding:6px 10px;font-size:11px}
.threat-box[hidden]{display:none!important}
.threat-box{position:absolute;z-index:15;right:10px;top:46px;width:min(310px,68%);padding:12px;background:linear-gradient(160deg,#451b29f2,#160e22f4);border:2px solid #ff7d76;border-radius:14px;box-shadow:0 0 34px #f4445c50,0 9px 30px #000b;animation:threat-appear .3s ease-out}
.threat-title{font-size:15px;font-weight:950;color:#ffe3bd}.threat-box p{font-size:12px;line-height:1.4;color:#f3d4dd}.threat-box small{color:#ffcad0;font-size:11px}
.threat-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}
.threat-actions button{font-size:11px;padding:9px 6px;min-height:38px}
@keyframes threat-appear{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:translateX(0)}}
.recipe-intro{background:linear-gradient(135deg,#1c2848,#111c34)}
.recipe-card{display:flex;align-items:center;gap:12px;margin:9px 0;padding:13px;border:1px solid #3c5877;border-radius:12px;background:#112238}
.recipe-card.unknown{opacity:.71}.recipe-card.active{border-color:#59d2ac;background:#11302e;box-shadow:inset 0 0 23px #2bd89a0d}
.recipe-symbol{flex:none;font-size:27px;width:43px;text-align:center}.recipe-card>div{flex:1;min-width:0}.recipe-card b{font-size:14px}.recipe-card p{line-height:1.5;font-size:12px;color:#bdd2e5;margin:4px 0 0}
.recipe-status{font-size:10px;letter-spacing:.02em;font-weight:900;color:#ffda83;white-space:nowrap}
.contract{margin:12px 0;border:1px solid #47698a;background:linear-gradient(150deg,#142840,#0b192c);padding:13px 15px;border-radius:13px}
.contract-heading{display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:13px}.contract-heading small{color:#c6d6e7}.contract p{color:#b7d0e4;font-size:12px}
.contract-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.contract-bottom small{color:#ffdb94}.contract button{min-width:85px}
.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:12px 0 20px}
.module-card{display:flex;flex-direction:column;gap:8px;border:1px solid #466482;border-radius:13px;padding:13px;background:#13253a;min-width:0}
.module-card.active{border-color:#65e4b1;background:#153b36}
.module-icon{font-size:28px}.module-card b{font-size:14px}.module-card p{font-size:12px;color:#bbd1e3;line-height:1.45;margin:0;flex:1}.module-card small{color:#f4d28d;font-size:11px}
.module-card button{padding:8px;font-size:12px}
.fleet-mission{display:block;width:100%;margin-top:8px;font-size:12px;padding:10px}
@media(max-width:650px){.module-grid{grid-template-columns:1fr}.recipe-card{padding:9px}.recipe-status{font-size:9px}.threat-box{width:min(310px,90%);right:4px}.threat-actions{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){#app:before,.bot-avatar .bot-chef-hat,.bot-avatar.mood-happy,.bot-avatar.mood-alert,.bot-avatar.mood-curious,.threat-box{animation:none!important}}

/* Mobile navigation: keeps the flight scene visible without a five-row menu. */
@media(max-width:700px){
  .header{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:13px 10px 11px;min-height:0}
  .identity{min-width:0;padding-right:53px}.identity h1{font-size:22px}.identity small{font-size:8px}
  .nav{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;padding:0 0 7px;scrollbar-width:thin;scrollbar-color:#5689aa #0a1d2e}
  .nav-btn{flex:0 0 auto;white-space:nowrap;padding:9px 11px;font-size:11px}
  .settings{position:absolute;top:12px;right:10px;padding:7px 11px;font-size:18px}
  .resource-bar{margin-top:8px;padding:0 10px;gap:8px}
}

/* v0.5 post-prestige orbital station. All geometry drawn in scalable SVG. */
.station-art{margin:16px 0 0;background:radial-gradient(ellipse at 50% 70%,#395f9870,transparent 65%),linear-gradient(#0a1931,#0b1530);border:1px solid #4b7895;border-radius:14px;overflow:hidden}
.station-art svg{display:block;width:100%;height:auto;max-height:320px;filter:drop-shadow(0 4px 12px #57b7e23d)}
.station-card .item-desc .progress{margin:8px 0 2px}.station-card .item-desc .progress span{background:linear-gradient(90deg,#66dcff,#e7c178)}

/* v0.6: recipe hangar, anomaly weather, unique guardians */
.anomaly-brief{display:grid;gap:5px;border:1px solid #68bcd67c;background:linear-gradient(115deg,#0a33439e,#1e234b9d);border-radius:12px;padding:11px;margin:14px 0;color:#e8faff}
.anomaly-brief>span{color:#c2eaff;font-size:.84rem}.anomaly-brief small{line-height:1.45;color:#a6cae6}
.fleet-refit{margin:16px 0 0;border:1px solid #5c8cae85;background:#0a1b32d9;border-radius:13px;padding:12px}
.fleet-refit summary{font-size:1rem;font-weight:800;cursor:pointer;line-height:1.5;color:#fff4ce;list-style:revert}
.fleet-refit summary small{font-size:.8rem;color:#91c1dc;font-weight:400;margin-left:8px}
.fleet-refit p{margin:8px 0}
.fleet-bread-list{display:flex;gap:7px;flex-wrap:wrap;padding:10px 0}
.fleet-bread-list button,.fleet-food-actions button{border:1px solid #547da5;border-radius:9px;background:#16344f;color:#e9f8ff;padding:6px 10px;cursor:pointer;font-size:.83rem}
.fleet-bread-list button.chosen{border-color:#ffcf74;background:#5c4020;color:#fff2cb}
.fleet-bread-list button:disabled,.fleet-food-actions button:disabled{cursor:not-allowed;opacity:.44}
.fleet-food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}
.fleet-food{display:flex;flex-direction:column;justify-content:space-between;gap:5px;border:1px solid #54789c6a;background:#102a44;padding:10px;border-radius:10px}
.fleet-food>div:first-child{display:grid;grid-template-columns:24px 1fr;column-gap:7px;align-items:center}
.fleet-food b{font-size:.83rem}.fleet-food small{grid-column:2;font-size:.74rem;color:#b3d1e3}
.fleet-food-actions{display:flex;align-items:stretch;gap:6px}
.fleet-food-actions button:last-child{flex:1;background:linear-gradient(130deg,#176058,#205c3d);font-weight:700}
.fleet-food-actions button:last-child small{display:block;color:#dffde0}
.guardian-card{margin:20px 0;border:1px solid #c0776d99;border-radius:15px;padding:18px;background:linear-gradient(130deg,#31213ed9,#102d40df);box-shadow:inset 0 0 32px #a94d3526}
.guardian-active{border-color:#ffca71;box-shadow:0 0 23px #e27e4330,inset 0 0 32px #a94d3526}
.guardian-title{display:flex;gap:12px;align-items:center;justify-content:space-between}.guardian-title>div{flex:1}
.guardian-title h3{font-size:1.25rem;line-height:1.4;margin:2px 0}.guardian-emblem{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:2.6rem;background:#6939218c;border:2px solid #ffc18b80;border-radius:18px}
.guardian-card p{line-height:1.6}.guardian-card small{color:#cad8ef}.guardian-challenge{margin-top:14px}
.guardian-hp{display:flex;justify-content:space-between;margin:18px 0 8px}.guardian-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
@media(max-width:650px){.fleet-food-grid{grid-template-columns:1fr}.guardian-title{gap:7px}.guardian-emblem{width:45px;height:45px;font-size:1.8rem}.guardian-title h3{font-size:1.05rem}.guardian-actions button{flex:1}}

.guardian-visual{width:122px;flex:0 0 122px;align-self:stretch}.guardian-portrait{display:block;width:100%;height:105px;border-radius:12px;box-shadow:0 0 22px #111f5099;animation:guardfloat 5s ease-in-out infinite}.guardian-card .eyebrow{font-size:.74rem}@keyframes guardfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(max-width:650px){.guardian-visual{width:75px;flex-basis:75px}.guardian-portrait{height:73px}}
/* v0.7: readable launch choices and fleet routing. */
.mission-chooser { display:grid; grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:11px 0 8px; }
.mission-chooser .flight-option {display:flex;flex-direction:column;justify-content:center;min-height:64px;gap:7px;padding:10px 5px;text-align:center;font-size:12px;border-radius:11px;line-height:1.3;}
.flight-option small{opacity:.82;font-size:10px;line-height:1.3}
.fleet-mission-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 0;}
.fleet-mission-options .fleet-mission{padding:10px 5px;white-space:normal;font-size:12px;min-height:42px;}
.fleet-mission-options .pill {grid-column:1 / -1;padding:12px}
@media(max-width:430px){.mission-chooser{grid-template-columns:1fr;}.mission-chooser .flight-option{min-height:48px;flex-direction:row;align-items:center;gap:6px;}}

/* V0.7: custom sector atmosphere follows the newly discovered planets. */
.sector-5{background:radial-gradient(ellipse at 28% 55%,#94593c7d,transparent 42%),radial-gradient(ellipse at 90% 12%,#8b556b77,transparent 54%),#180f23!important}
.sector-6{background:radial-gradient(ellipse at 26% 55%,#b67f2d86,transparent 43%),radial-gradient(ellipse at 90% 4%,#86573d80,transparent 48%),#160f1c!important}
.sector-7{background:radial-gradient(ellipse at 25% 60%,#2779ad80,transparent 46%),radial-gradient(ellipse at 88% 5%,#4a6bac85,transparent 49%),#071728!important}
.sector-5 .planet{background:radial-gradient(circle at 70% 0,#f5d5a8,#af6846 33%,#673548 65%,#241021 80%)}
.sector-6 .planet{background:radial-gradient(circle at 70% 0,#ffe5a2,#d19630 31%,#96512f 65%,#241521 80%)}
.sector-7 .planet{background:radial-gradient(circle at 70% 0,#e9fcff,#7fc8ed 31%,#315fa0 66%,#071932 82%)}

/* v0.8: Читаемая тактическая система эскортов. */
.escort-command{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #6489a2;border-radius:12px;padding:13px;background:linear-gradient(105deg,#172f47e8,#101d30eb);margin:12px 0}
.escort-command>div{display:grid;gap:4px;flex:1}.escort-command b{font-size:14px;color:#eaf7ff}.escort-command small{font-size:12px;line-height:1.5;color:#bcd7ee}.escort-command button{flex:none;max-width:230px}
.ship-condition{margin:11px 0;border:1px solid #34516c;background:#081a2caa;padding:10px;border-radius:10px}
.ship-condition-track{height:8px;background:#182a3e;border:1px solid #516984;border-radius:100px;overflow:hidden}
.ship-condition-track span{display:block;height:100%;border-radius:100px;background:linear-gradient(90deg,#42b4b2,#92f1ad);transition:width .35s ease}
.ship-condition-track span.critical{background:linear-gradient(90deg,#d94456,#ffb969)}
.ship-condition .fleet-totals{margin:8px 0}.ship-maintenance{display:flex;flex-wrap:wrap;gap:8px}.ship-maintenance button{flex:1;min-width:135px;font-size:12px}
.ship-maintenance button small{display:block;color:#b8d2e5;margin-top:4px}
.escort-damaged{filter:grayscale(.5) drop-shadow(0 0 10px #ed6269bd);opacity:.78}.escort-guard:before{content:'🛡️';position:absolute;right:-8px;top:-8px;font-size:15px;text-shadow:0 2px 6px #07101b}
.raider-portrait{display:block;width:100%;height:84px;margin:0 auto 6px;background:radial-gradient(ellipse,#54304499,#2b152500 70%);pointer-events:none}
.raider-ship{transform-origin:110px 48px;animation:raider-sway 3.1s ease-in-out infinite}
@keyframes raider-sway{0%,100%{transform:translate(0,2px) rotate(-2deg)}50%{transform:translate(0,-4px) rotate(2deg)}}
.threat-box{width:min(370px,92%);max-height:calc(100% - 48px);overflow-y:auto;scrollbar-color:#bd6071 #1a2031}
.threat-comparison{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}
.threat-comparison span{display:inline-block;border:1px solid #985965;border-radius:6px;padding:5px;background:#241c33;color:#fff0d7;font-size:11px}
.threat-actions{grid-template-columns:1fr 1fr}.threat-actions .escort-action{grid-column:1/-1;background:#285d72;border:1px solid #7acbe4;color:white;border-radius:8px;font-weight:800}
.threat-actions .escort-action:hover:not(:disabled){background:#328da4}.threat-actions .escort-action:disabled{opacity:.4}
@media(max-width:600px){.escort-command{align-items:stretch;flex-direction:column}.escort-command button{width:100%;max-width:none}.threat-box{top:39px;width:min(300px,90%);font-size:12px;padding:8px}.raider-portrait{height:54px}.threat-box p{margin:4px 0}.threat-actions button{padding:5px 4px;min-height:30px}}
@media(prefers-reduced-motion:reduce){.raider-ship{animation:none}}
.fleet-intro::before{opacity:.08;background-image:linear-gradient(120deg,#0a2138ea,#091a30e8)}
.threat-weakness{font-size:11px!important;color:#ffe1a4!important;background:#3d2730;border:1px solid #9b6261;border-radius:7px;padding:6px 8px;margin:7px 0!important}

/* v0.9: deep-space routes / mastery map / clean interface. */
.sector-8{background:radial-gradient(ellipse at 30% 55%,#17676588,transparent 45%),#071d35!important}
.sector-9{background:radial-gradient(ellipse at 30% 55%,#b74e4970,transparent 50%),#241022!important}
.sector-10{background:radial-gradient(ellipse at 30% 55%,#9b7cc179,transparent 52%),#141438!important}
.sector-8 .planet{background:radial-gradient(circle at 67% 8%,#c3fff1,#349e9d 42%,#14566c 75%,#102c43 90%)}
.sector-9 .planet{background:radial-gradient(circle at 67% 8%,#ffe3ab,#e27a60 41%,#853647 76%,#231329 89%)}
.sector-10 .planet{background:radial-gradient(circle at 67% 8%,#fff3cc,#b099d9 42%,#654d9b 75%,#252047 90%)}
.mastery-catalog{border:1px solid #68aeb8;border-radius:14px;background:linear-gradient(145deg,#162f49,#0b1b30);padding:15px;margin:20px 0;color:#deeffb}
.mastery-catalog summary{font-size:16px;font-weight:900;color:#e8dfad;cursor:pointer;line-height:1.5}
.mastery-catalog>p{font-size:13px;line-height:1.6;padding:8px 0}
.mastery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mastery-card{padding:12px;border:1px solid #4c7590;background:#132a43;border-radius:11px;display:flex;flex-direction:column;gap:9px;min-width:0}
.mastery-card>div:first-child{display:flex;flex-direction:column;gap:4px}
.mastery-card b{font-size:13px;line-height:1.4}.mastery-card small{font-size:11px;color:#b4d0e0}
.mastery-card button{font-size:12px;padding:9px 7px;white-space:normal;min-height:43px}
.mastery-card button small{display:block;font-size:10px;color:#f7dba8}
.mastery-pips{display:flex;gap:6px}
.mastery-pips i{flex:1;height:7px;border:1px solid #507593;border-radius:6px;background:#22364b}
.mastery-pips i.on{border-color:#ffd485;background:linear-gradient(90deg,#65d9c6,#efd47b)}
@media(max-width:700px){.mastery-grid{grid-template-columns:1fr}.mastery-catalog{padding:11px}.mastery-catalog summary{font-size:14px}}

/* v1.0 — Fleet bridge, crisp outlines and low-cost atmospheric flight effects */
.fleet-command-center{background:linear-gradient(140deg,#132d47,#0b1c32);border:1px solid #5682a6;border-radius:14px;padding:14px;margin:12px 0;display:grid;gap:12px;box-shadow:inset 0 1px #ffffff12}
.fleet-command-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fleet-command-title strong{display:block;color:#f9db9c;font-size:16px;margin-bottom:6px}
.fleet-command-title small,.fleet-autopilot small{display:block;color:#a9c9de;font-size:12px;line-height:1.5}
.fleet-command-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.fleet-command-options button,.fleet-doctrines button{font-size:12px;padding:9px}
.fleet-doctrines{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.fleet-doctrines>span{font-size:12px;color:#b1cee0;font-weight:700}
.fleet-autopilot{border-top:1px solid #34526a;padding-top:12px;display:grid;grid-template-columns:1fr minmax(120px,190px);gap:7px 10px;align-items:center}
.fleet-autopilot label{font-size:13px;font-weight:750;color:#e3efff}
.fleet-autopilot select{min-width:0;width:100%;border-radius:8px;background:#102d48;border:1px solid #4b779d;color:#eef9ff;padding:10px}
.fleet-autopilot small{grid-column:1/-1}
.flight-stream{position:absolute;z-index:2;width:72px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,#c9e9ffac,transparent);pointer-events:none;opacity:0;filter:drop-shadow(0 0 4px #a3d9ffb8);animation:flight-dust 7s linear infinite}
.stream-1{top:26%;left:-16%;animation-delay:0s}.stream-2{top:62%;left:-16%;animation-delay:-3.3s;height:1px}.stream-3{top:79%;left:-16%;animation-delay:-5.4s;width:44px}
@keyframes flight-dust{0%{transform:translateX(0) translateY(8px);opacity:0}12%{opacity:.55}85%{opacity:.45}100%{transform:translateX(840px) translateY(-15px);opacity:0}}
.fleet-escort svg{filter:drop-shadow(0 0 4px #73befd52)}
.fleet-escort.escort-guard svg{filter:drop-shadow(0 0 7px #a9d7fcce)}
@media(max-width:600px){.fleet-command-options{grid-template-columns:1fr}.fleet-autopilot{grid-template-columns:1fr}.fleet-command-title .pill{font-size:10px}}
@media(prefers-reduced-motion:reduce){.flight-stream{animation:none!important;opacity:0!important}}

/* v1.1.0 — Battle theatre: real game sprites, readable combat, no combat-input buttons. */
.raid-overlay[hidden],.raid-result[hidden]{display:none!important}
.raid-overlay{position:fixed;z-index:500;inset:0;background:#020713d9;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.raid-window{width:min(1060px,100%);border:1px solid #6287b2;border-radius:16px;background:#091427;box-shadow:0 20px 90px #000c,0 0 0 1px #ffffff13;overflow:hidden;color:#f0f7ff}
.raid-header{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:18px 22px;background:linear-gradient(105deg,#182c48,#0b192d)}
.raid-eyebrow{font-size:11px;color:#ffba7b;font-weight:800;letter-spacing:.1em}
.raid-header h2{font-size:23px;line-height:1.1;color:#fff4d2;margin:6px 0}.raid-header p{color:#b9cee0;font-size:12px;margin:0}
.raid-minimize{background:#213a54;border:1px solid #6a91b1;border-radius:9px;color:#ebf9ff;padding:10px 13px;white-space:nowrap;cursor:pointer}
.raid-minimize:hover{background:#2a5076}.raid-minimize span{margin-left:8px;color:#ffbb9e}
.raid-arena{height:360px;position:relative;display:flex;align-items:stretch;overflow:hidden;background:linear-gradient(90deg,#081327bf,#1a234bc2 55%,#210e2fbb),var(--current-sky),#081327;background-position:center;background-size:cover}
.raid-nebula{position:absolute;inset:0;background:radial-gradient(ellipse at 75% 50%,#9a3b7d32,transparent 42%),radial-gradient(ellipse at 28% 40%,#4a9bd842,transparent 45%);pointer-events:none}
.raid-stars{position:absolute;inset:0;background-image:radial-gradient(#ffffffa6 1px,transparent 1.5px),radial-gradient(#9bcaff99 1px,transparent 2px);background-size:67px 59px,119px 101px;animation:raid-star-drift 19s linear infinite;pointer-events:none}
.raid-lanes{position:absolute;top:49%;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#96bfef23,transparent);transform:rotate(-8deg)}
.raid-team{position:relative;z-index:3;width:47%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-width:0;padding:12px 7px}
.raid-team-left{padding-right:3%}.raid-team-right{padding-left:3%}
.raid-team-title{font-size:11px;font-weight:800;letter-spacing:.12em;color:#b3d8f7;text-align:center;position:absolute;top:13px;left:4px;right:4px}
.raid-sprite{width:100%;height:200px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 14px 20px #0009)}
.raid-flagship svg{max-width:100%;width:340px;height:220px;animation:raid-bob 2.2s ease-in-out infinite;overflow:visible}
.raid-enemy-svg{max-width:90%;width:275px;height:182px;overflow:visible;filter:drop-shadow(0 0 12px #ff784d69)}
.raid-ship-motion{animation:raid-enemy-bob 1.9s ease-in-out infinite}
.raid-fleet-mini{display:flex;align-items:end;justify-content:center;gap:2px;max-width:100%;height:67px;margin-top:-16px}
.raid-mini{width:74px;min-width:0;height:60px;display:flex;align-items:center;justify-content:center;flex-direction:column;animation:raid-bob 2.7s ease-in-out infinite}
.raid-mini:nth-child(even){animation-delay:-1s}.raid-mini svg{width:100%;max-height:40px}.raid-mini small{color:#f5e4c2;max-width:70px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:9px}
.raid-name{text-align:center;font-size:13px;font-weight:750;color:#fff4d8;text-shadow:0 1px 3px #000}
.raid-versus{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);font-size:25px;font-weight:900;color:#f9dcc0;text-shadow:0 0 15px #ca6d4f96;opacity:.72}
.raid-shots{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.raid-shot{position:absolute;top:52%;font-size:27px;filter:drop-shadow(0 0 9px #ffe1a6);will-change:transform;line-height:1;animation:raid-projectile 1s ease-in forwards}
.raid-shot-ally{left:35%}.raid-shot-enemy{left:65%;animation-name:raid-projectile-reverse}
.raid-impact{position:absolute;color:#ffe69b;filter:drop-shadow(0 0 10px #ff8c4d);font-size:34px;animation:raid-impact-burst .4s ease-out forwards}
.raid-impact-left{left:31%}.raid-impact-right{left:70%}
.raid-readout{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:13px 22px;background:#0d1d32}.raid-readout>div>span{display:block;font-size:11px;color:#c4d7e7;margin-bottom:6px;font-weight:750}
.raid-health{height:12px;background:#192e3d;border:1px solid #425775;border-radius:8px;overflow:hidden}.raid-health span{display:block;height:100%;background:linear-gradient(90deg,#1dba81,#85f2b0);transition:width .35s linear}.raid-health.enemy-hp span{background:linear-gradient(90deg,#d23d52,#ffae7d)}
.raid-bottom{padding:11px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#12243b}.raid-bottom b{display:block;font-size:13px;color:#ffe6a8}.raid-bottom small{font-size:11px;color:#b2cbd8;display:block;margin-top:4px}.raid-clock{color:#e9f8ff;border:1px solid #44688b;border-radius:7px;padding:7px 12px;font-weight:800;font-variant-numeric:tabular-nums}
.raid-result{padding:13px 20px;display:flex;flex-direction:column;gap:6px;font-size:13px;background:#1d4637;border-top:1px solid #50bb88}.raid-result.defeat{background:#4e252e;border-color:#d46674}.raid-result strong{font-size:17px;color:#fff}.raid-result span{color:#e3f4ef}
.raid-footer-note{background:#0a1424;color:#8eabc5;font-size:11px;padding:10px 22px;line-height:1.5}
.raid-reopen{padding:7px 10px!important;font-size:12px!important}.raid-journal-line{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;padding:11px;border-bottom:1px solid #385372}.raid-journal-line span{font-weight:750}.raid-journal-line small{color:#b6cede}
.settings-raid{border:1px solid #4c6e8d;border-radius:10px;padding:12px;margin:14px 0}.settings-raid b{color:#f3dcaf}.settings-raid p{color:#b5d3e5;font-size:12px}.settings-raid button{font-size:12px;margin:3px;padding:7px}
@keyframes raid-projectile{0%{transform:translate(0,0) scale(.65);opacity:.9}100%{transform:translate(32vw,-8px) scale(1.2);opacity:0}}
@keyframes raid-projectile-reverse{0%{transform:translate(0,0) scale(.65);opacity:.9}100%{transform:translate(-32vw,10px) scale(1.2);opacity:0}}
@keyframes raid-impact-burst{from{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.8)}}
@keyframes raid-bob{0%,100%{transform:translateY(3px)}50%{transform:translateY(-5px)}}
@keyframes raid-enemy-bob{0%,100%{transform:translateY(-4px) rotate(-2deg)}50%{transform:translateY(5px) rotate(2deg)}}
@keyframes raid-star-drift{from{background-position:0 0,0 0}to{background-position:220px 0,-130px 0}}
@media(max-width:650px){.raid-overlay{padding:7px}.raid-window{border-radius:10px}.raid-header{padding:12px}.raid-header h2{font-size:17px}.raid-header p{font-size:11px}.raid-eyebrow{font-size:9px}.raid-minimize{font-size:11px;padding:7px}.raid-arena{height:300px}.raid-sprite{height:165px}.raid-flagship svg{width:100%;height:170px}.raid-enemy-svg{width:100%;height:156px}.raid-fleet-mini{height:50px}.raid-mini{width:46px;height:48px}.raid-mini svg{height:31px}.raid-mini small{font-size:8px;max-width:45px}.raid-team-title{font-size:9px}.raid-name{font-size:10px}.raid-versus{font-size:17px}.raid-readout{gap:8px;padding:10px}.raid-readout>div>span{font-size:9px}.raid-footer-note{font-size:10px;padding:9px}.raid-bottom{padding:10px}.raid-bottom b{font-size:11px}.raid-clock{font-size:11px}}
@media(prefers-reduced-motion:reduce){.raid-stars,.raid-flagship svg,.raid-ship-motion,.raid-mini,.raid-shot{animation:none!important}.raid-health span{transition:none}}

/* v1.2 — automatic guardian encounters reuse the existing battle theatre. */
.guardian-auto-metrics{display:block;margin:12px 0!important;padding:10px 12px;border:1px solid #6b88aa;border-radius:10px;background:#102943;color:#f6dbaa;font-weight:700;font-size:.86rem}
.raid-boss .raid-header{background:linear-gradient(105deg,#342449,#152d4d,#3a2243)}
.raid-boss .raid-arena{background-image:linear-gradient(90deg,#0d1530cc,#401e4aa6 55%,#2b102bbd),var(--current-sky)}
.raid-boss .raid-enemy svg.guardian-portrait{height:190px;width:min(100%,270px);max-width:100%;filter:drop-shadow(0 0 15px #ffb76c8b);animation:raid-enemy-bob 2.1s ease-in-out infinite}
.raid-boss .raid-versus{color:#ffdf95;text-shadow:0 0 25px #ff7e42}
@media(max-width:650px){.raid-boss .raid-enemy svg.guardian-portrait{height:145px}}
@media(prefers-reduced-motion:reduce){.raid-boss .raid-enemy svg.guardian-portrait{animation:none}}

/* v1.3 | readable enemy squadrons and animation with no external assets */
.raid-enemy-squad{width:min(290px,100%);min-height:178px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:0 1px;align-items:center;justify-items:center;position:relative}
.raid-enemy-craft{width:100%;max-width:150px;animation:raid-enemy-bob 2.35s ease-in-out infinite;animation-delay:calc(var(--craft-index)*-.37s);filter:drop-shadow(0 4px 8px #0008);transition:opacity .25s}
.raid-enemy-craft .raid-enemy-svg{width:100%;height:85px;filter:drop-shadow(0 0 6px #ff9e5859)}
.raid-enemy-craft.craft-lead{width:125%;z-index:2;grid-row:1 / span 2;grid-column:1;max-width:169px}
.raid-enemy-craft.craft-lead .raid-enemy-svg{height:130px}
.raid-enemy-squad:has(>.raid-enemy-craft:only-child){display:flex;justify-content:center;align-items:center}
.raid-enemy-squad:has(>.raid-enemy-craft:only-child) .raid-enemy-craft{width:100%;max-width:240px}
.raid-enemy-squad:has(>.raid-enemy-craft:only-child) .raid-enemy-svg{height:170px}
.raid-enemy-squad.formation-line .raid-enemy-craft:not(.craft-lead){transform:translateX(6px)}
.raid-enemy-squad.formation-wedge .raid-enemy-craft:not(.craft-lead){margin-left:12px}
.raid-enemy-squad.formation-spiral .raid-enemy-craft:not(.craft-lead){animation-duration:1.5s}
.raid-enemy-count{font-size:11px;font-weight:700;letter-spacing:.03em;color:#ffe0a8;border:1px solid #806b53;background:#302739b8;border-radius:20px;padding:3px 9px;white-space:normal;text-align:center}
.raid-weakness{color:#f8d9a3!important;font-weight:600;margin-top:3px}
.raid-phase{position:absolute;z-index:5;left:50%;top:14px;transform:translateX(-50%);pointer-events:none;color:#c8edff;font-size:11px;font-weight:850;letter-spacing:.13em;text-shadow:0 2px 6px #000;border-radius:5px;border:1px solid #5da6c488;background:#0c2038b5;padding:6px 10px;white-space:nowrap}
.raid-overlay[data-phase=finale] .raid-phase{border-color:#ffc066a8;color:#ffe1a6;box-shadow:0 0 15px #a65b2838}
.raid-overlay[data-phase=finale] .raid-arena{filter:saturate(1.12)}
.raid-shot-ally{left:31%;animation-name:raid-food-forward}.raid-shot-enemy{left:69%;animation-name:raid-food-backward}
@keyframes raid-food-forward{0%{transform:translate(0,0) rotate(-30deg) scale(.7);opacity:0}13%{opacity:1}85%{opacity:1}100%{transform:translate(var(--travel,180px),var(--arc,0px)) rotate(350deg) scale(1.24);opacity:0}}
@keyframes raid-food-backward{0%{transform:translate(0,0) rotate(20deg) scale(.7);opacity:0}13%{opacity:1}85%{opacity:1}100%{transform:translate(var(--travel,-180px),var(--arc,0px)) rotate(-310deg) scale(1.24);opacity:0}}
.raid-impact-left{left:30%}.raid-impact-right{left:68%}
@media(max-width:650px){.raid-enemy-squad{min-height:127px}.raid-enemy-craft .raid-enemy-svg{height:65px}.raid-enemy-craft.craft-lead .raid-enemy-svg{height:105px}.raid-enemy-count{font-size:9px;padding:2px 4px}.raid-phase{top:39px;font-size:9px;padding:3px 6px}.raid-weakness{font-size:10px}}
@media(prefers-reduced-motion:reduce){.raid-enemy-craft,.raid-shot{animation:none!important}.raid-phase{opacity:.95}}

/* v1.4 · Armament editor and rare fleet incursions */
.galley-arsenal{margin:13px 0;padding:14px;border:1px solid #456889;border-radius:12px;background:linear-gradient(125deg,#10233a,#142742);box-shadow:inset 0 1px #9ac5ff25}
.galley-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}.galley-head b{color:#ffe8b4}.galley-arsenal .muted{font-size:12px;margin:7px 0 10px;line-height:1.5}
.galley-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.galley-gun{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid #476b8a;border-radius:9px;background:#172d46;color:#f2f8ff;padding:9px;min-width:0}.galley-gun:hover:not(:disabled){border-color:#ffd180;background:#274263}.galley-gun.selected{border-color:#e8b657;background:#3b3550;box-shadow:0 0 0 1px #e8b6574a}.galley-gun:disabled{opacity:.67;cursor:not-allowed}.galley-gun.selected:disabled{opacity:1}.galley-gun-icon{font-size:24px}.galley-gun b{display:block;font-size:12px}.galley-gun small{display:block;color:#acc9df;font-size:11px;line-height:1.35;margin-top:4px}.galley-upgrade{width:100%;margin-top:9px}
.raid-gun-hud{font-size:17px;letter-spacing:5px;color:#ffdf98;text-align:center;text-shadow:0 0 8px #f28c46bd;min-height:22px}
.raid-elite .raid-header{background:linear-gradient(110deg,#563031,#332038,#203e58);border-bottom:1px solid #e2a653}
.raid-elite .raid-enemy-squad{filter:drop-shadow(0 0 12px #ff9e5480)}.raid-elite .raid-enemy-count{border-color:#ffc773;background:#663827}
.raid-elite .raid-arena{box-shadow:inset 0 0 80px #ac532b33}
@media(max-width:650px){.galley-grid{grid-template-columns:1fr}.galley-head b{font-size:12px}.galley-gun{padding:8px}.raid-gun-hud{font-size:13px;letter-spacing:1px}}

/* v1.5 · мастерство рецептов, индивидуальные пищевые залпы, разная форма корпусов */
.recipe-level{display:flex;justify-content:space-between;gap:8px;color:#a8eadb;font-weight:700;font-size:11px;margin:8px 0 5px}
.recipe-level span:last-child{color:#eac989;font-variant-numeric:tabular-nums}
.recipe-progress{height:6px;margin-top:3px}.recipe-progress>span{background:linear-gradient(90deg,#44b5c9,#c9e68f)}
.raid-mini svg{filter:drop-shadow(0 3px 4px #0009)}
.raid-material-tomato{filter:drop-shadow(0 0 13px #ff493f);color:#ff7460}
.raid-material-cheese{filter:drop-shadow(0 0 16px #ffd650);color:#ffe980}
.raid-material-pepper{filter:drop-shadow(0 0 20px #f26032);color:#ff7a35;animation-duration:.69s!important}
.raid-material-salami{filter:drop-shadow(0 0 14px #e1a2af);color:#ec6f86;font-size:32px}
.raid-material-lettuce{filter:drop-shadow(0 0 13px #80f0a0);color:#8ceca5;animation-duration:1.15s!important}
.raid-material-crumb{filter:drop-shadow(0 0 8px #ffe8ab);color:#ffe6af}
.raid-impact-tomato{color:#ff816c;text-shadow:0 0 18px #f54d4c}
.raid-impact-cheese{color:#ffec88;text-shadow:0 0 20px #ffbe32}
.raid-impact-pepper{color:#fa6f3d;text-shadow:0 0 20px #f84f31}
.raid-impact-lettuce{color:#adf49a;text-shadow:0 0 18px #54e5aa}
.raid-impact-salami{color:#f4a4a5;text-shadow:0 0 16px #e94460}
@media(prefers-reduced-motion:reduce){.raid-material-pepper,.raid-material-lettuce{animation-duration:0s!important}}

.recipe-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:9px 0 13px}
.recipe-toolbar input,.recipe-toolbar select{background:#101f37;color:#f0f7ff;border:1px solid #6591b3;border-radius:8px;padding:10px 11px;font:inherit;font-size:12px;min-width:0}
.recipe-toolbar input{flex:1;min-width:125px}.recipe-toolbar input:focus-visible,.recipe-toolbar select:focus-visible{outline:2px solid #ffc97a}
.recipe-toolbar small{color:#b7d6e8;font-size:10px}
.recipe-card[hidden]{display:none!important}
@media(max-width:600px){.recipe-toolbar select{max-width:145px}.recipe-toolbar small{width:100%}}

/* ===== v1.6 · Живые слои, чистый 2D-арт ===== */
.ingredient-inspect{position:absolute;z-index:7;left:13px;bottom:13px;display:grid;grid-template-columns:25px auto;column-gap:8px;align-items:center;min-width:182px;max-width:55%;padding:8px 11px;background:#07192ad9;border:1px solid #7196b4;border-radius:11px;backdrop-filter:blur(6px);box-shadow:0 7px 17px #0008;pointer-events:none}
.ingredient-inspect>span{grid-row:span 2;font-size:21px}.ingredient-inspect strong{font-size:11px;color:#ffdfa3;line-height:1.2}.ingredient-inspect small{font-size:10px;color:#c0dbe8;line-height:1.4}
.food-layer{transition:filter .15s ease;outline:none;cursor:help}
.food-layer.is-inspected,.food-layer:focus-visible{filter:drop-shadow(0 0 6px #fff3bd) drop-shadow(0 0 4px #fed575)}
.food-layer-added{animation:layer-assemble .52s cubic-bezier(.2,1.4,.3,1) both;transform-box:fill-box;transform-origin:50% 50%}
.top-bread.bread-switch{animation:bread-assemble .6s cubic-bezier(.2,1.3,.3,1) both;transform-box:fill-box;transform-origin:50% 60%}
@keyframes layer-assemble{0%{transform:translateY(-27px) scale(.96);opacity:.15}65%{transform:translateY(3px) scale(1.012);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}
@keyframes bread-assemble{0%{transform:translateY(-40px) rotate(-2deg);opacity:.2}70%{transform:translateY(4px) rotate(.5deg);opacity:1}100%{transform:none;opacity:1}}
.raid-shot{min-width:40px;display:flex;align-items:center;justify-content:center}
.food-projectile{display:block;width:58px;height:36px;filter:drop-shadow(0 0 8px #ffe3a680)}
.raid-material-tomato .food-projectile{filter:drop-shadow(0 0 7px #ff6a71)}
.raid-material-cheese .food-projectile{filter:drop-shadow(0 0 8px #ffe078)}
.raid-material-pepper .food-projectile{filter:drop-shadow(0 0 9px #ff843e)}
.raid-material-lettuce .food-projectile{filter:drop-shadow(0 0 8px #9bffac)}
@media(max-width:610px){.ingredient-inspect{min-width:156px;padding:6px 7px;max-width:58%}.ingredient-inspect strong{font-size:10px}.ingredient-inspect small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.food-layer-added,.top-bread.bread-switch{animation:none!important}.food-layer{transition:none!important}}

/* v1.7: visible growth ladder and clean scalable hull previews. */
.hull-intro { padding:15px 17px; margin:4px 0 14px; border-radius:15px; background:linear-gradient(120deg,rgba(42,90,133,.38),rgba(11,31,57,.86)); border:1px solid rgba(142,203,241,.30); }
.hull-intro b { color:#ffe1a3; font-size:16px; }
.hull-intro p { line-height:1.5; margin:7px 0; color:#d7e5f5; }
.hull-progress { font-size:12px; color:#8ee9ff; margin-top:8px; }
.hull-option { border-left:3px solid rgba(227,166,94,.50); }
.hull-option.hull-locked { opacity:.65; }
.hull-meta { display:flex; gap:5px; flex-wrap:wrap; margin:7px 0; }
.hull-meta span { background:rgba(27,71,105,.85); border:1px solid rgba(151,207,238,.24); border-radius:6px; padding:2px 6px; font-size:11px; color:#deebff; }
.hull-swatch { align-self:center; display:grid; place-items:center; min-width:82px; height:72px; border-radius:13px; background:radial-gradient(circle at 50% 75%,rgba(240,171,90,.23),transparent 58%),linear-gradient(145deg,#10213a,#152e43); border:1px solid rgba(184,215,247,.19); }
.hull-swatch span { height:39px; display:grid; place-items:center; position:relative; font-size:22px; background:linear-gradient(180deg,#ffe0a0,#bd7836); border:2px solid #915225; box-shadow:inset 0 -6px rgba(132,65,22,.25),0 6px 12px rgba(0,0,0,.27); border-radius:28px 28px 9px 9px; }
.hull-swatch-micro { height:20px!important; border-radius:100%!important; font-size:12px!important; }
.hull-swatch-toast { border-radius:10px!important; }
.hull-swatch-round,.hull-swatch-bagel { border-radius:50%!important; }
.hull-swatch-croissant,.hull-swatch-pastry { border-radius:70% 20% 55% 20%!important; transform:rotate(-14deg); }
.hull-swatch-club { clip-path:polygon(50% 0%,100% 90%,0 90%); border-radius:0!important; }
.hull-swatch-pita { border-radius:90% 90% 18% 18%!important; height:27px!important; }
.hull-swatch-mega { height:49px!important; border-radius:45% 45% 14% 14%!important; }
@media(max-width:750px){.hull-swatch{min-width:62px}.hull-meta span{font-size:10px}}
/* ===== v1.8 · ЖИВОЙ ПОЛЁТ: ручная 2D-анимация без внешних библиотек ===== */
/* Root flight path and edible body use separate animation layers: bread can
   spring independently while the engine remains attached to the spacecraft. */
.sandwich-art{animation:butter-flight-drift 7.3s ease-in-out infinite;transform-origin:50% 56%}
.sandwich-art .spacecraft-motion{transform-box:fill-box;transform-origin:50% 55%;animation:butter-hull-rock 5.7s ease-in-out infinite;will-change:transform}
.sandwich-art .edible-body{transform-box:fill-box;transform-origin:50% 80%;animation:butter-body-squash 3.6s ease-in-out infinite;will-change:transform}
.sandwich-art .food-spring{transform-box:fill-box;transform-origin:50% 58%;animation:butter-filling-lag 3.6s ease-in-out infinite;animation-delay:calc(var(--spring-phase,0) * -.17s);will-change:transform}
.sandwich-art .food-spring-lettuce,.sandwich-art .food-spring-seaweed{animation-name:butter-leaf-flutter;animation-duration:4.5s}
.sandwich-art .food-spring-ketchup,.sandwich-art .food-spring-honey,.sandwich-art .food-spring-mayonnaise,.sandwich-art .food-spring-mustard{animation-duration:5.8s}
.sky[data-weight="heavy"] .sandwich-art{animation-duration:10.5s}
.sky[data-weight="heavy"] .sandwich-art .spacecraft-motion{animation-duration:8s}
.sky[data-weight="heavy"] .sandwich-art .edible-body,.sky[data-weight="heavy"] .sandwich-art .food-spring{animation-duration:5.2s}
.sky[data-weight="light"] .sandwich-art{animation-duration:5.8s}
.sky[data-flight="cruise"] .sandwich-art .spacecraft-motion{animation-duration:4.2s}
.sky[data-flight="boost"] .sandwich-art .spacecraft-motion{animation-duration:2.6s}
.sky[data-flight="boost"] .sandwich-art .edible-body{animation-duration:2.5s}
.sky[data-flight="boost"] .thruster-flame{filter:drop-shadow(0 0 7px #ffc577)}
/* A rare cartoon bounce, with the inner ingredients taking a moment to settle. */
@keyframes butter-flight-drift{0%,7%,25%,45%,63%,70%,90%,100%{transform:translateY(0)}17%{transform:translateY(-7px)}36%{transform:translateY(3px)}56%{transform:translateY(-5px)}74%{transform:translateY(2px)}78%{transform:translateY(-19px)}81%{transform:translateY(2px)}84%{transform:translateY(-6px)}87%{transform:translateY(0)}}
@keyframes butter-hull-rock{0%,100%{transform:rotate(-1.6deg) translateX(-2px)}24%{transform:rotate(.75deg) translateY(-1px)}48%{transform:rotate(1.8deg) translateX(3px)}72%{transform:rotate(-.35deg) translateY(1px)}}
@keyframes butter-body-squash{0%,22%,64%,100%{transform:scale(1,1)}25%{transform:scale(1.006,.985)}29%{transform:scale(.993,1.012)}34%{transform:scale(1,1)}74%{transform:scale(.988,1.024) translateY(-3px)}81%{transform:scale(1.024,.97) translateY(2px)}87%{transform:scale(.995,1.008)}}
@keyframes butter-filling-lag{0%,23%,55%,68%,100%{transform:translateY(0) rotate(0deg)}27%{transform:translateY(calc(var(--spring-distance,2px) * -1)) rotate(-.35deg)}32%{transform:translateY(calc(var(--spring-distance,2px) * .5)) rotate(.4deg)}77%{transform:translateY(calc(var(--spring-distance,2px) * -1.4)) rotate(.35deg)}83%{transform:translateY(calc(var(--spring-distance,2px) * .8)) rotate(-.3deg)}90%{transform:translateY(0)}}
@keyframes butter-leaf-flutter{0%,100%{transform:translateY(0) skewX(0deg)}20%{transform:translateY(-2px) skewX(1.4deg)}43%{transform:translateY(1px) skewX(-1deg)}70%{transform:translateY(-2px) skewX(.75deg)}}
/* Additional convoy motion, staggered by role and hull weight. */
.fleet-escort{animation:fleet-hover 5.2s ease-in-out infinite,fleet-cartoon-tilt 6.3s ease-in-out infinite;transform-origin:50% 50%}
.fleet-escort.escort-weight-light{animation-duration:3.8s,4.6s}
.fleet-escort.escort-weight-heavy{animation-duration:7.4s,8.5s}
.fleet-escort.escort-1{animation-delay:-2s,-1s}
.fleet-escort.escort-2{animation-delay:-3.5s,-2.7s}
.fleet-escort.escort-3{animation-delay:-1s,-4.4s}
@keyframes fleet-cartoon-tilt{0%,100%{rotate:-2deg}35%{rotate:2.5deg}70%{rotate:-1deg}}
.raid-flagship svg .spacecraft-motion{animation:butter-hull-rock 3s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 58%}
.raid-flagship svg .edible-body{animation:butter-body-squash 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 70%}
.raid-flagship svg .food-spring{animation:butter-filling-lag 2.8s ease-in-out infinite;animation-delay:calc(var(--spring-phase,0) * -.13s);transform-box:fill-box;transform-origin:50% 50%}
.raid-mini svg{animation:fleet-cartoon-mini 2.6s ease-in-out infinite;transform-origin:50% 55%}
.raid-mini:nth-child(2n) svg{animation-delay:-1.4s}
@keyframes fleet-cartoon-mini{0%,100%{transform:rotate(-3deg) translateY(1px)}45%{transform:rotate(2.5deg) translateY(-3px)}}
/* JavaScript adds these classes only when the automatic shot actually happens. */
.raid-flagship.shot-recoil,.raid-enemy.shot-recoil{animation:butter-shot-kick .33s ease-out!important}
.raid-flagship.hit-shake,.raid-enemy.hit-shake{animation:butter-hit-shiver .4s ease-out!important}
@keyframes butter-shot-kick{0%,100%{translate:0 0}20%{translate:-11px 2px}54%{translate:4px -1px}78%{translate:-2px 0}}
@keyframes butter-hit-shiver{0%,100%{translate:0 0;filter:none}15%{translate:9px -4px;filter:brightness(1.6)}35%{translate:-7px 4px}55%{translate:5px -2px;filter:brightness(1.18)}75%{translate:-2px 1px}}
.settings-motion{border:1px solid #527ca0;border-radius:10px;padding:12px;margin:14px 0;background:linear-gradient(125deg,#142b40e0,#102033)}
.settings-motion b{color:#ffe0a1}.settings-motion p{font-size:12px;line-height:1.55;color:#c3d8e8}
.settings-motion button{font-size:12px;padding:9px 11px}
/* Quiet and off modes preserve gameplay and all saved recipes. */
html[data-motion="soft"] .sandwich-art,
html[data-motion="soft"] .spacecraft-motion,
html[data-motion="soft"] .edible-body,
html[data-motion="soft"] .food-spring,
html[data-motion="soft"] .fleet-escort,
html[data-motion="soft"] .raid-mini svg{animation-duration:12s!important}
html[data-motion="off"] .sandwich-art,
html[data-motion="off"] .spacecraft-motion,
html[data-motion="off"] .edible-body,
html[data-motion="off"] .food-spring,
html[data-motion="off"] .fleet-escort,
html[data-motion="off"] .raid-mini svg,
html[data-motion="off"] .shot-recoil,
html[data-motion="off"] .hit-shake{animation:none!important;rotate:0deg!important;translate:none!important;transform:none}
@media(prefers-reduced-motion:reduce){
  .sandwich-art,.spacecraft-motion,.edible-body,.food-spring,.fleet-escort,.raid-mini svg,.shot-recoil,.hit-shake{animation:none!important;rotate:0deg!important;translate:none!important}
}

/* ===== v1.9 Музыкальная система: чёткие и доступные настройки ===== */
.audio-quick{color:#ffe7aa;background:linear-gradient(135deg,#423118,#1a2b42);border:1px solid #bd9453;border-radius:11px;padding:10px 12px;font-weight:800;white-space:nowrap;font-size:12px;min-width:150px}
.audio-quick:hover{filter:brightness(1.16)}
.settings-audio{border:1px solid #527a9c;border-radius:14px;padding:15px 16px;background:linear-gradient(120deg,#17324dbb,#1b233bbb);margin:15px 0;display:grid;gap:11px}
.settings-audio-heading{display:flex;gap:10px;justify-content:space-between;align-items:start;flex-wrap:wrap}
.settings-audio-heading b{font-size:16px;color:#ffdea1}
.settings-audio-heading p{font-size:12px;color:#b8d3e7;margin:5px 0;line-height:1.5}
#audioStatus{color:#8fdccc;font-size:11px;font-weight:700;max-width:230px;text-align:right}
.audio-controls-row{display:flex;flex-wrap:wrap;gap:9px}.audio-controls-row button{flex:1;min-width:145px;padding:11px 9px;font-size:12px}
.audio-range-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:750;color:#dcecf6}
.audio-range-label output{color:#ffdc97;font-variant-numeric:tabular-nums}
.audio-volume{width:100%;height:24px;cursor:pointer;accent-color:#f6bb69;margin:0}
.audio-now{font-size:12px;color:#b4d2e8;margin:3px 0}.audio-now strong{color:#f8e2b7}
@media(max-width:740px){.audio-quick{min-width:unset;padding:9px 12px}.audio-quick #musicQuickIcon{display:none}}

/* v1.9.1 readability, alignment, cleaned visual debris */
.sky .orbit{display:none!important}
.dashboard{align-items:stretch}
.hero-panel,.work-panel,.side-panel{align-self:stretch}
.side-panel{align-content:start}
.sector-card,.mission-card,.side-foot{margin-bottom:0}
.side-panel{display:flex;flex-direction:column;gap:14px}
.side-panel #sectorPanel,.side-panel #missionPanel{display:flex;flex-direction:column}
.side-panel #sectorPanel .sector-card,.side-panel #missionPanel .mission-card{height:100%;box-sizing:border-box}
.side-foot{margin-top:auto;min-height:96px;box-sizing:border-box}
.live-strip .stat-chip{min-height:72px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}
.hull-row{min-height:53px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hero-actions{min-height:48px}.hero-actions button{min-height:48px}
.work-heading{min-height:92px;box-sizing:border-box}
.raid-header-actions{display:flex;gap:8px;align-items:center}
.raid-close-x{flex:none;width:40px;height:40px;display:grid;place-items:center;font-size:21px;font-weight:850;border-radius:10px;background:#48222c;color:#fff4e9;border:1px solid #e48995;cursor:pointer}
.raid-close-x:hover{background:#7a394a}
.prestige-target-bar{height:12px;border:1px solid #7565a8;background:#151a35;border-radius:16px;overflow:hidden;margin:12px 0}
.prestige-target-bar span{display:block;height:100%;background:linear-gradient(90deg,#c576e0,#f9d16c);transition:width .25s}
@media(max-width:1320px){.side-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.side-foot{grid-column:1/-1;min-height:0;margin-top:0}}
@media(max-width:700px){.side-panel{display:flex;flex-direction:column}.raid-header-actions{gap:4px}.raid-close-x{width:36px;height:36px}.work-heading{min-height:0}}

/* v1.9.2: galactic sector cards and crisp spaceship art */
.planet-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:13px 0 18px;min-width:0}
.planet-picker{display:grid;grid-template-columns:104px minmax(0,1fr);grid-template-rows:auto auto;gap:9px 12px;align-items:start;min-width:0;margin:0;padding:12px;border:1px solid #3f5e79;border-radius:14px;background:linear-gradient(125deg,#172943,#0b192e);overflow:hidden}
.planet-picker.is-active{border-color:#d8a659;background:linear-gradient(115deg,#26344a,#14243c);box-shadow:inset 0 0 0 1px #c98d3f33}
.planet-picker.is-locked{border-color:#314358;opacity:.83}
.planet-picker .planet-preview{grid-row:1/3;grid-column:1;width:104px;height:112px;object-fit:cover;border-radius:11px;border:1px solid #60839b;align-self:stretch;box-shadow:0 3px 12px #0007}
.planet-picker .planet-info{grid-row:1;grid-column:2;min-width:0;overflow-wrap:anywhere}
.planet-picker .planet-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;line-height:1.28}
.planet-picker .planet-title strong{color:#edf5ff;font-size:14px;font-weight:850;min-width:0}
.planet-picker .planet-description{font-size:11px;line-height:1.45;color:#c3d6e6;margin:7px 0 4px}
.planet-picker .planet-progress{margin:8px 0 3px;height:5px;border-radius:6px;background:#243d54;overflow:hidden}
.planet-picker .planet-progress span{display:block;height:100%;background:linear-gradient(90deg,#3fcab0,#b8f2c6)}
.planet-picker .planet-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;color:#afd1e8;font-size:10px;margin-top:6px}
.planet-picker .planet-tip{margin:9px 0 0;color:#ead7ae;font-size:11px;line-height:1.45}
.planet-picker .planet-action{grid-column:2;grid-row:2;justify-self:stretch;margin:0;padding:9px 12px;min-width:0;font-size:11px;white-space:normal;line-height:1.3}
@container (min-width:540px){.planet-picker{grid-template-columns:125px minmax(0,1fr) 116px;grid-template-rows:auto;align-items:center}.planet-picker .planet-preview{grid-row:1;width:125px;height:111px}.planet-picker .planet-info{grid-row:1}.planet-picker .planet-action{grid-column:3;grid-row:1}}
.panel-content{container-type:inline-size}
@media(max-width:440px){.planet-picker{grid-template-columns:82px minmax(0,1fr);padding:9px;gap:8px}.planet-picker .planet-preview{width:82px;height:105px}.planet-picker .planet-title strong{font-size:12px}.planet-picker .planet-tip{font-size:10px}}
/* Tame artifacts from the generated space backdrop and keep the ship legible. */
.sky::before{opacity:.78;filter:brightness(.75) saturate(.92)}
.sky .orbit,.sky .crumb{display:none!important}
.sky .flight-stream{opacity:.26}
.sandwich-art{filter:drop-shadow(0 19px 19px #0009) drop-shadow(0 0 8px #ffbe5638)}
/* Avoid harsh SVG cutoff near the ship's engines and bread edges */
.sandwich-art svg{overflow:visible}

/* Remove doubled celestial bodies/glyphs over supplied sector art. */
.sector-picture::before,.sector-picture::after{content:none!important;display:none!important}
/* Avoid generic star lines crossing the hull at every zoom. */
.planet-picker .planet-title strong{overflow-wrap:anywhere}

/* v2.0 · личная верфь, читаемые модернизации */
.ship-workshop{margin-top:14px;padding:14px;border:1px solid #5685b480;border-radius:14px;background:linear-gradient(145deg,#12263bc9,#081729dd)}
.ship-workshop h4{font-size:1.02rem;margin:0 0 8px;color:#ffdf9b}
.ship-workshop p{margin:0 0 12px;font-size:.83rem;line-height:1.45}
.ship-workshop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ship-workshop-item{display:flex;flex-direction:column;gap:7px;border:1px solid #5380a052;background:#0e2033b9;padding:10px;border-radius:11px;min-width:0}
.ship-workshop-item b{font-size:.9rem;color:#f0f8ff}.ship-workshop-item small{line-height:1.35;flex:1;color:#b6c9dc}
.ship-workshop-item button{white-space:normal;min-height:43px;font-size:.78rem;line-height:1.25}
.workshop-level{color:#9ddfd2;font-size:.82rem;font-weight:700}
@media(max-width:950px){.ship-workshop-grid{grid-template-columns:1fr}}

/* v2.1: second-tier voluntary prestige. */
.stellar-panel{border:1px solid #8663bd;border-radius:16px;background:linear-gradient(145deg,#2d2141,#111e38 66%,#141b2d);padding:20px;margin-top:22px;box-shadow:inset 0 1px 0 #ddc7ff23}
.stellar-panel h3{margin:0 0 8px;color:#eacbff;font-size:21px}
.stellar-panel>p{color:#cfcee5;font-size:13px;line-height:1.7}
.stellar-panel h4{margin:20px 0 12px;color:#f5d8ff;font-size:16px}
.stellar-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0}
.stellar-metrics span{background:#131a34;border:1px solid #645080;border-radius:10px;padding:10px;font-size:12px;color:#c4bed9}
.stellar-metrics b{display:block;color:#fbe0ff;font-size:19px;margin-top:3px}
.stellar-reqs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stellar-requirement{border-radius:11px;border:1px solid #60486e;padding:11px;background:#1b2139}
.stellar-requirement.met{border-color:#59877e;background:#182d30}
.stellar-requirement>span{font-size:12px;color:#dac5e8;display:block}
.stellar-requirement strong{display:block;margin:6px 0;font-size:14px;color:#faf0ff}
.stellar-bar{height:5px;background:#3b304b;border-radius:4px;overflow:hidden}
.stellar-bar i{height:100%;display:block;background:linear-gradient(90deg,#ae71f8,#f9c3ff)}
.stellar-requirement.met .stellar-bar i{background:#70d9b1}
.stellar-ascend{width:100%;margin-top:15px;padding:13px!important;font-weight:800}
.stellar-panel .stellar-warning{color:#e8cbab;font-size:12px;padding:10px 12px;border-left:3px solid #b99555;background:#291f2b;border-radius:7px}
.stellar-upgrades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stellar-upgrade{border:1px solid #59476f;border-radius:12px;padding:12px;background:#101d33}
.stellar-upgrade b{color:#f3dcff;font-size:14px}
.stellar-upgrade p{color:#bac4dc;font-size:12px;min-height:51px;line-height:1.5}
.stellar-upgrade>div{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.stellar-upgrade small{font-size:11px;color:#c5b2d6}
.stellar-upgrade button{font-size:12px}
@media(max-width:650px){.stellar-panel{padding:12px}.stellar-metrics{gap:5px}.stellar-reqs,.stellar-upgrades{grid-template-columns:minmax(0,1fr)}.stellar-metrics span{padding:8px;font-size:11px}.stellar-metrics b{font-size:16px}}

/* v2.2: Captain's fleet operations panel */
.fleet-governor{margin:14px 0;padding:16px;border:1px solid #527a9f;border-radius:14px;background:linear-gradient(140deg,#162d45,#0c192b);display:grid;gap:12px}.fleet-governor-metrics,.fleet-governor-settings{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.fleet-governor-metrics span{padding:6px 10px;border:1px solid #44637f;border-radius:8px;background:#0b1b30;color:#dceefa}.fleet-governor-settings label{display:flex;flex:1 1 190px;flex-direction:column;gap:6px;color:#e6f3ff;font-size:.91rem}.fleet-governor-settings label:first-child{flex-direction:row;align-items:center}.fleet-governor-settings input[type=number],.fleet-governor-settings select{background:#0b1c31;color:#fff;border:1px solid #6286a5;border-radius:8px;max-width:100%;min-height:42px;padding:8px}.fleet-governor-settings input[type=checkbox]{width:18px;height:18px;accent-color:#55c9be}.fleet-operation-log{border-top:1px solid #46627e;padding-top:10px}.fleet-operation-log summary{cursor:pointer;color:#9fe6d4;font-weight:650}.fleet-operation-log p{border-bottom:1px solid #31455a;margin:5px 0;padding:5px 0;line-height:1.45}.fleet-operation-log small{color:#a9bbce;margin-right:7px}@media(max-width:650px){.fleet-governor{padding:12px}.fleet-governor-metrics span{flex:1 1 140px}}


/* v2.4: Галактическая радиорубка: чистая сетка и компактная вертикальная компоновка. */
.signal-panel{padding:15px 16px;border:1px solid #477ca7;border-radius:15px;background:linear-gradient(135deg,#102a41dd,#101c30ed);margin-bottom:20px;box-shadow:inset 0 1px #ffffff1a}
.signal-panel .category-title{margin:0 0 12px;display:flex;gap:9px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.signal-active{padding:12px 14px;background:#183958;border:1px solid #4ac4d877;border-radius:12px}
.signal-active .signal-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:1.02rem}
.signal-active p{margin:9px 0;color:#d9ecfa;line-height:1.45}
.signal-active button{max-width:100%;white-space:normal;text-align:center}
.signal-quiet{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#d4edff;padding:12px 6px}
.signal-quiet small{color:#9ac7df}
.signal-panel .score-row{flex-wrap:wrap;gap:8px;margin:13px 0;font-size:.86rem}
.signal-library{border-top:1px solid #6189ab55;padding-top:10px}
.signal-library summary{cursor:pointer;color:#a6e8ff;font-weight:700;list-style:revert;padding:5px 0}
.signal-discoveries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}
.signal-discovery{padding:8px;border-radius:8px;border:1px solid #546f8644;background:#101929;color:#7e94a5;font-size:.78rem;min-width:0}
.signal-discovery.found{color:#d5f7e0;border-color:#42866b70;background:#173b3644}
.signal-log{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #ffffff18;padding:8px 0;flex-wrap:wrap;font-size:.8rem}
.signal-log small{color:#b1dfce}
.signal-side{padding:10px;border-radius:9px;background:#163652bb;border:1px solid #4aa9c966;display:flex;flex-direction:column;gap:4px;margin-top:12px;font-size:.84rem}
.signal-side span{color:#bed3e2}
@media(max-width:520px){.signal-panel{padding:11px}.signal-discoveries{grid-template-columns:1fr}.signal-panel .score-row{font-size:.78rem}}

/* v2.5: сюжетные хроники, адаптивные карточки без горизонтального скролла */
.chronicle-panel{margin:14px 0 20px;padding:15px;border:1px solid #476481;border-radius:17px;background:linear-gradient(145deg,#132c48,#101d35 75%);box-shadow:0 10px 30px #0003}
.chronicle-panel .category-title{margin-top:0}
.chronicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.chronicle-card{min-width:0;padding:13px;border:1px solid #3a5674;background:#0b192bdb;border-radius:13px}
.chronicle-card-title{display:flex;gap:9px;align-items:center}
.chronicle-card-title>div{min-width:0;flex:1}
.chronicle-card-title b,.chronicle-card-title small{display:block;overflow-wrap:anywhere}
.chronicle-card-title small{color:#aabfd5;font-size:12px;margin-top:3px}
.chronicle-icon{font-size:24px}
.chronicle-card h4{margin:13px 0 7px;color:#ffe2a4;font-size:15px}
.chronicle-card p{color:#bccfdd;font-size:13px;line-height:1.4;min-height:56px}
.chronicle-progress{background:#243c52;height:7px;border-radius:99px;overflow:hidden;margin-top:9px}
.chronicle-progress span{display:block;height:100%;background:linear-gradient(90deg,#43c9db,#fbbf5a);border-radius:99px;transition:width .25s}
.chronicle-caption{display:flex;gap:6px;justify-content:space-between;margin-top:7px;font-size:12px;color:#9fc9db}
.chronicle-caption strong{color:#e1f7fe;white-space:nowrap}
.chronicle-past{margin-top:10px;color:#b9d2eb;font-size:12px}
.chronicle-past summary,.chronicle-history summary{cursor:pointer}
.chronicle-past ul{margin:8px 0;padding-left:17px}
.chronicle-finished{border-color:#3f906b;background:#122a2b}
.chronicle-bonus{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 0 7px;color:#cceaf6}
.chronicle-bonus b{color:#8af6b4;white-space:nowrap}
.chronicle-history{border-top:1px solid #354b61;padding-top:10px;font-size:13px}
.chronicle-event{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #30445a}
.chronicle-event span{flex:1}
.chronicle-event small{white-space:nowrap;color:#9edac1}
@media(max-width:730px){.chronicle-grid{grid-template-columns:minmax(0,1fr)}.chronicle-panel{padding:12px}.chronicle-card p{min-height:0}}
/* Карточки находятся в УЗКОЙ центральной панели даже на широком мониторе. */
.chronicle-grid{grid-template-columns:minmax(0,1fr)}
.chronicle-card p{min-height:0}
.chronicle-card-title b{font-size:14px}

/* v2.6: совместные флотские операции */
.special-operations{border:1px solid #39618c;border-radius:16px;margin:18px 0;padding:18px;background:linear-gradient(145deg,rgba(25,49,76,.95),rgba(8,21,38,.96));box-shadow:0 8px 24px #04101a55}
.special-op-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.special-op-card{border:1px solid #375779;background:#0e2137;border-radius:12px;padding:14px;min-width:0;display:flex;flex-direction:column;gap:9px}
.special-op-card p{color:#c7d8e8;font-size:13px;line-height:1.45;margin:0;flex-grow:1}
.special-op-name{display:flex;align-items:center;gap:8px;justify-content:space-between}
.special-op-name b{font-size:14px;color:#f7e7b3}.special-op-name .pill{white-space:nowrap;font-size:11px}
.special-op-stats{display:flex;gap:7px;flex-wrap:wrap;font-size:11px;color:#a8c7df}
.special-op-stats span{background:#19334b;padding:5px 7px;border-radius:8px}
.special-op-pay{font-size:12px;color:#f4ca77}
.special-op-card button{width:100%;margin-top:3px;min-height:38px}
.special-op-locked{opacity:.75}.special-op-active{margin-top:12px;border:1px solid #51a4bc;border-radius:12px;padding:14px;background:linear-gradient(120deg,#12395a,#10334b);display:grid;gap:9px}
.special-op-active b{color:#fceab7}.special-op-active small{color:#b9d2e2}.special-op-active .progress{width:100%;height:7px}
.special-op-history{margin-top:13px;padding:12px;border:1px solid #324b66;border-radius:10px;color:#cfe2ef}
.special-op-history summary{cursor:pointer;font-weight:600}.special-op-log{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #35516a;font-size:12px}.special-op-log small{color:#a8c4d8}
@media(max-width:740px){.special-operations{padding:12px}.special-op-grid{grid-template-columns:1fr}.special-op-log{align-items:flex-start;flex-direction:column}}

/* В средней колонке карточки операций должны читаться без двух узких колонок. */
.special-op-grid{grid-template-columns:1fr}

/* v2.7 — кладовая реликвий, контрастные неразмытые карточки */
.relic-section{margin:20px 0;padding:15px;border:1px solid #4579a1;border-radius:15px;background:linear-gradient(140deg,#0d1b32,#172d42 75%,#101d32)}
.relic-mounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0}
.relic-mount{background:#0c1b30;border:1px dashed #75a9cb;border-radius:10px;padding:12px;font-weight:700;color:#d5ebff;min-height:45px;display:flex;align-items:center;justify-content:center;text-align:center}
.relic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.relic-card{display:flex;align-items:center;gap:10px;min-width:0;min-height:82px;border:1px solid #2e5479;border-radius:12px;padding:9px;background:linear-gradient(120deg,#111f35,#19324b)}
.relic-card.active{border-color:#e6c469;box-shadow:inset 0 0 0 1px #a68745;background:linear-gradient(120deg,#253548,#352c3a)}
.relic-card.locked{opacity:.75}
.relic-art{width:54px;min-width:54px;height:54px;display:grid;place-items:center;font-size:28px;border-radius:12px;background:linear-gradient(150deg,#324b6d,#111b35);border:1px solid #6686af;box-shadow:0 4px 10px #040a1970}
.relic-copy{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}.relic-copy b{font-size:13px;color:#fff2cb}.relic-copy small{font-size:11px;color:#b9ccdd;line-height:1.4}
.relic-card button{min-width:80px;max-width:102px;font-size:11px;flex-shrink:0;white-space:normal}
@media(max-width:960px){.relic-grid{grid-template-columns:1fr}}@media(max-width:460px){.relic-card{flex-wrap:wrap}.relic-copy{min-width:calc(100% - 70px)}.relic-card button{width:100%;max-width:none}.relic-mounts{grid-template-columns:1fr}}

/* v2.8 · крупные космические происшествия */
.incident-panel{margin:16px 0 21px;padding:15px;border:1px solid #4d779b;border-radius:14px;background:linear-gradient(142deg,#0d1b30,#152840 70%,#1b2137);box-shadow:0 7px 20px #0003}
.incident-panel .category-title{margin-top:0}.incident-live{padding:14px;background:linear-gradient(120deg,#243a51,#232b47);border:1px solid #d0a05f;border-radius:12px}
.incident-live header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:16px}.incident-live header strong{flex:1}.incident-live p{font-size:13px;line-height:1.45}.incident-stats{display:flex;gap:10px;flex-wrap:wrap}.incident-stats span{padding:5px 8px;background:#102439;border-radius:7px;font-size:12px}.incident-timer{margin-top:12px;color:#ffdb9b}.incident-quiet{border:1px dashed #456c83;border-radius:12px;background:#0b1a2c;padding:15px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.incident-quiet small{color:#abcadf}
.incident-command{margin:12px 0;display:flex;gap:16px;align-items:center;justify-content:space-between}.incident-command>div{display:flex;flex-direction:column;gap:5px}.incident-command small{color:#bcd1e2;font-size:11px}.incident-command select{max-width:235px;width:100%;background:#0d2438;color:#f2f8ff;border:1px solid #5c90b3;border-radius:8px;padding:10px;min-height:42px}
.incident-reputation{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid #365772;padding:10px 0;color:#cfe8ef}.incident-chips{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 11px}.incident-chip{font-size:11px;background:#0a1b2e;border:1px solid #34536e;border-radius:18px;padding:6px 9px;color:#70869b}.incident-chip.discovered{background:#21374c;color:#e3f2f9;border-color:#6082a8}.incident-library{border-top:1px solid #3d526d;margin-top:12px;padding-top:10px}.incident-library summary{cursor:pointer;font-weight:650;color:#d8e9ff}.incident-history{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #31485c;font-size:12px}.incident-history small{color:#adcadf}
@media(max-width:700px){.incident-command{flex-direction:column;align-items:stretch}.incident-command select{max-width:none}.incident-history{flex-direction:column;align-items:flex-start}}

.incident-scene{position:relative;height:126px;overflow:hidden;margin:-5px -5px 13px;border-radius:10px;border:1px solid #5f8098;background:#122b46}.incident-scene svg{width:100%;height:100%;display:block}.incident-scene-emblem{position:absolute;left:12%;top:19%;font-size:54px;filter:drop-shadow(0 4px 6px #0009);animation:incident-hover 4s ease-in-out infinite}.incident-scene-label{position:absolute;left:10px;bottom:8px;padding:4px 8px;border-radius:5px;background:#10233fdd;color:#cee9f4;font-size:10px;letter-spacing:.08em;font-weight:650}@keyframes incident-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@media(prefers-reduced-motion:reduce){.incident-scene-emblem{animation:none}}

/* v2.9 · Внешность флотилии */
.fleet-visual-inspection{display:grid;grid-template-columns:minmax(145px,200px) 1fr;align-items:center;gap:12px;padding:10px 14px;background:linear-gradient(110deg,#10253a,#13273a77);border:1px solid #45617a77;border-radius:13px;margin:11px 0}
.fleet-visual-ship{height:122px;display:grid;place-items:center;background:radial-gradient(ellipse,#193955 0%,#0b1b2d 68%);border:1px solid #2b536f;border-radius:11px;overflow:hidden}
.fleet-visual-ship svg{height:112px;width:100%;max-width:210px;filter:drop-shadow(0 7px 8px #0008)}
.fleet-visual-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.fleet-visual-copy strong{color:#ffe5a6}.fleet-visual-copy span{color:#b9dff3;font-size:12px}.fleet-visual-copy small{color:#91acc3;font-size:11px;line-height:1.4}
.fleet-preview-ship{filter:drop-shadow(0 5px 6px #000c);z-index:2}.fleet-preview-ship svg{width:100%;height:auto}.fleet-sprite-flame{transform-origin:15px 52px;animation:fleet-engine-breath .9s ease-in-out infinite alternate}
@keyframes fleet-engine-breath{from{opacity:.58;transform:scaleX(.62)}to{opacity:1;transform:scaleX(1.22)}}
.fleet-sprite-body{transform-origin:79px 70px;animation:fleet-layers-bob 3.4s ease-in-out infinite alternate}
@keyframes fleet-layers-bob{from{transform:translateY(-.65px) rotate(-.5deg)}to{transform:translateY(.8px) rotate(.6deg)}}
.raid-mini .fleet-sprite-svg{width:100%;height:100%;overflow:visible}.raid-mini .fleet-sprite-flame{animation-duration:.45s}
@media(max-width:610px){.fleet-visual-inspection{grid-template-columns:1fr}.fleet-visual-ship{height:116px}.fleet-visual-copy{padding:0 3px}.fleet-preview-ship{width:47px!important}}
@media(prefers-reduced-motion:reduce){.fleet-sprite-flame,.fleet-sprite-body{animation:none!important}}
html[data-motion="off"] .fleet-sprite-flame,html[data-motion="off"] .fleet-sprite-body{animation:none!important}

/* v3.0 · Economic navigator */
.econ-nav{display:grid;gap:16px;padding-bottom:12px}
.econ-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(110deg,rgba(15,57,83,.94),rgba(34,27,76,.88));border:1px solid #47769f;border-radius:16px;padding:20px}
.econ-hero h3{margin:8px 0;font-size:22px;color:#f4fbff}.econ-hero p{font-size:13px;line-height:1.6;color:#c8dbe9;margin:0}
.econ-ring{flex:0 0 110px;height:110px;border-radius:50%;background:radial-gradient(circle at center,#0a1d32 55%,#184e68 56%,#347f98 62%,#0b1e36 65%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 0 24px #44a4cd22}
.econ-ring b{font-size:24px;color:#c8f9ff}.econ-ring small{font-size:10px;color:#aecddd}
.econ-section{border:1px solid #355672;background:linear-gradient(135deg,#11253c,#101b31);border-radius:14px;padding:17px}
.econ-section h4{font-size:16px;margin:0 0 13px;color:#e9f7ff}.econ-section p{font-size:13px;line-height:1.55;color:#c6d8e8}
.econ-metrics,.econ-forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.econ-metric{background:#081a2e;border-radius:10px;padding:12px;min-width:0;display:flex;flex-direction:column;gap:6px}
.econ-metric span{font-size:12px;color:#b2d2e9}.econ-metric b{font-size:19px;color:#fff}.econ-metric small{color:#98c3d7;font-size:11px}
.econ-meter{height:5px;background:#21384c;border-radius:9px;overflow:hidden}.econ-meter i{height:100%;display:block;background:linear-gradient(90deg,#45b5de,#8ff0c8)}
.econ-foot{font-size:12px!important;color:#9bb8ce!important;line-height:1.6!important;margin-top:12px}
.econ-forecast{border:1px solid #2e5771;background:#0a2038;border-radius:10px;padding:11px;min-width:0;display:flex;flex-direction:column;gap:8px}
.econ-forecast strong{font-size:13px;color:#d4f5ff}.econ-forecast>div{display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap;font-size:11px;color:#b1d6e9}.econ-forecast b{color:#fff}
.econ-progress b{font-size:17px;color:#d4f4ff}.econ-progress span{font-size:12px;color:#b0cbdc}.econ-progress .progress{margin:9px 0}
.econ-alert,.econ-good{padding:11px 12px;border-radius:10px;margin:10px 0;font-size:12px;line-height:1.5}
.econ-alert{background:#392b2b;border:1px solid #805344;color:#ffe5c9}.econ-good{background:#15382f;border:1px solid #467e69;color:#c1f9d9}
.econ-nav-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.econ-nav-actions button{font-size:12px}
.econ-purchases{display:grid;gap:7px}.econ-purchase{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center;padding:10px;background:#0b2037;border-radius:9px;border:1px solid #294761;font-size:12px}
.econ-purchase-title{grid-row:span 2;display:flex;flex-direction:column;min-width:0;gap:3px}.econ-purchase-title b{color:#eefaff;overflow-wrap:anywhere}.econ-purchase-title small{color:#9db8cc}.econ-purchase>span{color:#b7cfdf;text-align:right}.econ-purchase>strong{color:#ffd7a3;text-align:right;font-size:12px}.econ-purchase>strong.econ-ready{color:#83eab1}
@media(max-width:640px){.econ-hero{padding:14px;align-items:flex-start}.econ-hero h3{font-size:18px}.econ-ring{flex-basis:70px;height:70px}.econ-ring b{font-size:17px}.econ-ring small{font-size:8px}.econ-metrics,.econ-forecast-grid{grid-template-columns:1fr}.econ-purchase{grid-template-columns:1fr}.econ-purchase-title{grid-row:auto}.econ-purchase>span,.econ-purchase>strong{text-align:left}.econ-section{padding:12px}}

/* v3.1: economic purchase comparison */
.econ-advice-list{display:grid;gap:8px;margin:12px 0}
.econ-advice{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(130px,.85fr);gap:10px;align-items:center;background:#0a2035;border:1px solid #2e536e;border-radius:10px;padding:11px}
.econ-advice-rank{width:27px;height:27px;border-radius:50%;background:#17486c;color:#d4f6ff;font-weight:800;display:flex;align-items:center;justify-content:center}
.econ-advice-name{display:flex;flex-direction:column;gap:4px;min-width:0}.econ-advice-name b{font-size:13px;color:#f4fbff}.econ-advice-name small{font-size:11px;color:#a6c6d9}
.econ-advice-stats{display:flex;flex-direction:column;gap:4px;text-align:right;min-width:0}.econ-advice-stats strong{font-size:15px;color:#8de9bd}.econ-advice-stats small{font-size:10px;color:#93b8d3}.econ-advice-stats span{font-size:11px;line-height:1.4;color:#bdd5e3}
@media(max-width:600px){.econ-advice{grid-template-columns:26px minmax(0,1fr)}.econ-advice-stats{grid-column:2;text-align:left;align-items:flex-start}}

.econ-strategic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.econ-strategic{background:#0c2238;border:1px solid #31556b;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:5px;min-width:0}
.econ-strategic span{font-size:12px;color:#ddf5ff;overflow-wrap:anywhere}.econ-strategic small{font-size:11px;color:#b0c9db}
@media(max-width:640px){.econ-strategic-list{grid-template-columns:1fr}}

/* v3.2: mini-game repair panels. All responsive, no external dependencies. */
.mini-dialog{color:#eaf6ff;background:#0d2037;border:1px solid #5189ad;border-radius:18px;width:min(95vw,570px);max-height:94vh;padding:0;box-shadow:0 16px 80px #000c;overflow:auto}
.mini-dialog::backdrop{background:#010b1dbf;backdrop-filter:blur(3px)}
.mini-head{display:flex;justify-content:space-between;gap:12px;align-items:start;padding:20px 22px 14px;background:linear-gradient(110deg,#183d59,#122139)}
.mini-head h2{font-size:23px;margin:4px 0;color:white}.mini-head p{color:#c5d9e8;font-size:13px;margin:0}.mini-head .eyebrow{font-size:10px;color:#9be3e7;letter-spacing:1px}
.mini-close{border:1px solid #55728b;border-radius:10px;color:white;background:#122c44;font-size:20px;padding:8px 12px}
.mini-body{padding:14px 20px 18px}.mini-status{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#fbd8a2;font-size:12px;margin:0 0 14px}
.mini-board{display:grid;gap:6px;margin:12px auto;max-width:390px;aspect-ratio:1}.mini-board.three{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-board.five{grid-template-columns:repeat(5,minmax(0,1fr))}.mini-board.two{max-width:300px;grid-template-columns:repeat(2,minmax(0,1fr))}
.mini-cell{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;border:2px solid #2d5475;border-radius:10px;background:#132d49;color:#e0f8fd;padding:0;overflow:hidden;cursor:pointer;transition:border-color .15s, transform .15s}
.mini-cell:hover:not(:disabled){border-color:#7bd7df;transform:scale(.99)}.mini-cell.selected{border-color:#ffcf78;box-shadow:0 0 0 3px #ffcf7825}.mini-cell:disabled{cursor:default;opacity:.8}
.mini-picture-tile{width:100%;height:100%;background-repeat:no-repeat;background-color:#14324b;display:flex;align-items:end;justify-content:end}.mini-picture-tile i{font-style:normal;font-size:10px;background:#000a;color:white;padding:2px 5px;border-top-left-radius:5px}.mini-blank{width:100%;height:100%;background:#071527}
.mini-pipe svg{max-height:100%}.mini-pipe-empty{background:#0a1a2a;opacity:.44;border-style:dashed}.mini-pipe-info{display:flex;justify-content:space-between;color:#a8e8ea;font-size:12px}
.mini-path{font-size:clamp(12px,4vw,23px)}.mini-path.rock{background:#272d42}.mini-path.visited{background:#154b57}.mini-circuit{font-size:clamp(18px,5vw,40px)}.mini-circuit.on{background:#166e8a;border-color:#5cf4e0;box-shadow:inset 0 0 14px #74e2c777}.mini-signal{font-size:32px;min-height:110px}
.mini-footer{padding:13px 20px;background:#0b192b;border-top:1px solid #37536b;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.mini-footer span{font-size:11px;color:#b9cadc;flex:1;min-width:160px}
.mini-catalog{display:grid;gap:8px}.mini-card{background:#10283f;border:1px solid #31516b;border-radius:12px;padding:12px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center}.mini-card-icon{font-size:27px}.mini-card b{display:block;margin-bottom:5px}.mini-card small{font-size:11px;display:block;color:#a9bed1;line-height:1.5}.mini-settings{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.mini-settings .pill{font-size:12px}
@media(max-width:460px){.mini-card{grid-template-columns:29px minmax(0,1fr)}.mini-card button{grid-column:2;justify-self:start}.mini-dialog{max-height:96vh}.mini-head h2{font-size:19px}.mini-board{max-width:310px}}

/* v3.3 · consistent card layout across the entire interface.
   The old hull preview required 82px but its grid track only offered 52px;
   this caused the exact overlapping bread description reported by the player. */
.item-card, .module-card, .mini-card, .fleet-card, .sector-card, .mission-card,
.note-panel, .big-banner, .econ-section { min-width:0; }
.item-desc,.item-desc b,.item-desc p,.item-desc small,.hull-intro,
.module-card p,.mini-card>div,.category-title,.fleet-visual-copy,
.econ-metric,.econ-forecast,.econ-purchase-title,.raid-journal-line {
  min-width:0; max-width:100%; overflow-wrap:anywhere;
}
.item-card { grid-template-columns:52px minmax(0,1fr) auto; align-items:center; }
.item-card > button,.item-card .item-controls {min-width:0;max-width:100%;overflow-wrap:anywhere}
.item-card > button {white-space:normal;line-height:1.35;text-align:center}
.item-desc small {display:block;line-height:1.55}
.hull-option {grid-template-columns:82px minmax(0,1fr)!important;align-items:start;gap:11px 13px;}
.hull-option .hull-swatch {width:82px;min-width:0;max-width:100%;height:72px;grid-column:1;grid-row:1;}
.hull-option .item-desc {grid-column:2;grid-row:1;align-self:stretch;}
.hull-option .hull-meta {margin:7px 0 8px;}
.hull-option .hull-meta span {line-height:1.32;white-space:normal;}
.hull-option .select-btn {grid-column:2;grid-row:2;justify-self:end;width:auto;min-width:126px;max-width:100%;margin:0;padding:10px 12px;}
@container (max-width:650px) {
  .item-card:not(.hull-option):not(.ingredient-card) {grid-template-columns:52px minmax(0,1fr);align-items:start;}
  .item-card:not(.hull-option):not(.ingredient-card) > .item-controls,
  .item-card:not(.hull-option):not(.ingredient-card) > button {grid-column:2;grid-row:auto;justify-self:start;margin-top:4px;max-width:100%;}
  .item-card:not(.hull-option):not(.ingredient-card) > .item-controls{width:min(100%,240px);}
  .item-card:not(.hull-option):not(.ingredient-card) > button{min-width:min(125px,100%);}
}
@container (max-width:340px) {
  .hull-option {grid-template-columns:64px minmax(0,1fr)!important;gap:8px;}
  .hull-option .hull-swatch{width:64px;height:66px;}
  .hull-option .select-btn{min-width:0;}
  .item-card:not(.hull-option):not(.ingredient-card){grid-template-columns:44px minmax(0,1fr);}
}
.category-title{flex-wrap:wrap;line-height:1.35}
.category-title small{flex-shrink:1}
.raid-journal-line, .fleet-totals, .mini-settings {overflow-wrap:anywhere}
.mini-dialog .mini-body{overflow-wrap:anywhere}
.mini-card {grid-template-columns:34px minmax(0,1fr) auto}
.mini-card .mini-random-chip{font-size:10px;color:#b1d9f1;background:#163c58;padding:6px 8px;border:1px solid #376682;border-radius:8px;white-space:nowrap}
.mini-scan-board {max-width:375px;grid-template-columns:repeat(4,minmax(0,1fr));aspect-ratio:4/3}
.mini-scan.damaged {border-color:#cb805d;background:#52372b}
.mini-scan.found {border-color:#4bc4a1;background:#123f39}
.mini-cargo-board{grid-template-columns:repeat(5,minmax(0,1fr));aspect-ratio:5/2;max-width:450px}
.mini-cargo {display:flex;gap:4px;flex-direction:column;font-size:23px}
.mini-cargo strong{font-size:17px;color:#ffe8ad}
.mini-cargo-info,.mini-laser-info {display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 13px;font-size:12px;line-height:1.5;color:#b8e8ee}
.mini-armor{font-size:clamp(16px,4vw,24px)}
.mini-armor.cracked{background:#664331;border-color:#d29f70}
.mini-armor.repaired{background:#124d40;border-color:#3c9c87}
.mini-mirror strong {font-size:clamp(28px,7vw,54px);font-weight:700;line-height:1}
.mini-mirror.illuminated{background:#135166;border-color:#67def3;box-shadow:inset 0 0 19px #6dd6ed42}
.mini-mirror:disabled{opacity:.7}
@media(max-width:460px){
  .mini-card{grid-template-columns:32px minmax(0,1fr)}
  .mini-card .mini-random-chip{grid-column:2;justify-self:start}
  .mini-cargo{font-size:16px}.mini-cargo strong{font-size:13px}
}

/* FIX2: Ingredient shopping actions belong to the RIGHT of the description.
   Keep the hull options in their own, independently repaired layout. */
.item-card.ingredient-card {
  grid-template-columns:52px minmax(0,1fr) 132px;
  align-items:center;
  column-gap:10px;
}
.item-card.ingredient-card > .item-icon {grid-column:1;grid-row:1;}
.item-card.ingredient-card > .item-desc {grid-column:2;grid-row:1;}
.item-card.ingredient-card > .item-controls {
  grid-column:3;grid-row:1;
  justify-self:stretch;
  align-self:center;
  display:flex;
  flex-direction:column;
  width:132px;
  max-width:100%;
  gap:7px;
  margin:0;
}
.item-card.ingredient-card .buy-btn {width:100%;min-width:0;}
@media(max-width:470px){
  .item-card.ingredient-card{grid-template-columns:44px minmax(0,1fr) 112px;column-gap:6px;}
  .item-card.ingredient-card > .item-icon {width:44px;height:44px;}
  .item-card.ingredient-card > .item-controls{width:112px;}
  .item-card.ingredient-card .mini-btn {padding:3px 6px;}
  .item-card.ingredient-card .equip-row {gap:3px;}
  .item-card.ingredient-card .owned {min-width:30px;}
}

/* FIX2 definitive: ingredient +/- and purchase button stay in the RIGHT column. */
#ingredientCatalog .item-card.ingredient-card {
  display:grid!important; grid-template-columns:52px minmax(0,1fr) 132px!important;
  grid-template-rows:auto!important; gap:10px!important; align-items:center;
}
#ingredientCatalog .ingredient-card > .item-icon {grid-column:1!important;grid-row:1!important;}
#ingredientCatalog .ingredient-card > .item-desc {grid-column:2!important;grid-row:1!important;min-width:0;}
#ingredientCatalog .ingredient-card > .item-controls {
  grid-column:3!important;grid-row:1!important;display:flex!important;flex-direction:column!important;
  align-self:center!important;justify-self:stretch!important;width:100%!important;min-width:0;
  margin:0!important;gap:7px;
}
#ingredientCatalog .ingredient-card .buy-btn {width:100%;min-width:0;white-space:normal;}
@media(max-width:470px){
  #ingredientCatalog .item-card.ingredient-card {grid-template-columns:43px minmax(0,1fr) 105px!important;gap:6px!important;}
  #ingredientCatalog .ingredient-card .item-icon{width:43px;height:43px;}
  #ingredientCatalog .ingredient-card .equip-row {gap:2px;}
  #ingredientCatalog .ingredient-card .mini-btn{padding:3px 5px;}
  #ingredientCatalog .ingredient-card .owned{min-width:25px;}
  #ingredientCatalog .ingredient-card .buy-btn{padding:7px 3px;}
}

/* v3.4 flagship loss and re-synthesis, a 2D CSS effect with no external assets. */
.rebuild-overlay[hidden]{display:none!important}
.sky.ship-rebuilding #sandwichArt,.sky.ship-rebuilding #sceneNote,.sky.ship-rebuilding #ingredientInspect{visibility:hidden!important}
.rebuild-overlay{position:absolute;z-index:8;inset:12% 6% 12%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:14px;text-align:center;pointer-events:none;border:1px solid #72bbd89c;border-radius:22px;background:radial-gradient(ellipse at center,#0d3450e8 0%,#0c2035c9 55%,#07132391 100%);box-shadow:inset 0 0 40px #50d3ee12,0 0 25px #09152666}
.rebuild-vortex{width:140px;height:120px;position:relative;display:grid;place-items:center}
.rebuild-vortex:before,.rebuild-vortex:after{content:'';position:absolute;border:3px dashed #73e3ff;border-radius:50%;width:103px;height:103px;box-shadow:0 0 18px #6ce3ff66;animation:rebuild-spin 6s linear infinite}
.rebuild-vortex:after{width:74px;height:74px;border-color:#ffd88d;border-style:dotted;animation-direction:reverse;animation-duration:3.8s}
.rebuild-bread{font-size:45px;filter:drop-shadow(0 0 9px #ffd18a);animation:rebuild-pulse 1.8s ease-in-out infinite}
.rebuild-vortex i{position:absolute;left:3px;top:12px;width:7px;height:7px;background:#9af2ff;border-radius:50%;box-shadow:0 0 12px #70ddff;animation:rebuild-particle 2s ease-in-out infinite}
.rebuild-vortex i:nth-of-type(2){left:126px;top:67px;animation-delay:-.9s}.rebuild-vortex i:nth-of-type(3){left:41px;top:108px;animation-delay:-1.5s}
.rebuild-label{max-width:100%;font-size:clamp(11px,1.5vw,15px);letter-spacing:.05em;font-weight:900;color:#d9faff;line-height:1.4;text-shadow:0 1px 4px #051321}
.rebuild-clock{font-variant-numeric:tabular-nums;font-size:clamp(31px,4vw,51px);color:#ffe3a3;line-height:1.1}
.rebuild-overlay small{color:#b9f0ff;font-size:11px}.rebuild-overlay p{font-size:11px;color:#bad6e8;margin:1px 0}
@keyframes rebuild-spin{to{transform:rotate(360deg)}}@keyframes rebuild-pulse{50%{transform:scale(.83);opacity:.7}}@keyframes rebuild-particle{50%{transform:translate(9px,-16px);opacity:.15}}
@media(max-width:500px){.rebuild-overlay{inset:11% 4% 15%;padding:9px;gap:4px}.rebuild-vortex{height:91px}.rebuild-vortex:before{width:74px;height:74px}.rebuild-vortex:after{width:53px;height:53px}.rebuild-bread{font-size:34px}.rebuild-overlay p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.rebuild-vortex:before,.rebuild-vortex:after,.rebuild-bread,.rebuild-vortex i{animation:none!important}}

.rebirth-status[hidden]{display:none!important}.rebirth-status{margin:2px 10px 12px;padding:6px 10px;border-radius:8px;border:1px solid #5a83a1;background:#0e2940b0;color:#b5def3;font-size:11px;line-height:1.45}

/* v3.5 exploration autopilot & prediction */
.scout-forecast{padding:8px 10px;margin:8px 0!important;border:1px solid #3d5e7a;border-radius:8px;background:#102237;color:#bfe2f5!important;overflow-wrap:anywhere}
.auto-scout-toggle{white-space:normal;line-height:1.35;min-height:39px}.auto-scout-toggle.is-active{background:#155244;border-color:#5abf9b;color:#e6fff2}

/* v3.6: discreet fleet forecasts, preserving the original side-by-side controls. */
.fleet-mission-forecast{margin:10px 0;padding:8px 11px;background:#102b39;border:1px solid #3a6972;border-radius:9px;color:#cde9e2;font-size:11px;line-height:1.55;overflow-wrap:anywhere}

/* v3.9: compact, non-interactive guardian dispatch panel. Boss fights remain automatic. */
.guardian-dispatch{margin:17px 0;padding:15px;border:1px solid #6386ad;border-radius:13px;background:linear-gradient(125deg,#101e34,#1b2841);min-width:0}
.guardian-dispatch h3{font-size:16px;margin:0 0 8px;color:#f1e1aa}
.guardian-dispatch p{font-size:12px;line-height:1.6;color:#c2d6e8;margin:5px 0 11px}
.guardian-dispatch-count{font-size:12px;color:#aee9e1;border-bottom:1px solid #3b5873;padding-bottom:10px;margin-bottom:4px}
.guardian-dispatch-row{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #2c4561;min-width:0;font-size:12px}
.guardian-dispatch-row>span:first-child{min-width:0;overflow-wrap:anywhere}
.guardian-dispatch-row small{display:block;margin-top:4px;color:#9fb9d2;font-size:11px;line-height:1.4}
.guardian-dispatch-power{flex:0 0 auto;text-align:right;font-variant-numeric:tabular-nums;color:#ffdfa8;font-weight:750}
@media(max-width:430px){.guardian-dispatch{padding:11px}.guardian-dispatch-row{gap:7px}.guardian-dispatch-row small{font-size:10px}.guardian-dispatch-power{font-size:11px}}

/* v4.0: channel branding and accessible locale selector. No change to ingredient cards. */
.language-shortcut{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:10px;border:1px solid #42617b;background:#0e2439;white-space:nowrap;color:#dff3ff;font-size:13px;max-width:186px}
.language-shortcut select,.settings-language select{max-width:100%;background:#10283f;color:#edf7ff;border:1px solid #527b9c;border-radius:7px;padding:7px 4px;font-size:12px;min-width:0;cursor:pointer}
.language-shortcut:focus-within{outline:2px solid #75d7df;outline-offset:2px}
.settings-language,.settings-brand{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px;margin:13px 0;border:1px solid #42617b;border-radius:12px;background:#10243d}
.settings-language>div,.settings-brand>div{flex:1 1 185px;min-width:0}.settings-language p,.settings-brand p{color:#afcbe0;font-size:12px;line-height:1.5;margin:5px 0}
.settings-brand{align-items:flex-end}.channel-url-label{display:flex;flex-direction:column;gap:5px;flex:1 1 210px;min-width:0;font-size:12px}.channel-url-label input{width:100%;box-sizing:border-box;min-width:0;background:#091d2c;border:1px solid #61809e;color:#e6f3ff;border-radius:7px;padding:10px}
#youtubeLinkStatus{flex-basis:100%;font-size:11px;color:#a8d4df}
.cosmo-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px;border-top:1px solid #30465c;letter-spacing:normal}
.footer-info{display:flex;flex-direction:column;gap:4px;font-size:11px}.footer-info small{font-size:11px;color:#a9bfd4;line-height:1.4}.credits-brand{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:14px}
.credit-sign{font-size:12px;color:#afc2da}.credit-sign strong{color:#f2ddad;font-size:13px}
.youtube-channel{display:flex;align-items:center;gap:10px;min-width:170px;min-height:47px;padding:5px 13px;border:1px solid #596b89;border-radius:12px;background:linear-gradient(115deg,#253348,#13283d);text-decoration:none;color:#e9f5ff;box-sizing:border-box}
.youtube-channel:not(.not-connected):hover{border-color:#f26c6c;background:#30415c}.youtube-channel.not-connected{cursor:default;opacity:.75}
.youtube-logo-shell{width:45px;height:33px;display:grid;place-items:center;border:1px dashed #ca7272;border-radius:7px;background:#3c2330;overflow:hidden;flex:0 0 auto}
.youtube-logo-shell img{width:100%;height:100%;object-fit:contain}.youtube-logo-shell img[hidden],#youtubePlaceholder[hidden]{display:none!important}
#youtubePlaceholder{font-size:19px;color:#ffb5b5}.youtube-channel-copy{display:flex;flex-direction:column;gap:4px}.youtube-channel-copy b{font-size:13px}.youtube-channel-copy small{font-size:10px;color:#bbcedc}
[lang="zh-Hans"] body,[lang="zh-Hant"] body,[lang="ja"] body{line-break:strict;word-break:normal}
@media(max-width:860px){.language-shortcut{order:4;max-width:200px}.credits-brand{justify-content:flex-start}.cosmo-footer{align-items:flex-start}}
@media(max-width:550px){.cosmo-footer{padding:13px 11px;flex-direction:column;align-items:stretch}.language-shortcut{max-width:170px}.youtube-channel{min-width:150px}}

/* v4.3 · Official Project_DSG credit, visible but never over gameplay. */
.youtube-channel{min-height:54px;padding:6px 11px;gap:9px}
.youtube-logo-shell{width:44px;height:44px;min-width:44px;border:1px solid #7e91b2;border-radius:10px;background:#0d1c30}
.youtube-logo-shell img{width:100%;height:100%;object-fit:contain}
.youtube-channel-copy b{font-size:12px;letter-spacing:0}
.youtube-channel-copy small{font-size:11px;overflow-wrap:anywhere}
.official-channel-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:10px;border:1px solid #6082a2;color:#d9eeff;text-decoration:none;font-weight:700;font-size:12px}
.official-channel-link:hover{background:#254360;border-color:#83aed6}
.cosmo-footer .credit-sign,.cosmo-footer .youtube-channel{position:static;z-index:auto}
@media(max-width:550px){.youtube-channel{width:fit-content}.cosmo-footer{gap:10px}}

/* v5.8: resolution layer deliberately covers ONLY the active mini-game, never the rest of the game. */
.mini-dialog{position:relative;isolation:isolate}
.mini-outcome[hidden]{display:none!important}
.mini-outcome{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;min-height:100%;padding:18px;background:rgba(3,11,24,.92);backdrop-filter:blur(7px);box-sizing:border-box}
.mini-outcome-card{width:min(100%,440px);text-align:center;border:1px solid #547b9f;border-radius:18px;background:linear-gradient(155deg,#18324c,#0b1c30);box-shadow:0 15px 46px #0008;padding:22px 18px 24px;max-height:calc(94vh - 36px);overflow-y:auto}
.mini-outcome.is-success .mini-outcome-card{border-color:#47caa6;box-shadow:0 0 38px #42b99e35}
.mini-outcome-icon{font-size:clamp(46px,10vw,68px);margin-bottom:8px;line-height:1.1}
.mini-outcome-card h2{font-size:clamp(21px,5vw,29px);line-height:1.15;color:#fff;margin:4px 0 9px}
.mini-outcome-card p{color:#c9dded;font-size:14px;line-height:1.5;margin:0 0 16px}
.mini-outcome-rewards{display:grid;gap:8px;text-align:left;margin:0 auto 19px;max-width:350px}
.mini-outcome-rewards>div{background:#102e42;border:1px solid #3a637e;border-radius:10px;padding:10px 13px;color:#eaf9ff;font-size:14px;font-weight:650;overflow-wrap:anywhere}
.mini-outcome-rewards .mini-reward-good{border-color:#338c72;color:#b5ffe1}
.mini-outcome-rewards .mini-reward-cost{border-color:#875a46;color:#ffd1b2}
.mini-outcome-button{min-width:min(100%,230px);font-size:15px;padding:11px 20px}
@media(max-width:430px){.mini-outcome{padding:9px}.mini-outcome-card{padding:18px 12px}.mini-outcome-rewards>div{font-size:13px}}

/* v6.3: prominent ship telemetry, clean geometric styling, readable at mobile widths */
.flight-telemetry{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(105px,.82fr) auto;align-items:center;gap:13px;padding:14px 15px;background:linear-gradient(135deg,#11304c,#0b1c30);border:1px solid #619aba;border-radius:15px;box-shadow:inset 0 1px 0 #b9e5ff1a,0 9px 24px #01070e55;min-width:0}
.flight-health-main{min-width:0}.flight-health-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;color:#d9eeff;font-weight:850;font-size:13px}
.flight-health-heading strong{font-variant-numeric:tabular-nums;font-size:clamp(26px,2.4vw,34px);line-height:1;color:#b4fce2;white-space:nowrap}
.flight-health-track{height:16px;border-radius:7px;background:#07121e;overflow:hidden;border:1px solid #5781a4;box-shadow:inset 0 2px 5px #01060bbd}
.flight-health-track span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#1fba8e,#80ebc3);transition:width .25s ease,background .25s ease}
.flight-health-warning{display:block;font-size:11px;font-weight:750;color:#ffb3a8;margin-top:5px;min-height:12px}
.flight-health-warning[hidden]{display:none!important}
.flight-telemetry.is-warning{border-color:#d6a253}.flight-telemetry.is-warning .flight-health-track span{background:linear-gradient(90deg,#c78123,#f2c869)}.flight-telemetry.is-warning .flight-health-heading strong{color:#ffd59b}
.flight-telemetry.is-critical{border-color:#f17a74;box-shadow:0 0 0 1px #fe69563b,0 8px 23px #0008}.flight-telemetry.is-critical .flight-health-track span{background:linear-gradient(90deg,#b72d46,#ff706b)}.flight-telemetry.is-critical .flight-health-heading strong{color:#ff9995}
.flight-secondary-metrics{display:grid;gap:7px;border-left:1px solid #51708b6e;padding-left:12px}.flight-metric{display:flex;flex-direction:column;gap:3px;white-space:nowrap}.flight-metric span{font-size:11px;color:#b6d8ee}.flight-metric strong{font-size:17px;font-variant-numeric:tabular-nums;color:#fff3cd}
.flight-telemetry .flight-repair{min-width:91px;font-size:12px;padding:10px 9px}
@media(max-width:550px){.flight-telemetry{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px}.flight-health-main{grid-column:1 / -1}.flight-secondary-metrics{grid-column:1;border-left:0;border-top:1px solid #50799b70;padding:8px 0 0;grid-template-columns:1fr 1fr}.flight-metric strong{font-size:16px}.flight-telemetry .flight-repair{grid-column:2;grid-row:2;align-self:end}.flight-health-heading strong{font-size:29px}}
/* Light celebratory burst layered only over an outcome, not the main game. */
.outcome-particles{pointer-events:none;position:absolute;inset:0;z-index:2;overflow:hidden;border-radius:inherit}.outcome-particle{position:absolute;left:var(--fx-x);top:var(--fx-y);display:block;width:var(--fx-size,8px);height:var(--fx-size,8px);border-radius:2px;background:var(--fx-color,#ffc66a);opacity:0;transform:translate3d(0,0,0);animation:cosmo-fx-pop var(--fx-duration,1600ms) var(--fx-delay,0ms) ease-out forwards;will-change:transform,opacity}.outcome-particles.is-defeat .outcome-particle{border-radius:50%;filter:blur(1px)}
@keyframes cosmo-fx-pop{0%{transform:translate3d(0,0,0) rotate(0deg) scale(.45);opacity:0}12%{opacity:.95}75%{opacity:.8}100%{transform:translate3d(var(--fx-dx),var(--fx-dy),0) rotate(var(--fx-rotate,380deg)) scale(.55);opacity:0}}
@media(prefers-reduced-motion:reduce){.flight-health-track span{transition:none}.outcome-particle{animation:none;display:none}}

/* v6.4 actual HUD move: independent of hero column, full-width status above entire game. */
.global-hud-wrap{max-width:1510px;padding:0 22px;margin:13px auto 3px;position:relative;z-index:1}
.global-hud-wrap .global-ship-status{width:100%;display:grid;grid-template-columns:minmax(220px,2.4fr) minmax(210px,1fr) minmax(120px,auto);min-height:100px;padding:15px 19px;gap:22px;align-items:center;border:2px solid #71add1;border-radius:16px;background:linear-gradient(112deg,#102e4c,#10263e 58%,#162b39);box-shadow:0 9px 24px #02061166,inset 0 1px 0 #ffffff1c}
.global-hud-wrap .flight-health-heading{font-size:16px;letter-spacing:.015em;margin-bottom:8px}
.global-hud-wrap .flight-health-heading strong{font-size:clamp(32px,3.4vw,47px);font-weight:900}
.global-hud-wrap .flight-health-track{height:21px;border:1px solid #79accb}
.global-hud-wrap .flight-health-warning{font-size:12px;margin-top:6px}
.global-hud-wrap .flight-secondary-metrics{display:grid;grid-template-columns:1fr 1fr;gap:17px;align-items:center;padding-left:19px;border-left:1px solid #739ec284}
.global-hud-wrap .flight-metric span{font-size:13px}
.global-hud-wrap .flight-metric strong{font-size:clamp(18px,1.7vw,25px)}
.global-hud-wrap .flight-repair{min-width:145px;font-size:15px;padding:15px 16px}
@media(max-width:850px){
 .global-hud-wrap{padding:0 13px;margin-top:10px}
 .global-hud-wrap .global-ship-status{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;min-height:0;padding:12px 14px}
 .global-hud-wrap .flight-health-main{grid-column:1/-1}
 .global-hud-wrap .flight-secondary-metrics{grid-column:1;grid-row:2;grid-template-columns:1fr 1fr;border-left:0;border-top:1px solid #6a94bb70;padding:11px 0 0;gap:8px}
 .global-hud-wrap .flight-repair{grid-column:2;grid-row:2;align-self:center;min-width:110px;font-size:13px;padding:11px 10px}
 .global-hud-wrap .flight-health-heading strong{font-size:clamp(30px,6vw,38px)}
}
@media(max-width:460px){
 .global-hud-wrap{padding:0 10px;margin-top:8px}
 .global-hud-wrap .global-ship-status{padding:11px 12px;gap:9px;border-radius:12px}
 .global-hud-wrap .flight-health-heading{font-size:13px}
 .global-hud-wrap .flight-health-heading strong{font-size:32px}
 .global-hud-wrap .flight-metric span{font-size:11px}
 .global-hud-wrap .flight-metric strong{font-size:16px}
 .global-hud-wrap .flight-repair{font-size:12px;padding:11px 7px;min-width:91px}
}

/* v6.5: automated battle banter below ships; never covers combatants or controls */
.raid-comms{display:grid;grid-template-columns:1fr;align-content:center;gap:5px;min-height:74px;padding:8px 14px;background:linear-gradient(95deg,#0e1f35,#19253b 51%,#211a35);border-top:1px solid #43627b;border-bottom:1px solid #38536c;overflow:hidden}
.raid-quip{display:flex;gap:10px;align-items:baseline;min-width:0;font-size:clamp(11px,.95vw,14px);line-height:1.38;color:#b4c5db;opacity:.72;}
.raid-quip.current{opacity:1;color:#fff2cf;}
.raid-quip-foe.current{color:#ffd6bb}
.raid-quip-speaker{flex:none;font-size:clamp(9px,.78vw,11px);letter-spacing:.02em;color:#f1ab8b;min-width:94px}
.raid-quip-crew .raid-quip-speaker{color:#83ddd8}
.raid-quip-text{overflow-wrap:anywhere}
@media(max-width:610px){.raid-comms{min-height:90px;padding:7px 9px;gap:4px}.raid-quip{display:block;font-size:11px}.raid-quip-speaker{display:block;margin-bottom:1px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.raid-comms,.raid-quip{animation:none!important;transition:none!important}}

/* v6.6: banter must grow with its text; the old overflow:hidden cut the lines.
   More vertical breathing room under the combatants without covering ships. */
.raid-overlay{align-items:flex-start;overscroll-behavior:contain;}
.raid-window{margin:auto;flex:none;max-width:100%;}
.raid-comms{
  box-sizing:border-box;min-height:110px;height:auto;overflow:visible;
  align-content:start;gap:10px;padding:15px clamp(14px,2.4vw,26px) 19px;
}
.raid-quip{align-items:flex-start;min-height:0;font-size:clamp(12px,1.12vw,15px);line-height:1.6;gap:14px}
.raid-quip-speaker{min-width:115px;font-size:clamp(10px,.85vw,12px);padding-top:2px;white-space:normal}
.raid-quip-text{display:block;flex:1;min-width:0;overflow:visible;overflow-wrap:break-word;word-break:normal;white-space:normal}
@media(max-width:740px){
 .raid-comms{min-height:110px;padding:14px 15px 18px;gap:9px}
 .raid-quip{display:block;font-size:clamp(12px,2.4vw,14px);line-height:1.55}
 .raid-quip-speaker{display:block;min-width:0;margin-bottom:3px;font-size:10px}
 .raid-arena{height:clamp(220px,39vh,300px)}
}
@media(max-width:440px){.raid-comms{padding:12px 12px 17px;gap:8px}.raid-quip{font-size:12px}}
@media(max-height:700px){.raid-arena{height:clamp(185px,35vh,290px)}.raid-overlay{padding:8px}}
