:root{--ink:#12231f;--muted:#677a74;--line:#d8e6e1;--bg:#f1f7f5;--surface:#fff;--soft:#e6f4ef;--teal:#087765;--deep:#082d28;--up:#c83c47;--down:#16825c;--amber:#b66f13;--slate:#63728a;--shadow:0 14px 34px rgba(12,57,48,.075);font-family:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink)}button,select{font:inherit}button{color:inherit}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-row{max-width:1240px;height:62px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#25b994,#087a68);color:#fff;font-weight:900;font-size:20px;box-shadow:0 8px 20px rgba(12,169,131,.24)}.brand strong{display:block;letter-spacing:.11em;font-size:14px}.brand small{display:block;margin-top:2px;color:var(--muted);font-size:10px;letter-spacing:.05em}.freshness{padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;white-space:nowrap}.live-dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#34c79a;box-shadow:0 0 0 4px rgba(52,199,154,.12)}.primary-tabs{max-width:1240px;margin:auto;padding:0 24px 10px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.primary-tabs::-webkit-scrollbar{display:none}.primary-tab{flex:0 0 auto;min-height:38px;padding:8px 14px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-size:13px;font-weight:750;cursor:pointer}.primary-tab:hover,.primary-tab.active{background:var(--soft);color:var(--teal)}main{max-width:1240px;min-height:72vh;margin:auto;padding:24px 24px 56px}.page-view{display:none}.page-view.active{display:block}.page-intro{position:relative;overflow:hidden;padding:29px 31px;border-radius:23px;color:#fff;background:radial-gradient(circle at 88% 20%,rgba(91,231,191,.30),transparent 27%),linear-gradient(125deg,#0a2723,#0d4c42 68%,#087a68);box-shadow:0 20px 46px rgba(13,42,40,.15)}.page-intro:after{content:"";position:absolute;width:260px;height:260px;right:-80px;bottom:-165px;border:1px solid rgba(255,255,255,.18);border-radius:50%}.eyebrow{margin:0 0 7px;color:var(--teal);font-size:11px;font-weight:850;letter-spacing:.13em}.page-intro .eyebrow{color:#a6f2dc}.page-intro h1{position:relative;z-index:1;margin:0 0 9px;font-size:31px;line-height:1.2;letter-spacing:-.035em}.page-intro>p:not(.eyebrow){position:relative;z-index:1;max-width:730px;margin:0;color:rgba(255,255,255,.78);font-size:14px;line-height:1.7}.intro-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.intro-meta span{padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.09);font-size:11px}.radar-intro{background:radial-gradient(circle at 88% 20%,rgba(249,195,91,.22),transparent 27%),linear-gradient(125deg,#172621,#4c3f18 76%,#7c5a15)}.filter-row{display:flex;gap:7px;margin:18px 0 13px;overflow-x:auto;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-button{flex:0 0 auto;min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px;font-weight:700;cursor:pointer}.filter-button.active{border-color:var(--deep);background:var(--deep);color:#fff}.company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.company-card{min-width:0;padding:17px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.company-title{margin:0;font-size:17px;line-height:1.3}.company-code{margin-left:5px;color:var(--muted);font-size:11px;font-weight:500}.card-status{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:var(--soft);color:var(--teal);font-size:10px;font-weight:750}.card-status.waiting{background:#f1f3f2;color:var(--muted)}.company-role{margin:5px 0 0;color:var(--teal);font-size:11px;font-weight:750}.company-thesis{margin:11px 0 14px;color:#41534e;font-size:12px;line-height:1.6;flex:1}.signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:13px}.signal{padding:9px 10px;border-radius:10px;background:#f5f8f7}.signal span{display:block;color:var(--muted);font-size:9px}.signal strong{display:block;margin-top:3px;font-size:12px}.value-up{color:var(--up)!important}.value-down{color:var(--down)!important}.driver-row,.chip-row{display:flex;flex-wrap:wrap;gap:6px}.driver-row span,.chip-row span{padding:5px 8px;border-radius:999px;background:var(--soft);color:#24685a;font-size:10px}.company-open{width:100%;min-height:40px;margin-top:14px;border:0;border-radius:11px;background:var(--deep);color:#fff;font-size:12px;font-weight:750;cursor:pointer}.company-open:disabled{background:#dae3e0;color:#71827d;cursor:not-allowed}.radar-legend{display:flex;flex-wrap:wrap;gap:12px;margin:17px 2px;color:var(--muted);font-size:11px}.radar-legend span{display:flex;align-items:center;gap:6px}.stage-dot{width:9px;height:9px;border-radius:50%}.stage-dot.found{background:var(--teal)}.stage-dot.pending{background:var(--amber)}.stage-dot.unknown{background:#a9b6b2}.radar-list{display:grid;gap:13px}.radar-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.radar-card h2{margin:0;font-size:19px}.radar-source{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px;color:var(--muted);font-size:10px}.radar-headline{margin:14px 0 0;font-size:14px;font-weight:750;line-height:1.55}.radar-headline a{color:var(--ink);text-decoration:none}.radar-headline a:hover{color:var(--teal)}.evidence-chain{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}.chain-step{position:relative;min-height:105px;padding:13px;border-radius:13px;background:#f4f8f6}.chain-step:after{content:"→";position:absolute;right:-11px;top:42%;z-index:2;color:#95a8a1;font-weight:850}.chain-step:last-child:after{display:none}.chain-step span{display:block;color:var(--muted);font-size:10px}.chain-step strong{display:block;margin:6px 0 3px;font-size:12px}.chain-step small{color:var(--muted);font-size:10px;line-height:1.4}.chain-step.found{background:#eaf7f2}.chain-step.found strong{color:var(--teal)}.chain-step.pending{background:#fff8eb}.chain-step.pending strong{color:#8b5c13}.empty-state{padding:28px;border:1px dashed #b8cbc4;border-radius:18px;background:rgba(255,255,255,.5);text-align:center}.empty-state h2{margin:0 0 7px;font-size:18px}.empty-state p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.back-button{min-height:40px;margin-bottom:12px;padding:8px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:12px;font-weight:750;cursor:pointer}.control-panel{padding:15px 17px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow);display:grid;grid-template-columns:1.25fr 1fr .8fr;gap:14px;align-items:end}.control-panel label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:750}.control-panel select{width:100%;min-height:43px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#f9fbfa;color:var(--ink);outline:none}.control-panel select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,122,104,.1)}.update-box{display:grid;gap:5px;padding:0 5px 7px}.update-box span{color:var(--muted);font-size:11px}.update-box strong{font-size:12px}.company-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:24px 2px 14px}.company-heading h1{margin:0;font-size:31px;letter-spacing:-.03em}.muted{margin:6px 0 0;color:var(--muted);font-size:12px}.freshness-badge{padding:8px 12px;border-radius:999px;background:#dff3ed;color:#086650;font-size:11px;font-weight:800;white-space:nowrap}.thesis-card{padding:22px;border:1px solid #cfe0da;border-radius:19px;background:linear-gradient(145deg,#fff,#f1faf7);box-shadow:var(--shadow)}.thesis-card h2{margin:0 0 8px;font-size:21px}.thesis-card>p:not(.eyebrow){margin:0 0 14px;color:#425550;font-size:13px;line-height:1.65}.section-block{scroll-margin-top:120px;margin-top:30px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}.section-heading h2{margin:0;font-size:19px}.section-heading>p{margin:2px 0;color:var(--muted);font-size:11px}.quickview-section,.chart-card,.data-card,.archive-card{padding:21px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}.quick-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-stat-grid article{min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.quick-stat-grid span,.quick-stat-grid small{display:block;color:var(--muted);font-size:10px}.quick-stat-grid strong{display:block;margin:7px 0 4px;font-size:19px}.quick-brief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.brief,.evidence-card,.gap-card{padding:17px;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:14px;background:#fff}.brief.support,.evidence-card.support{border-top-color:var(--up)}.brief.counter,.evidence-card.counter,.gap-card{border-top-color:var(--amber)}.brief.verify,.evidence-card.verify{border-top-color:var(--teal)}.evidence-card.risk{border-top-color:var(--slate)}.brief h3,.evidence-card h3,.gap-card h3{margin:0 0 9px;font-size:13px}.brief ul,.evidence-card ul,.gap-card ul,.plain-list{margin:0;padding-left:18px}.brief li,.evidence-card li,.gap-card li,.plain-list li{margin:7px 0;color:#425550;font-size:11px;line-height:1.6}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:13px}.metric-card{min-height:117px;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.metric-card:before{content:"";display:block;width:28px;height:3px;margin-bottom:15px;border-radius:4px;background:var(--up)}.metric-card.down:before{background:var(--down)}.metric-card.neutral:before{background:#94a59f}.metric-card span{display:block;color:var(--muted);font-size:10px;font-weight:750}.metric-card strong{display:block;margin:5px 0 4px;font-size:23px}.metric-card small{color:var(--up);font-size:10px;font-weight:750}.metric-card.down small{color:var(--down)}.legend{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:10px}.line-price,.line-ma{display:inline-block;width:21px;height:2px;background:var(--up)}.line-ma{margin-left:7px;background:repeating-linear-gradient(90deg,#78938c 0 4px,transparent 4px 7px)}.chart{height:315px;width:100%}.chart svg{display:block;width:100%;height:100%;overflow:visible}.chart-grid{stroke:#e5eeeb;stroke-width:1}.chart-line{fill:none;stroke:var(--up);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-line.down{stroke:var(--down)}.chart-ma{fill:none;stroke:#78938c;stroke-width:1.5;stroke-dasharray:5 5}.chart-label{fill:#80908c;font-size:10px}.evidence-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.gap-card{margin-top:11px}.split-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.data-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:13px;overflow:hidden}.data-item{min-height:70px;padding:12px;background:#fff}.data-item span{display:block;color:var(--muted);font-size:10px}.data-item strong{display:block;margin-top:6px;font-size:13px}.fine-print{margin:13px 2px 0;color:var(--muted);font-size:10px;line-height:1.6}.risk-badges,.archive-counts{display:flex;gap:6px;flex-wrap:wrap}.risk-badge,.archive-counts span{padding:5px 8px;border-radius:999px;background:var(--soft);color:#17644f;font-size:10px;font-weight:750}.risk-badge.alert{background:#fff0e5;color:#a95716}.official-event{padding:13px 14px;border-radius:12px;background:#f5f8f7;color:#3e514d;font-size:12px;line-height:1.55}.news-list{display:grid;margin-top:9px}.news-item{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:11px 2px;border-bottom:1px solid var(--line)}.news-item time{color:var(--muted);font-size:10px}.news-item a{color:var(--ink);text-decoration:none;font-size:11px;font-weight:700;line-height:1.55}.news-item small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.source-title{margin:20px 0 8px;font-size:13px}.sources-list{display:flex;flex-wrap:wrap;gap:6px}.sources-list a{padding:6px 8px;border:1px solid var(--line);border-radius:9px;color:var(--teal);text-decoration:none;font-size:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;color:var(--muted);font-weight:750;background:#f5f8f7}th,td{padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.tier{display:inline-block;padding:4px 7px;border-radius:999px;background:#e2f3ed;color:#11644f;font-size:9px}.tier.archive{background:#eef0f3;color:#627084}footer{padding:0 20px 30px;text-align:center;color:#879691;font-size:10px}.error-state{position:fixed;inset:0;z-index:99;background:var(--bg);display:grid;place-content:center;text-align:center;gap:8px}.error-state[hidden]{display:none}.error-state span{color:var(--muted);font-size:12px}
@media(max-width:980px){.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-chain{grid-template-columns:repeat(2,1fr)}.chain-step:nth-child(2):after{display:none}.quick-stat-grid{grid-template-columns:repeat(2,1fr)}.quick-brief-grid{grid-template-columns:1fr}}
@media(max-width:680px){.header-row{height:57px;padding:0 14px}.brand small{display:none}.freshness{padding:7px 9px;font-size:10px}.primary-tabs{padding:0 12px 8px;gap:4px}.primary-tab{min-height:36px;padding:7px 11px;font-size:11px}main{padding:13px 12px 40px}.page-intro{padding:23px 20px;border-radius:19px}.page-intro h1{font-size:25px}.page-intro>p:not(.eyebrow){font-size:12px}.company-grid{grid-template-columns:1fr}.filter-row{margin-top:13px}.company-card{padding:15px}.evidence-chain{grid-template-columns:1fr}.chain-step{min-height:0}.chain-step:after{content:"↓";right:auto;left:50%;top:auto;bottom:-14px}.chain-step:nth-child(2):after{display:block}.control-panel{grid-template-columns:1fr;padding:13px}.update-box{padding:2px}.company-heading{display:block;margin-top:19px}.company-heading h1{font-size:27px}.freshness-badge{display:inline-block;margin-top:10px}.thesis-card{padding:17px}.section-block{margin-top:22px;scroll-margin-top:105px}.quickview-section,.chart-card,.data-card,.archive-card{padding:15px;border-radius:16px}.quick-stat-grid{gap:8px}.quick-stat-grid article{padding:12px}.quick-stat-grid strong{font-size:17px}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{min-height:105px;padding:13px}.metric-card strong{font-size:19px}.chart{height:240px}.section-heading{display:block}.section-heading>p,.legend{margin-top:9px}.evidence-grid,.split-grid{grid-template-columns:1fr}.data-grid{grid-template-columns:1fr 1fr}.news-item{grid-template-columns:1fr;gap:3px}.back-button{width:100%}}

.decision-panel{padding:21px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}.decision-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:14px 16px;border-radius:14px;background:#f5f8f7}.decision-head strong{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eef1f0;color:var(--slate);font-size:12px}.decision-head strong.pass{background:#e2f3ed;color:#08705a}.decision-head strong.attention{background:#fff3d9;color:#8b5c13}.decision-head strong.risk{background:#ffe8e8;color:#a63a3a}.decision-head p{margin:0;color:#425550;font-size:12px;line-height:1.55}.decision-gates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.decision-gate{min-width:0;padding:14px;border:1px solid var(--line);border-top:4px solid #9aa9a4;border-radius:14px;background:#fbfdfc}.decision-gate.pass{border-top-color:var(--up)}.decision-gate.attention{border-top-color:var(--amber)}.decision-gate.risk{border-top-color:#d24c4c}.decision-gate span{display:block;color:var(--muted);font-size:10px}.decision-gate strong{display:block;margin:7px 0 6px;font-size:14px}.decision-gate p{margin:0;color:#4b5d58;font-size:10px;line-height:1.55}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.entry-grid article{padding:16px;border-radius:14px;background:#eef8f4}.entry-grid article.avoid{background:#fff6e7}.entry-grid h3{margin:0 0 8px;font-size:13px}.entry-grid ul{margin:0;padding-left:18px}.entry-grid li{margin:6px 0;color:#425550;font-size:11px;line-height:1.6}.decision-note{margin:11px 2px 0;color:var(--muted);font-size:10px;line-height:1.6}@media(max-width:980px){.decision-gates{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.decision-panel{padding:15px;border-radius:16px}.decision-head{display:block}.decision-head p{margin-top:9px}.decision-gates,.entry-grid{grid-template-columns:1fr}}

/* 2026-09-18: company context, grouped radar and larger reading type */
body{font-size:17px}.company-introduction-card{margin:12px 0 4px;padding:11px 12px;border-left:3px solid var(--teal);border-radius:0 10px 10px 0;background:#f1f8f5;color:#314b44;font-size:14px;line-height:1.7}.company-thesis{font-size:14px}.company-role{font-size:13px}.company-title{font-size:20px}.company-code,.signal strong{font-size:13px}.signal span,.driver-row span,.card-status{font-size:11px}.company-open{font-size:14px}.profile-card,.reading-guide{padding:22px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}.profile-source{flex:0 0 auto;color:var(--teal);font-size:13px;font-weight:750;text-decoration:none}.company-introduction{margin:0;color:#314b44;font-size:16px;line-height:1.8}.profile-card h3{margin:22px 0 10px;font-size:16px}.milestone-list{display:grid;gap:9px;margin:0;padding-left:24px}.milestone-list li{padding:10px 12px;border-radius:11px;background:#f4f8f6;color:#344c45;font-size:14px;line-height:1.65}.reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.reading-grid article{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.reading-grid strong{font-size:15px}.reading-grid p{margin:8px 0 0;color:#425550;font-size:13px;line-height:1.7}.radar-event-list{display:grid;gap:8px;margin-top:15px}.radar-event{padding:12px 13px;border-radius:12px;background:#f5f8f7}.radar-event small{display:block;color:var(--muted);font-size:11px}.radar-event .radar-headline{display:block;margin:6px 0 0;color:var(--ink);font-size:14px;text-decoration:none}.data-item{min-height:104px}.data-item span{font-size:12px}.data-item strong{font-size:15px}.data-item small{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.55}.brief h3,.evidence-card h3,.gap-card h3,.entry-grid h3{font-size:15px}.brief li,.evidence-card li,.gap-card li,.plain-list li,.entry-grid li{font-size:13px}.fine-print,.decision-note{font-size:12px}.primary-tab{font-size:14px}.freshness,.intro-meta span,.filter-button,.back-button,.control-panel label,.update-box span,.update-box strong,.muted,.freshness-badge{font-size:13px}.section-heading h2{font-size:22px}.section-heading>p{font-size:13px}.quick-stat-grid span,.quick-stat-grid small,.metric-card span,.metric-card small{font-size:12px}.quick-stat-grid strong{font-size:21px}.metric-card strong{font-size:25px}
@media(max-width:980px){.reading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.primary-tab{font-size:13px}.page-intro h1{font-size:28px}.page-intro>p:not(.eyebrow){font-size:15px}.company-title{font-size:21px}.company-introduction-card,.company-thesis{font-size:15px}.reading-grid{grid-template-columns:1fr}.profile-card,.reading-guide{padding:16px;border-radius:16px}.company-introduction{font-size:16px}.data-grid{grid-template-columns:1fr}.data-item{min-height:0;padding:14px}.data-item span{font-size:13px}.data-item strong{font-size:16px}.data-item small{font-size:13px}.section-heading h2{font-size:21px}.freshness{font-size:11px}.quick-stat-grid{grid-template-columns:1fr 1fr}.quick-stat-grid span,.quick-stat-grid small{font-size:11px}.metric-card span,.metric-card small{font-size:11px}}

/* 2026-09-18: stock-code and company-name search */
.company-search{margin-top:18px;padding:16px 18px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow)}.company-search>label{display:block;margin-bottom:8px;font-size:14px;font-weight:800}.search-control{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 13px;border:1px solid #b9cec7;border-radius:13px;background:#f9fcfb;transition:border-color .15s,box-shadow .15s}.search-control:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px rgba(8,119,101,.1)}.search-control>span{color:var(--teal);font-size:26px;line-height:1}.search-control input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:16px}.search-control input::placeholder{color:#82928d}.search-control button{flex:0 0 auto;padding:7px 10px;border:0;border-radius:9px;background:var(--soft);color:var(--teal);font-size:13px;font-weight:800;cursor:pointer}.search-control button[hidden]{display:none}.company-search>p{margin:8px 2px 0;color:var(--muted);font-size:13px}.search-empty{grid-column:1/-1}
@media(max-width:680px){.company-search{margin-top:13px;padding:14px}.search-control{min-height:52px}.search-control input{font-size:16px}.company-search>p{font-size:12px}}

/* 2026-09-18: explainable undervaluation indicator and point-in-time event study */
.backtest-intro{background:radial-gradient(circle at 88% 20%,rgba(255,214,113,.28),transparent 28%),linear-gradient(125deg,#182b28,#315247 66%,#735d20)}
.backtest-summary-card,.methodology-card,.backtest-table-card,.latest-signals-card,.limitations-card,.undervaluation-card{padding:22px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}
.backtest-headline{margin-bottom:12px;padding:14px 16px;border-left:4px solid var(--amber);border-radius:0 12px 12px 0;background:#fff8e9;color:#4c4a3d;font-size:14px;line-height:1.65}
.backtest-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.backtest-stat-grid article{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.backtest-stat-grid span,.backtest-stat-grid small{display:block;color:var(--muted);font-size:12px}.backtest-stat-grid strong{display:block;margin:8px 0 5px;font-size:22px}
.methodology-gates,.uv-gate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.methodology-gates article,.uv-gate{padding:15px;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:14px;background:#fbfdfc}.methodology-gates strong,.uv-gate strong{font-size:15px}.methodology-gates p,.uv-gate p{margin:8px 0 0;color:#425550;font-size:13px;line-height:1.65}.uv-gate>span{display:block;color:var(--muted);font-size:12px}.uv-gate.pass{border-top-color:var(--up);background:#f4fbf8}.uv-gate.risk{border-top-color:var(--amber);background:#fffaf0}.uv-gate.neutral{border-top-color:#9aa9a4}
.uv-state{display:flex;align-items:center;gap:13px;margin-bottom:12px;padding:14px 16px;border-radius:14px;background:#f5f8f7}.uv-state strong{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eef1f0;color:var(--slate);font-size:13px}.uv-state strong.pass{background:#dff3eb;color:#086650}.uv-state strong.attention{background:#fff0cc;color:#80530d}.uv-state strong.risk{background:#ffeaea;color:#9f3838}.uv-state p{margin:0;color:#425550;font-size:13px;line-height:1.6}
.latest-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.latest-signal{min-width:0;padding:14px;text-align:left;border:1px solid var(--line);border-left:5px solid #9aa9a4;border-radius:13px;background:#fbfdfc;cursor:pointer}.latest-signal.pass{border-left-color:var(--up)}.latest-signal.attention{border-left-color:var(--amber)}.latest-signal.risk{border-left-color:#d24c4c}.latest-signal strong,.latest-signal span,.latest-signal small{display:block}.latest-signal strong{font-size:15px}.latest-signal span{margin-top:6px;color:#334b45;font-size:13px;font-weight:750}.latest-signal small{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:980px){.backtest-stat-grid,.methodology-gates,.uv-gate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.latest-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.primary-tabs{overflow-x:auto;scrollbar-width:none}.primary-tab{flex:0 0 auto}.backtest-summary-card,.methodology-card,.backtest-table-card,.latest-signals-card,.limitations-card,.undervaluation-card{padding:15px;border-radius:16px}.backtest-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.methodology-gates,.uv-gate-grid,.latest-signal-grid{grid-template-columns:1fr}.uv-state{display:block}.uv-state p{margin-top:9px}.backtest-stat-grid strong{font-size:22px}.backtest-headline{font-size:15px}}

/* 2026-09-18: historical EPS comparison */
.eps-card{padding:22px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}
.eps-status{display:flex;align-items:center;gap:13px;margin-bottom:12px;padding:14px 16px;border-radius:14px;background:#f5f8f7}.eps-status strong{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eef1f0;color:var(--slate);font-size:13px}.eps-status strong.pass{background:#dff3eb;color:#086650}.eps-status strong.attention{background:#fff0cc;color:#80530d}.eps-status strong.risk{background:#ffeaea;color:#9f3838}.eps-status p{margin:0;color:#425550;font-size:13px;line-height:1.6}
.eps-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.eps-stat-grid article{min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.eps-stat-grid span,.eps-stat-grid small{display:block;color:var(--muted);font-size:12px}.eps-stat-grid strong{display:block;margin:7px 0 5px;font-size:21px}.eps-history-title{margin:20px 0 9px;font-size:15px}.eps-history{display:grid;grid-template-columns:repeat(8,minmax(105px,1fr));gap:7px;overflow-x:auto;padding-bottom:3px}.eps-history article{min-width:105px;padding:11px;border-radius:11px;background:#f3f8f6}.eps-history span,.eps-history small{display:block;color:var(--muted);font-size:10px}.eps-history strong{display:block;margin:5px 0;font-size:17px}.eps-empty{margin:0;color:var(--muted);font-size:13px}
.eps-annual-history{grid-template-columns:repeat(5,minmax(105px,1fr))}
@media(max-width:980px){.eps-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eps-history{grid-template-columns:repeat(8,112px)}}
@media(max-width:680px){.eps-card{padding:15px;border-radius:16px}.eps-status{display:block}.eps-status p{margin-top:9px;font-size:14px}.eps-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.eps-stat-grid article{padding:12px}.eps-stat-grid span,.eps-stat-grid small{font-size:11px}.eps-stat-grid strong{font-size:19px}.eps-history{margin-right:-15px;padding-right:15px}.eps-card .fine-print{font-size:12px}}

/* 2026-09-19: two-year rally event study */
.rally-intro{background:radial-gradient(circle at 88% 18%,rgba(255,154,111,.28),transparent 30%),linear-gradient(125deg,#281c1d,#64352d 67%,#a54b39)}
.rally-patterns-card,.rally-boundaries{padding:22px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}
.rally-pattern-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rally-pattern-grid article{padding:17px;border:1px solid var(--line);border-top:4px solid var(--amber);border-radius:14px;background:#fffdf8}.rally-pattern-grid h3{margin:0;font-size:16px;line-height:1.45}.rally-pattern-grid p{margin:9px 0;color:#425550;font-size:13px;line-height:1.65}.rally-pattern-grid small{display:block;padding-top:9px;border-top:1px solid #eadfc9;color:#886329;font-size:12px;line-height:1.55}
.rally-controls{display:grid;grid-template-columns:auto minmax(220px,360px) auto 1fr;gap:10px;align-items:center;margin:18px 0 13px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.rally-controls>label{font-size:13px;font-weight:800}.rally-controls select{min-height:43px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#f9fbfa;color:var(--ink)}.rally-check{display:flex;align-items:center;gap:7px;white-space:nowrap}.rally-check input{width:18px;height:18px;accent-color:var(--teal)}.rally-controls p{justify-self:end;margin:0;color:var(--muted);font-size:12px}
.rally-company-list{display:grid;gap:14px}.rally-company-card{padding:20px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow)}.rally-company-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.rally-company-head h2{margin:0;font-size:22px}.rally-company-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.rally-review-badge{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eef1f0;color:var(--slate);font-size:11px;font-weight:800}.rally-review-badge.verified{background:#dff3eb;color:#086650}
.rally-window{margin-top:13px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fbfdfc}.rally-window summary{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:52px;padding:12px 15px;cursor:pointer;font-size:14px;font-weight:800}.rally-window summary::marker{color:var(--teal)}.rally-window-body{padding:0 15px 16px}.rally-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.rally-metric{padding:12px;border-radius:11px;background:#eef5f2}.rally-metric span{display:block;color:var(--muted);font-size:11px}.rally-metric strong{display:block;margin-top:5px;font-size:18px}.rally-price-line{margin:10px 2px;color:var(--muted);font-size:12px}
.rally-story-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.rally-story-head h4{margin:0;font-size:18px;line-height:1.45}.confidence-badge{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#fff0cc;color:#80530d;font-size:11px;font-weight:800}.rally-timing{padding:12px 13px;border-left:4px solid var(--teal);border-radius:0 10px 10px 0;background:#eef8f4;color:#354d46;font-size:13px;line-height:1.65}.rally-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rally-evidence-grid article{padding:14px;border-top:4px solid var(--teal);border-radius:12px;background:#fff}.rally-evidence-grid article.counter{border-top-color:var(--amber)}.rally-evidence-grid article.signals{border-top-color:var(--slate)}.rally-evidence-grid h5{margin:0 0 8px;font-size:14px}.rally-evidence-grid ul{margin:0;padding-left:18px}.rally-evidence-grid li{margin:6px 0;color:#425550;font-size:12px;line-height:1.55}.rally-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.rally-sources a{padding:6px 8px;border:1px solid var(--line);border-radius:9px;color:var(--teal);font-size:11px;font-weight:750;text-decoration:none}.rally-pending{margin-top:13px;padding:13px;border-radius:11px;background:#f0f3f2}.rally-pending strong{font-size:13px}.rally-pending p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
@media(max-width:980px){.rally-pattern-grid{grid-template-columns:1fr}.rally-controls{grid-template-columns:auto 1fr}.rally-controls p{grid-column:1/-1;justify-self:start}.rally-evidence-grid{grid-template-columns:1fr}.rally-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.rally-patterns-card,.rally-boundaries,.rally-company-card{padding:15px;border-radius:16px}.rally-controls{grid-template-columns:1fr;padding:13px}.rally-controls select{width:100%}.rally-company-head{display:block}.rally-review-badge{display:inline-block;margin-top:10px}.rally-window summary{font-size:13px}.rally-window-body{padding:0 11px 12px}.rally-metric-grid{gap:6px}.rally-metric{padding:10px}.rally-metric strong{font-size:17px}.rally-story-head{display:block}.confidence-badge{display:inline-block;margin-top:9px}.rally-story-head h4{font-size:17px}.rally-timing{font-size:13px}.rally-price-line{font-size:11px}}

/* 2026-09-22: show what the radar did and did not verify */
.radar-audit{margin:15px 0;padding:15px 17px;border:1px solid #cbded6;border-radius:14px;background:#f3faf7;color:#28443b}.radar-audit strong{display:block;font-size:14px}.radar-audit p{margin:9px 0 0;font-size:13px;line-height:1.65}.radar-audit a{display:inline-block;margin-top:10px;color:#087a68;font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:3px}.chain-step small{overflow-wrap:anywhere}
@media(max-width:680px){.radar-audit{padding:13px 14px}.radar-audit p,.radar-audit a{font-size:13px}}

/* 2026-09-29: show all Panmai themes on desktop; retain swipeable chips on mobile. */
.filter-row{flex-wrap:wrap;overflow:visible}
@media(max-width:680px){.filter-row{flex-wrap:nowrap;overflow-x:auto}}

/* Keep long company names and mobile controls inside the viewport. */
html,body{max-width:100%;overflow-x:hidden}
main,.page-view,.page-intro,.company-search,.company-grid,.company-card,.card-top>div{min-width:0;max-width:100%}
.company-title,.company-role,.company-introduction-card,.company-thesis{overflow-wrap:anywhere}
@media(max-width:680px){.header-row{max-width:100%}.brand{min-width:0}.freshness{max-width:52%;overflow:hidden;text-overflow:ellipsis}.search-control{min-width:0}.search-control input{width:100%}.intro-meta span{max-width:100%;overflow-wrap:anywhere}}

/* 2026-10-01: keep the complete mobile view readable without horizontal clipping. */
/* Navigation also accepts standalone-page links. */
.primary-tabs a.primary-tab{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:680px){
  .primary-tabs{flex-wrap:wrap;overflow:visible}
  .primary-tab{flex:1 1 calc(33.333% - 4px);min-width:0;padding:8px 6px;white-space:normal;line-height:1.25}
  .page-intro h1,.page-intro>p:not(.eyebrow),.company-title,.company-role,.company-introduction-card,.company-thesis,.official-event,.news-item a,.fine-print{max-width:100%;overflow-wrap:anywhere;word-break:break-word;white-space:normal}
  .intro-meta span{min-width:0;white-space:normal}
  .card-top>div{min-width:0}
  .card-status{max-width:42%;white-space:normal;overflow-wrap:anywhere;text-align:center}
  .search-control input{font-size:15px}
}
