/* Nix Exchange — compact right rail and expanded structured-trade workspace. */
.exchange-panel,
.exchange-workspace{
  --exchange-ink:#16101f;
  --exchange-surface:rgba(28,22,39,.94);
  --exchange-surface-strong:rgba(20,15,30,.98);
  --exchange-line:rgba(216,189,132,.24);
  --exchange-gold:#efd59b;
  --exchange-purple:#b88bff;
  --exchange-green:#82df8b;
  --exchange-red:#ff8b7d;
}

.exchange-panel{
  position:relative;
  container:exchangeCompact / inline-size;
  min-height:540px;
  overflow:hidden;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  border-color:rgba(173,132,235,.52);
  background:
    radial-gradient(circle at 92% 4%,rgba(181,127,255,.16),transparent 34%),
    radial-gradient(circle at 8% 90%,rgba(216,189,132,.08),transparent 32%),
    linear-gradient(180deg,rgba(44,32,65,.98),rgba(22,17,33,.99));
}

.exchange-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.35;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 49.6%,rgba(216,189,132,.05) 49.6% 50.4%,transparent 50.4%),
    linear-gradient(0deg,transparent 49.6%,rgba(216,189,132,.035) 49.6% 50.4%,transparent 50.4%);
  background-size:38px 38px;
  mask-image:linear-gradient(180deg,#000,transparent 74%);
}

.exchange-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px 13px;
  border-bottom:1px solid var(--exchange-line);
  background:linear-gradient(180deg,rgba(49,35,70,.82),rgba(31,23,45,.45));
}

.exchange-panel-head h2{
  padding:3px 0 0;
  font-size:19px;
  color:#fff0c8;
}

.exchange-kicker{
  display:flex;
  align-items:center;
  gap:7px;
  color:#cdb7ec;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.exchange-beta-tag{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:2px 6px;
  border:1px solid rgba(216,189,132,.7);
  border-radius:999px;
  background:rgba(69,49,25,.55);
  color:#ffe5a1;
  box-shadow:0 0 10px rgba(216,189,132,.14);
  font-size:8px;
  line-height:1;
  letter-spacing:.1em;
}

.exchange-mango-feature-target{cursor:pointer;}
.exchange-mango-feature-target:focus-visible{
  outline:1px solid rgba(239,213,155,.88);
  outline-offset:3px;
  border-radius:4px;
}

/* Reuses the shared red burst; only Exchange placement belongs here. */
.tw-readable-ui .exchange-panel>.exchange-new-badge{
  top:-16px;
  left:8px;
  z-index:86;
}
.tw-readable-ui .exchange-panel>.exchange-beta-ribbon{left:68px;}

.exchange-live-dot{
  display:inline-block;
  flex:0 0 8px;
  width:8px;
  height:8px;
  min-width:8px;
  min-height:8px;
  border-radius:50%;
  background:var(--exchange-green,#82df8b);
  box-shadow:0 0 0 3px rgba(130,223,139,.1),0 0 12px rgba(130,223,139,.72);
}

.exchange-notice-button{
  position:relative;
  color:#d8c1fb;
}

.exchange-workspace-tabs b{
  display:grid;
  place-items:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#e56355;
  color:#fff;
  font-size:10px;
  line-height:1;
  box-shadow:0 0 0 2px #251b35;
}

.exchange-workspace-tabs b[hidden]{display:none;}
.exchange-workspace-tabs b.is-pop{animation:exchangeNoticePop .65s ease-out;}

@keyframes exchangeNoticePop{
  0%{transform:scale(.45);opacity:.25;}
  55%{transform:scale(1.28);opacity:1;}
  100%{transform:scale(1);}
}

.exchange-panel-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:0;
  padding:14px;
}

.exchange-panel-intro{
  margin:0 0 12px;
  color:#c8bdd7;
  font-size:12px;
  line-height:1.45;
}

.exchange-compact-activity{
  display:grid;
  gap:7px;
  margin:0 0 12px;
  padding:10px;
  border:1px solid rgba(184,139,255,.68);
  border-radius:13px;
  background:linear-gradient(135deg,rgba(91,53,139,.3),rgba(21,16,31,.9));
  box-shadow:0 0 24px rgba(142,86,215,.16),inset 0 1px 0 rgba(255,255,255,.04);
  animation:exchangeRoomGlow 2.8s ease-in-out infinite;
}
.exchange-compact-activity[hidden]{display:none;}
@keyframes exchangeRoomGlow{
  0%,100%{box-shadow:0 0 18px rgba(142,86,215,.12),inset 0 1px 0 rgba(255,255,255,.04);}
  50%{box-shadow:0 0 29px rgba(173,112,255,.25),inset 0 1px 0 rgba(255,255,255,.06);}
}
.exchange-compact-activity-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#e5cffd;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.exchange-compact-activity-head span{display:flex;align-items:center;gap:7px;}
.exchange-compact-activity-head i{width:7px;height:7px;border-radius:50%;background:var(--exchange-green);box-shadow:0 0 10px rgba(130,223,139,.8);}
.exchange-compact-activity-head b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:rgba(184,139,255,.18);color:#e8d8ff;}
.exchange-compact-room-list{display:grid;gap:6px;}
.exchange-compact-room{
  display:grid;
  gap:5px;
  width:100%;
  padding:9px 10px;
  border:1px solid rgba(121,91,158,.64);
  border-radius:10px;
  background:rgba(14,10,22,.72);
  color:inherit;
  text-align:left;
}
.exchange-compact-room:hover{border-color:rgba(207,170,255,.88);background:rgba(41,28,59,.9);}
.exchange-compact-room.is-unread{border-color:rgba(130,223,139,.68);box-shadow:inset 3px 0 0 var(--exchange-green),0 0 14px rgba(82,184,95,.12);}
.exchange-compact-room-top,.exchange-compact-room-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.exchange-compact-room-top strong{color:#f3e9ff;font-size:11px;}
.exchange-compact-room-top em{color:#cbb2ef;font-size:8px;font-style:normal;font-weight:850;text-transform:uppercase;}
.exchange-compact-room-names{overflow:hidden;color:#d9c9eb;font-size:10px;text-overflow:ellipsis;white-space:nowrap;}
.exchange-compact-room-meta{justify-content:flex-start;color:#9e92ae;font-size:9px;font-variant-numeric:tabular-nums;}
.exchange-compact-room-meta time{color:#e1ca94;}
.exchange-compact-room-open{display:flex;align-items:center;justify-content:flex-end;gap:5px;color:#a4ffd0;font-size:9px;font-weight:900;text-transform:uppercase;}
.exchange-compact-more{padding:3px;border:0;background:transparent;color:#bda4dc;font-size:9px;text-decoration:underline;}


.exchange-icon-filter{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:8px;
  min-height:42px;
}

.exchange-filter-icon{
  display:grid;place-items:center;flex:0 1 42px;min-width:30px;min-height:36px;
  margin:0;padding:3px;border:0;border-radius:0;background:transparent;box-shadow:none;
  color:var(--exchange-category-color,#8f829f);cursor:pointer;
  transition:color .18s ease,filter .18s ease,transform .18s ease;
}

.exchange-filter-icon .exchange-category-art{
  width:34px;
  height:34px;
}


/* ANY uses the same rounded keycap on filters and forms. Geometry belongs
   to each existing control group; alignment and states have one owner. */
.exchange-filter-any,.exchange-choice-any{
  display:grid;place-items:center;box-sizing:border-box;flex:0 0 42px;
  min-width:38px;min-height:36px;margin:0;padding:0;
  border:2px solid #665675;border-radius:8px;
  background:linear-gradient(180deg,#2c2237,#18121f);color:#d7c78f;
  font-family:var(--tw-ui-font);font-size:16px;font-weight:900;line-height:1;
  letter-spacing:0;text-align:center;white-space:nowrap;text-transform:uppercase;
  cursor:pointer;transform:none;
  --tw-keycap-selected-glow:rgba(226,190,108,.18);
  --tw-keycap-rim:rgba(132,110,157,.48);
}
.exchange-filter-any:not(.is-active):not([aria-pressed="true"]):hover,
.exchange-choice-any:not(.is-active):not([aria-pressed="true"]):hover{
  border-color:#b39a6c;color:#f3dfa4;filter:drop-shadow(0 0 7px #e2be6c6b);
}
.exchange-filter-any:is(.is-active,[aria-pressed="true"]),
.exchange-choice-any:is(.is-active,[aria-pressed="true"]){
  border-color:#e2be6c;background:linear-gradient(180deg,#40314e,#281e34);
  color:#f4dfaa;filter:drop-shadow(0 0 4px rgba(226,190,108,.28));
}
.exchange-filter-any:hover{transform:translateY(-5px) scale(1.08);}
.exchange-filter-any.is-active{transform:translateY(-3px) scale(1.06);}
.exchange-choice-any:focus-visible{outline:2px solid #d8bd84;outline-offset:1px;}
.exchange-choice-any{width:38px;height:36px;}

.exchange-filter-icon:hover{
  background:transparent;
  color:var(--exchange-category-color);
  filter:drop-shadow(0 0 7px var(--exchange-category-glow)) drop-shadow(0 4px 6px rgba(0,0,0,.55));
  transform:translateY(-5px) scale(1.12);
}


.exchange-filter-icon:focus-visible,
.exchange-filter-any:focus-visible{
  outline:2px solid #d8bd84;
  outline-offset:1px;
}

.exchange-filter-icon.is-active{
  background:transparent;
  color:var(--exchange-category-color);
  filter:drop-shadow(0 0 9px var(--exchange-category-glow)) drop-shadow(0 5px 5px rgba(0,0,0,.72));
  transform:translateY(-3px) scale(1.08);
}


.exchange-filter-icon,
.exchange-category-choice,
.exchange-category-glyph{
  --exchange-category-color:#b8a9c8;
  --exchange-category-glow:color-mix(in srgb,var(--exchange-category-color) 45%,transparent);
  color:var(--exchange-category-color);
}

.exchange-filter-icon.is-weapon,
.exchange-category-choice.is-weapon,
.exchange-category-glyph.is-weapon,
[data-exchange-category="weapon"]{
  --exchange-category-color:#ff6572;
}

.exchange-filter-icon.is-armor,
.exchange-category-choice.is-armor,
.exchange-category-glyph.is-armor,
[data-exchange-category="armor"]{
  --exchange-category-color:#63acff;
}

.exchange-filter-icon.is-accessory,
.exchange-category-choice.is-accessory,
.exchange-category-glyph.is-accessory,
[data-exchange-category="accessory"]{
  --exchange-category-color:#62dc86;
}


/* The supplied PNG is the complete raised/pressed face, including its frame.
   Normalize transparent canvas margins only; never draw a second CSS frame. */
.exchange-category-art{
  display:block;box-sizing:border-box;flex:none;max-width:none;
  border:0;border-radius:0;background:transparent;box-shadow:none;
  object-fit:contain;pointer-events:none;user-select:none;
  transform:translate(var(--exchange-art-x,0%),var(--exchange-art-y,0%)) scale(var(--exchange-art-scale,1));
  transform-origin:center;
}

/* Alpha-bound normalization: all painted frames fit 94% of their existing slot. */
.exchange-category-art[src$="/accessory-pressed.png"]{--exchange-art-scale:0.94000000;--exchange-art-x:0.00000000%;--exchange-art-y:0.00000000%;}
.exchange-category-art[src$="/accessory-unpressed.png"]{--exchange-art-scale:1.03296703;--exchange-art-x:0.10329670%;--exchange-art-y:1.23956044%;}
.exchange-category-art[src$="/armor-pressed.png"]{--exchange-art-scale:1.19289340;--exchange-art-x:0.00000000%;--exchange-art-y:-0.35786802%;}
.exchange-category-art[src$="/armor-unpressed.png"]{--exchange-art-scale:1.07061503;--exchange-art-x:0.21412301%;--exchange-art-y:0.53530752%;}
.exchange-category-art[src$="/weapon-pressed.png"]{--exchange-art-scale:0.94000000;--exchange-art-x:0.00000000%;--exchange-art-y:0.00000000%;}
.exchange-category-art[src$="/weapon-unpressed.png"]{--exchange-art-scale:1.07305936;--exchange-art-x:0.00000000%;--exchange-art-y:0.32191781%;}

.exchange-panel label,
.exchange-workspace label{
  display:grid;
  gap:5px;
  color:#bcb0cc;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.exchange-panel select,
.exchange-workspace select,
.exchange-workspace input:not([type="checkbox"]):not([type="radio"]){
  width:100%;
  min-width:0;
  padding:9px 10px;
  border-color:rgba(114,88,147,.72);
  border-radius:9px;
  background:rgba(17,13,26,.86);
  font-size:12px;
}

.exchange-watch-button{
  width:100%;
  margin-top:8px;
  padding:7px 9px;
  border:1px dashed rgba(216,189,132,.42);
  border-radius:9px;
  background:rgba(216,189,132,.055);
  color:#dccba4;
  font-size:11px;
}

.exchange-watch-button.is-saved,
.exchange-secondary-button.is-saved{
  border-color:rgba(130,223,139,.45);
  color:#bff2c5;
  background:rgba(77,143,84,.13);
}

.exchange-compact-status,
.exchange-board-summary{
  margin:12px 0 8px;
  color:#a99db9;
  font-size:11px;
  line-height:1.35;
}

.exchange-compact-status.is-error,
.exchange-workspace-status.is-error{
  color:#ffb1a8;
}

.exchange-compact-list{
  display:grid;
  flex:1 1 auto;
  align-content:start;
  gap:7px;
}

.exchange-compact-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  width:100%;
  padding:10px;
  border:1px solid rgba(109,84,142,.58);
  border-radius:11px;
  background:rgba(18,14,27,.76);
  color:inherit;
  text-align:left;
}

.exchange-compact-item:hover{
  border-color:rgba(184,139,255,.76);
  background:rgba(39,28,56,.9);
}

.exchange-compact-item.is-new{
  box-shadow:inset 3px 0 0 var(--exchange-green);
}

.exchange-compact-name{
  display:block;
  overflow:hidden;
  color:#f2e8ff;
  font-size:12px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.exchange-compact-trade{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 6px;
  margin-top:4px;
  color:#afa3bf;
  font-size:10px;
  line-height:1.3;
}

.exchange-compact-expiry{
  align-self:center;
  color:#dfc98f;
  font-size:10px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.exchange-empty-card{
  display:grid;
  place-items:center;
  min-height:112px;
  padding:18px;
  border:1px dashed rgba(216,189,132,.22);
  border-radius:12px;
  color:#9e92ad;
  font-size:11px;
  line-height:1.45;
  text-align:center;
}

.exchange-panel-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  gap:8px;
  border-top:1px solid var(--exchange-line);
}

.exchange-primary-button,
.exchange-secondary-button,
.exchange-icon-button,
.exchange-close-button,
.exchange-danger-button{
  width:auto;
  margin:0;
  border-radius:10px;
  font-weight:800;
}

.exchange-primary-button{
  border-color:rgba(191,149,255,.7);
  background:linear-gradient(180deg,#7a4dc1,#513080);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 7px 18px rgba(73,35,126,.25);
}

.exchange-primary-button:hover{
  border-color:#d6b4ff;
  filter:brightness(1.08);
}

.exchange-secondary-button{
  border-color:rgba(216,189,132,.34);
  background:rgba(27,21,39,.86);
  color:#e3d6ef;
}

.exchange-danger-button{
  border-color:rgba(255,139,125,.42);
  background:rgba(117,43,40,.2);
  color:#ffb7af;
}

.exchange-workspace-backdrop{
  position:fixed;
  inset:0;
  z-index:1600;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(5,4,9,.82);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.exchange-workspace-backdrop[hidden]{display:none;}

body.exchange-workspace-open{overflow:hidden;}

.exchange-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto minmax(0,1fr) auto;
  width:min(1320px,calc(100vw - 20px));
  height:min(900px,calc(100vh - 20px));
  border:1px solid rgba(184,139,255,.55);
  border-radius:20px;
  background:
    radial-gradient(circle at 78% 0,rgba(165,105,255,.14),transparent 34%),
    linear-gradient(180deg,rgba(37,28,52,.99),rgba(17,13,26,.995));
  box-shadow:0 30px 100px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.04);
}

.exchange-mobile-view-tabs{display:none;}

/* Workspace heading uses normal layout flow at every width. */
.exchange-workspace-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid #d8bd8447;border-radius:18px 18px 0 0;background:linear-gradient(90deg,#08060cbd,#09070d7a,#08060cb8);backdrop-filter:blur(2px)}
.exchange-workspace-brand{display:flex;align-items:center;gap:18px;min-width:0;max-width:100%}
.exchange-workspace-head-actions{display:grid;justify-items:end;gap:8px;min-width:0}
.exchange-workspace-corner-actions{display:flex;align-items:center;gap:8px}
@media(max-width:600px){
 .exchange-workspace-head{grid-template-columns:minmax(0,1fr) auto auto;gap:7px;padding:10px}
 .exchange-workspace-brand{grid-column:1/3;grid-row:1;gap:8px}
 .exchange-workspace-head-actions,.exchange-workspace-corner-actions{display:contents}
 .exchange-workspace-head .exchange-close-button{grid-column:3;grid-row:1;align-self:start}
 .exchange-workspace-head .exchange-help-button{grid-column:2/4;grid-row:2;justify-self:end}
 .exchange-workspace-head .exchange-report-issue-button{grid-column:1;grid-row:2;justify-self:start}
 .exchange-workspace-brand h2{font-size:24px}
}

.exchange-workspace-brand h2{
  margin:4px 0 2px;
  color:#f4dfad;
  font-size:24px;
  letter-spacing:.035em;
}

.exchange-workspace-brand p{
  margin:0;
  color:#a99db8;
  font-size:12px;
}

.exchange-workspace-head-actions .exchange-primary-button{padding:9px 15px;}

.exchange-close-button,
.exchange-icon-button{
  display:grid;
  place-items:center;
  padding:0;
  background:rgba(18,14,27,.82);
}

.exchange-close-button{
  width:40px;
  height:40px;
  color:#d8ccdf;
  font-size:24px;
}

.exchange-workspace-tabs button{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 15px 11px;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  background:transparent;
  color:#a99db8;
  font-size:12px;
  font-weight:850;
}

.exchange-workspace-tabs button.is-active{
  border-bottom-color:var(--exchange-purple);
  color:#f5edff;
}

.exchange-workspace-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);
  min-height:0;
}

.exchange-workspace-main,
.exchange-detail-pane{
  min-width:0;
  min-height:0;
  overflow:auto;
}

.exchange-workspace-main{
  padding:16px 18px 22px;
}

.exchange-detail-pane{
  padding:16px;
  border-left:1px solid var(--exchange-line);
  background:rgba(13,10,20,.46);
}

.exchange-board-toolbar{
  display:flex;
  align-items:end;
  gap:10px;
}


.exchange-icon-button{
  flex:0 0 auto;
  width:auto;
  min-width:38px;
  height:38px;
  padding:0 12px;
  color:#decdf5;
  font-size:14px;
  white-space:nowrap;
}
.exchange-help-button,
.exchange-icon-button[data-exchange-help]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:auto;
  min-width:38px;
  min-height:38px;
  padding:0 12px;
  border:1px solid rgba(216,189,132,.42);
  border-radius:9px;
  background:linear-gradient(180deg,rgba(43,35,54,.96),rgba(22,18,30,.98));
  color:#e7d39b;
  font-size:14px;
  font-weight:850;
  white-space:nowrap;
}
.exchange-help-button:hover,
.exchange-help-button:focus-visible,
.exchange-icon-button[data-exchange-help]:hover,
.exchange-icon-button[data-exchange-help]:focus-visible{border-color:#d8bd84;color:#fff0bd;box-shadow:0 0 13px rgba(216,189,132,.16);}

.exchange-mine-content{
  display:grid;
  gap:10px;
}

.exchange-na-tag,
.exchange-new-tag,
.exchange-status-tag{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:3px 7px;
  border:1px solid rgba(216,189,132,.28);
  border-radius:999px;
  background:rgba(216,189,132,.07);
  color:#d8c18e;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.exchange-na-tag,
.exchange-status-tag{
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.exchange-new-tag{
  border-color:rgba(130,223,139,.34);
  background:rgba(130,223,139,.08);
  color:#a7eeb0;
}
.exchange-room-tag{display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;border:1px solid rgba(184,139,255,.46);border-radius:999px;background:rgba(104,64,158,.18);color:#d7b7ff;font-size:9px;font-weight:900;text-transform:uppercase;}

.exchange-status-tag.is-active{color:#a9ebb1;border-color:rgba(130,223,139,.34);}
.exchange-status-tag.is-pending{color:#efd59b;}
.exchange-status-tag.is-accepted{color:#d0b2ff;border-color:rgba(184,139,255,.4);}
.exchange-status-tag.is-completed{color:#a9ebb1;border-color:rgba(130,223,139,.34);}
.exchange-status-tag.is-cancelled{color:#ffb7af;border-color:rgba(255,139,125,.35);}
.exchange-status-tag.is-expired{color:#b8adbf;border-color:rgba(184,173,191,.3);}

.exchange-category-glyphs{
  display:inline-flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:6px;
}

.exchange-category-glyph{
  display:inline-grid;place-items:center;position:relative;
  transition:transform .18s ease,filter .18s ease;
}
/* Informational art responds to its own hover, never the card's selected state. */
@media(hover:hover){
  .exchange-category-glyph:has(.exchange-category-art):hover{
    z-index:1;transform:translateY(-2px) scale(1.08);
    filter:drop-shadow(0 0 5px var(--exchange-category-glow));
  }
}
@media(prefers-reduced-motion:reduce){.exchange-category-glyph{transition:none}}


.exchange-category-glyph .exchange-category-art{
  width:26px;
  height:26px;
}



.exchange-icon-summary{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 7px;
}

.exchange-icon-summary>.exchange-category-glyphs{margin-right:3px;}

/* Bulletin listings: one row layout, one container-driven compact composition. */
.exchange-board-list{display:grid;grid-auto-rows:max-content;align-content:start;gap:6px;min-width:0;max-width:100%;min-height:0;overflow:auto;padding:3px 0;scrollbar-gutter:stable;}
.exchange-listing-columns,.exchange-listing-card{box-sizing:border-box;display:grid;grid-template-columns:minmax(88px,1fr) minmax(206px,1.5fr) 54px 58px 80px 60px 84px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:7px 8px;}
.exchange-listing-columns{overflow:auto;scrollbar-gutter:stable;margin-top:7px;border:1px solid rgba(116,90,142,.3);border-radius:10px;background:rgba(30,25,40,.52);color:#cbb37c;font-size:16px;text-align:center;}
.exchange-listing-columns>span:first-child{text-align:left;}
.exchange-listing-card{cursor:pointer;min-height:64px;border:1px solid rgba(108,83,132,.52);border-radius:10px;background:linear-gradient(90deg,#2a2434,#1a1622);color:#ddd2e2;}
.exchange-listing-card:is(:hover,:focus-visible){border-color:rgba(216,189,132,.6);background:linear-gradient(90deg,#32283d,#1d1826);}
.exchange-listing-card:focus-visible{outline:2px solid #e2be6c;outline-offset:2px;}
.exchange-listing-card.is-new{box-shadow:inset 3px 0 0 var(--exchange-green);}
.exchange-listing-card *{box-sizing:border-box;}
.exchange-listing-card>*{min-width:0;max-width:100%;}
.exchange-listing-player{display:flex;align-items:center;gap:8px;min-width:0;}
.exchange-listing-player>.exchange-player-avatar{box-sizing:border-box;width:34px;height:34px;flex:0 0 34px;}
.exchange-listing-player-copy{display:grid;gap:3px;min-width:0;}
.exchange-listing-player strong{display:block;min-width:0;max-width:100%;overflow:hidden;color:#f0e8f5;font-size:16px;text-overflow:ellipsis;white-space:nowrap;}
.exchange-listing-player .exchange-listing-owner-tag{display:block;margin:0;color:#8fe59b;font-size:16px;font-weight:900;line-height:1.1;letter-spacing:.05em;white-space:nowrap;}
/* One trade-direction component: two independent arrows, each with its own shaft. */
.exchange-trade-arrows{box-sizing:border-box;display:grid;grid-template-rows:auto auto;gap:2px;place-items:center;align-self:center;justify-self:center;width:34px;min-width:34px;height:auto;color:#edcf80;flex:0 0 34px;}
.exchange-trade-arrows>svg{display:block;width:34px;min-width:34px;height:auto;aspect-ratio:30 / 12;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

.exchange-listing-route{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:4px;min-width:0;max-width:100%;}
.exchange-listing-glyphs{display:grid;grid-auto-flow:column;grid-auto-columns:40px;justify-content:center;align-items:center;gap:2px;min-width:0;max-width:100%;}
.exchange-listing-glyphs .exchange-category-glyph{width:40px;height:40px;border:1px solid transparent;border-radius:8px;}
.exchange-listing-glyphs .exchange-category-glyph .exchange-category-art{width:38px;height:38px;object-fit:contain;}
.exchange-listing-glyphs .exchange-category-any-glyph{display:grid;place-items:center;min-width:40px;min-height:40px;padding:0;font-size:16px;}


.exchange-listing-lobby{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;white-space:nowrap;}
.exchange-listing-lobby svg{width:16px;min-width:16px;height:18px;fill:none;stroke:#c9b1df;stroke-width:1.6;stroke-linecap:round;}
.exchange-listing-lobby b{font-size:16px;font-variant-numeric:tabular-nums;}
.exchange-listing-region{color:#e8ce8b;font-size:16px;font-weight:850;text-align:center;white-space:nowrap;}
.exchange-listing-posted,.exchange-listing-expires{display:grid;gap:2px;min-width:0;font-size:16px;text-align:center;font-variant-numeric:tabular-nums;}
.exchange-listing-expires{padding:3px 4px;border:1px solid transparent;border-radius:6px;color:#e4ca87;}
.exchange-listing-field-label{display:none;}
.exchange-listing-card>.exchange-listing-action{width:100%;min-width:0;min-height:36px;max-width:100%;padding:6px;border-radius:8px;font-size:16px;line-height:1.25;white-space:normal;overflow-wrap:normal;}
.exchange-workspace .exchange-listing-card:is(.is-ending-soon,.is-ending-critical) .exchange-listing-expires{--listing-expiry-glow:rgba(235,74,89,.22);border-color:#c45e6b;background:#40212c;color:#ffadb1!important;animation:exchangeListingExpiryPulse 2.4s ease-in-out infinite;}
.exchange-workspace .exchange-listing-card.is-ending-critical .exchange-listing-expires{--listing-expiry-glow:rgba(255,80,92,.38);border-color:#ff8390;background:#55242e;color:#ffccd0!important;font-weight:900;}
@keyframes exchangeListingExpiryPulse{0%,100%{box-shadow:0 0 0 0 transparent;}50%{box-shadow:0 0 0 2px var(--listing-expiry-glow),0 0 8px var(--listing-expiry-glow);}}
@media(prefers-reduced-motion:reduce){
  .exchange-workspace .exchange-listing-card:is(.is-ending-soon,.is-ending-critical) .exchange-listing-expires{animation:none;}
}
@container exchangeMarket (max-width:693px){
  .exchange-listing-columns{display:none;}
  .exchange-listing-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"player player" "trade trade" "lobby region" "posted expires" "action action";gap:10px 8px;padding:12px;}
  .exchange-listing-player{grid-area:player;}
  .exchange-listing-route{grid-area:trade;}
  .exchange-listing-lobby{grid-area:lobby;justify-content:flex-start;}
  .exchange-listing-region{grid-area:region;text-align:right;}
  .exchange-listing-posted{grid-area:posted;text-align:left;}
  .exchange-listing-expires{grid-area:expires;justify-self:end;min-width:64px;text-align:right;}
  .exchange-listing-field-label{display:block;color:#b9abca;font-size:16px;font-weight:400;}
  .exchange-listing-card>.exchange-listing-action{grid-area:action;min-height:44px;}
}

.exchange-detail-empty{
  display:grid;
  justify-items:center;
  min-height:100%;
  align-content:center;
  padding:30px 20px;
  color:#9f93ae;
  text-align:center;
}

.exchange-detail-empty>span{color:#9f72e2;font-size:34px;}
.exchange-detail-empty h3{margin:8px 0 4px;color:#efe5fb;}
.exchange-detail-empty p{max-width:310px;margin:0;font-size:12px;line-height:1.45;}
.exchange-detail-empty ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:16px 0 0;padding:0;list-style:none;}
.exchange-detail-empty li{padding:5px 8px;border:1px solid rgba(216,189,132,.2);border-radius:999px;color:#cbbd9d;font-size:9px;text-transform:uppercase;}

.exchange-detail-card{display:grid;gap:14px;}
.exchange-detail-head{display:flex;align-items:start;justify-content:space-between;gap:10px;}
.exchange-detail-head h3{margin:3px 0 0;color:#f2e9fb;font-size:18px;}
.exchange-detail-head p{margin:5px 0 0;color:#a99db8;font-size:11px;line-height:1.4;}
.exchange-detail-back{padding:7px 9px;font-size:11px;}
.exchange-how-to-steps{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:exchangeHowTo;
}
.exchange-how-to-steps li{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:3px 10px;
  min-width:0;
  padding:11px;
  border:1px solid rgba(106,82,137,.55);
  border-radius:11px;
  background:rgba(22,17,32,.82);
  counter-increment:exchangeHowTo;
}
.exchange-how-to-steps li::before{
  content:counter(exchangeHowTo);
  display:grid;
  grid-row:1 / span 2;
  width:28px;
  height:28px;
  place-items:center;
  border:1px solid rgba(216,189,132,.5);
  border-radius:50%;
  color:#f1d899;
  font-weight:900;
}
.exchange-how-to-steps strong,.exchange-how-to-steps span{grid-column:2;min-width:0;overflow-wrap:anywhere;}
.exchange-how-to-steps strong{color:#eee5f8;}
.exchange-how-to-steps span{color:#aa9db7;line-height:1.45;}
.exchange-how-to-steps span b{color:#ead79f;}
.exchange-how-to-steps strong:has(.exchange-how-to-cp){display:flex;align-items:baseline;gap:9px;white-space:nowrap;}
.exchange-how-to-cp{color:#f1d899;font-style:normal;font-weight:900;}
.exchange-how-to-warning{
  padding:12px 14px;
  border:1px solid rgba(233,91,105,.58);
  border-radius:11px;
  background:rgba(77,22,34,.34);
  color:#e8c9d0;
}
.exchange-how-to-warning strong{color:#ff8d99;text-transform:uppercase;letter-spacing:.08em;}
.exchange-how-to-warning p{margin:5px 0 0;line-height:1.5;}
.exchange-region-reminder{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  align-items:center;
  gap:4px 10px;
  margin:0;
  padding:10px 12px;
  border:1px solid rgba(216,189,132,.46);
  border-radius:10px;
  background:rgba(91,62,33,.2);
  color:#cfc2d7;
  line-height:1.4;
}
.exchange-region-reminder strong{display:grid;align-content:center;justify-items:start;gap:1px;color:#f0d58f;line-height:1.1;white-space:nowrap;}
.exchange-region-reminder strong span{font-weight:850;letter-spacing:.04em;}
.exchange-region-reminder strong b{color:#f3d778;font-size:1.05em;letter-spacing:.05em;}
.exchange-region-reminder>span{min-width:0;color:#f2edf5;}

.exchange-joining-room,
.exchange-room-live-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(184,139,255,.62);
  border-radius:11px;
  background:linear-gradient(100deg,rgba(91,54,137,.3),rgba(23,17,34,.85));
}
.exchange-joining-room{justify-content:flex-start;}
.exchange-joining-room div{display:grid;gap:3px;}
.exchange-joining-room strong,.exchange-room-live-banner strong{color:#eee2fc;font-size:11px;}
.exchange-joining-room small{color:#aa9cb9;font-size:9px;line-height:1.4;}
.exchange-room-live-banner{flex-wrap:wrap;min-width:0;overflow:hidden;box-shadow:0 0 20px rgba(135,83,200,.12);}
.exchange-room-live-banner.is-history{border-color:rgba(216,189,132,.34);background:rgba(43,32,24,.34);box-shadow:none;}
.exchange-room-live-banner.is-ending{border-color:rgba(255,139,125,.52);background:linear-gradient(100deg,rgba(105,43,40,.26),rgba(23,17,34,.88));}
.exchange-room-live-banner span{display:flex;align-items:center;gap:8px;}
.exchange-room-live-banner>b{color:#d8c28d;font-size:9px;font-variant-numeric:tabular-nums;}
.exchange-lobby-set-phrase{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  flex:1 1 100%;
  gap:7px!important;
  min-width:0;
  width:100%;
  padding:8px 0 0;
  border-top:1px solid rgba(216,189,132,.16);
  color:#cbbadd;
  font:inherit;
  text-align:left;
}
button.exchange-lobby-set-phrase{border-width:1px 0 0;border-radius:0;background:transparent;cursor:pointer;}
.exchange-lobby-set-phrase small{min-width:0;color:#cbbadd;font-size:inherit;white-space:nowrap;}
.exchange-lobby-set-phrase strong{display:block;min-width:0;overflow-wrap:anywhere;color:#f3dfa8;font-weight:900;letter-spacing:.06em;}
.exchange-section-count{margin-left:5px;color:#b895e9;font-size:10px;}
.exchange-room-access-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;}
.exchange-room-access-control button{padding:8px 10px;font-size:9px;}

.exchange-primary-button:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.55;}

.exchange-form,
.exchange-detail-section{
  display:grid;
  gap:11px;
  padding:13px;
  border:1px solid rgba(106,82,137,.55);
  border-radius:13px;
  background:rgba(22,17,32,.82);
}

.exchange-form h4,
.exchange-detail-section h4{
  margin:0;
  color:#dbc594;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.exchange-choice-grid{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

.exchange-choice-grid label{
  display:flex;
  position:relative;
  align-items:center;
  justify-content:center;
  flex:0 0 58px;
  width:58px;
  min-height:58px;
  padding:5px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--exchange-category-color,#91859f);
  cursor:pointer;
  box-shadow:none;
  transition:color .18s ease,filter .18s ease,transform .18s ease;
}

.exchange-choice-grid input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.exchange-category-icon{display:grid;place-items:center;}
.exchange-category-icon .exchange-category-art{
  width:48px;
  height:48px;
}
.exchange-choice-grid label:hover{background:transparent;color:var(--exchange-category-color);filter:drop-shadow(0 0 6px var(--exchange-category-glow)) drop-shadow(0 4px 6px rgba(0,0,0,.55));transform:translateY(-5px) scale(1.12);}
.exchange-choice-grid label:has(input:focus-visible){outline:2px solid #d8bd84;outline-offset:2px;}
.exchange-choice-grid label:has(input:checked){
  background:transparent;
  color:var(--exchange-category-color);
  filter:drop-shadow(0 0 7px var(--exchange-category-glow)) drop-shadow(0 5px 5px rgba(0,0,0,.72));
  transform:translateY(-3px) scale(1.08);
}
.exchange-choice-grid label:has(input:checked) .exchange-category-icon{filter:none;}
.exchange-visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.exchange-form-note{
  margin:0;
  color:#9e92ad;
  font-size:10px;
  line-height:1.45;
}

.exchange-turnstile-wrap{
  min-height:66px;
  overflow:hidden;
  border:1px dashed rgba(216,189,132,.2);
  border-radius:10px;
  background:rgba(8,7,12,.28);
}

.exchange-turnstile-status{
  padding:8px 10px 0;
  color:#a99db8;
  font-size:10px;
}

.exchange-form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px;}
.exchange-form-actions button{padding:9px 12px;font-size:11px;}

.exchange-inline-error,
.exchange-inline-success{
  margin:0;
  padding:8px 10px;
  border-radius:8px;
  font-size:10px;
  line-height:1.4;
}
.exchange-inline-error{border:1px solid rgba(255,139,125,.28);background:rgba(116,44,40,.16);color:#ffb7af;}
.exchange-inline-success{border:1px solid rgba(130,223,139,.28);background:rgba(48,105,56,.16);color:#b9edbf;}

.exchange-workspace-status{
  min-height:31px;
  padding:8px 18px;
  border-top:1px solid var(--exchange-line);
  background:rgba(11,8,17,.54);
  color:#9f93ad;
  font-size:10px;
}

.exchange-mine-intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.exchange-mine-intro h3{margin:0;color:#f2e8ff;font-size:17px;}
.exchange-mine-intro p{margin:4px 0 0;color:#a99db8;font-size:11px;}
.exchange-mine-intro button{padding:8px 10px;font-size:11px;}

.exchange-mine-group{display:grid;gap:8px;}
.exchange-mine-group+.exchange-mine-group{margin-top:8px;}
.exchange-mine-group-title{display:flex;align-items:center;justify-content:space-between;color:#d8c492;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;}
.exchange-mine-group-title span{color:#8f829e;font-size:9px;}

.exchange-mine-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  padding:12px;
  border:1px solid rgba(103,79,133,.55);
  border-radius:12px;
  background:rgba(24,18,35,.82);
}
.exchange-mine-card h4{margin:0;color:#eee5f8;font-size:13px;}
.exchange-record-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}
.exchange-record-identity{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.exchange-record-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.exchange-record-heading>.exchange-status-tag{
  flex:0 0 auto;
  margin-left:auto;
}
.exchange-mine-card p{margin:5px 0 0;color:#a397b2;font-size:10px;line-height:1.4;}

.exchange-mine-card .exchange-pending-summary{margin-top:7px;color:#8f839c;font-size:9px;}
.exchange-mine-card-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;}
.exchange-mine-card-actions button{padding:7px 9px;font-size:10px;}
.exchange-mine-card.has-unread{border-color:rgba(184,139,255,.78);box-shadow:inset 3px 0 0 rgba(184,139,255,.75),0 0 18px rgba(126,82,189,.1);}
.exchange-mine-card-actions button .exchange-activity-dot{margin-left:5px;}
.exchange-grace-card{
  min-width:0;
  border-color:rgba(216,189,132,.58);
  background:linear-gradient(115deg,rgba(86,57,30,.3),rgba(24,18,35,.92));
  box-shadow:inset 3px 0 0 rgba(216,189,132,.72),0 8px 22px rgba(0,0,0,.16);
}
.exchange-grace-card.is-rejoin{
  border-color:rgba(184,139,255,.66);
  background:linear-gradient(115deg,rgba(91,55,134,.3),rgba(24,18,35,.92));
  box-shadow:inset 3px 0 0 rgba(184,139,255,.78),0 8px 22px rgba(0,0,0,.16);
}
.exchange-grace-card.is-ending{
  border-color:rgba(255,139,125,.55);
  background:linear-gradient(115deg,rgba(111,45,41,.25),rgba(24,18,35,.94));
  box-shadow:inset 3px 0 0 rgba(255,139,125,.7),0 8px 22px rgba(0,0,0,.16);
}
.exchange-grace-copy{min-width:0;overflow-wrap:anywhere;color:#b8aabd;line-height:1.45;}
div.exchange-grace-copy{display:grid;gap:5px;}
div.exchange-grace-copy>*{min-width:0;}
div.exchange-grace-copy p{margin:0;color:#b8aabd;line-height:1.45;}
.exchange-grace-countdown{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  max-width:100%;
  margin:0 1px;
  overflow:hidden;
  color:#ffe3a2;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  text-overflow:ellipsis;
  vertical-align:middle;
  white-space:nowrap;
}
.exchange-grace-card .exchange-grace-countdown{
  min-height:26px;
  margin:1px 2px;
  padding:4px 8px;
  border:1px solid rgba(216,189,132,.42);
  border-radius:999px;
  background:rgba(12,9,19,.56);
  font-size:11px;
  line-height:1;
}
.is-rejoin .exchange-grace-countdown{color:#e4cdff;}
.exchange-grace-card.is-rejoin .exchange-grace-countdown{border-color:rgba(184,139,255,.5);}
.is-ending .exchange-grace-countdown{color:#ffc1ba;}
.exchange-grace-card.is-ending .exchange-grace-countdown{border-color:rgba(255,139,125,.46);}
.exchange-grace-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
}
.exchange-grace-actions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  max-width:100%;
  min-height:40px;
  padding:8px 11px;
  overflow-wrap:anywhere;
  white-space:normal;
}
.exchange-grace-actions button:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.55;}
.exchange-grace-actions svg,
.exchange-grace-actions img{flex:0 0 auto;max-width:28px;max-height:28px;object-fit:contain;}
.exchange-detail-section.exchange-grace-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;}
.exchange-activity-dot{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ff7d6f;
  box-shadow:0 0 0 3px rgba(255,125,111,.12),0 0 10px rgba(255,125,111,.72);
  animation:exchangeActivityPulse 1.35s ease-in-out infinite;
}
@keyframes exchangeActivityPulse{0%,100%{transform:scale(.86);opacity:.68;}50%{transform:scale(1.18);opacity:1;}}

.exchange-event-list{display:grid;align-content:start;gap:10px;}

.exchange-trade-overview{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;text-align:center;}
.exchange-trade-player{padding:10px;border:1px solid rgba(108,83,140,.5);border-radius:10px;background:rgba(11,9,17,.4);}
.exchange-trade-player strong{display:block;overflow:hidden;color:#f0e7fa;font-size:12px;text-overflow:ellipsis;white-space:nowrap;}
.exchange-trade-player span{display:block;margin-top:5px;color:#a99db8;font-size:9px;line-height:1.35;}
.exchange-trade-swap{color:#c7a7f2;font-size:18px;}

.exchange-event-row{
  --exchange-speaker:#6eb8d8;
  display:flex;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
}
.exchange-event-row.is-mine{justify-content:flex-end;--exchange-speaker:#b58af1;}
.exchange-event-row.is-other{justify-content:flex-start;}
.exchange-event-row.is-system{justify-content:center;--exchange-speaker:#a89bb4;}
.exchange-event-row.is-speaker-0{--exchange-speaker:#65bdd2;}
.exchange-event-row.is-speaker-1{--exchange-speaker:#d49a65;}
.exchange-event-row.is-speaker-2{--exchange-speaker:#74c894;}
.exchange-event-row.is-speaker-3{--exchange-speaker:#da829e;}
.exchange-event-row.is-speaker-4{--exchange-speaker:#7f9ee7;}
.exchange-message-bubble{
  width:fit-content;
  max-width:88%;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--exchange-speaker) 56%,transparent);
  border-radius:15px 15px 15px 5px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--exchange-speaker) 17%,rgba(24,18,35,.96)),rgba(16,12,24,.96));
  box-shadow:0 7px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.035);
}
.exchange-event-row.is-mine .exchange-message-bubble{
  border-radius:15px 15px 5px 15px;
  background:linear-gradient(145deg,rgba(107,69,157,.92),rgba(62,40,91,.96));
  box-shadow:0 8px 18px rgba(69,36,108,.28),inset 0 1px 0 rgba(255,255,255,.07);
}
.exchange-event-row.is-system .exchange-message-bubble{
  max-width:94%;
  padding:8px 11px;
  border-style:dashed;
  border-radius:999px;
  background:rgba(74,65,86,.22);
  box-shadow:none;
}
.exchange-message-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:5px;
}
.exchange-message-meta strong{overflow:hidden;color:color-mix(in srgb,var(--exchange-speaker) 74%,white);font-size:11px;text-overflow:ellipsis;white-space:nowrap;}
.exchange-event-row.is-mine .exchange-message-meta strong{color:#f4e8ff;}
.exchange-message-meta time{flex:0 0 auto;color:#a99db5;font-size:9px;font-variant-numeric:tabular-nums;}
.exchange-event-row.is-mine .exchange-message-meta time{color:#d7c2e8;}
.exchange-message-bubble p{margin:0;color:#eee7f4;font-size:12px;line-height:1.45;}

.exchange-phrase-signal{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(184,139,255,.58);
  border-radius:10px;
  background:linear-gradient(90deg,rgba(86,54,129,.32),rgba(25,18,37,.74));
  color:#dbc7f8;
  font-size:10px;
  box-shadow:0 0 18px rgba(137,86,205,.12);
}
.exchange-phrase-signal.is-mine{justify-self:end;border-radius:14px 14px 5px 14px;background:linear-gradient(90deg,rgba(103,65,151,.75),rgba(64,41,94,.84));}
.exchange-phrase-signal.is-other{justify-self:start;border-radius:14px 14px 14px 5px;}
.exchange-phrase-signal b{display:flex;gap:4px;}
.exchange-phrase-signal i{width:6px;height:6px;border-radius:50%;background:#cda7ff;animation:exchangePhraseDot 1s ease-in-out infinite;}
.exchange-phrase-signal i:nth-child(2){animation-delay:.14s;}
.exchange-phrase-signal i:nth-child(3){animation-delay:.28s;}
@keyframes exchangePhraseDot{0%,65%,100%{transform:translateY(0);opacity:.45;}32%{transform:translateY(-4px);opacity:1;}}

.exchange-lobby-tools-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:9px;
  min-width:0;
}
.exchange-lobby-tools-grid>.exchange-detail-section{
  align-content:start;
  min-width:0;
  height:100%;
}
.exchange-lobby-tools-grid>.exchange-detail-section:only-child{grid-column:1 / -1;}
.exchange-trade-time-section,
.exchange-set-phrase-section{min-width:0;overflow:hidden;}
.exchange-time-row{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:end;
  gap:7px;
  min-width:0;
}
.exchange-time-inputs{
  display:grid;
  grid-template-columns:minmax(125px,1fr) minmax(105px,.78fr);
  gap:7px;
  min-width:0;
}
.exchange-time-inputs label,
.exchange-time-inputs input{min-width:0;width:100%;}
.exchange-time-inputs input{color-scheme:dark;}
.exchange-time-row button{width:100%;min-width:0;padding:9px 10px;font-size:10px;white-space:normal;}
.exchange-set-phrase-display{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(121,91,158,.5);
  border-radius:10px;
  background:rgba(12,9,19,.5);
}
.exchange-set-phrase-display>*{min-width:0;}
.exchange-set-phrase-display span{color:#b6a9c4;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;}
.exchange-set-phrase-display strong{overflow-wrap:anywhere;color:#f3dfa8;font-weight:900;letter-spacing:.07em;}
.exchange-set-phrase-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;}
.exchange-set-phrase-actions button{min-width:0;min-height:40px;white-space:normal;}
.exchange-set-phrase-actions button:only-child{grid-column:1 / -1;}
.exchange-set-phrase-actions>span{grid-column:1 / -1;min-width:0;}
.exchange-phrase-cooldown.is-cooling-down,
.exchange-phrase-cooldown.is-cooling-down:disabled{
  border-color:rgba(216,189,132,.34);
  background:rgba(44,35,51,.82);
  color:#bcaec7;
  box-shadow:none;
  cursor:wait;
  filter:none;
  opacity:.82;
}
.exchange-phrase-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  min-width:0;
}
.exchange-phrase-grid button{
  min-width:0;
  min-height:44px;
  padding:9px 8px;
  overflow:hidden;
  font-size:10px;
  line-height:1.3;
  overflow-wrap:anywhere;
  white-space:normal;
}
@container lobbyCard (max-width:680px){
  .exchange-lobby-tools-grid{grid-template-columns:minmax(0,1fr);}
}
@container lobbyCard (max-width:430px){
  .exchange-time-row,.exchange-set-phrase-display{grid-template-columns:minmax(0,1fr);}
  .exchange-time-inputs{grid-template-columns:repeat(2,minmax(0,1fr));}
  .exchange-time-row button{width:100%;}
  .exchange-detail-section.exchange-grace-card{grid-template-columns:minmax(0,1fr);}
  .exchange-detail-section.exchange-grace-card .exchange-grace-actions{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;}
  .exchange-detail-section.exchange-grace-card .exchange-grace-actions button{width:100%;}
}

.exchange-report-link{
  padding:0;
  border:0;
  background:transparent;
  color:#978aa6;
  font-size:10px;
  text-decoration:underline;
}

@media(max-width:1100px){
  .exchange-panel{min-height:400px;}
  .exchange-compact-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:940px){
  .exchange-workspace-backdrop{padding:0;}
  .exchange-workspace{
    grid-template-rows:auto auto auto minmax(0,1fr) auto;
    width:100%;
    height:100vh;
    height:100dvh;
    border:0;
    border-radius:0;
  }
  .exchange-mobile-view-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    padding:8px 10px;
    border-bottom:1px solid var(--exchange-line);
    background:rgba(18,13,27,.92);
  }
  .exchange-mobile-view-tabs button{
    min-width:0;
    min-height:40px;
    padding:8px 6px;
    overflow:hidden;
    border:1px solid rgba(121,91,158,.42);
    border-radius:10px;
    background:rgba(13,10,20,.68);
    color:#a99db8;
    font-size:12px;
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .exchange-mobile-view-tabs button.is-active{
    border-color:rgba(184,139,255,.78);
    background:linear-gradient(180deg,rgba(105,66,157,.7),rgba(55,36,80,.82));
    color:#fff3ff;
    box-shadow:0 0 14px rgba(146,91,218,.2);
  }
  .exchange-mobile-view-tabs button:disabled{opacity:.35;cursor:not-allowed;}
  .exchange-workspace-grid{
    display:block;
    min-height:0;
    overflow:hidden;
  }
  .exchange-workspace-main,
.exchange-detail-pane{
    display:none;
    width:100%;
    height:100%;
    overflow-y:auto;
    overscroll-behavior:contain;
    border:0;
  }
  .exchange-workspace[data-mobile-view="main"] .exchange-workspace-main{display:block;overflow-y:auto;}
  .exchange-workspace[data-mobile-view="detail"] .exchange-detail-pane{display:block;}
  .exchange-detail-empty{min-height:100%;}
  .exchange-workspace-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}

@media(max-width:600px){
  .exchange-panel{min-height:360px;}
  .exchange-compact-list{grid-template-columns:1fr;}
  
  
  .exchange-workspace-brand p{display:none;}
  .exchange-workspace-brand h2{font-size:19px;}
  
  .exchange-workspace-head-actions .exchange-primary-button{padding:8px 9px;font-size:11px;white-space:nowrap;}
  .exchange-help-button{min-width:0;padding-inline:8px;}
  .exchange-close-button{width:38px;height:38px;}
  
  .exchange-workspace-tabs button{flex:1 0 auto;justify-content:center;padding:11px 10px;}
  .exchange-workspace-main,
.exchange-detail-pane{padding:12px;}
  .exchange-board-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:start;}
  
  
  
  .exchange-mine-card{grid-template-columns:1fr;}
  
  .exchange-mine-card-actions{justify-content:flex-start;}
  .exchange-choice-grid{gap:10px;}
  .exchange-time-row{grid-template-columns:1fr;}
  .exchange-room-access-control{grid-template-columns:1fr;}
  .exchange-room-access-control button{width:100%;min-height:42px;}
  .exchange-trade-overview{grid-template-columns:1fr;}
  .exchange-trade-swap{transform:rotate(90deg);}
  .exchange-form,.exchange-detail-section{padding:12px;}
  .exchange-mine-card-actions{display:grid;grid-template-columns:1fr;}
  .exchange-mine-card-actions button{width:100%;min-height:42px;}
  .exchange-grace-actions{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;}
  .exchange-grace-actions button{width:100%;}
  .exchange-form-actions{display:grid;grid-template-columns:1fr;}
  .exchange-form-actions button{width:100%;min-height:44px;}
}

/* Staging22: Auction House-inspired compact panel and bulletin workspace. */
.exchange-panel-head-actions{display:flex;align-items:center;gap:7px;}
.exchange-panel-head-actions .pin-btn{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:0;}
.exchange-save-filter-button{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:38px;
  padding:7px 9px;
  border:1px solid rgba(216,189,132,.36);
  border-radius:9px;
  background:rgba(18,14,27,.78);
  color:#e2c984;
  font-size:11px;
}
.exchange-save-filter-button span{font-size:18px;line-height:1;}
.exchange-save-filter-button b{font-size:10px;white-space:nowrap;}
.exchange-save-filter-button:hover,.exchange-save-filter-button.is-saved{border-color:#d8bd84;box-shadow:0 0 14px rgba(216,189,132,.18);}
.exchange-save-filter-button.is-saved{background:rgba(75,56,24,.36);color:#ffe5a1;}

.exchange-panel-intro{margin-bottom:22px;line-height:1.55;}
.exchange-panel-intro span{color:#a99db8;}


.exchange-compact-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:8px;
  min-width:0;
  margin:24px 0 16px;
}
.exchange-compact-metric{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  align-content:center;
  gap:5px;
  min-width:0;
  min-height:106px;
  height:100%;
  padding:9px;
  overflow:hidden;
  border:1px solid rgba(117,87,151,.5);
  border-radius:9px;
  background:linear-gradient(145deg,rgba(37,27,51,.94),rgba(21,16,31,.94));
  color:#cbb9dc;
  text-align:center;
}
.exchange-compact-overview{
  grid-template-rows:repeat(2,minmax(0,1fr));
  align-content:stretch;
  gap:0;
}
.exchange-compact-submetric{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  align-content:center;
  gap:2px;
  min-width:0;
  overflow:hidden;
}
.exchange-compact-submetric+.exchange-compact-submetric{
  margin-top:4px;
  padding-top:5px;
  border-top:1px solid rgba(216,189,132,.14);
}
.exchange-compact-metric>span,
.exchange-compact-submetric>span{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
  min-height:30px;
  padding-inline:0;
}
.exchange-compact-metric>span>b,
.exchange-compact-submetric>span>b{
  flex:0 1 auto;
  width:auto;
  min-width:0;
  max-width:calc(100% - 28px);
  color:#efd188;
  font-family:var(--tw-ui-font);
  font-size:17px;
  overflow-wrap:anywhere;
  text-align:center;
  white-space:normal;
}
.exchange-compact-metric>span>i,
.exchange-compact-submetric>span>i{
  display:grid;
  flex:0 0 22px;
  width:22px;
  min-width:22px;
  height:22px;
  place-items:center;
  overflow:visible;
  color:#b27af1;
  font-size:20px;
  font-style:normal;
  line-height:1;
  filter:drop-shadow(0 0 6px rgba(177,122,241,.28));
}
.exchange-compact-metric small,
.exchange-compact-submetric small{
  display:block;
  min-width:0;
  overflow:hidden;
  color:#b6a9c4;
  font-size:14px;
  line-height:1.2;
  overflow-wrap:anywhere;
  text-align:center;
}
button.exchange-compact-metric{
  display:grid;
  place-items:initial;
  flex:initial;
  width:100%;
  min-height:106px;
  margin:0;
  border-radius:9px;
  cursor:pointer;
}
button.exchange-compact-metric:hover{border-color:rgba(216,189,132,.72);box-shadow:0 0 16px rgba(216,189,132,.12);}
.exchange-compact-metric .exchange-notice-count{position:static;display:block;min-width:0;height:auto;padding:0;background:transparent;color:#efd188;box-shadow:none;font-size:17px;}
.exchange-compact-metric .exchange-notice-count.is-pop{animation:exchangeNoticePop .65s ease-out;}
.tw-readable-ui .exchange-panel .exchange-compact-submetric>span>b{font-size:calc(var(--tw-size-compact-primary,16px) + 1px)!important;}

@container exchangeCompact (max-width:340px){
  .exchange-compact-metrics{gap:5px;}
  .exchange-compact-metric{min-height:102px;padding:7px 6px;}
  button.exchange-compact-metric{min-height:102px;}
}
.exchange-compact-status[hidden]{display:none;}
.exchange-compact-list{display:block;flex:0 0 auto;margin-top:auto;}
.exchange-compact-match{display:grid;place-items:center;gap:5px;padding:17px 8px 8px;border-top:1px solid rgba(216,189,132,.14);color:#a99db8;text-align:center;}
.exchange-compact-match b{color:#c9bdd4;font-size:13px;font-weight:700;}
.exchange-compact-match b span{color:#8e7446;}
.exchange-compact-match.has-matches b span{color:#d8bd84;}
.exchange-compact-match small{font-size:11px;line-height:1.4;}
.exchange-panel-actions{margin-top:10px;padding:12px 14px 14px;}
.exchange-panel-actions button{min-height:46px;font-family:var(--tw-ui-font);font-size:15px;}
.exchange-panel-actions .exchange-primary-button{border-color:rgba(216,174,83,.72);background:linear-gradient(180deg,rgba(108,72,24,.92),rgba(68,43,18,.96));color:#f5dda2;}

.exchange-workspace{width:min(1660px,calc(100vw - 14px));height:min(940px,calc(100vh - 14px));border-color:rgba(216,189,132,.5);border-radius:3px;background:radial-gradient(circle at 9% 0,rgba(121,74,171,.13),transparent 26%),linear-gradient(180deg,#171421,#0e0c15);}


.exchange-workspace-sigil{display:grid;place-items:center;flex:0 0 66px;width:66px;height:66px;border:1px solid rgba(216,189,132,.45);background:radial-gradient(circle,rgba(110,61,151,.64),rgba(25,18,39,.96) 68%);color:#e6d4ff;font-size:32px;transform:rotate(45deg);box-shadow:inset 0 0 0 4px rgba(18,13,28,.8),0 0 20px rgba(122,77,180,.2);}
.exchange-workspace-sigil::first-letter{transform:rotate(-45deg);}
.exchange-workspace-brand h2{font-family:var(--tw-ui-font);font-size:29px;}
.exchange-workspace-head-actions .exchange-primary-button{min-width:220px;border-color:rgba(194,145,255,.72);border-radius:2px;background:linear-gradient(180deg,#7447a9,#40275f);color:#f3db9c;font-family:var(--tw-ui-font);font-size:16px;}
.exchange-workspace-head-actions .exchange-icon-button,.exchange-workspace-head-actions .exchange-close-button{border-color:rgba(216,189,132,.4);border-radius:4px;}

.exchange-workspace-tabs button{min-width:230px;justify-content:center;padding:12px 20px;border-right:1px solid rgba(216,189,132,.16);border-bottom:0;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%,7% 50%);font-family:var(--tw-ui-font);font-size:15px;}
.exchange-workspace-tabs button:first-child{clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%);}
.exchange-workspace-tabs button.is-active{border:0;background:linear-gradient(90deg,rgba(117,69,151,.84),rgba(66,40,87,.8));color:#f3dca0;box-shadow:inset 0 -2px 0 #d8bd84;}
.exchange-workspace-grid{grid-template-columns:minmax(0,1fr) minmax(330px,390px);}
.exchange-workspace-main{overflow:hidden;padding:0;}
#exchangeBoardView{height:100%;min-height:0;}
#exchangeMineView{height:100%;overflow:auto;padding:16px 18px 22px;}
.exchange-detail-pane{padding:14px;border-left-color:rgba(216,189,132,.28);background:linear-gradient(180deg,rgba(20,17,29,.98),rgba(12,10,18,.98));}
.exchange-detail-empty{border:1px solid rgba(216,189,132,.32);border-radius:2px;background:radial-gradient(circle at 50% 18%,rgba(103,62,144,.14),transparent 34%);}

.exchange-auction-layout{display:grid;grid-template-columns:220px minmax(0,1fr);height:100%;min-height:0;}
.exchange-category-rail{display:flex;flex-direction:column;min-height:0;padding:12px;border-right:1px solid rgba(216,189,132,.27);background:linear-gradient(180deg,rgba(21,18,29,.96),rgba(13,11,19,.97));}
.exchange-category-rail h3{display:flex;align-items:center;gap:9px;margin:0 0 9px;padding:4px 8px 10px;border-bottom:1px solid rgba(216,189,132,.16);color:#d8bd84;font-family:var(--tw-ui-font);font-size:13px;font-weight:500;text-transform:uppercase;}
.exchange-category-rail nav{display:grid;gap:2px;}
.exchange-category-rail nav button{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:55px;padding:8px 10px;border:1px solid rgba(94,75,116,.4);border-radius:0;background:linear-gradient(180deg,rgba(39,35,49,.8),rgba(25,22,34,.82));color:#d8cedf;text-align:left;}
.exchange-category-rail nav button:hover{border-color:rgba(216,189,132,.48);background:rgba(65,45,78,.72);}
.exchange-category-rail nav button.is-active{border-color:rgba(181,126,218,.7);background:linear-gradient(90deg,rgba(113,67,139,.78),rgba(49,35,59,.88));color:#fff3d3;box-shadow:inset 3px 0 0 #d8bd84;}
.exchange-category-rail nav button>span:first-child{display:grid;place-items:center;color:#d8bd84;font-size:21px;}
.exchange-category-nav-icon .exchange-category-art{width:27px;height:27px;border-radius:20%;}
.exchange-category-rail nav button>i{color:#d8bd84;font-size:22px;font-style:normal;}
.exchange-saved-filter-rail{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:44px;margin-top:auto;border:1px solid rgba(216,189,132,.4);border-radius:3px;background:rgba(23,19,31,.9);color:#d9c58d;text-align:left;}
.exchange-saved-filter-rail b{display:grid;place-items:center;min-width:24px;height:24px;border:1px solid rgba(216,189,132,.4);border-radius:50%;}
.exchange-saved-filter-rail:disabled{opacity:.5;cursor:not-allowed;}
.exchange-saved-filter-rail.has-saved:hover{border-color:#d8bd84;}

.exchange-auction-market{display:grid;min-width:0;min-height:0;background:linear-gradient(180deg,rgba(24,21,32,.78),rgba(14,12,20,.86));}
.exchange-auction-toolbar{grid-template-columns:minmax(220px,1fr) auto minmax(230px,.58fr);}
.exchange-search-field{display:grid!important;grid-template-columns:34px minmax(0,1fr) 34px!important;align-items:center;gap:0!important;min-height:42px;padding:0!important;border:1px solid rgba(216,189,132,.34);background:rgba(15,13,21,.85);}
.exchange-search-field>span{display:grid;place-items:center;color:#b7a785;font-size:24px;}
.exchange-search-field input{min-height:40px!important;padding:8px 2px!important;border:0!important;border-radius:0!important;background:transparent!important;text-transform:none;}
.exchange-search-field button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:transparent;color:#8f849a;font-size:22px;}
.exchange-auction-toolbar>#exchangeBoardWatch{min-height:42px;border-radius:2px;color:#d8c38d;}
.exchange-auction-summary{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:8px;}
.exchange-board-summary{display:grid;gap:2px;margin:0;}
.exchange-board-summary b{color:#ddd3e4;font-size:11px;font-weight:700;}
.exchange-board-summary small{display:flex;align-items:center;gap:5px;color:#9e93aa;font-size:10px;}
.exchange-board-summary small i{width:6px;height:6px;border-radius:50%;background:var(--exchange-green);box-shadow:0 0 7px rgba(130,223,139,.6);}


.exchange-filter-divider{align-self:center;color:#8d714c;font-size:20px;text-align:center;}

@media(max-width:1100px) and (min-width:941px){
  .exchange-workspace-grid{grid-template-columns:minmax(0,1fr) 310px;}
  .exchange-auction-toolbar{grid-template-columns:minmax(180px,1fr) auto;}
  .exchange-auction-summary{grid-column:1/-1;}
  
}

/* Keep seven-column Bulletin rows at desktop widths by moving the category
   controls above the market before the sidebar would squeeze the listings. */
@media(max-width:1450px){
  .exchange-auction-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);}
  .exchange-category-rail{display:block;padding:9px;border-right:0;border-bottom:1px solid rgba(216,189,132,.24);}
  .exchange-category-rail h3{display:none;}
  .exchange-category-rail nav{display:flex;gap:5px;overflow-x:auto;}
  .exchange-category-rail nav button{display:flex;flex:0 0 auto;width:auto;gap:6px;min-height:42px;padding:6px 10px;}
  .exchange-category-rail nav button>i{display:none;}
}

@media(max-width:940px){
  .exchange-workspace{border-radius:0;}
  
  .exchange-workspace-sigil{flex-basis:44px;width:44px;height:44px;font-size:21px;}
  .exchange-workspace-tabs button{min-width:150px;clip-path:none;}
  #exchangeBoardView{height:auto;min-height:100%;}
  .exchange-auction-layout{display:block;height:auto;}
  .exchange-category-nav-icon .exchange-category-art{width:25px;height:25px;}
  .exchange-saved-filter-rail{display:none;}
  .exchange-auction-market{display:block;padding:10px;}
  .exchange-auction-toolbar{grid-template-columns:minmax(0,1fr) auto;}
  .exchange-auction-summary{grid-column:1/-1;margin-top:3px;}
  
  .exchange-filter-divider{display:none;}
  #exchangeMineView{padding:12px;}
}

@media(max-width:600px){
  .exchange-panel{min-height:570px;}
  .exchange-panel-head{align-items:flex-start;padding:14px 12px;}
  .exchange-panel-head-actions{gap:4px;}
  .exchange-save-filter-button{width:38px;padding:0;justify-content:center;}
  .exchange-save-filter-button b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
  
  
  
  .exchange-compact-metrics{gap:5px;}
  .exchange-compact-metric{padding:8px 7px;}
  .exchange-workspace-sigil{display:none;}
  .exchange-workspace-brand h2{font-size:20px;}
  .exchange-workspace-head-actions .exchange-primary-button{min-width:0;}
  .exchange-workspace-tabs button{min-width:125px;font-size:12px;}
  .exchange-auction-toolbar{grid-template-columns:1fr;}
  .exchange-auction-toolbar>#exchangeBoardWatch{width:100%;}
  .exchange-auction-summary{grid-column:1;}
  
}

@media(max-width:420px){
  .exchange-workspace-brand h2{font-size:18px;}
  .exchange-workspace-head-actions .exchange-primary-button{font-size:10px;}
  .exchange-mobile-view-tabs{gap:5px;padding:7px 8px;}
  .exchange-mobile-view-tabs button{font-size:11px;}
  
  
  
}

@media(prefers-reduced-motion:reduce){
  .exchange-live-dot{box-shadow:none;}
  .exchange-compact-activity,.exchange-activity-dot,.exchange-phrase-signal i{animation:none;}
}


/* Accessible form chips: duration is shared by create/edit; region is local to posting. */
.exchange-duration-field,.exchange-post-region-field{box-sizing:border-box;min-width:0;max-width:100%;margin:0;padding:0;border:0;}
.exchange-duration-field legend,.exchange-post-region-field legend{margin:0 0 6px;padding:0;color:#dbc594;font-size:16px;font-weight:850;text-transform:uppercase;}
.exchange-duration-options,.exchange-post-region-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:5px;min-width:0;max-width:100%;}
.exchange-duration-options>label,.exchange-post-region-options>label{position:relative;display:block;min-width:0;margin:0;cursor:pointer;}
.exchange-duration-options input[type="radio"],.exchange-post-region-options input[type="radio"]{position:absolute;width:1px!important;height:1px!important;min-height:0!important;margin:0;padding:0;border:0;opacity:0;clip-path:inset(50%);}
.exchange-duration-options label>span,.exchange-post-region-options label>span{box-sizing:border-box;display:grid;place-items:center;min-height:38px;padding:6px;border:1px solid #715888;border-radius:8px;background:linear-gradient(180deg,#30243e,#1d1728);color:#d1c3df;font-size:16px;font-weight:850;line-height:1.2;white-space:nowrap;}
.exchange-duration-options label:hover>span,.exchange-post-region-options label:hover>span{border-color:#c3a777;color:#f5e5b5;}
.exchange-duration-options input:checked+span,.exchange-post-region-options input:checked+span{border-color:#e8cc88;background:linear-gradient(180deg,#785529,#46311c);color:#fff1bb;}
.exchange-duration-options input:focus-visible+span,.exchange-post-region-options input:focus-visible+span{outline:2px solid #f0d895;outline-offset:2px;}


.exchange-post-region-options{grid-template-columns:repeat(3,minmax(0,1fr));}
.exchange-post-region-field .exchange-form-note{margin:6px 0 0;}

/* Staging14 readability pass: the compact bulletin and every workspace layer share a larger type scale. */
.exchange-panel-head h2{font-size:22px;line-height:1.15;}
.exchange-kicker{font-size:11px;line-height:1.3;}
.exchange-panel-intro{font-size:14px;line-height:1.5;}
.exchange-compact-activity-head{font-size:11px;}
.exchange-compact-room-top strong{font-size:14px;}
.exchange-compact-room-top em{font-size:10px;}
.exchange-compact-room-names{font-size:13px;}
.exchange-compact-room-meta{font-size:12px;line-height:1.4;}
.exchange-compact-room-open,.exchange-compact-more{font-size:11px;}


.exchange-panel label,.exchange-workspace label{font-size:12px;line-height:1.35;}
.exchange-panel select,.exchange-workspace select,.exchange-workspace input:not([type="checkbox"]):not([type="radio"]){min-height:42px;font-size:14px;}
.exchange-watch-button{font-size:13px;}
.exchange-compact-status,.exchange-board-summary{font-size:13px;line-height:1.45;}
.exchange-compact-name{font-size:14px;}
.exchange-compact-trade,.exchange-compact-expiry{font-size:12px;}
.exchange-empty-card{font-size:13px;line-height:1.55;}
.exchange-primary-button,.exchange-secondary-button,.exchange-danger-button{font-size:13px;}
.exchange-workspace-brand h2{font-size:28px;}
.exchange-workspace-brand p{font-size:14px;}
.exchange-workspace-tabs button{font-size:14px;}

.exchange-na-tag,.exchange-new-tag,.exchange-status-tag,.exchange-room-tag{font-size:10px;}


.exchange-detail-empty h3{font-size:20px;}
.exchange-detail-empty p{font-size:14px;line-height:1.5;}
.exchange-detail-empty li{font-size:11px;}
.exchange-detail-head h3{font-size:21px;}
.exchange-detail-head p{font-size:13px;line-height:1.5;}
.exchange-detail-back{font-size:12px;}
.exchange-joining-room strong,.exchange-room-live-banner strong{font-size:13px;}
.exchange-joining-room small{font-size:12px;line-height:1.45;}
.exchange-room-live-banner>b{font-size:11px;}
.exchange-section-count{font-size:12px;}
.exchange-form h4,.exchange-detail-section h4{font-size:14px;}
.exchange-form-note,.exchange-turnstile-status{font-size:12px;line-height:1.5;}
.exchange-form-actions button{font-size:13px;}
.exchange-inline-error,.exchange-inline-success{font-size:12px;line-height:1.45;}
.exchange-workspace-status{font-size:12px;}
.exchange-mine-intro h3{font-size:20px;}
.exchange-mine-intro p{font-size:13px;line-height:1.45;}
.exchange-mine-intro button{font-size:12px;}
.exchange-mine-group-title{font-size:13px;}
.exchange-mine-group-title span{font-size:11px;}
.exchange-mine-card h4{font-size:15px;}
.exchange-mine-card p{font-size:13px;line-height:1.45;}

.exchange-mine-card .exchange-pending-summary{font-size:11px;}
.exchange-mine-card-actions button{font-size:11px;}
.exchange-trade-player strong{font-size:14px;}
.exchange-trade-player span{font-size:12px;line-height:1.45;}
.exchange-message-meta strong{font-size:12px;}
.exchange-message-meta time{font-size:10px;}
.exchange-message-bubble p{font-size:14px;line-height:1.5;}
.exchange-phrase-signal{font-size:13px;}
.exchange-phrase-grid button,.exchange-time-row button{font-size:12px;}
.exchange-report-link{font-size:12px;}

@media(max-width:600px){
  .exchange-panel-head h2{font-size:21px;}
  .exchange-workspace-brand h2{font-size:23px;}
  .exchange-workspace-head-actions .exchange-primary-button{font-size:12px;}
  .exchange-message-bubble{max-width:92%;}
}

/* Staging23: return the Auction House structure to Throne Watch's softer visual language. */
.exchange-workspace{
  border-radius:18px;
  box-shadow:0 24px 80px rgba(0,0,0,.7),0 0 0 1px rgba(216,189,132,.12),0 0 30px rgba(112,70,154,.16);
}

.exchange-workspace-head-actions .exchange-primary-button,
.exchange-workspace-head-actions .exchange-icon-button,
.exchange-workspace-head-actions .exchange-close-button,
.exchange-workspace-tabs button,
.exchange-category-rail nav button,
.exchange-saved-filter-rail,
.exchange-search-field,
.exchange-auction-toolbar>#exchangeBoardWatch,
.exchange-detail-empty{border-radius:12px;}

.exchange-workspace-tabs button,
.exchange-workspace-tabs button:first-child{min-width:210px;}
.exchange-category-rail{margin:10px 0 10px 10px;border:1px solid rgba(216,189,132,.2);border-radius:15px;background:linear-gradient(180deg,rgba(31,26,42,.94),rgba(16,13,23,.96));}
.exchange-category-rail nav{gap:7px;}
.exchange-category-rail nav button{border-color:rgba(109,86,133,.42);background:linear-gradient(180deg,rgba(47,41,58,.8),rgba(29,25,38,.84));}
.exchange-category-rail nav button:hover{border-color:rgba(216,189,132,.5);box-shadow:0 5px 14px rgba(0,0,0,.22);transform:translateY(-1px);}
.exchange-category-rail nav button.is-active{border-color:rgba(216,189,132,.7);box-shadow:inset 3px 0 0 #d8bd84,0 0 14px rgba(216,189,132,.12);}
.exchange-auction-market{margin:10px;padding:12px 14px 16px;border:1px solid rgba(216,189,132,.16);border-radius:15px;}
.exchange-search-field{border-color:rgba(118,93,145,.55);background:rgba(18,14,27,.82);}
.exchange-search-field input{border-radius:12px!important;}


.exchange-detail-pane{margin:10px 10px 10px 0;border:1px solid rgba(216,189,132,.2);border-radius:15px;background:linear-gradient(180deg,rgba(27,23,36,.97),rgba(15,12,21,.98));}
.exchange-detail-empty{border-color:rgba(216,189,132,.28);}

/* The supplied category art is already framed; controls should not draw a second box around it. */


.exchange-filter-icon:hover,
.exchange-filter-icon.is-active{border:0;background:transparent;box-shadow:none;}


.exchange-player-avatar{
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  overflow:hidden;
  border:1px solid rgba(216,189,132,.62);
  border-radius:50%;
  background:radial-gradient(circle,rgba(108,70,135,.72),rgba(21,17,29,.98));
  color:#f2dfab;
  box-shadow:0 3px 10px rgba(0,0,0,.3);
}
.exchange-player-avatar.is-placeholder{background:radial-gradient(circle at 38% 32%,rgba(102,88,135,.7),rgba(21,17,29,.98));box-shadow:inset 0 0 0 2px rgba(8,7,13,.25),0 3px 10px rgba(0,0,0,.3);color:#b6a5c2;}
.exchange-player-avatar.is-inline{display:inline-grid;width:34px;height:34px;flex-basis:34px;vertical-align:middle;}
.exchange-player-avatar.is-small{width:30px;height:30px;flex-basis:30px;}
.exchange-player-heading{display:flex;align-items:center;gap:9px;}

@media(max-width:940px){
  .exchange-workspace{border-radius:14px;}
  .exchange-category-rail{margin:8px;border-radius:13px;}
  .exchange-auction-market{margin:8px;border-radius:13px;}
  .exchange-detail-pane{margin:8px;border-radius:13px;}
}

@media(max-width:600px){
  
  
  
  
  .exchange-workspace-tabs button,.exchange-workspace-tabs button:first-child{min-width:118px;border-radius:9px;}
}

/* Staging25: clearer Auction House controls and consolidated saved-search UI. */

.exchange-workspace-tabs button,
.exchange-workspace-tabs button:first-child{
  position:relative;
  flex:1 1 0;
  min-width:160px;
  min-height:46px;
  justify-content:center;
  padding:10px 18px;
  border:1px solid rgba(111,86,137,.56);
  border-radius:11px;
  clip-path:none;
  background:linear-gradient(180deg,rgba(35,29,45,.96),rgba(20,17,28,.98));
  color:#c8bdd2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 4px 10px rgba(0,0,0,.22);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease;
}
.exchange-workspace-tabs button:hover,
.exchange-workspace-tabs button:focus-visible{
  border-color:rgba(216,189,132,.72);
  background:linear-gradient(180deg,rgba(61,43,76,.98),rgba(29,22,40,.98));
  color:#fff0c7;
  box-shadow:0 6px 14px rgba(0,0,0,.3),0 0 11px rgba(216,189,132,.14);
  transform:translateY(-2px);
}
.exchange-workspace-tabs button.is-active{
  border:1px solid rgba(236,203,126,.88);
  background:linear-gradient(180deg,rgba(111,66,143,.96),rgba(55,35,75,.98));
  color:#fff1bd;
  box-shadow:inset 0 0 0 1px rgba(255,239,190,.1),0 0 14px rgba(216,189,132,.2),0 6px 14px rgba(0,0,0,.32);
  transform:translateY(-1px);
}


.exchange-auction-toolbar>#exchangeBoardWatch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:170px;
  min-height:44px;
  border:1px solid rgba(216,189,132,.5);
  border-radius:11px;
  background:linear-gradient(180deg,rgba(51,39,61,.92),rgba(24,19,32,.96));
  color:#ead69c;
  box-shadow:0 4px 10px rgba(0,0,0,.24);
}
.exchange-auction-toolbar>#exchangeBoardWatch:hover,
.exchange-auction-toolbar>#exchangeBoardWatch:focus-visible,
.exchange-auction-toolbar>#exchangeBoardWatch.is-saved{
  border-color:#d8bd84;
  background:linear-gradient(180deg,rgba(80,58,44,.94),rgba(42,31,30,.98));
  box-shadow:0 0 13px rgba(216,189,132,.17),0 5px 12px rgba(0,0,0,.28);
}
.exchange-bookmark-icon{width:19px;height:19px;flex:0 0 19px;overflow:visible;}
.exchange-save-filter-button .exchange-bookmark-icon{width:17px;height:17px;flex-basis:17px;}

.exchange-search-field{
  border-radius:11px!important;
  box-shadow:inset 0 1px 4px rgba(0,0,0,.24);
}
.exchange-search-field:focus-within{
  box-shadow:0 0 0 2px rgba(216,189,132,.12),inset 0 1px 4px rgba(0,0,0,.24);
}

.exchange-notice-button .exchange-metric-icon{color:#d9adff;}


@media(max-width:940px){
  
  .exchange-workspace-tabs button,.exchange-workspace-tabs button:first-child{min-width:132px;}

}

@media(max-width:600px){
  
  .exchange-workspace-tabs button,.exchange-workspace-tabs button:first-child{min-width:116px;min-height:44px;padding:9px 10px;}
  .exchange-auction-toolbar>#exchangeBoardWatch{width:100%;min-width:0;}

}

@media(max-width:940px){
  .exchange-mobile-view-tabs:not(.has-detail){grid-template-columns:1fr;}
}

/* Staging26: Favorites, compact header polish, alert motion, and zoom-safe containment. */
.exchange-panel{
  border-radius:18px;
  background-clip:padding-box;
}
.exchange-panel::before{border-radius:inherit;}
.exchange-panel-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
  min-width:0;
  padding-right:52px;
  overflow:hidden;
  border-radius:18px 18px 0 0;
  background-clip:padding-box;
}
.exchange-panel-brand{display:grid;min-width:0;gap:4px;}
.exchange-panel-brand h2{min-width:0;margin:0;overflow-wrap:anywhere;}
.exchange-panel-head>.exchange-save-filter-button{
  position:static;
  justify-self:end;
  align-self:end;
  width:auto;
  max-width:100%;
  min-width:0;
  margin:0;
  white-space:nowrap;
}
.exchange-panel-head>.exchange-save-filter-button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.exchange-category-rail nav button[data-exchange-category="favorites"]>span:first-child{font-size:24px;}
.exchange-category-rail nav button[data-exchange-category="favorites"]:disabled{
  opacity:.48;
  cursor:not-allowed;
}

.exchange-group-icon{
  display:block;
  width:30px;
  height:24px;
  overflow:hidden;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.exchange-clock-icon{
  width:28px;
  min-width:28px!important;
  height:28px;
  overflow:hidden;
}
.exchange-clock-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.exchange-compact-metric .exchange-metric-icon{
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
}
.exchange-compact-metric .exchange-group-icon{
  width:22px;
  height:18px;
}
.exchange-bell-icon{position:relative;isolation:isolate;}
.exchange-notice-button .bell-svg{
  display:block;
  width:22px;
  height:22px;
  overflow:visible;
  color:currentColor;
  filter:drop-shadow(0 0 5px rgba(177,122,241,.28));
  transform-origin:50% 8%;
}
.exchange-notice-button .bell-body,
.exchange-notice-button .bell-clapper{
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.exchange-notice-button .bell-outline{display:block;}
.exchange-notice-button .bell-fill{display:none;}
.exchange-notice-button.has-active-alert{border-color:rgba(239,205,124,.7);box-shadow:inset 0 0 12px rgba(216,189,132,.08);}
.exchange-notice-button.has-active-alert .bell-svg{color:#f4d27e;filter:drop-shadow(0 0 6px rgba(255,207,74,.42));}
.exchange-notice-button.is-ringing .exchange-bell-icon::before,
.exchange-notice-button.is-ringing .exchange-bell-icon::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:4px;
  border:1px solid rgba(239,213,155,.92);
  border-radius:50%;
  opacity:0;
  pointer-events:none;
  animation:exchangeBellEcho 1.25s ease-out infinite;
}
.exchange-notice-button.is-ringing .exchange-bell-icon::after{animation-delay:.22s;}
.exchange-notice-button.is-ringing .bell-svg{
  color:#ffe39a;
  filter:drop-shadow(0 0 7px rgba(255,207,74,.65));
}
.exchange-notice-button.is-ringing .exchange-bell-icon{
  animation:exchangeBellRing 1.25s cubic-bezier(.2,.72,.28,1) infinite;
}
@keyframes exchangeBellRing{
  0%,100%{transform:translateY(0) rotate(0deg);}
  11%{transform:translateY(-5px) rotate(0deg);}
  24%{transform:translateY(-5px) rotate(17deg);}
  37%{transform:translateY(-4px) rotate(-15deg);}
  50%{transform:translateY(-3px) rotate(12deg);}
  63%{transform:translateY(-2px) rotate(-9deg);}
  76%{transform:translateY(-1px) rotate(6deg);}
  88%{transform:translateY(0) rotate(-3deg);}
}
@keyframes exchangeBellEcho{
  0%{opacity:.78;transform:scale(.72);}
  100%{opacity:0;transform:scale(1.35);}
}

.exchange-search-field input:focus,
.exchange-search-field input:focus-visible{
  outline:0!important;
  box-shadow:none!important;
}
.exchange-search-field:focus-within{
  outline:0!important;
  border-color:rgba(216,189,132,.76)!important;
  box-shadow:0 0 0 1px rgba(216,189,132,.16),inset 0 1px 4px rgba(0,0,0,.24)!important;
}

.exchange-workspace,
.exchange-workspace-grid,
.exchange-workspace-main,
.exchange-tab-panel,
.exchange-auction-layout,
.exchange-auction-market,
.exchange-auction-toolbar,
.exchange-mine-intro{
  min-width:0;
  max-width:100%;
}
.exchange-workspace{overflow:hidden;}
.exchange-workspace :where(button,input,select,textarea,label,span,p,strong,small){max-width:100%;}
.exchange-workspace :where(p,strong,small,.exchange-empty-card,.exchange-workspace-status){overflow-wrap:anywhere;}

.exchange-auction-market{container:exchangeMarket / inline-size;overflow:hidden;}
.exchange-auction-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.exchange-auction-toolbar>.exchange-search-field{flex:1 1 280px;}
.exchange-auction-toolbar>#exchangeBoardWatch{
  flex:0 1 auto;
  width:auto;
  max-width:100%;
  margin-left:auto;
  white-space:normal;
}
.exchange-auction-toolbar>.exchange-auction-summary{
  flex:1 1 230px;
  min-width:min(230px,100%);
  max-width:100%;
}
.exchange-auction-summary>span{min-width:0;}


@container exchangeMarket (max-width:760px){
  .exchange-auction-toolbar>.exchange-search-field{flex-basis:100%;}
  .exchange-auction-toolbar>#exchangeBoardWatch{margin-left:auto;}
  .exchange-auction-toolbar>.exchange-auction-summary{flex-basis:100%;}
  
  .exchange-filter-divider{display:none;}
}

@container exchangeMarket (max-width:470px){
  .exchange-auction-toolbar>#exchangeBoardWatch{width:100%;margin-left:0;}
}

@media(max-width:520px){
  .exchange-panel-head{grid-template-columns:minmax(0,1fr);align-items:start;padding-right:52px;}
  .exchange-panel-head>.exchange-save-filter-button{grid-column:1;justify-self:end;}
  
  
}

@media(prefers-reduced-motion:reduce){
  .exchange-notice-button.is-ringing .exchange-bell-icon,
  .exchange-notice-button.is-ringing .exchange-bell-icon::before,
  .exchange-notice-button.is-ringing .exchange-bell-icon::after{animation:none;}
}

/* Staging29: auction-house workspace and contained listing controls. */

.exchange-workspace-tabs button,
.exchange-workspace-tabs button:first-child{min-width:0;}
.exchange-workspace-grid{grid-template-columns:minmax(0,1fr) minmax(390px,460px);}

.exchange-auction-market{
  grid-template-rows:auto auto auto minmax(0,1fr);
  overflow:visible;
}
.exchange-auction-toolbar{
  display:grid;
  grid-template-columns:auto minmax(210px,1fr) 44px auto minmax(210px,.58fr);
  align-items:center;
}
.exchange-auction-toolbar>.exchange-search-field{min-width:0;}
.exchange-filter-drawer-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border:1px solid rgba(216,189,132,.42);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(43,35,54,.96),rgba(22,18,30,.98));
  color:#e7d39b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 4px 10px rgba(0,0,0,.22);
}
.exchange-filter-drawer-toggle{gap:7px;padding:8px 12px;white-space:nowrap;}
.exchange-filter-drawer-toggle>span{display:grid;width:20px;height:20px;place-items:center;}
.exchange-filter-drawer-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;}
.exchange-filter-drawer-toggle b{font-size:14px;}
.exchange-filter-drawer-toggle:hover,
.exchange-filter-drawer-toggle:focus-visible,
.exchange-filter-drawer-toggle.is-open,
.exchange-filter-drawer-toggle.has-filters{
  border-color:#d8bd84;
  color:#fff0bd;
  box-shadow:0 0 13px rgba(216,189,132,.18),0 5px 12px rgba(0,0,0,.26);
}
.exchange-auction-toolbar>#exchangeBoardWatch{min-width:138px;margin:0;}

.exchange-filter-drawer{
  position:relative;
  z-index:4;
  display:grid;
  gap:11px;
  margin-top:9px;
  padding:12px;
  border:1px solid rgba(216,189,132,.38);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(31,25,42,.995),rgba(18,15,26,.995));
  box-shadow:0 16px 34px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.035);
}
.exchange-filter-drawer[hidden]{display:none;}
.exchange-filter-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.exchange-filter-drawer-head h3{margin:3px 0 0;color:#f0dda9;font-family:var(--tw-ui-font);font-size:20px;}
.exchange-filter-drawer-head>button{display:grid;width:34px;height:34px;padding:0;place-items:center;border-radius:9px;background:rgba(15,12,22,.72);color:#d7cbdc;font-size:21px;}


.exchange-filter-drawer .exchange-icon-filter{justify-content:flex-start;flex-wrap:wrap;gap:7px;}
.exchange-filter-drawer .exchange-filter-icon,
.exchange-filter-drawer .exchange-filter-any{flex:0 0 auto;min-width:56px;min-height:44px;}
.exchange-filter-drawer .exchange-filter-icon .exchange-category-art{width:39px;height:39px;}
.exchange-filter-drawer-actions{display:flex;justify-content:flex-end;gap:8px;}
.exchange-filter-drawer-actions button{min-height:42px;min-width:130px;}

.exchange-owned-listing-card{
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  overflow:hidden;
}
.exchange-owned-listing-card>div{min-width:0;}
.exchange-owned-listing-card .exchange-mine-card-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  justify-content:stretch;
  width:100%;
  min-width:0;
}
.exchange-owned-listing-card .exchange-mine-card-actions button{
  width:100%;
  min-width:0;
  min-height:42px;
  padding:8px 6px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}


.exchange-empty-player-icon{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;}

@container exchangeMarket (max-width:920px){
  .exchange-auction-toolbar{grid-template-columns:auto minmax(0,1fr) 44px;}
  .exchange-auction-toolbar>#exchangeBoardWatch{grid-column:1/3;justify-self:start;}
  .exchange-auction-toolbar>.exchange-auction-summary{grid-column:3;grid-row:2;}
  .exchange-auction-summary>span{display:none;}
}

@media(max-width:940px){
  
  .exchange-auction-market{overflow:visible;}
  
  .exchange-filter-drawer .exchange-filter-divider{display:none;}
  .exchange-owned-listing-card .exchange-mine-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:600px){
  .exchange-auction-toolbar{grid-template-columns:auto minmax(0,1fr) 42px;}
  .exchange-filter-drawer-toggle{width:44px;padding:0;}
  .exchange-filter-drawer-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .exchange-auction-toolbar>#exchangeBoardWatch{grid-column:1/-1;width:100%;}
  .exchange-auction-toolbar>.exchange-auction-summary{display:none;}
  .exchange-filter-drawer-actions{display:grid;grid-template-columns:1fr;}
  .exchange-filter-drawer-actions button{width:100%;}
  .exchange-owned-listing-card .exchange-mine-card-actions{grid-template-columns:minmax(0,1fr);}
}

/* Staging30: seamless Exchange rail, modal filters, and a rail-level refresh control. */
.exchange-workspace{position:relative;}

.exchange-workspace-navigation{
  display:grid;
  grid-template-columns:minmax(0,1fr) 204px 46px;
  align-items:center;
  gap:14px;
  padding:8px 18px 9px;
  border-bottom:1px solid rgba(216,189,132,.3);
  background:linear-gradient(180deg,rgba(17,13,25,.94),rgba(11,9,17,.78));
}

.exchange-region-selector{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:204px;
  min-width:0;
  min-height:40px;
  overflow:hidden;
  border:1px solid rgba(216,189,132,.48);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(35,29,45,.98),rgba(17,14,25,.99));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 4px 11px rgba(0,0,0,.24);
}
.exchange-region-selector button{
  min-width:0;
  min-height:40px;
  padding:6px 5px;
  border:0;
  border-radius:9px;
  background:var(--tw-utility-segment);
  color:var(--tw-utility-inactive);
  text-shadow:none;
  font-family:var(--tw-ui-font);
  font-size:11px;
  font-weight:850;
  letter-spacing:.04em;
}
.exchange-region-selector button+button{border-left:1px solid rgba(216,189,132,.2);}
.exchange-region-selector button:hover,
.exchange-region-selector button:focus-visible{background:var(--tw-utility-segment);color:#eee4f7;}
.exchange-region-selector button.is-active{
  background:var(--tw-utility-selected);
  color:#fff0bd;
  text-shadow:var(--tw-utility-selected-text-shadow);
  box-shadow:inset 0 -2px 0 #d8bd84,inset 0 1px 0 rgba(255,240,194,.15);
}

.exchange-tab-refresh{
  display:grid;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  place-items:center;
  justify-self:end;
  border:1px solid rgba(216,189,132,.48);
  border-radius:11px;
  background:linear-gradient(180deg,rgba(38,31,49,.98),rgba(18,15,27,.99));
  color:#e7d39b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 4px 11px rgba(0,0,0,.26);
}
.exchange-tab-refresh svg{width:22px;height:22px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.exchange-tab-refresh:hover,
.exchange-tab-refresh:focus-visible{border-color:#d8bd84;color:#fff0bd;box-shadow:0 0 13px rgba(216,189,132,.18),0 5px 12px rgba(0,0,0,.28);}
.exchange-tab-refresh:disabled{opacity:.72;cursor:wait;}
.exchange-tab-refresh.is-loading svg{animation:exchangeRefreshSpin .8s linear infinite;}
@keyframes exchangeRefreshSpin{to{transform:rotate(360deg);}}

.exchange-auction-market{grid-template-rows:auto auto minmax(0,1fr);}
.exchange-auction-toolbar{
  grid-template-columns:44px minmax(210px,1fr) minmax(210px,.58fr);
  gap:8px;
}
.exchange-board-search-row{display:flex;align-items:stretch;gap:8px;min-width:0;}
.exchange-board-search-row>.exchange-search-field{flex:1 1 auto;min-width:0;}
.exchange-board-filter-clear{flex:0 0 auto;min-height:42px;padding:8px 13px;white-space:nowrap;}
.exchange-board-filter-clear[hidden]{display:none!important;}
.exchange-filter-drawer-toggle{
  position:relative;
  width:44px;
  min-width:44px;
  padding:0;
}
.exchange-filter-drawer-toggle>span{width:22px;height:22px;}
.exchange-filter-drawer-toggle svg{width:20px;height:20px;}
.exchange-auction-toolbar>.exchange-auction-summary{
  display:block;
  min-width:0;
  padding-inline:4px;
}

.exchange-filter-overlay{
  position:absolute;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(6,5,10,.72);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.exchange-filter-overlay[hidden]{display:none;}
.exchange-filter-dialog{
  display:grid;
  gap:14px;
  width:min(730px,calc(100% - 20px));
  max-height:calc(100% - 24px);
  overflow:auto;
  padding:18px;
  border:1px solid rgba(216,189,132,.62);
  border-radius:17px;
  outline:0;
  background:radial-gradient(circle at 12% 0,rgba(118,70,153,.18),transparent 34%),linear-gradient(180deg,rgba(34,28,46,.995),rgba(16,13,23,.998));
  box-shadow:0 26px 70px rgba(0,0,0,.68),inset 0 0 0 1px rgba(109,82,131,.28),inset 0 1px 0 rgba(255,255,255,.045);
}
.exchange-filter-dialog .exchange-filter-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.exchange-filter-dialog .exchange-filter-drawer-head h3{margin:3px 0 0;color:#f0dda9;font-family:var(--tw-ui-font);font-size:24px;}
.exchange-filter-header-actions{display:flex;align-items:center;gap:8px;}
.exchange-filter-bookmark{
  display:grid;
  width:42px;
  height:42px;
  min-width:42px;
  min-height:42px;
  padding:0;
  place-items:center;
  border:1px solid rgba(216,189,132,.48);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(38,31,49,.98),rgba(18,15,27,.99));
  color:#e7d39b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 4px 11px rgba(0,0,0,.26);
}
.exchange-filter-bookmark .exchange-bookmark-icon{width:22px;height:22px;}
.exchange-filter-bookmark:hover,
.exchange-filter-bookmark:focus-visible,
.exchange-filter-bookmark.is-saved{border-color:#d8bd84;color:#fff0bd;box-shadow:0 0 13px rgba(216,189,132,.2),0 5px 12px rgba(0,0,0,.28);}
.exchange-filter-bookmark:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;}


.exchange-filter-dialog .exchange-icon-filter{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:8px;min-width:0;}
.exchange-filter-dialog .exchange-filter-icon{
  flex:0 0 auto;
  width:auto;
  min-width:48px;
  min-height:48px;
  padding:2px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.exchange-filter-dialog .exchange-filter-icon .exchange-category-art{width:30px;height:30px;}
.exchange-filter-dialog .exchange-filter-icon:hover,
.exchange-filter-dialog .exchange-filter-icon.is-active{border:0;background:transparent;box-shadow:none;}
.exchange-filter-dialog .exchange-filter-any{flex:0 0 auto;min-width:52px;min-height:44px;}


.exchange-filter-dialog .exchange-filter-drawer-actions{display:flex;justify-content:flex-end;gap:9px;}
.exchange-filter-dialog .exchange-filter-drawer-actions button{min-width:145px;min-height:44px;}

@container exchangeMarket (max-width:920px){
  .exchange-auction-toolbar{grid-template-columns:44px minmax(0,1fr);}
  .exchange-auction-toolbar>.exchange-auction-summary{grid-column:1/-1;grid-row:auto;}
  .exchange-auction-summary>span{display:block;}
}

@media(max-width:800px){
  .exchange-workspace-navigation{grid-template-columns:minmax(0,1fr) 42px;gap:7px;padding:7px 10px 8px;}
  
  .exchange-region-selector{width:min(220px,100%);}
  .exchange-region-selector button{font-size:10px;letter-spacing:0;}
  
  
  
  .exchange-tab-refresh{width:42px;height:42px;min-width:42px;min-height:42px;}
}

@media(max-width:600px){
  .exchange-filter-overlay{padding:9px;align-items:center;}
  .exchange-filter-dialog{width:100%;max-height:calc(100% - 10px);padding:14px;border-radius:14px;}
  
  .exchange-filter-dialog .exchange-filter-divider{display:none;}
  .exchange-filter-dialog .exchange-filter-drawer-actions{display:grid;grid-template-columns:1fr;}
  .exchange-filter-dialog .exchange-filter-drawer-actions button{width:100%;}
  .exchange-board-search-row{gap:6px;}
  .exchange-board-filter-clear{padding-inline:10px;}
  .exchange-region-reminder{grid-template-columns:74px minmax(0,1fr);}
}

/* 2026-09-18: listing consistency, full-panel inbox selection, and corner actions. */

.exchange-report-issue-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:128px;
  min-height:34px;
  padding:6px 12px;
  border:1px solid rgba(216,189,132,.5);
  border-radius:9px;
  background:linear-gradient(180deg,rgba(67,48,78,.94),rgba(29,23,38,.98));
  color:#f1d68f;
  box-shadow:0 4px 11px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04);
  font-weight:850;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.exchange-report-issue-button:hover,
.exchange-report-issue-button:focus-visible{
  border-color:#d8bd84;
  color:#fff0b9;
  box-shadow:0 0 14px rgba(216,189,132,.18),0 5px 12px rgba(0,0,0,.3);
  outline:0;
  transform:translateY(-1px);
}
@media(max-width:600px){
  
  
  
  
  .exchange-report-issue-button{min-width:118px;min-height:32px;padding:5px 9px;}
}


@media(prefers-reduced-motion:reduce){
  .exchange-tab-refresh.is-loading svg{animation:none;}
}

/* 2026-09-18: Remnants of Nix branding and balanced header spacing. */

.exchange-workspace-brand>div{min-width:0;}
.exchange-workspace-sigil{
  display:block;
  flex:0 0 78px;
  width:78px;
  height:78px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:transparent;
  object-fit:contain;
  transform:none;
  box-shadow:0 0 22px rgba(222,34,116,.2);
}
@media(max-width:940px){
  
  .exchange-workspace-sigil{display:block;flex-basis:58px;width:58px;height:58px;}
}
@media(max-width:600px){
  
  .exchange-workspace-sigil{display:block;flex-basis:46px;width:46px;height:46px;}
}

/* 2026-09-18: compact Post Trade form and optically balanced Exchange icons. */


.exchange-category-rail nav button[data-exchange-category="all"]>span:first-child{width:30px;height:30px;display:grid;place-items:center;}

.exchange-create-card{gap:9px;}
.exchange-create-card .exchange-detail-head p{margin-top:3px;}
#exchangeCreateForm{
  gap:8px;
  padding:10px;
}
#exchangeCreateForm>.exchange-username-row,.exchange-form>.exchange-username-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;}
.exchange-username-row>span{white-space:nowrap;letter-spacing:0;}
.exchange-username-row>input{min-width:0;max-width:100%;}
#exchangeCreateForm>label>input{min-height:38px;padding-block:7px;}


#exchangeCreateForm .exchange-form-note{line-height:1.3;}
#exchangeCreateForm .exchange-turnstile-wrap{min-height:65px;}
#exchangeCreateForm .exchange-form-actions{margin-top:-1px;}

/* 2026-09-18: Nix environmental workspace, opaque controls, and glass text surfaces. */
.exchange-workspace{
  background-color:#0a080e;
  background-image:
    linear-gradient(180deg,rgba(7,5,10,.24),rgba(5,4,8,.38)),
    url("../ui/nix-exchange-workspace-bg.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}

/* The image remains visible through structural and reading surfaces. */

.exchange-workspace-navigation{
  background:linear-gradient(180deg,rgba(10,8,15,.83),rgba(7,5,11,.76));
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.exchange-workspace-grid,
.exchange-workspace-main,
.exchange-tab-panel,
.exchange-auction-layout{background:transparent;}
.exchange-category-rail,
.exchange-auction-market{
  background:linear-gradient(180deg,rgba(12,10,17,.76),rgba(7,6,11,.82));
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.exchange-detail-pane{
  background:rgba(6,5,9,.3);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.exchange-detail-pane>.exchange-detail-empty,
.exchange-detail-pane>.exchange-detail-card{
  border:1px solid rgba(216,189,132,.32);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(5,4,8,.78),rgba(4,3,7,.86));
  box-shadow:0 12px 32px rgba(0,0,0,.26);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.exchange-detail-pane>.exchange-detail-card{min-height:100%;padding:14px;}
.exchange-mine-intro{
  margin:10px 10px 12px;
  padding:12px 14px;
  border:1px solid rgba(216,189,132,.24);
  border-radius:12px;
  background:rgba(5,4,8,.76);
  box-shadow:0 10px 26px rgba(0,0,0,.2);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.exchange-mine-content{padding:0 10px 10px;}
.exchange-workspace-status{
  background:#0d0a13;
  box-shadow:0 -7px 20px rgba(0,0,0,.22);
}

/* Listing, My Exchange, History, lobby, and record cards remain opaque. */


.exchange-mine-card,
.exchange-grace-card{
  background-color:#211823;
  background-image:linear-gradient(115deg,#3f2b1f,#181323);
}
.exchange-grace-card.is-rejoin{
  background-color:#21162d;
  background-image:linear-gradient(115deg,#3b2851,#181323);
}
.exchange-grace-card.is-ending{
  background-color:#28181d;
  background-image:linear-gradient(115deg,#482426,#181323);
}
.exchange-detail-section,
.exchange-form,
.exchange-how-to-steps li{
  background-color:#15101e;
}

/* All visible Exchange buttons keep an opaque base under their existing
   gradients. Icon-art selectors are intentionally the icon itself. */
.exchange-workspace button.tw-tactile-control,
.exchange-workspace a.exchange-report-issue-button.tw-tactile-control{
  background-color:var(--exchange-button-base,#211a2b)!important;
}
.exchange-workspace :is(.exchange-primary-button,[type="submit"]).tw-tactile-control{
  --exchange-button-base:#533182;
}
.exchange-workspace .exchange-secondary-button.tw-tactile-control{
  --exchange-button-base:#211a2c;
}
.exchange-workspace .exchange-danger-button.tw-tactile-control{
  --exchange-button-base:#67292b;
}

.exchange-workspace .exchange-category-rail button.tw-tactile-control{
  --exchange-button-base:#292331;
}
.exchange-workspace .exchange-filter-any.tw-tactile-control{
  --exchange-button-base:#261e31;
}
.exchange-workspace :is(.exchange-help-button,.exchange-tab-refresh,.exchange-filter-bookmark,.exchange-filter-drawer-toggle,.exchange-close-button,.exchange-board-filter-clear).tw-tactile-control,
.exchange-workspace .exchange-report-issue-button.tw-tactile-control{
  --exchange-button-base:#261f31;
}


/* Text-link actions receive a real opaque control face too. */
.exchange-report-link{
  justify-self:start;
  min-height:36px;
  padding:7px 11px;
  border:1px solid rgba(216,189,132,.34);
  border-radius:9px;
  background-color:#211a2b!important;
  color:#cbbbd8;
  text-decoration:none;
}
button.exchange-lobby-set-phrase{
  padding:9px 10px;
  border:1px solid rgba(216,189,132,.3);
  border-radius:9px;
  background-color:#211a2b!important;
  background-image:linear-gradient(180deg,#2b2236,#191420);
}

/* The artwork owns its frame; its surrounding hit target stays transparent. */
.exchange-filter-icon,
.exchange-choice-grid>label{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}


/* Compact Nix controls keep an opaque base; artwork controls keep a transparent hit target. */
.exchange-panel button.tw-tactile-control{
  background-color:var(--exchange-compact-button-base,#211a2b)!important;
}
.exchange-panel .exchange-primary-button.tw-tactile-control{
  --exchange-compact-button-base:#52361d;
}
.exchange-panel .exchange-danger-button.tw-tactile-control{
  --exchange-compact-button-base:#552329;
}
.exchange-panel .exchange-compact-metric.tw-tactile-control,
.exchange-panel .exchange-compact-room.tw-tactile-control,
.exchange-panel .exchange-compact-item.tw-tactile-control{
  --exchange-compact-button-base:#191321;
}
.exchange-panel .exchange-filter-any.tw-tactile-control,
.exchange-panel .exchange-save-filter-button.tw-tactile-control{
  --exchange-compact-button-base:#241b2f;
}
.exchange-panel .exchange-compact-more.tw-tactile-control{
  min-height:32px;
  padding:5px 9px;
  border:1px solid rgba(216,189,132,.3);
  border-radius:8px;
  background-color:#211a2b!important;
  text-decoration:none;
}

@media(max-width:940px){
  .exchange-mine-intro{margin:8px 8px 10px;}
  .exchange-mine-content{padding:0 8px 8px;}
}

/* Preserve the supplied raised/pressed artwork within its shared frame. */
.exchange-category-art-pair{
  display:grid;
  place-items:center;
  line-height:0;
  pointer-events:none;
}
.exchange-category-art-pair>.exchange-category-art{
  grid-area:1 / 1;
}
.exchange-category-art-pair>.exchange-category-art-pressed{
  visibility:hidden;
  opacity:0;
}
:is(
  .exchange-filter-icon.is-active,
  .exchange-filter-icon:active,
  .exchange-filter-icon.tw-tactile-keypress,
  .exchange-choice-grid>label:has(input:checked),
  .exchange-choice-grid>label:active,
  .exchange-choice-grid>label.tw-tactile-keypress,
  button[data-exchange-category].is-active,
  button[data-exchange-category]:active,
  button[data-exchange-category].tw-tactile-keypress
) .exchange-category-art-pair>.exchange-category-art-unpressed{
  visibility:hidden;
  opacity:0;
}
:is(
  .exchange-filter-icon.is-active,
  .exchange-filter-icon:active,
  .exchange-filter-icon.tw-tactile-keypress,
  .exchange-choice-grid>label:has(input:checked),
  .exchange-choice-grid>label:active,
  .exchange-choice-grid>label.tw-tactile-keypress,
  button[data-exchange-category].is-active,
  button[data-exchange-category]:active,
  button[data-exchange-category].tw-tactile-keypress
) .exchange-category-art-pair>.exchange-category-art-pressed{
  visibility:visible;
  opacity:1;
}

/* Let the Bulletin Board reveal the Nix environment just like My Exchange and
   History. Controls and records keep their own opaque reading surfaces. */
.exchange-workspace #exchangeBoardView .exchange-category-rail{
  background:linear-gradient(180deg,rgba(7,6,11,.24),rgba(5,4,8,.3));
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.exchange-workspace #exchangeBoardView .exchange-auction-market{
  background:rgba(5,4,8,.14);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}


/* My Exchange keeps the two possible listings and sent requests compact. */
.exchange-mine-content{container:exchange-mine / inline-size;}
.exchange-mine-group-items{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  min-width:0;
}
.exchange-mine-group-items>.exchange-empty-card{grid-column:1 / -1;}
.exchange-mine-group-items .exchange-mine-card{
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:8px;
  min-width:0;
}
.exchange-mine-group-items .exchange-mine-card-actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(88px,1fr));
  width:100%;
}
.exchange-mine-group-items .exchange-mine-card-actions button{width:100%;}
.exchange-mine-intro #exchangeWorkspacePost{flex:0 0 auto;min-width:150px;}
@container exchange-mine (max-width:680px){
  .exchange-mine-group-items{grid-template-columns:minmax(0,1fr);}
}

/* 2026-09-19: owner-selected time proposals, consistent Exchange chrome, and
   a denser bulletin table. */
@media(min-width:941px){
  .exchange-workspace{
    container:exchangeWorkspace / inline-size;
    min-width:min(760px,calc(100vw - 20px));
    min-height:min(560px,calc(100vh - 20px));
    max-width:calc(100vw - 14px);
    max-height:calc(100vh - 14px);
    resize:both;
  }
  .exchange-workspace::after{
    content:"";
    position:absolute;
    right:4px;
    bottom:4px;
    z-index:100;
    width:12px;
    height:12px;
    pointer-events:none;
    background:repeating-linear-gradient(135deg,transparent 0 3px,rgba(239,213,155,.72) 3px 4px);
    clip-path:polygon(100% 0,100% 100%,0 100%);
  }
}

.exchange-workspace,
.exchange-workspace *{
  scrollbar-width:thin;
  scrollbar-color:#766185 rgba(8,6,12,.88);
}
.exchange-workspace::-webkit-scrollbar,
.exchange-workspace *::-webkit-scrollbar{width:10px;height:10px;}
.exchange-workspace::-webkit-scrollbar-track,
.exchange-workspace *::-webkit-scrollbar-track{
  border:1px solid rgba(216,189,132,.1);
  background:rgba(8,6,12,.88);
}
.exchange-workspace::-webkit-scrollbar-thumb,
.exchange-workspace *::-webkit-scrollbar-thumb{
  min-height:28px;
  border:2px solid rgba(8,6,12,.92);
  border-radius:999px;
  background:linear-gradient(180deg,#806b91,#594867);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.exchange-workspace::-webkit-scrollbar-thumb:hover,
.exchange-workspace *::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#a187b3,#6f5a80);}
.exchange-workspace::-webkit-scrollbar-corner,
.exchange-workspace *::-webkit-scrollbar-corner{background:#08060c;}

.exchange-panel-head .section-actions{
  position:absolute;
  top:7px;
  right:45px;
  z-index:81;
  margin:0;
}
.exchange-panel #exchangeWatchButton{
  display:grid;
  place-items:center;
  width:32px;
  min-width:32px;
  height:32px;
  min-height:32px;
  padding:0;
  border-radius:50%;
}
.exchange-panel #exchangeWatchButton .exchange-bookmark-icon{width:17px;height:17px;}

.exchange-trade-time-section{
  display:flex!important;
  flex-direction:column;
  align-items:stretch;
}
.exchange-time-compose{
  display:grid;
  gap:7px;
  width:100%;
  min-width:0;
  margin-top:auto;
  padding-top:9px;
  border-top:1px solid rgba(216,189,132,.18);
}
.exchange-time-compose>button{width:100%;min-width:0;min-height:40px;}
.exchange-time-proposals{display:grid;gap:6px;margin:2px 0 9px;}
.exchange-time-proposal{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:7px 8px;
  border:1px solid rgba(121,91,158,.46);
  border-radius:9px;
  background:rgba(12,9,19,.52);
}
.exchange-time-proposal>span{display:grid;gap:2px;min-width:0;}
.exchange-time-proposal strong{overflow:hidden;color:#e8deef;font-size:11px;text-overflow:ellipsis;white-space:nowrap;}
.exchange-time-proposal time{color:#f0d797;font-size:10px;line-height:1.3;}
.exchange-time-proposal button{min-width:68px;min-height:34px;padding:6px 9px;font-size:10px;}
.exchange-quick-phrase.is-cooling-down:disabled{cursor:wait;opacity:.62;}

/* 2026-09-27: focused Exchange clarity/compactness pass. */
.exchange-detail-head>.exchange-detail-close-button{
  flex:0 0 auto;
  align-self:flex-start;
}
.exchange-category-any-glyph{
  display:inline-grid;
  min-width:48px;
  min-height:30px;
  padding:3px 7px;
  place-items:center;
  border:1px solid rgba(216,189,132,.48);
  border-radius:7px;
  background:linear-gradient(180deg,rgba(50,37,64,.96),rgba(24,18,32,.98));
  color:#f1d98d;
  font-family:var(--tw-ui-font);
  font-size:12px;
  font-weight:900;
  line-height:1;
  letter-spacing:.07em;
}


.exchange-choice-grid[data-exchange-choice-group]{align-items:center;min-width:0;}


.exchange-request-reference{display:grid;gap:6px;margin-top:7px;min-width:0;}
.exchange-request-username{overflow:hidden;color:#bbb0c5;font-size:12px;text-overflow:ellipsis;white-space:nowrap;}

/* 2026-09-27 Exchange UX clarity follow-up: centered trade pairs + unmistakable selected category state. */


/* Selected controls have one explicit outer gold outline. Display-only glyphs
   keep their original artwork; the outline never changes layout or icon size. */
.exchange-filter-icon:is(.is-active,[aria-pressed="true"]),
.exchange-choice-grid>label:has(input:checked){
  transform:none;
  filter:drop-shadow(0 0 5px rgba(226,190,108,.34));
}
.exchange-choice-grid>label:has(input:checked):hover{
  transform:none;
}
:is(
  .exchange-filter-icon:is(.is-active,[aria-pressed="true"]),
  .exchange-choice-grid>label:has(input:checked),
  button[data-exchange-category]:is(.is-active,[aria-pressed="true"])
) .exchange-category-art-pair{
  outline:2px solid #e2be6c;
  outline-offset:0;
  border-radius:6px;
}



.exchange-category-rail nav button{
  box-sizing:border-box;
  border-width:2px;
}
.exchange-category-rail nav button:not(.is-active):not([aria-pressed="true"]):hover{
  border-color:rgba(109,86,133,.62);
  filter:drop-shadow(0 0 7px rgba(226,190,108,.24));
}
.exchange-category-rail nav button:is(.is-active,[aria-pressed="true"]){
  border-color:#e2be6c;
  filter:drop-shadow(0 0 4px rgba(226,190,108,.2));
}

/* 2026-09-27: UX-5 readable trade icons across Exchange reference views. */


/* 2026-09-27 Exchange redesign refinement: premium dashboard + phrase-only active lobby. */
.exchange-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.exchange-workspace-backdrop.is-mine-dashboard .exchange-workspace{width:min(1540px,calc(100vw - 20px));}
.exchange-workspace-backdrop.is-active-lobby-view .exchange-workspace{width:min(1640px,calc(100vw - 20px));}
.exchange-workspace-backdrop.is-mine-dashboard .exchange-workspace-grid,
.exchange-workspace-backdrop.is-active-lobby-view .exchange-workspace-grid{grid-template-columns:minmax(0,1fr);}
.exchange-workspace-backdrop.is-mine-dashboard .exchange-detail-pane,
.exchange-workspace-backdrop.is-active-lobby-view .exchange-workspace-main{display:none!important;}
.exchange-workspace-backdrop.is-mine-dashboard .exchange-workspace-main{
  display:block;
  min-width:0;
  min-height:0;
  overflow:auto;
  padding:13px 14px 16px;
}
.exchange-workspace-backdrop.is-mine-dashboard .exchange-mine-content{padding:0;}
.exchange-workspace-backdrop.is-active-lobby-view .exchange-detail-pane{
  display:block;
  grid-column:1;
  min-width:0;
  min-height:0;
  margin:0;
  padding:10px 12px 12px;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
}

.exchange-editor-overlay{
  position:absolute;
  inset:0;
  z-index:35;
  display:grid;
  place-items:center;
  min-width:0;
  min-height:0;
  padding:18px;
  background:rgba(5,4,9,.8);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.exchange-editor-overlay[hidden]{display:none;}
.exchange-editor-dialog{
  box-sizing:border-box;
  width:min(650px,100%);
  max-width:100%;
  max-height:100%;
  min-width:0;
  overflow:auto;
  padding:14px;
  border:1px solid rgba(184,139,255,.68);
  border-radius:15px;
  background:linear-gradient(180deg,rgba(28,22,39,.995),rgba(13,10,20,.995));
  box-shadow:0 24px 70px rgba(0,0,0,.68),0 0 24px rgba(143,84,214,.16),inset 0 1px 0 rgba(255,255,255,.04);
}
.exchange-editor-dialog:has(>.exchange-edit-username-card){width:min(430px,100%)}
.exchange-editor-dialog:has(>.exchange-remove-player-dialog){width:min(420px,100%)}
.exchange-editor-dialog>*{max-width:100%;min-width:0;}


/* Wordless trade selectors and filters keep both sides around one shared arrow. */
.exchange-trade-selectors,.exchange-create-trade-selectors,.exchange-compact-filters,.exchange-board-filters{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:7px;min-width:0;max-width:100%;box-sizing:border-box}
.exchange-trade-side,.exchange-create-choice-group,.exchange-filter-field{min-width:0;max-width:100%}
.exchange-trade-selectors .exchange-choice-grid,.exchange-filter-field .exchange-icon-filter{display:flex;flex-wrap:nowrap;gap:3px;justify-content:center;min-width:0;max-width:100%;width:100%}
.exchange-trade-selectors .exchange-choice-grid>label,.exchange-filter-field .exchange-icon-filter>button:not(.exchange-filter-any){display:grid;place-items:center;flex:0 0 34px;width:34px;min-width:34px;min-height:34px;padding:1px;box-sizing:border-box}
.exchange-trade-selectors .exchange-category-art-pair,.exchange-filter-field .exchange-category-art-pair{width:30px;height:30px;max-width:100%}
.exchange-trade-selectors .exchange-category-icon .exchange-category-art,.exchange-filter-field .exchange-category-art{width:30px;height:30px;object-fit:contain}
.exchange-trade-selectors .exchange-choice-any,.exchange-filter-field .exchange-filter-any{display:grid;place-items:center;box-sizing:border-box;flex:0 0 42px;width:42px;min-width:42px;max-width:42px;min-height:34px;padding:0;font-size:14px;letter-spacing:0}
/* Inline username frees one label line for larger posting/editing artwork. */
.exchange-create-choice-group{container:exchangeCreateSide / inline-size}
.exchange-create-trade-selectors .exchange-choice-grid[data-exchange-choice-group]{--exchange-choice-size:clamp(34px,calc((100cqw - 9px)/4),56px);display:flex;flex-wrap:nowrap;justify-content:center;gap:3px;min-width:0;max-width:100%;width:100%}
.exchange-create-trade-selectors .exchange-choice-grid>label,.exchange-create-trade-selectors .exchange-choice-any{display:grid;place-items:center;box-sizing:border-box;flex:0 0 var(--exchange-choice-size);width:var(--exchange-choice-size);min-width:0;max-width:var(--exchange-choice-size);min-height:var(--exchange-choice-size);height:var(--exchange-choice-size);padding:1px;letter-spacing:0;font-size:16px}
.exchange-create-trade-selectors .exchange-category-art-pair,.exchange-create-trade-selectors .exchange-category-icon .exchange-category-art{width:calc(var(--exchange-choice-size) - 4px);height:calc(var(--exchange-choice-size) - 4px);max-width:100%;object-fit:contain}
@media(max-width:400px){#exchangeCreateForm>.exchange-username-row,.exchange-form>.exchange-username-row{grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}.exchange-username-row>span{white-space:normal;line-height:1.2}.exchange-create-trade-selectors .exchange-choice-grid[data-exchange-choice-group]{--exchange-choice-size:46px;display:grid;grid-template-columns:repeat(2,46px)}.exchange-create-trade-selectors .exchange-choice-grid>.exchange-choice-any{grid-column:auto;justify-self:center}}
.exchange-history-detail-route{max-width:320px;justify-self:center}

.exchange-filter-field{container:exchangeFilterSide / inline-size}
/* Between wrap and full width, recover space from hit-target padding/gaps,
   preserving the 30px artwork and existing row height while ANY remains legible. */
@container exchangeFilterSide (min-width:143px) and (max-width:158px){.exchange-filter-field .exchange-icon-filter{gap:1px}.exchange-filter-field .exchange-icon-filter>button:not(.exchange-filter-any){flex-basis:32px;width:32px;min-width:32px}}
@container exchangeFilterSide (max-width:142px){.exchange-filter-field .exchange-icon-filter{display:grid;grid-template-columns:repeat(3,34px)}.exchange-filter-field .exchange-filter-any{grid-column:1/-1;justify-self:center}}
@media(max-width:400px){.exchange-trade-selectors .exchange-choice-grid{display:grid;grid-template-columns:repeat(3,34px)}.exchange-choice-grid>.exchange-choice-any{grid-column:1/-1;justify-self:center}}
/* One responsive section rail; labels retain a full cell on narrow screens. */
.exchange-workspace-navigation .exchange-workspace-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:min(920px,100%);max-width:100%;min-width:0;margin:0;padding:0;border:1px solid #d8bd8494;border-radius:10px;background:linear-gradient(#221d2d,#120f1b);box-sizing:border-box}
.exchange-workspace-tabs>button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:46px;margin:0;padding:9px 12px;border:0;border-radius:0;background:transparent;color:#c8bbd6;font:800 16px var(--tw-ui-font);box-sizing:border-box;cursor:pointer}
.exchange-workspace-tabs>button:first-child{border-radius:9px 0 0 9px}.exchange-workspace-tabs>button:last-child{border-radius:0 9px 9px 0}
.exchange-workspace-tabs>button+button{border-left:1px solid #d8bd8429}
.exchange-workspace-tabs>button:hover,.exchange-workspace-tabs>button:focus-visible{background:#5638697a;color:#fff0c2}
.exchange-workspace-tabs>button.is-active{background:linear-gradient(#70428f,#36224a);color:#fff0bd;box-shadow:inset 0 -2px #d8bd84}
.exchange-workspace-tabs>button>span[aria-hidden=true]{display:grid;place-items:center;flex:none;width:18px;height:18px;color:#ecd3a1;line-height:1}
.exchange-navigation-icon{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.exchange-category-rail .exchange-navigation-icon{width:27px;height:27px}
.exchange-workspace-tabs .exchange-tab-label{min-width:0;white-space:normal;line-height:1.2}
.exchange-brand-kicker{display:inline-flex;align-items:center;gap:5px;max-width:100%;white-space:nowrap}
.exchange-workspace-brand .exchange-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:5px;max-width:100%}
@media(max-width:800px){
 .exchange-workspace-navigation .exchange-workspace-tabs{grid-column:1/-1;grid-row:1;width:100%}
 .exchange-workspace-navigation .exchange-region-selector{grid-column:1;grid-row:2;justify-self:start}
 .exchange-workspace-navigation .exchange-tab-refresh{grid-column:2;grid-row:2}
 .exchange-workspace-tabs>button{padding:8px 5px;gap:5px}
}
@media(max-width:420px){
 .exchange-brand-kicker{font-size:14px;letter-spacing:.1em}
 .exchange-workspace-tabs>button{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:18px auto;justify-items:center;gap:4px;padding:6px 3px;white-space:normal}
 .exchange-workspace-tabs>button>span[aria-hidden=true]{grid-column:1;grid-row:1}
 .exchange-workspace-tabs>button>.exchange-tab-label{grid-column:1;grid-row:2;width:100%;min-width:0;max-width:100%;line-height:1.15}
 .exchange-workspace-tabs>button>b{grid-column:1;grid-row:1;justify-self:end}
}

/* Shared Exchange route, action and compact-card system. */
.exchange-trade-route{--exchange-item-size:36px;--exchange-route-side:36px;display:grid;grid-template-columns:var(--exchange-route-side) 34px var(--exchange-route-side);align-items:center;gap:5px;width:max-content;min-width:calc(2 * var(--exchange-route-side) + 44px);max-width:100%;justify-self:center;box-sizing:border-box}
.exchange-trade-route:has(>.exchange-category-glyphs>.exchange-category-any-glyph){--exchange-route-side:48px}
.exchange-trade-route:has(>.exchange-category-glyphs>.exchange-category-glyph:nth-child(2)){--exchange-route-side:76px}
.exchange-trade-route:has(>.exchange-category-glyphs>.exchange-category-glyph:nth-child(3)){--exchange-route-side:116px}
.exchange-trade-route>.exchange-category-glyphs{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;min-width:0;max-width:100%;width:100%}
.exchange-trade-route>.exchange-category-glyphs:first-child{justify-content:flex-end}
.exchange-trade-route>.exchange-category-glyphs:last-child{justify-content:flex-start}
.exchange-trade-route .exchange-category-glyph{display:grid;place-items:center;box-sizing:border-box;flex:0 0 var(--exchange-item-size);width:var(--exchange-item-size);height:var(--exchange-item-size);border:1px solid transparent;border-radius:7px}
.exchange-trade-route .exchange-category-art{width:calc(var(--exchange-item-size) - 2px);height:calc(var(--exchange-item-size) - 2px);object-fit:contain}
.exchange-trade-route .exchange-category-any-glyph{display:grid;place-items:center;box-sizing:border-box;min-width:0;min-height:var(--exchange-item-size);width:48px;font-size:16px;padding:0 3px}
.exchange-action-icon{display:block;width:22px;height:22px;flex:none;object-fit:contain;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.exchange-icon-button{position:relative;display:inline-grid;place-items:center;flex:0 0 var(--exchange-action-size,36px);width:var(--exchange-action-size,36px)!important;min-width:var(--exchange-action-size,36px)!important;height:var(--exchange-action-height,36px);min-height:var(--exchange-action-height,36px)!important;max-width:100%;padding:var(--exchange-action-padding,5px)!important;box-sizing:border-box;border-radius:6px;color:#d7b6f1}
.exchange-icon-button:focus-visible,[data-exchange-card-action]:focus-visible,.exchange-applicant-row:focus-visible{outline:2px solid #e7c873;outline-offset:2px}
.exchange-icon-button:disabled{opacity:.4;cursor:not-allowed}
.exchange-icon-badge{position:absolute;top:-7px;right:-4px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 3px;border:1px solid #ffaaa6;border-radius:10px;background:#ad263d;color:white;font-size:16px;line-height:1;box-sizing:border-box}
.exchange-open-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:6px 12px;border:1px solid #77d9a4;border-radius:7px;background:linear-gradient(#235c44,#123828);color:#a4ffd0;font-size:16px;font-weight:800;cursor:pointer}
.exchange-open-button:hover{background:linear-gradient(#307a57,#1c4f39)}
.exchange-open-button:disabled{opacity:.45;cursor:not-allowed}
[data-exchange-card-action]{cursor:pointer}
[data-exchange-card-action]:hover{border-color:#d7bc79}
.exchange-mine-dashboard{display:grid;gap:12px;min-width:0}
.exchange-dashboard-section{min-width:0;padding:12px;border:1px solid #62467b;border-radius:12px;background:linear-gradient(#15101ded,#0d0a14ed);box-sizing:border-box}
.exchange-dashboard-section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px;min-width:0}
.exchange-dashboard-section-title{display:flex;align-items:center;gap:8px;min-width:0}
.exchange-dashboard-section-title>div{min-width:0}
.exchange-dashboard-section-head h3{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0;color:#f1e7f6;font-size:18px}
.exchange-dashboard-section-head h3>span{color:#cdb5eb;border:1px solid #664882;border-radius:9px;padding:2px 5px;font-size:16px}
.exchange-dashboard-section-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #866e44;border-radius:8px;background:#2a2030;color:#ddc57e}
.exchange-dashboard-section-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.exchange-dashboard-section-icon .exchange-listing-tag-art{width:26px;height:26px;object-fit:contain}
.exchange-capacity-state{color:#bcb0c8;font-size:16px}
.exchange-capacity-state.is-max{color:#dbc28d}
.exchange-all-lobbies-button{padding:7px 10px;min-height:36px;font-size:16px}
.exchange-dashboard-lobby-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0}
.exchange-dashboard-lobby-card{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:10px;min-width:0;padding:11px;border:1px solid #a58a50;border-radius:10px;box-sizing:border-box;background:radial-gradient(ellipse at top,#37254155,transparent 65%),linear-gradient(#17111e,#0c0b12);box-shadow:inset 0 0 0 2px #d3ac5720}
.exchange-dashboard-lobby-card.has-unread{box-shadow:0 0 12px #b47aeb35,inset 0 0 0 2px #d3ac5720}
.exchange-dashboard-lobby-top{display:flex;align-items:start;justify-content:space-between;gap:8px;min-width:0}
.exchange-dashboard-lobby-top>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#edd49a;font-size:16px}
.exchange-lobby-presence{display:inline-flex;align-items:center;gap:5px;flex:none;color:#91cbb0;font-size:12px;font-weight:800;letter-spacing:.04em}
.exchange-lobby-presence>i{width:6px;height:6px;border-radius:50%;background:currentColor}
.exchange-lobby-state{display:flex;align-items:center;flex-wrap:wrap;gap:3px 7px;min-width:0;max-width:100%;color:#d8bb83;font-size:14px;line-height:1.35;font-variant-numeric:tabular-nums}
.exchange-lobby-state strong{font-size:14px;font-weight:800;overflow-wrap:anywhere}
.exchange-lobby-state.is-accepting{color:#79e7b3}.exchange-lobby-state.is-full{color:#e9ce85}.exchange-lobby-state.is-closing{color:#f3ad8b}.exchange-lobby-state.is-warning{color:#f2bb76}
.exchange-lobby-countdown{white-space:nowrap}
.exchange-lobby-nav-status{display:grid;gap:4px;min-width:0;font-size:14px}
.exchange-mini-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.exchange-mini-player{display:flex;align-items:center;gap:6px;min-width:0;min-height:48px;padding:5px;border:1px solid #4b395d;border-radius:6px;background:#1a1425;box-sizing:border-box}
.exchange-mini-player>span:last-child{min-width:0;max-width:100%}
.exchange-mini-player strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;color:#e6dcef}
.exchange-mini-player>span:last-child>span{display:flex;align-items:center;gap:3px;min-width:0}
.exchange-mini-player em{font-size:16px;font-style:normal;line-height:1.1;color:#d6b7ff}
.exchange-mini-player.is-empty{border-style:dashed;color:#8d8199;background:#120e1a}
.exchange-dashboard-lobby-meta{display:grid;gap:4px;min-width:0;color:#b1a3be;font-size:16px;line-height:1.3}
.exchange-dashboard-lobby-meta>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
.exchange-dashboard-lobby-meta>span:last-child{white-space:nowrap;font-size:14px}
.exchange-dashboard-lobby-open{width:100%;max-width:100%;min-width:0;min-height:36px;font-size:16px}
.exchange-dashboard-lobby-slot{display:grid;align-content:center;justify-items:center;gap:8px;min-width:0;min-height:128px;padding:12px;border:1px dashed #625070;border-radius:10px;color:#8e819b;background:#110d1a75;text-align:center}
.exchange-dashboard-lobby-slot strong,.exchange-dashboard-lobby-slot>span{max-width:100%;overflow-wrap:anywhere;font-size:16px}
.exchange-dashboard-lower{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;min-width:0}
.exchange-dashboard-record-list{display:grid;gap:7px;min-width:0}
.exchange-dashboard-record{min-width:0;max-width:100%;border:1px solid #76603c;border-radius:8px;box-sizing:border-box;background:linear-gradient(110deg,#1d1428,#100c19);box-shadow:inset 0 0 0 2px #cead5c12;overflow:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#776087 #171020;scroll-padding-inline:8px}
.exchange-dashboard-record:focus-visible{outline:2px solid #d8bd84;outline-offset:2px}
/* Keep a readable single row. Very narrow preview panes scroll inside the
   existing border instead of stacking items or expanding the page. */
.exchange-dashboard-record-row{display:grid;grid-template-columns:minmax(92px,1fr) minmax(104px,max-content) max-content 36px;grid-template-rows:auto;align-items:center;gap:6px;width:100%;min-width:max-content;padding:7px 8px;box-sizing:border-box}
.exchange-dashboard-record-row>*{min-width:0;max-width:100%;box-sizing:border-box}
.exchange-dashboard-record.has-unread{border-color:#c09b64}
.exchange-dashboard-record-identity{grid-column:1;grid-row:1;contain:inline-size;display:flex;align-items:center;gap:6px;min-width:0;padding-right:6px}
.exchange-dashboard-record-identity>span:last-child{display:grid;gap:2px;min-width:0}
.exchange-dashboard-record-identity strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;color:#eee3f5}
.exchange-dashboard-record-identity .exchange-na-tag{font-size:16px;padding:0;border:0;background:none;color:#afa1c1}
.exchange-dashboard-record-trade{grid-column:3;grid-row:1;display:grid;place-items:center;align-self:stretch;padding:0 7px}

.exchange-dashboard-record-actions{grid-column:4;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:nowrap;min-width:0;padding:0 0 0 7px}
.exchange-dashboard-record-actions:empty{padding:0}
.exchange-record-lifecycle{grid-column:2;grid-row:1;display:grid;white-space:nowrap;justify-items:center;align-content:center;gap:2px;padding:0 5px;color:#9bdbbe;font-size:16px;line-height:1.25;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}
.exchange-record-status{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;max-width:100%}
.exchange-record-lifecycle time{white-space:nowrap;font-weight:500}
.exchange-record-lifecycle.is-lobby-pending{width:104px;white-space:normal;color:#c3b7cd}
.exchange-heartbeat{display:block;flex:none;width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 4px currentColor}
.exchange-record-lifecycle:is(.is-ending-soon,.is-ending-critical){color:#ff9aab}
.exchange-record-lifecycle.is-ending-soon .exchange-heartbeat{animation:exchangeHeartbeat 2s ease-in-out infinite}
.exchange-record-lifecycle.is-ending-critical{color:#ff718a}
.exchange-record-lifecycle.is-ending-critical .exchange-heartbeat{animation:exchangeHeartbeat 1.05s ease-in-out infinite;box-shadow:0 0 7px currentColor}
.exchange-record-lifecycle.is-closing{color:#edbd77}
.exchange-record-lifecycle.is-terminal{color:#c6bdcc}
@keyframes exchangeHeartbeat{0%,32%,100%{opacity:.65;transform:scale(.9)}10%,23%{opacity:1;transform:scale(1.2)}17%{opacity:.8;transform:scale(.98)}}
@media(prefers-reduced-motion:reduce){.exchange-record-lifecycle .exchange-heartbeat{animation:none!important;transform:none;opacity:1}}
.exchange-dashboard-record.is-inactive{filter:grayscale(1);border-color:#625a68;background:linear-gradient(#18151c,#0e0b12)}
.exchange-dashboard-record.is-inactive .exchange-dashboard-record-identity,.exchange-dashboard-record.is-inactive .exchange-dashboard-record-trade{filter:grayscale(1);opacity:.38}
.exchange-dashboard-slot{display:flex;align-items:center;gap:9px;box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:8px;border:1px dashed #564363;border-radius:8px;background:#100b17;color:#a397b1;text-align:left;cursor:pointer}
.exchange-dashboard-slot:hover,.exchange-dashboard-slot:focus-visible{border-color:#d9c080;color:#eee1f5}
.exchange-dashboard-slot-icon{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid #7c6949;border-radius:50%;color:#d4bd83}
.exchange-dashboard-slot>span:last-child{display:flex;align-items:center;flex:1;justify-content:space-between;flex-wrap:wrap;gap:5px;min-width:0}
.exchange-dashboard-slot strong,.exchange-dashboard-slot small{font-size:16px}
.exchange-dashboard-max-note{padding:6px;color:#a899b7;font-size:16px}
.exchange-grace-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid #b9944d;border-radius:8px;min-width:0;background:#302039}
.exchange-grace-card>span{min-width:0;overflow-wrap:anywhere}


/* Request management: pending applicants only, with direct decisions. */
.exchange-editor-dialog:has(>.exchange-join-requests){width:min(900px,100%);padding:16px}
.exchange-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;margin-bottom:12px}
.exchange-dialog-heading h3{min-width:0;margin:0;color:#edd599;font-size:20px;overflow-wrap:anywhere}
.exchange-dialog-heading h3>span{color:#c1accf;font-size:16px}
.exchange-dialog-heading>.exchange-detail-close-button{position:static;flex:none;margin:0}
.exchange-join-requests{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;max-height:calc(100dvh - 86px);min-height:0;min-width:0}
.exchange-join-requests .exchange-dialog-heading>div{flex:1;text-align:center}
.exchange-applicant-count{display:block;margin-top:5px;color:#b5a6c3;font-size:16px}.exchange-applicant-count.is-full{color:#f097a1}
.exchange-applicant-list{display:grid;align-content:start;gap:8px;min-width:0;min-height:0;max-height:560px;overflow-y:auto;padding:3px;overscroll-behavior:contain}
.exchange-applicant-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.3fr) auto;align-items:center;gap:10px;min-width:0;max-width:100%;padding:10px;border:1px solid #634874;border-radius:8px;background:linear-gradient(105deg,#21182c,#100e19);box-sizing:border-box;cursor:pointer}
.exchange-applicant-row:hover,.exchange-applicant-row.is-selected{border-color:#d6bc7b;background:linear-gradient(105deg,#302039,#161120)}
.exchange-applicant-person{display:flex;align-items:center;gap:8px;min-width:0}.exchange-applicant-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}
.exchange-applicant-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}
.exchange-applicant-actions button{min-width:0;min-height:38px;padding:7px 10px;font-size:16px}
.exchange-requests-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.exchange-requests-footer p{margin:0;color:#d5c18b;overflow-wrap:anywhere}
/* All Lobbies is a separate compact navigation view using the same actions. */
.exchange-editor-dialog:has(>.exchange-all-lobbies-dialog){width:min(1020px,100%)}
.exchange-all-lobbies-dialog .exchange-dialog-heading{justify-content:flex-end}.exchange-all-lobbies-dialog .exchange-dialog-heading h3{margin-right:auto}
.exchange-all-lobbies-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0;max-height:calc(100dvh - 230px);overflow-y:auto;padding:3px}
.exchange-lobby-nav-card{display:grid;gap:9px;min-width:0;padding:11px;border:1px solid #806747;border-radius:8px;background:linear-gradient(120deg,#261a31,#120e19);box-sizing:border-box}
.exchange-lobby-nav-card.is-selected{border-color:#dfc47d;box-shadow:inset 0 0 0 2px #c2a266}
.exchange-lobby-nav-card>span{font-size:16px;color:#b9a7c6}
.exchange-lobby-nav-person{display:flex;align-items:center;gap:8px;min-width:0}
.exchange-lobby-nav-person strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eee2f6;font-size:16px}
.exchange-lobby-nav-card>button{width:100%;min-width:0;min-height:36px;font-size:16px}
.exchange-all-lobbies-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;min-width:0}
.exchange-all-lobbies-actions button{min-width:0;max-width:100%;white-space:normal}
[data-exchange-all-message]{margin:8px 0 0;color:#d9bf81;overflow-wrap:anywhere}
[data-exchange-all-message]:empty{display:none}
@media(max-width:1100px){.exchange-dashboard-lobby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exchange-dashboard-lower{grid-template-columns:minmax(0,1fr)}}
@media(max-width:740px){.exchange-all-lobbies-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exchange-applicant-row{grid-template-columns:minmax(0,1fr) auto}.exchange-applicant-row>.exchange-trade-route{grid-column:1/-1;grid-row:2}.exchange-applicant-actions{grid-column:2;grid-row:1}}
@media(max-width:580px){.exchange-dashboard-lobby-grid{grid-template-columns:minmax(0,1fr)}.exchange-dashboard-section{padding:8px}.exchange-editor-dialog:has(>.exchange-join-requests){padding:8px}.exchange-applicant-actions{gap:4px}.exchange-applicant-actions button{padding:7px 6px}.exchange-applicant-person{gap:5px}.exchange-applicant-person .exchange-player-avatar{width:30px;height:30px}.exchange-applicant-row{gap:7px;padding:8px}.exchange-dialog-heading h3{font-size:18px}.exchange-all-lobbies-actions{flex-wrap:wrap}}
@media(max-width:420px){.exchange-applicant-row{grid-template-columns:minmax(0,1fr)}.exchange-applicant-person{grid-column:1;grid-row:1}.exchange-applicant-row>.exchange-trade-route{grid-column:1;grid-row:2;max-width:200px}.exchange-applicant-actions{grid-column:1;grid-row:3;justify-content:center}}
@media(max-width:400px){.exchange-all-lobbies-grid{grid-template-columns:minmax(0,1fr)}}


/* History: a light selector on the left and the full record on the right. */
@media(min-width:941px){
  .exchange-workspace-backdrop.is-history-view .exchange-workspace-grid{grid-template-columns:minmax(290px,.29fr) minmax(0,.71fr);}
}
#exchangeHistoryView:not([hidden]){display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;padding:12px;overflow:visible;}
.exchange-history-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:8px 0 0;color:#d6c9e0;font-size:16px;flex:none}
.exchange-history-pager[hidden]{display:none}
.exchange-history-pager button{padding:6px 10px;min-width:0;font-size:16px}
.exchange-history-pager span{white-space:nowrap}
#exchangeHistoryContent{min-width:0;min-height:0;padding:0;overflow-y:auto;overscroll-behavior:contain;}
.exchange-history-intro{display:grid;gap:9px;min-width:0;padding:0 0 12px;}
.exchange-history-intro h3{margin:0;color:#eee3f6;font-size:20px;}
.exchange-history-tools{display:grid;gap:6px;min-width:0;}
.exchange-history-search{width:100%;min-width:0;}
.exchange-history-search-count{color:#aa9db7;font-size:16px;}
.exchange-history-row-list{display:grid;align-content:start;gap:6px;min-width:0;}
.exchange-history-row{box-sizing:border-box;display:grid;gap:5px;width:100%;min-width:0;padding:10px;border:1px solid rgba(101,74,132,.54);border-radius:9px;background:linear-gradient(105deg,#20192b,#110e19);color:inherit;text-align:left;cursor:pointer;}
.exchange-history-row>strong{min-width:0;overflow:hidden;color:#ebe0f4;font-size:16px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap;}
.exchange-history-row-state{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px;min-width:0;}
.exchange-history-row-state .exchange-na-tag,.exchange-history-row-state .exchange-status-tag{margin:0;font-size:16px;}
.exchange-history-row>time{min-width:0;color:#a99bb7;font-size:16px;line-height:1.25;overflow-wrap:anywhere;}
.exchange-history-row:hover,.exchange-history-row:focus-visible{border-color:#c6a0e0;outline:2px solid rgba(184,139,255,.3);outline-offset:-2px;}
.exchange-history-row.is-selected{border-color:#d0afe8;background:linear-gradient(105deg,#382542,#191121);box-shadow:inset 3px 0 0 #d8bd84;}
.exchange-workspace-backdrop.is-history-view .exchange-detail-pane{container:exchangeHistoryDetail / inline-size;}
.exchange-history-detail{box-sizing:border-box;display:grid;grid-template-rows:auto auto auto minmax(180px,1fr);gap:12px;min-width:0;min-height:100%;height:100%;}
.exchange-history-detail *{box-sizing:border-box;}
.exchange-history-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;}
.exchange-history-detail-head>div{min-width:0;}
.exchange-history-detail-head h3{margin:3px 0 0;color:#f0e6f6;font-size:20px;overflow-wrap:anywhere;}
.exchange-history-detail-summary{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid rgba(108,79,139,.5);border-radius:10px;background:rgba(20,15,28,.72);}


.exchange-history-detail-meta{display:grid;gap:8px;min-width:0;font-size:16px;}
.exchange-history-detail-state{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.exchange-history-detail-state>span{margin:0;}
.exchange-history-detail-meta dl{display:grid;gap:5px;margin:0;}
.exchange-history-detail-meta dl>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:6px;}
.exchange-history-detail-meta dt{color:#a99bb7;}
.exchange-history-detail-meta dd{margin:0;color:#e2d6ec;overflow-wrap:anywhere;}
.exchange-history-detail-players{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid rgba(103,75,132,.44);border-radius:10px;background:rgba(15,11,22,.66);}
.exchange-history-detail-players>header,.exchange-history-chat>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.exchange-history-detail-players h4,.exchange-history-chat h4{margin:0;color:#eee4f4;font-size:16px;}
.exchange-history-detail-players>header>span,.exchange-history-chat>header>span{color:#ab9bb8;font-size:16px;}
.exchange-history-detail-players>.exchange-lobby-player-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.exchange-history-chat{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;min-height:180px;padding:10px;border:1px solid rgba(103,75,132,.44);border-radius:10px;background:rgba(10,8,16,.78);}
.exchange-history-chat-log{min-width:0;min-height:0;overflow-y:auto;padding:5px;overscroll-behavior:contain;}
.exchange-history-chat-log .exchange-message-row{width:100%;max-width:100%;}
.exchange-history-chat-log .exchange-message-row.is-mine{justify-content:flex-end;}
.exchange-history-chat-log .exchange-message-row.is-mine .exchange-message-bubble{max-width:76%;}
@container exchangeHistoryDetail (max-width:650px){
  .exchange-history-detail-summary{grid-template-columns:minmax(0,1fr);}
  .exchange-history-detail-players>.exchange-lobby-player-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@container exchangeHistoryDetail (max-width:340px){
  .exchange-history-detail-summary{padding:9px;}
  
  .exchange-history-detail-players>.exchange-lobby-player-grid{grid-template-columns:minmax(0,1fr);}
}

/* Active lobby: context left, compact trade header above chat, players/tools right. */
.exchange-active-lobby-shell{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(340px,1.5fr) minmax(290px,.85fr);grid-template-rows:auto minmax(0,1fr);gap:9px;height:100%;min-height:0;min-width:0;box-sizing:border-box}
.exchange-active-lobby-header,.exchange-lobby-player-strip,.exchange-lobby-context,.exchange-lobby-conversation,.exchange-lobby-side-card{min-width:0;border:1px solid #59406e;border-radius:9px;background:linear-gradient(#181121ed,#0c0913ed);box-sizing:border-box}
.exchange-active-lobby-header{grid-column:3;grid-row:1;padding:8px;display:grid;gap:7px}
.exchange-active-lobby-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;color:#b5a4c2;font-size:16px;min-width:0}
.exchange-active-lobby-meta>*{max-width:100%;min-width:0;overflow-wrap:anywhere}
.exchange-entry-toggle{margin-left:auto;padding:5px 8px;font-size:16px}
.exchange-lobby-context{grid-column:1;grid-row:1/-1;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}
.exchange-lobby-context-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;border-bottom:1px solid #684c7d}
.exchange-lobby-context-tabs button{min-width:0;padding:8px 5px;border-radius:0;font-size:16px;white-space:normal}
.exchange-lobby-context-tabs button[aria-pressed=true]{color:#f9f0ff;background:linear-gradient(#71409b,#3f255f)}
.exchange-lobby-context-panel{container:exchangeLobbyRows / inline-size;display:grid;align-content:start;gap:8px;min-width:0;min-height:0;overflow-y:auto;padding:7px}.exchange-lobby-context-panel[hidden]{display:none}
.exchange-lobby-context-panel>p{margin:0;padding:10px;color:#a896b5;font-size:16px}
.exchange-context-record{overflow:visible}
.exchange-context-record .exchange-dashboard-record-row{grid-template-columns:minmax(70px,1fr) max-content minmax(96px,1.2fr) 22px;min-width:0;gap:0;padding:7px 1px}
.exchange-context-record .exchange-dashboard-record-identity{gap:2px;padding-right:0}
.exchange-context-record .exchange-player-avatar.is-record{width:22px;height:22px;min-width:22px}
.exchange-context-record .exchange-na-tag{letter-spacing:0;font-weight:500}
.exchange-context-record .exchange-record-lifecycle{padding:0;font-weight:600}
.exchange-context-record.exchange-dashboard-request-record .exchange-record-lifecycle{min-width:84px}
.exchange-context-record .exchange-record-lifecycle.is-lobby-pending{width:84px}
.exchange-context-record .exchange-record-status{gap:0}
.exchange-context-record .exchange-heartbeat{display:none}
.exchange-context-record .exchange-dashboard-record-trade{padding:0;container-type:inline-size}
.exchange-context-record .exchange-dashboard-record-actions{padding:0}
.exchange-context-record [data-exchange-row-menu]{--exchange-action-size:22px;--exchange-action-height:34px;--exchange-action-padding:2px}
.exchange-context-record [data-exchange-row-menu] .exchange-action-icon{width:16px;min-width:0;height:20px}
.exchange-context-record .exchange-trade-route{--exchange-item-size:clamp(16px,calc((100cqw - 26px) / 4),30px);width:100%;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:1px;min-width:0}
.exchange-context-record .exchange-category-glyphs{gap:2px}
.exchange-context-record .exchange-category-any-glyph{width:100%;min-width:0;padding:0}
.exchange-context-record .exchange-trade-arrows,.exchange-context-record .exchange-trade-arrows>svg{width:20px;min-width:20px}
/* A 350px content box fits 64px identity + 84px status + 162px route +
   22px action, with borders/padding/gaps. Below this the existing desktop
   geometry cannot hold maximum combinations at 30px without a product trade-off. */
@container exchangeLobbyRows (min-width:350px){
 .exchange-context-record .exchange-dashboard-record-row{grid-template-columns:minmax(64px,1fr) 84px 162px 22px;gap:4px}
 .exchange-context-record .exchange-trade-route{--exchange-item-size:30px;grid-template-columns:64px 24px 64px;gap:5px;width:162px}
 .exchange-context-record .exchange-category-glyphs{gap:4px}
 .exchange-context-record .exchange-category-any-glyph{width:44px}
 .exchange-context-record .exchange-trade-arrows,.exchange-context-record .exchange-trade-arrows>svg{width:24px;min-width:24px}
}
.exchange-row-action-menu{position:fixed;z-index:22000;display:grid;gap:4px;width:max-content;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:6px;border:1px solid #9272ad;border-radius:9px;background:linear-gradient(#2a1c39,#140e1e);box-shadow:0 8px 24px #000a;box-sizing:border-box}
.exchange-row-action-menu button{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:9px;min-width:0;min-height:38px;width:100%;padding:7px 11px;font-size:16px;text-align:left}
.exchange-row-action-menu .exchange-action-icon{width:20px;height:20px;flex:none}
.exchange-row-action-menu .exchange-danger-button{color:#f0a5ae}
.exchange-row-action-menu button:focus-visible,.exchange-remove-player:focus-visible{outline:2px solid #e4c67d;outline-offset:1px}
.exchange-lobby-toolbar{display:flex;align-items:center;gap:5px;min-width:0}
.exchange-lobby-toolbar-spacer{flex:1;min-width:0}
.exchange-lobby-toolbar .exchange-icon-button{--exchange-action-size:34px;--exchange-action-height:34px;flex:none;padding:5px}
.exchange-lobby-trade-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0}
.exchange-lobby-trade-summary .exchange-player-avatar.is-record{width:28px;height:28px;min-width:28px}
.exchange-lobby-trade-summary .exchange-trade-route{--exchange-item-size:24px;--exchange-route-side:24px;grid-template-columns:var(--exchange-route-side) 26px var(--exchange-route-side);gap:3px;min-width:0}
.exchange-lobby-trade-summary .exchange-trade-route:has(>.exchange-category-glyphs>.exchange-category-glyph:nth-child(2)){--exchange-route-side:52px}
.exchange-lobby-trade-summary .exchange-trade-route:has(>.exchange-category-glyphs>.exchange-category-any-glyph){--exchange-route-side:44px}
.exchange-lobby-trade-summary .exchange-trade-arrows,.exchange-lobby-trade-summary .exchange-trade-arrows>svg{width:26px;min-width:26px}
.exchange-remove-player{position:absolute;top:2px;right:2px;display:grid;place-items:center;width:28px;min-width:28px;height:28px;min-height:28px;padding:5px;border:1px solid #a95b6966;border-radius:6px;background:#32151d;color:#eda4ad;z-index:1}
.exchange-remove-player:hover{border-color:#d88a97;background:#51202e}.exchange-remove-player .exchange-action-icon{width:18px;height:18px}
.exchange-lobby-player-slot:has(.exchange-remove-player) .exchange-lobby-player-copy{padding-right:22px}
.exchange-remove-player-dialog{min-width:0}.exchange-remove-player-dialog h3{overflow-wrap:anywhere}.exchange-remove-player-dialog p{font-size:16px;color:#ded0e9;overflow-wrap:anywhere}.exchange-remove-player-dialog [data-remove-player-error]{color:#f4aeb7}.exchange-remove-player-dialog [data-remove-player-error]:empty{display:none}
.exchange-lobby-sidebar{grid-column:3;grid-row:2;display:grid;align-content:start;gap:9px;min-width:0;min-height:0;overflow-y:auto}
.exchange-lobby-player-strip{padding:8px}
.exchange-lobby-player-strip-head h4{margin:0 0 7px;color:#e9dcef;font-size:16px}.exchange-lobby-player-strip-head h4 span{color:#ad9dba}
.exchange-lobby-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}
.exchange-lobby-player-slot{position:relative;display:flex;align-items:center;gap:6px;min-width:0;min-height:64px;padding:6px;border:1px solid #533b68;border-radius:7px;background:#171020;box-sizing:border-box}
.exchange-lobby-player-slot.is-empty{border-style:dashed;background:#100c17;color:#92819f}
.exchange-lobby-player-avatar{flex:none;display:grid;place-items:center}.exchange-lobby-player-avatar .exchange-player-avatar{width:36px;height:36px}
.exchange-participant-avatar{position:relative;display:grid;place-items:center;flex:none;--exchange-crown-height:8px}
.exchange-participant-avatar.is-lobby-player{--exchange-crown-height:12px}
.exchange-participant-avatar.is-lobby-player>.exchange-player-avatar{width:36px;height:36px}
.exchange-participant-avatar.has-host-crown{padding-top:var(--exchange-crown-height)}
.exchange-participant-avatar>.exchange-host-crown{position:absolute;top:0;left:50%;transform:translateX(-50%);width:16px;height:var(--exchange-crown-height)}
.exchange-lobby-player-copy,.exchange-lobby-player-slot>div{display:grid;gap:2px;min-width:0}
.exchange-lobby-player-role:empty{display:none}
.exchange-lobby-player-role{display:flex;align-items:center;gap:4px;min-width:0}
.exchange-lobby-player-slot em{font-style:normal;color:#d5b0ff;font-size:16px}
.exchange-lobby-player-slot strong,.exchange-lobby-player-slot small{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.exchange-lobby-player-slot strong{color:#e9deef}.exchange-lobby-player-slot small{color:#9e8bac}
.exchange-host-crown{display:inline-grid;place-items:center;flex:none;width:16px;height:16px;color:#efcf72}
.exchange-host-crown svg{width:100%;height:100%;fill:#efcf72;stroke:#efcf72;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.exchange-lobby-conversation{grid-column:2;grid-row:1/-1;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;min-height:0}
.exchange-lobby-conversation>header{grid-row:1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;padding:9px;border-bottom:1px solid #4d365f}
.exchange-lobby-conversation>header>div{display:flex;align-items:center;gap:6px;min-width:0}.exchange-lobby-conversation h4{margin:0;font-size:16px;color:#eedff8}
.exchange-conversation-icon{display:grid;place-items:center;width:26px;height:26px;flex:none;color:#e0c177;border:1px solid #8e7449;border-radius:6px}
.exchange-lobby-mode{display:inline-flex;align-items:center;gap:5px;font-size:16px;color:#6ddfaf}
.exchange-lobby-ending-banner{grid-row:2;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:9px;background:#47332770;color:#efd28e;font-size:16px}
.exchange-lobby-ending-banner button{margin-left:auto;min-width:0;font-size:16px;padding:6px 8px}
.exchange-lobby-conversation-log{grid-row:3;min-width:0;min-height:0;overflow-y:auto;padding:10px;scroll-behavior:smooth}
.exchange-lobby-conversation-log .exchange-message-row{max-width:100%}.exchange-lobby-conversation-log .exchange-message-row.is-mine{display:flex;width:100%;justify-content:flex-end}
.exchange-lobby-conversation-log .exchange-message-row.is-mine .exchange-message-bubble{max-width:85%;margin-left:auto}
.exchange-lobby-quick-phrases{grid-row:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:9px;border-top:1px solid #584168;min-width:0}
.exchange-quick-chat-legend{grid-column:1/-1;text-align:center;color:#dcc181;font-size:16px}
.exchange-lobby-quick-phrases button{min-width:0;min-height:38px;padding:6px;font-size:16px;white-space:normal;line-height:1.2}
.exchange-lobby-side-card{display:grid;gap:8px;padding:9px;min-width:0}
.exchange-lobby-side-card>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;border-bottom:1px solid #4d365f;padding-bottom:5px}
.exchange-lobby-side-card h4{margin:0;font-size:16px;color:#eedff8}.exchange-lobby-side-card>header>span{color:#6ddeb0;font-size:16px}
.exchange-lobby-side-card p{margin:0;color:#a897b5;font-size:16px;line-height:1.35}
.exchange-trade-time-card .exchange-time-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}
.exchange-time-inputs label{min-width:0;font-size:16px}.exchange-trade-time-card .exchange-time-inputs input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:36px;padding:5px;font-size:16px}
.exchange-trade-time-card>button{max-width:100%;width:100%;min-width:0;min-height:38px;white-space:normal;font-size:16px}

.exchange-time-proposals{display:grid;gap:6px;min-width:0}.exchange-time-proposal{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:7px;border:1px solid #634670;border-radius:6px;min-width:0}
.exchange-time-proposal>span{display:grid;min-width:0;font-size:16px}.exchange-time-proposal strong{overflow-wrap:anywhere}.exchange-time-proposal time{font-size:16px;color:#bfaaca}.exchange-time-proposal button{margin-left:auto;font-size:16px;min-width:0}
@media(max-width:1100px){
 .exchange-active-lobby-shell{grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto minmax(450px,1fr) auto;height:auto;min-height:100%}
 .exchange-active-lobby-header{grid-column:1/-1;grid-row:1}
 .exchange-lobby-conversation{grid-column:1;grid-row:2}
 .exchange-lobby-sidebar{grid-column:2;grid-row:2;overflow:visible}
 .exchange-lobby-context{grid-column:1/-1;grid-row:3;max-height:420px}
}
@media(max-width:760px){
 .exchange-active-lobby-shell{display:flex;flex-direction:column;height:auto;min-height:100%}
 .exchange-active-lobby-header{order:1}
 .exchange-lobby-sidebar{order:2;overflow:visible}
 .exchange-lobby-conversation{order:3;min-height:520px}
 .exchange-lobby-context{order:4;max-height:500px}
 .exchange-lobby-quick-phrases{grid-template-columns:repeat(2,minmax(0,1fr))}
 .exchange-editor-overlay{padding:8px}.exchange-editor-dialog{max-height:calc(100dvh - 16px);padding:10px}
}
@media(max-width:360px){.exchange-trade-time-card .exchange-time-inputs{grid-template-columns:minmax(0,1fr)}}


/* Visible only while the locked owner console runs a local Exchange fixture. */
.exchange-test-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 14px;border-top:1px solid #ba9759;background:#312619;color:#ffe0a1;font-size:13px;}
.exchange-test-banner span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.exchange-test-banner button{flex:none;padding:6px 10px;}

/* Saved ThroneWatch player portraits; empty seats retain their placeholder SVG. */
.exchange-player-avatar.is-record{width:40px;height:40px;flex:none}
.exchange-player-avatar.is-tiny{width:22px;height:22px;flex:none}

.exchange-participant-summary{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%;margin-right:8px}
.exchange-participant-summary>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
