/* Scoped UI layer: keep the installed game bundle and its existing integrations. */
.np-replaced-form { display:none !important; }
.np-table-builder, .np-deck-dialog { --ink:#302013; --line:#927041; --gold:#e7bc65; font-family:Literata,Georgia,serif; }
.np-table-builder { display:grid; gap:22px; width:min(100%,880px); margin:0 auto; color:var(--ink); padding:8px 0 12px; }
.np-table-builder *, .np-deck-dialog * { box-sizing:border-box; }
.np-table-builder [hidden], .np-deck-dialog [hidden] { display:none !important; }
.np-builder-heading { text-align:center; }
.np-builder-heading small { letter-spacing:.22em; font-weight:800; font-size:11px; }
.np-builder-heading h1 { font-size:clamp(27px,3vw,38px); margin:5px 0 0; font-weight:500; }
.np-table-builder fieldset { margin:0; min-width:0; padding:0; border:0; background:none; }
.np-table-builder legend, .np-builder-label { font-size:13px; font-weight:800; letter-spacing:.045em; }
.np-table-builder legend { float:none; position:static; padding:0; margin:0 0 10px; line-height:1.4; color:#4b301b; }
.np-builder-label { display:grid; gap:9px; }
.np-table-builder input { width:100%; min-width:0; height:48px; background:#fff3d8; color:#302013; border:1px solid #876338; border-radius:5px; padding:10px 14px; font:600 16px Literata,Georgia,serif; box-shadow:inset 0 2px 5px #4a260f12; }
.np-table-builder input::placeholder { color:#866e52; font-weight:400; }
.np-table-builder button, .np-deck-dialog button { cursor:pointer; font-family:inherit; }
.np-table-builder button:focus-visible, .np-table-builder input:focus-visible, .np-deck-dialog button:focus-visible { outline:3px solid #9c5f09; outline-offset:3px; }
.np-mode-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.np-mode-buttons button, .np-deck-trigger, .np-segments button { border:1px solid #8d6a3d; border-radius:5px; padding:13px 12px; background:#ead09d; color:#49301c; min-width:0; box-shadow:inset 0 1px #ffedcb80; transition:background .18s,border-color .18s,box-shadow .18s; }
.np-mode-buttons strong, .np-deck-trigger strong { display:block; font-size:15px; line-height:1.3; }
.np-mode-buttons small, .np-deck-trigger small { display:block; font-size:11px; margin-top:5px; line-height:1.4; font-weight:500; }
.np-mode-buttons button:disabled { opacity:.6; cursor:not-allowed; padding:8px 12px; background:#c9ae81; box-shadow:none; }
.np-mode-buttons button:disabled strong { font-size:12px; }
.np-mode-buttons button:disabled small { margin-top:2px; font-size:10px; }
.np-table-builder button[aria-pressed=true], .np-table-builder .np-builder-submit { color:#ffe5ae; background:linear-gradient(145deg,#594027,#26160d); border-color:#92652c; box-shadow:inset 0 0 0 1px #e5b35a6b,0 3px 7px #3b210d30; }
.np-builder-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.np-deck-trigger { display:block; width:100%; text-align:left; position:relative; padding-right:40px; }
.np-deck-trigger > span { position:absolute; right:17px; top:18px; font-size:22px; }
.np-segments { display:flex; flex-wrap:wrap; gap:7px; }
.np-segments button { flex:1; min-width:44px; min-height:52px; font-size:17px; font-weight:800; padding:10px; }
.np-time-buttons button { flex:0 1 115px; font-size:14px; min-height:44px; }
.np-custom-time { display:flex; align-items:center; gap:16px; margin-top:12px; font-size:12px; }
.np-custom-time input { width:110px; }
.np-table-builder .np-lock-toggle { width:100%; display:flex; align-items:center; text-align:left; gap:16px; background:#d3b583; color:#3b2513; border:1px solid #987344; border-radius:6px; padding:5px 17px 5px 3px; box-shadow:inset 0 1px #f9e5c4; }
.np-lock-toggle img { width:82px; height:82px; object-fit:contain; flex:none; filter:drop-shadow(0 4px 4px #41260e44); }
.np-lock-toggle strong { display:block; font-size:16px; }
.np-lock-toggle small { display:block; font-size:12px; margin-top:5px; }
.np-lock-toggle em { margin-left:auto; max-width:180px; font-size:11px; font-style:normal; line-height:1.5; text-align:right; color:#654a2c; }
.np-builder-error { background:#fff0dd; border:1px solid #a44029; padding:12px; border-radius:4px; font-size:13px; color:#832c1c; margin:0; }
.np-builder-submit { min-height:54px; border:1px solid; border-radius:5px; font-size:17px; text-transform:uppercase; font-weight:900; letter-spacing:.05em; }
.np-builder-submit:disabled { opacity:.55; cursor:wait; }
.np-deck-backdrop { position:fixed; inset:0; z-index:2147483000; display:grid; place-items:center; padding:24px; background:#080503df; backdrop-filter:blur(7px); }
.np-deck-dialog { width:min(900px,100%); max-height:88dvh; overflow:auto; padding:26px; background:linear-gradient(145deg,#372415,#110c08); color:#f0d5a1; border:1px solid #bd8c39; border-radius:12px; box-shadow:0 24px 100px #000; }
.np-deck-dialog header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.np-deck-dialog header small { color:#c59954; font-size:10px; letter-spacing:.16em; }
.np-deck-dialog h2 { margin:6px 0 0; font-weight:500; font-size:28px; }
.np-deck-dialog [data-close] { width:44px; height:44px; flex:none; border:1px solid #9b7339; border-radius:50%; background:#170f08; color:#efc675; font-size:25px; }
.np-deck-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr)); gap:16px; }
.np-deck-card { overflow:hidden; border:1px solid #78562e; border-radius:6px; padding:0 0 18px; background:#1c130b; color:#efd7ad; text-align:left; }
.np-deck-card[aria-pressed=true] { border-color:#ebbc65; box-shadow:0 0 0 2px #dba74b; }
.np-deck-card strong, .np-deck-card small { display:block; padding:0 16px; margin-top:12px; }
.np-deck-card strong { font-size:19px; } .np-deck-card small { font-size:12px; color:#d4ad68; }
.np-deck-art { aspect-ratio:16/9; display:grid; place-items:center; background:radial-gradient(ellipse,#724817,#1c130b); overflow:hidden; }
.np-deck-art img { width:100%; height:100%; object-fit:cover; } .np-deck-art span { font-size:50px; color:#dab065; }
/* Full, high-contrast names and street identity in every economy surface. */
.game-page .economy-list > article, .game-page .trade-check, .game-page .build-menu article { background:#ead09b !important; color:#362312 !important; gap:10px !important; padding:12px !important; min-width:0; }
.game-page .economy-list > article { display:flex !important; align-items:center; flex-wrap:wrap; }
.game-page .economy-list > article > div { min-width:130px; flex:1 1 130px; }
.game-page .economy-list > article strong, .game-page .trade-check > span, .game-page .build-menu article strong { color:#35210f !important; font-size:15px !important; font-weight:800 !important; line-height:1.45 !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; overflow-wrap:anywhere; max-width:none !important; -webkit-line-clamp:unset !important; }
.game-page .economy-list > article small, .game-page .trade-check small, .game-page .build-menu article span { color:#65482a !important; font-size:12px !important; line-height:1.4 !important; }
.game-page .economy-list > article button { flex:0 0 auto; min-height:40px; font-size:13px !important; padding:8px 12px !important; color:#fbe0a7 !important; background:#54371e !important; }
.game-page .np-sector-row { border-left:7px solid var(--street-color) !important; }
.game-page .trade-check { align-items:center; } .game-page .trade-check > span { min-width:0; flex:1; }
.game-page .trade-check input[type=checkbox] { width:20px; height:20px; flex:none; accent-color:#78501c; }
.game-page .quick-panel .quick-card.np-property-inventory-card { position:relative; overflow:hidden; border-color:var(--street-color,#b58b4b) !important; box-shadow:inset 7px 0 0 var(--street-color,#b58b4b), 0 0 0 1px color-mix(in srgb,var(--street-color,#b58b4b) 36%,transparent); }
.game-page .quick-panel .quick-card.np-property-inventory-card .np-property-street-label { display:block; width:100%; margin:7px 0 0; padding:5px 7px; border-left:4px solid var(--street-color,#b58b4b); background:color-mix(in srgb,var(--street-color,#b58b4b) 18%,#160d07); color:#f6ddaa; font-size:11px; font-weight:800; line-height:1.3; text-align:left; letter-spacing:.035em; }
.game-page.np-pending-action .build-menu { display:none !important; }
.game-page.np-foreign-choice .surrender-choice > :not(.np-choice-wait) { display:none !important; }
.game-page .np-choice-wait { padding:22px; background:#170e09ed; border:1px solid #a77635; border-radius:8px; color:#f3d9a6; font-size:18px; line-height:1.5; text-shadow:none; }
body:has(.lobby-page)::before { display:none !important; }
@media(max-width:650px) {
  .np-table-builder { gap:18px; } .np-builder-grid { grid-template-columns:1fr; gap:18px; }
  .np-mode-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); } .np-mode-buttons button:first-child { grid-column:1/-1; }
  .np-lock-toggle em { display:none; } .np-time-buttons button { flex:1 1 62px; }
  .np-deck-backdrop { padding:12px; } .np-deck-dialog { padding:18px; } .np-deck-dialog h2 { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) { .np-table-builder * { transition:none !important; } }
