:root{color-scheme:dark;--bg:#111318;--surface:#1b1e25;--text:#f3f5f8;--muted:#a4acb9;--line:#303540;--long:#64e6ac;--long-bg:#18392b;--short:#ff929f;--short-bg:#3e222c;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100dvh}button{font:inherit;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--long);outline-offset:4px}.shell{max-width:480px;margin:auto;padding:calc(32px + env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom));min-height:100dvh;display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:3px;color:var(--muted)}h1{font-size:32px;line-height:1.1;letter-spacing:-1px;font-weight:550;margin:7px 0 0}.icon-button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--text);background:transparent;display:grid;place-items:center;position:relative;font-size:27px}.icon-button svg{width:21px;height:21px}.dot{width:6px;height:6px;border-radius:50%;background:var(--muted);position:absolute;right:8px;top:8px}.dot.on{background:var(--long)}.status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin:0 0 20px}.status-dot{width:6px;height:6px;background:var(--muted);border-radius:50%}.status.live .status-dot{background:var(--long)}#signals{display:grid;gap:12px}.card{border:1px solid var(--line);border-radius:18px;padding:21px;background:var(--surface);color:var(--text);text-align:left;width:100%;transition:border-color .15s}.card:hover{border-color:#626a77}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.symbol{font-size:23px;font-weight:550;letter-spacing:-.5px}.direction{font-size:12px;font-weight:650;padding:6px 9px;border-radius:7px;display:flex;align-items:center;gap:5px}.long{color:var(--long);background:var(--long-bg)}.short{color:var(--short);background:var(--short-bg)}.scores{display:grid;grid-template-columns:1fr 1fr;margin-top:25px;gap:20px}.score:last-child{border-left:1px solid var(--line);padding-left:22px}.score-label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.score-number{font-size:31px;line-height:1.1;font-weight:500;font-variant-numeric:tabular-nums}.score-number small{font-size:15px;color:var(--muted);font-weight:400;margin-left:3px}.card-note{display:block;margin-top:17px;font-size:10px;color:var(--muted)}.empty{text-align:center;margin:auto 0;padding:65px 18px 90px}.empty-icon{width:76px;height:76px;border:1px solid var(--line);border-radius:24px;margin:0 auto 24px;display:grid;place-items:center;color:var(--muted);background:var(--surface)}.empty-icon svg{width:42px;height:42px}.empty h2{font-size:21px;font-weight:500;letter-spacing:-.35px;margin:0 0 12px}.empty p{font-size:14px;line-height:1.7;color:var(--muted);max-width:270px;margin:0 auto 23px}.primary,.secondary{border-radius:10px;padding:12px 15px;font-size:13px;font-weight:550;border:1px solid var(--line)}.primary{background:var(--text);color:var(--bg);border-color:transparent}.secondary{background:transparent;color:var(--text)}footer{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;gap:8px;margin-top:25px;padding-top:18px}footer button{color:var(--muted);background:none;border:0;padding:8px 0 8px 8px;font-size:11px}footer button span{margin-left:5px;font-size:16px}dialog{width:calc(100% - 28px);max-width:430px;border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--surface);color:var(--text);max-height:88dvh}dialog::backdrop{background:#050609b8;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.dialog-head h2{font-size:24px;font-weight:500;margin:7px 0;letter-spacing:-.5px}.setting{border-top:1px solid var(--line);padding:20px 0;display:flex;gap:15px;align-items:center;justify-content:space-between}.setting h3{font-size:14px;margin:0 0 7px;font-weight:550}.setting p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.setting button{white-space:nowrap}.plain{font-size:12px;color:var(--muted)}.plain strong{color:var(--text);font-weight:450;text-align:right}.wide{width:100%;margin:0 0 20px}.explainer{padding:2px 0 10px}.explainer p,.fine{font-size:12px;line-height:1.7;color:var(--muted)}.explainer strong{color:var(--text);font-weight:500}.fine{font-size:11px}.levels{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.level{border:1px solid var(--line);border-radius:10px;padding:13px}.level span{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.level strong{font-size:15px;font-variant-numeric:tabular-nums;font-weight:500}.reason{font-size:14px;line-height:1.75;color:var(--muted)}.sources a{display:block;color:var(--long);font-size:12px;padding:7px 0;overflow-wrap:anywhere}#toast{position:fixed;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);border-radius:12px;padding:14px 18px;box-shadow:0 8px 35px #0006;width:max-content;max-width:calc(100% - 32px);font-size:13px;z-index:20}[hidden]{display:none!important}@media(min-width:700px){.shell{padding-top:64px}body{background:radial-gradient(ellipse at 50% 0%,#1b212a 0%,var(--bg) 60%)}.shell{min-height:92dvh}}@media(max-width:350px){.shell{padding-left:15px;padding-right:15px}.card{padding:17px}.symbol{font-size:21px}.setting{gap:8px}.secondary{padding:10px}}

.analysis-actions{display:flex;gap:12px;align-items:center;margin:0 0 22px}.analysis-actions button{white-space:nowrap}.analysis-actions>span{font-size:11px;color:var(--muted);line-height:1.5}#chatgpt-code{display:block;text-align:center;letter-spacing:3px;font-size:25px;padding:15px 0 22px}.external-button{display:block;text-align:center;text-decoration:none}
/* Market overview: compact rows, readable without sideways scrolling. */
:root{--bg:#080a0e;--surface:#14171d;--line:#292d35}
body{background:var(--bg)}
.shell{max-width:1080px;padding-left:24px;padding-right:24px}
#signals{display:block}
.table-note{color:var(--muted);font-size:12px;line-height:1.6;margin:0 0 20px;max-width:620px}
.market-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left}
.market-table th,.market-table td{padding:22px 16px 22px 0;vertical-align:top;border-bottom:1px solid var(--line)}
.market-table thead th{color:var(--muted);font-weight:400;font-size:11px;letter-spacing:.06em;padding-top:0;padding-bottom:12px}
.market-table thead th:nth-child(1){width:16%}
.market-table thead th:nth-child(2){width:29%}
.market-table thead th:nth-child(3){width:55%}
.market-symbol{font-size:16px;font-weight:600}
.market-direction{display:inline-block;font-size:14px;line-height:1.5;font-weight:500;background:transparent}
.market-scores{display:flex;flex-wrap:wrap;gap:5px 16px;color:var(--muted);font-size:12px;line-height:1.6;margin-top:8px}
.market-comment{font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.market-comment p{margin:0;color:#d4d8df}
.row-time{display:inline-block;font-size:11px;color:var(--muted);margin-top:10px}
.row-details{border:0;background:none;color:var(--long);font-size:12px;padding:8px 0;margin-left:18px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){
 .shell{padding:28px 18px max(24px,env(safe-area-inset-bottom))}
 header{margin-bottom:22px}
 .market-table thead{display:none}
 .market-table tbody{display:block}
 .market-table tr{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px 8px;padding:20px 0;border-bottom:1px solid var(--line)}
 .market-table th,.market-table td{padding:0;border:0}
 .market-symbol{padding-top:2px!important;font-size:15px}
 .market-assessment{text-align:right}
 .market-scores{justify-content:flex-end;font-size:11px;gap:4px 12px;margin-top:5px}
 .market-comment{grid-column:1/-1;font-size:14px;line-height:1.65}
 .market-direction{font-size:13px}
 .table-note{font-size:11px}
 .row-details{float:right;margin-left:10px}
}

.push-feedback{font-size:12px;line-height:1.6;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px;margin:0 0 20px;overflow-wrap:anywhere}
