
/* ============ 修正后的色板 ============
   变化点：surface 转暖 / 灰色收声（tech 仅限策略卡）/ 暗色朱红下沉一档 / 画布更暖 */
:root{
  --bg:#f8f7f3; --surface:#f1efe8; --text:#23241f; --muted:#6b6c63;
  --line:#e3e1d8; --line-strong:#cfccc0;
  --accent:#b63827; --accent-soft:#f3e4dd; --accent-ink:#8a2c1f;
  --tech:#546b69; --tech-glow:#b6382714; --lab-glass:#fffdf8e6;
  --btc:#c9a227; --ndx:#3b6ea5;
  --a0:#b63827; --a1:#677380; --a2:#968365; --a3:#9fa99b; --a4:#b9bab1;
  --chip-bg:#fdecec; --chip-ink:#a03826;
  --serif:'Songti SC','Source Han Serif SC','Noto Serif CJK SC','Noto Serif SC',STSong,SimSun,Georgia,serif;
  --sans:'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;
  --mono:ui-monospace,'SF Mono',SFMono-Regular,Consolas,'JetBrains Mono',monospace;
  color-scheme:light;
}
html[data-theme=dark]{
  --bg:#181a17; --surface:#22241f; --text:#ecefe6; --muted:#a8ada0;
  --line:#383a33; --line-strong:#4a4d44;
  --accent:#e07856; --accent-soft:#3d2c25; --accent-ink:#f0a184;
  --tech:#8fb5af; --tech-glow:#e0785618; --lab-glass:#1e211ce6;
  --btc:#e3c15c; --ndx:#7fa8d9;
  --a0:#e07856; --a1:#9eafbe; --a2:#c7b18b; --a3:#7d8f7a; --a4:#5a6156;
  --chip-bg:#3d2c25; --chip-ink:#f0a184;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.8 var(--sans);-webkit-font-smoothing:antialiased;text-wrap:pretty}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:transparent;border:1px solid var(--line)}
h1,h2,h3,p{margin:0}
::selection{background:var(--accent-soft)}
.wrap{width:calc(100% - 96px);max-width:1240px;margin:auto}

/* eyebrow 编号系统：每个 section 一行等宽小标 */
.eyebrow{font:11px var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:18px}
.eyebrow b{color:var(--accent);font-weight:400;margin-right:10px}

/* 发丝线生长：section 顶线进入视口时左→右画出 */
.section{border-top:1px solid transparent;position:relative;padding:110px 0}
.section:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--line-strong);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.section.in-view:before{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.section:before{transition:none;transform:scaleX(1)}*{animation:none!important;transition:none!important}}

/* header */
header{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{height:78px;display:flex;align-items:center;gap:36px}
.brand{display:flex;align-items:center;gap:12px;font-size:17px;letter-spacing:.02em;font-weight:500;white-space:nowrap}
.brand img{width:34px;height:34px;display:block}
nav{display:flex;gap:30px;margin-left:auto;font-size:14px}
nav a{position:relative;padding:6px 0;color:var(--muted);transition:color .25s}
nav a:hover,nav a.active{color:var(--text)}
nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transition:transform .3s}
nav a:hover:after,nav a.active:after{transform:scaleX(1)}
.controls{display:flex;gap:8px;align-items:center}
.controls button{min-width:44px;height:44px;font-size:14px}
.header-customer{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid var(--accent);color:var(--accent);background:var(--accent-soft);font-size:13px}
.badge-proto{position:fixed;right:16px;bottom:16px;z-index:60;font:10px var(--mono);letter-spacing:.08em;color:var(--muted);border:1px dashed var(--line-strong);background:var(--bg);padding:6px 10px;opacity:.85}

/* hero：收紧顶部留白 + manifesto */
.hero{padding:72px 0 110px;display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:center}
.hero h1{font:500 clamp(40px,4.6vw,60px)/1.18 var(--serif);letter-spacing:-.03em;margin-bottom:26px}
.hero h1 em{font-style:normal;color:var(--accent);font-family:var(--sans);font-weight:500;letter-spacing:-.05em}
.intro{color:var(--muted);max-width:46ch;font-size:17px;line-height:1.95}
.cta{display:inline-flex;align-items:center;gap:14px;color:var(--accent);font-size:14px;margin-top:34px;border-bottom:1px solid var(--accent);padding-bottom:6px}
.cta:before{content:'↗';font-family:var(--mono)}
.manifesto{margin-top:64px;padding-top:28px;border-top:1px solid var(--line);max-width:420px}
.manifesto p{font:500 24px/1.7 var(--serif);letter-spacing:-.01em}
.signature{display:block;margin-top:14px;font:italic 21px/1.5 Georgia,serif;color:var(--accent)}

/* 策略循环卡 */
.strategy-lab{opacity:1;transform:none;position:relative;border:1px solid var(--line);padding:22px 24px 16px;background:radial-gradient(circle at 70% 20%,var(--tech-glow),transparent 60%),var(--lab-glass);opacity:0;transform:translateY(18px) scale(.985);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.strategy-lab.in-view{opacity:1;transform:none}
.strategy-lab:before,.strategy-lab:after{content:'';position:absolute;width:14px;height:14px;border-color:var(--accent);border-style:solid;pointer-events:none}
.strategy-lab:before{top:-1px;left:-1px;border-width:1px 0 0 1px}
.strategy-lab:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.lab-heading,.lab-caption{display:flex;justify-content:space-between;font:11px var(--mono);letter-spacing:.05em;color:var(--tech)}
.lab-heading{min-height:30px;align-items:center}
.lab-heading button{border:0;border-bottom:1px solid var(--line);font:11px var(--sans);color:var(--muted);padding:4px 2px;min-height:28px}
.strategy-map{position:relative;height:330px;margin:8px auto;max-width:540px}
.strategy-core{position:absolute;width:170px;height:170px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid var(--line);border-radius:50%;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;box-shadow:0 0 46px var(--tech-glow);z-index:2}
.strategy-core .core-label{font:9px var(--mono);letter-spacing:.06em;color:var(--tech);margin-bottom:8px}
.strategy-core strong{font:500 20px/1.5 var(--serif);color:var(--accent);white-space:nowrap}
.strategy-core p{font:12px/1.8 var(--sans);color:var(--muted);margin-top:6px;max-width:130px;min-height:42px;white-space:pre-line}
.orbit-ring{position:absolute;left:50%;top:50%;width:236px;height:236px;margin:-118px 0 0 -118px;border:1px solid var(--line);border-radius:50%}
.orbit-ring:before{content:'';position:absolute;inset:9px;border:1px dashed var(--tech);opacity:.28;border-radius:50%}
/* 单信标巡游：JS 定时器是唯一时钟，角度变量同时驱动旋转与高亮 */
.orbit-track{position:absolute;left:50%;top:50%;width:236px;height:236px;margin:-118px 0 0 -118px;z-index:1}
.orbit-beacon{position:absolute;left:50%;top:-5px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--tech-glow),0 0 16px var(--accent)}
@keyframes orbit{to{transform:rotate(360deg)}}
.strategy-node{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:8px 14px;border:1px solid var(--line);background:var(--bg);font:12px/1.4 var(--sans);transition:background .4s,border-color .4s,color .4s,box-shadow .4s}
.strategy-node span:first-child{font:9px var(--mono);color:var(--tech);opacity:.8}
@keyframes nodeIn{to{opacity:1;transform:none}}
.strategy-lab.in-view .strategy-node:nth-of-type(1){animation-delay:.5s}.strategy-lab.in-view .strategy-node:nth-of-type(2){animation-delay:.62s}.strategy-lab.in-view .strategy-node:nth-of-type(3){animation-delay:.74s}.strategy-lab.in-view .strategy-node:nth-of-type(4){animation-delay:.86s}
.strategy-node[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);box-shadow:0 0 18px var(--tech-glow)}
.node-macro{top:8px;left:50%;transform:translateX(-50%)}
.node-allocation{right:0;top:50%;margin-top:-23px}
.node-rebalance{bottom:8px;left:50%;transform:translateX(-50%)}
.node-yield{left:0;top:50%;margin-top:-23px}
.lab-caption{border-top:1px solid var(--line);padding-top:12px}

/* 指标带：衬线数字 + 数字滚动 + chip */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:54px}
.stat{padding:6px 30px;border-left:1px solid var(--line)}
.stat:first-child{padding-left:0;border-left:0}
.stat .k{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}
.stat .v{font:400 clamp(34px,3.4vw,46px)/1.25 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:block}
.stat .v.accent{color:var(--accent)}
.stat .s{display:block;margin-top:8px;font:10px var(--mono);letter-spacing:.05em;color:var(--muted)}
.income-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.income-row .l{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--muted)}
.chip{display:inline-flex;align-items:center;font:11px var(--mono);letter-spacing:.06em;color:var(--chip-ink);background:var(--chip-bg);padding:5px 12px}
.chip:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:8px}

/* 图表区 */
.chart-frame{margin-top:46px;border:1px solid var(--line);padding:26px 22px 14px;background:var(--bg);position:relative}
.ctip{position:absolute;top:40px;left:0;z-index:5;pointer-events:none;opacity:0;transition:opacity .15s;background:var(--bg);border:1px solid var(--line-strong);padding:10px 14px;font:11px/2 var(--mono);min-width:148px}
.ctip .m{display:block;color:var(--muted);letter-spacing:.06em;margin-bottom:2px}
.ctip i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px;vertical-align:1px}
.ctip b{float:right;margin-left:20px;font-weight:400}
.legend{display:flex;gap:26px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.legend i{display:inline-block;width:26px;border-top:2px solid;margin-right:8px;vertical-align:middle}
.legend .lp i{border-color:var(--accent);border-top-width:3px}.legend .lb i{border-color:var(--btc)}.legend .ln i{border-color:var(--ndx)}
svg.line{width:100%;height:auto;display:block;margin-top:8px}
svg.line text{font:10px var(--mono);fill:var(--muted)}
svg.line .grid{stroke:var(--line);stroke-dasharray:2 5}
.draw{stroke-dasharray:2600;stroke-dashoffset:2600;animation:draw 1.6s cubic-bezier(.3,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.fade-area{opacity:0;animation:fadeArea 1.2s ease .9s forwards}
@keyframes fadeArea{to{opacity:1}}
.chart-inspector{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:18px;padding-top:20px;flex-wrap:wrap}
.month{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.month select{appearance:none;background:var(--bg);border:1px solid var(--line-strong);color:var(--text);font:13px var(--mono);padding:9px 34px 9px 14px;cursor:pointer}
.month{position:relative}.month:after{content:'▾';position:absolute;right:13px;bottom:11px;color:var(--accent);pointer-events:none;font-size:11px}
.point-values{display:flex;gap:34px;font-size:13px;color:var(--muted)}
.point-values b{display:block;font:400 19px/1.5 var(--mono);color:var(--text)}

/* 配置区：更大甜甜圈 + 缝隙 + hover 收声 */
.alloc{display:grid;grid-template-columns:1fr 1.25fr;gap:110px;align-items:center;margin-top:50px}
.allocation-visual{display:flex;flex-direction:column;align-items:center}
.allocation-pie{--segs:none;width:340px;height:340px;border-radius:50%;background:var(--segs);position:relative;transition:filter .3s}
.allocation-pie:after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 10px var(--bg),0 0 0 11px var(--line)}
.allocation-pie .hub{position:absolute;inset:22%;border-radius:50%;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}
.allocation-pie .hub span{font-size:12px;color:var(--muted)}
.allocation-pie .hub strong{font:500 52px/1.3 var(--serif);font-variant-numeric:tabular-nums}
.pie-note{max-width:380px;text-align:center;font-size:12px;color:var(--muted);margin-top:34px;line-height:1.9}
.allocation-ledger{width:100%}
.allocation-ledger .head,.allocation-row{display:grid;grid-template-columns:1fr 90px 90px;gap:22px;align-items:center}
.allocation-ledger .head{font:11px var(--mono);letter-spacing:.08em;color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--line)}
.allocation-row{padding:17px 0;border-bottom:1px solid var(--line);font-size:16px;transition:opacity .3s}
.allocation-row i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:14px}
.allocation-row .n,.allocation-row .t{text-align:right;font:13px var(--mono)}
.allocation-row .t{color:var(--muted)}
.allocation-ledger.dim .allocation-row{opacity:.35}
.allocation-ledger .allocation-row.hot{opacity:1;background:var(--surface);padding-left:10px;margin-left:-10px}
.allocation-caption{font-size:12px;color:var(--muted);margin-top:20px}

/* 联系区 */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:130px;margin-top:50px}
.contact h3{font:400 13px var(--mono);letter-spacing:.1em;color:var(--muted);margin-bottom:22px}
.contact-links{display:flex;gap:14px;flex-wrap:wrap}
.contact-links a{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line-strong);padding:12px 20px;font-size:14px;transition:border-color .25s,color .25s}
.contact-links a:hover{border-color:var(--accent);color:var(--accent)}
.venue{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
.venue small{font:11px var(--mono);color:var(--muted);letter-spacing:.06em}
.venue:hover span:first-child{color:var(--accent)}

footer{border-top:1px solid var(--line);padding:44px 0 60px;margin-top:20px}
.f-brand{display:flex;align-items:baseline;gap:26px;font-size:17px}
.f-brand small{font:11px var(--mono);color:var(--muted);letter-spacing:.05em}
footer .risk{max-width:70ch;font-size:12px;line-height:2;color:var(--muted);margin-top:20px}
.f-meta{display:flex;justify-content:space-between;font:11px var(--mono);color:var(--muted);letter-spacing:.05em;margin-top:28px}

/* reveal 通用 */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1;transform:none}
.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.16s}.reveal:nth-child(4){transition-delay:.24s}

/* 响应式（原型只保证主断点） */
@media(max-width:1080px){
  .wrap{width:calc(100% - 48px)}
  .hero{grid-template-columns:1fr;gap:60px;padding:90px 0}
  .stats{grid-template-columns:1fr 1fr;gap:30px 0}
  .stat{padding:0 24px}.stat:nth-child(3){padding-left:0;border-left:0}
  .alloc,.contact{grid-template-columns:1fr;gap:56px}
  .section{padding:80px 0}
}
@media(max-width:680px){
  .wrap{width:calc(100% - 36px)}
  nav{display:none}
  .header-customer{display:none}
  .bar{gap:14px}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(odd){padding-left:0;border-left:0}
  .hero h1{font-size:40px}
  .allocation-pie{width:280px;height:280px}
}

/* Production bindings: public API data, separate memo/client routes and live tail. */
header,main,footer{width:calc(100% - 96px);max-width:1240px;margin:auto}
header{display:flex;align-items:center;height:78px;gap:30px;position:sticky;isolation:isolate}
header:before{content:'';position:absolute;inset:0 -48px;background:var(--bg);z-index:-1;border-bottom:1px solid var(--line)}
.brand svg{flex-shrink:0}.controls{margin-left:auto;flex-shrink:0}.header-customer:after{content:'↗';margin-left:8px}
.issue{font:11px/1.8 var(--mono);letter-spacing:.10em;color:var(--muted);margin-bottom:18px}
.section-title h2{font:11px/1.8 var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.section-title h2:before{content:attr(data-number);color:var(--accent);margin-right:10px}
.section-title p{font:16px/1.9 var(--sans);margin-top:18px;color:var(--muted);max-width:62ch}
.record-section,.allocation-section,.contact-section{padding:110px 0;border-top:1px solid var(--line-strong)}
.strategy-lab{opacity:1;transform:none}.lab-caption{justify-content:flex-end}.lab-caption>span:first-child{display:none}
.strategy-core .core-label{display:block;font:9px var(--mono);letter-spacing:.06em;color:var(--tech);margin-bottom:8px}
.strategy-node:active{transform:none}.node-macro:active,.node-rebalance:active{transform:translateX(-50%)}
.stats>div{padding:6px 30px;border-left:1px solid var(--line)}.stats>div:first-child{padding-left:0;border-left:0}
.stats>div>span{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}
.stats strong{font:400 clamp(34px,3.4vw,46px)/1.25 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:block}
.stats small{display:block;margin-top:8px;font:10px/1.8 var(--mono);color:var(--muted)}.accent{color:var(--accent)}
.income-stat{display:flex;align-items:center;gap:16px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap}
.income-stat>span{font-size:14px;color:var(--muted)}.income-stat strong{font:11px var(--mono);color:var(--chip-ink);background:var(--chip-bg);padding:5px 12px;font-weight:400}
.income-stat small{margin-left:auto;font:10px/1.8 var(--mono);color:var(--muted)}
.nav-state{font:11px/1.9 var(--mono);color:var(--muted);margin:26px 0 14px;border-left:2px solid var(--accent);padding-left:12px}
.chart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.legend,.ranges{display:flex;flex-wrap:wrap;gap:6px}.legend button,.ranges button{display:flex;align-items:center;gap:8px;border:0;min-height:44px;font-size:13px;padding:6px 10px}.legend button[aria-pressed=false]{opacity:.35}.ranges button[aria-pressed=true]{color:var(--accent);border-bottom:1px solid var(--accent)}
.swatch{width:24px;border-top:2px solid var(--accent)}.swatch.btc{border-color:var(--btc)}.swatch.ndx{border-color:var(--ndx)}
.chart-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;font:11px/1.8 var(--mono);color:var(--muted)}.chart-mode>div{display:flex;gap:8px;flex-wrap:wrap}.chart-mode button{font:11px var(--sans);min-height:44px;padding:6px 12px}.chart-mode button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}
.chart-shell{margin-top:16px;border:1px solid var(--line);padding:22px 12px 10px;position:relative}.chart-shell canvas{display:block;width:100%;height:440px;touch-action:pan-y}
.chart-tooltip{position:absolute;z-index:5;pointer-events:none;background:var(--bg);border:1px solid var(--line-strong);padding:10px 14px;font:11px/2 var(--mono);width:224px}.chart-tooltip>span{display:block;color:var(--muted);margin-bottom:5px}.chart-tooltip strong{float:right;font-weight:400}.chart-tooltip i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px;background:var(--accent)}.chart-tooltip .tip-btc{background:var(--btc)}.chart-tooltip .tip-ndx{background:var(--ndx)}
.chart-inspector{justify-content:space-between}.inspection-date{font:11px/1.9 var(--mono);color:var(--muted)}.point-values{display:flex;gap:30px}.point-values>div{font-size:12px;color:var(--muted)}.point-values strong{display:block;font:18px/1.6 var(--mono);color:var(--text)}
.chart-note{font:12px/1.9 var(--sans);color:var(--muted);margin-top:20px}#boot-status{font:10px/1.8 var(--mono);margin:15px 0 -18px}
.data-details{font-size:13px;color:var(--muted);margin-top:22px}.data-details summary{min-height:44px;cursor:pointer;padding:12px 0;border-bottom:1px solid var(--line)}.methodology{padding-top:20px}.methodology p{margin-bottom:12px}.source-links{display:flex;gap:20px;font-size:12px;margin:18px 0}.source-links a{text-decoration:underline}.table-scroll{overflow:auto;margin-top:24px}table{width:100%;border-collapse:collapse;text-align:right;font:12px/1.8 var(--mono)}td,th{padding:10px;white-space:nowrap;border-bottom:1px solid var(--line)}td:first-child,th:first-child{text-align:left}th{font-weight:400}.download{min-height:44px;padding:8px 16px;margin-top:20px}
.allocation-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:110px;align-items:center;margin-top:50px}
#allocation-pie{width:340px;height:340px;border-radius:50%;position:relative;box-shadow:0 0 0 10px var(--bg),0 0 0 11px var(--line);display:grid;place-items:center}
.pie-center{width:56%;height:56%;border-radius:50%;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center}.pie-center>span{font-size:12px;color:var(--muted)}.pie-center strong{font:500 46px/1.3 var(--serif);font-variant-numeric:tabular-nums}.pie-center strong span{font-size:24px}
.allocation-visual>p{max-width:380px;text-align:center;font-size:12px;color:var(--muted);margin-top:34px;line-height:1.9}
.allocation-head,.allocation-row{display:grid;grid-template-columns:1fr 90px 90px;gap:22px;align-items:center}.allocation-head{font:11px var(--mono);color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--line)}.allocation-head>span:not(:first-child){text-align:right}.allocation-row>div{display:flex;gap:14px;align-items:center}.allocation-row i{width:8px;height:8px;flex-shrink:0;border-radius:50%}.allocation-row>span{text-align:right;font:13px var(--mono)}.allocation-row>span:last-child{color:var(--muted)}.allocation-row{border-bottom:1px solid var(--line);min-height:56px}.allocation-ledger.dim .allocation-row{opacity:.35}.allocation-ledger.dim .allocation-focused{opacity:1;background:var(--surface)}.allocation-caption{font-size:12px;color:var(--muted);margin-top:20px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:130px;margin-top:50px}.contact-layout h3{font:13px var(--mono);color:var(--muted);margin-bottom:22px}.contact-empty{display:inline-block;font:11px var(--mono);color:var(--chip-ink);background:var(--chip-bg);padding:5px 12px}.venues a{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.venues a>span:last-child{font:11px var(--mono);color:var(--muted)}
.footer-brand{display:flex;gap:26px;align-items:baseline;font-size:17px}.footer-brand span{font:11px var(--mono);color:var(--muted)}footer>p{max-width:80ch;font-size:12px;line-height:2;color:var(--muted);margin-top:20px}.footer-meta{display:flex;justify-content:space-between;gap:20px;font:11px/1.8 var(--mono);color:var(--muted);margin-top:28px}
.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(14px)}.motion-ready .reveal.is-visible{opacity:1;transform:none}
.skip{position:absolute;left:20px;top:-100px;z-index:100;padding:10px;background:var(--text);color:var(--bg)}.skip:focus{top:10px}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation}
@media(max-width:1100px){header{gap:14px}nav{gap:14px;font-size:13px}.hero{grid-template-columns:1fr 1fr;gap:35px}.strategy-lab{padding:18px 14px}.strategy-map{height:300px}.strategy-node{padding:8px;font-size:11px}.strategy-core{width:144px;height:144px}.strategy-core strong{font-size:17px}.allocation-layout{gap:60px}.controls{gap:5px}.header-customer{padding:0 10px}}
@media(max-width:900px){header,main,footer{width:calc(100% - 48px)}header:before{inset:0 -24px}.brand{font-size:14px}nav{gap:9px;font-size:12px}.header-customer{font-size:11px}.hero{grid-template-columns:1fr;gap:48px}.strategy-lab{max-width:540px;width:100%;justify-self:center}.stats{grid-template-columns:1fr 1fr;gap:30px 0}.stats>div:nth-child(3){padding-left:0;border-left:0}.allocation-layout,.contact-layout{grid-template-columns:1fr;gap:56px}.record-section,.allocation-section,.contact-section{padding:80px 0}}
@media(max-width:767px){header,main,footer{width:calc(100% - 36px)}header{height:68px;gap:10px}header:before{inset:0 -18px}.brand{font-size:13px;gap:7px}.brand svg{width:32px;height:29px}.controls{gap:5px}.controls button{min-width:44px;padding:0 5px}.header-customer{display:inline-flex;height:44px;min-width:44px;padding:0 8px;font-size:11px}.header-customer:after{margin-left:4px}header nav{display:flex;position:fixed;bottom:0;left:0;right:0;margin:0;background:var(--bg);border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom));justify-content:space-around;z-index:40;font-size:12px}header nav a{min-height:44px;display:grid;place-items:center;padding:4px}.hero{padding:52px 0 70px;gap:38px}.hero h1{font-size:40px}.intro{font-size:16px}.manifesto{margin-top:36px}.manifesto p{font-size:23px}.strategy-lab{padding:16px 12px}.strategy-map{height:285px}.strategy-core{width:135px;height:135px;padding:10px}.strategy-core p{font-size:11px}.strategy-core strong{font-size:16px}.orbit-ring,.orbit-track{width:204px;height:204px;margin:-102px 0 0 -102px}.strategy-node{padding:8px 9px;gap:5px;min-height:44px;font-size:11px}.node-number{font-size:8px}.stats>div{padding:0 20px}.stats strong{font-size:35px}.stats small{font-size:9px}.income-stat{gap:10px}.income-stat small{margin-left:0;width:100%}.chart-shell{padding:12px 0 6px}.chart-shell canvas{height:390px}.chart-mode{font-size:10px}.chart-mode button{padding:6px 8px}.point-values{gap:15px;width:100%;justify-content:space-between}.point-values strong{font-size:16px}#allocation-pie{width:280px;height:280px}.allocation-head,.allocation-row{grid-template-columns:1fr 70px 70px;gap:10px}.allocation-row{font-size:14px}.allocation-row>span{font-size:12px}.allocation-row>div{gap:9px}.record-section,.allocation-section,.contact-section{padding:70px 0}.footer-brand{flex-wrap:wrap;gap:10px}.footer-meta{flex-wrap:wrap}footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}#boot-status{font-size:9px;max-width:100%}}
@media(max-width:360px){.brand>span{display:none}.strategy-node{font-size:10px}.node-number{display:none}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none}}

.hero .issue:before{content:'№ 00';color:var(--accent);margin-right:10px}.strategy-lab{animation:labEnter .8s cubic-bezier(.16,1,.3,1) both}@keyframes labEnter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.memo-item{border-bottom:1px solid var(--line)}.memo-item summary{display:grid;gap:24px;align-items:center;cursor:pointer;list-style:none}.memo-date{font:11px var(--mono);color:var(--muted)}.memo-arrow{color:var(--accent);font:22px var(--serif)}.memo-body p{margin-bottom:18px}.memo-body a{text-decoration:underline}.memo-item summary::-webkit-details-marker{display:none}
/* Longer English labels keep the same touch area without covering the core. */
@media(max-width:767px){body[data-language=en] .node-allocation,body[data-language=en] .node-yield{width:84px;padding:8px 5px;font-size:10px}body[data-language=en] .node-allocation .node-number,body[data-language=en] .node-yield .node-number{display:none}body[data-language=en] .strategy-core{width:120px;height:120px}body[data-language=en] .strategy-core p{font-size:10px}}
@media(max-width:360px){body[data-language=en] .node-allocation,body[data-language=en] .node-yield{width:76px;font-size:9px}body[data-language=en] .strategy-core{width:105px;height:105px;padding:10px}body[data-language=en] .strategy-core strong{font-size:14px}body[data-language=en] .strategy-core p{font-size:9px;line-height:1.5}body[data-language=en] .strategy-core .core-label{font-size:8px;margin-bottom:4px}}
.yield-panel{margin-top:36px;padding:28px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.yield-heading{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:22px}.yield-heading h3{font:20px var(--serif)}.yield-heading p{font-size:12px;color:var(--muted)}.yield-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.yield-grid article+article{border-left:1px solid var(--line);padding-left:40px}.yield-label{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px;min-height:44px}.yield-windows{display:flex;gap:8px}.yield-windows button{min-width:44px;min-height:44px;font:12px var(--sans);padding:6px 10px;border:0;border-bottom:1px solid transparent}.yield-windows button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.yield-number{display:block;font:36px/1.4 var(--serif);font-variant-numeric:tabular-nums;margin:12px 0 6px;color:var(--accent)}.yield-grid article>p{font-size:13px;color:var(--muted)}.yield-grid article>small{display:block;font:11px/1.8 var(--sans);color:var(--muted);margin-top:6px}.yield-footnote{font:12px/1.8 var(--sans);color:var(--muted);max-width:95ch;margin-top:20px}#settled-yield-month{font:12px var(--mono)}
@media(max-width:767px){.yield-grid{grid-template-columns:1fr;gap:24px}.yield-grid article+article{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.yield-heading{gap:10px}.yield-label{gap:8px}.yield-windows{gap:5px}.yield-windows button{padding:6px 8px}}
.chart-tooltip{width:max-content;min-width:210px;max-width:min(280px,calc(100vw - 60px));font-variant-numeric:tabular-nums}.chart-tooltip>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.chart-tooltip .tip-name{white-space:nowrap}.chart-tooltip strong{float:none;margin:0;text-align:right;white-space:nowrap}.chart-tooltip>span{overflow-wrap:anywhere;white-space:normal}.point-values{flex-wrap:wrap}.point-values>div{min-width:90px;flex:1}.point-values strong{white-space:nowrap}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}
@media(max-width:767px){.point-values{gap:14px}.point-values>div{min-width:90px}.chart-tooltip{min-width:200px}}

.chart-tooltip{font:12px/2 var(--mono);min-width:220px}

:root{--a1:#c9a227;--a5:#477aab}html[data-theme=dark]{--a1:#e3c15c;--a5:#88aed6}
