@import url('clay-tokens.css');
@font-face { font-family: Instrument; src: url('instrument-sans-400.woff2'); font-display: swap; }
:root { font-family: Instrument,system-ui,sans-serif; background: var(--clay-bg); color: var(--clay-text); }
* { box-sizing: border-box; letter-spacing: 0; scrollbar-color: #68776f var(--clay-inset); }
body { margin: 0; font-size: 15px; line-height: 1.5; font-variant-numeric: tabular-nums; }
header { display: flex; align-items: center; gap: 12px; padding: max(18px,env(safe-area-inset-top)) 24px 18px; background: var(--clay-shell); border-bottom: 1px solid var(--clay-line); }
header img { width: 38px; height: 38px; filter: brightness(0) saturate(100%) invert(90%) sepia(16%) saturate(710%) hue-rotate(101deg) brightness(94%) contrast(91%); }
header strong { font-size: 19px; font-weight: 600; }header span { display: block; font-size: 12px; color: var(--clay-muted); margin-top: 2px; }
time#clock { margin-left: auto; color: var(--clay-muted); font-size: 13px; }
main { max-width: 940px; margin: auto; padding: 16px 24px calc(118px + env(safe-area-inset-bottom)); }
h1 { margin: 8px 0 12px; font-size: 26px; line-height: 1.25; font-weight: 600; overflow-wrap: anywhere; }
h2 { margin: 0 0 16px; font-size: 18px; line-height: 1.35; font-weight: 600; }
p { margin: 10px 0; overflow-wrap: anywhere; }p,li { max-width: 72ch; }
section { padding: 28px 0; border-bottom: 1px solid var(--clay-line); }
section.account { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 0 12px; padding-top: 12px; }
.account h1 { grid-column: 1; font-size: 24px; }.account p { grid-column: 1; margin: 0; color: var(--clay-muted); font-size: 13px; }.account .badge { grid-column: 2; grid-row: 1/3; margin-top: 10px; }
.badge { display: inline-block; max-width: 100%; padding: 6px 10px; background: var(--clay-inset); color: var(--clay-mint); border-radius: 8px; font-size: 11px; font-weight: 600; box-shadow: var(--clay-press); overflow-wrap: anywhere; }
.muted { font-size: 13px; color: var(--clay-muted); }.stale { color: var(--clay-amber)!important; }
#feedback { color: var(--clay-mint); font-size: 13px; min-height: 34px; margin: 0 0 8px; padding: 8px 0; }
.connection-strip { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:4px 0 22px; border-bottom:1px solid var(--clay-line); }
.connection-strip>div { min-width:0; }
.connection-strip #feedback { display:flex; align-items:center; gap:9px; min-height:24px; margin:0 0 4px; padding:0; font-weight:600; }
.connection-strip #feedback::before { content:''; width:7px; height:7px; flex:none; border-radius:50%; background:currentColor; }
#sync-age { display:block; font-size:12px; overflow-wrap:anywhere; }
#retry-sync { width:46px; min-height:46px; flex:none; padding:12px; display:grid; place-items:center; }
#retry-sync img { filter:brightness(0) invert(.86); }
#retry-sync[aria-busy=true] { box-shadow:var(--clay-press); }
.data-stale #sync-age { color:var(--clay-muted); }
.data-stale #feedback { color: var(--clay-amber); }
.metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; margin: 0; }
.metrics>div { min-width: 0; padding: 20px 0; border-bottom: 1px solid var(--clay-line); }
dt { color: var(--clay-muted); font-size: 12px; }dd { margin: 8px 0 0; color: var(--clay-text); font-size: 25px; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.quotes dd { color: var(--clay-mint); }.quotes>div { padding-top: 10px; }
#latest-text { white-space: pre-wrap; max-height: 210px; overflow: auto; padding: 18px; background: var(--clay-inset); border-radius: 8px; box-shadow: var(--clay-press); }
#latest-details dd,#ticket-details dd,#review-details dd { font-size: 18px; }
#latest-details,#ticket-details { margin-bottom: 20px; }#latest-state { margin-bottom: 8px; }
button { min-height: 48px; padding: 12px 18px; border: 0; border-radius: 12px; font: 600 14px Instrument,system-ui,sans-serif; cursor: pointer; background: var(--clay-mint); color: var(--clay-ink); box-shadow: var(--clay-primary); touch-action: manipulation; }
button:hover:not(:disabled) { background: var(--clay-mint-hover); }
button.secondary { background: var(--clay-shell); color: var(--clay-text); box-shadow: var(--clay-lift); }
button.secondary:hover:not(:disabled) { background: var(--clay-raised); }
button:active:not(:disabled) { box-shadow: var(--clay-press); }button:disabled { color: #a6b2ae; background: var(--clay-inset); box-shadow: none; cursor: not-allowed; }
input,select { display: block; width: 100%; min-height: 50px; padding: 13px 14px; margin: 0 0 16px; border: 1px solid #68776f; border-radius: 12px; background: var(--clay-inset); color: var(--clay-text); font: 16px Instrument,system-ui,sans-serif; caret-color: var(--clay-mint); box-shadow: var(--clay-press); }
input::placeholder { color: var(--clay-muted); }label { display: block; color: var(--clay-muted); font-size: 13px; margin: 20px 0 8px; }
:is(button,input,select,summary,a):focus-visible { outline: 2px solid var(--clay-mint); outline-offset: 4px; }
a { color: var(--clay-mint); text-underline-offset: 4px; }a:hover { color: var(--clay-mint-hover); }
::selection { background: var(--clay-mint); color: var(--clay-ink); }
ol { padding: 0; margin: 0; list-style: none; }li { padding: 20px 0; border-top: 1px solid var(--clay-line); min-width: 0; }li strong { color: var(--clay-text); font-weight: 600; }li p { white-space: pre-wrap; color: var(--clay-muted); font-size: 14px; margin: 8px 0 0; }
.steps { padding-left: 23px; list-style: decimal; }.steps li { padding: 14px 0 14px 8px; }.steps li::marker { color: var(--clay-mint); font-weight: 600; }.steps strong { display: block; }.steps p { margin-top: 5px; }
summary { display: flex; align-items: center; min-height: 48px; cursor: pointer; color: var(--clay-mint); }details { margin-top: 20px; }details[open] summary { margin-bottom: 12px; }
.mobile-tabs { position: fixed; z-index: 3; bottom: calc(12px + env(safe-area-inset-bottom)); left: 16px; right: 16px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 8px; border-radius: 18px; background: var(--clay-shell); box-shadow: 5px 8px 24px #10151a99,inset 0 1px 1px #ffffff15; }
.mobile-tabs button { min-width: 0; min-height: 58px; padding: 9px 2px; color: var(--clay-muted); font-size: 11px; background: transparent; box-shadow: none; border-radius: 12px; display: grid; gap: 5px; justify-items: center; align-content: center; }
.mobile-tabs button img { width: 20px; height: 20px; filter: brightness(0) invert(.76); }.mobile-tabs button:hover:not(:disabled) { background: transparent; color: var(--clay-text); }
.mobile-tabs button[aria-pressed=true] { background: var(--clay-inset); color: var(--clay-mint); box-shadow: var(--clay-press); }
.mobile-tabs button[aria-pressed=true]:hover { background: var(--clay-inset); color: var(--clay-mint); }
.mobile-tabs button[aria-pressed=true] img { filter: brightness(0) saturate(100%) invert(90%) sepia(16%) saturate(710%) hue-rotate(101deg) brightness(94%) contrast(91%); }
footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 24px 0; }footer button { min-height: 44px; padding: 10px 16px; }
dialog { width: min(540px,calc(100% - 32px)); max-height: 90dvh; padding: 24px; border: 0; border-radius: 16px; background: var(--clay-shell); color: var(--clay-text); box-shadow: 12px 18px 50px #10151ac0; }dialog::backdrop { background: #11161bdb; }.dialog-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; padding-top: 20px; }
#live-ticket>button { width: 100%; }#pair { max-width: 440px; margin: 24px auto; }#pair h1 { font-size: 32px; max-width: 15ch; }#pair>button { width: 100%; margin: 4px 0 12px; }#token { min-height: 64px; font-size: 26px; font-variant-numeric: tabular-nums; }#pair .steps { margin-top: 12px; }#pair details { border-top: 1px solid var(--clay-line); }
#access { max-width:440px; margin:28px auto; }#phone-login h1 { font-size:32px; max-width:16ch; }#phone-login>button { width:100%; margin:8px 0 16px; }#pair-option { border-top:1px solid var(--clay-line); padding-top:12px; }#pair h2 { margin-top:20px; }
.page-title { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }.page-title h1 { margin: 0; }.page-title button { min-height: 42px; padding: 8px 14px; }
.news-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; color: var(--clay-muted); font-size: 12px; margin-bottom: 10px; }.news-meta time { color: var(--clay-muted); }
.news-story { font-size: 17px; line-height: 1.45; font-weight: 600; text-decoration: none; color: var(--clay-text); display: block; }.news-story:hover { text-decoration: underline; }
.news-sources { display: flex; flex-wrap: wrap; gap: 16px; margin: 20px 0; }.news-sources a { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
#news-status { margin-bottom: 24px; }#activity-count { margin-bottom: 24px; }
[hidden] { display: none!important; }
@media(min-width:700px) { main { padding: 24px 36px 130px; }.metrics:not(#latest-details):not(#ticket-details):not(#review-details) { grid-template-columns: repeat(4,minmax(0,1fr)); }.mobile-tabs { left: 50%; right: auto; width: min(680px,calc(100% - 48px)); transform: translateX(-50%); }.mobile-tabs button { font-size: 13px; }header { padding-left: max(36px,calc((100% - 868px)/2)); padding-right: max(36px,calc((100% - 868px)/2)); } }
@media(max-width:359px) { main { padding-inline: 18px; }header { padding-inline: 18px; }dd { font-size: 21px; }.account h1 { font-size: 20px; }.account .badge { font-size: 10px; padding: 6px; }.mobile-tabs { left: 10px; right: 10px; gap: 2px; padding: 6px; } }
@media(prefers-reduced-motion:no-preference) { button { transition: background-color .16s ease,box-shadow .16s ease,color .16s ease; } }
@media(prefers-reduced-motion:no-preference) { #retry-sync[aria-busy=true] img { animation:sync-turn 1s linear infinite; } }
@keyframes sync-turn { to { transform:rotate(360deg); } }
.mobile-tabs button { transition: none; }
.switch-row { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:56px; margin:0; color:var(--clay-text); }
.switch-row input { appearance:none; flex:none; width:48px; min-height:28px; height:28px; margin:0; padding:3px; border:0; border-radius:20px; background:var(--clay-inset); box-shadow:var(--clay-press); cursor:pointer; }
.switch-row input::before { content:''; display:block; width:22px; height:22px; border-radius:50%; background:var(--clay-muted); box-shadow:2px 2px 4px #11161b99; }
.switch-row input:checked { background:var(--clay-mint); }.switch-row input:checked::before { transform:translateX(20px); background:var(--clay-ink); }
#position-list li { padding:20px; margin:0 0 16px; border:0; border-radius:8px; background:var(--clay-shell); box-shadow:var(--clay-lift); }
#position-list strong { display:block; font-size:17px; }#last-action-title { font-size:19px; font-weight:600; color:var(--clay-mint); }
.position-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; }
.position-profit { color:var(--clay-mint); font-size:22px; font-weight:600; overflow-wrap:anywhere; }
.position-profit.loss { color:var(--clay-coral); }
.position-levels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0 12px; }
.position-levels>div { min-width:0; }.position-levels dt { font-size:12px; }.position-levels dd { font-size:16px; margin-top:5px; }
#position-list li>p { font-size:12px; margin-top:14px; }
#last-action-title.loss { color:var(--clay-coral); }
[data-page="overview"] .page-title { margin-bottom:12px; }[data-page="overview"] section:first-child { padding-top:8px; }
#latest-details dd { font-size:17px; }#desktop-settings>button,#enable-push { width:100%; margin-top:16px; }
#disable-push { margin-top:18px; }#push-options { margin-top:20px; }input:disabled { opacity:.65; cursor:not-allowed; }
.market-section { padding-top:12px; }.market-price { font-size:28px; color:var(--clay-mint); margin:0 0 20px; font-weight:600; }
.phone-chart-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.chart-segments { display:flex; gap:4px; padding:4px; border-radius:12px; background:var(--clay-inset); box-shadow:var(--clay-press); }
.chart-segments button { min-width:40px; min-height:44px; padding:9px 10px; color:var(--clay-muted); background:transparent; box-shadow:none; }
.chart-segments button:hover:not(:disabled) { background:var(--clay-shell); color:var(--clay-text); }
.chart-segments button[aria-pressed=true] { background:var(--clay-shell); color:var(--clay-mint); box-shadow:var(--clay-lift); }
.chart-styles { display:inline-flex; margin-top:16px; }
.phone-chart-host { height:340px; position:relative; margin-top:16px; background:var(--clay-inset); overflow:hidden; border-radius:8px; }
.broker-chart-canvas { position:absolute; inset:0; }.chart-placeholder { position:absolute; inset:0; display:grid; place-items:center; padding:24px; text-align:center; color:var(--clay-muted); pointer-events:none; }
.phone-chart-host.loaded .chart-placeholder { display:none; }.chart-stale .broker-chart-canvas { opacity:.5; }
#chart-ohlc { min-height:40px; margin:14px 0 0; font-size:12px; }
.chart-attribution { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:12px; color:var(--clay-muted); }
.chart-attribution a { display:inline-flex; align-items:center; min-height:44px; }
.data-stale .market-price { color:var(--clay-muted); }
@media(min-width:700px) { .phone-chart-host { height:440px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation: none!important; transition: none!important; scroll-behavior: auto!important; } }
