:root { --ink:#11211c; --muted:#66736e; --line:#dce3de; --paper:#f4f6f2; --panel:rgba(255,255,255,.88); --green:#0f7652; --green-soft:#e5f4ed; --amber:#b86a16; --amber-soft:#fff2df; --red:#a8453a; --red-soft:#faeae7; --font-geist-mono:"Cascadia Mono","SFMono-Regular",Consolas,monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; color:var(--ink); background:radial-gradient(circle at 12% 0%,rgba(202,226,210,.65),transparent 28rem),linear-gradient(180deg,#f8faf7 0%,var(--paper) 100%); font-family:Arial,"Microsoft YaHei",sans-serif; }
button { font:inherit; }
[hidden] { display:none !important; }
.skip-link { position:fixed; left:16px; top:12px; z-index:50; padding:10px 14px; color:#fff; background:#102f25; border-radius:8px; transform:translateY(-160%); transition:transform .2s; }
.skip-link:focus { transform:translateY(0); }
.app-shell { width:min(1480px,calc(100% - 48px)); margin:0 auto; padding:28px 0 48px; }
.topbar { display:flex; align-items:center; justify-content:space-between; padding:0 4px 22px; }
.brand-lockup,.market-strip,.decision-kicker,.tf-card-top,.context-row { display:flex; align-items:center; }
.brand-lockup { gap:13px; color:inherit; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:#fff; background:#102f25; font-weight:800; letter-spacing:-.04em; }
.eyebrow { margin:0 0 5px; color:#77827e; font:700 10px/1 var(--font-geist-mono),monospace; letter-spacing:.16em; }
.brand-title { display:block; margin:0; font-size:18px; letter-spacing:-.02em; }
.market-strip { gap:12px; color:#596660; font-size:13px; }
.market-strip strong { color:var(--ink); }
.back-home { padding:6px 9px; color:#41524b; border:1px solid #d7ded9; border-radius:999px; background:rgba(255,255,255,.72); font-size:11px; font-weight:700; text-decoration:none; }
.back-home:hover { color:var(--green); border-color:#b8d7c8; }
.back-home:focus-visible { outline:3px solid rgba(15,118,82,.25); outline-offset:2px; }
.live-dot { width:8px; height:8px; border-radius:50%; background:#26a66f; box-shadow:0 0 0 5px rgba(38,166,111,.11); }
.demo-chip { padding:6px 9px; border:1px solid #d7ded9; border-radius:999px; background:rgba(255,255,255,.65); }
.decision-hero { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:24px; padding:34px 36px; color:#f5fbf8; background:linear-gradient(100deg,rgba(8,39,30,.98),rgba(13,67,49,.92)),#0b3f2f; border-radius:24px; box-shadow:0 24px 54px rgba(31,56,47,.16); overflow:hidden; position:relative; }
.decision-hero::after { content:""; position:absolute; width:330px; height:330px; right:-130px; top:-170px; border:1px solid rgba(255,255,255,.13); border-radius:50%; box-shadow:0 0 0 44px rgba(255,255,255,.025),0 0 0 88px rgba(255,255,255,.018); }
.decision-copy,.confidence-panel { position:relative; z-index:1; }
.decision-kicker { gap:12px; margin-bottom:20px; color:#bed2ca; font-size:13px; }
.permission-badge { padding:7px 10px; color:#143426; background:#f0bd69; border-radius:999px; font-weight:800; }
.decision-label { margin:0 0 8px; color:#a9c5ba; font-size:13px; }
.decision-hero h1 { margin:0; max-width:900px; font-size:clamp(28px,3.1vw,48px); line-height:1.18; letter-spacing:-.045em; }
.decision-subtitle { margin:16px 0 0; max-width:760px; color:#bdd0c9; font-size:15px; line-height:1.75; }
.confidence-panel { align-self:stretch; padding:19px; border:1px solid rgba(255,255,255,.13); border-radius:17px; background:rgba(255,255,255,.07); backdrop-filter:blur(12px); }
.confidence-panel p,.confidence-panel small { color:#acc3ba; }
.confidence-panel p { margin:0; font-size:12px; }
.confidence-panel small { font-size:11px; }
.confidence-value { margin:14px 0 12px; font-size:25px; font-weight:800; }
.confidence-track { height:6px; margin-bottom:15px; border-radius:99px; background:rgba(255,255,255,.12); overflow:hidden; }
.confidence-track span { display:block; width:76%; height:100%; background:#f0bd69; border-radius:inherit; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:18px; margin-top:18px; }
.main-column,.action-panel { border:1px solid rgba(205,214,208,.9); border-radius:22px; background:var(--panel); box-shadow:0 16px 38px rgba(53,73,65,.07); backdrop-filter:blur(14px); }
.main-column { padding:26px; }
.section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.section-heading h2 { margin:0; font-size:22px; letter-spacing:-.025em; }
.mode-pill { padding:9px 12px; color:var(--green); background:var(--green-soft); border-radius:10px; font-size:12px; font-weight:800; }
.timeframe-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:22px; }
.tf-card { min-height:164px; padding:18px; border:1px solid var(--line); border-radius:16px; background:#fff; position:relative; overflow:hidden; }
.tf-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#9aa6a1; }
.tf-card.positive::before { background:var(--green); }
.tf-card.warning::before { background:var(--amber); }
.tf-card-top { justify-content:space-between; }
.tf-label { font:800 21px/1 var(--font-geist-mono),monospace; letter-spacing:-.06em; }
.tf-role { color:var(--muted); font-size:12px; }
.tf-card h3 { margin:25px 0 9px; font-size:16px; }
.tf-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.context-row { gap:10px; margin-top:12px; }
.context-row>div { flex:1; padding:14px 16px; border-radius:13px; background:#f3f6f2; }
.context-row span { display:block; margin-bottom:6px; color:#75817c; font-size:11px; }
.context-row strong { font-size:13px; }
.action-panel { padding:8px; }
.action-block { padding:19px 18px; border-radius:15px; }
.action-block+.action-block { margin-top:4px; }
.action-label { margin:0 0 13px; font-size:12px; font-weight:800; letter-spacing:.05em; }
.action-block ol { margin:0; padding:0; list-style:none; counter-reset:trigger; }
.action-block li { position:relative; padding:10px 0 10px 34px; color:#42504a; font-size:13px; counter-increment:trigger; }
.action-block li::before { content:counter(trigger); position:absolute; left:0; top:7px; display:grid; place-items:center; width:23px; height:23px; border-radius:50%; color:var(--green); background:#fff; font:800 11px/1 var(--font-geist-mono),monospace; }
.action-block>p:last-child { margin:0; color:#52605a; font-size:13px; line-height:1.65; }
.trigger { background:var(--green-soft); }
.invalidation { background:var(--red-soft); }
.invalidation .action-label { color:var(--red); }
.prohibited { background:var(--amber-soft); }
.prohibited .action-label { color:var(--amber); }
@media(max-width:960px){.dashboard-grid{grid-template-columns:1fr}.action-panel{display:grid;grid-template-columns:repeat(3,1fr)}.action-block+.action-block{margin:0}}
@media(max-width:720px){.app-shell{width:min(100% - 24px,1480px);padding-top:16px}.topbar{align-items:flex-start;gap:16px}.brand-lockup .eyebrow{display:none}.brand-title{font-size:15px}.market-strip>span:not(.live-dot):not(.demo-chip){display:none}.decision-hero{grid-template-columns:1fr;padding:27px 23px;border-radius:19px}.confidence-panel{display:none}.decision-hero h1{font-size:29px}.main-column{padding:20px}.section-heading{display:block}.mode-pill{display:inline-block;margin-top:14px}.timeframe-grid,.action-panel{grid-template-columns:1fr}.tf-card{min-height:145px}.context-row{align-items:stretch;flex-direction:column}}

.scenario-switcher { display:flex; align-items:center; gap:6px; margin:0 0 14px; padding:6px; width:max-content; max-width:100%; border:1px solid #dbe2dd; border-radius:13px; background:rgba(255,255,255,.7); box-shadow:0 8px 24px rgba(53,73,65,.05); overflow-x:auto; }
.scenario-switcher>span { padding:0 9px; color:#7b8782; font-size:11px; white-space:nowrap; }
.scenario-switcher button { border:0; padding:8px 11px; color:#57645f; background:transparent; border-radius:9px; cursor:pointer; white-space:nowrap; transition:background .2s,color .2s,transform .2s; }
.scenario-switcher button:hover { color:var(--ink); background:#eef2ee; }
.scenario-switcher button:focus-visible,.detail-button:focus-visible { outline:3px solid rgba(15,118,82,.25); outline-offset:2px; }
.scenario-switcher button.active { color:#fff; background:#183f32; box-shadow:0 5px 13px rgba(24,63,50,.16); }

.market-preview { margin-bottom:18px; padding:22px 24px 16px; border:1px solid rgba(205,214,208,.9); border-radius:22px; background:rgba(255,255,255,.88); box-shadow:0 16px 38px rgba(53,73,65,.07); backdrop-filter:blur(14px); }
.market-preview__header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.market-preview__header h2 { margin:0; font-size:21px; letter-spacing:-.025em; }
.market-quote { display:grid; grid-template-columns:auto auto; column-gap:12px; align-items:end; text-align:right; }
.market-quote span { grid-column:1/-1; margin-bottom:4px; color:#7b8782; font-size:10px; }
.market-quote strong { font:800 22px/1 var(--font-geist-mono),monospace; letter-spacing:-.04em; }
.market-quote em { padding:5px 7px; border-radius:7px; font-size:10px; font-style:normal; font-weight:800; }
.market-quote em.positive { color:var(--green); background:var(--green-soft); }
.market-quote em.negative { color:var(--red); background:var(--red-soft); }
.market-canvas-wrap { width:100%; height:228px; margin-top:16px; border:1px solid #e2e8e4; border-radius:15px; background:linear-gradient(180deg,rgba(244,248,245,.85),rgba(250,252,250,.96)); overflow:hidden; }
.market-chart { width:100%; height:100%; position:relative; overflow:hidden; }
.market-chart__grid { position:absolute; inset:12px 54px 16px 16px; }
.market-chart__grid-line { position:absolute; left:0; right:0; top:var(--line-y); height:1px; color:#7b8782; border-top:1px solid rgba(83,103,94,.12); font:9px/1 var(--font-geist-mono),monospace; text-indent:calc(100% + 8px); white-space:nowrap; }
.market-chart__boundary { position:absolute; left:0; right:0; border-top:1px dashed #c17a24; }
.market-chart__candles { position:absolute; inset:0; display:grid; grid-template-columns:repeat(var(--candle-count),1fr); gap:clamp(3px,1vw,12px); }
.market-candle { height:100%; position:relative; }
.market-candle i { display:block; position:absolute; left:50%; transform:translateX(-50%); background:currentColor; }
.market-candle__wick { width:1px; min-height:2px; }
.market-candle__body { width:min(12px,58%); min-width:5px; min-height:2px; border-radius:1px; }
.market-candle.up { color:#15805c; }
.market-candle.down { color:#b55247; }
.market-chart__last-price { position:absolute; right:-50px; min-width:47px; padding:4px 5px; color:#fff; background:#0f7652; border-radius:5px; font:700 8px/1 var(--font-geist-mono),monospace; text-align:center; transform:translateY(-50%); }
.market-chart__last-price::before { content:""; position:absolute; right:100%; top:50%; width:calc(100vw - 78px); border-top:1px dashed rgba(15,118,82,.38); z-index:-1; }
.market-preview__footer { display:flex; align-items:center; gap:14px; margin-top:13px; color:#75817c; font-size:10px; }
.market-preview__footer span { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.market-preview__footer i { display:inline-block; width:8px; height:12px; border-radius:2px; }
.legend-up { background:#15805c; }
.legend-down { background:#b55247; }
.market-preview__footer strong { margin-left:auto; color:#46544e; font-size:11px; }
.market-preview__footer small { padding-left:12px; border-left:1px solid #dce3de; white-space:nowrap; }

.decision-hero.locked { background:linear-gradient(100deg,rgba(47,35,28,.98),rgba(91,55,32,.92)),#4b3325; }
.decision-hero.wait { background:linear-gradient(100deg,rgba(23,39,48,.98),rgba(31,72,83,.94)),#213f49; }
.decision-hero.locked .permission-badge { color:#fff; background:#ba5a4e; }
.decision-hero.wait .permission-badge { color:#2e260d; background:#e6bd59; }
.decision-hero.locked .confidence-track span { width:88%; background:#df9a72; }
.decision-hero.wait .confidence-track span { width:61%; background:#73b9c7; }
.tf-card.danger::before { background:var(--red); }
.tf-tag { display:inline-flex; margin-top:18px; padding:6px 8px; color:#53625c; background:#f1f4f1; border-radius:7px; font-size:10px; font-weight:800; }

.analysis-grid { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:18px; margin-top:18px; }
.analysis-card,.evidence-panel,.debug-panel { border:1px solid rgba(205,214,208,.9); border-radius:22px; background:var(--panel); box-shadow:0 16px 38px rgba(53,73,65,.06); backdrop-filter:blur(14px); }
.analysis-card { min-height:320px; padding:24px; }
.card-heading,.debug-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.card-heading h2,.evidence-panel h2,.debug-heading h2 { margin:0; font-size:20px; letter-spacing:-.025em; }
.text-chip { padding:7px 9px; color:#64716c; background:#eef2ee; border-radius:8px; font-size:10px; font-weight:800; }
.energy-list { margin-top:20px; }
.energy-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 0; border-top:1px solid #e5ebe7; }
.energy-row:first-child { border-top:0; }
.energy-row div span { display:block; margin-bottom:6px; color:#7a8581; font-size:11px; }
.energy-row div strong { font-size:14px; }
.energy-row em { padding:7px 9px; border-radius:8px; font-size:11px; font-style:normal; font-weight:800; white-space:nowrap; }
.energy-row em.bull { color:var(--green); background:var(--green-soft); }
.energy-row em.bear { color:var(--red); background:var(--red-soft); }
.energy-row em.calm { color:#596861; background:#eef2ee; }
.helper-copy { margin:14px 0 0; padding-top:14px; color:#78837f; border-top:1px solid #e5ebe7; font-size:11px; line-height:1.6; }

.quality-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:20px; }
.quality-grid div { padding:14px; border-radius:12px; background:#f2f5f1; }
.quality-grid span { display:block; margin-bottom:7px; color:#7b8682; font-size:11px; }
.quality-grid strong { font-size:15px; }
.quality-note { display:flex; align-items:flex-start; gap:12px; margin-top:14px; padding:14px; color:#4e5c56; background:#eef7f2; border-radius:13px; }
.quality-note p { margin:0; font-size:12px; line-height:1.7; }
.quality-icon { display:grid; flex:0 0 auto; place-items:center; width:31px; height:31px; color:#fff; background:var(--green); border-radius:9px; font:800 10px/1 var(--font-geist-mono),monospace; }

.timeline { margin-top:22px; }
.timeline>div { display:grid; grid-template-columns:52px 12px 1fr; gap:9px; min-height:68px; position:relative; }
.timeline>div::before { content:""; width:8px; height:8px; margin-top:4px; border:2px solid #fff; border-radius:50%; background:#9aa6a1; box-shadow:0 0 0 1px #b9c3be; z-index:1; }
.timeline>div::after { content:""; position:absolute; left:57px; top:15px; bottom:-1px; width:1px; background:#dce4df; }
.timeline>div:last-child::after { display:none; }
.timeline>div.current::before { background:var(--green); box-shadow:0 0 0 4px var(--green-soft); }
.timeline time { color:#7a8581; font:700 10px/1.7 var(--font-geist-mono),monospace; }
.timeline p { margin:0; }
.timeline p strong,.timeline p span { display:block; }
.timeline p strong { margin-bottom:5px; font-size:13px; }
.timeline p span { color:#7b8682; font-size:11px; line-height:1.55; }

.evidence-panel { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(250px,.8fr) auto; align-items:center; gap:26px; margin-top:18px; padding:25px 27px; }
.evidence-copy { max-width:650px; margin:10px 0 0; color:#73807a; font-size:12px; line-height:1.65; }
.case-list { display:flex; gap:8px; }
.case-list>div { display:flex; align-items:center; gap:10px; min-width:145px; padding:11px; border:1px solid #dfe6e1; border-radius:12px; background:#fff; }
.case-list>div>span { display:grid; place-items:center; width:27px; height:27px; color:var(--green); background:var(--green-soft); border-radius:8px; font:800 10px/1 var(--font-geist-mono),monospace; }
.case-list p { margin:0; }
.case-list strong,.case-list small { display:block; }
.case-list strong { font:800 10px/1.4 var(--font-geist-mono),monospace; }
.case-list small { margin-top:3px; color:#86908c; font-size:9px; }
.detail-button { padding:11px 14px; border:0; color:#fff; background:#183f32; border-radius:10px; cursor:pointer; font-weight:800; white-space:nowrap; }

.debug-panel { margin-top:12px; padding:25px 27px; border-color:#cbd9d1; background:#f0f7f3; }
.debug-heading>span { color:#718079; font:600 10px/1.5 var(--font-geist-mono),monospace; }
.debug-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }
.debug-grid>div { padding:16px; border-radius:12px; background:#fff; }
.debug-grid span { display:block; margin-bottom:7px; color:var(--green); font-size:10px; font-weight:800; }
.debug-grid p { margin:0; color:#56645e; font-size:12px; line-height:1.7; }

.footer-status { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:23px 5px 3px; color:#75817c; font-size:11px; }
.footer-status>div { display:flex; align-items:center; gap:9px; }
.footer-status strong { color:#4d5a55; }

@media(max-width:1100px){.analysis-grid{grid-template-columns:1fr 1fr}.state-card{grid-column:1/-1;min-height:auto}.evidence-panel{grid-template-columns:1fr auto}.case-list{grid-row:2}.detail-button{grid-row:2}}
@media(max-width:800px){.analysis-grid{grid-template-columns:1fr}.state-card{grid-column:auto}.analysis-card{min-height:auto}.evidence-panel{grid-template-columns:1fr}.case-list,.detail-button{grid-row:auto}.detail-button{width:100%}.debug-grid{grid-template-columns:1fr}.footer-status{align-items:flex-start;flex-direction:column}.footer-status>div{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:520px){.scenario-switcher{width:100%}.analysis-card,.evidence-panel,.debug-panel{padding:20px}.case-list{flex-direction:column}.case-list>div{width:100%}.quality-grid{grid-template-columns:1fr}.debug-heading{display:block}.debug-heading>span{display:block;margin-top:8px}}

.interest-bar { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:20px; margin-bottom:14px; padding:15px 16px 15px 20px; border:1px solid #dce4df; border-radius:16px; background:rgba(255,255,255,.78); box-shadow:0 12px 30px rgba(53,73,65,.06); backdrop-filter:blur(12px); }
.interest-bar__copy strong,.interest-bar__copy span { display:block; }
.interest-bar__copy strong { margin-bottom:5px; font-size:13px; }
.interest-bar__copy span { color:#74807b; font-size:11px; line-height:1.5; }
.site-stats { display:flex; align-items:flex-end; flex-direction:column; gap:4px; color:#6e7b75; font-size:10px; white-space:nowrap; }
.site-stats span:last-child { color:#405049; font-weight:700; }
.want-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-width:112px; min-height:42px; padding:10px 15px; border:0; color:#fff; background:#183f32; border-radius:11px; box-shadow:0 8px 18px rgba(24,63,50,.16); cursor:pointer; font-weight:800; transition:transform .2s,background .2s,box-shadow .2s; }
.want-button:hover:not(:disabled) { background:#0f7652; box-shadow:0 10px 24px rgba(15,118,82,.22); transform:translateY(-1px); }
.want-button:focus-visible { outline:3px solid rgba(15,118,82,.25); outline-offset:3px; }
.want-button:disabled { color:#486259; background:#d9e7df; box-shadow:none; cursor:default; }

.closing-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; margin-top:18px; padding:30px 32px; color:#eef8f3; background:linear-gradient(115deg,#102f25,#174d3a); border-radius:22px; box-shadow:0 20px 42px rgba(23,58,46,.15); overflow:hidden; position:relative; }
.closing-cta::after { content:""; position:absolute; width:240px; height:240px; right:-90px; top:-130px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 40px rgba(255,255,255,.025),0 0 0 80px rgba(255,255,255,.018); }
.closing-cta>div,.closing-cta .want-button { position:relative; z-index:1; }
.closing-cta .eyebrow { color:#a6c9bb; }
.closing-cta h2 { max-width:800px; margin:8px 0 10px; font-size:clamp(22px,2.5vw,34px); line-height:1.25; letter-spacing:-.035em; }
.closing-cta p:last-child { max-width:760px; margin:0; color:#b8cec5; font-size:12px; line-height:1.7; }
.want-button--large { min-width:135px; min-height:48px; color:#143426; background:#f0bd69; }
.want-button--large:hover:not(:disabled) { color:#143426; background:#ffd083; }

.toast { position:fixed; left:50%; bottom:26px; z-index:40; max-width:calc(100% - 32px); padding:12px 18px; color:#fff; background:#142d24; border:1px solid rgba(255,255,255,.14); border-radius:11px; box-shadow:0 14px 34px rgba(10,30,23,.25); opacity:0; pointer-events:none; transform:translate(-50%,18px); transition:opacity .2s,transform .2s; }
.toast.is-visible { opacity:1; transform:translate(-50%,0); }

@media(max-width:900px){.interest-bar{grid-template-columns:1fr auto}.site-stats{grid-row:2;align-items:flex-start}.want-button{grid-column:2;grid-row:1/3}.closing-cta{grid-template-columns:1fr}.closing-cta .want-button{justify-self:start}}
@media(max-width:720px){.market-preview{padding:19px 18px 14px}.market-canvas-wrap{height:205px}.market-preview__footer{align-items:flex-start;flex-wrap:wrap}.market-preview__footer strong{order:3;width:100%;margin-left:0}.market-preview__footer small{order:4;width:100%;padding-left:0;border-left:0}}
@media(max-width:620px){.interest-bar{grid-template-columns:1fr;padding:17px}.site-stats{grid-row:auto;align-items:flex-start;white-space:normal}.interest-bar .want-button{grid-column:auto;grid-row:auto;width:100%}.market-preview__header{align-items:flex-end}.market-preview__header h2{font-size:18px}.market-quote strong{font-size:17px}.market-canvas-wrap{height:188px;margin-top:13px}.closing-cta{padding:25px 22px}.closing-cta .want-button{width:100%}.footer-status>div span:last-child{flex-basis:100%;padding-left:17px}}
@media(max-width:620px){.back-home{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.skip-link,.want-button,.toast{transition:none}}
