html,body{height:100%;margin:0;overflow:hidden;background:#020c16}.widget-heading{height:48px;display:flex;align-items:center;gap:14px;padding:0 14px;border-bottom:1px solid #20374c;background:#071522}.widget-heading>strong{font-size:14px;margin-right:auto}.widget-heading .market-status{display:grid;padding:0 12px;border:0}.widget-heading>button:not(.market-status){display:flex;align-items:center;gap:6px;font-size:11px;min-height:32px;padding:6px 9px}.widget-heading svg{width:16px;height:16px}.markets-workspace{margin-left:0;height:calc(100dvh - 48px);grid-template-columns:minmax(0,1fr) 325px}.world-workspace{border-radius:0;border-left:0}.port-panel{margin:0;border-radius:0}.market-header,.icon-rail{display:none!important}@media(max-width:800px){html,body{overflow:auto}.markets-workspace{margin-left:0;display:grid;grid-template-columns:1fr;height:auto}.world-workspace{height:650px}.port-panel{margin:0}.widget-heading{position:sticky;top:0;z-index:20;gap:6px}.widget-heading .market-status small{display:none}.widget-heading>strong{font-size:12px}.widget-heading #settingsButton{display:none}}
/* Content determines widget height. The parent page owns vertical scrolling. */
html,body{height:auto;min-height:0;overflow:visible}
.markets-workspace{height:auto;min-height:780px;align-items:stretch}
.world-workspace{height:auto;min-height:780px}
.port-panel{height:auto;max-height:none;overflow:visible;align-self:start}
.panel-content{height:auto;max-height:none;overflow:visible}
.port-panel .panel-content dl{row-gap:12px}
.library-icon{width:19px;height:19px;display:inline-block;vertical-align:middle;filter:invert(82%) sepia(17%) saturate(650%) hue-rotate(170deg);flex-shrink:0}
.crypto-icon{width:24px;height:24px;object-fit:contain;filter:none;flex-shrink:0}
.crypto-identity{display:flex;gap:8px;align-items:center;margin:12px 0;color:#90c8f2;font-size:10px;line-height:1.5}
.quote-timestamp{color:#91a6bc;font-size:11px;line-height:1.65;margin:9px 0 13px;overflow-wrap:anywhere}
.selected-price{flex-wrap:wrap;gap:8px}.selected-price>strong{font-size:13px}
.chart-box{height:140px}.chart-box svg{height:104px}.chart-box small{position:static;display:block;font-size:9px;line-height:1.4;margin-top:3px;overflow-wrap:anywhere}
.port-card{width:184px;min-height:108px}.port-card .quote-source{grid-column:2/4;font-size:9px;color:#8daac1;white-space:normal}.port-card.selected{width:190px;min-height:118px}.port-card.selected .ticker{display:block;white-space:normal}.port-card.selected .anchor{background:transparent;border:0;box-shadow:none;height:30px}.port-card .anchor{background:none;border:0;box-shadow:none}.port-card.selected .crypto-icon{width:28px;height:28px}.port-card .change,.port-card.selected .change{font-size:10px;white-space:normal;grid-column:2/4}.port-card .price{grid-column:2/4}.market-summary>div{grid-template-columns:.7fr .8fr 1.5fr}.market-summary p>b{font-size:13px}.market-summary p>span{font-size:10px}.market-summary>small{font-size:9px;line-height:1.5}.reference-vessel .library-icon{width:16px;height:16px}.market-stats{grid-template-columns:1fr 1fr;gap:14px}.widget-heading .market-status{cursor:pointer}.data-note{font-size:10px;line-height:1.6}.world-workspace .map-toolbar{z-index:12}
@media(max-width:1150px){.port-card{width:164px}.port-card.selected{width:174px}}
@media(max-width:800px){html,body{height:auto;overflow:visible}.markets-workspace{height:auto;min-height:0}.world-workspace{height:700px;min-height:700px}.port-panel{height:auto;max-height:none;overflow:visible;margin:0}.widget-heading{position:relative}.port-panel .panel-content{overflow:visible;height:auto}#cardLayer.mobile-cards{height:140px;top:220px}.port-card,.port-card.selected{min-height:118px}.port-card.selected .ticker{display:block}.market-summary p>b{font-size:12px}.widget-heading .market-status small{display:block;font-size:9px}}
/* Blue maritime camera controls remain inside the existing map. */
.world-workspace{background:#061426}.map-toolbar button,.map-utilities button,.camera-panel button{background:#0D1B2E;border:1px solid #294563;color:#ecf5ff}.map-utilities{right:12px;bottom:230px;gap:6px}.map-utilities button{width:44px;height:44px;min-width:44px;border-radius:9px}.map-utilities button:hover,.camera-panel button:hover{border-color:#35D5FF}.map-utilities button:focus-visible,.camera-panel button:focus-visible{outline:2px solid #2F7BFF;outline-offset:2px}.camera-panel{position:absolute;z-index:16;right:64px;bottom:230px;width:250px;padding:12px;background:rgba(13,27,46,.97);border:1px solid #294563;border-radius:12px}.camera-panel[hidden]{display:none}.camera-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.camera-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.camera-grid button{min-height:44px;border-radius:8px;font-size:13px}.camera-panel label{display:block;margin-top:12px;font-size:12px}.camera-panel small{display:block;font-size:11px;color:#a9bcd1;line-height:1.5;margin-top:10px}.tilt-label input{width:100%;accent-color:#2F7BFF}.tilt-label output{float:right}.camera-panel .pf-select-options{bottom:100%;top:auto;max-height:260px;overflow:auto}.port-intelligence,.port-community{border-top:1px solid #294563;padding-top:16px;margin-top:18px}.port-intelligence h2,.port-community h2{font-size:15px;margin:0 0 12px}.port-intelligence p,.port-community small{font-size:11px;line-height:1.6;color:#a9bcd1}.port-community{display:grid;gap:10px}.port-community a,.port-community button{padding:10px;border:1px solid #294563;background:#0D1B2E;border-radius:8px;color:#ecf5ff;text-align:left}.map-toolbar .view-modes{flex-wrap:wrap}.portflow-mission{color:#a9bcd1;font-size:13px;line-height:1.6}@media(max-width:800px){.camera-panel{right:62px;bottom:225px;width:min(250px,calc(100% - 74px))}.map-utilities{bottom:225px}.world-workspace .map-toolbar{gap:6px}.view-modes button{font-size:10px;padding:7px}}
/* Compact map, natural detail height, readable market chart. */
.markets-workspace{min-height:0;align-items:start}.world-workspace{height:680px;min-height:680px;max-height:680px;align-self:start}.world-workspace .map-toolbar{will-change:transform;background:rgba(13,27,46,.97);backdrop-filter:blur(14px);border-color:#294563;transition:none}.chart-box{height:auto;min-height:220px;margin:10px 0 18px}.chart-box svg{position:static;width:100%;height:auto;min-height:175px;display:block}.chart-box small{font-size:11px;line-height:1.6}.chart-periods{gap:4px;flex-wrap:wrap}.chart-periods button{font-size:12px;min-height:34px;padding:7px 9px}.chart-display{display:flex;gap:8px;margin-top:12px}.chart-display button{flex:1;padding:9px;color:#a9bcd1;border:1px solid #294563;border-radius:8px;background:rgba(13,27,46,.8);backdrop-filter:blur(12px)}.chart-display button[aria-pressed=true]{color:#f1f5ff;border-color:#2f7bff;background:#153454}.trade-actions{display:grid;grid-template-columns:1fr 1fr 40px;gap:8px}.trade-actions .trade-button{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:9px;font-weight:800;backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #ffffff12}.trade-actions .buy-button{color:#2ee6c8;border:1px solid #2ee6c870;background:linear-gradient(180deg,#153e39cc,#0d2828cc)}.trade-actions .sell-button{color:#ff6b73;border:1px solid #ff6b7370;background:linear-gradient(180deg,#40232dcc,#281c29cc)}.port-panel .panel-content{padding:18px}.selected-price>b{font-size:30px}.market-stats p>b{font-size:15px}.camera-panel{bottom:210px}.map-utilities{bottom:210px}@media(min-width:1151px){.markets-workspace{grid-template-columns:minmax(0,1fr) 365px}}@media(max-width:800px){.world-workspace{height:620px;min-height:620px;max-height:620px}.chart-box svg{min-height:190px}.map-utilities,.camera-panel{bottom:210px}}@media(max-width:400px){.chart-box svg{min-height:165px}.chart-periods button{padding:6px 8px}.port-panel .panel-content{padding:14px}}
.world-view .port-card,.world-view .port-card.selected{width:124px;min-height:64px;height:auto;padding:7px 9px;border-radius:9px;grid-template-columns:20px 1fr;gap:3px 5px}.world-view .port-card .name{font-size:11px;white-space:nowrap}.world-view .port-card .crypto-icon,.world-view .port-card.selected .crypto-icon{width:18px;height:18px}.world-view .port-card .anchor,.world-view .port-card.selected .anchor{width:20px;height:20px}.world-view .port-card .price{font-size:12px;grid-column:2}.world-view .port-card .change,.world-view .port-card .quote-source,.world-view .port-card .ticker{display:none}#portConnectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}#cardLayer{z-index:3}.world-workspace #cardLayer.mobile-cards{inset:185px 0 auto;height:112px;display:flex;overflow-x:auto;gap:8px;padding:8px}.world-view #cardLayer.mobile-cards{height:88px}.world-view #cardLayer.mobile-cards .port-card{min-height:64px;height:64px}.world-view .port-card.selected{border-color:#2f7bff;box-shadow:0 0 9px #2f7bff33}
/* World overview labels: compact names and prices, full details on selection. */
.world-view .port-card,.world-view .port-card.selected{width:104px;min-height:56px;padding:6px;gap:2px 4px}.world-view .port-card .name{font-size:10px}.world-view .port-card .price{font-size:11px}.world-view .port-card .crypto-icon,.world-view .port-card.selected .crypto-icon{width:16px;height:16px}.world-view .port-card .anchor,.world-view .port-card.selected .anchor{width:18px;height:18px}
/* Matched-height map and focused trading panel; supporting information below. */
.markets-workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;height:680px;min-height:680px}.markets-workspace .world-workspace,.markets-workspace .port-panel{height:680px;min-height:0;max-height:680px}.port-panel{display:flex;flex-direction:column;align-self:stretch;overflow:visible}.port-panel .port-photo{height:56px;min-height:56px;margin:0;border-radius:0}.port-panel .port-photo img{width:100%;height:100%;object-fit:cover}.port-panel .panel-content{display:flex;flex-direction:column;flex:1;min-height:0;padding:12px;gap:6px}.port-panel h1{font-size:18px;line-height:1.25;margin:0}.port-panel h1 small{display:block;font-size:10px;line-height:1.5}.port-panel .port-location{font-size:11px;margin:0}.port-panel .crypto-identity{margin:0;font-size:9px;line-height:1.4}.port-panel .crypto-icon{width:20px;height:20px}.port-panel .selected-price{margin:0}.port-panel .selected-price>b{font-size:27px}.port-panel .selected-price>strong{font-size:11px}.port-panel .chart-periods{margin:2px 0;display:flex;flex-wrap:nowrap;gap:3px}.port-panel .chart-periods button{flex:1;min-width:0;padding:5px 3px;min-height:30px;font-size:11px}.port-panel .chart-display{margin:0;gap:6px}.port-panel .chart-display button{padding:6px;font-size:11px;min-height:32px}.port-panel .chart-box{flex:1;min-height:180px;height:auto;margin:0}.port-panel .chart-box svg{width:100%;height:100%;min-height:180px;max-height:none}.chart-window-controls{display:flex;align-items:center;justify-content:space-between;gap:4px}.chart-window-controls button{width:32px;height:30px;padding:4px;color:#e9f2ff;background:#10243a;border:1px solid #294563;border-radius:6px}.chart-window-controls button:disabled{opacity:.35;cursor:default}.chart-window-controls output{font-size:10px;color:#a9bcd1;font-variant-numeric:tabular-nums}.port-panel .trade-actions{margin:0;flex-shrink:0}.port-panel .panel-footer{margin:0;padding:6px 0 0;gap:6px;font-size:10px;flex-shrink:0}.map-information{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;padding:16px 0;background:#061426}.map-information>section{margin:0;padding:16px;border:1px solid #294563;border-radius:10px;background:#0D1B2E;min-width:0}.map-information h2{font-size:15px;margin:0 0 12px}.map-information p,.map-information small,.map-information dl{font-size:12px;line-height:1.6;color:#a9bcd1}.map-information dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.map-information dd{margin:0;text-align:right;overflow-wrap:anywhere}.map-information dt{display:flex;align-items:center;gap:6px}.map-information .market-stats{margin:12px 0}.map-information #chartNote{display:block;overflow-wrap:anywhere}.map-information .port-community{display:flex;flex-direction:column;gap:10px}.map-information .quote-timestamp{margin:0 0 12px}.map-information .library-icon{width:16px;height:16px}.markets-workspace.panel-closed{grid-template-columns:1fr}.markets-workspace.panel-closed .port-panel{display:none}
@media(max-width:1100px) and (min-width:801px){.markets-workspace{grid-template-columns:minmax(0,1fr) 280px}.map-information{grid-template-columns:1fr 1fr}.map-information .port-community{grid-column:1/-1}}
@media(max-width:800px){.markets-workspace{height:auto;min-height:0;grid-template-columns:1fr}.markets-workspace .world-workspace{height:620px;max-height:620px;min-height:620px}.markets-workspace .port-panel{height:620px;max-height:620px;min-height:620px}.port-panel .chart-box{min-height:200px}.map-information{grid-template-columns:1fr;padding:12px 0}.map-information>section{padding:14px}}
/* Tradable map SOT refinement: readable panel and compact display controls. */
.markets-workspace{height:800px;min-height:800px}.markets-workspace .world-workspace,.markets-workspace .port-panel{height:800px;max-height:800px}.port-panel .port-photo{height:140px;min-height:140px;position:relative}.port-panel #photoUnavailable{position:absolute;inset:0;align-content:center;text-align:center;background:#0D1B2E;color:#8A9FB4;padding:16px;font-size:14px}.port-panel #photoUnavailable[hidden]{display:none}.port-panel .panel-content{padding:14px;gap:8px}.port-panel h1{font-size:20px}.port-panel h1 small,.port-panel .port-location,.port-panel .crypto-identity{font-size:12px}.port-panel .selected-price>strong{font-size:13px}.port-panel .chart-periods button,.port-panel .chart-display button{font-size:13px;min-height:36px}.port-panel .panel-footer,.chart-window-controls output{font-size:12px}.candle-countdown{margin:0;color:#a9bcd1;font-size:12px;font-variant-numeric:tabular-nums;line-height:1.4}.map-information h2{font-size:18px}.map-information p,.map-information small,.map-information dl,.map-information a,.map-information button{font-size:14px;line-height:1.6}.widget-heading>strong{font-size:16px}.map-toolbar button,.map-toolbar input,.map-toolbar .pf-select-trigger{font-size:14px;min-height:40px}.map-toolbar button,.port-panel button,.compact-layers{background-color:rgba(13,27,46,.94);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 #ffffff0a}.compact-layers{width:auto!important;min-width:0!important;padding:0!important;overflow:visible!important}.compact-layers #layersHeading{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-size:14px;margin:0}.compact-layers #layersHeading img{width:18px;height:18px}.compact-layers #layerOptions{position:absolute;right:0;bottom:calc(100% + 8px);width:240px;max-width:calc(100vw - 40px);padding:12px;background:#0D1B2E;border:1px solid #294563;border-radius:10px;box-shadow:0 12px 30px #0008;max-height:380px;overflow-y:auto}.compact-layers #layerOptions[hidden]{display:none}.compact-layers #layerOptions label{display:flex;gap:8px;align-items:center;min-height:36px;font-size:14px}.map-style-label{margin:0 0 8px;font-size:12px;color:#8A9FB4}.port-card[hidden]{display:none!important}
@media(max-width:800px){.markets-workspace{height:auto;min-height:0}.markets-workspace .world-workspace{height:620px;min-height:620px;max-height:620px}.markets-workspace .port-panel{height:auto;min-height:800px;max-height:none}.port-panel .chart-box{min-height:240px}.port-panel .chart-box svg{min-height:240px}.widget-heading>strong{font-size:14px}}
/* One document scroll: map and quote panel share one surface; intelligence stays in its own cards. */
html,body{overflow:hidden!important;height:auto!important;min-height:0!important}.markets-workspace{height:auto;min-height:0;gap:0;background:#0D1B2E;border:1px solid #1E324B;border-radius:0;align-items:stretch}.markets-workspace .world-workspace{height:800px;max-height:none;min-height:800px;border:0;border-radius:0}.markets-workspace .port-panel{height:auto;min-height:800px;max-height:none;border:0;border-left:1px solid #1E324B;border-radius:0;overflow:visible}.port-panel .panel-content{height:auto;min-height:0;overflow:visible}.port-panel .chart-box{flex:0 0 auto;min-height:215px}.port-panel .chart-box svg{height:215px;min-height:215px}.port-panel .panel-footer{flex-wrap:wrap}.map-information{padding:16px;gap:16px;background:#081321}.map-information>section{background:linear-gradient(135deg,#10253d,#0D1B2E 70%);border:1px solid #294563;box-shadow:inset 0 1px 0 #5ac8ff18,0 8px 24px #0002;border-radius:12px}.intel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.intel-actions button,.intel-actions a,.share-map{display:inline-flex;gap:6px;align-items:center;justify-content:center;padding:10px 12px;min-height:40px;color:#F1F5FF;background:linear-gradient(160deg,#193854d9,#0b1b30eb);border:1px solid #31516f;border-radius:8px;font:600 13px Inter,system-ui;cursor:pointer}.intel-actions button:hover,.intel-actions a:hover,.share-map:hover{border-color:#24c8ff;box-shadow:0 0 12px #24c8ff18}.share-map{position:absolute;left:14px;bottom:160px;z-index:8}.coin-directory{padding:20px 16px;background:#081321}.coin-directory header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.coin-directory h2{font-size:20px;margin:0 0 8px}.coin-directory p,.coin-directory label{font-size:13px;color:#8A9FB4;line-height:1.5}.coin-directory input{display:block;margin-top:6px;min-height:42px;width:220px;max-width:100%;background:#0D1B2E;color:#F1F5FF;border:1px solid #294563;border-radius:8px;padding:10px}.coin-row{display:grid;grid-template-columns:28px minmax(140px,1.4fr) .7fr .8fr .7fr minmax(140px,1.2fr);gap:14px;align-items:center;width:100%;padding:16px;text-align:left;border:0;border-bottom:1px solid #1E324B;color:#F1F5FF;background:#0D1B2E;font-size:14px;font-variant-numeric:tabular-nums}.coin-row:nth-child(even){background:#0b182a}.coin-row small{display:block;color:#8A9FB4;font-size:12px;line-height:1.5}.coin-row:hover,.coin-row[aria-pressed=true]{background:#122c47}.coin-row[hidden]{display:none}.coin-time{overflow-wrap:anywhere}.coin-row:focus-visible,.intel-actions button:focus-visible{outline:2px solid #24C8FF;outline-offset:-2px}.compact-layers #layerOptions{max-height:none;overflow:visible}.world-workspace #cardLayer.mobile-cards{overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;max-height:none;pointer-events:none;top:190px}.world-workspace #cardLayer.mobile-cards .port-card{position:relative!important;left:auto!important;top:auto!important;width:100%;min-height:48px;height:auto;pointer-events:auto}.world-workspace #cardLayer.mobile-cards .port-card .quote-source,.world-workspace #cardLayer.mobile-cards .port-card .change{display:none}
@media(max-width:800px){.markets-workspace .world-workspace{height:820px;min-height:820px}.markets-workspace .port-panel{min-height:0;border-left:0;border-top:1px solid #1E324B}.port-panel .chart-box svg{height:260px;min-height:260px}.map-information{padding:12px}.coin-directory header{align-items:stretch;flex-direction:column}.coin-directory input{width:100%}.coin-row{grid-template-columns:24px minmax(0,1fr) auto;gap:8px;padding:14px}.coin-row .coin-time{grid-column:2/-1}.coin-row .coin-price{grid-column:2}.coin-row strong{font-size:12px}.share-map{bottom:190px}}
@media(min-width:801px){.markets-workspace .world-workspace{height:auto;align-self:stretch;max-height:none}.markets-workspace .port-panel{align-self:stretch}}
.combined-tradable-page .markets-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:stretch}
.combined-tradable-page .markets-workspace .world-workspace{height:800px;min-height:800px}
.combined-tradable-page .chart-heading{margin:12px 0 4px;font-size:15px;line-height:1.3}
.combined-tradable-page #portPanel{display:flex;flex-direction:column;position:relative;inset:auto;transform:none;width:auto;height:800px;max-height:800px;overflow:hidden;min-height:0}
.combined-tradable-page #portPanel .port-photo{flex:none}
.combined-tradable-page #portPanel .chart-box svg{height:220px;min-height:220px}
.combined-tradable-page .markets-workspace.panel-closed{grid-template-columns:minmax(0,1fr)}
.combined-tradable-page .markets-workspace.panel-closed #portPanel{display:none}
.combined-tradable-page .port-information-disclosure{margin:16px}
.combined-tradable-page .port-information-disclosure summary{cursor:pointer;padding:16px;font-size:16px;border:1px solid currentColor;border-radius:8px}
.combined-tradable-page .map-trade-shortcuts{grid-template-columns:minmax(0,1fr) 100px 100px;align-items:center;padding:16px}
@media(max-width:1000px){.combined-tradable-page .markets-workspace{grid-template-columns:1fr}.combined-tradable-page #portPanel{height:auto;max-height:none}}
/* Liquid electric glass pass: bottom controls, glass buttons, card clearance. */
:root{--glass-bg:linear-gradient(160deg,rgba(22,48,78,.55),rgba(4,12,22,.78));--glass-edge:rgba(53,213,255,.24);--glass-hi:inset 0 1px 0 rgba(255,255,255,.12)}
body{background:radial-gradient(1200px 600px at 10% -10%,rgba(36,200,255,.10),transparent 60%),radial-gradient(900px 500px at 100% 110%,rgba(46,230,200,.08),transparent 60%),#020810}
.world-workspace .map-utilities{bottom:20px!important;right:186px!important;z-index:20}
.world-workspace .camera-panel{bottom:76px!important;z-index:21}
.world-workspace .layer-panel{bottom:20px;z-index:20}
.world-workspace .share-map{bottom:20px!important;left:14px;z-index:20}
.world-workspace .bottom-left{bottom:72px;z-index:19}
#cardLayer{z-index:3}
button,.trade-button,.intel-actions a,.panel-footer a,.port-community a,.pf-select-trigger,.map-toolbar select,.coin-directory input{background:var(--glass-bg)!important;border:1px solid var(--glass-edge)!important;box-shadow:var(--glass-hi),0 6px 18px rgba(0,0,0,.25)!important;backdrop-filter:blur(16px) saturate(1.4);color:#ecf5ff;transition:border-color .18s,box-shadow .18s,transform .18s}
button:hover:not(:disabled),.trade-button:hover,.intel-actions a:hover,.panel-footer a:hover,.port-community a:hover{border-color:rgba(53,213,255,.6)!important;box-shadow:var(--glass-hi),0 0 18px rgba(36,200,255,.28)!important}
.view-modes .active,.chart-periods .active,.chart-display button[aria-pressed=true]{border-color:#24c8ff!important;box-shadow:var(--glass-hi),0 0 16px rgba(36,200,255,.35)!important;color:#fff}
.coin-row{background:rgba(9,22,38,.6)!important;backdrop-filter:blur(10px)}
.trade-actions .trade-button{gap:8px}
.trade-ico{width:18px;height:18px;flex:none}
.trade-actions .buy-button{color:#2ee6c8!important;border-color:rgba(46,230,200,.5)!important;background:linear-gradient(160deg,rgba(46,230,200,.22),rgba(4,20,22,.75))!important;box-shadow:var(--glass-hi),0 0 18px rgba(46,230,200,.22)!important}
.trade-actions .sell-button{color:#ff6b73!important;border-color:rgba(255,82,104,.5)!important;background:linear-gradient(160deg,rgba(255,82,104,.2),rgba(26,8,14,.75))!important;box-shadow:var(--glass-hi),0 0 18px rgba(255,82,104,.2)!important}
.port-card{backdrop-filter:blur(12px)}
/* No card behind toolbar; subtle glow; chart bg match. */
.world-workspace .map-toolbar,.world-workspace .view-modes{background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
.view-modes{gap:6px}
button:hover:not(:disabled),.trade-button:hover,.intel-actions a:hover,.panel-footer a:hover,.port-community a:hover{box-shadow:var(--glass-hi),0 0 6px rgba(36,200,255,.12)!important}
.view-modes .active,.chart-periods .active,.chart-display button[aria-pressed=true]{box-shadow:var(--glass-hi),0 0 5px rgba(36,200,255,.14)!important}
.trade-actions .buy-button{box-shadow:var(--glass-hi),0 0 5px rgba(46,230,200,.1)!important}
.trade-actions .sell-button{box-shadow:var(--glass-hi),0 0 5px rgba(255,82,104,.1)!important}
/* Breathing room, Buy/Sell above chart, full-height mini chart, list Map button. */
.share-map{display:none!important}
.port-card{padding:12px 14px!important;gap:6px 10px!important;border-radius:12px}
.port-card .name{line-height:1.3}.port-card .price{line-height:1.3;margin-top:2px}
.world-view .port-card,.world-view .port-card.selected{width:132px;min-height:62px;padding:9px 11px!important;gap:4px 8px!important}
.combined-tradable-page #portPanel .panel-content{display:flex;flex-direction:column;gap:8px;padding:14px;min-height:0;flex:1}
.combined-tradable-page #portPanel .trade-actions{order:0;margin:4px 0}
.combined-tradable-page #portPanel .chart-box{flex:0 0 168px;display:flex;flex-direction:column;min-height:0;height:168px;margin:0}
.combined-tradable-page #portPanel .chart-box svg{flex:none;width:100%;height:168px!important;min-height:0;max-height:168px}
.coin-row{grid-template-columns:28px minmax(140px,1.4fr) .7fr .8fr .7fr minmax(140px,1.2fr) auto;cursor:pointer;padding:16px 20px;gap:16px}
.coin-map{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border-radius:10px;font-size:13px;cursor:pointer}
.coin-map .library-icon{width:14px;height:14px}
@media(max-width:800px){.coin-row .coin-map{grid-column:3;grid-row:1}}
/* Solid Tradable Ports controls: scoped tokens replace the earlier glass pass. */
:root{--trade-control:oklch(0.258 0.046 257);--trade-control-hover:oklch(0.31 0.064 257);--trade-control-active:oklch(0.36 0.1 257);--trade-border:oklch(0.365 0.1 257);--trade-text:oklch(0.965 0.008 247);--trade-ink:oklch(0.185 0.032 255);--trade-buy:oklch(0.8 0.155 165);--trade-sell:oklch(0.66 0.205 20.5)}
.combined-tradable-page button,.combined-tradable-page .trade-button,.combined-tradable-page .intel-actions a,.combined-tradable-page .panel-footer a,.combined-tradable-page .port-community a,.combined-tradable-page .pf-select-trigger{background:var(--trade-control)!important;border:1px solid var(--trade-border)!important;color:var(--trade-text)!important;box-shadow:none!important;backdrop-filter:none}
.combined-tradable-page button:hover:not(:disabled),.combined-tradable-page .trade-button:hover,.combined-tradable-page .intel-actions a:hover,.combined-tradable-page .panel-footer a:hover,.combined-tradable-page .port-community a:hover{background:var(--trade-control-hover)!important;border-color:var(--trade-border)!important;box-shadow:none!important}
.combined-tradable-page .view-modes .active,.combined-tradable-page .chart-periods .active,.combined-tradable-page button[aria-pressed=true],.combined-tradable-page .pf-select-option[aria-selected=true]{background:var(--trade-control-active)!important;box-shadow:none!important}
.combined-tradable-page .trade-actions .buy-button,.combined-tradable-page .trade-actions .buy-button:hover{background:var(--trade-buy)!important;border-color:var(--trade-buy)!important;color:var(--trade-ink)!important;box-shadow:none!important}
.combined-tradable-page .trade-actions .sell-button,.combined-tradable-page .trade-actions .sell-button:hover{background:var(--trade-sell)!important;border-color:var(--trade-sell)!important;color:var(--trade-text)!important;box-shadow:none!important}
/* Mini chart spans the card width; footer buttons get breathing room. */
.combined-tradable-page #portPanel .chart-box{margin-left:-14px;margin-right:-14px}
.combined-tradable-page #portPanel .panel-footer{margin-top:8px;padding-top:12px;gap:8px}
/* Price tick flash: text color only, no background box. */
@keyframes pfFlashUp{0%{color:#2EE6C8}100%{color:inherit}}
@keyframes pfFlashDown{0%{color:#C6394E}100%{color:inherit}}
.pf-flash-up{animation:pfFlashUp .9s ease-out}
.pf-flash-down{animation:pfFlashDown .9s ease-out}

/* Exchange-style market rows (Port DEX coin directory). */
:root{--market-page:#081321;--market-row:#0D1B2E;--market-row-alternate:#0B182A;--market-row-selected:#13243A;--market-edge:#24364D;--market-text:#F4F7FC;--market-muted:#96A8BD;--market-accent:#2F7BFF}
.combined-tradable-page .coin-directory{padding:20px 16px 24px;background:var(--market-page);border-bottom:1px solid var(--market-edge)}
.coin-row .crypto-icon{grid-area:icon;width:32px;height:32px}
.coin-row .coin-market{grid-area:market;min-width:0}
.coin-row .coin-market b{display:block;font-size:14px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--market-text)}
.coin-row .coin-market small{font-size:12px;letter-spacing:0;line-height:1.5;color:var(--market-muted)}
.coin-row .coin-pair{grid-area:pair;font-size:12px;font-weight:600;color:var(--market-muted);font-variant-numeric:tabular-nums}
.coin-row .coin-price{grid-area:price;text-align:right;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25}
.coin-row .coin-change{grid-area:change;text-align:right;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25;color:var(--market-muted)}
.coin-row .coin-time{grid-area:time;text-align:right;font-size:12px;color:var(--market-muted);overflow-wrap:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coin-directory button.coin-row{grid-template-areas:"icon market pair price change time";grid-template-columns:32px minmax(0,1.5fr) minmax(56px,.55fr) minmax(112px,.7fr) minmax(76px,.5fr) minmax(150px,.9fr);gap:12px;padding:12px 16px;background:var(--market-row)!important;color:var(--market-text)!important;border:0!important;border-bottom:1px solid var(--market-edge)!important;border-left:2px solid transparent!important;border-radius:0!important;box-shadow:none!important;transition:background .15s,border-left-color .15s}
.coin-directory button.coin-row:nth-child(even){background:var(--market-row-alternate)!important}
.coin-directory button.coin-row:hover{background:var(--market-row-selected)!important;border-left-color:var(--market-accent)!important}
.coin-directory button.coin-row[aria-pressed=true]{background:var(--market-row-selected)!important;border-left-color:var(--market-accent)!important}
@media(max-width:800px){
.coin-directory button.coin-row{grid-template-areas:"icon market price" "icon pair change" "icon time time";grid-template-columns:32px minmax(0,1fr) auto;gap:4px 10px;padding:12px 14px}
.coin-row .coin-market small{white-space:normal;overflow-wrap:anywhere}
}

/* Match the host metadata scale without changing icon sizes or map geometry. */
:root{--text-metadata:0.75rem}
.widget-heading>button:not(.market-status),.widget-heading .market-status small,
.port-search input,.view-modes button,.legend,.major-badge,
.port-card .ticker,.port-card .quote-source,
.port-card .change,.port-card.selected .change,
.crypto-identity,.quote-timestamp,.chart-box small,
.market-summary p>span,.market-summary>small,
.layer-panel label small,.layer-panel #layerOptions>small,
.market-stats small,.data-note,#mapStatus,
.camera-panel small,.port-intelligence p,.port-community small{font-size:var(--text-metadata);line-height:1.5}
.world-view .port-card .name,.world-view .port-card .price,
.map-only .world-workspace .port-card .price{font-size:var(--text-metadata)}
.port-card .name{min-width:0;white-space:normal;overflow-wrap:anywhere}
.world-view #cardLayer.mobile-cards .port-card{height:auto}
