/* Scoped, phone-first port; does not change combat surfaces. */
.port-unified{min-width:0;color:var(--ink,#294636)}
.port-unified .harbor-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.port-unified .harbor-tabs button{min-width:0;min-height:44px;padding:9px 3px;font-size:.82rem;white-space:normal}
.port-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 24px}
.port-card{min-width:0;padding:16px;background:#f6f5e6;border:1px solid #c6d2b6;border-radius:18px;display:flex;flex-direction:column;gap:8px}
.port-card.selected{border:2px solid #63813b;background:#eef7d6}
.port-card h3,.port-card h4,.port-card p{margin:0;overflow-wrap:anywhere}
.port-card p,.port-card small,.port-card em{font-size:.86rem;line-height:1.55;overflow-wrap:anywhere}
.port-card em{color:#76583f;font-style:normal;padding:9px;background:#eee8da;border-radius:9px}
.port-card button{margin-top:auto;min-height:44px;white-space:normal;line-height:1.45}
.port-equipped,.port-preview{background:#e9efdb;border-radius:18px;padding:16px;margin:12px 0}
.port-preview dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}
.port-preview dt{font-size:.75rem;line-height:1.5}.port-preview dd{margin:0;font-weight:800;font-size:1.12rem}
.port-plan-save{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0}.port-plan-save small{width:100%}
.port-custom,.port-archive{margin-top:16px;border-top:1px solid #c6d2b6;padding-top:12px}
.port-custom summary,.port-archive summary{padding:12px 0;min-height:44px;cursor:pointer;font-weight:800}
.port-custom h3{margin-top:20px}.port-archive p{font-size:.87rem;line-height:1.6}
.port-ledger{list-style:none;margin:18px 0;padding:0}.port-ledger li{padding:12px 0;border-bottom:1px solid #ccd6bd;overflow-wrap:anywhere}.port-ledger p{font-size:.82rem;line-height:1.6;margin:5px 0}.port-ledger small{font-weight:400;margin-left:6px}
.port-reset-confirm dl{background:#ecf2df;padding:16px;border-radius:14px;line-height:1.7}.port-reset-confirm dd{font-weight:800;margin:0 0 10px}.port-reset-confirm button{margin:8px 8px 8px 0}
.research-visible-effect{display:block;font-size:.78rem;margin-top:5px;color:#365e3b;font-weight:800}
@media(max-width:560px){.port-grid{grid-template-columns:1fr}.port-preview dl{grid-template-columns:repeat(3,minmax(0,1fr))}.port-card{padding:14px}}
@media(prefers-reduced-motion:reduce){.port-unified *{animation:none!important;transition:none!important}}
/* R12: choices precede the expandable, unchanged engine review. */
.port-unified .modal-heading h2{margin:6px 0 10px}
.port-unified .harbor-wallet{margin:10px 0;padding:10px 12px}
.port-equipped{padding:12px;margin:10px 0}.port-equipped b{display:flex;align-items:center;gap:7px}.port-equipped p{margin:7px 0;line-height:1.5}.port-equipped small{line-height:1.5}
.port-preview>summary{cursor:pointer;min-height:44px;display:list-item;font-weight:800;line-height:1.5;padding:10px 0}.port-preview:not([open]){padding-block:4px}
.port-reset-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 36px 8px 0;background:var(--paper,#f7f6ee);border-bottom:1px solid #c6d2b6;box-shadow:0 4px 6px #f7f6ee}
.port-reset-header h2{font-size:1.2rem;line-height:1.4;margin:0;flex:1;min-width:0}.port-reset-confirm .port-reset-header button{margin:0;min-height:44px;padding:8px 12px}
.port-reset-confirm dl{scroll-margin-top:84px}.port-reset-confirm dd{overflow-wrap:anywhere}
