/* Load last on both pages. Preserve the authored lime and glass surfaces. */
[hidden]:not([hidden="until-found"]) { display: none !important; }
/* Keep scroll on the document; contain supported Safari/Chromium edge bounce.
   Do not freeze body height or intercept touchmove: zoom and vertical pan remain native. */
html { background:#061210; overscroll-behavior-y:none; scrollbar-gutter:stable; }
body { overscroll-behavior-y:none; min-height:100vh; min-height:100svh; }
@supports (overflow:clip) { html,body { overflow-x:clip; } }
.trade-table-wrap,.room-table-wrap,.launch-steps { overscroll-behavior-x:contain; }
.new-footer { padding-bottom:max(24px,env(safe-area-inset-bottom)); }
.project-toast { bottom:max(24px,env(safe-area-inset-bottom)); }
@media(max-width:700px){header { padding-left:max(18px,env(safe-area-inset-left)); padding-right:max(18px,env(safe-area-inset-right)); }}

/* Match the existing blur values for WebKit implementations requiring a prefix. */
header { -webkit-backdrop-filter: blur(30px); }
dialog::backdrop { -webkit-backdrop-filter: blur(8px); }
.stock-strip { -webkit-backdrop-filter: blur(20px); }
.sort-menu { -webkit-backdrop-filter: blur(24px); }
.corner-status, .layer-front { -webkit-backdrop-filter: blur(14px); }
.rwa-stock-panel { -webkit-backdrop-filter: blur(28px); }
.multi-scene .stock-destinations > div { -webkit-backdrop-filter: blur(22px); }
.stock-bubble { -webkit-backdrop-filter: blur(9px); }
.ticker-window {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 30px, #000 calc(100% - 30px), transparent);
}
.story-heading h2 span, .story-close h2 span { -webkit-background-clip: text; }

.room-table-wrap { max-width: 100%; }
.financial-quarter, .company-summary, .filing-row > div { min-width: 0; }
.filing-row strong, .news-story h3, .company-summary dd { overflow-wrap: anywhere; }

@media (max-width: 700px) {
  /* Readable text entry avoids iOS focus zoom without disabling user zoom. */
  .search input, .room-search { font-size: 16px; }
  .room-tabs, .range-tabs { flex-wrap: wrap; }
  .stock-heading { align-items: flex-start; flex-wrap: wrap; }
  .stock-heading .company-cell { min-width: 0; white-space: normal; }
  .stock-heading .company-cell > div { min-width: 0; }
  .stock-heading h1 { overflow-wrap: anywhere; }
  .stock-heading .company-cell img, .stock-heading .room-watch { flex-shrink: 0; }
  .stock-price { margin-left: auto; }
}

@media (max-width: 420px) {
  .financial-grid { grid-template-columns: minmax(0, 1fr); }
  header nav { gap: 18px; flex-wrap: wrap; }
}

@media (pointer: coarse) {
  .room-watch, .news-pages button, .range-tabs button,
  .room-tabs button, .wallet-button, .icon-button,
  .copy-contract { min-width: 44px; min-height: 44px; }
  header nav a { display: inline-flex; align-items: center; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .ticker-window { -webkit-mask-image: none; }
  /* Preserve state colors while removing positional hover motion. */
  .universe-logos > div:hover img { transform: none; }
  .universe-logos img { transition: none; }
}

/* Mobile app handoff: keep browser zoom/pan native and respect viewport cutouts. */
@media(max-width:700px){
 body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
 body>header{padding-top:max(12px,env(safe-area-inset-top))}
 input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important;scroll-margin-block:150px 100px}
 .stock-picker-results{max-height:min(320px,45svh);overscroll-behavior:contain}
 .account-dialog,.flow-dialog,dialog{max-height:calc(100svh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .project-toast{max-width:calc(100vw - 32px);overflow-wrap:anywhere}
 .project-socials a,.project-venue-icons a{min-width:36px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .chart-controls button,.swap-pools button,.slippage-choices button,.pagination button,.sort-trigger,.launch-steps button,.room-watch,.news-pages button,.range-tabs button{min-height:44px}
 .project-byline{flex-wrap:wrap}.project-identity>div{min-width:0}
 .transaction-search>div{flex-wrap:wrap}.transaction-search input{min-width:0;max-width:100%}
}
@media(prefers-reduced-motion:reduce){.stock-bubble,.market-traveler,.market-candle,.market-volume,.liquidity-column{animation:none!important}.stock-picker-results button{transition:none}}
