@font-face{font-family:Manrope;src:url('brand/manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('brand/spacegrotesk.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap}
/* Tern: cobalt, midnight and quiet neutral surfaces. Native TSC keeps its own asset mark. */
html{scroll-padding-top:88px;scrollbar-gutter:stable;--header-height:72px}
.topbar{position:sticky;top:0;z-index:50}
@media(max-width:700px){html{scroll-padding-top:120px;--header-height:100px}}
:root{--font-ui:Manrope,Arial,sans-serif;--paper:#ffffff;--paper-2:#f2f4f9;--ink:#101c3c;--ink-soft:#414d67;--muted:#6b7488;--mute-soft:#87929f;--stone:#aab4bf;--rule:#e8ecf4;--line:#dfe4ef;--white:#ffffff;--accent:#355cff;--accent-deep:#355cff;--accent-soft:#edf1ff;--accent-text:#3155e8;--accent-ink:#ffffff;--accent-hover:#2548db;--oxide:#b44353;--oxide-soft:#fff1f3;--green:#1f7a4d;--amber:#946200;--wine:var(--accent-text);--wine-dark:var(--ink);--wine-pale:var(--accent-soft);--ease:cubic-bezier(.16,1,.3,1);font-family:Manrope,Arial,sans-serif;font-weight:400;background:var(--paper);color:var(--ink)}
body{background:var(--paper);min-width:320px}button,input,select{font:inherit}button,a,input,select{outline-color:var(--accent-deep)}button,a{touch-action:manipulation}button{transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--ease)}button:active:enabled{transform:translateY(1px)}:is(button,a,input,select,summary):focus-visible{outline:2px solid var(--accent-deep);outline-offset:4px}h1,h2,h3,strong,b{font-weight:500}h1,h2,h3{letter-spacing:-.025em}main{max-width:1120px;min-height:calc(100dvh - var(--header-height));padding:40px 0;animation:none}
/* Keep the header on the same wide-screen axis as the trading workspace. */
.topbar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;height:72px;padding:0 max(40px,calc((100% - 1280px)/2));gap:40px;background:var(--white);border-bottom:1px solid #edf0f5}
.brand{display:flex;align-items:center;justify-self:start;flex:none;height:40px;padding:0;white-space:nowrap}.brand img{display:block;width:74px;height:auto;transition:opacity .2s}.brand:hover img{opacity:.78}
.brand-glyph{display:block;width:100%;height:100%;fill:none;stroke:none;overflow:visible}.brand-glyph .face-left{fill:#5f7d5b}.brand-glyph .face-right{fill:#8daa88}.brand-glyph .face-top{fill:#a9c2a4}
.topbar nav{display:flex;align-items:center;justify-content:flex-start;order:initial;width:auto;height:40px;gap:28px;margin:0}.topbar nav a{display:inline-flex;align-items:center;justify-content:center;position:relative;flex:none;height:40px;padding:0 2px;border:0;border-radius:4px;background:transparent;font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:22px;letter-spacing:0;font-weight:600;color:var(--muted);transition:color .18s}.topbar nav a:hover,.topbar nav a.active{background:transparent;color:var(--ink);font-weight:600}.topbar nav a:after{display:none}
.topbar-right{display:flex;align-items:center;flex:none;margin-left:auto;gap:12px;max-width:none}.wallet-button{display:flex;align-items:center;justify-content:center;min-height:38px;height:38px;padding:0 15px;border:1px solid #e8ecf4;border-radius:11px;background:#f7f8fb;color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:13px;line-height:18px;font-weight:650;white-space:nowrap}.wallet-button:hover{background:var(--accent-soft);border-color:#dfe5fb;color:var(--accent-text)}
.network-button{display:flex;align-items:center;justify-content:center;gap:7px;flex:none;width:auto;height:38px;padding:0 8px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.network-button:hover,.network-button[aria-expanded=true]{background:var(--paper-2);color:var(--ink)}.network-mark{display:grid;place-items:center;width:24px;height:24px;background:#f2f6f1;border-radius:50%}.network-mark .brand-glyph{width:14px;height:18px}.network-chevron{display:flex;color:var(--muted)}.network-chevron .ui-icon{width:11px;height:11px}

.network-panel{position:fixed;inset:auto;margin:0;width:300px;padding:20px;border:1px solid var(--rule);border-radius:20px;background:var(--white);color:var(--ink);box-shadow:0 12px 40px #101c3c12,0 2px 8px #101c3c06;overflow:auto;overscroll-behavior:contain}.network-panel:popover-open{animation:brand-rise .18s var(--ease)}.network-heading{display:flex;align-items:center;gap:12px}.network-panel-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--accent-soft);border-radius:12px}.network-panel-mark .brand-glyph{width:22px;height:28px}.network-heading h2{font-size:17px;line-height:22px;letter-spacing:-.02em}.network-tag{display:block;margin-top:3px;color:var(--muted);font-size:12px}.network-close{margin-left:auto;width:30px;height:30px}.network-state-row{display:flex;align-items:center;gap:7px;margin-top:22px}.network-state-row strong{font-size:13px;font-weight:500}.network-state-dot{width:6px;height:6px;border-radius:50%;background:var(--stone)}.network-panel[data-status=online] .network-state-dot{background:var(--accent-deep)}.network-panel:is([data-status=syncing],[data-status=paused]) .network-state-dot{background:#c39437}.network-panel[data-status=offline] .network-state-dot{background:var(--oxide)}#network-message{font-size:12px;color:var(--muted);line-height:1.65;margin-top:8px}.network-panel dl{display:flex;justify-content:space-between;gap:12px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--rule);font-size:12px}.network-panel dl[hidden]{display:none}.network-panel dt{color:var(--muted)}.network-panel dd{margin:0;font-variant-numeric:tabular-nums}
footer{max-width:1120px;border-color:var(--rule);color:var(--muted);font-size:11px}footer a{display:inline-flex;gap:6px;align-items:center}footer a:hover{color:var(--ink)}
.ui-icon{display:inline-block;width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}.icon-arrow{transition:transform .3s var(--ease)}a:hover .icon-arrow,button:hover:enabled .icon-arrow{transform:translate(2px,-2px)}.text-button,.inline-link{color:var(--accent-text);font-weight:500}.text-button:hover,.inline-link:hover{color:var(--ink)}.primary,.secondary{border-radius:12px;font-weight:500;min-height:42px;font-size:14px;letter-spacing:0}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.primary:hover:enabled{background:var(--accent-hover);border-color:var(--accent-hover)}.secondary{background:var(--white);color:var(--ink);border-color:var(--line)}.secondary:hover:enabled{background:var(--paper-2);border-color:var(--stone)}.primary:disabled,.secondary:disabled{opacity:.5}.icon-button{border-radius:10px}.icon-button:hover{background:var(--paper-2)}.icon-button .ui-icon{width:19px;height:19px}.error{color:var(--oxide)}.eyebrow,.field-label{font-weight:500;color:var(--muted);letter-spacing:.045em}.spinner{border-color:var(--line);border-top-color:var(--accent-deep)}.loading-state{color:var(--muted)}
.swap-shell{width:min(100%,500px);margin:8px auto 66px;padding:24px;border:1px solid var(--rule);border-radius:24px;background:var(--white);box-shadow:0 8px 36px #101c3c06,0 1px 3px #101c3c03;animation:brand-rise .5s var(--ease)}.swap-tabs{padding:0 2px 22px}.swap-tabs h1{font-size:28px;font-weight:500;letter-spacing:-.03em}.swap-tabs a{display:flex;align-items:center;gap:5px;color:var(--muted)}.trade-box{padding:20px;border:1px solid transparent;border-radius:16px;background:#f4f6f8;transition:border-color .25s}.trade-box:focus-within{border-color:var(--accent);background:#f7f9ff}.trade-box>label{font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted)}.trade-entry input,.trade-entry output{font-size:40px;font-weight:500;letter-spacing:-.03em}.trade-entry input::placeholder{color:var(--stone)}.swap-token{border-radius:24px;background:var(--white);border:1px solid var(--rule);box-shadow:0 1px 3px #171b2005;font-size:16px;letter-spacing:-.015em;font-weight:500;padding:8px 10px 8px 8px;min-height:42px}.swap-token:hover{background:var(--paper-2);border-color:var(--line)}.swap-token-icon,.pool-pair-icons>span{background:var(--paper-2);color:var(--ink-soft);font-family:inherit;font-weight:500;border-color:var(--white)}.swap-token-icon.native{background:var(--accent-soft);padding:5px;font:inherit}.swap-token-icon.native .brand-glyph{width:17px;height:22px}.token-chevron{display:inline-flex;align-items:center;color:var(--muted)}.token-chevron .ui-icon{width:14px;height:14px}.trade-bottom{color:var(--muted);font-size:12px}.buy-box{background:#f4f6f8;border-color:transparent}.buy-box .swap-token{background:var(--white)}.swap-direction{height:10px}.swap-direction button{background:var(--white);border:4px solid var(--white);border-radius:12px;box-shadow:0 0 0 1px var(--rule);width:38px;height:38px;top:-14px;color:var(--ink-soft)}.swap-direction button:hover{color:var(--accent-deep);background:var(--accent-soft)}.swap-direction .ui-icon{width:18px;height:18px}.swap-submit{min-height:52px;font-size:16px;border-radius:14px;margin-top:12px}.swap-submit:disabled{background:var(--paper-2);color:var(--muted);border-color:transparent;opacity:1}.swap-inline-message{color:var(--oxide)}.swap-caption{font-size:11px;color:var(--muted);line-height:1.7;margin:16px 4px 0}.swap-details{padding:16px 2px 2px}.swap-details summary{font-size:12px}.swap-details summary .ui-icon{margin-left:4px}.swap-details[open]{animation:brand-rise .25s var(--ease)}.token-search,.search-input{border-color:var(--rule);border-radius:12px;background:var(--paper);color:var(--ink)}.token-search::placeholder,.search-input::placeholder{color:var(--mute-soft)}.token-option{border-radius:12px}.token-option:hover,.token-option[aria-selected=true]{background:var(--accent-soft)}.token-option strong{font-weight:500}.token-option .native .brand-glyph{width:21px;height:27px}.token-list-note{border-top:1px solid var(--rule);margin-top:14px}.token-option>span:last-child{color:var(--accent-deep)}
dialog,dialog:has(.token-results){background:var(--white);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 24px 96px #172b1826;animation:brand-dialog .3s var(--ease)}dialog::backdrop{background:#17212b66;backdrop-filter:blur(3px)}.modal-header h2{font-weight:500;font-size:25px;letter-spacing:-.025em}.modal-header p{color:var(--muted)}.modal-header{border-color:var(--rule)}.review-assets,.receipt-amounts,.liquidity-preview{background:var(--paper);border:1px solid var(--rule);border-radius:14px}.review-asset strong,.receipt-amounts strong{font-weight:500}.review-details{font-size:13px}.review-details strong{font-weight:500}.quote-message{color:var(--muted);line-height:1.6}.receipt-subtitle{color:var(--muted)}.success-mark{color:var(--accent-text);background:var(--accent-soft);border-radius:16px}.success-mark .ui-icon{width:30px;height:30px}.toast{background:var(--ink);color:var(--white);border-radius:12px;font-size:13px;box-shadow:0 8px 25px #1f1e1c20}.deposit-field,.preset,.custom-slippage{border-color:var(--rule);background:var(--paper);border-radius:12px}.preset.selected{background:var(--accent-soft);color:var(--accent-deep);border-color:var(--accent)}.chain-address{border-color:var(--rule);background:var(--paper);border-radius:12px}#funding-asset{width:100%;margin-bottom:20px;font-size:15px;min-height:44px}.impact-warning{background:#fffbf0;color:#82621a}
.pools-heading h1{font-size:38px;font-weight:500}.pools-heading p{font-size:15px}.pool-tabs{border-color:var(--rule);gap:30px}.pool-tabs button{font-size:16px;font-weight:500;color:var(--muted)}.pool-tabs button[aria-selected=true]{font-weight:500;color:var(--accent-text)}.pool-tabs button:active:enabled{transform:none}.pool-tabs button span{font-variant-numeric:tabular-nums;display:inline-flex;min-width:24px;justify-content:center}.pool-tabs button span:empty{display:inline-flex;visibility:hidden}.pool-tab-indicator{background:var(--accent)}.pool-tabs button span{background:var(--paper-2);color:var(--muted);border-radius:6px}.pool-tabs button[aria-selected=true] span{background:var(--accent-soft);color:var(--accent-text)}.pool-search,.pool-filters select{border:1px solid var(--line);background:var(--white);border-radius:6px}.pool-search{min-height:44px}.pool-search>span{display:inline-flex;color:var(--muted)}.pool-search:focus-within{outline:2px solid var(--accent-deep)}.pool-search input{font-size:13px}.pool-filters select{font-size:12px}.pool-list-meta{font-size:12px}.pool-directory,.table-wrap{border-color:var(--rule);border-radius:16px;background:var(--white)}th{background:var(--paper);color:var(--muted);font-weight:400}td{border-color:var(--rule)}.pool-directory th{font-size:12px;background:#f8fafc}.pool-directory td{font-size:13px}.pool-directory td small{font-size:11px}.pool-directory td strong{font-weight:500}.pool-directory tr[data-pool-row]:hover{background:var(--paper)}.pool-pair-link strong{font-size:15px}.pool-pair-icons>span[data-pair-asset="TSC"]{background:var(--accent-soft);padding:6px;font-family:inherit;color:var(--accent-deep)}.pool-pair-icons .brand-glyph{height:100%;width:100%}.pool-fee{background:var(--paper-2);color:var(--muted);border-radius:3px}.pool-status{font-size:11px}.pool-status.active{color:var(--accent-text)}.pool-status.active:before{background:var(--accent-deep)}.pool-status.pending,.pool-status.exit_available{color:var(--amber)}.pool-status.pending:before,.pool-status.exit_available:before{background:#c39437}.pool-status.closed:before{background:var(--stone)}.pool-open{display:inline-flex;color:var(--muted)}.pool-empty{border:1px solid var(--rule);border-radius:18px;background:var(--white);min-height:320px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center}.pool-empty>span{width:50px;height:50px;padding:12px;display:inline-grid;place-items:center;background:var(--accent-soft);color:var(--accent-text);border-radius:16px}.pool-empty>span .ui-icon{width:26px;height:26px}.pool-empty h2{font-weight:500}.pool-empty p{font-size:14px}.pool-index-note{font-size:11px}.pool-detail-title h1{font-size:32px;font-weight:500}.pool-detail-card,.market-chart-card{background:var(--white);border-color:var(--rule);border-radius:18px}.pool-detail-card h2,.pool-detail-card h3{font-weight:500}.pool-detail-card dt{font-size:12px}.pool-detail-card dd{font-size:14px;font-weight:500}.pool-detail-card>p,.pool-detail-card dd small{font-size:11px}.pool-detail-card .pool-reserve{border-color:var(--rule)}.pool-reserve strong{font-size:23px;font-weight:500}.pool-detail-badges{font-size:12px}.pool-detail-id{font-size:12px}.pool-info dd{font-size:12px;font-weight:400}.pool-detail-layout>.market-trades h2{font-weight:500}.pool-detail-main .market-chart-heading p{font-size:11px}.detail-price strong{font-size:34px;font-weight:500}.detail-price span{font-size:12px}.market-notice{background:var(--white);border:1px solid var(--rule);border-radius:12px;color:var(--muted)}.market-currency{background:var(--paper-2);border-radius:10px}.market-currency button,.chart-intervals button{border-radius:7px;color:var(--muted)}.market-currency button[aria-pressed=true]{background:var(--white);color:var(--ink);box-shadow:0 1px 3px #1f1e1c10}.chart-intervals button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text);font-weight:500}.chart-toolbar,.chart-footnote{border-color:var(--rule)}.chart-grid{stroke:var(--rule)}.chart-crosshair{stroke:var(--mute-soft)}.candle-readout b{font-weight:500}.chart-empty-symbol{color:var(--accent)}.chart-empty-symbol .ui-icon{width:36px;height:36px}.trade-side.buy{background:var(--accent-soft);color:var(--accent-text)}.trade-side.sell{background:var(--oxide-soft);color:var(--oxide)}.market-trades table,.pool-detail-main .market-trades table{background:var(--white)}.market-selector{background:var(--white);border-color:var(--line);border-radius:6px}.market-method{font-size:12px}.market-method a{display:inline-flex;gap:4px;align-items:center}
.page-heading h1{font-weight:500}.operation-icon{background:var(--accent-soft);color:var(--accent-deep);border-radius:6px}.settled{color:var(--accent-deep)}.positions-grid .position-card{background:var(--white);border-color:var(--rule);border-radius:16px}.position-share{background:var(--accent-soft);color:var(--accent-deep)}.empty-position{border-color:var(--line);background:var(--white);border-radius:8px}
@keyframes brand-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes brand-dialog{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}

@media(max-width:720px){main{padding:32px 0 42px;width:calc(100% - 32px)}.swap-shell{margin:0 auto 24px;padding:16px;border-radius:22px}.swap-tabs{padding:3px 3px 20px}.swap-tabs h1{font-size:28px}.swap-tabs a{font-size:12px}.trade-box{padding:18px 14px;border-radius:14px}.trade-entry input,.trade-entry output{font-size:30px}.swap-token{font-size:13px;padding:7px 8px;gap:5px;min-height:38px}.swap-token-icon.native{padding:4px}.swap-token-icon.native .brand-glyph{height:20px;width:16px}.trade-bottom{font-size:11px}.swap-caption{font-size:11px}.pools-heading h1{font-size:30px}.pools-heading p{font-size:13px}.pools-heading .primary{font-size:12px;padding:9px 11px}.pools-heading .ui-icon{width:13px;height:13px}.pool-filters select{font-size:11px}.pool-directory td,.pool-directory th{background:var(--white)}.pool-directory th:first-child,.pool-directory td:first-child{background:var(--white);box-shadow:5px 0 8px #1f1e1c04}.pool-directory th:first-child{background:var(--paper)}.pool-directory .pool-pair-link strong{font-size:13px}.pool-directory td small{font-size:10px}.pool-detail-title h1{font-size:25px}.pool-detail-badges{font-size:11px}.pool-detail-title .pool-pair-icons>span[data-pair-asset="TSC"]{padding:6px}.pool-info dd{font-size:11px}.pool-detail-layout .detail-price span{font-size:11px}#spot-price{font-size:27px}.market-notice{font-size:11px}.pool-detail-card h2{font-size:17px}dialog,dialog:has(.token-results){padding:22px}.modal-header h2{font-size:23px}footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.brand .brand-glyph path{transition:none}}

@media(max-width:1180px){.topbar{padding:0 24px;gap:32px}.topbar nav{gap:24px}.wallet-change{display:none}}
@media(max-width:900px){.network-button{gap:5px;padding:0 5px}.topbar-right{gap:8px}}
@media(max-width:700px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:40px 36px;height:100px;padding:10px 16px 6px;gap:8px 12px}.brand{grid-column:1;grid-row:1}.brand img{width:68px}.topbar-right{grid-column:2;grid-row:1;margin:0;gap:8px}.wallet-button{height:36px;min-height:36px;padding:0 12px;font-size:12px}.network-button{height:36px}.topbar nav{grid-column:1 / -1;grid-row:2;justify-content:center;width:100%;height:36px;gap:38px}.topbar nav a{height:36px;font-size:14px}.wallet-address{max-width:108px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* Keep the default trade screen within the viewport; expanded details can scroll. */
#app[data-view=swap]{padding:clamp(16px,5dvh,40px) 0;display:flex;align-items:flex-start;justify-content:center}
#app[data-view=swap] .swap-shell{margin:0 auto;animation:none}
@media(max-height:740px){#app[data-view=swap]{padding:16px 0}.swap-shell{padding:20px}.swap-tabs{padding-bottom:18px}.trade-box{padding:16px}.trade-entry{min-height:46px}.swap-submit{min-height:48px}.swap-caption{margin-top:12px}}
@media(max-width:600px) and (max-height:740px){#app[data-view=swap]{padding:12px 0}.swap-shell{padding:14px}.swap-tabs{padding-bottom:16px}.trade-box{padding:12px}.trade-entry{min-height:42px}.trade-entry input,.trade-entry output{font-size:28px}.trade-bottom{font-size:11px}.swap-caption{margin-top:12px;font-size:10px}}

/* The approved custom letterform is the product identity; token marks remain distinct. */
.primary{font-weight:650}.network-panel-mark{background:#edf4ea}.swap-token-icon.native{background:#edf4ea}h1,h2,h3{font-weight:600}.page-heading h1,.pools-heading h1{font-weight:600}.trade-entry input,.trade-entry output,#spot-price{font-family:'Space Grotesk',Manrope,sans-serif}.app-unavailable{text-align:center;padding:100px 20px}.app-unavailable p{color:var(--muted);margin:14px auto 24px;max-width:380px;line-height:1.7}.app-unavailable .primary{padding:12px 24px}.app-unavailable a{display:block;margin-top:24px;color:var(--accent-text)}

/* Shared application rhythm: one content axis, readable supporting text. */
#app:is([data-view=pools],[data-view=market],[data-view=transactions]){width:min(1280px,calc(100% - 80px));max-width:1280px;padding:40px 0 64px}
.topbar nav a{border-radius:8px}
.topbar nav a.active{color:var(--accent-text)}
.topbar nav a:hover{color:var(--ink)}
.wallet-button{font-size:14px;height:40px;min-height:40px;border-radius:12px}
.network-button{height:40px;min-width:44px}
.primary,.secondary{min-height:44px}
.primary:disabled,.secondary:disabled{cursor:default}
:is(button,a,input,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pools-heading{margin-bottom:28px}
.pools-heading h1,.activity-heading h1{font-size:36px;line-height:1.25;letter-spacing:-.035em}
.pools-heading p,.activity-heading p{font-size:15px;line-height:1.65;margin-top:8px;color:var(--muted)}
.pool-tabs button{font-weight:600;min-height:44px}
.pool-tabs button[aria-selected=true]{font-weight:600}
.pool-list-meta{font-size:13px;min-height:62px;gap:12px}
.pool-index-note{font-size:12px;line-height:1.75;max-width:900px}
.pool-directory th{padding:16px 22px;font-size:12px;font-weight:500;background:#f8f9fc}
.pool-directory td{padding:22px;font-size:14px}
.pool-directory td small{font-size:12px;line-height:1.5;margin-top:6px}
.pool-directory td strong{font-weight:600}
.pool-pair-link{min-width:190px}
.pool-pair-link>span:last-child{min-width:0}
.pool-pair-link strong{font-size:15px}
.pool-directory tr[data-pool-row]:hover{background:#f8f9fc}
.pool-status{font-size:12px}
.pool-status.active{color:var(--green)}
.pool-status.active:before{background:var(--green)}
.pool-open{width:40px;height:40px;justify-content:center;align-items:center;border-radius:10px}
.pool-open:hover{color:var(--accent-text);background:var(--accent-soft)}
.pool-empty .primary,.pool-empty .secondary{padding:12px 20px}
.pool-back{display:inline-flex;align-items:center;min-height:36px;color:var(--muted);font-size:14px;gap:8px}
.pool-back:hover{color:var(--accent-text)}
.pool-detail-header{margin-top:16px;margin-bottom:24px}
.pool-detail-title h1{font-size:30px;line-height:1.3;font-weight:600}
.pool-detail-badges{font-size:12px;line-height:1.5;flex-wrap:wrap}
.pool-detail-layout{grid-template-columns:minmax(0,1fr) 320px;gap:24px}
.pool-detail-card h2{font-size:17px;font-weight:600;margin-bottom:20px}
.pool-detail-card dt{font-size:13px;line-height:1.6}
.pool-detail-card dd{font-size:14px;line-height:1.6;font-weight:600}
.pool-detail-card>p,.pool-detail-card dd small{font-size:12px;line-height:1.65}
.pool-reserve span{font-size:13px}
.pool-info dd{font:12px/1.8 ui-monospace,SFMono-Regular,monospace;font-weight:400}
.pool-info .text-button{font-family:Manrope,Arial,sans-serif;font-size:12px;min-height:32px}
.pool-detail-main .market-chart-heading p{font-size:12px;line-height:1.65}
.market-notice{font-size:12px;line-height:1.6;padding:12px 16px}
.chart-footnote{font-size:11px;line-height:1.6;gap:12px}
.market-trades th{font-size:12px}
.market-trades td{font-size:13px}
.market-chart[aria-busy=true]:after{content:"";position:absolute;top:0;left:0;height:2px;width:30%;border-radius:2px;background:var(--accent);animation:chart-fetch 1.4s ease-in-out infinite}
.trade-side.buy{background:#ecf7f0;color:var(--green)}
.market-method{font-size:13px;line-height:1.8}
.market-method summary{min-height:44px;display:list-item;padding:12px 0;cursor:pointer}
.market-method .inline-link{border:0;margin:8px 20px 0 0;padding:0;min-height:32px;font-size:13px}

/* Dialogs share a calm surface and reserve colour for selection or errors. */
dialog,dialog:has(.token-results){width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:24px;border-radius:24px;box-shadow:0 24px 80px #101c3c26}
dialog::backdrop{background:#10182755;backdrop-filter:blur(4px)}
.modal-header{align-items:flex-start;gap:16px;margin-bottom:24px}
.modal-header>div{min-width:0;flex:1}
.modal-header h2{font-size:24px;line-height:1.3;font-weight:600}
.modal-header p{font-size:13px;line-height:1.6;margin-top:8px}
.modal-header .close-modal{width:40px;height:40px;flex:none;border:0;background:#f3f5f8;color:var(--ink-soft);display:grid;place-items:center;margin-top:-4px}
.modal-header .close-modal:hover{background:#e9edf3}
dialog:has(.token-results){overflow:hidden}
dialog[open]:has(.token-results){display:flex;flex-direction:column}
dialog:has(.token-results) .modal-header{margin-bottom:14px;flex:none}
.token-search{font-size:16px;min-height:52px;background:#f8f9fc;margin:0 0 16px;flex:none}
.token-search:focus-visible{outline-offset:1px;outline:2px solid #355cff80}
.token-results{min-height:160px;max-height:min(48dvh,400px);flex:1 1 auto;margin:0 -6px;padding:0 6px;scrollbar-gutter:stable;scrollbar-width:thin}
.token-option{padding:14px 12px;gap:14px;min-height:76px}
.token-option:hover{background:#f3f5f8}
.token-option[aria-selected=true],.token-option[aria-selected=true]:hover{background:var(--accent-soft)}
.token-option strong{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.token-option small{font-size:12px;line-height:1.5;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.token-option>span:last-child{width:20px;flex:none;display:flex;justify-content:center}
.token-search-status{font-size:12px;margin:12px 0 0;flex:none}
.token-search-status:empty{display:none}
.token-list-note{font-size:12px;line-height:1.6;padding:14px 0 0;margin-top:16px;flex:none}
.asset-warning h2{font-family:Manrope,Arial,sans-serif;font-size:24px;font-weight:600}
.asset-warning>p{font-size:14px;color:var(--muted)}
.import-asset-identity{background:#f8f9fc;border-color:var(--line)}
.asset-ack{min-height:44px;margin:16px 0;font-size:13px;cursor:pointer}
.field-label{font-size:13px;letter-spacing:0;line-height:1.5;margin-bottom:10px}
.funding-token-button{background:var(--white);border-color:var(--line);border-radius:14px;color:var(--ink);padding:12px 14px}
.funding-token-button:hover{background:#f8f9fc}
.funding-token-button>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.funding-amount{padding:16px;border:1px solid transparent;border-radius:16px;background:#f3f5f8;margin-top:10px}
.funding-amount:focus-within{border-color:#a8b8ff;background:#f7f9ff}
.funding-amount label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}
.funding-amount>div{display:flex;align-items:center;gap:12px;min-height:40px}
.funding-amount input{border:0;background:none;font-family:'Space Grotesk',Manrope,sans-serif;font-size:30px;color:var(--ink);width:100%;min-width:0;padding:0;outline:none}
.funding-amount input::placeholder{color:var(--stone)}
.funding-amount>div>span{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:none}
.funding-note{font-size:13px;color:var(--muted);line-height:1.7;margin:16px 0 20px}
.withdraw-amount{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:16px;background:#f3f5f8;padding:20px}
.withdraw-amount input{width:140px;border:0;background:none;text-align:center;font:48px/1.3 'Space Grotesk',Manrope,sans-serif;color:var(--ink);padding:0}
.withdraw-amount span{font-size:26px;color:var(--muted)}
.withdraw-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.withdraw-presets button{min-height:40px;border:1px solid var(--line);border-radius:10px;background:white;font-size:13px;color:var(--ink-soft)}
.withdraw-presets button[aria-pressed=true]{color:var(--accent-text);background:var(--accent-soft);border-color:#cbd6ff}
#funding-error,#execute-error{font-size:13px;line-height:1.65;margin:16px 0;overflow-wrap:anywhere}
#funding-error:empty,#execute-error:empty{display:none}
#funding-error[data-state=waiting],#execute-error[data-state=waiting]{color:var(--accent-text);background:var(--accent-soft);padding:12px 14px;border-radius:12px}
.review-assets{background:#f8f9fc;padding:0 16px}
.review-asset{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0}
.review-asset>div{min-width:0}
.review-asset+.review-asset{border-top:1px solid var(--line)}
.review-asset small{font-size:13px;color:var(--muted);line-height:1.6}
.review-asset strong{font-family:'Space Grotesk',Manrope,sans-serif;font-size:26px;line-height:1.4;overflow-wrap:anywhere}
.review-asset strong>span{font-family:Manrope,Arial,sans-serif;font-size:16px;white-space:normal}
.review-asset .swap-token-icon{width:36px;height:36px;flex:none}
.review-details{margin:20px 0;font-size:13px;line-height:1.6}
.review-details>div{gap:16px}
.review-details strong{font-weight:600;text-align:right}
.quote-message{font-size:13px;line-height:1.7}
.transaction-receipt{text-align:center;margin:8px 0 24px}
.receipt-mark{width:68px;height:68px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}
.receipt-mark.confirmed{background:#ecf7f0;color:var(--green)}
.receipt-mark .ui-icon{width:30px;height:30px}
.receipt-mark .spinner{width:26px;height:26px}
.transaction-receipt p{font-size:14px;line-height:1.7;color:var(--muted);max-width:360px;margin:0 auto}
.receipt-transaction{border:1px solid var(--line);background:#f8f9fc;border-radius:14px;padding:14px 16px;margin-bottom:24px}
.receipt-transaction>div{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}
.receipt-transaction code{display:block;overflow-wrap:anywhere;font:12px/1.8 ui-monospace,monospace;margin-top:8px}
.receipt-action{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px}

/* Activity retains focus during unchanged background refreshes. */
.activity-heading{text-align:left;margin-bottom:28px}
.activity-table th{font-size:12px;padding:16px 22px;background:#f8f9fc}
.activity-table td{padding:20px 22px;font-size:13px}
.activity-operation{display:flex;align-items:center;gap:12px}
.activity-operation .operation-icon{width:38px;height:38px;border-radius:12px;flex:none}
.activity-operation strong{font-size:14px;font-weight:600}
.activity-operation small{display:block;font-size:12px;color:var(--muted);margin-top:5px}
.transaction-copy{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--muted);font-size:13px}
.transaction-copy .ui-icon{width:14px;height:14px}
.activity-status{display:inline-flex;align-items:center;gap:7px;border-radius:8px;padding:7px 10px;font-size:12px;line-height:1.5;background:#f3f5f8;color:var(--muted)}
.activity-status.confirmed{color:var(--green);background:#ecf7f0}
.activity-status.pending{color:var(--accent-text);background:var(--accent-soft)}
.activity-status.retry{color:var(--amber);background:#fff8e9}
.activity-table .table-output{font-size:12px;line-height:1.6;max-width:280px;white-space:normal;overflow-wrap:anywhere}
.activity-table .secondary{font-size:12px;padding:8px 12px}
.activity-complete{color:var(--stone)}

@media(max-width:1180px){
  #app:is([data-view=pools],[data-view=market],[data-view=transactions]){width:calc(100% - 48px)}
  .pool-directory th,.pool-directory td{padding-left:16px;padding-right:16px}
  .pool-detail-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}
}
@media(max-width:800px){.pool-detail-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
  html{--header-height:108px;scroll-padding-top:124px}
  #app:is([data-view=pools],[data-view=market],[data-view=transactions]){width:calc(100% - 32px);padding:28px 0 40px}
  .topbar{height:108px;grid-template-rows:44px 38px}
  .wallet-button{height:40px;min-height:40px;font-size:12px;padding:0 12px}
  .network-button{height:44px}
  .topbar nav{height:38px}
  .topbar nav a{height:38px}
  .pools-heading{gap:12px;align-items:flex-start;margin-bottom:24px}
  .pools-heading h1,.activity-heading h1{font-size:30px}
  .pools-heading p,.activity-heading p{font-size:14px;line-height:1.65}
  .pools-heading .primary{font-size:13px;padding:10px 12px;margin-top:2px}
  .pools-heading .ui-icon{width:15px;height:15px}
  .pool-list-meta{font-size:12px;gap:12px;align-items:center;min-height:64px}
  .pool-index-note{font-size:12px}
  .pool-detail-header{margin-top:12px}
  .pool-detail-title h1{font-size:25px}
  .pool-detail-badges{font-size:11px}
  .pool-detail-card dt{font-size:13px}
  .pool-detail-card dd{font-size:14px}
  .pool-detail-card>p,.pool-detail-card dd small{font-size:12px}
  .pool-detail-main .market-chart-heading p{font-size:12px}
  .pool-detail-layout .detail-price span{font-size:12px}
  .pool-info dd{font-size:12px}
  .market-trades td{font-size:12px}
  dialog,dialog:has(.token-results){padding:20px;max-height:calc(100dvh - 32px);border-radius:22px}
  .modal-header h2{font-size:22px}
  .modal-header .close-modal{width:44px;height:44px}
  .modal-header{gap:12px}
  .token-search,.pool-search input,.search-input{font-size:16px}
  .token-option{padding:12px 10px}
  .token-option strong{font-size:16px}
  .token-option small,.token-list-note{font-size:12px}
  .funding-amount input{font-size:28px}
  .withdraw-presets button{min-height:44px}
  .asset-warning h2{font-size:22px}
  .review-asset strong{font-size:24px}
}
@media(max-width:600px){
  /* Each table row becomes one complete card; no horizontal swipe needed. */
  .pool-directory{border:0;background:transparent;overflow:visible;border-radius:0}
  .pool-directory table{display:block;min-width:0;white-space:normal}
  .pool-directory thead,.activity-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .pool-directory tbody{display:grid;gap:12px}
  .pool-directory tr[data-pool-row]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;grid-template-areas:"pair pair open" "status status status" "tvl apr apr" "volume volume volume" "reserves reserves reserves";gap:14px 12px;padding:18px;border:1px solid var(--rule);border-radius:18px;background:var(--white)}
  .pool-directory td{position:static!important;padding:0;border:0;font-size:14px;background:transparent!important;box-shadow:none!important;min-width:0}
  .pool-directory td:first-child{grid-area:pair;z-index:auto}
  .pool-directory td:nth-child(2){grid-area:tvl}
  .pool-directory td:nth-child(3){grid-area:volume}
  .pool-directory td:nth-child(4){grid-area:reserves;border-top:1px solid var(--rule);padding-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
  .pool-directory td:nth-child(5){grid-area:apr}
  .pool-directory td:nth-child(6){grid-area:status;margin-top:-4px}
  .pool-directory td:nth-child(7){grid-area:open;align-self:center}
  .pool-directory td[data-label]:before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
  .pool-directory td:nth-child(4):before{grid-column:1/-1}
  .pool-directory td:nth-child(4) span,.pool-directory td:nth-child(4) small{font-size:12px;line-height:1.6;margin:0;overflow-wrap:anywhere;color:var(--ink-soft)}
  .pool-directory td strong{white-space:normal;overflow-wrap:anywhere}
  .pool-directory td small{font-size:12px;margin-top:4px}
  .pool-directory .pool-pair-link{min-width:0;gap:12px}
  .pool-directory .pool-pair-link strong{font-size:15px}
  .pool-directory .pool-pair-icons>span{width:34px;height:34px;font-size:14px}
  .pool-directory .pool-pair-icons>span[data-pair-asset="TSC"]{padding:6px}
  .pool-open{width:36px;height:44px;padding:8px}
  .activity-table{border:0;overflow:visible;background:transparent}
  .activity-table table{display:block;white-space:normal}
  .activity-table tbody{display:grid;gap:12px}
  .activity-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:18px;border:1px solid var(--rule);border-radius:18px;background:white}
  .activity-table td{border:0;padding:0;min-width:0;overflow-wrap:anywhere}
  .activity-table td:first-child,.activity-table td:nth-child(2){grid-column:1/-1}
  .activity-table td:nth-child(4){text-align:right;align-self:center}
  .activity-complete{display:none}
  .transaction-copy{min-height:32px}
  .market-trades .table-wrap{overflow:visible;border:0;background:transparent}
  .market-trades table{display:block;white-space:normal}
  .market-trades thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .market-trades tbody{display:grid;gap:10px}
  .market-trades tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--rule);border-radius:16px;background:white}
  .pool-detail-layout>.market-trades td{border:0;padding:0;min-width:0;font-size:13px;overflow-wrap:anywhere}
  .market-trades td:first-child{color:var(--muted);font-size:12px}
  .market-trades td:nth-child(2){text-align:right}
  .market-trades td:nth-child(3){grid-column:1/-1;font:22px/1.5 'Space Grotesk',Manrope,sans-serif}
  .market-trades td:last-child{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:10px;color:var(--muted);font-size:12px}
  .market-trades td[data-label]:before{content:attr(data-label);display:block;font:12px/1.5 Manrope,Arial,sans-serif;color:var(--muted);margin-bottom:4px}
  .market-trades td[colspan]{grid-column:1/-1;padding:24px 8px!important;border:0!important}
  .chart-intervals button{min-height:38px;font-size:12px}
}

.network-options{margin-top:20px;padding-top:16px;border-top:1px solid #e7e9f0}.network-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border:0;border-radius:12px;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background .15s ease}.network-option:hover{background:#f5f6fa}.network-option[aria-pressed=true]{background:#eef0ff;color:#354dff}.network-option:focus-visible{outline:2px solid #354dff;outline-offset:2px}.wallet-choices{display:grid;gap:12px}

.wallet-network-notice{max-width:1240px;margin:24px auto 0;padding:16px 20px;border:1px solid var(--rule,#e7e9f0);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f8f9ff;color:var(--ink-soft,#48536d)}
.wallet-network-notice[hidden]{display:none}.wallet-network-notice p{margin:0;font-size:14px;line-height:1.5}.wallet-network-notice button{flex-shrink:0;margin:0;font-size:14px;padding:10px 16px}

/* Wallet installation guidance uses the same dialog shell and motion as consent. */
.wallet-install-brand{display:flex;align-items:center;gap:16px;margin:0 0 20px}
.wallet-install-brand>svg{width:64px;height:64px;flex:none;stroke:none}
.wallet-install-brand>div{display:grid;gap:5px;min-width:0}
.wallet-install-brand strong{font-size:18px;line-height:1.3;font-weight:600;color:var(--ink)}
.wallet-install-brand span,.wallet-install-copy{color:var(--muted);font-size:13px;line-height:1.6}
.wallet-install-copy{margin:0 0 20px}
.wallet-install-steps{display:grid;gap:18px;margin:0;padding:0;list-style:none}
.wallet-install-steps>li{display:flex;align-items:flex-start;gap:12px}
.wallet-install-steps>li>span{display:grid;place-items:center;flex:none;width:26px;height:26px;background:var(--paper);border:1px solid var(--line);border-radius:50%;font-size:12px;font-weight:600;color:var(--ink-soft)}
.wallet-install-steps strong{font-size:13px;line-height:1.5;font-weight:600}
.wallet-install-steps p{margin:4px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
#modal[data-layout=wallet-install] .modal-footer{flex:none;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
#wallet-install-actions{display:grid;gap:10px}
#wallet-install-actions :is(a,button){display:flex;justify-content:center;align-items:center;gap:8px;min-height:46px;margin:0;text-decoration:none;font-size:13px}
#wallet-install-actions a{color:var(--white)}
@media(max-width:420px){.wallet-install-brand>svg{width:56px;height:56px}.wallet-install-steps{gap:14px}}
@media(max-width:1300px){.wallet-network-notice{margin:20px 24px 0}}@media(max-width:600px){.wallet-network-notice{margin:16px 16px 0;padding:14px;align-items:flex-start;flex-direction:column;gap:12px}}

[data-asset-icon]{position:relative;overflow:hidden}
[data-asset-icon]>img[data-asset-image]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
[data-asset-icon][data-icon-loaded=true]>.asset-icon-letter{visibility:hidden}
