:root {
  --mp-gold: #e5c46b;
  --mp-ink: #0c1019;
  --mp-panel: rgba(18, 24, 36, .96);
  --mp-line: rgba(229, 196, 107, .24);
  --mp-muted: #aab3c4;
  --mp-danger: #ff8f8f;
  --mp-success: #8ee6ad;
}

.mp-hidden { display: none !important; }
.mp-auth-lock { overflow: hidden; }
.mp-auth-overlay {
  position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center;
  padding: 20px; background: radial-gradient(circle at 20% 5%, #233451 0, transparent 35%),
    radial-gradient(circle at 85% 95%, #41273e 0, transparent 36%), #080b12;
  color: #f3f0e8;
}
.mp-auth-card {
  width: min(920px, 100%); max-height: calc(100vh - 40px); overflow: auto;
  border: 1px solid var(--mp-line); border-radius: 24px; padding: clamp(22px, 4vw, 42px);
  background: linear-gradient(145deg, rgba(25, 32, 47, .98), rgba(10, 14, 23, .98));
  box-shadow: 0 30px 90px rgba(0,0,0,.58);
}
.mp-auth-card h1 { margin: 0 0 8px; font-family: Georgia, serif; color: #fff4cc; }
.mp-auth-card > p { color: var(--mp-muted); margin: 0 0 26px; }
.mp-auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.mp-auth-pane { padding: 22px; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: rgba(255,255,255,.025); }
.mp-auth-pane h2 { margin-top: 0; font-size: 1.2rem; }
.mp-field { display: grid; gap: 7px; margin: 12px 0; }
.mp-field label { color: #d8dce5; font-size: .9rem; }
.mp-field input, .mp-field select, .mp-field textarea, .mp-select, .mp-input {
  width: 100%; color: #f7f7f8; background: #0d121c; border: 1px solid rgba(255,255,255,.14);
  border-radius: 9px; padding: 10px 12px; font: inherit;
}
.mp-field textarea { min-height: 78px; resize: vertical; }
.mp-button {
  border: 1px solid var(--mp-line); border-radius: 9px; padding: 9px 13px; cursor: pointer;
  color: #f9f4e4; background: linear-gradient(145deg, #343044, #202738); font: inherit;
}
.mp-button:hover { border-color: rgba(229,196,107,.7); transform: translateY(-1px); }
.mp-button.primary { color: #1a160d; font-weight: 800; background: linear-gradient(145deg, #ffe59b, #c89d3f); }
.mp-button.danger { color: #ffd3d3; border-color: rgba(255,100,100,.35); }
.mp-button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.mp-auth-error, .mp-notice { min-height: 1.35em; margin-top: 12px; color: var(--mp-danger); }
.mp-notice.success { color: var(--mp-success); }
.mp-account-bar {
  position: sticky; top: 0; z-index: 120; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px;
  max-width: 1180px; margin: 0 auto 14px; padding: 10px 16px; border: 1px solid var(--mp-line);
  border-radius: 0 0 14px 14px; color: #ecedf1; background: rgba(9, 13, 22, .94); backdrop-filter: blur(14px);
}
.mp-account-bar strong { color: #fff0be; }
.mp-account-bar .mp-spacer { flex: 1; }
.mp-account-bar small { color: var(--mp-muted); }
.mp-cost-badge { display: inline-flex; margin-left: 9px; padding: 7px 10px; border: 1px solid var(--mp-line); border-radius: 99px; color: #ffe8a6; }
.mp-view { margin-top: 24px; }
.mp-panel {
  margin: 16px 0; padding: clamp(16px, 3vw, 26px); border: 1px solid var(--mp-line); border-radius: 16px;
  background: linear-gradient(145deg, rgba(23,30,44,.96), rgba(12,17,27,.96)); color: #f1f2f5;
}
.mp-panel h2, .mp-panel h3 { margin-top: 0; color: #fff2c9; }
.mp-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin: 12px 0 18px; }
.mp-toolbar > * { min-width: 130px; }
.mp-toolbar .mp-spacer { flex: 1; min-width: 20px; }
.mp-treasury-heading { display: flex; gap: 18px; align-items: start; justify-content: space-between; }
.mp-treasury-heading p { max-width: 760px; }
.mp-treasury-filters {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 11px;
  margin: 18px 0; padding: 16px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(0,0,0,.13);
}
.mp-filter-field { display: grid; gap: 6px; min-width: 0; color: #d8dce5; font-size: .84rem; }
.mp-filter-field .mp-input, .mp-filter-field .mp-select { min-width: 0; }
.mp-evaluation-progress { display: grid; gap: 7px; margin: 15px 0; padding: 14px; border: 1px solid var(--mp-line); border-radius: 11px; background: rgba(229,196,107,.07); }
.mp-evaluation-progress progress { width: 100%; height: 15px; accent-color: var(--mp-gold); }
.mp-evaluation-progress small { color: var(--mp-muted); }
.mp-treasury-groups { display: grid; gap: 10px; }
.mp-treasury-group { border: 1px solid rgba(255,255,255,.09); border-radius: 12px; overflow: clip; background: rgba(0,0,0,.13); }
.mp-treasury-group > summary { display: flex; gap: 18px; align-items: center; justify-content: space-between; padding: 15px 17px; cursor: pointer; list-style-position: inside; }
.mp-treasury-group > summary:hover { background: rgba(255,255,255,.025); }
.mp-treasury-group > summary span { display: grid; gap: 3px; }
.mp-treasury-group > summary span:last-child { text-align: right; }
.mp-treasury-group > summary small { color: var(--mp-muted); }
.mp-treasury-group .mp-table-wrap { border-top: 1px solid rgba(255,255,255,.08); }
.mp-row-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-width: 230px; }
.mp-row-actions .mp-input { width: 72px; min-width: 72px; }
.mp-manual-price { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; padding-left: 6px; border-left: 1px solid rgba(255,255,255,.12); }
.mp-manual-price .mp-input { width: 92px; min-width: 92px; }
.mp-table td > small { display: block; margin-top: 3px; }
.mp-player-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.075); }
.mp-player-row:last-child { border-bottom: 0; }
.mp-pagination { display: flex; gap: 10px; align-items: center; justify-content: center; margin-top: 14px; }
.mp-stats { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 10px; margin: 14px 0; }
.mp-stat { padding: 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(0,0,0,.17); }
.mp-stat small { display: block; color: var(--mp-muted); }
.mp-stat strong { display: block; margin-top: 5px; color: #fff1bd; font-size: 1.14rem; }
.mp-table-wrap { overflow-x: auto; }
.mp-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.mp-table th, .mp-table td { padding: 10px 9px; border-bottom: 1px solid rgba(255,255,255,.075); text-align: left; vertical-align: middle; }
.mp-table th { color: #decf9e; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; }
.mp-card-cell { display: flex; gap: 10px; align-items: center; min-width: 220px; }
.mp-card-detail-trigger { width: 100%; padding: 4px; border: 1px solid transparent; border-radius: 8px; color: inherit; background: transparent; text-align: left; cursor: zoom-in; font: inherit; }
.mp-card-detail-trigger:hover, .mp-card-detail-trigger:focus-visible { border-color: var(--mp-line); background: rgba(229,196,107,.07); outline: none; }
.mp-card-cell img { width: 44px; height: 61px; object-fit: cover; border-radius: 5px; background: #070a10; }
.mp-card-cell small { display: block; color: var(--mp-muted); }
.mp-card-preview { display: flex; align-items: center; gap: 12px; min-height: 72px; margin: -6px 0 14px; padding: 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(0,0,0,.13); }
.mp-card-preview .mp-card-cell { max-width: 480px; }
.mp-price-details { margin: 18px 0 4px; padding: 13px; border: 1px solid var(--mp-line); border-radius: 11px; background: rgba(229,196,107,.07); }
.mp-price-details > strong { color: #fff0b9; }
.mp-price-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: 8px; margin-top: 9px; }
.mp-price-grid > div { display: grid; gap: 2px; padding: 9px; border-radius: 8px; background: rgba(0,0,0,.2); }
.mp-price-grid span, .mp-price-grid small { color: var(--mp-muted); font-size: .72rem; }
.mp-price-grid strong { color: #fff4ce; }
.mp-badge { display: inline-flex; padding: 3px 7px; border-radius: 99px; background: rgba(229,196,107,.12); color: #f2d98e; font-size: .78rem; }
.mp-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mp-list { display: grid; gap: 9px; }
.mp-list-item { padding: 13px; border: 1px solid rgba(255,255,255,.085); border-radius: 11px; background: rgba(0,0,0,.14); }
.mp-list-item header { display: flex; gap: 10px; align-items: center; justify-content: space-between; }
.mp-muted { color: var(--mp-muted); }
.mp-warning { color: #ffd38c; }
.mp-error { color: var(--mp-danger); }
.mp-selection { max-height: 300px; overflow: auto; display: grid; gap: 6px; }
.mp-selection-row { display: grid; grid-template-columns: 1fr 80px 42px; gap: 7px; align-items: center; }
.mp-selection-row .mp-card-cell { min-width: 0; }
.mp-trade-composer-panel { margin-top: 22px; }
.mp-trade-recipient { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px 12px; margin: 14px 0; padding: 13px 15px; border: 1px solid var(--mp-line); border-radius: 11px; background: rgba(229,196,107,.06); }
.mp-trade-recipient strong { color: #fff0b9; font-size: 1.12rem; }.mp-trade-recipient small { flex-basis: 100%; color: var(--mp-muted); }
.mp-trade-picker-sides { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.mp-trade-picker-sides > section { min-width: 0; padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(0,0,0,.13); }
.mp-trade-picker-sides h4 { margin: 18px 0 8px; color: #ded5bb; }
.mp-card-picker { min-width: 0; }
.mp-card-picker-filters { display: grid; grid-template-columns: repeat(auto-fit,minmax(145px,1fr)); gap: 8px; margin-bottom: 11px; padding: 11px; border: 1px solid rgba(255,255,255,.08); border-radius: 11px; background: rgba(0,0,0,.17); }
.mp-card-picker-filters > .mp-button { align-self: end; min-height: 42px; }
.mp-picker-size input { width: 100%; min-height: 42px; padding: 0; accent-color: var(--mp-gold); }
.mp-card-picker-summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 7px 14px; margin: 8px 1px 11px; color: var(--mp-muted); font-size: .78rem; }
.mp-card-picker-summary strong { color: #fff0bc; }
.mp-card-picker-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,var(--mp-picker-card-size,210px)),1fr)); gap: 13px; max-height: 850px; padding: 3px 5px 10px 3px; overflow: auto; scrollbar-gutter: stable; }
.mp-picker-empty { grid-column: 1/-1; }
.mp-picker-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: linear-gradient(155deg,rgba(35,43,58,.98),rgba(12,17,27,.98)); transition: border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.mp-picker-card:hover { transform: translateY(-2px); border-color: rgba(229,196,107,.5); }
.mp-picker-card.is-selected { border-color: #e5c46b; box-shadow: 0 0 0 2px rgba(229,196,107,.18),0 13px 30px rgba(0,0,0,.3); }
.mp-picker-card.is-unowned { border-color: rgba(105,214,200,.42); background: linear-gradient(155deg,rgba(25,59,62,.72),rgba(12,20,29,.98)); }
.mp-picker-card.is-unowned.is-selected { border-color: #93eee1; box-shadow: 0 0 0 2px rgba(105,214,200,.18),0 0 28px rgba(105,214,200,.12); }
.mp-picker-card-main { display: block; width: 100%; padding: 9px 9px 5px; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; font: inherit; }
.mp-picker-card-image { position: relative; display: block; aspect-ratio: 63/88; overflow: hidden; border-radius: 4.8%/3.5%; background: #070a10; box-shadow: 0 10px 24px rgba(0,0,0,.4); }
.mp-picker-card-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.mp-picker-card-name { display: block; margin-top: 9px; overflow: hidden; color: #fff5d8; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.mp-picker-card-main > small { display: block; margin-top: 3px; overflow: hidden; color: var(--mp-muted); font-size: .7rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.mp-picker-stock,.mp-discovery-badge,.mp-picker-selected-badge { position: absolute; z-index: 2; padding: 5px 7px; border-radius: 999px; font-size: .64rem; font-weight: 900; box-shadow: 0 3px 12px rgba(0,0,0,.38); }
.mp-picker-stock { top: 7px; right: 7px; color: #18130a; background: #f0cf79; }
.mp-discovery-badge { top: 7px; left: 7px; border: 1px solid rgba(210,255,250,.72); color: #e8fffc; background: rgba(13,84,81,.94); letter-spacing: .03em; text-transform: uppercase; }
.mp-picker-selected-badge { right: 7px; bottom: 7px; border: 1px solid rgba(255,244,204,.64); color: #fff7d9; background: rgba(92,70,18,.94); }
.mp-picker-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 9px 9px; }
.mp-picker-card footer .mp-button { min-width: 0; padding: 6px 8px; font-size: .72rem; }
.mp-picker-action-hint { color: var(--mp-muted); font-size: .72rem; }
.mp-picker-quantity { display: grid; grid-template-columns: 28px minmax(24px,auto) 28px; align-items: center; text-align: center; }
.mp-picker-quantity button { height: 28px; border: 1px solid var(--mp-line); border-radius: 7px; color: #fff1c2; background: #202838; cursor: pointer; }.mp-picker-quantity button:disabled { opacity: .35; cursor: default; }
.mp-market-sale-bar { position: sticky; bottom: 8px; z-index: 8; display: grid; grid-template-columns: minmax(220px,1fr) 120px 155px auto; gap: 10px; align-items: end; margin-top: 15px; padding: 13px; border: 1px solid rgba(229,196,107,.42); border-radius: 13px; background: rgba(10,15,24,.96); box-shadow: 0 12px 34px rgba(0,0,0,.42); backdrop-filter: blur(12px); }
.mp-market-sale-bar label { display: grid; gap: 5px; color: var(--mp-muted); font-size: .75rem; }.mp-market-selected-label { display: grid; gap: 2px; min-width: 0; }
.mp-market-selected-label small,.mp-market-selected-label span { overflow: hidden; color: var(--mp-muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }.mp-market-selected-label strong { overflow: hidden; color: #fff0b8; text-overflow: ellipsis; white-space: nowrap; }
.mp-market-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-top: 28px; }.mp-market-heading h3,.mp-market-heading p { margin: 0 0 5px; }
.mp-market-gallery { display: grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap: 15px; }
.mp-market-listing { min-width: 0; padding: 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: linear-gradient(155deg,rgba(28,36,50,.98),rgba(11,16,25,.98)); }
.mp-market-listing.is-unowned { border-color: rgba(105,214,200,.42); box-shadow: inset 0 0 30px rgba(105,214,200,.05); }
.mp-market-card-visual { display: block; width: 100%; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; cursor: zoom-in; font: inherit; }.mp-market-card-visual > span { position: relative; display: block; aspect-ratio: 63/88; overflow: hidden; border-radius: 4.8%/3.5%; background: #070a10; }
.mp-market-card-visual img { width: 100%; height: 100%; object-fit: contain; }.mp-market-card-visual > strong { display: block; margin-top: 9px; overflow: hidden; color: #fff3d0; text-overflow: ellipsis; white-space: nowrap; }.mp-market-card-visual > small { display: block; margin-top: 3px; overflow: hidden; color: var(--mp-muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.mp-market-listing-meta { display: grid; gap: 4px; margin: 10px 0; padding: 9px; border-radius: 9px; background: rgba(0,0,0,.18); color: var(--mp-muted); font-size: .74rem; }.mp-market-listing-meta > span strong { color: #f1f3f6; }.mp-market-price { color: #ffe08c; font-size: 1rem; }
.mp-market-listing-actions { display: grid; grid-template-columns: 75px 1fr; gap: 7px; }.mp-market-listing-actions > .danger:only-child { grid-column: 1/-1; }
.mp-trade-sides { display: grid; grid-template-columns: 1fr auto 1fr; gap: 9px; align-items: start; margin: 11px 0; }
.mp-trade-sides > section { display: grid; gap: 6px; min-width: 0; padding: 9px; border-radius: 9px; background: rgba(0,0,0,.15); }
.mp-trade-sides > section > div { display: flex; align-items: center; gap: 6px; }
.mp-trade-sides .mp-card-cell { min-width: 0; }
.mp-trade-sides > span { align-self: center; color: var(--mp-gold); }
.mp-deck-editor { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr); gap: 16px; }
.mp-empty { padding: 26px; text-align: center; color: var(--mp-muted); border: 1px dashed rgba(255,255,255,.13); border-radius: 12px; }
.mp-toast-stack { position: fixed; right: 16px; bottom: 16px; z-index: 12000; display: grid; gap: 8px; width: min(390px, calc(100vw - 32px)); }
.mp-toast { padding: 13px 15px; border: 1px solid var(--mp-line); border-radius: 10px; background: #111824; color: #f4f5f7; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.mp-toast.error { border-color: rgba(255,100,100,.4); color: #ffd5d5; }
.mp-album-deck-actions { display: grid; gap: 8px; margin: 10px 0 16px; padding: 12px; border: 1px solid var(--mp-line); border-radius: 11px; background: rgba(229,196,107,.07); }
.mp-album-deck-row { display: grid; grid-template-columns: minmax(170px,1.2fr) minmax(135px,.8fr) 82px auto; gap: 7px; }
.mp-album-deck-actions small { color: var(--mp-muted); }
.mp-owned-global-volume { box-shadow: 0 0 28px rgba(105,185,120,.2); }
.mp-owned-global-symbol { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: #c9ffd1; font-size: 1.45rem; }
.mp-classified-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.mp-classified-heading h2 { margin: 2px 0 5px; }
.mp-classified-kicker { margin: 0; color: #e7c56b; font-size: .76rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.mp-classified-filters { display: grid; grid-template-columns: minmax(220px,1.5fr) repeat(4,minmax(135px,.75fr)) auto; gap: 8px; margin-bottom: 18px; }
.mp-classified-board {
  display: grid; grid-template-columns: repeat(auto-fill,minmax(245px,1fr)); gap: 24px; min-height: 460px; padding: 38px clamp(18px,4vw,44px);
  border: 13px solid #493222; border-radius: 9px; background-color: #7a5136;
  background-image: radial-gradient(rgba(255,255,255,.055) 1px, transparent 1px), radial-gradient(rgba(0,0,0,.08) 1px, transparent 1px);
  background-position: 0 0, 4px 4px; background-size: 8px 8px; box-shadow: inset 0 0 45px rgba(25,10,3,.45), 0 18px 38px rgba(0,0,0,.32);
}
.mp-classified-note { --paper:#f1e4b8; position: relative; display: flex; flex-direction: column; min-height: 285px; padding: 30px 20px 18px; color: #2d271c; background: var(--paper); box-shadow: 3px 8px 15px rgba(26,10,2,.32); transform: rotate(var(--note-turn)); transition: transform .17s ease, box-shadow .17s ease; }
.mp-classified-note:nth-child(3n+2) { --paper:#dce6c1; }.mp-classified-note:nth-child(3n) { --paper:#e5d6c9; }
.mp-classified-note:hover { z-index: 2; transform: rotate(0) translateY(-3px); box-shadow: 4px 13px 24px rgba(26,10,2,.4); }
.mp-classified-note.is-pinned { outline: 3px solid rgba(243,203,78,.66); }
.mp-classified-pin { position: absolute; top: 8px; left: 50%; width: 15px; height: 15px; border: 2px solid #8d1f22; border-radius: 50%; background: #d64d4d; box-shadow: 0 3px 4px rgba(0,0,0,.4); transform: translateX(-50%); }
.mp-classified-pin::after { content:""; position:absolute; left:5px; top:12px; width:2px; height:9px; background:#786050; transform:rotate(13deg); }
.mp-classified-note header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.mp-classified-note .mp-badge { background: rgba(72,55,30,.12); color: #5c461d; }
.mp-classified-pinned { color: #8c301c; font-size: .7rem; text-transform: uppercase; }.mp-classified-note h3 { margin: 14px 0 9px; color: #332817; font: 700 1.25rem Georgia,serif; }
.mp-classified-note > p { flex: 1; margin: 0; line-height: 1.48; overflow-wrap: anywhere; }.mp-classified-note footer { display: grid; gap: 3px; margin-top: 16px; padding-top: 10px; border-top: 1px solid rgba(70,50,24,.25); font-size: .69rem; }
.mp-classified-open { margin-top: 12px; padding: 8px; border: 1px solid rgba(63,43,19,.34); border-radius: 5px; color: #332817; background: rgba(255,255,255,.25); cursor: pointer; font-weight: 800; }
.mp-classified-empty { grid-column: 1/-1; place-self: center; padding: 28px; border: 1px dashed rgba(255,255,255,.38); color: #fff1cf; background: rgba(35,18,8,.25); }
.mp-classified-editor { max-width: 840px; margin-inline: auto; }.mp-classified-editor textarea { min-height: 220px; }
.mp-classified-thread { max-width: 980px; margin-inline: auto; }.mp-classified-paper { position: relative; padding: 42px clamp(22px,5vw,58px) 28px; color: #30291d; background: #eee3c7; box-shadow: 0 18px 42px rgba(0,0,0,.35); }
.mp-classified-paper h2 { margin: 22px 0 15px; color: #2d2518; font: 700 clamp(1.7rem,4vw,2.6rem) Georgia,serif; }.mp-classified-paper > p { min-height: 100px; line-height: 1.62; overflow-wrap: anywhere; }
.mp-classified-paper footer { margin-top: 22px; padding-top: 12px; border-top: 1px solid rgba(70,50,24,.26); font-size: .78rem; }.mp-classified-thread-meta { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.mp-classified-thread-meta .mp-badge { background: rgba(72,55,30,.11); color: #5c461d; }.mp-classified-replies { display: grid; gap: 10px; margin-top: 24px; }.mp-classified-replies > article { padding: 15px 17px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: rgba(0,0,0,.17); }
.mp-classified-replies article header { display: flex; justify-content: space-between; gap: 12px; }.mp-classified-replies article time { color: var(--mp-muted); font-size: .72rem; }.mp-classified-replies article p { white-space: normal; overflow-wrap: anywhere; }
.mp-classified-reply-form { display: grid; gap: 9px; margin-top: 18px; padding: 16px; border: 1px solid var(--mp-line); border-radius: 11px; background: rgba(229,196,107,.05); }.mp-classified-reply-form textarea { min-height: 115px; resize: vertical; }
.mp-classified-moderation { margin: 18px 0; padding: 13px; border: 1px solid rgba(255,144,93,.35); border-radius: 10px; background: rgba(126,53,25,.14); }.mp-classified-closed { padding: 13px; border-radius: 9px; color: #ffd7a3; background: rgba(120,68,25,.16); }
.mp-game-invite-badge {
  display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin-left: 6px; padding: 0 5px;
  border-radius: 99px; background: #d95757; color: white; font-size: .7rem; font-weight: 900;
}
.mp-game-heading { display: flex; gap: 18px; align-items: start; justify-content: space-between; margin-bottom: 16px; }
.mp-game-heading h2 { margin-bottom: 5px; }
.mp-game-heading p { margin: 0; color: var(--mp-muted); }
.mp-game-heading-actions, .mp-game-inline-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.mp-game-connection { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid rgba(142,230,173,.3); border-radius: 99px; color: var(--mp-success); font-size: .8rem; }
.mp-game-connection::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.mp-game-connection.is-reconnecting { color: #ffd38c; border-color: rgba(255,211,140,.3); }
.mp-game-lobby-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.mp-game-lobby-card {
  padding: 16px; border: 1px solid rgba(255,255,255,.09); border-radius: 14px;
  background: linear-gradient(145deg, rgba(0,0,0,.2), rgba(255,255,255,.02));
}
.mp-game-lobby-card h3 { margin-bottom: 12px; }
.mp-game-check { display: flex; gap: 8px; align-items: center; margin: 12px 0; color: #dfe3ea; }
.mp-game-invitation-list, .mp-game-player-directory { display: grid; gap: 8px; max-height: 430px; overflow: auto; }
.mp-game-invitation { display: grid; gap: 8px; padding: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(0,0,0,.17); }
.mp-game-invitation header { display: flex; gap: 10px; align-items: center; justify-content: space-between; }
.mp-game-invitation small { color: var(--mp-muted); }
.mp-game-player {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 11px 13px;
  border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(0,0,0,.14); color: #f2f3f5; text-align: left; cursor: pointer;
}
.mp-game-player:hover { border-color: var(--mp-line); background: rgba(229,196,107,.07); }
.mp-game-player span:first-child { display: grid; gap: 3px; }
.mp-game-player small { color: var(--mp-muted); }
.mp-game-setup { max-width: 980px; margin: auto; }
#mp-play-view { width: min(1800px, calc(100vw - 28px)); margin-left: 50%; transform: translateX(-50%); }
.mp-game-versus { display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: center; margin: 28px 0; }
.mp-game-versus article { display: grid; gap: 7px; min-height: 150px; place-content: center; padding: 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; text-align: center; background: rgba(0,0,0,.18); }
.mp-game-versus article.is-viewer { border-color: var(--mp-line); box-shadow: inset 0 0 35px rgba(229,196,107,.05); }
.mp-game-versus article strong { color: #fff0bc; font-size: 1.2rem; }
.mp-game-versus article small { color: var(--mp-muted); }
.mp-game-versus > b { color: var(--mp-gold); font-family: Georgia, serif; }
.mp-game-toss { margin: 18px 0; padding: 16px; border: 1px solid var(--mp-line); border-radius: 12px; background: rgba(229,196,107,.06); }
.mp-game-shell { color: #eef0f4; }
.mp-game-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(235px, 280px); gap: 10px; }
.mp-game-board-wrap { min-width: 0; overflow: hidden; }
.mp-game-board-viewport {
  width: 100%; height: clamp(560px, 72vh, 900px); overflow: auto; overscroll-behavior: contain;
  border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: #090e17;
  scrollbar-gutter: stable both-edges;
}
.mp-game-board {
  position: relative; display: grid; gap: 12px; width: 2000px; min-width: 2000px; min-height: 1320px; padding: 14px; overflow: visible;
  border-radius: 15px; background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.055), transparent 34%),
    linear-gradient(180deg, #181e2b 0 49.7%, #101622 50.3% 100%);
  transform-origin: top left; touch-action: pan-x pan-y pinch-zoom;
  zoom: var(--mp-game-scale, 1);
}
.mp-game-board.is-magic { background:
  radial-gradient(circle at 50% 50%, rgba(200,168,102,.1), transparent 30%),
  repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,255,255,.018) 80px),
  linear-gradient(180deg, #24202b 0 49.7%, #17221f 50.3% 100%); }
.mp-game-board.is-pokemon { background:
  radial-gradient(ellipse at center, rgba(66,116,174,.16), transparent 42%),
  linear-gradient(180deg, #16283c 0 49.7%, #30231b 50.3% 100%); }
.mp-game-player-side { display: grid; grid-template-rows: auto auto minmax(0,1fr); gap: 9px; min-height: 640px; }
.mp-game-player-side.is-viewer { grid-template-rows: minmax(0,1fr) auto auto; }
.mp-game-player-header {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.09); border-radius: 11px; background: rgba(5,8,13,.7);
}
.mp-game-player-header.is-active { border-color: rgba(229,196,107,.6); box-shadow: 0 0 18px rgba(229,196,107,.12); }
.mp-game-player-header > span:first-child { display: grid; gap: 2px; }
.mp-game-player-header small, .mp-game-counters { color: var(--mp-muted); font-size: .78rem; }
.mp-game-life { display: flex; align-items: center; gap: 3px; }
.mp-game-life button, .mp-game-zoom-controls button {
  border: 1px solid rgba(255,255,255,.12); border-radius: 7px; padding: 6px 7px; background: #1c2330; color: white; cursor: pointer;
}
.mp-game-life input { width: 54px; padding: 5px; border: 0; background: transparent; color: #fff0b7; text-align: center; font-size: 1.25rem; font-weight: 900; }
.mp-game-zone-row { display: flex; flex-wrap: wrap; gap: 7px; }
.mp-game-zone {
  position: relative; min-height: 96px; border: 1px dashed rgba(255,255,255,.17); border-radius: 10px;
  background: rgba(0,0,0,.17); transition: border-color .15s, background .15s;
}
.mp-game-zone:hover { border-color: rgba(229,196,107,.5); background: rgba(229,196,107,.045); }
.mp-game-zone.is-drop-target { border-color: #ffe08a; background: rgba(255,224,138,.14); box-shadow: inset 0 0 0 2px rgba(255,224,138,.16), 0 0 18px rgba(255,224,138,.14); }
.mp-game-zone-label { position: absolute; top: 5px; left: 7px; z-index: 10; color: rgba(230,234,241,.62); font-size: .67rem; text-transform: uppercase; letter-spacing: .04em; pointer-events: none; }
.mp-game-zone.is-compact { display: grid; grid-template-columns: 1fr auto; align-items: start; width: 92px; min-height: 126px; padding: 6px; }
.mp-game-zone.is-compact > span { font-size: .66rem; color: var(--mp-muted); }
.mp-game-zone.is-compact > b { color: #ffe59b; font-size: .75rem; }
.mp-game-zone.is-compact .mp-game-card { position: absolute; left: 14px; bottom: 5px; }
.mp-game-zone.is-free { min-height: 470px; overflow: visible; contain: layout; }
.mp-game-zone.is-snap { display: flex; align-items: center; justify-content: center; min-width: 92px; min-height: 126px; padding: 19px 5px 5px; }
.mp-game-shared-zone, .mp-game-stadium { min-height: 80px; }
.mp-game-shared-zone .mp-game-zone { min-height: 76px; }
.mp-game-stadium .mp-game-zone { width: min(260px, 100%); min-height: 100px; margin: auto; }
.mp-game-card {
  position: relative; display: inline-grid; width: 76px; aspect-ratio: 63/88; padding: 0; overflow: visible;
  border: 1px solid rgba(255,255,255,.2); border-radius: 7px; background: #080b10; color: white;
  box-shadow: 0 4px 12px rgba(0,0,0,.38); transform: rotate(var(--card-rotation, 0deg)); transform-origin: center;
  cursor: grab; touch-action: none; user-select: none;
}
.mp-game-card:hover, .mp-game-card.is-selected { outline: 2px solid #ffe08a; box-shadow: 0 0 20px rgba(255,224,138,.25); }
.mp-game-card.is-positioned { position: absolute; translate: -50% -50%; }
.mp-game-card.is-compact { width: 62px; }
.mp-game-card.is-dragging { cursor: grabbing; transform: none; translate: 0; opacity: .94; }
.mp-game-card.is-drag-source { opacity: .28; }
.mp-game-drag-ghost { margin: 0; box-shadow: 0 18px 45px rgba(0,0,0,.7); }
.mp-game-card img, .mp-game-card-back { width: 100%; height: 100%; border-radius: 6px; object-fit: contain; background: #070a0f; pointer-events: none; }
.mp-game-card-back { display: block; background:
  radial-gradient(circle at 50% 45%, rgba(229,196,107,.42) 0 10%, transparent 11%),
  repeating-radial-gradient(circle at 50% 45%, #1b2a45 0 7px, #0c1321 8px 13px); border: 2px solid #a8833c; }
.mp-game-synthetic { display: grid; place-content: center; gap: 5px; height: 100%; padding: 6px; border-radius: 6px; text-align: center; background: linear-gradient(145deg,#6e5931,#1b222f); overflow: hidden; }
.mp-game-synthetic small { font-size: .56rem; color: #eee2bd; }
.mp-game-synthetic em { font-weight: 900; font-style: normal; }
.mp-game-card.resource-island .mp-game-synthetic, .mp-game-card.resource-water .mp-game-synthetic { background: linear-gradient(145deg,#3779b7,#10233a); }
.mp-game-card.resource-forest .mp-game-synthetic, .mp-game-card.resource-grass .mp-game-synthetic { background: linear-gradient(145deg,#3f8b57,#14291c); }
.mp-game-card.resource-mountain .mp-game-synthetic, .mp-game-card.resource-fire .mp-game-synthetic { background: linear-gradient(145deg,#b54a36,#371712); }
.mp-game-card.resource-swamp .mp-game-synthetic, .mp-game-card.resource-darkness .mp-game-synthetic { background: linear-gradient(145deg,#55445e,#151019); }
.mp-game-card.resource-plains .mp-game-synthetic, .mp-game-card.resource-lightning .mp-game-synthetic { background: linear-gradient(145deg,#e1c96f,#4a3c16); color: #17130a; }
.mp-game-damage { position: absolute; right: -8px; top: -8px; z-index: 4; min-width: 27px; padding: 4px; border-radius: 99px; background: #c63f3f; color: white; font-size: .7rem; }
.mp-game-marker-labels { position: absolute; left: 2px; right: 2px; bottom: 2px; z-index: 5; display: grid; gap: 2px; pointer-events: none; }
.mp-game-marker-labels i { overflow: hidden; padding: 2px 4px; border-radius: 4px; background: rgba(21,113,70,.94); color: #effff5; font-size: .48rem; font-style: normal; font-weight: 800; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; box-shadow: 0 1px 4px #000; }
.mp-game-condition-badges { position: absolute; left: -9px; top: 8px; z-index: 8; display: grid; gap: 3px; pointer-events: none; }
.mp-game-condition-badges i { display: flex; align-items: center; gap: 3px; width: max-content; max-width: 92px; padding: 2px 4px; border: 1px solid rgba(255,255,255,.35); border-radius: 5px; color: white; font-size: .46rem; font-style: normal; font-weight: 900; line-height: 1; box-shadow: 0 1px 5px #000; }
.mp-game-condition-badges i span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-game-condition-badges .condition-poisoned { background: #3f8f4b; }
.mp-game-condition-badges .condition-burned { background: #c64c22; }
.mp-game-condition-badges .condition-asleep { background: #375d9f; }
.mp-game-condition-badges .condition-confused { background: #7b4aa5; }
.mp-game-condition-badges .condition-paralyzed { background: #b68c16; color: #171307; }
.mp-game-condition-badges .condition-ability_used { background: #167a78; }
.mp-game-energy-dots { position: absolute; right: -8px; bottom: 8px; z-index: 9; display: flex; flex-wrap: wrap; justify-content: end; gap: 3px; width: 54px; pointer-events: none; }
.mp-game-energy-dots i, .mp-game-panel-energies > div > i { width: 12px; height: 12px; flex: 0 0 12px; border: 2px solid rgba(255,255,255,.82); border-radius: 50%; box-shadow: 0 1px 5px #000; }
.mp-game-energy-dots .energy-grass, .mp-game-panel-energies .energy-grass { background: #38a553; }
.mp-game-energy-dots .energy-fire, .mp-game-panel-energies .energy-fire { background: #e05a2b; }
.mp-game-energy-dots .energy-water, .mp-game-panel-energies .energy-water { background: #3187d7; }
.mp-game-energy-dots .energy-lightning, .mp-game-panel-energies .energy-lightning { background: #f0cf27; }
.mp-game-energy-dots .energy-psychic, .mp-game-panel-energies .energy-psychic { background: #9253bd; }
.mp-game-energy-dots .energy-fighting, .mp-game-panel-energies .energy-fighting { background: #a85d27; }
.mp-game-energy-dots .energy-darkness, .mp-game-panel-energies .energy-darkness { background: #30333a; }
.mp-game-energy-dots .energy-metal, .mp-game-panel-energies .energy-metal { background: #9099a3; }
.mp-game-energy-dots .energy-colorless, .mp-game-panel-energies .energy-colorless { background: #d7d2bd; }
.mp-game-energy-dots .energy-special, .mp-game-panel-energies .energy-special { background: linear-gradient(135deg,#e2b954,#6d63b5); }
.mp-game-note-label { position: absolute; left: 2px; right: 2px; top: 2px; z-index: 5; overflow: hidden; padding: 3px 4px; border-radius: 4px; background: rgba(255,221,111,.96); color: #251c04; font-size: .49rem; font-weight: 900; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; box-shadow: 0 1px 5px #000; pointer-events: none; }
.mp-game-card.is-token { border-style: double; border-width: 3px; }
.mp-game-card.is-hidden { border: 0; cursor: default; }
.mp-game-card-back { display: inline-block; width: 48px; aspect-ratio: 63/88; border-radius: 5px; }
.mp-game-zone.is-hand-counter { display: flex; align-items: center; gap: 8px; min-height: 70px; padding: 7px; }
.mp-game-zone.is-hand-counter > div { display: flex; }
.mp-game-zone.is-hand-counter .mp-game-card-back { width: 31px; margin-left: -12px; }
.mp-game-zone.is-hand-counter .mp-game-card-back:first-child { margin-left: 0; }
.mp-game-hand { margin-top: 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(7,10,16,.95); }
.mp-game-hand summary, .mp-game-tools summary, .mp-game-journal summary, .mp-game-chat summary { padding: 10px 12px; cursor: pointer; color: #ffe9aa; }
.mp-game-hand > div { display: flex; gap: 8px; min-height: 130px; padding: 9px; overflow-x: auto; align-items: end; }
.mp-game-hand .mp-game-card { width: 76px; flex: 0 0 auto; }
.mp-game-sidebar { display: grid; align-content: start; gap: 10px; min-width: 0; }
.mp-game-shell.is-sidebar-collapsed .mp-game-layout { grid-template-columns: minmax(0,1fr); }
.mp-game-shell.is-sidebar-collapsed .mp-game-sidebar { display: none; }
.mp-game-tools, .mp-game-journal, .mp-game-chat, .mp-game-object-panel {
  border: 1px solid rgba(255,255,255,.09); border-radius: 11px; background: rgba(6,9,15,.75); overflow: hidden;
}
.mp-game-tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 0 10px 10px; }
.mp-game-private-view { margin: 0 10px 10px; padding: 9px; border: 1px solid rgba(104,167,255,.28); border-radius: 9px; background: rgba(70,120,190,.08); }
.mp-game-private-view > div { display: flex; gap: 5px; margin: 7px 0; overflow-x: auto; }
.mp-game-private-view small { color: var(--mp-muted); font-size: .65rem; }
.mp-game-tool-grid .mp-button { padding: 7px 8px; font-size: .76rem; }
.mp-game-zoom-controls { display: flex; align-items: center; justify-content: space-between; padding: 9px 11px; border-top: 1px solid rgba(255,255,255,.08); color: var(--mp-muted); font-size: .75rem; }
.mp-game-object-panel { padding: 11px; }
.mp-game-object-panel header { display: flex; gap: 8px; align-items: center; justify-content: space-between; }
.mp-game-object-panel header button, .mp-game-object-actions button {
  border: 1px solid rgba(255,255,255,.1); border-radius: 7px; padding: 6px 7px; background: #202838; color: #eef0f3; cursor: pointer; font-size: .72rem;
}
.mp-game-object-panel > small { display: block; margin: 5px 0 9px; color: var(--mp-muted); }
.mp-game-position-editor { display: grid; grid-template-columns: 1fr 1fr auto; gap: 5px; margin: 8px 0; padding: 8px; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; }
.mp-game-position-editor label { display: grid; gap: 3px; color: var(--mp-muted); font-size: .65rem; }
.mp-game-position-editor input { width: 100%; min-width: 0; padding: 5px; border: 1px solid rgba(255,255,255,.12); border-radius: 5px; background: #0d131d; color: white; }
.mp-game-position-editor button, .mp-game-top-selection button { border: 1px solid var(--mp-line); border-radius: 6px; background: #2c3341; color: white; cursor: pointer; }
.mp-game-position-editor small { grid-column: 1/-1; color: #8d98aa; }
.mp-game-panel-note { display: grid; gap: 3px; margin: 7px 0; padding: 7px; border-radius: 7px; background: rgba(255,221,111,.11); color: #ffeeb8; font-size: .72rem; }
.mp-game-panel-markers { display: grid; gap: 4px; margin: 7px 0; }
.mp-game-panel-markers > div { display: flex; gap: 4px; align-items: center; padding: 5px; border-radius: 6px; background: rgba(70,160,105,.1); }
.mp-game-panel-markers span { flex: 1; min-width: 0; font-size: .68rem; }
.mp-game-panel-markers button { border: 1px solid rgba(255,255,255,.1); border-radius: 4px; background: #1d2931; color: white; cursor: pointer; }
.mp-game-object-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.mp-game-object-actions button.is-active { border-color: #ffe08a; background: rgba(229,196,107,.22); color: #fff1bd; box-shadow: inset 0 0 0 1px rgba(255,224,138,.25); }
.mp-game-panel-energies { display: grid; gap: 6px; margin: 9px 0; padding: 8px; border: 1px solid rgba(255,224,138,.22); border-radius: 8px; background: rgba(229,196,107,.05); }
.mp-game-panel-energies h4 { margin: 0 0 2px; color: #ffe8a4; font-size: .78rem; }
.mp-game-panel-energies > div { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 5px 7px; align-items: center; padding: 6px; border-radius: 6px; background: rgba(255,255,255,.035); }
.mp-game-panel-energies span { display: grid; min-width: 0; font-size: .68rem; }
.mp-game-panel-energies span small { color: var(--mp-muted); }
.mp-game-panel-energies button { grid-column: auto / span 1; border: 1px solid rgba(255,255,255,.12); border-radius: 5px; padding: 4px; background: #202838; color: white; cursor: pointer; font-size: .62rem; }
.mp-game-journal ol { max-height: 330px; margin: 0; padding: 0 12px 12px 32px; overflow: auto; }
.mp-game-journal li { margin: 6px 0; color: #e1e4ea; font-size: .76rem; }
.mp-game-journal time { display: block; color: #778398; font-size: .64rem; }
.mp-game-chat form { display: flex; gap: 6px; padding: 0 10px 10px; }
.mp-game-chat input { min-width: 0; }
.mp-game-phases { display: flex; gap: 4px; margin-bottom: 8px; padding: 7px; overflow-x: auto; border: 1px solid rgba(255,255,255,.09); border-radius: 11px; background: rgba(0,0,0,.18); }
.mp-game-phases > button {
  flex: 0 0 auto; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; padding: 7px 8px; background: #151c28; color: #9fa9b9; cursor: pointer; font-size: .69rem;
}
.mp-game-phases > button.is-current { border-color: #e5c46b; background: rgba(229,196,107,.15); color: #ffe9aa; }
.mp-game-phases > button.is-done { color: #83c89c; border-color: rgba(131,200,156,.25); }
.mp-game-turn-flags { display: flex; flex-wrap: wrap; gap: 5px; margin: -2px 0 8px; }
.mp-game-turn-flags button { border: 1px solid rgba(255,255,255,.1); border-radius: 99px; padding: 5px 8px; background: #161d29; color: #aab3c4; font-size: .67rem; cursor: pointer; }
.mp-game-turn-flags button.is-checked { border-color: rgba(142,230,173,.35); background: rgba(142,230,173,.1); color: var(--mp-success); }
.mp-game-alerts { display: grid; gap: 5px; margin: 0 0 8px; padding: 10px 12px; border: 1px solid rgba(255,190,95,.3); border-radius: 10px; background: rgba(255,172,64,.08); color: #ffdfa8; }
.mp-game-alerts p { margin: 0; font-size: .78rem; }
.mp-game-board.is-pokemon { width: 1120px; min-width: 1120px; min-height: 900px; gap: 7px; padding: 10px; }
.mp-game-board.is-pokemon .mp-game-player-side { min-height: 378px; gap: 6px; padding: 7px; border-radius: 13px; background: rgba(4,9,15,.16); }
.mp-game-board.is-pokemon .mp-game-player-side.is-opponent { border: 1px solid rgba(94,153,213,.22); }
.mp-game-board.is-pokemon .mp-game-player-side.is-viewer { border: 1px solid rgba(226,155,96,.22); }
.mp-game-board.is-pokemon .mp-game-player-header { min-height: 40px; padding-block: 5px; }
.mp-game-pokemon-grid { display: grid; grid-template-columns: 90px minmax(0,1fr) 112px; gap: 8px; align-items: center; min-height: 302px; }
.mp-game-pokemon-rail { display: grid; gap: 5px; align-content: center; }
.mp-game-pokemon-rail .mp-game-zone.is-compact { width: 86px; min-height: 92px; }
.mp-game-pokemon-rail .mp-game-zone.is-compact .mp-game-card { width: 49px; left: 18px; }
.mp-game-pokemon-field { display: grid; grid-template-rows: 146px 146px; gap: 8px; min-width: 0; align-content: center; }
.mp-game-bench { position: relative; min-width: 0; padding-top: 20px; }
.mp-game-bench-label { position: absolute; inset: 0 auto auto 4px; color: rgba(230,234,241,.68); font-size: .65rem; letter-spacing: .04em; text-transform: uppercase; }
.mp-game-bench > div { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; }
.mp-game-pokemon-slot { min-width: 0 !important; min-height: 126px !important; padding: 18px 3px 4px !important; overflow: visible; }
.mp-game-pokemon-slot.is-active-slot { width: 118px; justify-self: center; border-style: solid; border-color: rgba(255,221,123,.34); }
.mp-game-pokemon-slot .mp-game-card { width: 72px; }
.mp-game-slot-placeholder { color: rgba(220,226,236,.25); font-size: .62rem; font-style: normal; text-transform: uppercase; pointer-events: none; }
.mp-game-prizes { display: grid; grid-template-columns: repeat(3,1fr); gap: 4px; align-content: center; }
.mp-game-prize-slot { position: relative; }
.mp-game-prize-slot > button { position: absolute; inset: auto 3px 3px; z-index: 6; border: 1px solid var(--mp-line); border-radius: 5px; padding: 2px 4px; background: rgba(9,13,22,.92); color: #ffe9aa; font-size: .55rem; cursor: pointer; }
.mp-game-prizes .mp-game-zone { min-width: 32px; min-height: 82px; }
.mp-game-prizes .mp-game-zone-label { font-size: .58rem; }
.mp-game-prizes .mp-game-card { width: 46px; }
.mp-game-board.is-pokemon .mp-game-stadium { min-height: 72px; }
.mp-game-board.is-pokemon .mp-game-stadium .mp-game-zone { min-height: 70px; width: 220px; }
.mp-game-board.is-pokemon .mp-game-stadium .mp-game-card { width: 48px; }
.mp-game-starter { display: grid; gap: 5px; margin: 0 10px 10px; padding: 10px; border: 1px solid var(--mp-line); border-radius: 9px; }
.mp-game-starter p { margin: 0 0 5px; color: var(--mp-muted); font-size: .72rem; }
.mp-game-starter label { font-size: .73rem; }
.mp-game-zoom { position: fixed; inset: 0; z-index: 20000; display: grid; grid-template-rows: auto 1fr; place-items: center; padding: 18px; background: rgba(3,5,9,.96); }
.mp-game-zoom > button { justify-self: end; }
.mp-game-zoom-content { display: grid; grid-template-columns: minmax(250px, .9fr) minmax(300px, 1.1fr); gap: clamp(16px,3vw,38px); align-items: center; width: min(1180px,96vw); height: 100%; min-height: 0; }
.mp-game-zoom-visual { display: grid; place-items: center; min-width: 0; min-height: 0; }
.mp-game-zoom img, .mp-game-peek img { max-width: 100%; max-height: 84vh; object-fit: contain; border-radius: 16px; box-shadow: 0 30px 90px #000; }
.mp-game-zoom-text { max-height: 82vh; overflow: auto; padding: clamp(18px,3vw,32px); border: 1px solid var(--mp-line); border-radius: 16px; background: linear-gradient(145deg,#182131,#0d121d); }
.mp-game-zoom-text h2 { margin: 0 0 5px; color: #fff0bd; font-family: Georgia,serif; }
.mp-game-zoom-type { color: #c6cfdd; }
.mp-game-zoom-oracle { padding: 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: rgba(0,0,0,.2); line-height: 1.48; white-space: normal; }
.mp-game-zoom-flavor { color: #b7c0cf; font-style: italic; }
.mp-game-zoom-text dl { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.mp-game-zoom-text dl div { padding: 7px; border-radius: 7px; background: rgba(255,255,255,.04); }
.mp-game-zoom-text dt { color: #8f9bad; font-size: .67rem; text-transform: uppercase; }
.mp-game-zoom-text dd { margin: 3px 0 0; }
.mp-game-peek { position: fixed; inset: 20px 20px 20px auto; z-index: 19500; width: min(900px, calc(100vw - 40px)); padding: 14px; border: 1px solid var(--mp-line); border-radius: 18px; background: rgba(5,8,13,.97); box-shadow: 0 25px 90px #000; pointer-events: none; }
.mp-game-peek .mp-game-zoom-content { width: 100%; height: 100%; }
.mp-game-peek .mp-game-zoom-text { max-height: calc(100vh - 68px); }
.mp-game-zone.is-selected-top { border-color: #ffe08a; box-shadow: 0 0 20px rgba(255,224,138,.24); }
.mp-game-top-selection kbd { padding: 2px 6px; border: 1px solid rgba(255,255,255,.2); border-radius: 4px; background: #111923; }
.mp-game-zoom-synthetic { max-width: 520px; padding: 38px; border: 2px solid var(--mp-line); border-radius: 22px; background: #1a2230; text-align: center; }
.mp-game-shell.is-readonly button, .mp-game-shell.is-readonly input { cursor: default; }
.mp-game-shell:fullscreen { display: flex; flex-direction: column; width: 100vw; height: 100vh; padding: 10px; overflow: hidden; background: #070b12; }
.mp-game-shell:fullscreen .mp-game-heading { flex: 0 0 auto; margin-bottom: 8px; }
.mp-game-shell:fullscreen .mp-game-phases,
.mp-game-shell:fullscreen .mp-game-turn-flags,
.mp-game-shell:fullscreen .mp-game-alerts { flex: 0 0 auto; }
.mp-game-shell:fullscreen .mp-game-layout { flex: 1 1 auto; height: auto; min-height: 0; overflow: hidden; }
.mp-game-shell:fullscreen .mp-game-board-wrap { display: grid; grid-template-rows: minmax(0,1fr) auto; min-height: 0; overflow: hidden; }
.mp-game-shell:fullscreen .mp-game-board-viewport { min-height: 0; height: 100%; }
.mp-game-shell:fullscreen .mp-game-hand { position: relative; bottom: auto; display: block; flex: 0 0 auto; max-height: 205px; overflow: hidden; }
.mp-game-shell:fullscreen .mp-game-hand > summary { display: block; }
.mp-game-shell:fullscreen .mp-game-hand > div { display: flex; min-height: 108px; max-height: 155px; overflow-x: auto; overflow-y: hidden; }
.mp-game-shell:fullscreen .mp-game-sidebar { max-height: 100%; overflow: auto; }

@media (max-width: 800px) {
  .mp-auth-grid, .mp-grid-2, .mp-deck-editor { grid-template-columns: 1fr; }
  .mp-stats { grid-template-columns: repeat(2, 1fr); }
  .mp-account-bar { border-radius: 0; }
  .mp-treasury-heading, .mp-treasury-group > summary { align-items: stretch; flex-direction: column; }
  .mp-treasury-group > summary span:last-child { text-align: left; }
  .mp-game-lobby-grid, .mp-game-layout { grid-template-columns: 1fr; }
  .mp-game-heading { align-items: stretch; flex-direction: column; }
  .mp-game-sidebar { grid-template-columns: 1fr 1fr; }
  .mp-game-board { min-width: 880px; min-height: 690px; }
  .mp-game-board-wrap { overflow-x: auto; }
  .mp-game-hand { position: sticky; bottom: 0; z-index: 100; }
  .mp-game-object-panel { position: sticky; bottom: 0; z-index: 101; }
  .mp-game-zoom-content { grid-template-columns: 1fr; overflow: auto; align-content: start; }
  .mp-game-zoom img, .mp-game-peek img { max-height: 55vh; }
  .mp-game-peek { inset: 8px; width: auto; }
  .mp-album-deck-row { grid-template-columns: 1fr; }
  .mp-trade-sides { grid-template-columns: 1fr; }
  .mp-trade-sides > span { justify-self: center; }
  .mp-trade-picker-sides { grid-template-columns: 1fr; }
  .mp-market-sale-bar { position: static; grid-template-columns: 1fr 1fr; }
  .mp-market-selected-label { grid-column: 1/-1; }
  .mp-market-heading { align-items: stretch; flex-direction: column; }
  .mp-classified-heading { align-items: stretch; flex-direction: column; }
  .mp-classified-filters { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .mp-auth-overlay { padding: 0; }
  .mp-auth-card { max-height: 100vh; min-height: 100vh; border-radius: 0; padding: 20px 15px; }
  .mp-auth-pane { padding: 15px; }
  .mp-stats { grid-template-columns: 1fr; }
  .mp-game-versus { grid-template-columns: 1fr; }
  .mp-game-versus > b { text-align: center; }
  .mp-game-sidebar { grid-template-columns: 1fr; }
  .mp-game-tool-grid { grid-template-columns: 1fr 1fr; }
  .mp-game-life { flex-wrap: wrap; justify-content: end; }
  .mp-classified-filters { grid-template-columns: 1fr; }
  .mp-classified-board { grid-template-columns: 1fr; padding: 30px 14px; border-width: 8px; }
  .mp-classified-note { transform: none; }
  .mp-card-picker-filters,.mp-market-sale-bar { grid-template-columns: 1fr; }
  .mp-market-selected-label { grid-column: auto; }
  .mp-card-picker-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,170px),1fr)); }
}
