/* Progression uses the supply shop's machined steel and warm-metal accents. */
#app > :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).rem-port {
  --chamber-accent:#e6d49d; --chamber-metal:#9baaa7; --chamber-ink:#eef0e7;
  background:radial-gradient(ellipse at 80% 8%,#59635955,transparent 50%),repeating-linear-gradient(120deg,#ffffff02 0 1px,transparent 1px 14px),#101b22 !important;
  color:var(--chamber-ink);
}
#app > :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).rem-port :is(.facility-backdrop,.lobby-integration-bg) { display:none !important; }
#app > :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).rem-port .panel-wrap { max-width:600px !important; padding:14px 16px 32px !important; background:none !important; border:0 !important; box-shadow:none !important; }
#app > :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).rem-port .panel-head { display:flex !important; flex-wrap:nowrap !important; align-items:center !important; gap:12px; padding:10px 0 18px !important; border-bottom:1px solid #a6b2a844 !important; background:none !important; }
#app > :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).rem-port .panel-head h2 { font-size:25px !important; color:var(--chamber-ink) !important; letter-spacing:.04em; }
#app > :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).rem-port .panel-head :is(.facility-kicker,.final-kicker) { color:var(--chamber-accent) !important; font:11px Bahnschrift,sans-serif; letter-spacing:.16em; }
#app > :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).rem-port .panel-head p { font-size:11px !important; color:#aebeba !important; }
#app > :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).rem-port .panel-note { background:none !important; box-shadow:none !important; border:0 !important; padding:8px 0 !important; color:#b4c4c2 !important; font-size:12px !important; line-height:1.7 !important; }
#app > :is(#skill-tree-screen,#stellar-domain-screen).rem-port .facility-head-status { min-width:76px; padding:8px 10px !important; border:1px solid #b3ba9f55 !important; border-top:2px solid var(--chamber-accent) !important; background:linear-gradient(135deg,#6c756333,#222d2c) !important; }
#app > :is(#skill-tree-screen,#stellar-domain-screen).rem-port .facility-head-status span { font-size:8px !important; letter-spacing:.07em; color:var(--chamber-accent) !important; }
#app > :is(#skill-tree-screen,#stellar-domain-screen).rem-port .facility-head-status strong { font:24px Bahnschrift,sans-serif !important; color:var(--chamber-ink) !important; }
.facility-glyph { width:54px; height:54px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:square; stroke-linejoin:miter; }
#app > #skill-tree-screen.rem-port #skill-tree-list { height:auto !important; max-height:none !important; width:100% !important; overflow:visible !important; padding:0 !important; border:0 !important; background:none !important; }
#app > #skill-tree-screen.rem-port .research-bonus-summary { border-bottom:1px solid #9baaa744; margin-bottom:18px; }
#app > #skill-tree-screen.rem-port :is(.research-bonus-summary,.research-map-toggle) > summary { color:#b8c9c5; min-height:44px; padding:12px 0; font-size:12px; cursor:pointer; }
.research-progress { padding:14px 16px; background:linear-gradient(120deg,#68705a3d,#1d2c2e); border-left:3px solid var(--chamber-accent); }
.research-progress > div { display:flex; justify-content:space-between; align-items:center; }
.research-progress span { color:#bfcbbf; font-size:11px; letter-spacing:.08em; }
.research-progress strong { color:#f3e6b6; font:26px Bahnschrift,sans-serif; }
.research-progress small { font-size:13px; color:#a5b6ae; }
.research-progress i { display:block; height:3px; margin-top:8px; background:linear-gradient(to right,#ead9a1 var(--research-progress),#65757144 var(--research-progress)); }
#app > #skill-tree-screen.rem-port .research-chapters { display:flex; gap:6px; overflow:auto; padding:16px 0 10px; }
#app > #skill-tree-screen.rem-port .research-chapters button { flex:1 0 72px; padding:9px 8px !important; background:#26353b !important; border:1px solid #a1ada544 !important; border-radius:3px !important; color:#a8b9b5 !important; }
.research-chapters small,.research-chapters strong { display:block; }
.research-chapters small { font:8px Bahnschrift,sans-serif; letter-spacing:.12em; }
.research-chapters strong { font:16px Bahnschrift,sans-serif; margin-top:3px; }
#app > #skill-tree-screen.rem-port .research-chapters button[aria-pressed='true'] { background:#e2d6b4 !important; color:#233237 !important; border-color:#f7eabe !important; }
.research-chapter[hidden] { display:none !important; }
.research-layer { margin:16px 0 22px; }
#app > #skill-tree-screen.rem-port .research-layer h3 { display:flex; gap:9px; align-items:center; color:#98afa9 !important; font-size:10px !important; letter-spacing:.14em; margin:0 0 10px; }
.research-layer h3 span { color:#ead9a1; font:20px Bahnschrift,sans-serif; }
.research-node-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#app > #skill-tree-screen.rem-port .research-node { position:relative; display:flex; flex-direction:column; align-items:stretch; min-width:0; padding:11px !important; text-align:left !important; background:linear-gradient(150deg,#414c4f,#1c2a30 75%) !important; border:1px solid #adb9ae40 !important; border-top:2px solid #879790 !important; border-radius:5px !important; color:#e4e9de !important; }
#app > #skill-tree-screen.rem-port .research-node.is-selected { outline:2px solid #eddda5; outline-offset:1px; }
.research-node__state { font-size:9px; letter-spacing:.08em; color:#acbcb4; }
.research-node.is-unlocked .research-node__state { color:#b5e1c2; }
.research-node.is-available .research-node__state { color:#ffe5a0; }
.research-node__art { display:flex; justify-content:center; align-items:center; position:relative; height:91px; margin:5px -11px 10px; background:radial-gradient(ellipse,#c4aa5d30,transparent 70%); color:#e8d9a6; border-bottom:1px solid #9eafa52c; }
.research-node.is-locked .research-node__art { color:#9baead; background:radial-gradient(ellipse,#8aafb324,transparent 70%); }
.research-node__art small { position:absolute; right:10px; bottom:6px; color:#8b9d97; font:8px Bahnschrift,sans-serif; }
.research-node > strong { font-size:13px; line-height:1.5; min-height:38px; }
.research-node__effect { flex:1; margin-top:5px; font-size:11px; line-height:1.6; color:#c1d0c8; }
.research-node__requires { font-size:9px; color:#8fa6a0; margin:9px 0; }
.research-node__cost { padding-top:8px; border-top:1px solid #899b9144; color:#e7d5a5; font:14px Bahnschrift,sans-serif; }
#app > #skill-tree-screen.rem-port .research-full-map { overflow:auto; max-height:400px; background:#101b24; border:1px solid #78908466; }
#app > #skill-tree-screen.rem-port .research-detail { padding:18px !important; border:1px solid #afbb9d66 !important; border-top:3px solid #e8d49c !important; background:linear-gradient(140deg,#3b4945,#1c2b2b) !important; margin-top:12px; }
.research-detail__kicker { color:#c9bb8d; font:9px Bahnschrift,sans-serif; letter-spacing:.17em; }
#app > #skill-tree-screen.rem-port #skill-tree-unlock-btn,
#app > #stellar-domain-screen.rem-port :is(#stellar-explore-start-btn,#stellar-gift-roll1-btn,#stellar-gift-roll10-btn),
#app > #mode-lobby-screen.rem-port :is(#lobby-challenge-btn,#genkyo-expedition-start) { color:#233135 !important; background:linear-gradient(105deg,#f0e8cf,#cec09a) !important; border:1px solid #fff0ba !important; border-radius:4px !important; min-height:52px !important; font-size:16px !important; box-shadow:0 4px 0 #050e12,0 5px 20px #020b1155 !important; }
#app > :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).rem-port button:disabled { opacity:.4 !important; }
.archive-orbit { position:relative; height:225px; isolation:isolate; }
.archive-orbit > svg { position:absolute; inset:0; width:100%; height:100%; stroke:#c9b88770; stroke-width:1; fill:none; }
.archive-orbit__book { position:absolute; top:34px; left:50%; width:100px; height:145px; filter:drop-shadow(0 12px 10px #020e15); }
.archive-orbit__book--front { transform:translateX(-50%) rotate(7deg); }
.archive-orbit__book--left { transform:translateX(-127%) rotate(-17deg) scale(.83); top:44px; z-index:-1; }
.archive-orbit__book--right { transform:translateX(29%) rotate(22deg) scale(.83); top:36px; z-index:-1; }
.stellar-tome { --tome:#576f78; --tome-hi:#9ba89b; display:block; width:80px; height:100px; }
.stellar-tome[data-tone='1'] { --tome:#72534d; --tome-hi:#bb957a; }
.stellar-tome[data-tone='2'] { --tome:#4a685a; --tome-hi:#93b18e; }
.stellar-tome[data-tone='3'] { --tome:#615b79; --tome-hi:#aca4bc; }
.stellar-tome[data-tone='4'] { --tome:#716747; --tome-hi:#c0b780; }
.stellar-tome svg { width:100%; height:100%; }
.tome-pages { fill:#d6cfb8; stroke:#88988e; }
.tome-cover { fill:var(--tome); stroke:var(--tome-hi); stroke-width:2; }
.tome-spine { fill:#17282a; stroke:var(--tome-hi); }
.tome-line { fill:none; stroke:#d6c596; stroke-width:1; }
.tome-mark { fill:none; stroke:#f1ddb1; stroke-width:2.4; }
.tome-clasp { fill:#d7bb7e; stroke:#f5e0a2; }
.archive-orbit__book .stellar-tome { width:100%; height:100%; }
#app > #stellar-domain-screen.rem-port:not([data-stellar-tab='top']) .archive-orbit { height:98px; overflow:hidden; }
#app > #stellar-domain-screen.rem-port:not([data-stellar-tab='top']) .archive-orbit__book { top:0; height:92px; }
#app > #stellar-domain-screen.rem-port .world-tabs { position:sticky; top:0; z-index:5; display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; padding:5px 0 !important; background:#152228 !important; border-bottom:1px solid #a0aca755; }
#app > #stellar-domain-screen.rem-port .world-tabs button { min-width:0; padding:12px 2px !important; min-height:44px; font-size:11px !important; color:#aebeb7 !important; border:0 !important; border-radius:2px !important; background:#28363b !important; }
#app > #stellar-domain-screen.rem-port .world-tabs button.active { background:#ded4b8 !important; color:#26383b !important; }
#app > #stellar-domain-screen.rem-port #stellar-top-summary { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:5px 0 14px !important; }
#stellar-top-summary > div { padding:12px; border-bottom:2px solid #c4b98c66; background:linear-gradient(120deg,#8e997322,#879cab08); }
#stellar-top-summary span { display:block; font-size:10px; color:#b4c3b6; }
#stellar-top-summary strong { display:block; font:29px Bahnschrift,sans-serif; color:#f0e5c1; margin-top:5px; }
#stellar-top-summary small { font-size:14px; color:#95aaa1; }
#app > #stellar-domain-screen.rem-port #stellar-top-pane .panel-actions { display:grid !important; grid-template-columns:1fr 1fr; gap:10px; }
#app > #stellar-domain-screen.rem-port #stellar-top-pane .panel-actions button { display:flex !important; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; padding:14px !important; border:1px solid #b6b9a755 !important; border-top:2px solid #c0b88c !important; border-radius:5px !important; color:#e4e7d8 !important; background:linear-gradient(145deg,#45514e,#253238) !important; text-align:left !important; }
#app > #stellar-domain-screen.rem-port #stellar-top-pane #stellar-top-go-explore-btn { grid-column:1/-1; background:linear-gradient(120deg,#e4dbbd,#abb5a2) !important; color:#223739 !important; }
.chamber-route-copy { display:flex; flex-direction:column; gap:5px; flex:1; }
.chamber-route-copy strong { font-size:15px; white-space:nowrap; }
.chamber-route-copy small { font-size:10px; font-weight:400; line-height:1.6; opacity:.8; }
.chamber-route-art { color:#ddca91; }
#stellar-top-go-explore-btn .chamber-route-art { color:#4a6661; }
.chamber-route-art .facility-glyph { width:40px; height:40px; }
#stellar-top-pane .panel-actions button:not(#stellar-top-go-explore-btn) .chamber-route-art { width:100%; }
#stellar-top-pane .panel-actions b { font-size:24px; font-weight:400; }
#app > #stellar-domain-screen.rem-port #stellar-active-bonuses { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:15px; }
#stellar-active-bonuses > div { padding:10px 0; text-align:center; border-top:1px solid #a1b0a44a; }
#stellar-active-bonuses span { display:block; font-size:9px; }
#stellar-active-bonuses strong { font:18px Bahnschrift,sans-serif; color:#decea0; }
#app > #stellar-domain-screen.rem-port .stellar-loadout-layout { display:block !important; }
#app > #stellar-domain-screen.rem-port :is(.stellar-loadout-left,.stellar-loadout-right) { padding:0 !important; border:0 !important; background:none !important; }
#app > #stellar-domain-screen.rem-port h3 { font-size:14px !important; color:#c6d2c4 !important; margin:20px 0 12px; }
#app > #stellar-domain-screen.rem-port :is(#stellar-equip-slots,#stellar-book-list) { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; max-height:none !important; overflow:visible !important; }
#app > #stellar-domain-screen.rem-port :is(.stellar-slot-btn,.stellar-book-choice) { display:flex !important; flex-direction:column; align-items:center; gap:5px; min-width:0; padding:12px 9px !important; color:#dce4d6 !important; border:1px solid #9ba79955 !important; border-top:2px solid #abac8b !important; border-radius:4px !important; background:radial-gradient(ellipse at 50% 22%,#c5b97a25,transparent 65%),linear-gradient(160deg,#344246,#1b2930) !important; }
#app > #stellar-domain-screen.rem-port :is(.stellar-slot-btn,.stellar-book-choice).active { outline:2px solid #dfd19a; outline-offset:0; }
.stellar-slot-number { align-self:flex-start; font:9px Bahnschrift,sans-serif; color:#beae7d; letter-spacing:.1em; }
.stellar-empty-slot { display:grid; place-items:center; height:80px; font:36px Bahnschrift,sans-serif; color:#83968e; }
.stellar-slot-btn strong,.stellar-book-name { font-size:12px; line-height:1.5; }
.stellar-slot-btn small,.stellar-book-state { font-size:9px; color:#d8c590; }
.stellar-book-meta { font-size:10px; color:#aabdb5; line-height:1.6; }
.stellar-book-choice.is-unowned .stellar-tome { filter:saturate(.3); opacity:.6; }
#app > #mode-lobby-screen.rem-port[data-mode='genkyo'] { --chamber-accent:#b8d3c6; background:radial-gradient(ellipse at 50% 18%,#536f623f,transparent 60%),#142126 !important; }
#app > #mode-lobby-screen.rem-port[data-mode='cosmofloor'] { --chamber-accent:#a5d2da; background:radial-gradient(ellipse at 50% 18%,#43677955,transparent 60%),#10202a !important; }
#app > #mode-lobby-screen.rem-port[data-mode='galactic_abyss'] { --chamber-accent:#d9ae92; background:radial-gradient(ellipse at 50% 18%,#82563f33,transparent 60%),#191e23 !important; }
#app > #mode-lobby-screen.rem-port #lobby-rank-summary { min-width:82px; flex-shrink:0; padding:9px !important; border:1px solid #a3aaa04d !important; border-top:2px solid var(--chamber-accent) !important; background:#84977e12 !important; color:var(--chamber-accent) !important; text-align:right; }
#lobby-rank-summary span { display:block; font-size:9px; }
#lobby-rank-summary strong { font:24px Bahnschrift,sans-serif; }
.lobby-scene-hero { position:relative; padding:20px 0 12px; margin:0 -4px; color:var(--chamber-accent); border-bottom:1px solid #b5b8a433; }
#lobby-scene-code { font:clamp(24px,7vw,40px) Bahnschrift,sans-serif; letter-spacing:.09em; color:#e8e9db; }
#lobby-scene-tag { display:block; font:9px Bahnschrift,sans-serif; letter-spacing:.15em; text-align:right; opacity:.8; }
.lobby-scene-vector { display:block; width:100%; height:190px; stroke:var(--chamber-accent); fill:none; stroke-width:1.3; filter:drop-shadow(0 10px 10px #0007); }
.lobby-art-solid { fill:#26383b; stroke-width:2; }
.lobby-art-bright { fill:var(--chamber-accent); stroke:#f5edce; }
#app > #mode-lobby-screen.rem-port .mode-lobby-season { padding:18px 0 0 !important; margin:0 !important; border:0 !important; background:none !important; box-shadow:none !important; }
#app > #mode-lobby-screen.rem-port #lobby-season-title { color:#e5e8db !important; font-size:21px !important; line-height:1.5; letter-spacing:.02em; }
#app > #mode-lobby-screen.rem-port #lobby-prev-rank { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding-top:15px !important; }
#lobby-prev-rank > div { padding:10px 12px; border-left:2px solid var(--chamber-accent); background:linear-gradient(120deg,#abb79d14,transparent); }
#lobby-prev-rank span { display:block; font-size:10px; color:#a6bab2; }
#lobby-prev-rank strong { font:24px Bahnschrift,sans-serif; color:#e5d7b1; }
#app > #mode-lobby-screen.rem-port #lobby-next-reset { font-size:10px !important; opacity:.7; }
#app > #mode-lobby-screen.rem-port .mode-lobby-actions { position:sticky; bottom:12px; z-index:4; display:block !important; padding:10px 0 !important; }
#app > #mode-lobby-screen.rem-port #lobby-challenge-btn { width:100% !important; }
#app > #mode-lobby-screen.rem-port :is(.abyss-expedition-panel,.genkyo-expedition-panel) { padding:15px 0 !important; background:none !important; border:0 !important; border-top:1px solid #a6b19c44 !important; box-shadow:none !important; }
#app > #mode-lobby-screen.rem-port .abyss-expedition-milestones { display:grid !important; grid-template-columns:1fr 1fr !important; gap:9px !important; }
#app > #mode-lobby-screen.rem-port :is(.abyss-expedition-milestone,.abyss-expedition-contract,.genkyo-ship-card,.genkyo-buff-card) { background:linear-gradient(145deg,#3e4847,#1e2b31) !important; border:1px solid #a4b19f55 !important; border-top:2px solid #bdac83 !important; border-radius:4px !important; }
#app > #mode-lobby-screen.rem-port .genkyo-ship-select { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
#app > #mode-lobby-screen.rem-port .genkyo-buff-select { grid-template-columns:1fr !important; }
@media (min-width:600px) { .lobby-scene-vector { height:240px; } }
@media (max-width:370px) {
  #app > :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).rem-port .panel-wrap { padding-inline:12px !important; }
  #app > :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).rem-port .panel-head h2 { font-size:22px !important; }
  .chamber-route-copy strong { font-size:14px; }
}
@media (prefers-reduced-motion:no-preference) { :is(#skill-tree-screen,#stellar-domain-screen,#mode-lobby-screen).active :is(.research-progress,.archive-orbit,.lobby-scene-hero) { animation:scene-arrive .35s ease-out both; } }
#app > #stellar-domain-screen.rem-port .world-tabs { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
#app > #stellar-domain-screen.rem-port .stellar-domain-pane { padding:0 !important; border:0 !important; background:none !important; box-shadow:none !important; }
#app > #skill-tree-screen.rem-port .research-node:only-child { grid-column:1/-1; display:grid; grid-template-columns:84px minmax(0,1fr); column-gap:12px; }
.research-node:only-child .research-node__art { grid-column:1; grid-row:1/6; margin:0; height:100%; border:0; }
.research-node:only-child :is(.research-node__state,strong,.research-node__effect,.research-node__requires,.research-node__cost) { grid-column:2; min-height:0; }
#app > #mode-lobby-screen.rem-port:has(#genkyo-expedition-panel:not(.hidden)) .mode-lobby-actions { display:none !important; }
#app > #mode-lobby-screen.rem-port .mode-lobby-season::before { display:none !important; }
#app > #mode-lobby-screen.rem-port .mode-lobby-season::after { display:none !important; }
#app > #mode-lobby-screen.rem-port .genkyo-buff-select { max-height:none !important; overflow:visible !important; gap:10px !important; }
#app > #mode-lobby-screen.rem-port .genkyo-buff-card { grid-template-columns:50px minmax(0,1fr) !important; padding:14px 12px !important; gap:7px 12px !important; }
#app > #mode-lobby-screen.rem-port .genkyo-buff-card .facility-glyph { grid-row:1/4; align-self:center; width:44px; height:44px; color:#dccb99; }
#app > #mode-lobby-screen.rem-port .genkyo-buff-card strong { grid-row:1 !important; grid-column:2; font-size:15px !important; color:#e5e9d7 !important; }
#app > #mode-lobby-screen.rem-port .genkyo-buff-card span { grid-column:2; font-size:11px !important; line-height:1.6 !important; color:#d4cfb0 !important; }
#app > #mode-lobby-screen.rem-port .genkyo-buff-card small { grid-column:2; font-size:11px !important; line-height:1.7 !important; color:#a5bbb4 !important; }
#app > #mode-lobby-screen.rem-port :is(.genkyo-buff-card,.genkyo-ship-card).is-selected { outline:2px solid #cdddb8; outline-offset:-1px; box-shadow:none !important; }
#app > #mode-lobby-screen.rem-port :is(.genkyo-expedition-panel__head span,.genkyo-ship-card span,.genkyo-expedition-summary small) { color:#bed1bd !important; }
#app > #mode-lobby-screen.rem-port .genkyo-expedition-step b { background:#cdd6b7 !important; color:#273b3c !important; }
#app > #mode-lobby-screen.rem-port .genkyo-expedition-actions { position:sticky; bottom:8px; z-index:4; background:#15242be8; padding:8px 0; }
