:root{color-scheme:dark;--bg:#0c1422;--panel:#15243a;--panel2:#1b2e49;--border:#2b405b;--muted:#9dafc5;--text:#edf5ff;--mint:#49dec3;--mint2:#20bda3;--gold:#ecc681;--bad:#fb817f;--shadow:0 22px 75px rgba(0,0,0,.23)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;line-height:1.5;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.43;cursor:not-allowed}a{color:var(--mint)}.ambient-glow{position:fixed;pointer-events:none;inset:0;background:radial-gradient(ellipse at 75% -20%,rgba(35,124,152,.21),transparent 45%),radial-gradient(ellipse at 0% 60%,rgba(32,95,115,.13),transparent 40%);z-index:-1}.app-shell{max-width:1210px;margin:auto;padding:0 32px}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(165,191,220,.12)}.brand{display:flex;align-items:center;gap:11px}.brand-symbol{display:grid;place-items:center;width:43px;height:43px;background:linear-gradient(140deg,#1a776f,#1c3c65);border:1px solid #428d91;border-radius:13px;font-size:30px;color:var(--mint);box-shadow:0 4px 30px #1bd5bd15}.brand-copy{display:flex;flex-direction:column;line-height:1.25}.brand-copy strong{font-size:17px;letter-spacing:.07em}.brand-copy small{font-size:10px;color:#80a9c4;letter-spacing:.13em;margin-top:5px}.header-actions{display:flex;align-items:center;gap:20px}.network-dot{font-size:12px;color:#a3bfce}.network-dot:before{content:'';display:inline-block;width:6px;height:6px;margin-right:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 12px var(--mint)}.btn{border:1px solid transparent;border-radius:11px;min-height:43px;padding:9px 17px;font-size:13px;font-weight:650;color:var(--text);transition:filter .18s,transform .16s,background .18s;white-space:nowrap}.btn:hover{filter:brightness(1.12)}.btn:active{transform:scale(.98)}.btn.primary{background:linear-gradient(110deg,#3ed7c2,#2abbc2);color:#07313c}.btn.secondary{background:#203550;border-color:#37516b}.btn.ghost,.btn.icon-btn{background:transparent;border-color:var(--border)}.btn.full{width:100%}.icon-btn{font-size:12px}.hero{display:flex;align-items:center;justify-content:space-between;min-height:263px;padding:42px 25px 39px 3px;gap:30px}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--mint);font-weight:750;margin:0 0 8px}.tiny-glow{display:inline-block;border-radius:50%;width:6px;height:6px;background:var(--mint);margin-right:7px}.hero h1{font-size:clamp(32px,4.3vw,52px);line-height:1.22;font-weight:770;margin:10px 0 13px;letter-spacing:-.05em}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#4ae3c7,#a1c9ef);color:transparent;background-clip:text}.hero-sub{max-width:620px;font-size:14px;color:#bac9d8;margin:0}.hero-art{width:260px;min-width:220px;align-items:center;display:flex;flex-direction:column;gap:10px;color:#7ca8b1;font-size:11px;letter-spacing:.1em}.art-frame{width:187px;height:154px;border:1px solid #3e6880;border-radius:20px;background:linear-gradient(140deg,#183753,#164249);position:relative;display:grid;place-items:center;box-shadow:0 23px 55px #12bba317;transform:rotate(-6deg)}.art-frame span{z-index:1;font-size:100px;font-family:Georgia,serif;color:#7ce9cf;text-shadow:0 4px 22px #51ebbe33}.art-grid{position:absolute;inset:13px;border:1px solid #59818a88;border-radius:8px;opacity:.4;background-image:linear-gradient(90deg,transparent 24px,#669ea24d 25px,transparent 26px),linear-gradient(transparent 24px,#669ea24d 25px,transparent 26px);background-size:26px 26px}.panel{background:linear-gradient(155deg,rgba(29,50,77,.96),rgba(19,34,54,.98));border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.setup{padding:24px 26px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.section-header h2,.outcome-panel h2{margin:0;font-size:20px;letter-spacing:-.03em}.section-header .eyebrow{margin-bottom:5px}.pill{border-radius:50px;background:#263d55;border:1px solid #416079;color:#a9c5d2;font-size:11px;padding:6px 12px;white-space:nowrap}.pill.accent{border-color:#2e807d;color:#63ddcb}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:7px;color:#c2d3e4;font-size:12px;font-weight:600}.field small{color:#7f9bb1;font-weight:400}.field input,.field select,.search-wrap input,.editor-grid input{width:100%;background:#102037;border:1px solid #34506b;color:var(--text);border-radius:10px;min-height:45px;padding:10px 13px;outline:none}.field input:focus,.search-wrap input:focus,.editor-grid input:focus{border-color:var(--mint);box-shadow:0 0 0 3px #49dec31b}.setup-foot{display:flex;justify-content:space-between;gap:12px;margin-top:15px;color:#b5d1db;font-size:12px}.note{color:#8fa4b9}.tabs{display:flex;align-items:center;gap:8px;margin:24px 0 17px;overflow-x:auto;padding-bottom:2px}.tab{flex:1;min-width:140px;background:transparent;border:1px solid transparent;color:#9eb5cc;border-radius:11px;min-height:47px;padding:10px 12px;white-space:nowrap;font-weight:650;font-size:14px}.tab.active{background:#203b50;color:#d9fff9;border-color:#427878}.tab:hover{background:#20354e}.tab-ico{margin-right:7px;font-size:18px;vertical-align:-1px}.view{display:none;min-height:400px}.view.active{display:block}.two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);align-items:start;gap:17px}.inventory-panel,.optimizer-panel,#catalog-view>.panel{padding:24px}.search-wrap{position:relative;margin-bottom:13px}.search-wrap span{position:absolute;left:15px;top:6px;font-size:26px;color:#83a4b4}.search-wrap input{padding-left:43px}.item-list{display:flex;flex-direction:column;gap:8px}.item-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #2d4660;background:#182a41;border-radius:12px;padding:12px 13px}.item-name{font-size:14px;font-weight:700}.item-sub{font-size:11px;color:#90adc2;margin-top:3px}.item-sub .dot{padding:0 5px}.item-rate{color:var(--gold)}.stepper{display:flex;align-items:center;flex-shrink:0;gap:6px}.stepper button{width:32px;height:35px;border:1px solid #3a5972;border-radius:8px;color:#e1f5f9;background:#26415c;font-weight:750;font-size:19px}.stepper input{height:35px;width:58px;border:1px solid #3a5972;border-radius:8px;color:var(--text);background:#0e1c30;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}.sticky-summary{position:sticky;top:16px}.outcome-panel{padding:24px}.metric-primary{display:flex;flex-direction:column;gap:3px;margin:23px 0 15px}.metric-primary small,.metric-grid small{color:#8eacc2;font-size:12px}.metric-primary strong{font-size:clamp(32px,3.4vw,42px);color:var(--mint);font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.2}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.metric-grid div{display:flex;flex-direction:column;gap:4px;padding:12px;background:#10223a;border-radius:10px}.metric-grid strong{font-size:17px;font-variant-numeric:tabular-nums}.metric-grid div:last-child{grid-column:span 2}.capacity-group{margin:14px 0}.cap-head{display:flex;justify-content:space-between;font-size:12px;color:#c2d5e5;margin-bottom:7px}.progress-track{height:9px;border-radius:6px;background:#0e1d31;overflow:hidden}.progress-fill{width:0;height:100%;border-radius:6px;background:linear-gradient(90deg,#2b9899,#55e4c3);transition:width .25s}.progress-fill.alt{background:linear-gradient(90deg,#5579ce,#78ace6)}.progress-fill.danger{background:#f27b83}.muted-help{padding:13px 0 19px;font-size:11px;color:#99b4c8}.small-disclaimer{font-size:11px;color:#8ba4bc;line-height:1.65;margin-top:14px}.alert{border-radius:10px;padding:11px 12px;margin-top:14px;font-size:12px;border:1px solid #f380805b;background:#4a2832;color:#ffc3bb}.success-note{border-radius:10px;padding:10px 12px;font-size:12px;color:#8ae6d1;background:#154643;border:1px solid #2d8674}.section-desc{font-size:13px;color:#9db5c9;margin:0 0 16px}.optimization-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-radius:13px;background:#13283f;margin-bottom:14px;flex-wrap:wrap}.switch-label{display:flex;align-items:center;gap:11px;font-weight:650;font-size:13px}.switch-label input{width:18px;height:18px;accent-color:#48d7bd}.switch-label small{display:block;font-weight:400;color:#9bb4c7;font-size:11px}.optimizer-status{font-size:12px;color:#96b6c9;padding:9px 0 17px}.rank-results{display:grid;gap:10px}.rank-card{border:1px solid #324b65;border-radius:12px;background:#182b43;overflow:hidden}.rank-card.top{border-color:#6fa08d;background:linear-gradient(115deg,#1a3a45,#1b2e48)}.rank-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;gap:10px;border:0;background:none;color:var(--text);text-align:left}.rank-title{display:flex;align-items:center;gap:10px}.rank-badge{border:1px solid #477b7b;color:var(--mint);border-radius:9px;min-width:40px;text-align:center;padding:7px;font-size:12px;font-weight:750}.rank-income{font-size:17px;font-weight:750;font-variant-numeric:tabular-nums}.rank-income small{font-size:11px;font-weight:400;color:#9db4c7}.rank-details{padding:0 16px 15px;display:none}.rank-details.open{display:block}.rank-details .list-row{display:flex;justify-content:space-between;gap:10px;padding:8px 2px;border-bottom:1px solid #2d445a;font-size:12px}.rank-pills{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 3px}.rank-pills span{border-radius:7px;padding:6px 9px;background:#0e2035;color:#bdd6e7;font-size:11px}.catalog-summary{background:#11263c;border:1px solid #2c4b60;padding:13px 15px;border-radius:11px;font-size:12px;color:#b5c8db;margin-bottom:15px}.catalog-summary strong{color:var(--mint)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px}.table-wrap{overflow-x:auto}.catalog-table{width:100%;border-collapse:collapse;min-width:680px}.catalog-table th{text-align:left;font-size:11px;color:#91aec3;letter-spacing:.02em;font-weight:650;background:#122640;padding:12px}.catalog-table td{font-size:12px;padding:12px;border-bottom:1px solid #2b4059;color:#c6d6e6}.catalog-table td:first-child{font-weight:650;color:#f1f6fa}.catalog-table button{border:1px solid #3f5b75;border-radius:7px;color:#d0f3ec;background:#203b54;font-size:11px;padding:6px 9px}.footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #21364c;color:#7797ae;font-size:11px;padding:28px 0;margin-top:35px}.modal-root[hidden],.toast[hidden]{display:none}.modal-root{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px}.modal-scrim{position:absolute;inset:0;background:#050c17c9;backdrop-filter:blur(7px)}.modal-card{width:min(650px,100%);max-height:min(87vh,900px);overflow:auto;position:relative;background:#182c44;border:1px solid #547189;box-shadow:0 30px 100px #0008;border-radius:18px;padding:22px}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:16px}.modal-top h2{font-size:20px;margin:0}.icon-cross{font-size:27px;color:#b7c5d5;background:transparent;border:0}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:23px}.modal-prose{color:#bdcede;font-size:13px;line-height:1.7}.modal-prose ul{padding-left:21px}.modal-prose strong{color:#e7f5fa}.radio-option{display:flex;align-items:flex-start;gap:9px;padding:13px;background:#10253a;border:1px solid #2e4d64;border-radius:10px;margin:9px 0}.radio-option input{accent-color:#3fd6ba;margin-top:3px}.radio-option small{display:block;color:#95b2c5}.diff-view{padding:12px;border:1px solid #304b60;border-radius:9px;margin-top:12px;font-size:12px}.diff-view div{margin:4px 0}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.editor-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#bdd0de}.editor-grid .wide{grid-column:span 2}.editor-grid input{min-width:0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:400;background:#21564f;border:1px solid #4cae97;padding:12px 18px;border-radius:10px;box-shadow:0 15px 40px #0005;font-size:13px;max-width:90vw}.empty-state{text-align:center;color:#91b2c6;padding:42px 16px;font-size:13px}.empty-state .large{font-size:36px;display:block;margin-bottom:6px}.muted-text{color:var(--muted)}
@media(max-width:850px){.app-shell{padding:0 17px}.two-col{grid-template-columns:1fr}.sticky-summary{position:static}.hero-art{min-width:140px;width:150px}.art-frame{width:125px;height:118px}.art-frame span{font-size:65px}.hero{min-height:205px}.hero h1{font-size:37px}.hero-sub{font-size:12px}.setup,.inventory-panel,.optimizer-panel,#catalog-view>.panel,.outcome-panel{padding:18px}}
@media(max-width:520px){.topbar{height:73px}.brand-symbol{width:37px;height:37px;font-size:26px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:8px}.header-actions{gap:6px}.network-dot{display:none}.btn.icon-btn{padding:6px 10px;min-height:36px}.hero{padding:32px 0 22px}.hero h1{font-size:33px}.hero-art{display:none}.settings-grid{gap:8px}.field{font-size:11px}.field input{padding:8px;min-height:41px}.setup-foot{display:block}.setup-foot .note{display:block;margin-top:4px}.tabs{margin:16px 0 13px;gap:4px}.tab{font-size:12px;min-width:0;padding:11px 5px}.tab-ico{display:none}.section-header h2{font-size:18px}.item-card{padding:11px 10px}.item-name{font-size:12px}.item-sub{font-size:10px}.stepper{gap:4px}.stepper button{width:29px;height:34px}.stepper input{width:49px}.footer{flex-direction:column;gap:3px}.toolbar .btn{flex:1}.metric-primary strong{font-size:39px}.optimization-controls{align-items:stretch}.optimization-controls .btn{width:100%}.editor-grid{grid-template-columns:1fr}.editor-grid .wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* v1.1 functional additions: matches existing navy/mint visual language */
.opt-addons{border:1px solid #2b465d;border-radius:12px;background:#10243b;padding:15px;margin:0 0 16px}
.opt-exclude-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:13px}
.mini-btn{min-height:30px;padding:5px 9px;font-size:11px}
.exclude-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.exclude-check{display:inline-flex;align-items:center;gap:7px;border:1px solid #37566d;border-radius:9px;background:#1c344b;padding:8px 10px;color:#cbdce8;font-size:12px;cursor:pointer}
.exclude-check input{accent-color:#48d7bd}
.exclude-check:has(input:checked){background:#43313e;border-color:#985c76;color:#ffd4d9}
.opt-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.compact-field{font-size:12px}.compact-field select{min-height:38px;padding:7px 10px}
.opt-warning{margin-top:13px;font-size:12px;font-weight:500}.opt-cost{margin-top:12px;border-radius:8px;background:#142f3a;border:1px solid #2e6872;padding:11px;color:#b3e4dc;font-size:12px;line-height:1.5}
.rank-alert{display:inline-block;color:#ffca89;background:#61452b75;border:1px solid #8f673b;border-radius:5px;padding:3px 6px;margin:4px 0;font-size:11px}
.rank-meta{font-size:11px;color:#9dc5d2}.rank-badge{white-space:nowrap}
.stock-control{display:flex;align-items:center;gap:5px;white-space:nowrap}
.stock-control button{height:31px;width:28px;min-width:28px;padding:0;border:1px solid #3c5b72;border-radius:7px;background:#26415c;color:#d0eceb;font-size:18px}
.stock-control input{height:32px;width:62px;border:1px solid #3a5972;border-radius:7px;background:#0f2035;color:#e3f5f3;text-align:center;font-size:12px}
.stock-note{font-size:10px;color:#9cbece}.catalog-table td{vertical-align:middle}
@media(max-width:520px){.opt-filters{grid-template-columns:1fr}.opt-addons{padding:11px}.exclude-check{padding:7px 8px;font-size:11px}.stock-control input{width:53px}.catalog-table{min-width:710px}}
/* Keep offline readiness visible on iPhone; v1.0.2 hid the only readiness indicator. */
@media(max-width:520px){
 .topbar{height:88px;align-items:flex-start;padding-top:14px;position:relative}
 .network-dot{display:block;position:absolute;right:0;bottom:7px;font-size:10px;white-space:nowrap}
 .header-actions{gap:6px}
}
