@font-face{font-family:element-icons;src:url('/assets/element-icons.woff') format('woff');font-weight:400;font-style:normal}
@font-face{font-family:xm-desktop-iconfont;src:url('/assets/xm-desktop-iconfont.woff2') format('woff2');font-weight:400;font-style:normal}
.capture-shift body{width:1920px;transform:translateX(var(--capture-shift));transform-origin:0 0}
*{box-sizing:border-box}html:not([data-app-booted]) body{visibility:hidden}html,body{margin:0;min-width:1200px;width:100%;min-height:100%;background:#000;color:#fff;font-family:Avenir,Helvetica,Arial,sans-serif}button,a{font:inherit}button{border:0}/* Long portal routes (for example #/home) must use the document scroll bar. Full-screen trading and visual-fixture routes opt into overflow:hidden below with route-specific selectors. */body{overflow-y:auto;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
/* Healthy-runtime authentication shell. Visual fixtures keep their own frozen
   layouts; this shell is for the actual public login journey. */
body.desktop-auth-page{overflow:auto;background:#05070b}
.desktop-auth{min-height:100vh;display:grid;grid-template-rows:68px minmax(650px,1fr) 70px;background:radial-gradient(circle at 22% 34%,rgba(0,240,255,.14),transparent 32%),radial-gradient(circle at 78% 68%,rgba(30,94,255,.12),transparent 28%),#05070b;color:#f5f7fb}
.desktop-auth a{color:inherit;text-decoration:none}
.desktop-auth-header{position:sticky;z-index:10;top:0;display:flex;align-items:center;gap:34px;padding:0 34px;border-bottom:1px solid #1d2530;background:rgba(5,7,11,.94);backdrop-filter:blur(14px)}
.desktop-auth-brand{width:126px;height:52px;display:flex;align-items:center}.desktop-auth-brand img{display:block;width:124px;height:50px;object-fit:contain}
.desktop-auth-header nav{display:flex;align-items:center;gap:28px;color:#aeb7c5;font-size:14px}.desktop-auth-header nav a:hover{color:var(--brand-accent,#00F0FF)}
.desktop-auth-header select{margin-left:auto;width:155px;height:34px;padding:0 10px;border:1px solid #3a4656;border-radius:5px;background:#151b25;color:#dce5f0}
.desktop-auth-stage{width:min(1180px,calc(100% - 72px));margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 430px;align-items:center;gap:90px;padding:72px 0}
.desktop-auth-copy>span{display:inline-flex;padding:6px 12px;border:1px solid rgba(110,236,252,.35);border-radius:999px;color:var(--brand-accent,#00F0FF);font-size:12px;letter-spacing:.2em}
.desktop-auth-copy h2{max-width:560px;margin:24px 0 16px;font-size:48px;line-height:1.12}.desktop-auth-copy p{max-width:610px;margin:0;color:#9da9ba;font-size:16px;line-height:1.85}
.desktop-auth-card{padding:36px;border:1px solid #273342;border-radius:12px;background:rgba(15,21,30,.94);box-shadow:0 26px 80px rgba(0,0,0,.42)}
.desktop-auth-card header small{color:var(--brand-accent,#00F0FF);letter-spacing:.15em}.desktop-auth-card h1{margin:9px 0 28px;font-size:30px}.desktop-auth-card form{display:grid;gap:18px}
.desktop-auth-card label{display:grid;gap:8px;color:#aeb8c7;font-size:13px}.desktop-auth-card input{width:100%;height:46px;padding:0 14px;border:1px solid #364455;border-radius:7px;background:#090e15;color:#fff;outline:0}
.desktop-auth-card input:focus{border-color:var(--brand-accent,#00F0FF);box-shadow:0 0 0 3px rgba(110,236,252,.12)}
.desktop-auth-links{display:flex;justify-content:space-between;gap:20px;color:#8da1b8;font-size:13px}.desktop-auth-links a:hover{color:var(--brand-accent,#00F0FF)}
.desktop-auth-submit{height:46px;border:0;border-radius:7px;background:var(--brand-accent,#00F0FF);color:#041013;font-weight:800;cursor:pointer}.desktop-auth-submit:disabled{opacity:.55}
.desktop-auth-card #status{min-height:20px;margin:0;color:#ff7b86;font-size:13px}
.desktop-auth>footer{display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-top:1px solid #1d2530;color:#798596;font-size:12px}.desktop-auth>footer nav{display:flex;gap:22px}
@media(max-width:1050px){.desktop-auth-stage{grid-template-columns:1fr;width:min(620px,calc(100% - 40px));gap:36px}.desktop-auth-copy{display:none}.desktop-auth-header nav{display:none}}
.site-header{height:60px;width:100%;display:flex;align-items:center;background:#060609;position:relative;white-space:nowrap}.brand{position:absolute;left:30px;top:5px;width:124px;height:50px;object-fit:fill}
.primary-nav{position:absolute;left:214px;top:0;height:60px;display:flex;align-items:center;gap:28px;color:#ddd;font-size:14px}.primary-nav>span,.nav-menu>button{color:#ddd;background:transparent;padding:0;cursor:default}.nav-menu{height:60px;display:flex;align-items:center;position:relative}
.mini-caret{display:inline-block;margin-left:8px;width:10px;height:7px;vertical-align:middle}.mini-caret:before{content:'\e60a';font-family:xm-desktop-iconfont;font-size:10px;line-height:7px}
.nav-popover,.account-popover{display:none;position:absolute;background:#17171f;border:1px solid #30303a;color:#ddd;z-index:5;box-shadow:0 6px 18px rgba(0,0,0,.4)}.nav-popover{top:50px;left:0;min-width:110px;padding:8px 0}.nav-popover span,.account-popover span{display:block;padding:8px 14px}.nav-menu:hover .nav-popover{display:block}
.account-menu{position:absolute;right:170px;top:0;height:60px;display:flex;align-items:center}.account-menu>button{width:196px;height:23px;background:#171c27;color:#fff;text-align:center;font-size:12px}.account-icon{position:absolute;left:4px;top:22px;width:16px;height:16px;font-family:xm-desktop-iconfont;font-size:16px;line-height:16px}.account-icon:before{content:'\e608'}.redacted-account{display:block;overflow:hidden;height:14px;opacity:.62}.down-glyph{position:absolute;right:7px;top:22px;width:14px;height:14px;font-family:element-icons;font-size:14px;line-height:14px}.down-glyph:before{content:'\e6df'}.account-popover{right:0;top:49px;width:154px;font-size:13px}.account-menu.open .account-popover{display:block}
.language{position:absolute;right:20px;top:17px;width:100px;height:26px;padding:0 10px;background:#3a3a3a;border:1px solid #7d7d7d;border-radius:4px;color:#aaa;font:12px Arial;text-align:left}.language-caret{position:absolute;right:5px;top:5px;width:14px;height:14px;font-family:element-icons;font-size:14px;line-height:14px}.language-caret:before{content:'\e6df'}
.language-menu{display:none;position:absolute;right:20px;top:46px;width:154px;max-height:370px;overflow:auto;background:#17171f;border:1px solid #30303a;box-shadow:0 6px 18px rgba(0,0,0,.4);z-index:30}.language-menu.open{display:block}.language-menu button{display:block;width:100%;padding:8px 12px;background:transparent;color:#ddd;text-align:left;font:12px Arial}.language-menu button:hover{background:#30303a;color:#fff}
.workspace{position:absolute;left:10%;top:110px;width:80%;display:grid;grid-template-columns:20% 1fr;gap:10px}.asset-nav{height:70vh;display:flex;flex-direction:column}.asset-nav a{height:63px;padding-left:calc(8.125vw - 34px);display:flex;align-items:center;color:#888;text-decoration:none;font-size:16px}
.records-panel{position:relative;top:0;height:70vh;background:#0e0f17;color:#b0b8db}.records-heading{position:absolute;left:20px;top:32px;font-size:14px}.records-heading b{padding:0 6px;font-weight:400}.records-heading em{font-style:normal;color:#55e6f3}
.currency-select{position:absolute;right:20px;top:20px;width:193px;height:40px}.currency-select>button{width:193px;height:40px;padding:0 30px 0 15px;text-align:left;background:#3a3a3a;border:1px solid #7d7d7d;border-radius:4px;color:#aaa;font:14px Arial}.select-caret{position:absolute;right:6px;top:13px;width:14px;height:14px;font-family:element-icons;font-size:14px;line-height:14px;color:#c0c4cc}.select-caret:before{content:'\e6df'}.currency-options{display:none;position:absolute;left:0;top:44px;width:193px;background:#fff;border:1px solid #e4e7ed;border-radius:4px;padding:6px 0;z-index:4;box-shadow:0 2px 12px rgba(0,0,0,.2)}.currency-options button{display:block;width:100%;height:34px;text-align:left;padding:0 20px;background:#fff;color:#606266;font:14px Arial}.currency-options button:hover{background:#f5f7fa;color:#409eff}.currency-select.open .currency-options{display:block}.currency-select.open>button{border-color:#409eff}.currency-select.open .select-caret{transform:rotate(180deg);color:#409eff}
.table-head{position:absolute;left:16px;right:14px;top:91px;display:grid;grid-template-columns:36% 24% 24% 16%;font-size:12px;color:#b0b8db}.table-head span:last-child{text-align:right}.empty-state{position:absolute;left:50%;top:156px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;color:#b0b8db;font-size:12px}.empty-state img{width:70px;height:70px;object-fit:contain;margin-bottom:8px}
@media (max-width:1500px){.primary-nav{gap:24px}.empty-state{top:157px}}
.asset-nav a.active-account{justify-content:center;padding:0;background:var(--brand-accent,#00F0FF);color:#fff}.account-panel{padding:20px}.account-panel .account-summary{font-size:14px;color:#b0b8db}.account-panel .account-summary strong{color:#55e6f3;font-weight:400}.account-panel .finance-link{position:absolute;right:20px;top:22px;color:#ddd;font-size:14px}.account-table{margin-top:32px;color:#b0b8db;font-size:12px}.account-table .account-row{display:grid;grid-template-columns:25% 25% 25% 25%;height:36px;align-items:center;border-bottom:1px solid #292934}.account-table .account-row span:not(:first-child){text-align:center}
.funds-page{min-height:100vh;padding:48px;background:#0e0f17;color:#b0b8db;font:14px Avenir,Arial,sans-serif}.funds-page a{color:#55e6f3}.funds-page h1{color:#fff}.funds-page form{display:grid;gap:14px;max-width:420px}.funds-page label{display:grid;gap:6px}.funds-page input,.funds-page select{height:38px;padding:8px;background:#17171f;border:1px solid #4c4d58;border-radius:4px;color:#fff}.funds-page button{height:38px;border-radius:4px;background:#00ddeb;color:#000;cursor:pointer}.funds-page button:disabled{opacity:.5;cursor:not-allowed}.funds-page output{min-height:20px;color:#55e6f3}
.funds-panel-heading{position:absolute;left:20px;top:22px;font-size:14px;color:#b0b8db}.funds-panel-heading a{color:#55e6f3;text-decoration:none}.funds-form-wrap{position:absolute;left:18px;right:18px;top:82px;bottom:20px;overflow:auto}.funds-history-link{position:absolute;right:0;top:-57px;color:#b0b8db;text-decoration:none;font-size:14px}.xm-transfer-form{position:relative;display:block;width:100%;max-width:none;padding-top:0}.transfer-field{position:relative;display:flex;align-items:center;min-height:40px;margin:0 0 30px}.transfer-field>span{width:80px;color:#b0b8db;font-size:13px}.transfer-field select,.transfer-field input{height:40px;border:1px solid #727276;border-radius:4px;background:#3b3b3d;color:#b9b9bc;padding:0 15px;font:14px Avenir,Arial,sans-serif;outline:0}.currency-field select{width:calc(100% - 80px)}.account-field{display:block}.account-field>span{position:absolute;left:0;top:12px}.account-pair{margin-left:80px;display:grid;grid-template-columns:20px minmax(160px,1fr) 32px minmax(160px,1fr);gap:0;align-items:center}.account-pair b{font-size:13px;font-weight:400;color:#b0b8db}.account-pair select{width:100%}.transfer-switch{font-style:normal;text-align:center;color:#a5a5a8;font-size:18px}.account-field small{display:block;margin:8px 0 0 80px;color:#b0b8db;font-size:12px}.amount-field input{width:calc(100% - 80px)}.amount-field #transfer-all{position:absolute;right:10px;top:3px;min-height:34px;padding:0 8px;background:transparent;color:#aeb0b7;font-size:12px}.transfer-submit{display:block;width:calc(100% - 80px);margin-left:80px;min-height:48px;border-radius:4px;background:#60d8e9!important;color:#f4f8f9!important;font-size:15px;cursor:pointer}.xm-exchange-form .currency-field{margin-bottom:30px}.xm-exchange-form output{display:block;margin:0 0 18px 80px;min-height:20px;color:#b0b8db;font-size:12px}.quote-refresh{display:block;width:calc(100% - 80px);margin:0 0 10px 80px;min-height:38px;background:#3b3b3d!important;color:#d3d3d5!important}.funds-form-wrap button{min-height:34px;border-radius:4px;background:#00ddeb;color:#000;cursor:pointer}.funds-form-wrap output{min-height:20px;color:#55e6f3}.funds-toolbar{display:flex;gap:10px;margin-bottom:12px}.funds-form-wrap table{width:100%;border-collapse:collapse;font-size:12px}.funds-form-wrap th,.funds-form-wrap td{padding:12px;border-bottom:1px solid #292934;text-align:left}.funds-form-wrap .record-detail{min-height:26px;padding:0 10px}
/* Stage 3 transfer/exchange baseline: the original funds forms sit one pixel
   below the account panel's generic form grid and use 48px cyan submit bars. */
.funds-panel .funds-form-wrap{top:83px}.funds-panel .transfer-field{margin-bottom:31px}.funds-panel .transfer-submit{height:48px;min-height:48px}.funds-panel .funds-history-link{right:3px}
.funds-panel{margin-right:8px;height:calc(70vh - 1px)}
.funds-panel .funds-panel-heading,.funds-panel .funds-history-link{color:#fff;font:16px Avenir,Helvetica,Arial,sans-serif}
.funds-panel .transfer-field>span,.funds-panel .account-pair b{font:12px Avenir,Helvetica,Arial,sans-serif}
.funds-panel .transfer-field select,.funds-panel .transfer-field input,.funds-panel .exchange-pair select,.funds-panel .exchange-amount input{font-family:Avenir,Helvetica,Arial,sans-serif}
.funds-panel .xm-exchange-form{padding:2px 10px 0}.funds-panel .exchange-pair{display:grid;grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);gap:16px;align-items:center;margin:0 0 40px}.funds-panel .exchange-pair select{width:100%;height:40px;padding:0 15px;border:1px solid #727276;border-radius:4px;background:#3b3b3d;color:#b9b9bc;font:14px Avenir,Arial,sans-serif}.funds-panel .exchange-swap{width:58px;height:48px;min-height:48px!important;padding:0;background:transparent!important}.funds-panel .exchange-swap img{display:block;width:50px;height:50px;object-fit:contain;margin:-1px auto}.funds-panel .exchange-amount{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;margin:0 0 57px;color:#b0b8db;font-size:13px}.funds-panel .exchange-amount>div{position:relative}.funds-panel .exchange-amount input{width:100%;height:40px;padding:0 110px 0 15px;border:1px solid #727276;border-radius:4px;background:#3b3b3d;color:#b9b9bc;font:14px Avenir,Arial,sans-serif}.funds-panel #exchange-all{position:absolute;right:8px;top:1px;height:38px;min-height:38px;padding:0 8px;background:transparent!important;color:#ddd!important;font-size:13px}.funds-panel .exchange-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 22px;padding:0 27px;gap:20px}.funds-panel .exchange-summary div{display:flex;flex-direction:column;gap:31px;color:#b0b8db;font-size:13px}.funds-panel .exchange-summary div:nth-child(2){align-items:center}.funds-panel .exchange-summary div:nth-child(3){align-items:flex-end}.funds-panel .exchange-summary output{color:#b0b8db;font:13px Avenir,Arial,sans-serif}.funds-panel .xm-exchange-form .transfer-submit{width:100%;margin:0}
@media (min-width:900px){.funds-form-wrap{left:18px;right:18px;top:82px}.funds-panel .funds-form-wrap{top:83px}.xm-transfer-form{padding-left:0}.transfer-field>span{width:80px}.currency-field select,.amount-field input{width:calc(100% - 80px)}.funds-history-link{right:0}.funds-panel .funds-history-link{right:3px}.account-pair{grid-template-columns:20px minmax(240px,1fr) 32px minmax(240px,1fr)}}
.stage4-desktop{max-width:860px}.stage4-form{display:grid;grid-template-columns:128px minmax(260px,1fr);gap:14px 18px;align-items:center;padding:18px 0}.stage4-form label{display:contents}.stage4-form label::before{content:attr(data-label);color:#b0b8db}.stage4-form label{color:#b0b8db}.stage4-form select,.stage4-form input{height:40px;width:100%;border:1px solid #727276;border-radius:4px;background:#3a3a3a;color:#eee;padding:0 12px}.stage4-form .check{grid-column:2;color:#b0b8db}.stage4-form .check input{width:auto;height:auto;margin-right:8px}.stage4-form button{grid-column:2;min-height:42px;background:#60d8e9;color:#071115}.stage4-form .secondary{background:#3a3a3a;color:#ddd}.stage4-form output{padding:10px 12px;border:1px solid #45454b;background:#17171f;color:#b0b8db}.stage4-form p{grid-column:2;margin:0;color:#b0b8db}.stage4-empty{color:#b0b8db;padding:24px 0}
/* Stage 3 originals use neutral #3a3a3a field surfaces.  Keep this explicit
   compatibility rule close to the form styles so shared Stage 4 controls do
   not drift from the same dark palette. */
.funds-panel .transfer-field select,.funds-panel .transfer-field input,.funds-panel .quote-refresh,.funds-panel .exchange-pair select,.funds-panel .exchange-amount input{background:#3a3a3a!important}
.funds-panel .transfer-submit{background:var(--brand-accent,#00F0FF)!important}
/* CURRENT_LIVE Stage 3 uses the historical empty/default forms.  Keep these
   dimensions scoped to the explicit visual fixture so interactive funds
   screens retain their functional controls. */
.funds-panel:has(.stage3-desktop-fixture[data-fixture-id]){margin-right:0}.funds-panel:has(.stage3-desktop-fixture[data-fixture-id]) .funds-form-wrap{left:20px;right:20px;top:83px;overflow:visible}.stage3-desktop-fixture[data-fixture-id] .transfer-switch,.stage3-desktop-fixture[data-fixture-id] #transfer-all{display:none}.stage3-desktop-fixture[data-fixture-id] .account-pair{grid-template-columns:20px minmax(0,1fr) 32px minmax(0,1fr);column-gap:0}.stage3-desktop-fixture[data-fixture-id] .account-pair select:last-child{grid-column:4}.stage3-desktop-fixture[data-fixture-id] .account-field small{margin-top:8px}.stage3-desktop-fixture[data-fixture-id] .transfer-submit{background:var(--brand-accent,#00F0FF)!important;color:#f4f8f9!important}.stage3-desktop-fixture[data-fixture-id] .xm-exchange-form{padding:2px 10px 0}.stage3-desktop-fixture[data-fixture-id] .exchange-pair{margin-bottom:40px}.stage3-desktop-fixture[data-fixture-id] .exchange-amount{margin-bottom:57px}.stage3-desktop-fixture[data-fixture-id] .exchange-summary{margin-bottom:22px}
.stage3-desktop-fixture[data-fixture-id] .transfer-field>span,.stage3-desktop-fixture[data-fixture-id] .account-pair b{color:#fff}
.stage3-desktop-fixture[data-fixture-id] .account-field small{color:#ddd}
.stage3-desktop-fixture[data-fixture-id] .transfer-field select,.stage3-desktop-fixture[data-fixture-id] .transfer-field input,.stage3-desktop-fixture[data-fixture-id] .exchange-pair select,.stage3-desktop-fixture[data-fixture-id] .exchange-amount input{border-color:#7d7d7d;color:#aaa}
.stage3-desktop-fixture[data-fixture-id] .funds-history-link{top:-63px;right:0}
.stage3-desktop-fixture[data-fixture-id] .account-pair{grid-template-columns:22px minmax(0,1fr) 32px minmax(0,1fr);position:relative;top:-1px}
.stage3-desktop-fixture[data-fixture-id] .exchange-pair{position:relative;top:-1px}
.stage3-desktop-fixture[data-fixture-id] .exchange-summary div,.stage3-desktop-fixture[data-fixture-id] .exchange-summary div:nth-child(3){align-items:center;text-align:center}
.stage3-desktop-fixture[data-fixture-id] .exchange-amount{color:#fff;font-size:12px}
.stage3-desktop-fixture[data-fixture-id] .xm-exchange-form .transfer-submit{font-size:12px}
.stage3-desktop-fixture[data-fixture-id] .xm-exchange-form .transfer-submit{position:relative;top:3px}
.funds-panel:has(.stage3-desktop-fixture[data-fixture-id]) .funds-panel-heading{top:20px}
.workspace:has(.stage3-desktop-fixture[data-fixture-id]) .asset-nav a{justify-content:center;padding-left:0}
body:has(.stage3-desktop-fixture[data-fixture-id]) .primary-nav{transform:translateY(-1px)}
body:has(.stage3-desktop-fixture[data-fixture-id]) .account-menu>button{background:transparent}
@media (min-width:1501px){.workspace:has(.stage3-desktop-fixture[data-fixture-id]){left:calc(10% - 1px);width:calc(80% - 3px)}.stage3-desktop-fixture[data-fixture-id] .account-pair{grid-template-columns:22px 521px 64px minmax(0,1fr)}}

/* CURRENT LIVE Stage 4 address form.  This is intentionally a separate DOM
   and style scope: the healthy address book keeps its note/default/list UI. */
.stage4-desktop-address-fixture .funds-panel{margin-right:0}
.stage4-desktop-address-fixture .funds-panel-heading{top:20px}
.stage4-desktop-address-fixture .funds-form-wrap{left:20px;right:20px;top:82px;overflow:visible}
.desktop-address-live{width:100%;color:#b0b8db;font-family:Avenir,Helvetica,Arial,sans-serif}
.desktop-address-live form{margin:0 10px}
.desktop-address-live .address-first-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:30px;margin:0 0 20px}
.desktop-address-live label{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;min-width:0;height:40px;color:#b0b8db;font:12px/16px Avenir,Helvetica,Arial,sans-serif}
.desktop-address-live select,.desktop-address-live input{display:block;width:100%;height:40px;min-width:0;padding:0 15px;border:1px solid #7d7d7d;border-radius:4px;outline:0;background:#3a3a3a;color:#aaa;font:14px Avenir,Helvetica,Arial,sans-serif}
.desktop-address-live .address-input-row{margin-bottom:30px}
.desktop-address-live .address-input-row span{line-height:14px;padding-right:24px}
.desktop-address-live .desktop-address-live-save{display:block;width:100%;height:48px;min-height:48px;border:0;border-radius:0;background:var(--brand-accent,#00F0FF);color:#fff;font:16px/48px Avenir,Helvetica,Arial,sans-serif;text-align:center}
#desktop-address-live-status{height:16px;margin:8px 0 0;color:#b0b8db;font-size:12px}
.stage4-desktop-address-fixture .asset-nav a{height:62px;justify-content:center;padding-left:0}
.stage4-desktop-address-fixture .primary-nav{transform:translateY(-1px)}
.stage4-desktop-address-fixture .account-menu>button{background:transparent}
@media (max-width:1500px){
  .stage4-desktop-address-fixture .brand{display:none}
  .stage4-desktop-address-fixture .primary-nav{left:90px;gap:24px}
  .stage4-desktop-address-fixture .primary-nav> :nth-child(2){transform:translateX(-12px)}
  .stage4-desktop-address-fixture .primary-nav> :nth-child(3),.stage4-desktop-address-fixture .primary-nav> :nth-child(4){transform:translateX(-22px)}
  .stage4-desktop-address-fixture .primary-nav> :nth-child(5),.stage4-desktop-address-fixture .primary-nav> :nth-child(6){transform:translateX(-20px)}
  .stage4-desktop-address-fixture .primary-nav> :nth-child(7){transform:translateX(-21px)}
  .stage4-desktop-address-fixture .primary-nav> :nth-child(8){transform:translateX(-18px)}
  .stage4-desktop-address-fixture .primary-nav> :nth-child(9){transform:translateX(-25px)}
  .stage4-desktop-address-fixture .primary-nav> :nth-child(10){transform:translateX(-11px)}
}

/* Stage 6B healthy contract portal. These selectors are isolated from the
   frozen Stage 2–5 visual fixtures. */
.contract-portal,.contract-account-page{min-height:100vh;background:#071016;color:#dce8ee;font:14px/1.45 Inter,Arial,sans-serif}.contract-header{height:62px;display:flex;align-items:center;gap:20px;padding:0 24px;background:#0b1720;border-bottom:1px solid #1d3440;box-sizing:border-box;overflow:hidden}.contract-brand{display:flex;align-items:center;flex:0 0 auto;height:48px;text-decoration:none}.contract-brand img{display:block;width:118px;height:44px;object-fit:contain}.contract-header nav{display:flex;gap:0;align-items:stretch;height:100%;min-width:0;overflow:auto;scrollbar-width:none}.contract-header nav::-webkit-scrollbar{display:none}.contract-header nav a{display:flex;align-items:center;padding:0 13px;color:#9eb2bd;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}.contract-header nav a.active,.contract-header nav a:hover{color:#eefcff;border-bottom-color:#34d2dc}.contract-connection{margin-inline-start:auto;color:#8bbcc4;white-space:nowrap;font-size:12px}.contract-session{flex:0 0 auto;color:#74e7ef;text-decoration:none;white-space:nowrap;font-size:13px}.contract-market-summary{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(150px,1fr) repeat(4,minmax(130px,.8fr));gap:1px;background:#1d3440;border-bottom:1px solid #1d3440}.contract-market-summary>*{min-height:72px;padding:14px 18px;background:#0c1821;box-sizing:border-box}.contract-market-summary select{color:#eaf8fc;background:#111f29;border:1px solid #294754}.contract-market-summary>strong{font-size:24px;color:#55dbe4}.contract-market-summary span{display:flex;flex-direction:column;gap:6px}.contract-market-summary small{color:#748d99}.contract-workspace{display:grid;grid-template-columns:minmax(520px,1.8fr) minmax(240px,.75fr) minmax(220px,.65fr) minmax(310px,.95fr);gap:1px;background:#1d3440}.contract-workspace>article{background:#0a151d;min-height:420px;padding:14px;box-sizing:border-box}.contract-workspace h2,.contract-workspace header{font-size:14px;margin:0 0 12px}.contract-chart-card header{display:flex;justify-content:space-between}.contract-chart-card #contract-kline{height:360px}.contract-chart-card #contract-kline .kline-svg,.delivery-chart .kline-svg{width:100%;height:100%;display:block}.contract-chart-card button,.contract-record-tabs button,.contract-toggle button,.contract-percentages button,.delivery-records nav button{border:1px solid #284451;background:#0e202a;color:#a9bdc6;padding:7px 10px;border-radius:4px}.contract-chart-card button:hover,.contract-record-tabs button.active,.contract-toggle button.active,.contract-percentages button:hover,.delivery-records nav button.active{border-color:#36d2db;color:#73edf2;background:#10313a}.contract-book-card #contract-book,.contract-trades-card #contract-trades{display:flex;flex-direction:column;gap:2px;max-height:380px;overflow:auto}.contract-book-card button,.contract-trades-card p{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:7px 8px;background:#0e1c24;border:0;color:#bfd0d8;text-align:end}.contract-book-card button:nth-child(-n+8) bdi:first-child{color:#ef7580}.contract-book-card button:nth-child(n+9) bdi:first-child{color:#4ee0a0}.contract-order-card{overflow:auto}.contract-toggle{display:flex;gap:6px;margin-bottom:9px}.contract-toggle button{flex:1}.contract-toggle .buy.active,.delivery-actions .buy{background:#0f705c;border-color:#2bd6a0;color:white}.contract-toggle .sell.active,.delivery-actions .sell{background:#7a2e3a;border-color:#ef6677;color:white}.contract-order-card form,.delivery-order-card form{display:grid;gap:9px}.contract-order-card label,.delivery-order-card label{display:grid;grid-template-columns:minmax(100px,1fr) minmax(120px,1.3fr);align-items:center;gap:8px;color:#8fa6b1}.contract-order-card input,.contract-order-card select,.delivery-order-card input,.delivery-order-card select{width:100%;min-height:36px;border:1px solid #2a4652;background:#09131a;color:#e5f1f4;border-radius:4px;padding:7px;box-sizing:border-box}.contract-percentages{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.contract-estimate{margin:4px 0;display:grid;gap:4px}.contract-estimate div{display:flex;justify-content:space-between}.contract-estimate dt{color:#8199a4}.contract-estimate dd{margin:0}.contract-order-card form>button[type=submit]{min-height:40px;border:0;border-radius:4px;color:white;font-weight:700}.contract-order-card form>button.buy{background:#0c9b72}.contract-order-card form>button.sell{background:#c34b5b}.contract-records{background:#08131a;border-top:1px solid #1d3440;min-height:260px}.contract-record-tabs{display:flex;gap:6px;padding:10px 14px;overflow:auto;border-bottom:1px solid #1c323e}.contract-record-tabs #contract-batch-close,.contract-record-tabs #contract-cancel-all{margin-inline-start:auto}.contract-record-tabs #contract-cancel-all{margin-inline-start:0}.contract-records>#contract-record-body{padding:12px}.contract-table-scroll{max-width:100%;overflow:auto}.contract-table-scroll table{width:100%;border-collapse:collapse;white-space:nowrap}.contract-table-scroll th{background:#10232d;color:#83a2ae;text-align:start;padding:9px}.contract-table-scroll td{border-bottom:1px solid #162b35;padding:9px;color:#c4d4db}.contract-table-scroll tr:nth-child(even){background:#0b1820}.contract-table-scroll button,.delivery-order-row button,.contract-detail-dialog button,.delivery-detail-dialog button{border:1px solid #28505b;background:#0e2932;color:#71e5ec;border-radius:3px;padding:5px 8px;margin:2px}.contract-empty{padding:28px;text-align:center;color:#6e8995}.contract-detail-dialog,.delivery-detail-dialog{width:min(760px,90vw);max-height:80vh;overflow:auto;background:#0d1c24;color:#d8e6eb;border:1px solid #2e5561;border-radius:8px}.contract-detail-dialog::backdrop,.delivery-detail-dialog::backdrop{background:#000a}.contract-detail-dialog dl,.delivery-detail-dialog dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.contract-detail-dialog dl div,.delivery-detail-dialog dl div{padding:8px;background:#10232c}.contract-detail-dialog dt,.delivery-detail-dialog dt{color:#7f9ba7}.contract-detail-dialog dd,.delivery-detail-dialog dd{margin:3px 0 0;word-break:break-all}.contract-state{padding:30px;text-align:center}.contract-error{color:#ef8992}.desktop-delivery-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.75fr);grid-template-areas:'market form' 'records records';gap:1px;background:#1d3440}.desktop-delivery-grid>.delivery-market{grid-area:market}.desktop-delivery-grid>.delivery-order-card{grid-area:form}.desktop-delivery-grid>.delivery-records{grid-area:records}.delivery-market,.delivery-order-card,.delivery-records{background:#0a151d;padding:16px;box-sizing:border-box}.delivery-market header{display:flex;align-items:center;gap:18px}.delivery-market header span{margin-inline-start:auto;color:#77abb5}.delivery-market select{background:#10232c;color:#d8e7eb;border:1px solid #284653;padding:8px}.delivery-market strong{color:#58dde5;font-size:22px}.delivery-chart{height:340px;margin-top:12px;background:linear-gradient(180deg,#0e222c,#09141b)}.delivery-order-card fieldset{border:1px solid #25424e}.delivery-periods{display:flex;gap:6px;overflow:auto}.delivery-periods button{white-space:nowrap;border:1px solid #2a4a56;background:#10232c;color:#b4c8cf;padding:7px}.delivery-periods button.active{border-color:#42d7df;color:#62e6ec}.delivery-periods button:disabled{opacity:.35}.delivery-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.delivery-actions button{min-height:42px;border-radius:4px}.delivery-records nav{display:flex;gap:8px}.delivery-records>[data-delivery-orders]{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:10px;margin-top:12px}.delivery-order-row{border:1px solid #1f3b46;background:#0c1a22;border-radius:6px;padding:12px}.delivery-order-row header{display:flex;justify-content:space-between}.delivery-order-row header strong{color:#59d9df}.delivery-order-row dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.delivery-order-row dl div{min-width:0}.delivery-order-row dt{font-size:12px;color:#78939f}.delivery-order-row dd{margin:2px 0}.contract-account-page>section{max-width:1100px;margin:38px auto;padding:24px;background:#0d1b23;border:1px solid #203e49}.contract-account-page>section>a{display:inline-block;margin-top:20px;color:#65dce3}.account-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.account-summary-grid article{display:flex;flex-direction:column;gap:8px;padding:20px;background:#10232c;border:1px solid #234550}.account-summary-grid span{color:#83a0ab}.account-summary-grid bdi{font-size:20px;color:#e0f0f3}.contract-portal bdi,.contract-account-page bdi{direction:ltr;unicode-bidi:isolate}
@media(max-width:1500px){.contract-workspace{grid-template-columns:minmax(480px,1.6fr) minmax(220px,.7fr) minmax(280px,.9fr)}.contract-trades-card{display:none}.delivery-records>[data-delivery-orders]{grid-template-columns:repeat(2,minmax(260px,1fr))}}
@media(max-width:1380px){.contract-header{gap:12px;padding:0 16px}.contract-brand img{width:104px}.contract-header nav a{padding:0 9px;font-size:12px}.contract-session{font-size:12px}.contract-connection{font-size:11px}}
@media(max-width:1100px){.contract-workspace{grid-template-columns:1.5fr 1fr}.contract-order-card{grid-column:2}.contract-chart-card{grid-column:1}.contract-trades-card{display:block}.contract-market-summary{grid-template-columns:repeat(3,1fr)}.desktop-delivery-grid{grid-template-columns:1fr}.account-summary-grid{grid-template-columns:repeat(2,1fr)}}

/* CURRENT LIVE Stage 4 desktop withdrawal.  The live route currently renders
   an authenticated empty state, so the visual-only fixture has its own tiny
   DOM; the healthy withdrawal form and records table are never hidden here. */
.stage4-desktop-withdrawal-fixture .funds-panel{height:calc(70vh - 1px);margin-right:0}
.stage4-desktop-withdrawal-fixture .funds-panel-heading{display:none}
.stage4-desktop-withdrawal-fixture .funds-form-wrap{left:0;right:0;top:0;bottom:0;overflow:hidden}
.stage4-desktop-withdrawal-fixture .asset-nav a{height:62px;justify-content:center;padding-left:0}
.stage4-desktop-withdrawal-fixture .primary-nav{transform:translateY(-1px)}
.stage4-desktop-withdrawal-fixture .account-menu>button{background:transparent}
.desktop-withdrawal-live{position:relative;width:100%;height:100%;font-family:Avenir,Helvetica,Arial,sans-serif}
.desktop-withdrawal-summary{position:absolute;left:20px;top:24px;height:16px;display:flex;align-items:center;color:#fff;font:16px/16px Avenir,Helvetica,Arial,sans-serif}
.desktop-withdrawal-summary-marker{display:block;width:3px;height:14px;margin-right:12px;background:#16dbe7}
.desktop-withdrawal-summary span{display:block;white-space:pre}
.desktop-withdrawal-summary b{display:block;margin-left:5px;color:#16dbe7;font:400 16px/16px Avenir,Helvetica,Arial,sans-serif}
.desktop-withdrawal-records{position:absolute;right:20px;top:24px;color:#fff;text-decoration:none;font:16px/16px Avenir,Helvetica,Arial,sans-serif}
@media (max-width:1500px){
  .stage4-desktop-withdrawal-fixture .brand{display:none}
  .stage4-desktop-withdrawal-fixture .primary-nav{left:90px;gap:24px}
  .stage4-desktop-withdrawal-fixture .primary-nav> :nth-child(2){transform:translateX(-12px)}
  .stage4-desktop-withdrawal-fixture .primary-nav> :nth-child(3),.stage4-desktop-withdrawal-fixture .primary-nav> :nth-child(4){transform:translateX(-22px)}
  .stage4-desktop-withdrawal-fixture .primary-nav> :nth-child(5),.stage4-desktop-withdrawal-fixture .primary-nav> :nth-child(6){transform:translateX(-20px)}
  .stage4-desktop-withdrawal-fixture .primary-nav> :nth-child(7){transform:translateX(-21px)}
  .stage4-desktop-withdrawal-fixture .primary-nav> :nth-child(8){transform:translateX(-18px)}
  .stage4-desktop-withdrawal-fixture .primary-nav> :nth-child(9){transform:translateX(-25px)}
  .stage4-desktop-withdrawal-fixture .primary-nav> :nth-child(10){transform:translateX(-11px)}
}

/* CURRENT LIVE Stage 4 Quick Deposit.  The source component is a 804px
   recharge rail, with nested 90%/30px layout layers; keep the healthy detail
   form separate so the fixture never hides actionable controls with CSS. */
.stage4-desktop-deposit-fixture .funds-panel{height:calc(100vh - 110px);margin-right:0}
.stage4-desktop-deposit-fixture .funds-panel-heading{display:none}
.stage4-desktop-deposit-fixture .funds-form-wrap{left:0;right:0;top:0;bottom:0;overflow:hidden}
.stage4-desktop-deposit-fixture .asset-nav a{height:62px;justify-content:center;padding-left:0}
.stage4-desktop-deposit-fixture .primary-nav{transform:translateY(-1px)}
.stage4-desktop-deposit-fixture .account-menu>button{background:transparent}
.desktop-deposit-live{width:804px;margin:0 auto;padding-top:40px;color:#fff;font-family:Avenir,Helvetica,Arial,sans-serif}
.desktop-deposit-content{box-sizing:content-box;width:90%;margin:0 auto;padding:0 30px}
.desktop-deposit-content-inner{padding:0 30px}
.desktop-deposit-instruction{width:100%;min-height:44px;margin:0;padding:30px 0 0;color:#fff;font:16px/22px Avenir,Helvetica,Arial,sans-serif}
.desktop-deposit-channels{margin-top:30px}
.stage4-desktop-deposit-fixture .desktop-deposit-channel{display:flex;width:100%;height:100px;min-height:0!important;align-items:center;justify-content:space-between;padding:25px 0;border:0;border-radius:0!important;background:transparent!important;color:#fff!important;cursor:pointer;font:16px Avenir,Helvetica,Arial,sans-serif;text-align:left}
.desktop-deposit-channel-left{display:flex;align-items:center;min-width:0}
.desktop-deposit-channel-icon{display:block;width:50px;height:50px;flex:0 0 50px;object-fit:contain;margin-right:20px}
.desktop-deposit-channel-chevron{display:block;width:30px;height:30px;object-fit:contain}
.desktop-deposit-entry{width:804px;margin:0 auto;padding:40px 0;color:#fff;font-family:Avenir,Helvetica,Arial,sans-serif}.desktop-deposit-entry-instruction{font-size:16px}.desktop-deposit-entry-channels{margin-top:30px}
@media (max-width:1500px){
  .stage4-desktop-deposit-fixture .brand{display:none}
  .stage4-desktop-deposit-fixture .primary-nav{left:90px;gap:24px}
  .stage4-desktop-deposit-fixture .primary-nav> :nth-child(2){transform:translateX(-12px)}
  .stage4-desktop-deposit-fixture .primary-nav> :nth-child(3),.stage4-desktop-deposit-fixture .primary-nav> :nth-child(4){transform:translateX(-22px)}
  .stage4-desktop-deposit-fixture .primary-nav> :nth-child(5),.stage4-desktop-deposit-fixture .primary-nav> :nth-child(6){transform:translateX(-20px)}
  .stage4-desktop-deposit-fixture .primary-nav> :nth-child(7){transform:translateX(-21px)}
  .stage4-desktop-deposit-fixture .primary-nav> :nth-child(8){transform:translateX(-18px)}
  .stage4-desktop-deposit-fixture .primary-nav> :nth-child(9){transform:translateX(-25px)}
  .stage4-desktop-deposit-fixture .primary-nav> :nth-child(10){transform:translateX(-11px)}
}

/* Public desktop home.  It deliberately does not reuse the authenticated asset shell. */
.desktop-home{min-width:1200px;min-height:100vh;background:#000;color:#f5f7fb;font-family:Avenir,Helvetica,Arial,sans-serif;overflow-x:hidden}.desktop-home a{color:inherit;text-decoration:none}.home-header{height:60px;display:flex;align-items:center;padding:0 30px;background:#060608;position:relative;z-index:4;white-space:nowrap}.home-brand{width:124px;height:50px;display:flex;align-items:center}.home-brand img{width:124px;height:50px;object-fit:fill}.home-nav{display:flex;gap:25px;margin-left:60px;font-size:14px;color:#ddd;align-items:center}.home-nav a:hover,.home-session a:hover{color:#6eecfb}.home-session{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:13px}.home-register,.home-support>a{padding:7px 14px;border-radius:3px;background:#171c27;color:#fff!important}.home-session select{width:100px;height:26px;border:1px solid #7d7d7d;border-radius:4px;background:#3a3a3a;color:#aaa;padding:0 7px}.home-hero{height:818px;position:relative;isolation:isolate;overflow:hidden;background:#000}.home-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-2}.home-hero-copy{position:absolute;left:50%;top:337px;transform:translateX(-50%);width:900px;text-align:center}.home-hero-copy>p{margin:0;color:#f6f7fb;font-size:14px;line-height:1.7;text-shadow:0 1px 4px #000}.home-float{position:absolute;left:var(--x);top:var(--y);width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(223,243,255,.72));animation:home-float var(--duration) ease-in-out infinite alternate;z-index:1}.home-float-bitcoin{width:128px;height:128px}.home-float-xrp{width:116px;height:116px}.home-float:after{content:none}@keyframes home-float{from{transform:translateY(calc(var(--amplitude) * -.5))}to{transform:translateY(var(--amplitude))}}.home-stats{display:grid;grid-template-columns:repeat(3,1fr);width:440px;margin:40px auto 0;padding:0;border:0}.home-stats article{text-align:center;border-right:1px solid rgba(255,255,255,.55)}.home-stats article:last-child{border:0}.home-stats b{display:block;color:#fff;font-size:22px;line-height:1.2}.home-stats span{display:block;color:#fff;margin-top:7px;font-size:12px;white-space:nowrap}.home-section{max-width:1200px;margin:52px auto}.home-section h2,.home-explain h2,.home-support h2{font-size:26px;margin:0 0 22px}.home-marquee{overflow:hidden;border:1px solid #242a33;background:#0d1118;padding:14px 0}.home-marquee>div{display:flex;width:max-content;gap:14px;animation:home-marquee 20s linear infinite}.home-marquee:hover>div{animation-play-state:paused}.home-market-card{width:216px;padding:14px 18px;border-right:1px solid #2a3039;display:grid;gap:7px}.home-market-card b{color:#e7edf6}.home-market-card span{color:#6eecfb;font-size:19px}.home-market-card small{color:#7d8796}.home-news-marquee a{min-width:260px;padding:4px 18px;color:#c4ccd8}.home-news-marquee time{margin-right:10px;color:#697586;font-size:12px}@keyframes home-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.home-entries,.home-explain{max-width:1200px;margin:52px auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.home-entries a,.home-explain article{min-height:130px;padding:24px;background:#10151e;border:1px solid #252d38;border-radius:7px}.home-entries i{display:block;color:#6eecfb;font-size:28px;font-style:normal;margin-bottom:16px}.home-explain{grid-template-columns:repeat(3,1fr)}.home-explain p,.home-support p{color:#9da8b7;line-height:1.7}.home-support{max-width:1200px;margin:52px auto 0;padding:38px;background:#10151e;border-radius:8px}.desktop-home footer{padding:36px 48px;text-align:center;color:#788391;font-size:12px}@media (min-width:1800px){.home-nav{gap:30px;margin-left:65px}}
/* Stage 5B: real spot portal.  It remains intentionally separate from frozen
   Stage 2-4 asset fixtures and uses the same dark trading vocabulary. */
.desktop-spot-trade{min-height:100vh;background:#090b12;color:#d9e0ea;font:14px/1.45 Avenir,Helvetica,Arial,sans-serif}.spot-header{height:58px;padding:0 5%;display:flex;align-items:center;gap:34px;background:#060609;border-bottom:1px solid #1c2531}.spot-brand{color:#e93323;font-size:27px;font-weight:800;text-decoration:none}.spot-header nav{display:flex;gap:24px}.spot-header a{color:#8e98a6;text-decoration:none}.spot-header a.active{color:var(--brand-accent,#00F0FF)}.spot-header #spot-session{margin-left:auto}.spot-marketbar{display:flex;align-items:center;gap:22px;min-height:56px;padding:0 5%;border-bottom:1px solid #1c2531;background:#0e0f17}.spot-marketbar select,.spot-marketbar button{border:1px solid #394150;border-radius:4px;background:#222936;color:#e9f2fa;padding:7px 10px}.spot-marketbar #spot-last{color:var(--brand-accent,#00F0FF);font-size:19px}.spot-marketbar #spot-status{color:#7d8794}.spot-grid{display:grid;grid-template-columns:minmax(420px,2fr) minmax(220px,1fr) minmax(220px,1fr);gap:1px;background:#1c2531}.spot-grid>article{min-height:290px;padding:18px;background:#0e0f17}.spot-chart{grid-row:span 2}.spot-chart header{display:flex;justify-content:space-between}.spot-chart button,.spot-tabs button,.spot-sides button,.spot-order-tabs button,.spot-percentages button{padding:5px 10px;border:0;background:transparent;color:#8e98a6;cursor:pointer}.spot-tabs .active,.spot-sides .active,.spot-order-tabs .active{color:var(--brand-accent,#00F0FF);border-bottom:2px solid var(--brand-accent,#00F0FF)}.spot-book h2,.spot-trades h2{font-size:14px;margin:0 0 14px}.spot-book-head,.spot-book button{display:flex;width:100%;justify-content:space-between;padding:4px 0;border:0;background:transparent;color:#cbd5df;text-align:left}.spot-book .ask span:first-child{color:#ee6673}.spot-book .bid span:first-child{color:#62d8aa}.spot-book strong{display:block;margin:9px 0;color:var(--brand-accent,#00F0FF)}.spot-trades p{display:flex;justify-content:space-between;margin:5px 0;color:#9aa7b5}.spot-forms{grid-column:2 / span 2}.spot-forms form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.spot-forms label{display:grid;gap:5px;color:#8e98a6}.spot-forms input{min-width:0;padding:10px;border:1px solid #394150;border-radius:4px;background:#242a33;color:#fff}.spot-forms output,.spot-forms p{margin:0;color:#94a3b5}.spot-percentages{display:flex;justify-content:space-between}.spot-percentages button{color:var(--brand-accent,#00F0FF)}.spot-forms #spot-submit{grid-column:1 / -1;padding:11px;border:0;border-radius:4px;background:var(--brand-accent,#00F0FF);color:#040609;font-weight:700}.spot-orders{margin:1px 5% 0;padding:18px;background:#0e0f17}.spot-orders table{width:100%;border-collapse:collapse}.spot-orders th,.spot-orders td{padding:9px;border-bottom:1px solid #27303c;text-align:left}.spot-orders button{border:0;background:transparent;color:var(--brand-accent,#00F0FF)}.spot-empty{color:#7d8794}@media(max-width:900px){.spot-grid{grid-template-columns:1fr 1fr}.spot-chart{grid-column:1 / -1;grid-row:auto}.spot-forms{grid-column:1 / -1}.spot-header{padding:0 16px}.spot-marketbar{padding:0 16px}.spot-orders{margin-left:16px;margin-right:16px}}

/* Healthy desktop spot terminal.  The frozen Stage 5 visual fixture remains
   isolated below under .stage5-desktop-visual. */
body:has(.healthy-spot-trade){overflow:hidden;background:#020407}
.healthy-spot-trade{position:relative;width:100%;height:100vh;min-height:0;display:grid;grid-template-rows:60px minmax(0,1fr) 125px;overflow:hidden;background:#020407;color:#d9e1ec;font:12px/1.4 Avenir,Helvetica,Arial,sans-serif}
.healthy-spot-trade button,.healthy-spot-trade input,.healthy-spot-trade select{font:inherit}.healthy-spot-trade button:not(:disabled),.healthy-spot-trade select{cursor:pointer}.healthy-spot-trade button:disabled{cursor:not-allowed;opacity:.38}
.healthy-spot-trade .spot-header{min-width:0;height:60px;padding:0 20px;gap:18px;border-bottom:1px solid #202936;background:#06080c}.healthy-spot-trade .spot-brand{flex:0 0 132px;height:54px;display:flex;align-items:center}.healthy-spot-trade .spot-brand img{display:block;width:124px;height:50px;object-fit:contain}.healthy-spot-trade .spot-header nav{min-width:0;display:flex;align-items:center;gap:18px;white-space:nowrap;font-size:12px}.healthy-spot-trade .spot-header nav a{position:relative;height:60px;display:flex;align-items:center;color:#c4ccd8}.healthy-spot-trade .spot-header nav a:hover,.healthy-spot-trade .spot-header nav a.active{color:var(--brand-accent,#00F0FF)}.healthy-spot-trade .spot-header nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brand-accent,#00F0FF)}
.healthy-spot-trade .spot-account{min-width:260px;margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:9px;white-space:nowrap}.healthy-spot-trade #spot-session{max-width:100px;overflow:hidden;text-overflow:ellipsis;color:#aab5c4}.healthy-spot-trade #spot-login,.healthy-spot-trade #spot-locale{height:30px;padding:0 10px;border:1px solid #354152;border-radius:4px;background:#151b24;color:#dce5ef}.healthy-spot-trade #spot-locale{width:108px}
.healthy-spot-trade .spot-marketbar{min-width:0;min-height:45px;height:45px;padding:0 10px;gap:13px;border-bottom:1px solid #202936;background:#020407}.healthy-spot-trade #spot-symbol{width:110px;height:30px;padding:0 4px;border:0;border-radius:0;background:transparent;color:#fff;font-weight:700}.healthy-spot-trade #spot-last{min-width:92px;color:var(--brand-accent,#00F0FF);font-size:16px;font-weight:500}.healthy-spot-trade .spot-market-stats{min-width:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(58px,1fr));gap:12px}.healthy-spot-trade .spot-market-stats div{display:grid;gap:0}.healthy-spot-trade .spot-market-stats dt{color:#687589}.healthy-spot-trade .spot-market-stats dd{margin:0;color:#dce4ed;white-space:nowrap}.healthy-spot-trade .spot-market-stats div:first-child dd{color:var(--brand-accent,#00F0FF)}.healthy-spot-trade .spot-connection{margin-left:auto;display:grid;grid-template-columns:auto;align-items:center;column-gap:0}.healthy-spot-trade #spot-status{display:none}.healthy-spot-trade #spot-market-source{color:#69778a;text-align:right;white-space:nowrap;font-size:10px}.healthy-spot-trade #spot-refresh{display:none}
.healthy-spot-trade #spot-runtime-alert{position:absolute;z-index:9;left:0;right:0;top:60px;margin:0;padding:7px 20px;border-bottom:1px solid #5f3139;background:#35181e;color:#ff9aa3}.healthy-spot-trade #spot-runtime-alert[hidden]{display:none}.healthy-spot-trade #spot-runtime-alert button{margin-left:10px;padding:2px 8px;border:1px solid #ff9aa3;border-radius:3px;background:transparent;color:#fff}
.healthy-spot-trade .spot-grid{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(420px,1fr) 155px 150px 295px;gap:1px;overflow:hidden;background:#202936}.healthy-spot-trade .spot-grid>article{min-width:0;min-height:0;height:auto;padding:0;overflow:hidden;background:#090d13}.healthy-spot-trade .spot-chart{grid-row:auto;display:grid;grid-template-rows:45px 40px minmax(0,1fr)}.healthy-spot-trade .spot-chart>header,.healthy-spot-trade .spot-book>header,.healthy-spot-trade .spot-trades>header{height:40px;display:flex;align-items:center;padding:0 10px;border-bottom:1px solid #202936}.healthy-spot-trade .spot-chart h2,.healthy-spot-trade .spot-book h2,.healthy-spot-trade .spot-trades h2{margin:0;color:#e0e7f0;font-size:13px;font-weight:600}.healthy-spot-trade #spot-intervals{margin-left:auto;display:flex;gap:3px}.healthy-spot-trade #spot-intervals button{min-width:30px;height:25px;padding:0 5px;border:0;border-radius:0;background:transparent;color:#77859a}.healthy-spot-trade #spot-intervals button.active{background:var(--brand-accent,#00F0FF);color:#071015}.healthy-spot-trade #spot-kline{min-height:0;height:100%;padding:0 5px 5px;background:#090d13}.healthy-spot-trade #spot-kline .kline-head{height:30px;display:flex;justify-content:space-between;color:#768397}.healthy-spot-trade #spot-kline .kline-head h3{margin:0;color:#cdd6e2;font-size:12px}.healthy-spot-trade #spot-kline .kline-svg{display:block;width:100%;height:calc(100% - 30px);min-height:230px;border:1px solid #1d2734;background:linear-gradient(#1d2734 1px,transparent 1px) 0 25%/100% 25%}.healthy-spot-trade #spot-kline .k-grid{stroke:#263141}.healthy-spot-trade #spot-kline text{fill:#7f8b99;font-size:10px}.healthy-spot-trade .spot-loading{padding:18px;color:#788496}
.healthy-spot-trade .spot-book{display:grid;grid-template-rows:42px 34px minmax(0,1fr) 44px minmax(0,1fr)}.healthy-spot-trade .spot-book-head{height:34px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 10px;color:#6f7d90}.healthy-spot-trade .spot-book-head span:last-child{text-align:right}.healthy-spot-trade #spot-asks,.healthy-spot-trade #spot-bids{min-height:0;overflow:hidden}.healthy-spot-trade #spot-asks button,.healthy-spot-trade #spot-bids button{position:relative;width:100%;height:22px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 10px;border:0;background:linear-gradient(to left,rgba(255,74,91,.11),rgba(255,74,91,.11)) right/var(--depth) 100% no-repeat;color:#d5deea;text-align:left}.healthy-spot-trade #spot-bids button{background-image:linear-gradient(to left,rgba(53,218,177,.11),rgba(53,218,177,.11))}.healthy-spot-trade #spot-asks button span:last-child,.healthy-spot-trade #spot-bids button span:last-child{text-align:right}.healthy-spot-trade #spot-asks button span:first-child{color:#ff6b79}.healthy-spot-trade #spot-bids button span:first-child{color:#53dbb0}.healthy-spot-trade #spot-mid{height:44px;display:flex;align-items:center;padding:0 10px;margin:0;border-top:1px solid #202936;border-bottom:1px solid #202936;color:var(--brand-accent,#00F0FF);font-size:18px}.healthy-spot-trade .spot-book .spot-empty{padding:12px}
.healthy-spot-trade .spot-trades{display:grid;grid-template-rows:42px 34px minmax(0,1fr)}.healthy-spot-trade .spot-trade-head,.healthy-spot-trade .spot-trades p{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:5px;align-items:center}.healthy-spot-trade .spot-trade-head{height:34px;padding:0 9px;color:#6f7d90}.healthy-spot-trade .spot-trade-head span:not(:first-child),.healthy-spot-trade .spot-trades p>*:not(:first-child){text-align:right}.healthy-spot-trade #spot-trade-list{min-height:0;overflow:auto}.healthy-spot-trade .spot-trades p{min-height:24px;margin:0;padding:0 9px;color:#9ba8b8;white-space:nowrap}.healthy-spot-trade .spot-trades time{overflow:hidden;text-overflow:ellipsis}.healthy-spot-trade .spot-trades p.up span:nth-child(2){color:#53dbb0}.healthy-spot-trade .spot-trades p.down span:nth-child(2){color:#ff6b79}.healthy-spot-trade .spot-trades .spot-empty{display:block;padding:12px}
.healthy-spot-trade .spot-forms{grid-column:auto;display:grid;grid-template-rows:42px 44px minmax(0,1fr)}.healthy-spot-trade .spot-tabs{height:42px;display:flex;border-bottom:1px solid #202936}.healthy-spot-trade .spot-tabs button{height:42px;padding:0 14px;border:0;background:transparent;color:#7f8b9c}.healthy-spot-trade .spot-tabs button.active{color:var(--brand-accent,#00F0FF);border-bottom:2px solid var(--brand-accent,#00F0FF)}.healthy-spot-trade .spot-sides{height:44px;display:grid;grid-template-columns:1fr 1fr;padding:8px 10px 0;gap:1px}.healthy-spot-trade .spot-sides button{height:36px;border:0;background:#152028;color:#82909f}.healthy-spot-trade .spot-sides [data-side=BUY].active{background:#20cfa4;color:#04110d}.healthy-spot-trade .spot-sides [data-side=SELL].active{background:#f45261;color:#180407}.healthy-spot-trade #spot-form{min-height:0;display:flex;flex-direction:column;gap:9px;margin:0;padding:12px 10px;overflow:auto}.healthy-spot-trade #spot-available,.healthy-spot-trade #spot-fee,.healthy-spot-trade #spot-form-status{min-height:18px;margin:0;color:#8491a2}.healthy-spot-trade #spot-form-status{color:#ff8a95}.healthy-spot-trade #spot-form label{height:38px;display:grid;grid-template-columns:62px minmax(0,1fr) 48px;align-items:center;gap:5px;padding:0 8px;border:1px solid #2e3a49;border-radius:3px;background:#0c1118;color:#8491a2}.healthy-spot-trade #spot-form input{width:100%;min-width:0;height:34px;padding:0;border:0;background:transparent;color:#fff;text-align:right;outline:0}.healthy-spot-trade #spot-form input:disabled{color:var(--brand-accent,#00F0FF);cursor:not-allowed;opacity:1}.healthy-spot-trade #spot-form input:disabled::placeholder{color:var(--brand-accent,#00F0FF)}.healthy-spot-trade #spot-form label:focus-within{border-color:var(--brand-accent,#00F0FF)}.healthy-spot-trade #spot-form label b{text-align:right;color:#a7b2c0;font-weight:400}.healthy-spot-trade .spot-percentages{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.healthy-spot-trade .spot-percentages button{height:26px;padding:0;border:1px solid #2d3948;border-radius:3px;background:#121923;color:var(--brand-accent,#00F0FF)}.healthy-spot-trade #spot-notional{min-height:20px;color:#aab5c4}.healthy-spot-trade #spot-submit{width:100%;min-height:38px;margin-top:auto;border:0;border-radius:3px;background:#20cfa4;color:#03110d;font-weight:700}.healthy-spot-trade #spot-submit.sell{background:#f45261;color:#180407}.healthy-spot-trade #spot-submit:disabled{opacity:.55}
.healthy-spot-trade .spot-orders{min-width:0;height:210px;margin:0;padding:0;overflow:hidden;border-top:1px solid #202936;background:#080c12}.healthy-spot-trade .spot-order-tabs{height:44px;display:flex;align-items:center;padding:0 16px;gap:28px;border-bottom:1px solid #202936}.healthy-spot-trade .spot-order-tabs button{height:44px;padding:0;border:0;background:transparent;color:#8794a5}.healthy-spot-trade .spot-order-tabs button.active{color:var(--brand-accent,#00F0FF);border-bottom:2px solid var(--brand-accent,#00F0FF)}.healthy-spot-trade #spot-orders-list{height:166px;overflow:auto}.healthy-spot-trade #spot-orders-list table{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed}.healthy-spot-trade #spot-orders-list th,.healthy-spot-trade #spot-orders-list td{height:38px;padding:0 14px;border-bottom:1px solid #1b2430;color:#9eabba;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.healthy-spot-trade #spot-orders-list th{position:sticky;z-index:1;top:0;background:#0b1017;color:#687589;font-weight:500}.healthy-spot-trade #spot-orders-list td[colspan]{text-align:center}.healthy-spot-trade #spot-orders-list button{padding:3px 8px;border:1px solid #3a485a;border-radius:3px;background:transparent;color:var(--brand-accent,#00F0FF)}
@media(max-width:1600px){.healthy-spot-trade .spot-header{padding-left:16px;padding-right:16px;gap:12px}.healthy-spot-trade .spot-header nav{gap:12px;font-size:11px}.healthy-spot-trade .spot-account{min-width:238px}.healthy-spot-trade #spot-session{display:none}.healthy-spot-trade .spot-marketbar{padding-left:8px;padding-right:8px;gap:9px}.healthy-spot-trade .spot-market-stats{gap:8px}.healthy-spot-trade .spot-grid{grid-template-columns:minmax(390px,1fr) 155px 150px 295px}}

/* Normal runtime terminal polish.  These rules deliberately live outside the
   frozen .stage5-desktop-visual selector: this is the live BitDa terminal
   backed by the project order/ledger API and the configured public market
   feed, not a screenshot layout. */
.healthy-spot-trade{grid-template-rows:56px minmax(0,1fr) clamp(158px,18vh,208px);background:#070a10}
.healthy-spot-trade .spot-header{height:56px;padding:0 18px;gap:22px;background:linear-gradient(90deg,#07090d,#090c12 55%,#07090d);border-bottom-color:#1b2430}
.healthy-spot-trade .spot-brand{flex-basis:138px;height:52px}.healthy-spot-trade .spot-brand img{width:128px;height:52px}
.healthy-spot-trade .spot-header nav{gap:21px;font-size:12px}.healthy-spot-trade .spot-header nav a{height:56px;color:#aeb8c6}.healthy-spot-trade .spot-header nav a:hover{color:#76edff}
.healthy-spot-trade .spot-account{min-width:246px}.healthy-spot-trade #spot-login,.healthy-spot-trade #spot-locale{height:28px;border-color:#2d3948;background:#101720;color:#b9c5d3}.healthy-spot-trade #spot-login:hover{border-color:var(--brand-accent,#00F0FF);color:var(--brand-accent,#00F0FF)}
.healthy-spot-trade .spot-marketbar{height:48px;min-height:48px;padding:0 14px;gap:17px;background:#080b11;border-bottom-color:#1d2734}.healthy-spot-trade #spot-symbol{width:122px;font-size:13px}.healthy-spot-trade #spot-last{min-width:105px;font-size:18px;font-weight:650;letter-spacing:.01em}.healthy-spot-trade .spot-market-stats{gap:19px}.healthy-spot-trade .spot-market-stats dt{font-size:10px;color:#69778a}.healthy-spot-trade .spot-market-stats dd{font-size:11px}.healthy-spot-trade .spot-connection{padding:3px 7px;border:1px solid #1e2b38;border-radius:3px;background:#0b1119}.healthy-spot-trade #spot-market-source{color:#7890a6;font-size:9px}
.healthy-spot-trade .spot-grid{grid-template-columns:minmax(520px,1fr) minmax(150px,.23fr) minmax(150px,.23fr) minmax(282px,.42fr);background:#17202b}.healthy-spot-trade .spot-grid>article{background:#090d13}.healthy-spot-trade .spot-chart{grid-template-rows:48px 40px minmax(0,1fr);background:#0a0e15}.healthy-spot-trade .spot-chart>header,.healthy-spot-trade .spot-book>header,.healthy-spot-trade .spot-trades>header{height:40px;padding:0 12px;background:#0a0e15;border-bottom-color:#1d2734}.healthy-spot-trade .spot-chart h2,.healthy-spot-trade .spot-book h2,.healthy-spot-trade .spot-trades h2{font-size:12px;letter-spacing:.015em}.healthy-spot-trade #spot-intervals{gap:0}.healthy-spot-trade #spot-intervals button{min-width:33px;height:28px;padding:0 6px;color:#8290a1}.healthy-spot-trade #spot-intervals button:hover{color:#dbe8f2;background:#151e29}.healthy-spot-trade #spot-intervals button.active{background:#123540;color:#72edff}
.healthy-spot-trade #spot-kline{padding:0 0 6px;background:#0a0e15}.healthy-spot-trade #spot-kline .kline-head{height:30px;align-items:center;padding:0 12px;border-bottom:1px solid #161f2b;background:#080c12}.healthy-spot-trade #spot-kline .kline-head h3{font-size:11px;color:#d5dfeb}.healthy-spot-trade #spot-kline .kline-hover{margin-left:auto;max-width:48%;overflow:hidden;color:#738298;text-overflow:ellipsis;white-space:nowrap}.healthy-spot-trade #spot-kline .kline-legend{display:flex;gap:5px;align-items:center;margin-left:12px;color:#8c98a7;font-size:10px}.healthy-spot-trade #spot-kline .kline-legend i,.healthy-spot-trade #spot-kline .kline-legend b{display:inline-block;width:12px;height:2px;background:#ecbb48}.healthy-spot-trade #spot-kline .kline-legend b{background:#a870e7}.healthy-spot-trade #spot-kline .kline-svg{height:calc(100% - 30px);min-height:280px;border:0;background:#0a0e15}.healthy-spot-trade #spot-kline .k-grid{stroke:#202a37;stroke-width:1;vector-effect:non-scaling-stroke}.healthy-spot-trade #spot-kline .k-grid-v{stroke:#18212d}.healthy-spot-trade #spot-kline .k-axis,.healthy-spot-trade #spot-kline .k-time-axis{fill:#667489;font-size:10px}.healthy-spot-trade #spot-kline .k-ma{fill:none;stroke-width:1.4;vector-effect:non-scaling-stroke}.healthy-spot-trade #spot-kline .k-ma-five{stroke:#ecbb48}.healthy-spot-trade #spot-kline .k-ma-ten{stroke:#a870e7}.healthy-spot-trade #spot-kline .k-volume text{fill:#6c798c;font-size:9px}.healthy-spot-trade #spot-kline .k-candle line{stroke-width:1.2;vector-effect:non-scaling-stroke}
.healthy-spot-trade .spot-book{grid-template-rows:40px 34px minmax(0,1fr) 46px minmax(0,1fr)}.healthy-spot-trade .spot-book-head{padding:0 11px;font-size:10px}.healthy-spot-trade #spot-asks,.healthy-spot-trade #spot-bids{display:flex;flex-direction:column;overflow:hidden}.healthy-spot-trade #spot-asks{justify-content:flex-end}.healthy-spot-trade #spot-bids{justify-content:flex-start}.healthy-spot-trade #spot-asks button,.healthy-spot-trade #spot-bids button{height:26px;min-height:26px;padding:0 11px;font-size:11px;background-size:var(--depth) 100%}.healthy-spot-trade #spot-mid{height:46px;padding:0 11px;color:#e46a77;font-size:16px;font-weight:650;background:#0b1018}.healthy-spot-trade #spot-bids button span:first-child{color:#2bcda3}.healthy-spot-trade #spot-asks button span:first-child{color:#f26471}
.healthy-spot-trade .spot-trades{grid-template-rows:40px 34px minmax(0,1fr)}.healthy-spot-trade .spot-trade-head{padding:0 11px;font-size:10px}.healthy-spot-trade #spot-trade-list{scrollbar-color:#344252 transparent}.healthy-spot-trade .spot-trades p{min-height:26px;padding:0 11px;font-size:11px}.healthy-spot-trade .spot-trades p.up span:nth-child(2){color:#32cda8}.healthy-spot-trade .spot-trades p.down span:nth-child(2){color:#f26471}
.healthy-spot-trade .spot-forms{grid-template-rows:40px 48px minmax(0,1fr);background:#0b1018}.healthy-spot-trade .spot-tabs{height:40px;padding-left:10px;background:#090d13}.healthy-spot-trade .spot-tabs button{height:40px;padding:0 13px;font-size:12px}.healthy-spot-trade .spot-sides{height:48px;padding:8px 10px 0;background:#0b1018}.healthy-spot-trade .spot-sides button{height:38px;font-size:13px}.healthy-spot-trade .spot-sides [data-side=BUY].active{background:#15b88f;color:#effffb}.healthy-spot-trade .spot-sides [data-side=SELL].active{background:#de5564;color:#fff}.healthy-spot-trade #spot-form{gap:10px;padding:13px 11px;background:#0b1018}.healthy-spot-trade #spot-available,.healthy-spot-trade #spot-fee,.healthy-spot-trade #spot-form-status{font-size:11px}.healthy-spot-trade #spot-form label{height:42px;padding:0 9px;border-color:#293646;background:#0a0f17}.healthy-spot-trade #spot-form label:focus-within{border-color:#4edcea}.healthy-spot-trade .spot-percentages{gap:5px}.healthy-spot-trade .spot-percentages button{height:25px;border-color:#263545;background:#111923;color:#71deeb;font-size:10px}.healthy-spot-trade #spot-submit{min-height:40px;border-radius:2px;background:#15c7d7;font-size:13px}.healthy-spot-trade #spot-submit.sell{background:#e45764}
.healthy-spot-trade .spot-orders{height:100%;border-top-color:#1d2734;background:#080c12}.healthy-spot-trade .spot-order-tabs{height:44px;padding:0 18px;gap:30px;background:#090d13}.healthy-spot-trade .spot-order-tabs button{height:44px;font-size:12px}.healthy-spot-trade #spot-orders-list{height:calc(100% - 44px);background:#080c12}.healthy-spot-trade #spot-orders-list th,.healthy-spot-trade #spot-orders-list td{height:34px;padding:0 18px;font-size:11px}.healthy-spot-trade #spot-orders-list th{background:#0a0f16;color:#6d7b8e}.healthy-spot-trade #spot-orders-list td[colspan]{color:#78879a}
@media(max-width:1600px){.healthy-spot-trade .spot-grid{grid-template-columns:minmax(390px,1fr) 148px 142px 280px}.healthy-spot-trade .spot-header nav{gap:13px}.healthy-spot-trade .spot-market-stats{gap:10px}.healthy-spot-trade .spot-account{min-width:220px}.healthy-spot-trade #spot-kline .kline-legend{display:none}}

body:has(.stage5-desktop-visual){margin:0;overflow:hidden;background:#000;color:#fff;font-family:Avenir,Helvetica,Arial,sans-serif}
.stage5-desktop-visual{width:100vw;height:100vh;overflow:hidden;background:#000;color:#b0b8db;font:12px/1.2 Avenir,Helvetica,Arial,sans-serif}.stage5-desktop-visual *{box-sizing:border-box}.stage5-desktop-visual button,.stage5-desktop-visual input{font:inherit}
.stage5-desktop-visual .spot-header{height:60px;display:flex;align-items:center;gap:0;padding:0 20px;border:0;background:rgba(15,15,22,.4);color:#fff}.stage5-desktop-visual .spot-brand{width:169px;height:50px;margin-right:25px}.stage5-desktop-visual .spot-brand img{display:block;width:124px;height:50px;margin-left:10px;object-fit:contain}.stage5-desktop-visual .spot-header nav{height:50px;display:flex;align-items:center;gap:0}.stage5-desktop-visual .spot-header nav a{position:relative;height:50px;margin-right:25px;display:flex;align-items:center;color:#fff;font-size:14px;white-space:nowrap}.stage5-desktop-visual .spot-header nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brand-accent,#00F0FF)}.stage5-desktop-visual .spot-header nav i{width:0;height:0;margin-left:10px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #c5c9d0}.stage5-desktop-visual #spot-session{margin-left:auto;color:#fff;font-size:14px}.s5d-language{width:100px;height:26px;margin-left:28px;border:1px solid #7d7d7d;border-radius:4px;background:#3a3a3a;color:#aaa}
.stage5-desktop-visual .spot-grid{height:80vh;display:grid;grid-template-columns:minmax(0,1fr) 155px 150px 295px;gap:0;padding-top:5px;background:#000}.stage5-desktop-visual .spot-grid>article{min-width:0;height:80vh;min-height:0;padding:0;background:#000}.stage5-desktop-visual .spot-chart{grid-row:auto}.stage5-desktop-visual .spot-marketbar{height:40px;min-height:40px;display:flex;align-items:center;gap:0;padding:0 10px;border:0;background:#000}.stage5-desktop-visual .spot-marketbar>strong{width:120px;color:#fff;font-size:16px}.stage5-desktop-visual .spot-marketbar>b{width:97px;color:var(--brand-accent,#00F0FF);font-size:16px;font-weight:400}.stage5-desktop-visual .spot-marketbar>span{width:12.5%;height:34px;margin-left:0;display:flex;flex-direction:column;justify-content:center}.stage5-desktop-visual .spot-marketbar small{color:#b0b8db;font-size:12px}.stage5-desktop-visual .spot-marketbar em{color:#fff;font-style:normal}.stage5-desktop-visual .spot-marketbar span:first-of-type em{color:var(--brand-accent,#00F0FF)}.stage5-desktop-visual #spot-kline{height:calc(80vh - 40px);background:#0e0f17}.stage5-desktop-visual .kline-svg{display:block;width:100%;height:100%}
.stage5-desktop-visual .spot-book{overflow:hidden}.stage5-desktop-visual .spot-book>header{height:40px;display:flex;align-items:end}.stage5-desktop-visual .spot-book>header button{height:40px;padding:0 0 10px;margin-right:20px;border:0;background:transparent;color:#b0b8db;font-size:14px;font-weight:700;white-space:nowrap}.stage5-desktop-visual .spot-book>header button.active{color:var(--brand-accent,#00F0FF);border-bottom:2px solid var(--brand-accent,#00F0FF)}.stage5-desktop-visual .spot-book-head{height:43px;display:grid;grid-template-columns:25% 43% 32%;align-items:center;color:#b0b8db}.stage5-desktop-visual .spot-book-head span{text-align:right}.stage5-desktop-visual .spot-book-head span:first-child{text-align:left;padding-left:10px}.s5d-book-row{position:relative;height:29px;display:grid;grid-template-columns:25% 43% 32%;align-items:center;color:#fff;isolation:isolate}.s5d-book-row:before{content:"";position:absolute;z-index:-1;right:0;width:var(--depth);height:100%;opacity:.13}.s5d-book-row.ask:before{background:#ff4059}.s5d-book-row.bid:before{background:var(--brand-accent,#00F0FF)}.s5d-book-row span{text-align:right}.s5d-book-row .rank{text-align:left;padding-left:10px;color:#ff4059}.s5d-book-row.bid .rank{color:var(--brand-accent,#00F0FF)}.stage5-desktop-visual #spot-mid{height:57px;display:flex;align-items:center;padding-left:10px;margin:0;border-top:1px solid #26313a;border-bottom:1px solid #26313a;color:#ff4059;font-size:22px}.stage5-desktop-visual .spot-trades{overflow:hidden}.stage5-desktop-visual .spot-trades>header{height:83px;display:grid;grid-template-columns:33% 40% 27%;align-items:end;padding-bottom:11px;color:#b0b8db}.stage5-desktop-visual .spot-trades>header span{text-align:right}.stage5-desktop-visual .spot-trades>header span:first-child{text-align:left}.stage5-desktop-visual .spot-trades p{height:27px;display:grid;grid-template-columns:33% 40% 27%;align-items:center;margin:0;color:#b0b8db;white-space:nowrap}.stage5-desktop-visual .spot-trades p>*{text-align:right}.stage5-desktop-visual .spot-trades p time{text-align:left}.stage5-desktop-visual .spot-trades p.up span:nth-child(2){color:var(--brand-accent,#00F0FF)}.stage5-desktop-visual .spot-trades p.down span:nth-child(2){color:#ff4059}
.stage5-desktop-visual .spot-forms{grid-column:auto;overflow:hidden}.stage5-desktop-visual .spot-tabs{height:40px;display:flex}.stage5-desktop-visual .spot-tabs button{height:40px;padding:5px 0;margin:0 10px 7px 0;border:0;background:transparent;color:#fff;font-size:14px;font-weight:700}.stage5-desktop-visual .spot-tabs button.active{color:var(--brand-accent,#00F0FF);border-bottom:2px solid var(--brand-accent,#00F0FF)}.s5d-side-switch{height:45px;display:flex;padding-right:10px}.s5d-side-switch button{position:relative;flex:1;height:35px;border:0;color:#fff;font-size:14px}.s5d-side-switch .buy{background:var(--brand-accent,#00F0FF)}.s5d-side-switch .sell{background:#eb5741}.stage5-desktop-visual #spot-form{display:block;margin:0;padding:0 10px 0 0}.stage5-desktop-visual #spot-available{height:30px;display:flex;align-items:center;margin:0;color:#b0b8db}.stage5-desktop-visual #spot-form label{height:42px;display:grid;grid-template-columns:50px 1fr 45px;align-items:center;margin-bottom:8px;border:1px solid #384252;background:#000;color:#b0b8db}.stage5-desktop-visual #spot-form label span{padding-left:8px}.stage5-desktop-visual #spot-form input{height:38px;min-width:0;padding:0;border:0;background:#000;color:#fff;text-align:right;outline:0}.stage5-desktop-visual #spot-form input:disabled{background:#151526}.stage5-desktop-visual #spot-form label b{text-align:right;padding-right:8px;font-weight:400}.stage5-desktop-visual .spot-percentages{height:27px;display:flex;align-items:center;justify-content:space-between;padding:0 1px}.stage5-desktop-visual .spot-percentages:before{content:"";position:absolute;left:0;right:10px;height:6px;border-radius:3px;background:#282f45}.stage5-desktop-visual .spot-percentages i{z-index:1;width:8px;height:8px;border-radius:50%;background:#101326}.stage5-desktop-visual .spot-percentages i:first-child{border:2px solid var(--brand-accent,#00F0FF);background:#000}.stage5-desktop-visual #spot-notional{height:30px;display:flex;align-items:center;color:#b0b8db}.stage5-desktop-visual #spot-submit{width:100%;height:36px;border:0;border-radius:2px;background:var(--brand-accent,#00F0FF);color:#fff;font-size:14px}
.stage5-desktop-visual .spot-orders{height:calc(20vh - 60px);min-height:115px;margin:0;padding:0;background:#000}.stage5-desktop-visual .spot-order-tabs{height:53px;display:flex;align-items:center;padding:0 15px}.stage5-desktop-visual .spot-order-tabs button{height:38px;padding:5px 0;margin-right:30px;border:0;background:transparent;color:#fff;font-size:16px}.stage5-desktop-visual .spot-order-tabs button.active{color:var(--brand-accent,#00F0FF);border:0}.stage5-desktop-visual .spot-order-tabs span{align-self:flex-end;width:42px;padding:0 0 6px;margin-left:auto;text-align:center;color:#fff}.stage5-desktop-visual .spot-order-tabs span+span{margin-left:0}.stage5-desktop-visual .spot-order-tabs span.active{color:#fff;border-bottom:1px solid var(--brand-accent,#00F0FF)}.s5d-order-head{height:36px;display:grid;grid-template-columns:20% 15% 12% 14% 14% 14% 11%;align-items:center;padding:0 30px;color:#b0b8db}.stage5-desktop-visual #spot-orders-list{text-align:center}.stage5-desktop-visual .spot-empty{margin:30px 0;color:#b0b8db}

/* Source-sampled Stage 5 chart canvas. */
.stage5-desktop-visual #spot-kline{background:#0e0f17}
.stage5-desktop-visual .spot-grid>.spot-trades{background:#0e0f17}
.stage5-desktop-visual .s5d-side-switch{align-items:flex-end;padding-left:10px;padding-right:15px}
.stage5-desktop-visual #spot-form{padding-left:10px;padding-right:15px}
.stage5-desktop-visual .spot-marketbar{justify-content:flex-start}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(1){width:70px}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(2){width:65px}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(3){width:81px}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(4){width:100px}
.stage5-desktop-visual .spot-book>header{padding-left:10px}
.stage5-desktop-visual .spot-trades>header,.stage5-desktop-visual .spot-trades p{padding-left:10px}
.stage5-desktop-visual .spot-tabs{padding-left:10px}
.stage5-desktop-visual .spot-grid{grid-template-columns:minmax(0,1fr) 155px 150px 295px}
.stage5-desktop-visual .spot-forms{width:290px}
.stage5-desktop-visual .spot-book{width:150px;margin-left:5px}
.stage5-desktop-visual .spot-book>header{height:39px;padding:7px 0 0 5px;align-items:center}
.stage5-desktop-visual .spot-book>header button{width:auto;height:32px;padding:0 0 10px;margin-right:20px}
.stage5-desktop-visual .spot-book-head{height:53px;padding:10px 10px 0;display:flex;align-items:center}
.stage5-desktop-visual .spot-book-head span{flex:1;padding:0}
.stage5-desktop-visual .s5d-book-row{height:43px;padding:5px 10px;display:flex;align-items:center;grid-template-columns:none}
.stage5-desktop-visual .s5d-book-row span{flex:1}
.stage5-desktop-visual .s5d-book-row .rank{padding-left:0;color:#d85e66;text-align:left}
.stage5-desktop-visual .s5d-book-row.bid .rank{color:var(--brand-accent,#00F0FF)}
.stage5-desktop-visual #spot-mid{height:69px;padding-left:10px;border-color:#26313a;color:#d85e66;font-size:20px;font-weight:700}
.stage5-desktop-visual .spot-grid>.spot-trades{background:#000}
.stage5-desktop-visual .spot-trades>header{height:53px;margin-top:39px;padding:10px 0 0 10px;display:flex;align-items:flex-start;background:#0e0f17}
.stage5-desktop-visual .spot-trades>header span{flex:1;min-width:0}
.stage5-desktop-visual #spot-trade-list{background:#0e0f17}
.stage5-desktop-visual .spot-trades p{width:130px;height:26px;padding:5px 0;margin:0 0 0 10px;display:flex;align-items:center;grid-template-columns:none}
.stage5-desktop-visual .spot-trades p>*{flex:1;min-width:auto;white-space:nowrap}
.stage5-desktop-visual .spot-trades p.up span:nth-child(2){color:var(--brand-accent,#00F0FF)}
.stage5-desktop-visual .spot-trades p.down span:nth-child(2){color:#d85e66}
.stage5-desktop-visual .spot-tabs{height:40px}
.stage5-desktop-visual .s5d-side-switch{height:54px;padding:10px 15px 0 10px}
.stage5-desktop-visual .s5d-side-switch button{height:34px;font-size:16px}
.stage5-desktop-visual #spot-form{margin-top:0;padding:0 11px 0 10px}
.stage5-desktop-visual #spot-available{height:17px;margin-bottom:10px}
.stage5-desktop-visual #spot-form label{position:relative;height:30px;margin-bottom:10px;border:0;display:block}
.stage5-desktop-visual #spot-form label span{position:absolute;left:0;top:6px;padding:0}
.stage5-desktop-visual #spot-form input{position:absolute;left:50px;right:0;width:calc(100% - 50px);height:30px;padding-right:44px;border:1px solid #384252}
.stage5-desktop-visual #spot-form label b{position:absolute;z-index:1;right:0;top:0;height:30px;line-height:30px;padding-right:5px}
.stage5-desktop-visual .spot-percentages{height:38px}
.stage5-desktop-visual .spot-percentages{position:relative}
.stage5-desktop-visual #spot-notional{height:27px}
.stage5-desktop-visual #spot-submit{height:34px;font-size:16px}
.stage5-desktop-visual .s5d-book-row.ask:before{background:linear-gradient(to left,#180a09,#170909);opacity:1}
.stage5-desktop-visual .s5d-book-row.bid:before{background:linear-gradient(to left,#09130e,#08120e);opacity:1}
.stage5-desktop-visual .s5d-book-row{height:40.3px}
.stage5-desktop-visual .s5d-book-row .rank{flex:none;width:16.5625px}
.stage5-desktop-visual .s5d-book-row span:nth-child(2){flex:none;width:63.390625px}
.stage5-desktop-visual .s5d-book-row span:nth-child(3){flex:none;width:50.046875px}
.stage5-desktop-visual .spot-marketbar>strong{display:flex;align-items:center}
.stage5-desktop-visual .spot-marketbar>strong i{width:0;height:0;margin-left:9px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #c5c9d0}
.stage5-desktop-visual #spot-session{display:flex;align-items:center;gap:7px}
.stage5-desktop-visual #spot-session>i{position:relative;width:13px;height:10px;border:1px solid #fff;border-radius:7px 7px 2px 2px}
.stage5-desktop-visual #spot-session>i:before{content:"";position:absolute;left:3px;top:-8px;width:5px;height:5px;border:1px solid #fff;border-radius:50%;background:#000}
.stage5-desktop-visual #spot-session>b{width:0;height:0;margin-left:4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #c5c9d0}
.stage5-desktop-visual .s5d-language{margin-left:49px}
.stage5-desktop-visual .s5d-book-row{height:40.8px;background-position:right center;background-repeat:no-repeat;background-size:var(--depth) 100%}
.stage5-desktop-visual .s5d-book-row:before{display:none}
.stage5-desktop-visual .s5d-book-row.ask{background-image:linear-gradient(rgba(250,82,82,.1),rgba(250,82,82,.1))}
.stage5-desktop-visual .s5d-book-row.bid{background-image:linear-gradient(rgba(18,184,134,.1),rgba(18,184,134,.1))}
.stage5-desktop-visual #spot-mid{height:59px;border-color:#293343}
.stage5-desktop-visual #spot-bids{margin-top:10px}
.stage5-desktop-visual .spot-trades{position:relative}
.stage5-desktop-visual .spot-trades:after{content:"";position:absolute;z-index:3;right:0;top:93px;bottom:0;width:4px;background:#3d4362}
.stage5-desktop-visual #spot-form input{border-color:#293343}
.stage5-desktop-visual .spot-percentages{padding-left:10px}
.stage5-desktop-visual .spot-percentages:before{left:10px;right:0;background:#262a42}
.stage5-desktop-visual .s5d-side-switch .buy:after{content:"";position:absolute;right:0;top:0;border-top:16px solid #1e2531;border-left:16px solid transparent;border-bottom:18px solid #1e2531}
.stage5-desktop-visual .s5d-side-switch .sell:before{content:"";position:absolute;left:0;top:0;border-top:16px solid #1e2531;border-right:16px solid transparent;border-bottom:18px solid #1e2531}
.stage5-desktop-visual .spot-orders{margin-top:6px}
.stage5-desktop-visual .spot-tabs{border-bottom:1px solid #293343}
.stage5-desktop-visual .s5d-side-switch{align-items:flex-start}
.stage5-desktop-visual #spot-form input{border-radius:2px}
.stage5-desktop-visual .spot-percentages i{width:6px;height:6px}
.stage5-desktop-visual .spot-percentages i:first-child{width:14px;height:14px}
.stage5-desktop-visual .spot-marketbar>strong{position:relative;top:1px}
.stage5-desktop-visual .spot-marketbar #spot-last{font-size:16px}
.stage5-desktop-visual .spot-marketbar em{position:relative;top:2px}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(2){position:relative;left:1px}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(3){position:relative;left:2px}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(4){position:relative;left:1px}
.stage5-desktop-visual .spot-tabs button{height:32px}
.stage5-desktop-visual #spot-available{position:relative;top:1px}
.stage5-desktop-visual #spot-notional{align-items:flex-start;padding-top:1px}
.stage5-desktop-visual #spot-submit{width:calc(100% + 1px)}
.stage5-desktop-visual .s5d-chart-toolbar span b{position:relative;top:1px;font:inherit}
.stage5-desktop-visual .s5d-chart-tools{height:24px;margin-left:auto;margin-right:8px;display:flex;align-items:center;gap:15px;color:#626887}
.stage5-desktop-visual .s5d-chart-tools i{position:relative;display:block;width:20px;height:20px;font-style:normal}
.stage5-desktop-visual .s5d-chart-tools .expand{background:linear-gradient(#626887,#626887) left top/6px 2px no-repeat,linear-gradient(#626887,#626887) left top/2px 6px no-repeat,linear-gradient(#626887,#626887) right top/6px 2px no-repeat,linear-gradient(#626887,#626887) right top/2px 6px no-repeat,linear-gradient(#626887,#626887) left bottom/6px 2px no-repeat,linear-gradient(#626887,#626887) left bottom/2px 6px no-repeat,linear-gradient(#626887,#626887) right bottom/6px 2px no-repeat,linear-gradient(#626887,#626887) right bottom/2px 6px no-repeat}
.stage5-desktop-visual .s5d-chart-tools .bars{background:linear-gradient(to top right,transparent 46%,#626887 47%,#626887 53%,transparent 54%)}
.stage5-desktop-visual .s5d-chart-tools .bars:before{content:"";position:absolute;left:2px;right:2px;bottom:1px;height:11px;background:repeating-linear-gradient(to right,#626887 0 2px,transparent 2px 5px)}
.stage5-desktop-visual .s5d-chart-tools .gear{font:20px/20px Arial,sans-serif;text-align:center}
@media (max-height:950px){
  .stage5-desktop-visual .s5d-book-row{height:43px}
  .stage5-desktop-visual #spot-asks .s5d-book-row:nth-child(3),.stage5-desktop-visual #spot-asks .s5d-book-row:nth-child(9),.stage5-desktop-visual #spot-bids .s5d-book-row:nth-child(3),.stage5-desktop-visual #spot-bids .s5d-book-row:nth-child(9){height:27px}
  .stage5-desktop-visual #spot-asks{margin-bottom:10px}
}
@media (min-height:951px){
  .stage5-desktop-visual .s5d-book-row{height:43px}
  .stage5-desktop-visual #spot-asks .s5d-book-row:nth-child(6),.stage5-desktop-visual #spot-bids .s5d-book-row:nth-child(3){height:27px}
  .stage5-desktop-visual #spot-asks{margin-bottom:10px}
}
.stage5-desktop-visual>.s5d-logo-filter{position:absolute;width:0;height:0;overflow:hidden}
.stage5-desktop-visual .spot-brand img{filter:url(#s5d-logo-color)}
.stage5-desktop-visual .s5d-book-row span:nth-child(2),.stage5-desktop-visual .s5d-book-row span:nth-child(3){position:relative;top:1px}
.stage5-desktop-visual .s5d-book-row .rank{line-height:16px}
@media (max-height:950px){
  .stage5-desktop-visual #spot-asks .s5d-book-row:nth-child(3) .rank,.stage5-desktop-visual #spot-asks .s5d-book-row:nth-child(9) .rank,.stage5-desktop-visual #spot-bids .s5d-book-row:nth-child(3) .rank,.stage5-desktop-visual #spot-bids .s5d-book-row:nth-child(9) .rank{position:relative;top:1px;white-space:nowrap}
}
@media (min-height:951px){
  .stage5-desktop-visual #spot-asks .s5d-book-row:nth-child(6) .rank,.stage5-desktop-visual #spot-bids .s5d-book-row:nth-child(3) .rank{position:relative;top:1px;white-space:nowrap}
}
.stage5-desktop-visual .spot-order-tabs span{width:62px;position:relative;top:-16px}
.stage5-desktop-visual .s5d-order-head{position:relative;top:-5px}
.stage5-desktop-visual .s5d-order-head span:nth-child(2){position:relative;left:1px}
.stage5-desktop-visual .s5d-order-head span:nth-child(3){position:relative;left:-2px}
.stage5-desktop-visual .s5d-order-head span:nth-child(4){position:relative;left:11px}
.stage5-desktop-visual .s5d-order-head span:nth-child(5){position:relative;left:19px}
.stage5-desktop-visual .s5d-order-head span:nth-child(6){position:relative;left:17px}
.stage5-desktop-visual .s5d-order-head span:nth-child(7){position:relative;left:127px}
.stage5-desktop-visual .spot-book>header button{padding:3px 0 7px}
.stage5-desktop-visual .spot-book-head{padding:10px;line-height:normal}
.stage5-desktop-visual .spot-book-head span:first-child{padding:0;text-align:left}
.stage5-desktop-visual .spot-book-head span:nth-child(2){text-align:center}
.stage5-desktop-visual .spot-book-head span:nth-child(3){text-align:right}
.stage5-desktop-visual .s5d-language{margin-left:51px}
.stage5-desktop-visual #spot-session{position:relative;top:1px;letter-spacing:.2px}
.stage5-desktop-visual #spot-session>i{top:3px}
.stage5-desktop-visual #spot-session>b{position:relative;top:-1px}
.stage5-desktop-visual .spot-marketbar>strong i{margin-left:8px;border-left-width:4px;border-right-width:4px;border-top-width:5px}
.stage5-desktop-visual .spot-marketbar #spot-last{position:relative;left:-1px;top:1px}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(1) em{left:-1px}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(2) small,.stage5-desktop-visual .spot-marketbar>span:nth-of-type(3) small{position:relative;left:-1px}
.stage5-desktop-visual .spot-tabs button{padding:6px 0 4px}
.stage5-desktop-visual .spot-percentages i:first-child{width:16px;height:16px;position:relative;left:-8px}
.stage5-desktop-visual #spot-notional{padding-top:2px}
.stage5-desktop-visual .s5d-side-switch button,.stage5-desktop-visual #spot-submit{font-size:14px}
.stage5-desktop-visual .s5d-side-switch .buy{flex:0 0 137px}
.stage5-desktop-visual .s5d-chart-tools{margin-right:13px}
.stage5-desktop-visual .s5d-chart-tools .expand{transform:scale(.9)}
.stage5-desktop-visual .s5d-chart-tools .bars{transform-origin:left center;transform:scale(.85,.75)}
.stage5-desktop-visual .s5d-chart-tools .gear{transform:translateY(-1px) scale(1.4)}
.stage5-desktop-visual .s5d-chart-legend>*{position:absolute;box-sizing:border-box;margin:0;padding:0;font-style:normal;font-weight:400;white-space:nowrap}
.stage5-desktop-visual .s5d-chart-legend .legend-main{left:29px;top:49.4375px;width:107.53125px;height:20px;font:400 17px/20px "Trebuchet MS",Tahoma,Arial,sans-serif;color:#888}
.stage5-desktop-visual .s5d-chart-legend .legend-label,.stage5-desktop-visual .s5d-chart-legend .legend-value{top:49.4375px;height:20px;font:400 14px/20px "Trebuchet MS",Tahoma,Arial,sans-serif}
.stage5-desktop-visual .s5d-chart-legend .legend-value{color:#eb5741;letter-spacing:.3px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.open{left:158px}
.stage5-desktop-visual .s5d-chart-legend .legend-value.open-value{left:183px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.high{left:268px}
.stage5-desktop-visual .s5d-chart-legend .legend-value.high-value{left:292px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.low{left:378px}
.stage5-desktop-visual .s5d-chart-legend .legend-value.low-value{left:401px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.close{left:488px}
.stage5-desktop-visual .s5d-chart-legend .legend-value.close-value{left:510px}
.stage5-desktop-visual .s5d-chart-legend .legend-ma{left:10px;height:20px;font:400 12px/20px "Trebuchet MS",Tahoma,Arial,sans-serif;color:#888}
.stage5-desktop-visual .s5d-chart-legend .legend-ma.first{top:69.65px}
.stage5-desktop-visual .s5d-chart-legend .legend-ma.cross{top:89.859375px}
.stage5-desktop-visual .s5d-chart-legend .legend-ma.volume{top:518px}
.stage5-desktop-visual .s5d-chart-legend .legend-toggle{left:11px;top:52px;width:12px;height:12px;border:1px solid #888;border-radius:50%}
.stage5-desktop-visual .s5d-chart-legend .legend-toggle:after{content:"";position:absolute;left:4px;top:4px;width:2px;height:2px;border-radius:50%;background:#888}
.stage5-desktop-visual .s5d-chart-legend .legend-control{width:14px;height:14px;border-radius:2px;background:#303036}
.stage5-desktop-visual .s5d-chart-legend .main-control{left:138px;top:52px}
.stage5-desktop-visual .s5d-chart-legend .ma-control{left:115px;top:93px}
.stage5-desktop-visual .s5d-chart-legend .ma-close{left:132px;top:93px}
.stage5-desktop-visual .s5d-chart-legend .volume-control{left:87px;top:520px}
.stage5-desktop-visual .s5d-chart-legend .volume-close{left:104px;top:520px}
@media (min-height:951px){
  .stage5-desktop-visual .s5d-chart-legend .legend-ma.volume{top:622px}
  .stage5-desktop-visual .s5d-chart-legend .volume-control,.stage5-desktop-visual .s5d-chart-legend .volume-close{top:624px}
}
.stage5-desktop-visual .s5d-chart-legend .legend-label{top:49.859375px;font-size:14.6667px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.open{left:158.53125px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.high{left:267.46875px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.low{left:376.40625px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.close{left:485.34375px}
.stage5-desktop-visual .s5d-chart-legend .legend-toggle{left:10px;top:51.9375px;width:13px;height:13px;border:0;border-radius:0}
.stage5-desktop-visual .s5d-chart-legend .legend-toggle:after{content:none}
.stage5-desktop-visual .s5d-chart-legend .legend-control{width:14px;height:14px;border-radius:0;background:none}
.stage5-desktop-visual .s5d-chart-legend .main-control{left:136.96875px;top:52.296875px}
.stage5-desktop-visual .s5d-chart-legend .ma-control{left:114.171875px;top:92.71875px}
.stage5-desktop-visual .s5d-chart-legend .ma-close{left:131.171875px;top:92.71875px}
.stage5-desktop-visual .s5d-chart-legend .volume-control{left:86.34375px;top:519.859375px}
.stage5-desktop-visual .s5d-chart-legend .volume-close{left:103.34375px;top:519.859375px}
@media (min-height:951px){
  .stage5-desktop-visual .s5d-chart-legend .volume-control,.stage5-desktop-visual .s5d-chart-legend .volume-close{top:623.859375px}
  .stage5-desktop-visual .s5d-book-row.ask{background-image:linear-gradient(to left,#180a09,#170909)}
  .stage5-desktop-visual .s5d-book-row.bid{background-image:linear-gradient(to left,#09130e,#08120e)}
  .stage5-desktop-visual .spot-grid>.spot-trades{background:linear-gradient(to bottom,#000 0 40px,#0e0f17 40px 100%)}
  .stage5-desktop-visual .spot-trades:after{background:#0e0f17}
  .stage5-desktop-visual #spot-trade-list{height:650px;overflow:hidden}
  .stage5-desktop-visual .spot-order-tabs span{width:42px}
  .stage5-desktop-visual .s5d-order-head{grid-template-columns:repeat(7,minmax(0,1fr))}
  .stage5-desktop-visual .s5d-order-head span{position:static;text-align:center}
  .stage5-desktop-visual .s5d-order-head span:nth-child(n){left:0}
  .stage5-desktop-visual .s5d-order-head span:first-child{text-align:left}
  .stage5-desktop-visual .s5d-order-head span:last-child{text-align:right}
  .stage5-desktop-visual #spot-orders-list .spot-empty{font-size:0}
  .stage5-desktop-visual .spot-trades p>*{line-height:normal}
  .stage5-desktop-visual .spot-trades p.up span:nth-child(2){color:var(--brand-accent,#00F0FF)}
  .stage5-desktop-visual .spot-trades p.down span:nth-child(2){color:#e95463}
  .stage5-desktop-visual .spot-trades p span:nth-child(3){color:#fff}
}
.stage5-desktop-visual .spot-trades>header span:nth-child(2),.stage5-desktop-visual .spot-trades p span:nth-child(2){text-align:center}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(1) em,.stage5-desktop-visual .spot-marketbar>span:nth-of-type(2) small,.stage5-desktop-visual .spot-marketbar>span:nth-of-type(3) small{left:0}
.stage5-desktop-visual .s5d-chart-legend .legend-toggle{left:10px;top:51.9375px;width:13px;height:13px;border:0;border-radius:0}
.stage5-desktop-visual .s5d-chart-legend .legend-toggle:after{content:none}
.stage5-desktop-visual .s5d-chart-legend .legend-control{width:14px;height:14px;border-radius:0;background:none}
.stage5-desktop-visual .s5d-chart-legend .main-control{left:136.96875px;top:52.296875px}
.stage5-desktop-visual .s5d-chart-legend .ma-control{left:114.171875px;top:92.71875px}
.stage5-desktop-visual .s5d-chart-legend .ma-close{left:131.171875px;top:92.71875px}
.stage5-desktop-visual .s5d-chart-legend .volume-control{left:86.34375px;top:519.859375px}
.stage5-desktop-visual .s5d-chart-legend .volume-close{left:103.34375px;top:519.859375px}
@media (min-height:951px){
  .stage5-desktop-visual .s5d-chart-legend .volume-control,.stage5-desktop-visual .s5d-chart-legend .volume-close{top:623.859375px}
}

/* Stage 6B contract portal grid children must be allowed to shrink inside the viewport. */
.contract-portal .delivery-market,.contract-portal .delivery-order-card,.contract-portal .delivery-records{min-width:0}
.contract-portal .delivery-order-card fieldset{min-width:0}
.stage5-desktop-visual[data-order-type="MARKET"] .s5d-book-row .rank{flex:none;width:16.5625px;line-height:16px;white-space:normal}
.stage5-desktop-visual[data-order-type="MARKET"] .s5d-book-row span:nth-child(2){flex:none;width:63.390625px}
.stage5-desktop-visual[data-order-type="MARKET"] .s5d-book-row span:nth-child(3){flex:none;width:50.046875px}
.stage5-desktop-visual[data-order-type="MARKET"] .spot-trades p>*{line-height:14.4px}
.stage5-desktop-visual[data-order-type="MARKET"] .spot-trades p.up span:nth-child(2){color:var(--brand-accent,#00F0FF)}
.stage5-desktop-visual[data-order-type="MARKET"] .spot-trades p.down span:nth-child(2){color:#d85e66}
.stage5-desktop-visual[data-order-type="MARKET"] .spot-trades p span:nth-child(3){color:#b0b8db}
.stage5-desktop-visual[data-order-type="MARKET"] .s5d-book-row,
.stage5-desktop-visual[data-order-type="MARKET"] #spot-asks .s5d-book-row:nth-child(n),
.stage5-desktop-visual[data-order-type="MARKET"] #spot-bids .s5d-book-row:nth-child(n){height:43px}
.stage5-desktop-visual[data-order-type="MARKET"] #spot-form input:disabled{text-align:left;padding-left:5px;padding-right:44px}
@media (max-height:950px){
  .stage5-desktop-visual[data-order-type="MARKET"] #spot-asks .s5d-book-row:nth-child(7),
  .stage5-desktop-visual[data-order-type="MARKET"] #spot-bids .s5d-book-row:nth-child(2){height:27px}
}
.stage5-desktop-visual[data-order-type="MARKET"] .spot-trades p.up span:nth-child(2){color:var(--brand-accent,#00F0FF)}
.stage5-desktop-visual[data-order-type="MARKET"] .spot-trades p.down span:nth-child(2){color:#d85e66}
.stage5-desktop-visual[data-order-type="MARKET"] .spot-trades p span:nth-child(3){color:#b0b8db}
.stage5-desktop-visual[data-order-type="MARKET"] .spot-trades:after{background:#0e0f17}
.stage5-desktop-visual[data-order-type="MARKET"] .s5d-book-row .rank{position:static!important;top:auto!important;white-space:normal!important}
@media (max-height:950px){
  .stage5-desktop-visual[data-order-type="MARKET"] #spot-asks .s5d-book-row:nth-child(7) .rank,
  .stage5-desktop-visual[data-order-type="MARKET"] #spot-bids .s5d-book-row:nth-child(2) .rank{white-space:nowrap!important}
}
.stage5-desktop-visual[data-order-type="MARKET"] .spot-trades>header span:first-child{position:relative;top:8px}
.stage5-desktop-visual[data-order-type="MARKET"] .s5d-side-switch{padding-right:10px}
.stage5-desktop-visual[data-order-type="MARKET"] .s5d-side-switch .buy{flex-basis:135px}
.stage5-desktop-visual[data-order-type="MARKET"] #spot-form{padding-right:12px}
.stage5-desktop-visual[data-order-type="MARKET"] #spot-form input:disabled{background:#141624}
.stage5-desktop-visual[data-order-type="MARKET"] #spot-form input{right:-1px}
.stage5-desktop-visual[data-order-type="MARKET"] #spot-form input:disabled{border-color:#141624}
.stage5-desktop-visual[data-order-type="MARKET"] .spot-trades:after{display:none}
.stage5-desktop-visual .spot-trades>header{padding-right:10px}
.stage5-desktop-visual #spot-form label span{top:6.5px;line-height:normal}
.stage5-desktop-visual .spot-trades>header span{line-height:normal}
.stage5-desktop-visual .s5d-chart-legend .legend-label{top:49.859375px;font-size:14.6667px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.open{left:158.53125px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.high{left:267.46875px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.low{left:376.40625px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.close{left:485.34375px}
.stage5-desktop-visual .s5d-book-row .rank{flex:1;width:auto;line-height:normal;color:#e95463}
.stage5-desktop-visual .s5d-book-row.bid .rank{color:var(--brand-accent,#00F0FF)}
.stage5-desktop-visual .s5d-book-row span:nth-child(2),.stage5-desktop-visual .s5d-book-row span:nth-child(3){position:static;top:auto;flex:1;width:auto;line-height:normal}
.stage5-desktop-visual .s5d-book-row span:nth-child(2){text-align:center}
.stage5-desktop-visual .s5d-book-row span:nth-child(3){text-align:right}
.stage5-desktop-visual .spot-trades p>*{line-height:normal}
.stage5-desktop-visual .spot-trades p.up span:nth-child(2){color:var(--brand-accent,#00F0FF)}
.stage5-desktop-visual .spot-trades p.down span:nth-child(2){color:#e95463}
.stage5-desktop-visual .spot-trades p span:nth-child(3){color:#fff}
.stage5-desktop-visual .spot-trades p>*{line-height:14.4px}
.stage5-desktop-visual .spot-trades p.up span:nth-child(2){color:var(--brand-accent,#00F0FF)}
.stage5-desktop-visual .spot-trades p.down span:nth-child(2){color:#d85e66}
.stage5-desktop-visual .spot-trades p span:nth-child(3){color:#b0b8db}
@media (max-height:950px){
  .stage5-desktop-visual .s5d-book-row.ask{background-image:linear-gradient(#170909,#170909)}
  .stage5-desktop-visual .s5d-book-row.bid{background-image:linear-gradient(#09130e,#09130e)}
}
.stage5-desktop-visual .spot-marketbar>span{height:33px;display:block;position:relative;top:.5px;justify-content:initial}
.stage5-desktop-visual .spot-marketbar>span small,.stage5-desktop-visual .spot-marketbar>span em{display:block;line-height:normal}
.stage5-desktop-visual .spot-marketbar em{top:0}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(1){left:-.71875px}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(2){left:.625px}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(3){left:1.625px}
.stage5-desktop-visual .spot-marketbar>span:nth-of-type(4){left:.671875px}
.stage5-desktop-visual .spot-tabs button:not(.active){height:30px;padding:5px 0}
.stage5-desktop-visual #spot-available{top:0}
.stage5-desktop-visual #spot-notional{height:17px;margin-bottom:10px;padding-top:0;align-items:center}
.stage5-desktop-visual .spot-tabs button:not(.active){height:32px;padding:6px 0 4px}
.stage5-desktop-visual #spot-available{top:1px}
.stage5-desktop-visual #spot-notional{height:27px;margin-bottom:0;padding-top:2px;align-items:flex-start}
.stage5-desktop-visual .s5d-chart-legend .legend-label,.stage5-desktop-visual .s5d-chart-legend .legend-value{top:49.4375px;font-size:14px}
.stage5-desktop-visual .s5d-chart-legend .legend-value{letter-spacing:.3px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.open{left:158px}
.stage5-desktop-visual .s5d-chart-legend .legend-value.open-value{left:183px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.high{left:268px}
.stage5-desktop-visual .s5d-chart-legend .legend-value.high-value{left:292px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.low{left:378px}
.stage5-desktop-visual .s5d-chart-legend .legend-value.low-value{left:401px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.close{left:488px}
.stage5-desktop-visual .s5d-chart-legend .legend-value.close-value{left:510px}
.stage5-desktop-visual .s5d-chart-legend .legend-ma.first{top:69.65px}
.stage5-desktop-visual .s5d-chart-legend .legend-ma.volume{top:517px}
.stage5-desktop-visual .s5d-chart-legend .volume-control,.stage5-desktop-visual .s5d-chart-legend .volume-close{top:519px}
@media (min-height:951px){
  .stage5-desktop-visual .s5d-chart-legend .legend-ma.volume{top:622px}
  .stage5-desktop-visual .s5d-chart-legend .volume-control,.stage5-desktop-visual .s5d-chart-legend .volume-close{top:624px}
}
.stage5-desktop-visual .s5d-chart-legend .legend-label{top:49.859375px;font-size:14.6667px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.open{left:158.53125px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.high{left:267.46875px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.low{left:376.40625px}
.stage5-desktop-visual .s5d-chart-legend .legend-label.close{left:485.34375px}
.stage5-desktop-visual .s5d-chart-legend .legend-toggle{left:10px;top:51.9375px;width:13px;height:13px;border:0;border-radius:0}
.stage5-desktop-visual .s5d-chart-legend .legend-toggle:after{content:none}
.stage5-desktop-visual .s5d-chart-legend .legend-control{width:14px;height:14px;border-radius:0;background:none}
.stage5-desktop-visual .s5d-chart-legend .main-control{left:136.96875px;top:52.296875px}
.stage5-desktop-visual .s5d-chart-legend .ma-control{left:114.171875px;top:92.71875px}
.stage5-desktop-visual .s5d-chart-legend .ma-close{left:131.171875px;top:92.71875px}
.stage5-desktop-visual .s5d-chart-legend .volume-control{left:86.34375px;top:519.859375px}
.stage5-desktop-visual .s5d-chart-legend .volume-close{left:103.34375px;top:519.859375px}
@media (min-height:951px){
  .stage5-desktop-visual .s5d-chart-legend .volume-control,.stage5-desktop-visual .s5d-chart-legend .volume-close{top:623.859375px}
}
@import url('/shared/staking-visual-pages.css');

/* Healthy-runtime asset overview. Visual fixtures use their own scoped roots. */
.healthy-assets{min-height:100vh;background:#070b14;color:#eef4ff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.desktop-assets>header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#050810;border-bottom:1px solid #20283a}
.desktop-assets>header img{width:92px;display:block}.desktop-assets>header nav{display:flex;gap:28px}.desktop-assets a{color:inherit;text-decoration:none}
.healthy-assets-body{max-width:1440px;margin:auto;padding:32px;box-sizing:border-box}.healthy-assets-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.healthy-assets-heading h1{margin:0 0 8px;font-size:28px}.healthy-assets-heading p{margin:0;color:#8290aa}.healthy-assets-records{border:1px solid #2a3850;border-radius:8px;padding:10px 16px}
.healthy-assets-summary,.healthy-assets-accounts{margin-top:24px;padding:22px;border:1px solid #202a3e;border-radius:12px;background:#0e1421}.healthy-assets-summary>header,.healthy-assets-accounts>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.healthy-assets-summary h2,.healthy-assets-accounts h2{margin:0;font-size:19px}.healthy-assets-summary header p{margin:7px 0 0;color:#8290aa}.healthy-assets-summary header span{color:#8290aa}.healthy-assets-summary>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.healthy-assets-summary article{min-width:0;padding:16px;border:1px solid #26334a;border-radius:9px;background:#111a29}.healthy-assets-summary article span,.healthy-assets-summary article small{display:block;color:#8290aa}.healthy-assets-summary article strong{display:block;margin:8px 0 5px;font-size:22px;overflow-wrap:anywhere}
.healthy-assets-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.healthy-assets-actions a{padding:18px;border:1px solid #253149;border-radius:10px;background:#101725;text-align:center;color:var(--brand-accent,#00F0FF)}.healthy-assets-actions a:hover,.healthy-assets-actions a:focus-visible,.healthy-assets-records:hover,.healthy-assets-records:focus-visible{border-color:#61dced;background:#142033;outline:none}
.healthy-assets-table-wrap{width:100%;overflow-x:auto}.healthy-assets-table{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed}.healthy-assets-table th,.healthy-assets-table td{padding:14px 12px;text-align:left;border-bottom:1px solid #202a3e;vertical-align:middle;overflow-wrap:anywhere}.healthy-assets-table th{color:#8290aa;font-size:12px;font-weight:500}.healthy-assets-table td{font-size:14px}.healthy-assets-table td:nth-child(1),.healthy-assets-table td:nth-child(3),.healthy-assets-table td:nth-child(4),.healthy-assets-table td:nth-child(5){font-variant-numeric:tabular-nums}.healthy-assets-table td:nth-child(2) span,.healthy-assets-table td:nth-child(2) small{display:block}.healthy-assets-table td:nth-child(2) small{margin-top:3px;color:#68758c}.healthy-assets-table td:last-child{display:flex;gap:8px;flex-wrap:wrap}.healthy-assets-table td:last-child a{padding:7px 10px;border:1px solid #2a3850;border-radius:6px;color:var(--brand-accent,#00F0FF)}.healthy-assets-accounts>header>a{color:var(--brand-accent,#00F0FF)}.healthy-assets-state{min-height:220px;display:grid;place-content:center;justify-items:center;gap:12px;color:#8290aa}.healthy-assets-state.error{color:#ff8181}.healthy-assets-state button{padding:10px 18px;border:1px solid #2a3850;border-radius:7px;background:#152033;color:var(--brand-accent,#00F0FF)}.healthy-assets-spinner{width:28px;height:28px;border:3px solid #26334a;border-top-color:var(--brand-accent,#00F0FF);border-radius:50%;animation:healthy-assets-spin .8s linear infinite}@keyframes healthy-assets-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.healthy-assets-summary>div{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-assets>header{padding:0 20px}.desktop-assets>header nav{gap:18px}.healthy-assets-body{padding:24px}.healthy-assets-table{min-width:820px}}

/* Production-parity healthy runtime for the recovered desktop market and
   account routes. Formal visual fixtures remain isolated under their own
   scoped roots and do not consume these rules. */
body.desktop-runtime-scroll{overflow:auto;background:#070b14}
.parity-desktop-header{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;gap:34px;padding:0 30px;background:#050810;border-bottom:1px solid #20283a;color:#e7edf6}
.parity-brand{display:flex;width:92px;flex:0 0 92px}.parity-brand img{display:block;width:92px}
.parity-desktop-header nav{display:flex;align-items:center;gap:26px;min-width:0}.parity-desktop-header a{color:inherit;text-decoration:none}.parity-desktop-header nav a{padding:22px 0 19px;border-bottom:2px solid transparent;white-space:nowrap}.parity-desktop-header nav a.active,.parity-desktop-header nav a:hover,.parity-desktop-header nav a:focus-visible{color:var(--brand-accent,#00F0FF);border-bottom-color:var(--brand-accent,#00F0FF);outline:none}
.parity-account-entry{margin-left:auto;padding:8px 12px;border:1px solid #293950;border-radius:6px}
.desktop-markets-page,.desktop-account-assets{min-height:100vh;background:#070b14;color:#eef4ff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
/* These two runtime shells are assembled by shared UI modules, so a link can
   arrive without one of the page-specific action classes below.  Never leave
   its colour to the browser default: the default blue is unreadable on this
   terminal surface and made otherwise healthy routes look broken. */
.desktop-markets-page a,.desktop-account-assets a{color:inherit;text-decoration:none}
.desktop-markets-page a:focus-visible,.desktop-account-assets a:focus-visible{outline:2px solid var(--brand-accent,#00F0FF);outline-offset:3px}
.desktop-markets-body,.desktop-account-body{width:min(1500px,calc(100% - 64px));margin:0 auto;padding:34px 0 72px}
.desktop-markets-heading,.desktop-account-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.desktop-markets-heading h1,.desktop-account-heading h1{margin:0 0 8px;font-size:29px}.desktop-markets-heading p,.desktop-account-heading p{margin:0;color:#8290aa}.desktop-markets-heading>span{padding:8px 12px;border:1px solid #26364d;border-radius:999px;color:#7be4ea}
.desktop-market-filter{display:flex;align-items:center;gap:16px;margin:28px 0 18px;padding:16px;border:1px solid #202a3e;border-radius:10px;background:#0e1421}.desktop-market-filter>div{display:flex;gap:8px}.desktop-market-filter button,.desktop-market-filter input{height:38px;border:1px solid #293950;border-radius:7px;background:#111a29;color:#dce7f5;padding:0 14px}.desktop-market-filter button.active{border-color:#62e5ed;background:#153040;color:var(--brand-accent,#00F0FF)}.desktop-market-filter label{margin-left:auto}.desktop-market-filter input{width:270px}
.desktop-market-list,.desktop-account-table-section,.desktop-account-records{border:1px solid #202a3e;border-radius:12px;background:#0e1421;overflow:hidden}.desktop-markets-table,.desktop-account-table-section table,.desktop-account-records table{width:100%;border-collapse:collapse;table-layout:fixed}.desktop-markets-table th,.desktop-markets-table td,.desktop-account-table-section th,.desktop-account-table-section td,.desktop-account-records th,.desktop-account-records td{padding:15px 16px;border-bottom:1px solid #202a3e;text-align:left;overflow-wrap:anywhere}.desktop-markets-table th,.desktop-account-table-section th,.desktop-account-records th{color:#8290aa;font-size:12px;font-weight:500}.desktop-markets-table td,.desktop-account-table-section td,.desktop-account-records td{font-size:14px}.desktop-markets-table td:first-child strong,.desktop-markets-table td:first-child small{display:block}.desktop-markets-table td:first-child small{margin-top:4px;color:#65738b}.desktop-markets-table td.positive{color:#56d9b1}.desktop-markets-table td.negative{color:#f07881}.desktop-markets-table td:last-child a,.desktop-account-table-section td:last-child a{display:inline-block;margin:2px 8px 2px 0;padding:7px 10px;border:1px solid #2a4054;border-radius:6px;color:var(--brand-accent,#00F0FF);text-decoration:none}.desktop-market-list>p,.desktop-account-table-section>p{min-height:22px;margin:12px 16px;color:#8290aa}
.desktop-market-symbol{display:flex;align-items:center;gap:10px;min-width:0}.desktop-market-symbol>img{width:30px;height:30px;flex:0 0 30px;border-radius:50%;object-fit:contain;background:#101a28}.desktop-market-symbol>span{min-width:0}.desktop-market-symbol strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desktop-account-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;padding:12px;border:1px solid #202a3e;border-radius:10px;background:#0e1421}.desktop-account-tabs a{padding:10px 14px;border:1px solid transparent;border-radius:7px;color:#9aa7bb;text-decoration:none}.desktop-account-tabs a.active,.desktop-account-tabs a:hover{border-color:#4eced9;background:#153040;color:var(--brand-accent,#00F0FF)}
.desktop-account-heading>a{padding:9px 14px;border:1px solid #2a4054;border-radius:7px;color:var(--brand-accent,#00F0FF);text-decoration:none}
.desktop-account-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.desktop-account-summary article{padding:18px;border:1px solid #26334a;border-radius:10px;background:#111a29}.desktop-account-summary span,.desktop-account-summary small{display:block;color:#8290aa}.desktop-account-summary strong{display:block;margin:9px 0 5px;font-size:23px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.desktop-account-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:24px}.desktop-account-actions a{padding:15px 10px;border:1px solid #293950;border-radius:8px;background:#101725;color:var(--brand-accent,#00F0FF);text-align:center;text-decoration:none}.desktop-account-actions a:hover,.desktop-account-actions a:focus-visible{border-color:#61dced;background:#142033;outline:none}
.desktop-account-table-section>header,.desktop-account-records>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid #202a3e}.desktop-account-table-section h2,.desktop-account-records h2{margin:0;font-size:19px}.desktop-account-table-section input{height:36px;width:250px;padding:0 12px;border:1px solid #293950;border-radius:7px;background:#111a29;color:#eef4ff}.desktop-account-table-wrap{width:100%;overflow-x:auto}.desktop-account-table-section table{min-width:960px}.desktop-account-records{min-height:300px;margin-top:24px}.desktop-account-records table{min-width:850px}.desktop-account-records header a{color:var(--brand-accent,#00F0FF);text-decoration:none}
@media(max-width:1300px){.parity-desktop-header{gap:20px;padding:0 20px}.parity-desktop-header nav{gap:16px}.desktop-account-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.desktop-markets-body,.desktop-account-body{width:calc(100% - 40px)}}

/* Live deposit / withdrawal / transfer pages.  These deliberately sit outside
   the old fixed-height .workspace capture shell used only by visual fixtures. */
.runtime-funds-page{min-height:100vh;background:#070b14;color:#e8eff8;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.runtime-funds-page .home-header{position:sticky;top:0;z-index:30}.runtime-funds-layout{display:grid;grid-template-columns:236px minmax(0,1fr);width:min(1500px,calc(100% - 64px));min-height:calc(100vh - 64px);margin:0 auto}.runtime-funds-sidebar{position:sticky;top:64px;align-self:start;display:grid;gap:4px;max-height:calc(100vh - 88px);margin-top:24px;padding:18px 12px;border:1px solid #202a3e;border-radius:12px;background:#0d1420}.runtime-funds-sidebar h2{margin:0 8px 10px;color:#eef5fb;font-size:16px}.runtime-funds-sidebar a{padding:11px 12px;border:1px solid transparent;border-radius:7px;color:#94a3ba;text-decoration:none}.runtime-funds-sidebar a:hover,.runtime-funds-sidebar a:focus-visible,.runtime-funds-sidebar a.active{border-color:#2d6975;background:#112631;color:#74e5ef;outline:none}.runtime-funds-content{min-width:0;padding:34px 0 76px 32px}.runtime-funds-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px}.runtime-funds-heading p{margin:0 0 7px;color:#728198;font-size:12px}.runtime-funds-heading h1{margin:0;color:#f2f6fb;font-size:28px;line-height:1.18}.runtime-funds-heading>a{padding:10px 13px;border:1px solid #2d405b;border-radius:7px;color:#72e5ef;text-decoration:none}.runtime-funds-card{min-height:440px;padding:26px;border:1px solid #202e45;border-radius:12px;background:linear-gradient(145deg,#101927,#0c121d);box-shadow:0 18px 55px rgba(0,0,0,.18)}.runtime-funds-card .funds-history-link{float:right;margin-top:-54px;color:#72e5ef;text-decoration:none}.runtime-funds-card .stage4-desktop,.runtime-funds-card .stage3-desktop-fixture{max-width:860px}.runtime-funds-card .stage4-form{grid-template-columns:144px minmax(260px,1fr);max-width:760px}.runtime-funds-card .stage4-form label{display:grid;grid-template-columns:144px minmax(0,1fr);align-items:center;gap:12px}.runtime-funds-card .stage4-form label::before{content:none}.runtime-funds-card .stage4-form label>select,.runtime-funds-card .stage4-form label>input{min-width:0}.runtime-funds-card .stage4-form .check{display:flex;grid-column:2;align-items:center}.runtime-funds-card .stage4-form button{grid-column:2;width:100%;min-height:44px}.runtime-funds-card .xm-transfer-form{max-width:760px}.runtime-funds-card #funds-status,.runtime-funds-card #stage4-status{min-height:22px;margin:18px 0 0;color:#91a4be;overflow-wrap:anywhere}.runtime-funds-card .funds-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 18px}.runtime-funds-card .funds-toolbar select,.runtime-funds-card .funds-toolbar button{height:38px;padding:0 12px;border:1px solid #2d405b;border-radius:7px;background:#111c2a;color:#dce8f4}.runtime-funds-card table{width:100%;border-collapse:collapse}.runtime-funds-card th,.runtime-funds-card td{padding:14px 12px;border-bottom:1px solid #202d40;text-align:left;vertical-align:middle;overflow-wrap:anywhere}.runtime-funds-card th{color:#8494aa;font-size:12px;font-weight:600}.runtime-funds-card td{font-size:13px}.runtime-funds-card .record-detail{padding:7px 10px;border:1px solid #2c465d;border-radius:6px;background:#111e2c;color:#74e5ef}.runtime-funds-card .stage4-empty{min-height:180px;display:grid;place-items:center;color:#8494aa}.runtime-funds-card .stage4-form select,.runtime-funds-card .stage4-form input,.runtime-funds-card .stage4-form output{box-sizing:border-box;min-height:42px;border-color:#2d405b;background:#0c1623;color:#e7eef8}.runtime-funds-card .stage4-form button,.runtime-funds-card .transfer-submit{border:0;border-radius:7px;background:linear-gradient(90deg,#5be8ee,#56bfdb)!important;color:#061017!important;font-weight:700}.runtime-funds-card .secondary{border:1px solid #31445b!important;background:#142033!important;color:#dce8f4!important}
@media(max-width:1100px){.runtime-funds-layout{grid-template-columns:1fr;width:calc(100% - 40px)}.runtime-funds-sidebar{position:static;grid-template-columns:repeat(4,minmax(0,1fr));max-height:none;margin-bottom:0}.runtime-funds-sidebar h2{grid-column:1/-1}.runtime-funds-sidebar a{text-align:center}.runtime-funds-content{padding-left:0}.runtime-funds-card .stage4-form label{grid-template-columns:1fr}.runtime-funds-card .stage4-form .check{grid-column:auto}.runtime-funds-card .stage4-form button{grid-column:auto}}
.runtime-deposit-page{min-height:100vh;background:#090d15;color:#f2f5fa;font-family:Avenir,Helvetica,Arial,sans-serif}
.runtime-deposit-page .home-header{position:sticky;top:0;z-index:30}
.runtime-deposit-account-nav{display:flex;justify-content:center;gap:0;min-width:1100px;border-bottom:1px solid #20293a;background:#0f1520}
.runtime-deposit-account-nav a{min-width:112px;padding:21px 18px;border-bottom:2px solid transparent;color:#98a4b6;text-align:center;text-decoration:none}
.runtime-deposit-account-nav a:hover,.runtime-deposit-account-nav a:focus-visible,.runtime-deposit-account-nav a.active{border-bottom-color:var(--brand-accent,#00F0FF);color:var(--brand-accent,#00F0FF);outline:none}
.runtime-deposit-content{width:min(920px,calc(100% - 64px));margin:0 auto;padding:48px 0 90px}
.runtime-deposit-instruction{margin:0 0 24px;color:#e7edf5;font-size:16px}
.runtime-deposit-channels{border-top:1px solid #242e40}
.runtime-deposit-channels .desktop-deposit-channel{display:flex;width:100%;min-height:100px;align-items:center;justify-content:space-between;padding:24px 4px;border:0;border-bottom:1px solid #242e40;border-radius:0;background:transparent;color:#f1f5fa;cursor:pointer;font:16px Avenir,Helvetica,Arial,sans-serif;text-align:left}
.runtime-deposit-channels .desktop-deposit-channel:hover,.runtime-deposit-channels .desktop-deposit-channel:focus-visible{background:#101827;outline:none}
.runtime-deposit-channels .desktop-deposit-channel-icon{width:50px;height:50px;flex:0 0 50px;margin-right:20px}
.runtime-deposit-channels .desktop-deposit-channel-chevron{width:30px;height:30px;opacity:.75}
/* F0: 桌面站内切页骨架。顶栏常驻，正文区骨架占位，取代整页“载入中”。 */
.desktop-page-skeleton{display:grid;gap:14px;max-width:1240px;margin:32px auto;padding:0 28px}
.desktop-skeleton-line{display:block;height:16px;border-radius:8px;background:linear-gradient(90deg,#121820 25%,#1c2632 37%,#121820 63%);background-size:400% 100%;animation:desktop-skeleton-shimmer 1.4s ease-in-out infinite}
.desktop-skeleton-line.wide{height:24px;max-width:60%}
@keyframes desktop-skeleton-shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}
.desktop-route-failure{max-width:720px;margin:80px auto;padding:0 28px;display:grid;gap:16px;justify-items:start}
.desktop-route-failure button{border:1px solid #39485e;border-radius:8px;background:#0e1622;color:inherit;padding:10px 16px;cursor:pointer}
@media (prefers-reduced-motion:reduce){.desktop-skeleton-line{animation:none}}


/* B3：永续不可用横幅——必须在页面最上方一眼看到，不能混在其它状态里。 */
.contract-unavailable{margin:0 0 10px;padding:10px 14px;border:1px solid #b4791f;border-radius:8px;
  background:rgba(180,121,31,.12);color:#f0d5a4;font-size:13px;line-height:1.5}
.contract-portal[data-availability="PERPETUAL_UNAVAILABLE"] #contract-order-form button[type="submit"]{opacity:.55}

/* R30 visual convergence: contracts use the same charcoal terminal foundation as
   the spot terminal.  Keep cyan/red/green strictly as trading-state accents. */
.desktop-contract.contract-portal{background:#0c0819;color:#f3f6fb}
.desktop-contract .contract-header{background:#0c0819;border-bottom-color:#394150}
.desktop-contract .contract-header nav a{color:#9ba5b4}
.desktop-contract .contract-header nav a.active,.desktop-contract .contract-header nav a:hover{color:#f3f6fb;border-bottom-color:var(--brand-accent,#00F0FF)}
.desktop-contract .contract-connection{color:#9ba5b4}.desktop-contract .contract-session{color:var(--brand-accent,#00F0FF)}
.desktop-contract .contract-market-summary,.desktop-contract .contract-workspace{background:#394150;border-color:#394150}
.desktop-contract .contract-market-summary>*{background:#0c0819}
.desktop-contract .contract-market-summary select,.desktop-contract .contract-order-card input,.desktop-contract .contract-order-card select{background:#1a1b23;border-color:#4d5562;color:#f3f6fb}
.desktop-contract .contract-market-summary>strong{color:var(--brand-accent,#00F0FF)}
.desktop-contract .contract-market-summary small,.desktop-contract .contract-order-card label,.desktop-contract .contract-estimate dt{color:#9ba5b4}
.desktop-contract .contract-workspace>article,.desktop-contract .contract-records{background:#0c0819}
.desktop-contract .contract-chart-card button,.desktop-contract .contract-record-tabs button,.desktop-contract .contract-toggle button,.desktop-contract .contract-percentages button{background:#1a1b23;border-color:#4d5562;color:#9ba5b4}
.desktop-contract .contract-chart-card button:hover,.desktop-contract .contract-record-tabs button.active,.desktop-contract .contract-toggle button.active,.desktop-contract .contract-percentages button:hover{background:#201b2d;border-color:var(--brand-accent,#00F0FF);color:var(--brand-accent,#00F0FF)}
.desktop-contract .contract-book-card button,.desktop-contract .contract-trades-card p{background:#120e20;color:#d5dde7}
.desktop-contract .contract-record-tabs{border-bottom-color:#394150}.desktop-contract .contract-table-scroll th{background:#1a1b23;color:#9ba5b4}.desktop-contract .contract-table-scroll td{border-bottom-color:#24212e;color:#d5dde7}.desktop-contract .contract-table-scroll tr:nth-child(even){background:#120e20}
.desktop-delivery.contract-portal{background:var(--terminal-bg);color:var(--terminal-text)}
.desktop-delivery .contract-header{background:var(--terminal-surface);border-bottom-color:var(--terminal-border)}.desktop-delivery .contract-header nav a{color:var(--terminal-muted)}.desktop-delivery .contract-header nav a.active,.desktop-delivery .contract-header nav a:hover{color:var(--terminal-text);border-bottom-color:var(--terminal-accent)}.desktop-delivery .contract-connection{color:var(--terminal-muted)}.desktop-delivery .contract-session{color:var(--terminal-accent)}
.desktop-delivery .desktop-delivery-grid{background:var(--terminal-border)}.desktop-delivery .delivery-market,.desktop-delivery .delivery-order-card,.desktop-delivery .delivery-records{background:var(--terminal-surface)}
.desktop-delivery .delivery-market select,.desktop-delivery .delivery-order-card input,.desktop-delivery .delivery-order-card select,.desktop-delivery .delivery-periods button{background:var(--terminal-bg);border-color:var(--terminal-border);color:var(--terminal-text)}.desktop-delivery .delivery-market strong,.desktop-delivery .delivery-market header span,.desktop-delivery .delivery-order-row header strong{color:var(--terminal-accent)}
.desktop-delivery .delivery-chart{background:linear-gradient(180deg,var(--terminal-card),var(--terminal-bg))}.desktop-delivery .delivery-order-card fieldset,.desktop-delivery .delivery-order-row{border-color:var(--terminal-border)}.desktop-delivery .delivery-order-row{background:var(--terminal-card)}.desktop-delivery .delivery-order-row dt{color:var(--terminal-muted)}.desktop-delivery .delivery-periods button.active{border-color:var(--terminal-accent);color:var(--terminal-accent);background:var(--terminal-raised)}
/* Delivery used the retired one-pixel split-panel layout, which made the
   chart look pasted onto the page and the order ticket feel unrelated. Keep
   the same terminal card hierarchy used by markets and spot trading. */
.desktop-delivery .desktop-delivery-grid{gap:16px;padding:16px;background:var(--terminal-bg)}
.desktop-delivery .delivery-market,.desktop-delivery .delivery-order-card,.desktop-delivery .delivery-records{border:1px solid var(--terminal-border);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.16)}
.desktop-delivery .delivery-records{min-height:230px}
/* Delivery market is a compact quote header plus chart, matching the rest of
   the desktop terminal instead of leaving a vertical stack of empty space. */
.desktop-delivery .delivery-market{padding:14px 16px}.desktop-delivery .delivery-market header{display:grid;grid-template-columns:minmax(190px,260px) auto minmax(80px,1fr);gap:14px;align-items:center}.desktop-delivery .delivery-market header select{width:100%;min-width:0;background:var(--terminal-bg)!important;border-color:var(--terminal-border)!important}.desktop-delivery .delivery-market header strong{font-size:24px}.desktop-delivery .delivery-market header [data-delivery-socket]{display:none}.desktop-delivery .delivery-market .delivery-change{margin:0;font-variant-numeric:tabular-nums}.desktop-delivery .delivery-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:13px 0 0}.desktop-delivery .delivery-stats div{padding:9px 0;border-top:1px solid var(--terminal-border)}.desktop-delivery .delivery-stats dt{color:var(--terminal-muted);font-size:12px}.desktop-delivery .delivery-stats dd{margin:4px 0 0;color:var(--terminal-text);font-variant-numeric:tabular-nums}.desktop-delivery .delivery-chart{height:300px;margin-top:4px}.desktop-delivery .delivery-chart .kline-svg{display:block;width:100%;height:calc(100% - 42px)}
.contract-account-page{background:#0c0819;color:#f3f6fb}.contract-account-page>section{background:#0c0819;border-color:#394150}.contract-account-page>section>a{color:var(--brand-accent,#00F0FF)}.account-summary-grid article{background:#1a1b23;border-color:#394150}.account-summary-grid span{color:#9ba5b4}.account-summary-grid bdi{color:#f3f6fb}

/* V4 terminal continuity: the shared desktop header is used by the contract
   route too.  Without an explicit contract scope, the plain anchors inherit
   the browser blue link color even though every other terminal link is muted.
   The cyan state remains reserved for the selected destination. */
.desktop-contract .home-header{background:#060608;border-bottom-color:#24212e}
.desktop-contract .home-header .home-nav>a,.desktop-contract .home-header .home-session>a{color:#aeb7c5;text-decoration:none}
.desktop-contract .home-header .home-nav>a:hover,.desktop-contract .home-header .home-session>a:hover{color:var(--brand-accent,#00F0FF)}
.desktop-contract .home-header .home-nav a.active{color:var(--brand-accent,#00F0FF)}

/* The public header is shared by spot, delivery, contract and account routes.
   Those routes do not all sit inside .desktop-home, so browsers otherwise paint
   plain navigation anchors blue.  Keep navigation in the same terminal palette
   everywhere; only the active route may use cyan. */
.home-header .home-nav>a,.home-header .home-session>a{color:#aeb7c5;text-decoration:none}
.home-header .home-nav>a:hover,.home-header .home-session>a:hover{color:var(--brand-accent,#00F0FF)}
.home-header .home-nav a.active{color:var(--brand-accent,#00F0FF)}

/* Shared header menus used to have only markup: browser-default buttons and
   unstyled popovers made desktop navigation look incomplete on every route
   that uses the new registry.  Treat links and grouped menu triggers as the
   same first-class navigation control, with an explicit open/active state. */
.shared-desktop-navigation .home-nav{min-width:0}
.shared-desktop-navigation .home-nav-popover-wrap{position:relative;display:flex;align-items:center;height:60px}
.shared-desktop-navigation .home-nav-menu{position:relative;display:flex;align-items:center;min-height:38px;padding:0;border:0;background:transparent;color:#aeb7c5;font:inherit;cursor:pointer}
.shared-desktop-navigation .home-nav-menu::after{content:'⌄';margin-left:5px;color:#718196;font-size:13px;line-height:1;transition:transform .16s ease}
.shared-desktop-navigation .home-nav-menu[aria-expanded="true"]::after{transform:rotate(180deg)}
.shared-desktop-navigation .home-nav-menu:hover,.shared-desktop-navigation .home-nav-menu.active,.shared-desktop-navigation .home-nav-menu[aria-current="page"]{color:var(--brand-accent,#00F0FF)}
.shared-desktop-navigation .home-nav-menu:focus-visible,.shared-desktop-navigation .home-nav a:focus-visible,.shared-desktop-navigation .home-session a:focus-visible{outline:2px solid var(--brand-accent,#00F0FF);outline-offset:4px;border-radius:3px}
.shared-desktop-navigation .home-nav-popover{position:absolute;top:52px;left:50%;z-index:80;display:grid;min-width:152px;padding:6px;transform:translateX(-50%);border:1px solid #26394b;border-radius:8px;background:rgba(12,22,34,.98);box-shadow:0 16px 34px rgba(0,0,0,.36);backdrop-filter:blur(14px)}
.shared-desktop-navigation .home-nav-popover[hidden]{display:none}
.shared-desktop-navigation .home-nav-popover a{display:flex;align-items:center;min-height:38px;padding:0 11px;border-radius:5px;color:#aeb7c5;text-decoration:none;white-space:nowrap}
.shared-desktop-navigation .home-nav-popover a:hover,.shared-desktop-navigation .home-nav-popover a.active,.shared-desktop-navigation .home-nav-popover a:focus-visible{background:#142b37;color:var(--brand-accent,#00F0FF);outline:none}
.shared-desktop-navigation .shared-desktop-account{display:flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid #294050;border-radius:6px;background:#101c28;color:#dce8ee!important}
.shared-desktop-navigation .shared-desktop-account:hover{border-color:var(--brand-accent,#00F0FF);color:var(--brand-accent,#00F0FF)!important}

/* Never hide public tape data to make a medium desktop layout fit.  Between
   1101px and 1500px the terminal becomes a deliberate three-column grid:
   chart, book/tape stack, and order ticket.  It preserves the information
   hierarchy while keeping both order book and recent trades visible. */
@media (min-width:1101px) and (max-width:1500px){
  .desktop-contract .contract-workspace{
    grid-template-columns:minmax(420px,1.5fr) minmax(210px,.68fr) minmax(280px,.88fr);
    grid-template-rows:minmax(210px,1fr) minmax(210px,1fr);
  }
  .desktop-contract .contract-workspace>article{min-height:0}
  .desktop-contract .contract-chart-card{grid-column:1;grid-row:1 / span 2}
  .desktop-contract .contract-book-card{grid-column:2;grid-row:1}
  .desktop-contract .contract-trades-card{display:block;grid-column:2;grid-row:2}
  .desktop-contract .contract-order-card{grid-column:3;grid-row:1 / span 2}
  .desktop-contract .contract-book-card #contract-book,.desktop-contract .contract-trades-card #contract-trades{max-height:none}
}

/* TM2: desktop spot keeps directional buy/sell colors while neutral terminal
   tabs and prices use the shared violet accent. */
.healthy-spot-trade.terminal-surface #spot-last,.healthy-spot-trade.terminal-surface .spot-tabs button.active{color:var(--terminal-accent)!important}.healthy-spot-trade.terminal-surface .spot-tabs button.active{border-bottom-color:var(--terminal-accent)!important}.healthy-spot-trade.terminal-surface .spot-sides [data-side="BUY"].active,.healthy-spot-trade.terminal-surface #spot-submit{background:var(--terminal-success)!important;color:#06170f!important}.healthy-spot-trade.terminal-surface .spot-sides [data-side="SELL"].active,.healthy-spot-trade.terminal-surface #spot-submit.sell{background:var(--terminal-danger)!important;color:#24030c!important}

/* Runtime asset pages are a single desktop form, not a two-column grid of
   nested labels.  Keeping the outer grid at two columns made each label land
   in the 144px label column, so its own label/value layout collapsed into
   vertical characters.  Give every field the full card width and reserve the
   inner columns exclusively for its caption and control. */
.runtime-funds-card .stage4-form{grid-template-columns:minmax(0,760px);width:100%;max-width:760px}
.runtime-funds-card .stage4-form label{display:grid;grid-column:1;grid-template-columns:144px minmax(0,1fr);align-items:center;gap:12px;width:100%}
.runtime-funds-card .stage4-form label>.terminal-select{grid-column:2;grid-row:1;width:100%;min-width:0}
.runtime-funds-card .stage4-form label>output{box-sizing:border-box;min-width:0;width:100%;min-height:42px}
.runtime-funds-card .stage4-form .check,.runtime-funds-card .stage4-form button,.runtime-funds-card .stage4-form p{grid-column:1;width:100%}
@media(max-width:1100px){.runtime-funds-card .stage4-form label{grid-template-columns:1fr}}

/* Contract, delivery, spot and account screens are one terminal product.  The
   older contract route carried its own purple-black palette, which made it
   look like an embedded third-party page beside the blue-charcoal terminal.
   Neutral surfaces now use the same shared tokens; only trade direction keeps
   its semantic color. */
.desktop-contract.contract-portal{background:radial-gradient(circle at 82% 0,rgba(20,174,194,.12),transparent 34%),var(--terminal-bg)!important;color:var(--terminal-text)!important}
.desktop-contract .contract-header{background:var(--terminal-surface)!important;border-bottom-color:var(--terminal-border)!important}
.desktop-contract .contract-header nav a,.desktop-contract .contract-connection{color:var(--terminal-muted)!important}
.desktop-contract .contract-header nav a.active,.desktop-contract .contract-header nav a:hover{color:var(--terminal-text)!important;border-bottom-color:var(--terminal-accent)!important}
.desktop-contract .contract-session,.desktop-contract .contract-market-summary>strong{color:var(--terminal-accent)!important}
.desktop-contract .contract-market-summary,.desktop-contract .contract-workspace{background:var(--terminal-border)!important;border-color:var(--terminal-border)!important}
.desktop-contract .contract-market-summary>*,.desktop-contract .contract-workspace>article,.desktop-contract .contract-records{background:var(--terminal-surface)!important}
.desktop-contract :is(.contract-market-summary select,.contract-order-card input,.contract-order-card select,.contract-chart-card button,.contract-record-tabs button,.contract-toggle button,.contract-percentages button){background:var(--terminal-bg)!important;border-color:var(--terminal-border)!important;color:var(--terminal-text)!important}
.desktop-contract :is(.contract-chart-card button:hover,.contract-record-tabs button.active,.contract-toggle button.active,.contract-percentages button:hover){background:var(--terminal-raised)!important;border-color:var(--terminal-accent)!important;color:var(--terminal-accent)!important}
.desktop-contract :is(.contract-market-summary small,.contract-order-card label,.contract-estimate dt,.contract-table-scroll th){color:var(--terminal-muted)!important}
.desktop-contract :is(.contract-book-card button,.contract-trades-card p,.contract-table-scroll tr:nth-child(even)){background:var(--terminal-card)!important;color:var(--terminal-text)!important}
.desktop-contract .contract-record-tabs,.desktop-contract .contract-table-scroll td{border-color:var(--terminal-border)!important}

/* Delivery periods are finite choices: wrap them in the form instead of
   forcing an inner horizontal scrollbar. */
.desktop-delivery .delivery-periods{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:6px;overflow:visible}
.desktop-delivery .delivery-periods button{width:100%;white-space:nowrap}
.terminal-order-detail{display:grid;grid-template-columns:1fr;gap:0;margin:0;border:1px solid var(--terminal-border);border-radius:10px;overflow:hidden;background:var(--terminal-surface)}
.terminal-order-detail>div{min-width:0;padding:11px 12px;border:0;border-radius:0;background:transparent;border-block-end:1px solid color-mix(in srgb,var(--terminal-border) 72%,transparent)}
.terminal-order-detail>div:nth-child(odd){border-inline-end:0}
.terminal-order-detail dt{color:var(--terminal-muted);font-size:12px}.terminal-order-detail dd{min-width:0;margin:5px 0 0;overflow-wrap:anywhere;color:var(--terminal-text);font-weight:600}
.terminal-order-success{margin:8px 4px;color:var(--terminal-text);font-size:16px;font-weight:700;text-align:center}

/* 交割档位按钮：秒数 + 该档收益率两行。
   收益率现在可在后台按档单独设置，所以必须逐档显示 —— 只在上方给一个总的
   「盈利率」，用户看不出选 30 秒和选 620 秒收益差多少。参考站也是这么做的。 */
.desktop-delivery .delivery-periods{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.desktop-delivery .delivery-periods button{display:grid;gap:2px;height:auto;min-height:46px;padding:7px 6px;line-height:1.25;white-space:normal}
.desktop-delivery .delivery-periods button b{font-size:13px;font-weight:600}
.desktop-delivery .delivery-periods button small{color:var(--terminal-text-muted,#8aa0b8);font-size:11px}
.desktop-delivery .delivery-periods button.active small{color:inherit;opacity:.85}

/* ============================================================
   币币交易页：三列栅格 + 与合约页统一配色
   ------------------------------------------------------------
   此前是四列（K线 / 盘口 / 最新成交 / 下单），盘口只分到 148px，
   价格和数量挤成一团。现在最新成交并入盘口做页签，空出来的宽度给盘口，
   变成参考站那样的三列：K线撑满剩余 | 盘口 420 | 下单 420。

   配色：币币的内容区底色是 #17202b，合约是 #1d3440 —— 两页切换时明显
   "换了一套皮"。统一到 --terminal-surface / --terminal-card 变量，
   以后改一处两边同步，不再各写各的十六进制。

   注意：styles.css 里此前累积了 8 条互相覆盖的 .spot-grid 规则（含多个
   媒体查询里的四列定义）。合并成交列后那些四列定义全部作废，这里用一条
   覆盖式定义收口，并对窄屏给出明确的降级顺序。
   ============================================================ */
/* 选择器必须带上 .healthy-spot-trade / .stage5-desktop-visual：页面根节点带这两个
   class，styles.css 里已有的四列定义正是用它们写的（两段 class 比单段更具体），
   只写 .spot-grid 会被它们压过去 —— 无论追加在多后面。 */
.spot-grid,
.healthy-spot-trade .spot-grid,
.stage5-desktop-visual .spot-grid{
  grid-template-columns:minmax(0,1fr) 420px 420px;
  background:var(--terminal-surface,#17202b);
}
.spot-grid > .spot-chart{grid-column:auto;grid-row:auto}
.spot-grid > .spot-forms{grid-column:auto;grid-row:auto}

/* 盘口/成交页签条 */



/* 为了做页签，给盘口和成交各加了一个 [data-book-pane] 包裹层。但原来那一整套
   针对 #spot-asks / #spot-mid / #spot-bids 的布局规则是按「它们是 .spot-book 的
   直接子元素」写的，凭空插一层会打断高度传递（实测档位高度塌成 0：数据在、看不见）。
   用 display:contents 让包裹层不参与布局 —— 子元素在布局上仍然是 .spot-book 的
   直接子元素，原有规则一条都不用改；页签切换仍然靠 hidden 生效。 */
.spot-book [data-book-pane]{display:contents}
.spot-book [data-book-pane][hidden]{display:none}

/* 窄屏降级：先把下单区落到第二行整行，再退成单列 */
/* 窄屏降级：先收窄三列，不要一上来就把下单区拆成整行 ——
   整行的表单会把输入框拉到上千像素宽，比窄一点的三列难看得多。
   真正放不下（<1100）时才退成单列堆叠。 */
@media (max-width:1439px){
  .spot-grid,.healthy-spot-trade .spot-grid,.stage5-desktop-visual .spot-grid{grid-template-columns:minmax(0,1fr) 340px 340px}
}
@media (max-width:1099px){
  .spot-grid,.healthy-spot-trade .spot-grid,.stage5-desktop-visual .spot-grid{grid-template-columns:minmax(0,1fr) 320px}
  .spot-grid > .spot-forms{grid-column:1 / -1}
}
@media (max-width:820px){
  .spot-grid,.healthy-spot-trade .spot-grid,.stage5-desktop-visual .spot-grid{grid-template-columns:minmax(0,1fr)}
  .spot-grid > .spot-book,.spot-grid > .spot-forms{grid-column:1 / -1}
}
/* 合约页内容区底色统一到与币币同一个变量（原来是 #1d3440 / #394150，
   与币币的 #17202b 不同，两页之间切换会看出色差）。 */
/* 合约内容区此前用 --terminal-border（边框色 #22364c）当背景，而币币用的是
   --terminal-surface，两页切换会明显看出色差。这里统一到 surface。
   必须带 .desktop-contract 前缀并保留 !important —— 原规则就是
   `.desktop-contract .contract-workspace{background:var(--terminal-border)!important}`，
   不同时满足这两点盖不过它。 */
.desktop-contract .contract-market-summary,
.desktop-contract .contract-workspace{background:var(--terminal-surface,#0b111d)!important}

/* 永续页盘口/成交合并为页签，与币币页同构（参考站也是这么放的）。
   包裹层用 display:contents，避免打断原有「卡片 → 列表」的高度传递链 ——
   币币页那次就是凭空插一层导致档位高度塌成 0。 */



.contract-book-card [data-cbook-pane]{display:contents}
.contract-book-card [data-cbook-pane][hidden]{display:none}
/* 四列 → 三列：成交并入盘口后空出的宽度给盘口和下单区 */
.desktop-contract .contract-workspace{grid-template-columns:minmax(0,1fr) 380px 380px}
@media (max-width:1439px){.desktop-contract .contract-workspace{grid-template-columns:minmax(0,1fr) 320px 320px}}
@media (max-width:1099px){.desktop-contract .contract-workspace{grid-template-columns:minmax(0,1fr) 320px}
  .desktop-contract .contract-order-card{grid-column:1 / -1}}

/* K线区加高：参考正规交易所，图表是页面主体，不该只占 360px 而下面空一大片。
   两条工具栏（周期条 + 指标条）各约 38px，所以整体给 620px，画布仍有 540 左右。 */
.desktop-contract .contract-chart-card #contract-kline{height:620px}
.healthy-spot-trade .spot-chart #spot-kline,
.desktop-delivery .delivery-chart{min-height:520px}

/* 桌面永续：K线是主体，原来 663/380/380 让图表只占 46%，盘口和下单栏各吃掉一大块。
   真实交易所桌面端图表横向占主导，盘口与下单是侧栏。改成约 62% / 20% / 18%。 */
.desktop-contract .contract-workspace{grid-template-columns:minmax(680px,3.2fr) minmax(240px,1fr) minmax(300px,1fr)}
