.sb-page-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.sb-page-head h1{font-size:clamp(32px,3.4vw,52px);margin-bottom:10px}.sb-page-head p{max-width:760px}.sb-page-head .sb-back{flex-shrink:0;font-size:13px;letter-spacing:.3px}
.ship-builder{margin-top:24px;color:var(--text);--sb-line:rgba(87,221,255,.19)}
.ship-builder .button{min-height:42px;padding:10px 17px;font-family:var(--display);font-size:14px;white-space:normal}.ship-builder button:disabled{opacity:.45;cursor:not-allowed}.ship-builder :focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.sb-overview{border-top:2px solid var(--gold);background:radial-gradient(ellipse at 5% 0,rgba(232,195,106,.065),transparent 48%),linear-gradient(120deg,rgba(5,17,33,.96),rgba(10,29,48,.9));overflow:hidden}.sb-overview::after{content:"";position:absolute;right:0;bottom:0;width:45px;height:45px;border-right:2px solid var(--cyan);border-bottom:2px solid var(--cyan);opacity:.45;pointer-events:none}
.sb-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px 10px}.sb-overview-heading .section-heading{flex:1;margin:0;font-size:11px;letter-spacing:1.6px}.sb-shared{color:#91b6ca;font-family:var(--display);font-size:10px;letter-spacing:1.5px;white-space:nowrap}
.sb-stats{display:grid;grid-template-columns:1.4fr 1.4fr repeat(4,1fr);padding:12px 8px 20px}.sb-stats>div{padding:2px 18px;border-right:1px solid var(--sb-line);min-width:0}.sb-stats>div:last-child{border-right:0}.sb-stats small{display:block;font-family:var(--display);font-size:12px;color:#9db9ca;letter-spacing:.35px}.sb-stats strong{display:block;color:var(--cyan);font-family:var(--display);font-size:clamp(25px,2.15vw,34px);line-height:1.25;margin:7px 0 0;font-variant-numeric:tabular-nums;white-space:nowrap}.sb-stats strong>span{font-size:16px;color:#96b8cc;font-weight:400}.sb-stats p{margin:9px 0 0;font-size:11px;line-height:1.5;color:#9bb8c9}.sb-stats .sb-over strong,.sb-stats .sb-over p{color:var(--gold)}
.sb-meter{height:4px;margin-top:12px;background:rgba(80,146,180,.15);overflow:hidden}.sb-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 8px rgba(87,221,255,.4);transition:width .25s}.sb-over .sb-meter i{background:linear-gradient(90deg,#a77b31,var(--gold));box-shadow:0 0 8px rgba(232,195,106,.3)}.sb-stat{display:flex;flex-direction:column}.sb-stat p{margin-top:auto;padding-top:12px}
.sb-validation{padding:12px 24px;border-top:1px solid var(--sb-line);background:rgba(3,13,26,.4);font-size:13px}.sb-validation summary{color:var(--gold);cursor:pointer}.sb-validation summary>span{float:right;font-size:12px;color:#99b5c8}.sb-validation ul{padding-left:20px;line-height:1.8;margin:12px 0 0;color:#d0deea}.sb-valid{color:#9dc9d6}.sb-valid::before{content:"✓";color:var(--cyan);margin-right:9px}
.sb-toolbar{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:17px 24px;border-top:1px solid var(--sb-line);background:rgba(3,11,23,.45)}.sb-save-state{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.sb-save-state p{color:#91adbf;font-size:12px;line-height:1.65;margin:0;max-width:520px}.sb-state-dot{flex:0 0 5px;height:5px;background:var(--cyan);box-shadow:0 0 8px rgba(87,221,255,.4)}.ship-builder[data-dirty=true] .sb-state-dot{background:var(--gold);box-shadow:0 0 8px rgba(232,195,106,.4)}.sb-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.sb-actions .sb-reload{background:transparent;border-color:var(--sb-line);box-shadow:none;color:#a3bece}.sb-actions .sb-export{--button-energy:var(--gold);border-color:rgba(232,195,106,.45);background:linear-gradient(115deg,rgba(96,73,30,.25),rgba(8,23,38,.9));color:#efd694}
.sb-message:empty{display:none}.sb-message{padding:13px 18px;background:rgba(10,33,52,.95);border-left:2px solid var(--gold);color:#e6d39f;font-size:14px}
.sb-editor{margin-top:24px;min-width:0;background:linear-gradient(120deg,rgba(5,18,34,.96),rgba(9,27,45,.94))}.sb-tabs{display:flex;align-items:stretch;overflow-x:auto;border-bottom:1px solid var(--sb-line);scrollbar-width:thin}.sb-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;flex:1 0 auto;min-height:58px;padding:12px 15px;border:0;border-right:1px solid rgba(87,221,255,.1);background:rgba(4,15,29,.45);color:#9cb7ca;font-family:var(--display);font-size:14px;font-weight:600;cursor:pointer;transition:background .18s,color .18s}.sb-tabs button:last-child{border-right:0}.sb-tabs button[aria-selected=true]{background:linear-gradient(110deg,rgba(23,103,140,.64),rgba(16,55,84,.65));color:#ecfaff;box-shadow:inset 0 -3px var(--cyan)}.sb-tabs button[aria-selected=true]::after{content:"";position:absolute;right:5px;bottom:6px;width:6px;height:6px;border-right:1px solid var(--cyan);border-bottom:1px solid var(--cyan)}.sb-tabs button:hover{color:#fff;background:rgba(24,70,97,.55)}.sb-tab-number{font-size:10px;letter-spacing:.5px;color:#6a99b4}.sb-tabs button[aria-selected=true] .sb-tab-number{color:var(--cyan)}.sb-tabs button:focus-visible{outline-offset:-3px}
#sb-panel{padding:24px}.sb-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.sb-section-head h2{margin:0;color:#dcedf8;font-family:var(--display);font-size:22px;font-weight:600;line-height:1.35}.sb-section-head p{margin:4px 0 0;font-size:13px;color:#91acbf}.sb-section-head>span{font-family:var(--display);font-size:12px;letter-spacing:2px;color:#5d829a;flex-shrink:0}
.sb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.sb-field{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;min-width:0}.sb-field>span{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.65px;color:#a6c2d4}.sb-field input,.sb-field select,.sb-field textarea{width:100%;box-sizing:border-box;min-width:0;min-height:46px;border:1px solid rgba(98,164,198,.27);background:rgba(4,16,30,.85);color:#e0effa;padding:11px 12px;font:inherit;font-size:15px;border-radius:0;color-scheme:dark;transition:border-color .18s,background .18s}.sb-field :is(input,select,textarea):hover{border-color:rgba(98,196,231,.55)}.sb-field :is(input,select,textarea):focus{border-color:var(--cyan);background:#0a2237}.sb-field select{cursor:pointer}.sb-field textarea{resize:vertical}.sb-wide{grid-column:1/-1}
.sb-equipment{position:relative;min-width:0;padding:18px 18px 0;border:1px solid var(--sb-line);background:linear-gradient(135deg,rgba(20,47,70,.52),rgba(5,19,35,.6));transition:border-color .2s,box-shadow .2s}.sb-equipment::before{content:"";position:absolute;left:17px;top:-1px;width:28px;height:1px;background:var(--cyan);opacity:.55}.sb-equipment:hover,.sb-equipment:focus-within{border-color:rgba(87,221,255,.44);box-shadow:inset 0 0 28px rgba(40,113,153,.055)}.sb-equipment .sb-field{margin-bottom:12px}.sb-equipment select{font-family:var(--display);font-size:18px;font-weight:600;min-height:48px}.sb-equipment-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 14px}.sb-item-metrics{display:flex;gap:8px;flex-wrap:wrap}.sb-item-metrics>span{border:1px solid rgba(87,221,255,.1);background:rgba(2,11,23,.5);padding:3px 8px;font-family:var(--display);font-size:11px;color:#8faec2;white-space:nowrap}.sb-item-metrics b{font-size:14px;font-weight:600;color:#c9e9f8;margin-right:3px}.sb-item-metrics>span:first-child b{color:var(--gold)}.sb-source{font-family:var(--display);font-size:12px;color:#8ec9e2;white-space:nowrap}.sb-source:hover{color:var(--cyan);text-decoration:underline}.sb-specs{border-top:1px solid rgba(87,221,255,.12)}.sb-specs summary{padding:10px 0;font-size:12px;color:#8baabd;cursor:pointer}.sb-specs summary:hover{color:#d2eaf7}.sb-specs dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;padding:8px 0 17px}.sb-specs dl>div{min-width:0}.sb-specs dt{color:#86a4b9;font-size:11px}.sb-specs dd{color:#c9dfec;font-size:13px;margin:2px 0 0;overflow-wrap:anywhere}.sb-specs p,.sb-empty-hint{color:#7899b0;font-size:12px;margin:0 0 16px}.sb-equipment.is-empty{border-style:dashed;background:rgba(5,19,33,.3)}.sb-equipment.is-empty::before{display:none}.sb-equipment.is-empty select{font-weight:400;color:#a5bdce}
.sb-group{padding:20px;border:1px solid var(--sb-line);background:rgba(6,21,37,.42);margin:0 0 20px;min-width:0}.sb-group h3{font-family:var(--display);font-size:17px;font-weight:600;color:#d5eaf7;margin:0 0 16px;display:flex;gap:12px;align-items:center}.sb-group h3::before{content:"//";color:var(--cyan);font-size:12px;letter-spacing:2px}.sb-group>summary{cursor:pointer;color:#c9e4f4;font-family:var(--display);font-size:17px}.sb-group p,.sb-help{font-size:13px;line-height:1.8;color:#96b2c5}.sb-help{margin:20px 0 0;padding-left:12px;border-left:2px solid rgba(87,221,255,.3)}.sb-help:first-child{margin:0 0 20px}.sb-repeat{display:flex;align-items:flex-start;gap:8px;margin-bottom:14px}.sb-repeat .sb-equipment{flex:1;min-width:0}.sb-remove{width:34px;min-height:40px;flex-shrink:0;background:rgba(77,31,49,.12);border:1px solid rgba(238,139,153,.25);color:#c48d9c;font-size:22px;cursor:pointer}.sb-remove:hover{border-color:#ed9bac;color:#ffd4dd;background:rgba(126,38,61,.2)}.sb-group>[data-add]{background:rgba(15,44,64,.4);border-color:rgba(87,221,255,.28);box-shadow:none;font-size:13px;padding:7px 14px;min-height:36px}.sb-quadrants{grid-template-columns:repeat(4,minmax(0,1fr))}.sb-grid+.sb-group{margin-top:20px}
.sb-table-wrap{overflow-x:auto;border:1px solid var(--sb-line);margin:20px 0}.sb-table{width:100%;border-collapse:collapse;font-size:14px}.sb-table th,.sb-table td{text-align:left;padding:13px 16px;border-bottom:1px solid rgba(87,221,255,.12)}.sb-table th{font-family:var(--display);background:rgba(24,57,80,.55);color:#c9e5f5}.sb-table td:not(:first-child){font-variant-numeric:tabular-nums;white-space:nowrap;color:#b3d6e9}.sb-table tbody tr:nth-child(even){background:rgba(34,82,111,.075)}.sb-table tbody tr:hover{background:rgba(42,106,143,.17)}.sb-table tbody tr:last-child th{color:var(--gold)}.sb-override{margin:20px 0;border:1px solid var(--sb-line);padding:18px;min-width:0}.sb-override legend{font-family:var(--display);padding:0 8px;color:#e3ce8f}.sb-override>a{display:inline-block;margin-bottom:14px;font-size:13px;color:#8ec9e2}.sb-check{display:flex;align-items:center;gap:10px;font-size:14px}.sb-check input{accent-color:var(--cyan);width:18px;height:18px}
@media(min-width:1600px){.sb-equipment{padding-top:20px}.sb-grid{gap:20px}.sb-stats{padding-block:18px 24px}}
@media(max-width:1250px){.sb-stats{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:20px}.sb-resource{grid-column:span 2}.sb-stats>div:nth-child(2){border-right:0}.sb-toolbar{align-items:flex-start;flex-direction:column;gap:14px}.sb-actions{width:100%;justify-content:flex-end}.sb-save-state p{max-width:none}.sb-page-head{align-items:flex-start}.sb-page-head .sb-back{margin-top:8px}}
@media(max-width:700px){.sb-page-head{flex-direction:column;gap:12px}.sb-page-head .sb-back{margin:0}.sb-grid{grid-template-columns:1fr}.sb-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 2px 18px}.sb-resource{grid-column:auto}.sb-stats>div{padding-inline:14px}.sb-stats>div:nth-child(even){border-right:0}.sb-stats strong{font-size:29px}.sb-stats strong>span{font-size:14px}.sb-stats small{font-size:11px}.sb-stats p{font-size:11px}.sb-shared{display:none}.sb-overview-heading{padding:18px 16px 8px}.sb-toolbar{padding:16px}.sb-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sb-actions .sb-reload{grid-column:1/-1;grid-row:2;min-height:36px}.sb-validation{padding:12px 16px}.sb-validation summary>span{display:block;float:none;margin:4px 0 0 16px;font-size:11px}.sb-tabs button{min-height:52px;font-size:14px;padding:12px 15px}.sb-tab-number{display:none}#sb-panel{padding:18px 14px}.sb-section-head{margin-bottom:20px}.sb-section-head h2{font-size:20px}.sb-section-head>span{display:none}.sb-section-head p{font-size:12px}.sb-equipment{padding:15px 14px 0}.sb-field input,.sb-field select,.sb-field textarea{font-size:16px}.sb-equipment select{font-size:17px}.sb-group{padding:16px 12px}.sb-quadrants{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-table th,.sb-table td{padding:11px 10px}.sb-override{padding:12px}}
@media(prefers-reduced-motion:reduce){.ship-builder *{transition:none!important}}
.sb-identity{grid-template-columns:1.25fr 1.25fr 1fr;gap:18px;margin-bottom:10px}.sb-section-head+.sb-help{margin:0 0 20px}.sb-grid>.sb-group{margin-bottom:0}
@media(max-width:700px){.sb-identity{grid-template-columns:1fr;gap:4px;margin-bottom:8px}}
