:root{--navy: #0b1f3a;--navy-alt: #1e3a5f;--up: #059669;--down: #dc2626;--pale: #ecfdf5;--line: #e5e7eb;font-family:Arial,Noto Sans Thai,Malgun Gothic,sans-serif;color:var(--navy);background:#f8fafc;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button,select,input{background:#fff;border:1px solid var(--line);border-radius:3px;padding:4px 7px}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--up);outline-offset:1px}.test-banner{height:20px;line-height:20px;font-size:10px;text-align:center;background:var(--pale);color:var(--navy-alt);overflow:hidden;white-space:nowrap}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;height:40px;padding:0 10px;background:var(--navy);color:#fff}.brand{font-size:17px;letter-spacing:-1px}.brand span{color:#6ee7b7}.topbar time{font-size:12px;margin-right:auto}.topbar select,.topbar button{font-size:11px;padding:4px;background:var(--navy-alt);color:#fff;border-color:#39516e}.demo-line{display:flex;align-items:center;gap:5px;padding:3px 10px;height:27px;color:#64748b;background:#fff;border-bottom:1px solid var(--line);font-size:10px}.demo-line select{font-size:10px;max-width:65px;padding:2px}.demo-line>button{margin-left:auto;font-size:10px;padding:2px 5px}.demo-line>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}main{max-width:1000px;margin:auto;background:#fff}nav{display:flex;height:32px;border-bottom:1px solid var(--line)}nav button{flex:1;border:0;border-radius:0;background:#fff;color:#64748b;font-weight:600;padding:4px}nav button.active{color:#fff;background:var(--navy)}.filter-line{height:36px;display:flex;align-items:center;gap:3px;padding:4px 7px;white-space:nowrap}.filter-line button{height:28px;padding:3px 7px;font-size:12px;border-color:transparent;background:#f1f5f9}.filter-line .chosen{color:var(--up);background:var(--pale);border-color:#a7f3d0;font-weight:700}.divider{height:16px;border-left:1px solid var(--line);margin:0 2px}.threshold{display:flex;align-items:center;gap:5px;padding:4px 10px;font-size:10px}.threshold input{width:100px;min-width:0;font-size:11px}.rank-list{width:100%;overflow:hidden}.list-head,.rank-row{display:grid;grid-template-columns:28px minmax(60px,1fr) 57px 78px 60px 28px;gap:4px;align-items:center;padding:0 8px}.list-head{height:28px;color:#64748b;background:#f8fafc;border-block:1px solid var(--line);font-size:10px}.list-head>span:nth-child(3),.list-head>span:nth-child(4){text-align:right}.list-head>span:nth-child(5){text-align:center}.rank-row{height:39px;border-bottom:1px solid var(--line);font-size:13px;cursor:pointer}.rank-row:hover{background:#f8fafc}.rank-badge{justify-self:center;font-size:11px;color:#64748b;display:grid;place-items:center;width:20px;height:20px}.rank-badge.top-rank{border-radius:50%;background:var(--up);color:#fff;font-weight:700}.symbol-cell{display:flex;align-items:baseline;gap:4px;min-width:0}.ticker{font-size:13px;color:var(--navy);font-weight:700;white-space:nowrap;background:none;border:none;padding:0;overflow:hidden;text-overflow:ellipsis}.symbol-cell>small{font-size:9px;color:#94a3b8;white-space:nowrap}.raw-price{text-align:right;font-size:13px;color:#64748b;font-variant-numeric:tabular-nums}.positive{color:var(--up);text-align:right;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.negative{color:var(--down);font-weight:700}.movement{font-size:8px;display:inline-block;min-width:10px;margin-left:2px;vertical-align:middle;color:#64748b}.sparkline{display:block;width:60px;height:20px;max-width:100%;overflow:visible}.sparkline polyline{fill:none;stroke:var(--navy-alt);stroke-width:1.4}.sparkline.up polyline{stroke:var(--up)}.sparkline.down polyline{stroke:var(--down)}.star{border:0;padding:0;width:24px;height:28px;font-size:21px;line-height:24px;background:none;color:#64748b}.expanded-row{padding:7px 10px 10px;background:#f8fafc;border-bottom:1px solid #cbd5e1;font-size:11px}.expanded-row p{margin:5px 0}.mini-chart .controls{display:flex;gap:4px;margin:0 0 4px}.mini-chart .controls select{font-size:10px;padding:3px}.mini-chart>svg{width:100%;height:140px;display:block}.mini-chart svg text,.detail svg text{font:10px sans-serif;fill:#64748b}.detail-button{font-size:11px;color:#fff;background:var(--up);border-color:var(--up);margin-top:4px}.detail{padding:10px}.detail-heading{display:flex;gap:10px;align-items:center}.detail-heading h2{font-size:20px;margin:12px 0}.detail-heading small{font-size:10px;font-weight:400}.detail-heading>strong{margin-left:auto}.detail .controls{display:flex;gap:6px;margin:8px 0}.detail>svg{width:100%;height:auto;max-height:260px}.detail h3{font-size:13px;margin:16px 0 6px}.detail p{font-size:11px;color:#64748b}.data-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line)}.notice{padding:7px;background:var(--pale);font-size:11px;margin:0}.empty{padding:25px;text-align:center;color:#64748b}footer{padding:8px 10px;color:#64748b;font-size:10px;line-height:1.5;border-top:1px solid var(--line)}footer p{margin:3px 0}@media(max-width:360px){.topbar{gap:5px;padding:0 7px}.brand{font-size:15px}.topbar time{font-size:11px}.filter-line{gap:2px;padding:4px}.filter-line button{font-size:11px;padding:3px 4px}.divider{margin:0 1px}.list-head,.rank-row{grid-template-columns:22px minmax(48px,1fr) 46px 65px 60px 24px;gap:2px;padding:0 5px}.ticker,.raw-price,.positive{font-size:13px}.symbol-cell{display:block;line-height:12px}.symbol-cell>small{font-size:8px;display:block;line-height:9px}.movement{font-size:7px;min-width:7px;margin-left:0}.star{width:22px}.list-head{font-size:9px}}.mini-chart .controls{align-items:center;flex-wrap:nowrap}.mini-chart .controls button{font-size:10px;height:24px;padding:2px 6px;white-space:nowrap}.mini-chart .controls .chosen{background:var(--pale);color:var(--up);border-color:#a7f3d0}.mini-chart .controls{flex-wrap:wrap}.chart-range-chips,.chart-interval-chips{display:inline-flex;gap:4px}.mini-chart svg .axis-label,.detail svg .axis-label{font-size:11px}.market-outlook{border-bottom:1px solid var(--line);background:#f4f8fc;font-size:11px}.market-outlook summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;cursor:pointer;list-style:none}.market-outlook>summary{display:block;position:relative;padding:7px 25px 7px 10px}.market-outlook>summary:after{position:absolute;right:10px;top:7px}.outlook-summary-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.outlook-summary-heading small{font-size:9px;color:#64748b}.outlook-headline{display:flex;gap:4px 10px;flex-wrap:wrap;align-items:baseline;margin-top:3px;font-size:10px}.outlook-headline>.positive,.outlook-headline>.negative{font-size:12px}.outlook-headline>span{color:#52667d}.outlook-headline>span>b{color:var(--navy);font-weight:700}.outlook-summary-note{display:block;color:#64748b;font-size:8px;line-height:1.45;margin-top:2px}.market-outlook summary::-webkit-details-marker{display:none}.market-outlook summary:after{content:"+";font-weight:700;color:var(--up)}.market-outlook[open] summary:after{content:"−"}.market-outlook summary>span{margin-left:auto;font-size:9px;color:#64748b}.outlook-body{padding:0 10px 8px;line-height:1.6}.outlook-body p{margin:5px 0}.detail-tabs{display:flex;border-bottom:1px solid var(--line);gap:5px;margin:10px 0}.detail-tabs button{border:0;border-radius:0;padding:7px 12px;background:none;color:#64748b}.detail-tabs button.chosen{border-bottom:2px solid var(--up);font-weight:700;color:var(--up)}.analysis-panel{font-size:11px;line-height:1.55;min-width:0}.analysis-panel .indicator-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:5px 0}.analysis-panel .indicator-chips>div{padding:5px;min-height:42px}.analysis-panel .indicator-chips small{font-size:8px;line-height:1.25}.analysis-panel .indicator-chips b{font-size:11px;margin-top:3px;line-height:1.35;letter-spacing:-.2px}.analysis-panel>.analysis-warning{font-size:9px!important;line-height:1.4;padding:5px 7px;margin-bottom:5px!important}.analysis-panel .analysis-mode{margin:5px 0}.analysis-panel .analysis-mode button{padding:5px 3px}.analysis-panel>.analysis-muted{font-size:8px!important;margin:4px 0}.analysis-help{font-size:9px;color:#64748b;margin:4px 0}.analysis-help>summary{cursor:pointer;list-style:none;font-size:9px;color:#64748b}.analysis-help>summary::-webkit-details-marker{display:none}.analysis-help p{font-size:9px!important;margin:5px 0;line-height:1.5}.analysis-signal-compact{display:grid;grid-template-columns:1fr auto auto;gap:5px;align-items:center;padding:7px 8px;background:#eff6f3;border:1px solid #d6e9e0;border-radius:4px;margin:7px 0}.analysis-signal-compact>div{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.analysis-signal-compact small,.analysis-signal-compact>span{font-size:9px;color:#64748b}.analysis-signal-compact b{font-size:11px;color:var(--navy)}.analysis-signal-compact .analysis-help{margin:0}.analysis-signal-compact .analysis-help[open]{grid-column:1/-1}.analysis-patterns-compact{border-bottom:1px solid var(--line);margin:6px 0;padding:5px 0;font-size:10px}.analysis-patterns-compact>summary{display:flex;gap:6px;align-items:center;cursor:pointer;list-style:none}.analysis-patterns-compact>summary span{font-size:9px;color:#64748b;margin-left:auto}.analysis-patterns-compact>summary small{color:#64748b}.analysis-patterns-compact>p{font-size:9px!important}.analysis-panel .compact-evidence{padding:7px 8px;margin:7px 0}.evidence-heading{display:flex;align-items:center;gap:8px;justify-content:space-between}.evidence-heading h3{font-size:11px;margin:0!important}.evidence-heading .evidence-badge{font-size:8px}.analysis-panel .evidence-chips{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin:6px 0 4px}.analysis-panel .evidence-chips>div{padding:4px}.analysis-panel .evidence-chips small{font-size:8px;line-height:1.3}.analysis-panel .evidence-chips b{font-size:13px;margin-top:3px}.evidence-pending{display:block;font-size:8px;color:#64748b;line-height:1.4}.compact-dual-ai{border-top:1px solid var(--line);padding-top:6px;margin-top:8px}.compact-dual-ai>summary{display:flex;justify-content:space-between;gap:8px;font-size:10px;cursor:pointer;list-style:none}.compact-dual-ai>summary>span{color:#64748b;font-size:9px}@media(min-width:390px){.analysis-panel .indicator-chips{grid-template-columns:repeat(4,minmax(0,1fr))}}.analysis-warning{padding:7px 9px;margin:0 0 8px!important;background:#ecfdf5;border-left:3px solid var(--up);color:#1e3a5f!important;font-weight:600}.analysis-mode{display:flex;gap:5px;margin:8px 0}.analysis-mode button{flex:1;min-width:0;padding:6px 5px;font-size:11px}.analysis-mode .chosen{background:var(--navy);color:#fff;border-color:var(--navy)}.analysis-muted{font-size:10px!important;color:#64748b!important;line-height:1.6}.analysis-levels{display:flex;flex-wrap:wrap;gap:4px 12px;margin:8px 0;font-size:10px}.analysis-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:8px 0}.analysis-metrics>div{border:1px solid var(--line);background:#f8fafc;padding:7px;min-width:0;border-radius:4px}.analysis-metrics small{display:block;color:#64748b;font-size:9px;overflow-wrap:anywhere}.analysis-metrics b{display:block;font-size:13px;margin-top:4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.analysis-two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px}.analysis-two-col>section,.analysis-long,.analysis-evidence{border:1px solid var(--line);border-radius:4px;padding:8px;margin:8px 0;min-width:0}.analysis-two-col h3,.analysis-long h3,.analysis-evidence h3,.dual-ai h3{margin:0 0 6px;font-size:12px}.analysis-event{display:grid;gap:2px;border-bottom:1px solid var(--line);padding:5px 0}.analysis-event span,.analysis-event small{color:#64748b;font-size:10px}.analysis-signal{display:grid;gap:3px;background:#f1f5f9;padding:8px}.analysis-signal>span{color:#64748b;font-size:10px}.evidence-badge{display:inline-block;background:#fff7df;color:#886a1a;font-size:9px;padding:2px 5px;border-radius:3px}.ai-opinion-placeholder{border:1px dashed #cbd5e1;border-radius:4px;padding:8px;background:#f8fafc;min-width:0}.ai-opinion-placeholder>span{float:right;font-size:9px;color:#64748b}.ai-opinion-placeholder p{clear:both;margin:7px 0 0}.chat-panel{padding:10px;min-width:0;font-size:11px;line-height:1.6}.chat-intro{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}.chat-intro h2{font-size:15px;margin:0}.chat-intro p{font-size:10px;color:#64748b;margin:3px 0 7px}.chat-mode-badge{color:#166d56;background:#dcfce7;border:1px solid #a7f3d0;border-radius:3px;padding:1px 6px;font-size:9px}.chat-safety{margin:0 0 5px;background:#fff7df;color:#795a14;padding:7px 9px;border-left:3px solid #d5a134;font-size:10px}.chat-reference{margin:5px 0 9px;font-size:10px;color:#64748b}.chat-settings,.chat-history{border:1px solid var(--line);border-radius:4px;margin:8px 0;background:#f8fafc}.chat-settings summary,.chat-history summary{padding:7px 9px;cursor:pointer;font-size:11px}.chat-settings summary>span{font-size:9px;color:#64748b;float:right}.chat-settings form{padding:0 9px 9px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}.chat-settings form>label{font-size:10px;display:flex;gap:5px;align-items:center;min-width:0}.chat-settings input[type=number]{width:85px;min-width:0}.chat-settings p{font-size:9px;color:#64748b;width:100%;margin:0}.chat-settings button{font-size:10px}.chat-share-setting{width:100%}.chat-provider-strip{display:flex;justify-content:space-between;gap:8px;margin:8px 0;color:var(--navy-alt)}.chat-provider-strip small{font-size:9px;color:#94a3b8}.chat-composer{display:flex;flex-direction:column;gap:5px}.chat-composer label{font-weight:700;font-size:11px}.chat-composer textarea{font:inherit;resize:vertical;min-height:68px;max-height:220px;border:1px solid #cbd5e1;border-radius:4px;padding:8px;width:100%;color:var(--navy);background:#fff}.chat-composer textarea:focus{outline:2px solid var(--up);outline-offset:1px}.chat-composer>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.chat-composer small{font-size:9px;color:#64748b}.chat-composer button{background:var(--navy);color:#fff;border-color:var(--navy);font-size:10px;white-space:nowrap;padding:6px 8px}.chat-composer button:disabled{opacity:.45;cursor:default}.chat-error{background:#fef2f2;border-left:3px solid var(--down);padding:7px;color:#991b1b}.chat-conversation{margin:12px 0}.chat-user{margin-left:18px;background:#eef2f7;padding:8px 10px;border-radius:5px}.chat-user small{font-size:9px;color:#64748b}.chat-user p{margin:3px 0;overflow-wrap:anywhere;white-space:pre-wrap}.chat-answer{border:1px solid var(--line);border-radius:5px;margin:9px 0;background:#fff;min-width:0}.chat-answer.gpt{border-color:#badbcf}.chat-answer-header{display:flex;justify-content:space-between;background:#f1f5f9;padding:7px 9px;border-radius:4px 4px 0 0}.chat-answer.gpt .chat-answer-header{background:#ecfdf5}.chat-answer-header>span{font-size:9px;color:#64748b}.chat-answer-text{padding:0 9px;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-claims{list-style:none;margin:8px 9px;padding:0}.chat-claims li{display:flex;flex-wrap:wrap;gap:3px 6px;align-items:baseline;border-top:1px solid #edf1f4;padding:5px 0}.chat-claims li>span{overflow-wrap:anywhere}.chat-claims strong{font-variant-numeric:tabular-nums}.chat-claims small{font-size:9px;margin-left:auto}.chat-verified{color:var(--up)}.chat-unverified{color:#a86b16}.chat-verification,.chat-answer-sources{margin:7px 9px;font-size:10px}.chat-verification summary,.chat-answer-sources summary{cursor:pointer}.chat-verification summary>span{font-size:9px;margin-left:6px;color:#64748b}.chat-verification-row{display:grid;gap:2px;border-bottom:1px solid var(--line);padding:5px 0}.chat-verification-row span,.chat-verification-row small{font-size:9px;color:#64748b;overflow-wrap:anywhere}.chat-source{display:grid;gap:2px;padding:5px 0;border-bottom:1px solid var(--line);font-size:9px;overflow-wrap:anywhere}.chat-source small{font-size:8px;color:#94a3b8}.chat-source a{color:#047857}.chat-answer-meta{padding:6px 9px!important;margin:0;font-size:8px!important;color:#94a3b8;overflow-wrap:anywhere;background:#fafcfe}.chat-order-arrow{text-align:center;color:#8ba399;line-height:1}.chat-abstained{background:#fff7df;padding:9px;border:1px solid #f3df9d}.chat-usage{display:grid;gap:2px;padding:6px 0;color:#64748b;font-size:9px}.chat-usage small{font-size:9px}.chat-history ul{padding:0 8px;list-style:none;margin:0}.chat-history li{border-top:1px solid var(--line)}.chat-history button{display:grid;gap:3px;border:0;background:none;text-align:left;width:100%;padding:7px 0;overflow-wrap:anywhere}.chat-history button strong{font-size:10px;font-weight:400}.chat-history small{font-size:8px;color:#94a3b8}.chat-history>p{padding:0 9px;font-size:10px;color:#64748b}@media(max-width:360px){.chat-panel{padding:8px}.chat-intro h2{font-size:13px}.chat-settings summary{font-size:10px}.chat-settings summary>span{font-size:8px}.chat-provider-strip{font-size:10px}.chat-provider-strip small{font-size:8px}.chat-composer>div{align-items:flex-start}.chat-composer small{max-width:65%}nav button{font-size:11px}}@media(max-width:500px){.analysis-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-two-col{grid-template-columns:1fr}.analysis-mode button{font-size:10px}.market-outlook summary{font-size:10px;gap:4px}.market-outlook summary>span{font-size:8px}}.performance-chart{border-top:1px solid #dbe5ee;margin-top:12px;font-size:11px;padding-top:8px}.performance-chart summary{font-weight:700;cursor:pointer}.performance-chart svg{width:100%;max-height:190px}.performance-chart svg text{font-size:11px;fill:#64748b}.performance-chart p{color:#64748b;font-size:11px;line-height:1.5}.live-login{min-height:100dvh;display:grid;place-items:center;background:#f2f5f1;color:#173d33;font-family:system-ui,sans-serif;padding:20px;box-sizing:border-box}.live-login section{width:min(100%,380px);padding:24px;background:#fff;border:1px solid #dbe4dc;border-radius:20px;box-sizing:border-box}.live-login header{display:flex;justify-content:space-between;align-items:center;gap:12px}.live-login h1{font-size:25px}.live-login p{font-size:14px;line-height:1.6}.live-login form,.live-login label{display:grid;gap:10px}.live-login form{gap:18px}.live-login input{min-width:0;font:inherit;border:1px solid #a1b6a8;border-radius:8px;padding:12px}.live-login button{font:inherit;border:1px solid #aec5b9;border-radius:8px;padding:10px 14px;background:#164a3c;color:#fff;cursor:pointer}.live-login button:disabled{opacity:.5}.live-login [role=alert]{color:#a62c35}.live-login section>button{margin-top:16px}
