/* Paper: one real material. Card stock with grain, creases, curled corners, and cast shadows. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&display=swap');
:root{
  --desk:#ece3cb; --sheet:#fffaf0; --sheet-2:#fbf3df; --kraft:#d9c39a; --kraft-2:#c9ae7c; --fold:rgba(110,80,35,.085); --hi:rgba(255,255,255,.8);
  --lamp:rgba(70,45,15,.32); --serif:'Fraunces',Georgia,'Songti TC',serif;
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .27  0 0 0 0 .15  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --fibre:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='.012 .35' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 .4  0 0 0 0 .3  0 0 0 0 .15  0 0 0 .22 0'/></filter><rect width='100%' height='100%' filter='url(%23f)'/></svg>");
}
html{background:var(--desk)}
body{background:var(--desk) var(--fibre);position:relative}
body::after{content:'';position:fixed;inset:0;background:var(--grain);opacity:.32;mix-blend-mode:multiply;pointer-events:none;z-index:999}
h1,h2,h3{font-family:var(--serif);font-optical-sizing:auto}
h1{letter-spacing:-3px;font-weight:600}
h2{letter-spacing:-1.4px;font-weight:600}
h3{font-weight:600}
em{color:#a85d3b}
html:lang(zh-HK) h1,html:lang(zh-HK) h2,html:lang(zh-HK) h3,html:lang(zh-HK) blockquote{font-family:'Songti TC','Noto Serif CJK TC','PMingLiU',serif}

/* Header: a strip of card stock with a perforated lower edge */
.header{position:relative;border-bottom:0;background:linear-gradient(var(--sheet),var(--sheet-2));box-shadow:0 1px 0 var(--hi) inset,0 6px 14px -8px var(--lamp);max-width:none;padding-left:max(54px,calc((100% - 1320px)/2 + 54px));padding-right:max(54px,calc((100% - 1320px)/2 + 54px))}
.header:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:5px;background:radial-gradient(circle at 5px 0,var(--desk) 2.6px,transparent 3px) 0 0/10px 5px repeat-x}
.brand-mark{border-radius:4px;box-shadow:2px 3px 0 rgba(40,59,48,.16)}
.language-switch{background:var(--sheet);border-radius:4px;box-shadow:0 2px 0 rgba(110,80,35,.22);border-color:#d6c9a8}
.header nav a{position:relative}
.header nav a:hover:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#a85d3b;transform-origin:left;animation:ink .35s cubic-bezier(.3,1.6,.5,1)}
@keyframes ink{from{transform:scaleX(0)}}

/* Buttons: pressed card, they sink when you push them */
.button{border-radius:4px;border:0;box-shadow:0 3px 0 #17271a,0 8px 14px -6px var(--lamp);transition:transform .12s cubic-bezier(.3,1.7,.5,1),box-shadow .12s;background-image:var(--grain);background-blend-mode:soft-light}
.button:hover{transform:translateY(-1px);box-shadow:0 4px 0 #17271a,0 12px 16px -6px var(--lamp)}
.button:active{transform:translateY(3px);box-shadow:0 0 0 #17271a,0 2px 4px -2px var(--lamp)}
.button.secondary{background:var(--sheet);color:var(--green);box-shadow:0 3px 0 #cdbd96,0 8px 14px -6px var(--lamp);border:1px solid #d9cba6}

/* Hero: the original illustration, mounted like a print on card stock */
.paper-hero{grid-template-columns:1fr 1.1fr;min-height:0;padding-top:46px;padding-bottom:52px;align-items:center}
.paper-hero .hero-art{margin:0;padding:12px 12px 16px;background:var(--sheet);border-radius:3px;transform:rotate(.6deg);box-shadow:0 1px 0 var(--hi) inset,0 2px 3px rgba(80,55,20,.3),0 26px 36px -20px var(--lamp);position:relative}
.paper-hero .hero-art:before{content:'';position:absolute;top:-13px;left:50%;width:100px;height:26px;margin-left:-50px;background:rgba(222,196,140,.75);transform:rotate(-2deg);box-shadow:0 1px 2px rgba(80,55,20,.25);z-index:2}
.paper-hero .hero-art img{border-radius:2px}
/* Cards, sheets, and slips: every surface is paper */
.evidence-card,.decision-option,.master-contract,.buy-definition,.diagram-example,.evidence-fineprint,.analyzer-preset,.analyzer-result,.analyzer-custom,.analyzer-rules,.analyzer-svg-chart,.concept-figure,.model-detail,.example-row{
  background-color:var(--sheet);border:0!important;border-radius:3px!important;position:relative;
  background-image:linear-gradient(180deg,transparent calc(50% - 1px),var(--fold) 50%,var(--hi) calc(50% + 1px),transparent calc(50% + 2px)),var(--fibre);
  box-shadow:0 1px 0 var(--hi) inset,0 1px 2px rgba(80,55,20,.28),0 12px 20px -14px var(--lamp)}
.evidence-card:nth-child(odd),.decision-option:nth-child(odd){transform:rotate(-.3deg)}
.evidence-card:nth-child(even),.decision-option:nth-child(even){transform:rotate(.35deg)}
.evidence-card:after,.decision-option:after,.master-contract:after,.analyzer-preset:after{content:'';position:absolute;right:0;bottom:0;width:24px;height:24px;background:linear-gradient(to bottom right,#fffdf6 0%,#e7dab8 47%,rgba(110,80,35,.32) 49%,var(--desk) 50.5%);border-top-left-radius:3px;pointer-events:none}
.analyzer-preset{transition:transform .22s cubic-bezier(.3,1.8,.5,1),box-shadow .22s}
.analyzer-preset:hover{transform:translateY(-4px) rotate(-.6deg);box-shadow:0 1px 0 var(--hi) inset,0 2px 3px rgba(80,55,20,.25),0 20px 26px -14px var(--lamp)}
.analyzer-preset:active{transform:translateY(1px)}
.decision-option:hover,.evidence-card:hover{transform:translateY(-3px) rotate(0)}
.decision-option,.evidence-card{transition:transform .25s cubic-bezier(.3,1.8,.5,1)}
.hold-explorer{background-color:var(--sheet-2)!important;border:0!important;border-radius:4px!important;box-shadow:0 1px 0 var(--hi) inset,0 1px 2px rgba(80,55,20,.3),0 18px 30px -18px var(--lamp)}
.hold-map{background:radial-gradient(ellipse at center,#efe3c6 0%,#f6edd8 40%,transparent 70%)!important}
.diagram-nodes.model-tabs button{border:0!important;background:var(--sheet)!important;border-radius:3px!important;box-shadow:0 1px 0 var(--hi) inset,0 2px 3px rgba(80,55,20,.25),0 10px 16px -10px var(--lamp)}
.diagram-nodes.model-tabs button[aria-selected=true]{background:var(--green)!important;color:#f4ead3;transform:translateY(-4px) rotate(-.4deg)}
.diagram-center{background:var(--sheet)!important;border:2px dashed #d6c9a8!important;box-shadow:0 0 0 10px rgba(255,250,240,.55),0 8px 14px -8px var(--lamp)!important}
.buy-definition{border-left:0!important;background-color:#f1e3bf}
.buy-definition:before{content:'';position:absolute;left:-10px;top:50%;width:6px;height:60%;transform:translateY(-50%);background:#a47943;border-radius:2px}

/* Section bands: a kraft strip and a sheet of grey board, not flat colour */
.principle-strip{background:var(--kraft) var(--fibre);border:0;box-shadow:0 2px 0 var(--kraft-2) inset,0 -2px 0 rgba(255,255,255,.35) inset,0 10px 16px -12px var(--lamp);position:relative;color:#4a3920}
.principle-strip:before,.principle-strip:after{content:'';position:absolute;left:0;right:0;height:6px;background:radial-gradient(circle at 6px 3px,var(--desk) 2.8px,transparent 3.2px) 0 0/12px 6px repeat-x}
.principle-strip:before{top:-3px}.principle-strip:after{bottom:-3px}
.principle-strip i{color:#a85d3b}
.analyzer-section{background:#f2e9d2 var(--fibre)!important;border:0!important;position:relative;box-shadow:0 14px 20px -16px var(--lamp) inset,0 -14px 20px -16px var(--lamp) inset}
.evidence-inner{position:relative}
.quote-section{position:relative}
.quote-section blockquote{position:relative;display:inline-block;padding:46px 54px;background:var(--sheet);border-radius:3px;transform:rotate(-.6deg);box-shadow:0 1px 0 var(--hi) inset,0 2px 3px rgba(80,55,20,.3),0 24px 34px -20px var(--lamp);background-image:linear-gradient(180deg,transparent calc(50% - 1px),var(--fold) 50%,var(--hi) calc(50% + 1px),transparent calc(50% + 2px)),var(--fibre)}
.quote-section blockquote:before{content:'';position:absolute;top:-14px;left:50%;width:110px;height:28px;margin-left:-55px;background:rgba(222,196,140,.75);transform:rotate(1.5deg);box-shadow:0 1px 2px rgba(80,55,20,.25)}
.quote-section>p{margin-top:34px}
.closing{position:relative}
.site-footer{border-top:0!important;position:relative}
.site-footer:before{content:'';position:absolute;left:54px;right:54px;top:0;border-top:2px dashed #cbb98f}

/* Responsive */
@media(min-width:1500px){}
@media(max-width:1050px){
  .header{padding-left:30px;padding-right:30px}
  .paper-hero{grid-template-columns:1fr;gap:26px}
  
  
}
@media(max-width:720px){
  .header{padding-left:22px;padding-right:22px}
  
  
  
  
  
  
  
  .quote-section blockquote{padding:34px 24px}
}
@media(prefers-reduced-motion:reduce){}
@media print{body::after{display:none}}
.paper-hero h1,html:lang(zh-HK) .paper-hero h1{font-size:clamp(44px,4.4vw,70px);letter-spacing:-2.5px}
html:lang(zh-HK) .paper-hero h1{letter-spacing:0;font-size:clamp(38px,3.6vw,56px)}



@media(max-width:720px){}
h1,h2,h3,
@media(max-width:720px){}

/* Collapsible sections */
.collapsible{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.3,1.25,.5,1)}
.collapsible-inner{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .55s}
.is-open>.collapsible,.is-open .collapsible{grid-template-rows:1fr}
.is-open .collapsible-inner{visibility:visible;transition-delay:0s}
.collapsible.is-settled>.collapsible-inner{overflow:visible}
.section-intro>div:first-child{min-width:0}

@media(prefers-reduced-motion:reduce){.collapsible{transition:none}}

/* "Show the details": a pull-tab of card stock that peels, glows and springs open */
.fold-toggle{--mx:50%;--my:50%;position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;width:min(100%,460px);margin-top:26px;padding:14px 22px 14px 14px;border:0;border-radius:6px;text-align:left;color:var(--green);background:linear-gradient(180deg,#fffdf6,#f5ecd6);box-shadow:0 1px 0 var(--hi) inset,0 4px 0 #cdbd96,0 14px 22px -10px var(--lamp);transition:transform .25s cubic-bezier(.3,1.9,.5,1),box-shadow .25s,background .35s,color .35s}
.fold-toggle:before{content:'';position:absolute;inset:0;background:radial-gradient(180px 120px at var(--mx) var(--my),rgba(255,255,255,.85),transparent 70%);opacity:0;transition:opacity .25s;pointer-events:none}
.fold-toggle:after{content:'';position:absolute;right:0;bottom:0;width:22px;height:22px;background:linear-gradient(to bottom right,#fffdf6 0%,#e7dab8 47%,rgba(110,80,35,.32) 49%,var(--desk) 50.5%);transition:width .3s cubic-bezier(.3,1.9,.5,1),height .3s cubic-bezier(.3,1.9,.5,1)}
.fold-toggle:hover{transform:translateY(-3px) rotate(-.4deg);box-shadow:0 1px 0 var(--hi) inset,0 7px 0 #cdbd96,0 22px 28px -12px var(--lamp)}
.fold-toggle:hover:before{opacity:1}.fold-toggle:hover:after{width:36px;height:36px}
.fold-toggle:active{transform:translateY(4px) scale(.99);box-shadow:0 1px 0 var(--hi) inset,0 0 0 #cdbd96,0 4px 8px -4px var(--lamp)}
.ft-icon{position:relative;flex:none;width:46px;height:46px;border-radius:50%;background:var(--clay);box-shadow:0 3px 0 #8a4a2e;display:grid;place-items:center;transition:transform .55s cubic-bezier(.3,1.8,.5,1),background .35s}
.ft-icon:before,.ft-icon:after{content:'';position:absolute;width:18px;height:3px;border-radius:2px;background:#fffaf0;transition:transform .45s cubic-bezier(.3,1.8,.5,1)}
.ft-icon:after{transform:rotate(90deg)}
.ft-icon i{position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--clay);opacity:0;animation:ft-ping 2.4s ease-out infinite}
@keyframes ft-ping{0%{transform:scale(.8);opacity:.7}70%,100%{transform:scale(1.45);opacity:0}}
.fold-toggle:hover .ft-icon{transform:rotate(90deg) scale(1.08)}
.ft-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.ft-copy b{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:-.2px;line-height:1.2;display:block;overflow:hidden}
.ft-copy b span{display:block;animation:ft-in .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes ft-in{from{transform:translateY(100%);opacity:0}}
.ft-copy small{font-size:13px;color:#7a735e;letter-spacing:.2px}
.is-open>.section-intro .fold-toggle,.is-open .section-intro .fold-toggle{background:linear-gradient(180deg,#38583f,#2d4937);color:#f4ead3;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 4px 0 #17271a,0 14px 22px -10px var(--lamp)}
.is-open .section-intro .fold-toggle .ft-copy small{color:#bccaa4}
.is-open .section-intro .fold-toggle .ft-icon{background:#e9d6a6;box-shadow:0 3px 0 #b39a5c}
.is-open .section-intro .fold-toggle .ft-icon:before,.is-open .section-intro .fold-toggle .ft-icon:after{background:#2d4937}
.is-open .section-intro .fold-toggle .ft-icon:after{transform:rotate(0)}
.is-open .section-intro .fold-toggle .ft-icon i{animation:none}
.fold-toggle[aria-expanded=false] .ft-icon i{opacity:1}
.is-open .collapsible-inner>*{animation:ft-unfold .8s cubic-bezier(.3,1.4,.5,1) both;transform-origin:50% 0}
.is-open .collapsible-inner>*:nth-child(2){animation-delay:.08s}.is-open .collapsible-inner>*:nth-child(3){animation-delay:.16s}.is-open .collapsible-inner>*:nth-child(4){animation-delay:.24s}.is-open .collapsible-inner>*:nth-child(n+5){animation-delay:.32s}
@keyframes ft-unfold{from{opacity:0;transform:perspective(900px) rotateX(-55deg) translateY(-18px)}}
@media(prefers-reduced-motion:reduce){.ft-icon i,.ft-copy b span,.is-open .collapsible-inner>*{animation:none}}

/* Charts: card stock with an ink line */
.hz-card{background-color:var(--sheet)!important;border:0!important;border-radius:3px!important;box-shadow:0 1px 0 var(--hi) inset,0 1px 2px rgba(80,55,20,.28),0 14px 22px -16px var(--lamp)!important}
.hc-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin:2px 0 8px}
.hc-readout{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0}
.hc-val{font-family:var(--serif);font-size:38px;font-weight:600;letter-spacing:-1px;color:var(--green);line-height:1}
.hc-chg{font-weight:700;font-size:15px;padding:3px 10px;border-radius:999px}
.hc-chg.up{background:#dfeac6;color:#3d5a2a}.hc-chg.down{background:#f3dccd;color:#a85d3b}
.hc-date{flex-basis:100%;font-size:13px;color:#8a8470}
.hc-tools{display:flex;align-items:center;gap:6px}
.hc-tools button{min-width:36px;height:34px;padding:0 12px;border:0;border-radius:4px;background:#f3ead4;color:#4a3920;font-weight:700;font-size:14px;box-shadow:0 2px 0 #d8c9a4;transition:transform .15s cubic-bezier(.3,1.9,.5,1),background .2s,color .2s}
.hc-tools button:hover{transform:translateY(-2px)}.hc-tools button:active{transform:translateY(2px);box-shadow:none}
.hc-tools button.on{background:var(--green);color:#f4ead3;box-shadow:0 2px 0 #17271a}
.hc-sep{width:1px;height:20px;background:#d8c9a4;margin:0 4px}
.hz-plot.hc{cursor:default}
.hc-main{position:relative;touch-action:pan-y;cursor:crosshair;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(236,227,203,.25));outline-offset:3px;user-select:none;-webkit-user-select:none}
.hc-main.grab{cursor:grabbing}
.hc-svg{display:block;width:100%;height:auto;overflow:visible}
.hc-line{stroke-dasharray:1;animation:hc-draw 1.6s cubic-bezier(.4,.1,.2,1) both}
@keyframes hc-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.hc-area{animation:hc-fade 1.6s ease-out both}@keyframes hc-fade{from{opacity:0}}
.hc-pulse{transform-box:fill-box;transform-origin:center;animation:hc-pulse 2s ease-out infinite}
@keyframes hc-pulse{from{transform:scale(1);opacity:.9}to{transform:scale(3.4);opacity:0}}
.hc-tip{position:absolute;transform:translate(-50%,calc(-100% - 16px));padding:9px 13px;border-radius:6px;background:var(--green);color:#fffaf0;font-size:13px;white-space:nowrap;pointer-events:none;display:flex;flex-direction:column;gap:1px;box-shadow:0 10px 20px -8px rgba(0,0,0,.45)}
.hc-tip[hidden]{display:none}.hc-tip b{font-family:var(--serif);font-size:20px}.hc-tip span{opacity:.8}.hc-tip em{font-style:normal;color:#e9d6a6;font-size:12px}
.hc-tip.hc-l{transform:translate(calc(-100% - 12px),calc(-100% - 12px))}.hc-tip.hc-r{transform:translate(12px,calc(-100% - 12px))}
.hc-ov{margin-top:6px;touch-action:none;cursor:ew-resize;border-radius:6px;overflow:hidden;background:rgba(255,255,255,.5)}
.hc-ovsvg{display:block;width:100%;height:52px}
.hc-hint{margin:8px 0 0;font-size:12px;color:#8a8470;letter-spacing:.2px}
.hc-rtip{position:absolute;transform:translate(-50%,calc(-100% - 14px));padding:6px 11px;border-radius:6px;background:var(--green);color:#fffaf0;font-size:13px;pointer-events:none;white-space:nowrap;box-shadow:0 8px 16px -6px rgba(0,0,0,.4)}
.hc-rtip[hidden]{display:none}
.hz-steps li{animation:ft-unfold .8s cubic-bezier(.3,1.5,.5,1) both}.hz-steps li:nth-child(2){animation-delay:.12s}.hz-steps li:nth-child(3){animation-delay:.24s}.hz-steps li:nth-child(4){animation-delay:.36s}
.hz-steps i{transition:transform .3s cubic-bezier(.3,1.9,.5,1)}.hz-steps li:hover i{transform:scale(1.18) rotate(-6deg)}
.hz-gauge{transition:transform .25s cubic-bezier(.3,1.9,.5,1),box-shadow .25s}.hz-gauge:hover{transform:translateY(-4px) rotate(-.4deg)}
.hc-zoomable{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:6px;overflow:hidden}
.hc-zoomable img{transition:transform .5s cubic-bezier(.3,1.2,.5,1)}.hc-zoomable:hover img{transform:scale(1.03)}
.hc-badge{position:absolute;right:12px;bottom:12px;padding:7px 12px;border-radius:999px;background:rgba(45,73,55,.92);color:#fffaf0;font-size:13px;font-weight:600;box-shadow:0 6px 14px -6px rgba(0,0,0,.5);transition:transform .25s cubic-bezier(.3,1.9,.5,1)}
.hc-zoomable:hover .hc-badge{transform:scale(1.08)}
.hc-viewer{position:fixed;inset:0;z-index:2000;background:rgba(28,19,12,.975);display:flex;flex-direction:column;animation:hc-vin .35s cubic-bezier(.3,1.3,.5,1)}
.hc-viewer[hidden]{display:none}@keyframes hc-vin{from{opacity:0;transform:scale(.97)}}
.hc-v-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;color:#f4ead3;font-size:14px}.hc-v-cap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}
.hc-v-bar button{min-width:40px;height:38px;margin-left:6px;border:0;border-radius:4px;background:#f4ead3;color:#2d4937;font-weight:700;font-size:16px;box-shadow:0 2px 0 #b39a5c}
.hc-v-stage{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;touch-action:none;cursor:zoom-in}.hc-v-stage.grab{cursor:grabbing}
.hc-v-stage img{max-width:96vw;max-height:100%;border-radius:4px;transform-origin:center;will-change:transform;user-select:none;-webkit-user-drag:none;background:#fffaf0}
.hc-v-hint{margin:0;padding:10px;text-align:center;color:rgba(244,234,211,.6);font-size:12px}
html.hc-lock{overflow:hidden}

/* Research live: the one button on the page that should be hard to ignore */
.analyzer-custom-row input{min-height:56px;border:0!important;border-radius:4px!important;background:#fffdf6!important;box-shadow:0 2px 0 #d8c9a4 inset,0 1px 0 var(--hi),0 8px 14px -10px var(--lamp);font-size:18px!important;padding:14px 18px!important}
.analyzer-custom-row input:focus{outline:3px solid #c9714d;outline-offset:2px}
#analyzer-custom-go{position:relative;overflow:hidden;min-height:56px;padding:14px 28px 14px 58px;border:0!important;border-radius:6px;font-size:18px;font-weight:700;letter-spacing:.2px;color:#fffaf0!important;gap:0;
  background:linear-gradient(110deg,#a85d3b 0%,#c9714d 38%,#e69468 50%,#c9714d 62%,#a85d3b 100%)!important;background-size:260% 100%;animation:go-shimmer 3.4s linear infinite,go-pulse 2.6s ease-out infinite;
  box-shadow:0 4px 0 #7d3f24,0 16px 24px -10px rgba(168,93,59,.75)!important;transition:transform .22s cubic-bezier(.3,1.9,.5,1),box-shadow .22s}
#analyzer-custom-go:before{content:'';position:absolute;left:20px;top:50%;width:25px;height:25px;margin-top:-13px;background:#fffaf0;-webkit-mask:var(--mag) center/contain no-repeat;mask:var(--mag) center/contain no-repeat;transition:transform .4s cubic-bezier(.3,1.9,.5,1);
  --mag:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M10 2a8 8 0 105.3 14l5.4 5.4 1.4-1.4-5.4-5.4A8 8 0 0010 2zm0 2.5a5.5 5.5 0 110 11 5.5 5.5 0 010-11z'/><path d='M10 6.5l.9 2.1 2.1.9-2.1.9-.9 2.1-.9-2.1-2.1-.9 2.1-.9z'/></svg>")}
#analyzer-custom-go:after{content:'';position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:go-sweep 3.4s ease-in-out infinite;pointer-events:none}
#analyzer-custom-go:hover{transform:translateY(-4px) scale(1.04) rotate(-.6deg);box-shadow:0 7px 0 #7d3f24,0 24px 30px -12px rgba(168,93,59,.85)!important}
#analyzer-custom-go:hover:before{transform:rotate(-18deg) scale(1.2)}
#analyzer-custom-go:active{transform:translateY(4px) scale(.98);box-shadow:0 0 0 #7d3f24,0 4px 8px -4px rgba(168,93,59,.7)!important}
#analyzer-custom-go:disabled{animation:none;opacity:.7}
@keyframes go-shimmer{to{background-position:-260% 0}}
@keyframes go-sweep{0%,55%{left:-40%}100%{left:130%}}
@keyframes go-pulse{0%{box-shadow:0 4px 0 #7d3f24,0 0 0 0 rgba(201,113,77,.55)}70%,100%{box-shadow:0 4px 0 #7d3f24,0 0 0 16px rgba(201,113,77,0)}}
.analyzer-custom-row{align-items:stretch}
.analyzer-custom label{font-weight:700;font-size:15px}
@media(max-width:720px){#analyzer-custom-go{width:100%}}
@media(prefers-reduced-motion:reduce){#analyzer-custom-go,#analyzer-custom-go:after{animation:none}}

/* Text size: scales the whole page; Chinese starts a step larger */
:root{--fs:1}
main,footer,.header{zoom:calc(1.32*var(--fs))}
@media(max-width:1050px){main,footer,.header{zoom:calc(1.18*var(--fs))}}
@media(max-width:720px){main,footer,.header{zoom:var(--fs)}}
.fs-ctl{display:inline-flex;align-items:center;gap:4px;margin-right:2px}
.fs-ctl button{min-width:36px;height:38px;padding:0 8px;border:0;border-radius:4px;background:var(--sheet);color:var(--green);font-weight:700;line-height:1;box-shadow:0 2px 0 #cdbd96;transition:transform .15s cubic-bezier(.3,1.9,.5,1),background .2s,color .2s}
.fs-ctl button:hover{transform:translateY(-2px)}.fs-ctl button:active{transform:translateY(2px);box-shadow:none}
.fs-ctl button:disabled{opacity:.4;transform:none;cursor:default}
.fs-ctl .fs-s{font-size:13px}.fs-ctl .fs-l{font-size:20px}
.hc-cur{flex-basis:100%;font-size:12px;color:#a85d3b;font-weight:700;letter-spacing:.3px}
@media(max-width:720px){.fs-ctl button{min-width:32px;height:34px;padding:0 6px}.header-actions{gap:6px}}

/* Bar charts: ink on card stock, springy and touchable */
.hz-ichart>header{margin-bottom:12px}
.hb-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.hb-chips>span{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border-radius:4px;background:#f6efd9;box-shadow:0 2px 0 #e2d6b4}
.hb-chips small{font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:#8a8470}.hb-chips b{font-size:15px;color:var(--green)}
.hb-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.hb-tools button,.hb-link{padding:8px 14px;border:0;border-radius:4px;background:#f3ead4;color:#4a3920;font-weight:700;font-size:13px;box-shadow:0 2px 0 #d8c9a4;transition:transform .15s cubic-bezier(.3,1.9,.5,1),background .2s,color .2s}
.hb-tools button:hover{transform:translateY(-2px)}.hb-tools button:active{transform:translateY(2px);box-shadow:none}
.hb-tools button.on{background:var(--green);color:#f4ead3;box-shadow:0 2px 0 #17271a}
.hb-link{padding:3px 10px;font-size:12px}
.hb-wrap{position:relative;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(236,227,203,.22))}
.hb-svg{display:block;width:100%;height:auto;overflow:visible}
.hb{cursor:pointer;outline:none;transition:transform .7s cubic-bezier(.3,1.35,.5,1),opacity .25s}
.hb-bar,.hb-sheen{animation:hb-grow 1s cubic-bezier(.3,1.55,.5,1) both}
.no-intro .hb-bar,.no-intro .hb-sheen,.no-intro .hb-val{animation:none}
@keyframes hb-grow{from{transform:scaleY(0)}}
.hb-val{transition:transform .3s cubic-bezier(.3,1.9,.5,1)}
.hb-bar{transition:filter .25s}
.hb:hover .hb-bar,.hb.on .hb-bar{filter:url(#hbF) brightness(1.12) saturate(1.1)}
.hb.on .hb-val{transform:translateY(-4px)}
.hb-svg.dim .hb:not(.on){opacity:.42}
.hb:focus-visible .hb-bar{stroke:#c9714d;stroke-width:3}
.hb.pin .hb-bar{stroke:#2d4937;stroke-width:2.5;stroke-dasharray:5 3}
.hb-avg{transition:opacity .35s;pointer-events:none}
.hb-tip{position:absolute;transform:translate(-50%,calc(-100% - 22px));padding:9px 13px;border-radius:6px;background:var(--green);color:#fffaf0;display:flex;flex-direction:column;gap:1px;font-size:13px;white-space:nowrap;pointer-events:none;box-shadow:0 10px 20px -8px rgba(0,0,0,.45);animation:ft-in .25s cubic-bezier(.3,1.6,.5,1)}
.hb-tip[hidden]{display:none}.hb-tip b{font-family:var(--serif);font-size:22px}.hb-tip em{font-style:normal;color:#e9d6a6;font-size:12px}
.hb-read{margin:10px 2px 4px;min-height:1.6em;font-size:14px;color:#4f5a46}
.hb-legend{display:flex;flex-wrap:wrap;gap:16px;margin:6px 2px;font-size:13px;color:#6b6552}
.hb-legend i{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:6px;vertical-align:-2px}
.hb-legend .g-a{background:linear-gradient(#a3b585,#6b8253)}.hb-legend .g-b{background:linear-gradient(#4e7a58,#2d4937)}

/* Radar: sweep, springs, and a what-if you can drag */
.hz-radar .hr-wrap{display:flex;flex-direction:column;flex:1}
.hr-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}
.hr-overall{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px}
.hr-overall small{flex-basis:100%;font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:#8a8470}
.hr-total{font-family:var(--serif);font-size:44px;line-height:1;color:var(--green);font-weight:600}
.hr-delta{font-size:13px;font-weight:700;color:#6b6552;padding:3px 10px;border-radius:999px;background:#f3ead4}
.hr-delta.up{background:#dfeac6;color:#3d5a2a}.hr-delta.down{background:#f3dccd;color:#a85d3b}
.hr-reset{padding:8px 14px;border:0;border-radius:4px;background:#f3ead4;color:#4a3920;font-weight:700;font-size:13px;box-shadow:0 2px 0 #d8c9a4;animation:ft-in .3s cubic-bezier(.3,1.6,.5,1)}
.hr-reset[hidden]{display:none}
.hr-svg{display:block;width:100%;max-width:460px;margin:auto;height:auto;overflow:visible;touch-action:none}
.hr-par{transition:transform .25s ease-out}
.hr-h{outline:none}
.hr-halo{transition:opacity .25s;transform-box:fill-box;transform-origin:center}
.hr-h:not(.hot) .hr-halo{animation:hr-breathe 2.6s ease-in-out infinite}
.hr-dot{transition:r .25s cubic-bezier(.3,1.9,.5,1);filter:drop-shadow(0 2px 3px rgba(45,73,55,.5))}
.hr-h:focus-visible .hr-dot{stroke:#c9714d}
.hr-poly{transition:stroke-width .2s}
.hr-n{transition:fill .2s}
@keyframes hr-breathe{0%,100%{opacity:0;transform:scale(.7)}50%{opacity:.2;transform:scale(1.25)}}
.hr-hint{margin:6px 0 0;text-align:center;font-size:12px;color:#8a8470}
@media(prefers-reduced-motion:reduce){.hr-h:not(.hot) .hr-halo,.hb-bar,.hb-sheen,.hb-tip{animation:none}}
.hr-reset,.hb-tools button,.hc-tools button{white-space:nowrap}

/* Icons replace emoji everywhere */
.ic{width:1em;height:1em;flex:none;vertical-align:-.12em;overflow:visible}
.analyzer-preset-icon .ic{width:22px;height:22px;color:var(--green)}
.hz-tab[aria-pressed=true] .analyzer-preset-icon .ic{color:#f4ead3}
.hz-chips i .ic{width:20px;height:20px;color:#a85d3b}
.hz-info h4 span .ic{width:18px;height:18px;color:#2d4937}
.hz-warn h4 span .ic{color:var(--clay)}
.hz-info:hover h4 span .ic,.hz-tab:hover .ic,.hz-chips>span:hover i .ic{animation:ic-pop .55s cubic-bezier(.3,1.8,.5,1)}
@keyframes ic-pop{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.35) rotate(-14deg)}100%{transform:scale(1) rotate(0)}}

/* Page-wide motion */
html{scroll-padding-top:96px}
.scroll-ink{position:fixed;left:0;top:0;height:4px;width:100%;z-index:1000;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#8ea06f,#2d4937 55%,#a85d3b);box-shadow:0 1px 6px rgba(45,73,55,.35);pointer-events:none}
.header{position:sticky!important;top:0;z-index:60;transition:transform .45s cubic-bezier(.3,1.2,.5,1),box-shadow .3s,background .3s}
.header.is-stuck{box-shadow:0 1px 0 var(--hi) inset,0 12px 24px -12px rgba(70,45,15,.5)}
.header.is-away{transform:translateY(-110%)}
.header nav a{transition:color .2s,transform .25s cubic-bezier(.3,1.9,.5,1)}
.header nav a:hover{transform:translateY(-2px)}
.header nav a.on{color:#a85d3b;font-weight:700}
.header nav a.on:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:3px;border-radius:2px;background:#a85d3b;animation:ink .4s cubic-bezier(.3,1.6,.5,1)}
.brand-mark{transition:transform .5s cubic-bezier(.3,1.9,.5,1)}.brand:hover .brand-mark{transform:rotate(-8deg) scale(1.1)}
main,footer{position:relative;z-index:1}
.paper-drift{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.pd{position:absolute;top:0;width:var(--s);height:var(--s);background:var(--c);opacity:.17;will-change:transform}
.pd-circle{border-radius:50%}.pd-leaf{border-radius:0 100% 0 100%}.pd-tri{clip-path:polygon(50% 0,100% 100%,0 100%)}
.lamp{position:fixed;inset:0;pointer-events:none;z-index:998;opacity:0;transition:opacity .5s;background:radial-gradient(420px circle at var(--lx,50%) var(--ly,50%),rgba(255,236,190,.42),transparent 65%);mix-blend-mode:soft-light}
.lamp.on{opacity:1}
.lean{will-change:rotate,translate;transition:box-shadow .2s}
.lean:before{pointer-events:none}
.evidence-card.lean,.decision-option.lean,.hz-card.lean,.analyzer-preset.lean,.hz-gauge.lean{box-shadow:0 1px 0 var(--hi) inset,0 3px 4px rgba(80,55,20,.25),0 26px 30px -16px var(--lamp)!important}
.ripple{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.65),rgba(255,255,255,0) 70%);transform:scale(0);animation:ripple .65s ease-out forwards;pointer-events:none}
@keyframes ripple{to{transform:scale(1);opacity:0}}
.cnt{font-variant-numeric:tabular-nums}
.concept-figure{overflow:hidden}.concept-figure img{translate:0 var(--py,0);scale:1.1}
.quote-star{display:inline-block;translate:0 var(--py,0)}
.principle-strip span{display:inline-block;transition:transform .3s cubic-bezier(.3,1.9,.5,1),color .2s}.principle-strip span:hover{transform:translateY(-4px) rotate(-2deg);color:#a85d3b}
.principle-strip i{display:inline-block;animation:spin-slow 9s linear infinite}@keyframes spin-slow{to{transform:rotate(360deg)}}
.eyebrow .dot,.figure-dot{animation:ft-ping 2.4s ease-out infinite}
.hold-explorer,.decision-option,.evidence-card,.analyzer-preset,.hz-card{transition:box-shadow .25s ease}
.text-link{display:inline-block;transition:letter-spacing .25s,color .2s}.text-link:hover{letter-spacing:.4px;color:#a85d3b}
@media(prefers-reduced-motion:reduce){.principle-strip i,.eyebrow .dot,.figure-dot,.pd{animation:none}.header{transition:none}}

/* Stress test */
.stress-section{scroll-margin-top:90px}
.st-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:22px;align-items:start;margin-top:8px}
.st-panel{padding:24px;border-radius:4px;background-color:var(--sheet);background-image:linear-gradient(180deg,transparent calc(50% - 1px),var(--fold) 50%,var(--hi) calc(50% + 1px),transparent calc(50% + 2px)),var(--fibre);box-shadow:0 1px 0 var(--hi) inset,0 1px 2px rgba(80,55,20,.28),0 16px 26px -16px var(--lamp)}
.st-row{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.st-row label,.st-lab{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:700;font-size:14px;color:#4a4636;line-height:1.4}
.st-row output{font-family:var(--serif);font-size:22px;color:var(--clay);font-weight:600}
.st-money>div{display:flex;gap:8px}
.st-money select,.st-money input{min-height:48px;border:0;border-radius:4px;background:#fffdf6;box-shadow:0 2px 0 #d8c9a4 inset,0 1px 0 var(--hi);font-size:18px;font-weight:700;color:var(--green);padding:0 12px}
.st-money input{flex:1;min-width:0;text-align:right;font-family:var(--serif)}
.st-money select{width:92px}
.st-chips{display:flex;flex-wrap:wrap;gap:8px}
.st-glab{flex-basis:100%;margin-top:4px;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#8a8470}
.st-chips button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 12px;border:0;border-radius:4px;background:#f3ead4;color:#4a3920;text-align:left;box-shadow:0 2px 0 #d8c9a4;transition:transform .2s cubic-bezier(.3,1.9,.5,1),background .2s,color .2s}
.st-chips button b{font-family:var(--serif);font-size:20px;line-height:1;color:var(--clay)}
.st-chips button span{font-size:12px;line-height:1.35}
.st-chips button:hover{transform:translateY(-3px) rotate(-.5deg)}
.st-chips button[aria-pressed=true]{background:var(--green);color:#f4ead3;box-shadow:0 2px 0 #17271a;transform:translateY(-2px)}
.st-chips button[aria-pressed=true] b{color:#e9d6a6}
.stress-section input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:6px;background:linear-gradient(90deg,#a85d3b var(--p,50%),#e6dcc1 var(--p,50%));outline:none;box-shadow:0 1px 0 var(--hi)}
.stress-section input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fffdf6;border:4px solid var(--green);box-shadow:0 3px 0 #17271a40,0 8px 12px -4px var(--lamp);cursor:grab;transition:transform .2s cubic-bezier(.3,1.9,.5,1)}
.stress-section input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}
.stress-section input[type=range]:active::-webkit-slider-thumb{transform:scale(1.3);cursor:grabbing}
.stress-section input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fffdf6;border:4px solid var(--green)}
#st-lim{background:linear-gradient(90deg,#2d4937 var(--p,50%),#e6dcc1 var(--p,50%))}
.st-react{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.st-react button{display:flex;align-items:center;gap:10px;padding:11px 12px;border:0;border-radius:4px;background:#f3ead4;color:#4a3920;font-weight:700;font-size:14px;text-align:left;box-shadow:0 2px 0 #d8c9a4;transition:transform .2s cubic-bezier(.3,1.9,.5,1),background .2s,color .2s}
.st-react button .ic{width:20px;height:20px;color:var(--clay)}
.st-react button:hover{transform:translateY(-2px)}
.st-react button[aria-checked=true]{background:var(--green);color:#f4ead3;box-shadow:0 2px 0 #17271a;transform:translateY(-2px)}
.st-react button[aria-checked=true] .ic{color:#e9d6a6}
.st-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px}
.st-read{display:flex;flex-direction:column;gap:4px;min-width:0}
.st-read small{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#8a8470}
.st-read b{font-family:var(--serif);font-size:44px;line-height:1;color:var(--green);font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.st-read span{font-size:13px;color:#6b6552;line-height:1.45}
.st-gauge{flex:none;width:150px;text-align:center}.st-gauge svg{display:block;width:100%;height:auto;overflow:visible}
.st-gauge small{font-size:12px;font-weight:700;color:var(--clay)}
.st-chartwrap{position:relative;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(236,227,203,.25));cursor:crosshair}
.st-svg{display:block;width:100%;height:auto;overflow:visible}
.st-tools{display:flex;align-items:center;gap:14px;margin:10px 0 4px}
.st-tools input{flex:1}
.st-play{display:inline-flex;align-items:center;gap:10px;flex:none;padding:10px 16px;border:0;border-radius:4px;background:var(--clay);color:#fffaf0;font-weight:700;font-size:14px;white-space:nowrap;box-shadow:0 3px 0 #7d3f24;transition:transform .2s cubic-bezier(.3,1.9,.5,1)}
.st-play:hover{transform:translateY(-2px)}.st-play:active{transform:translateY(3px);box-shadow:none}
.st-play .pi{width:0;height:0;border-left:11px solid #fffaf0;border-top:7px solid transparent;border-bottom:7px solid transparent;transition:transform .3s cubic-bezier(.3,1.9,.5,1)}
.st-play.on .pi{transform:scale(.6) rotate(90deg)}
.st-srcnote{margin:6px 2px;font-size:13px;color:#6b6552;line-height:1.5}.st-srcnote[hidden]{display:none}
.st-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.st-facts>div{padding:10px 14px;border-radius:4px;background:#f6efd9;box-shadow:0 2px 0 #e2d6b4}
.st-facts small{display:block;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#8a8470}
.st-facts b{font-size:17px;color:var(--green);font-variant-numeric:tabular-nums}.st-facts .neg b{color:var(--clay)}
.st-verdict{padding:16px 18px;border-radius:4px;background:#f1e3bf;border-left:5px solid #a47943}
.st-verdict p{margin:0 0 8px;font-size:15px;line-height:1.7;color:#3f3a28}.st-verdict p:last-child{margin:0}
.st-cta{font-weight:700;color:var(--green)!important;padding-top:8px;border-top:1px dashed #cdb57a}
.st-note{margin:16px 2px 0;font-size:13px;color:#6b6552;line-height:1.7;max-width:900px}
.hz-stress{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;background:#f1e3bf!important}
.hz-stress h4{margin:0 0 4px}.hz-stress p{margin:0;font-size:15px;line-height:1.6;color:#4f4a38}
.hz-stress .button{flex:none;margin:0}
@media(max-width:1050px){.st-grid{grid-template-columns:1fr}}
@media(max-width:720px){.st-panel{padding:18px 16px}.st-read b{font-size:34px}.st-gauge{width:110px}.st-react{grid-template-columns:1fr 1fr}.st-facts{grid-template-columns:1fr 1fr}.hz-stress{flex-direction:column;align-items:flex-start}.st-tools{flex-wrap:wrap}.st-play{width:100%;justify-content:center}}

.cnt .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media print{.cnt .sr{position:static;width:auto;height:auto;clip:auto}.cnt-v{display:none}}

/* Position-size helper */
.st-size{margin-top:22px}
.st-size-head h3{font-size:28px;margin:4px 0 8px}.st-size-head p:last-child{margin:0 0 18px;max-width:70ch;font-size:15px;line-height:1.7;color:#4f4a38}
.st-size-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:26px;align-items:start}
.sz-hint{font-size:12px;color:#8a8470;font-weight:400}
.st-size .st-money input{width:100%;font-size:20px}
.sz-big{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.sz-big small{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#8a8470}
.sz-big b{font-family:var(--serif);font-size:44px;line-height:1;color:var(--green);font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}.sz-big span{font-size:14px;line-height:1.6;color:#4f4a38}
.sz-bar{position:relative;display:flex;height:34px;margin:30px 0 14px;border-radius:6px;background:#e6dcc1;box-shadow:0 1px 0 var(--hi),0 2px 0 #d8c9a4 inset}
.sz-bar i{display:block;height:100%;transition:width .9s cubic-bezier(.3,1.35,.5,1)}
.sz-pos{background:linear-gradient(#6b8253,#2d4937);border-radius:6px 0 0 6px}.sz-rest{background:repeating-linear-gradient(45deg,#efe3c3 0 8px,#e6d8b2 8px 16px);flex:1;border-radius:0 6px 6px 0}
.sz-plan{position:absolute;top:-8px;bottom:-8px;width:4px;margin-left:-2px;background:var(--clay);border-radius:2px;transition:left .9s cubic-bezier(.3,1.35,.5,1)}
.sz-plan em{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:4px;padding:3px 9px;border-radius:4px;background:var(--clay);color:#fffaf0;font-style:normal;font-size:12px;font-weight:700;white-space:nowrap}
.sz-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:#6b6552;margin-bottom:12px}
.sz-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}.sz-legend .a{background:#2d4937}.sz-legend .b{background:#e6d8b2}.sz-legend .c{background:var(--clay)}
.sz-status{padding:14px 16px;border-radius:4px;border-left:5px solid #8ea06f;background:#eaf0d9;transition:background .3s,border-color .3s}.sz-status p{margin:0;font-size:15px;line-height:1.65;color:#2f3b25}
.sz-status.warn{background:#f6e8c6;border-color:#e2a93b}.sz-status.bad{background:#f5ddd0;border-color:#a85d3b}
@media(max-width:1050px){.st-size-grid{grid-template-columns:1fr}}

/* Exit plan + review-day checklist */
.exit-section{scroll-margin-top:90px}
.ex-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start;margin-top:8px}
.ex-panel{padding:24px;border-radius:4px;background-color:var(--sheet);background-image:linear-gradient(180deg,transparent calc(50% - 1px),var(--fold) 50%,var(--hi) calc(50% + 1px),transparent calc(50% + 2px)),var(--fibre);box-shadow:0 1px 0 var(--hi) inset,0 1px 2px rgba(80,55,20,.28),0 16px 26px -16px var(--lamp)}
.ex-panel h3{display:flex;align-items:center;gap:12px;font-size:26px;margin:0 0 18px}
.ex-panel h3 span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--clay);color:#fffaf0;font-family:var(--serif);font-size:18px;box-shadow:0 3px 0 #7d3f24}
.ex-f{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.ex-f>span{font-weight:700;font-size:14px;color:#4a4636}
.ex-f input[type=text],.ex-f input[type=date],.ex-f textarea{border:0;border-radius:4px;background:#fffdf6;box-shadow:0 2px 0 #d8c9a4 inset,0 1px 0 var(--hi);padding:12px 14px;font-size:16px;color:var(--ink);font-family:inherit;resize:vertical;min-height:46px}
.ex-f input:focus,.ex-f textarea:focus{outline:3px solid #c9714d;outline-offset:2px}
.ex-date{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ex-quick{display:flex;gap:6px}.ex-quick button{padding:9px 12px;border:0;border-radius:4px;background:#f3ead4;color:#4a3920;font-weight:700;font-size:13px;box-shadow:0 2px 0 #d8c9a4;white-space:nowrap;transition:transform .15s cubic-bezier(.3,1.9,.5,1)}
.ex-quick button:hover{transform:translateY(-2px)}.ex-quick button:active{transform:translateY(2px);box-shadow:none}
.ex-trig{display:flex;flex-direction:column;gap:8px}
.ex-chk{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:4px;background:#f6efd9;cursor:pointer;box-shadow:0 2px 0 #e2d6b4;transition:transform .2s cubic-bezier(.3,1.9,.5,1),background .2s}
.ex-chk:hover{transform:translateX(3px)}
.ex-chk>input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
.ex-chk i{flex:none;width:22px;height:22px;margin-top:1px;border-radius:5px;background:#fffdf6;box-shadow:0 2px 0 #d8c9a4 inset;position:relative;transition:background .2s,transform .3s cubic-bezier(.3,1.9,.5,1)}
.ex-chk i:after{content:'';position:absolute;left:7px;top:2px;width:6px;height:12px;border:solid #fffaf0;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);transition:transform .3s cubic-bezier(.3,1.9,.5,1)}
.ex-chk>input:checked+i{background:var(--green);transform:scale(1.1)}.ex-chk>input:checked+i:after{transform:rotate(45deg) scale(1)}
.ex-chk>input:checked~span{color:var(--green);font-weight:600}
.ex-chk>input:focus-visible+i{outline:3px solid #c9714d;outline-offset:2px}
.ex-chk span{font-size:15px;line-height:1.5}
.ex-lim{display:inline-flex;align-items:center;gap:2px;color:var(--clay)}.ex-lim input{width:56px;border:0;border-radius:4px;background:#fffdf6;box-shadow:0 2px 0 #d8c9a4 inset;padding:3px 6px;font-size:15px;font-weight:700;color:var(--clay);text-align:center}
.ex-note{padding:12px 14px;border-radius:4px;background:#f1e3bf;border-left:5px solid #a47943;font-size:14px;line-height:1.6;color:#4f4a38;margin-bottom:14px}.ex-note.done{background:#eaf0d9;border-color:#8ea06f}.ex-note.warn{background:#f5ddd0;border-color:#a85d3b}
.ex-actions{display:flex;flex-wrap:wrap;gap:10px}.ex-actions .button{margin:0;padding:12px 16px;font-size:14px;gap:8px}
.ex-saved{margin:10px 0 0;font-size:12px;color:#8a8470;min-height:1em}
.ex-prog{display:flex;gap:6px;margin:-6px 0 14px}.ex-prog i{flex:1;height:6px;border-radius:3px;background:#e6dcc1;transition:background .3s,transform .4s cubic-bezier(.3,1.9,.5,1)}.ex-prog i.on{background:var(--green);transform:scaleY(1.5)}
.ex-qs{list-style:none;margin:0;padding:0;counter-reset:q}
.ex-qs li{counter-increment:q;position:relative;padding:12px 0 14px 40px;border-bottom:1px dashed #d8c9a4}
.ex-qs li:before{content:counter(q);position:absolute;left:0;top:12px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f3ead4;color:#4a3920;font-family:var(--serif);font-weight:600;transition:background .3s,color .3s,transform .4s cubic-bezier(.3,1.9,.5,1)}
.ex-qs li.done:before{background:var(--green);color:#f4ead3;transform:scale(1.12)}
.ex-qs p{margin:0 0 9px;font-size:15px;line-height:1.55;color:#3f3a28}
.ex-seg{display:inline-flex;gap:0;border-radius:4px;overflow:hidden;box-shadow:0 2px 0 #d8c9a4}
.ex-seg button{padding:9px 16px;border:0;background:#f3ead4;color:#4a3920;font-weight:700;font-size:14px;transition:background .2s,color .2s,transform .2s cubic-bezier(.3,1.9,.5,1)}
.ex-seg button+button{border-left:1px solid #e0d3b0}
.ex-seg button:hover{background:#ece0c0}
.ex-seg button[aria-checked=true]{background:var(--green);color:#f4ead3;transform:scale(1.06)}
.ex-seg button[data-v=yes][aria-checked=true]{background:var(--clay)}
.ex-verdict{margin-top:18px;padding:18px;border-radius:4px;background:#f1e3bf;border-left:5px solid #a47943;min-height:64px}
.ex-wait{margin:0;font-size:14px;color:#6b6552}
.ex-verdict.show.renew{background:#e6efd2;border-color:#6b8253}.ex-verdict.show.adapt{background:#f6e8c6;border-color:#e2a93b}.ex-verdict.show.complete{background:#dde9ee;border-color:#7f9fb3}.ex-verdict.show.exit{background:#f5ddd0;border-color:#a85d3b}
.ex-verdict.pop{animation:ft-unfold .8s cubic-bezier(.3,1.5,.5,1) both;transform-origin:50% 0}
.ex-vh{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.ex-vi{display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:50%;background:var(--green);color:#f4ead3;box-shadow:0 3px 0 #17271a}.ex-vi .ic{width:28px;height:28px}
.ex-verdict.exit .ex-vi{background:var(--clay);box-shadow:0 3px 0 #7d3f24}.ex-verdict.adapt .ex-vi{background:#b98414;box-shadow:0 3px 0 #7a5a0c}.ex-verdict.complete .ex-vi{background:#4f7a92;box-shadow:0 3px 0 #2f5163}
.ex-vh small{display:block;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:#6b6552}.ex-vh b{font-family:var(--serif);font-size:34px;line-height:1.1;color:var(--green);font-weight:600}.ex-vh em{display:block;font-style:normal;font-size:14px;color:#4f4a38}
.ex-verdict p{margin:0 0 8px;font-size:15px;line-height:1.65;color:#3f3a28}.ex-verdict ol{margin:0 0 8px;padding-left:1.3em}.ex-verdict li{font-size:15px;line-height:1.6;margin-bottom:4px}.ex-fine{font-size:12px!important;color:#6b6552!important}
.ex-reset{margin-top:12px;padding:8px 14px;border:0;border-radius:4px;background:#f3ead4;color:#4a3920;font-weight:700;font-size:13px;box-shadow:0 2px 0 #d8c9a4}.ex-reset[hidden]{display:none}
@media(max-width:1050px){.ex-grid{grid-template-columns:1fr}}
@media(max-width:720px){.ex-panel{padding:18px 16px}.ex-actions .button{width:100%}.ex-seg button{padding:9px 12px}}
.st-size .sz-hint{font-size:13px!important}


/* ===== Motion system: one language for every control and surface ===== */
:root{--spring:cubic-bezier(.3,1.9,.5,1);--spring-soft:cubic-bezier(.3,1.35,.5,1);--t-fast:.16s;--t-med:.26s;--lift:-2px;--press:2px;--ring:#c9714d}
/* pressables: same timing, same spring */
.button,.language-switch,.fs-ctl button,.hc-tools button,.hb-tools button,.hb-link,.hr-reset,.ex-reset,.ex-quick button,.ex-seg button,.st-chips button,.st-react button,.st-play,.fold-toggle,#analyzer-custom-go,.analyzer-preset,.diagram-nodes.model-tabs button,.book-nav,.brand,.header nav a{transition:transform var(--t-med) var(--spring),box-shadow var(--t-med) ease,background-color .2s ease,color .2s ease,filter .2s ease!important}
.text-link{transition:letter-spacing .25s ease,color .2s ease,transform var(--t-med) var(--spring)}
/* the ones that had no feedback at all now lift and press like the rest */
.language-switch:hover,.hr-reset:hover,.ex-reset:hover,.hb-link:hover{transform:translateY(var(--lift))}
.language-switch:active,.hr-reset:active,.ex-reset:active,.hb-link:active{transform:translateY(var(--press));box-shadow:none}
.ex-reset,.hr-reset{box-shadow:0 2px 0 #d8c9a4}
.ex-seg button:active{transform:translateY(1px)}
.st-chips button:active,.st-react button:active,.ex-quick button:active,.hb-tools button:active,.hc-tools button:active{transform:translateY(var(--press))!important;box-shadow:none!important}
/* inputs share one focus language */
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ring)!important;outline-offset:3px}
input[type=text]:focus,input[type=number]:focus,input[type=date]:focus,select:focus,textarea:focus{box-shadow:0 2px 0 #d8c9a4 inset,0 0 0 4px rgba(201,113,77,.22);transition:box-shadow .2s ease}
.st-money select,.st-money input,.ex-f input,.ex-f textarea,.analyzer-custom-row input{transition:box-shadow .2s ease}
/* panels and results arrive the same way as every other card */
.st-panel,.ex-panel{transition:box-shadow .25s ease}
.analyzer-result>*{animation:ft-unfold .8s var(--spring-soft) both;transform-origin:50% 0}
.analyzer-result>*:nth-child(2){animation-delay:.07s}.analyzer-result>*:nth-child(3){animation-delay:.14s}.analyzer-result>*:nth-child(4){animation-delay:.21s}.analyzer-result>*:nth-child(5){animation-delay:.28s}.analyzer-result>*:nth-child(n+6){animation-delay:.35s}
.hz-gauges .hz-gauge{animation:ft-unfold .8s var(--spring-soft) both}.hz-gauges .hz-gauge:nth-child(2){animation-delay:.08s}.hz-gauges .hz-gauge:nth-child(3){animation-delay:.16s}.hz-gauges .hz-gauge:nth-child(4){animation-delay:.24s}
/* comfortable touch targets */
@media(pointer:coarse){.fs-ctl button{min-width:40px;height:40px}.text-link,.hb-link{display:inline-flex;align-items:center;min-height:40px}.ex-lim input{min-height:36px}.header nav a{padding:8px 2px}}
/* one switch for reduced motion */
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.lamp,.paper-drift{display:none!important}}

/* More evidence: official and public sources */
.hz-extras{margin:18px 0}.hz-extras-h{margin:0 0 12px!important;font-size:14px!important;letter-spacing:.8px;text-transform:uppercase;color:#6b6552!important}
.hz-extras-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.hz-extra{display:flex;flex-direction:column;gap:10px}
.hz-extra dl{margin:0;display:flex;flex-direction:column}
.hz-extra dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px dashed #d8c9a4}
.hz-extra dt{font-size:14px;line-height:1.45;color:#4f4a38}.hz-extra dd{margin:0;text-align:right;font-weight:700;font-size:16px;color:var(--green);font-variant-numeric:tabular-nums}
.hz-extra dd small{display:block;font-weight:400;font-size:11px;color:#8a8470}
.hz-extra dl>div.strong dd{color:var(--clay);font-family:var(--serif);font-size:20px}
.hz-extra .text-link{margin-top:auto;font-size:13px;color:#6b6552}

/* mobile overflow fix (iPhone) */
@media(max-width:1050px){.st-grid,.st-size-grid,.ex-grid,.hz-charts,.analyzer-charts-row{grid-template-columns:minmax(0,1fr)!important}}
.st-grid>*,.st-size-grid>*,.ex-grid>*,.hz-charts>*,.hz-cards>*,.hz-gauges>*,.analyzer-charts-row>*,.hz-hero>*,.st-panel,.ex-panel{min-width:0}
@media(max-width:720px){.hc-top{flex-wrap:wrap;gap:8px}.hc-tools{flex-wrap:wrap}.hc-tools button{min-height:44px}.st-chips{flex-wrap:wrap}.st-panel input,.st-panel select{max-width:100%;min-width:0}.st-row,.st-row>*{min-width:0;max-width:100%}svg,img,canvas{max-width:100%}html{-webkit-text-size-adjust:100%}}

/* ---- Lesson 1 video (English + 粵語) ---- */
.lesson-section{padding-top:clamp(36px,6vw,72px)}
.lesson-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--sheet-2);border:1.5px solid var(--kraft-2);border-radius:999px;margin-bottom:22px}
.lesson-tabs button{font:inherit;font-weight:700;min-height:44px;padding:0 22px;border:0;border-radius:999px;background:transparent;color:#4a4636;cursor:pointer;transition:background var(--t-fast,.16s),color var(--t-fast,.16s)}
.lesson-tabs button[aria-selected="true"]{background:#2d4937;color:#f4ead3;box-shadow:0 3px 0 #17271a}
.lesson-tabs button:focus-visible{outline:3px solid var(--ring,#c9714d);outline-offset:2px}
.lesson-panel[hidden]{display:none}
.lesson-card{margin:24px auto 0;max-width:980px;padding:12px;background:var(--sheet);border:2px solid #1f2b26;border-radius:22px;box-shadow:0 6px 0 #17271a,0 24px 38px -16px var(--lamp)}
.lesson-card video{display:block;width:100%;aspect-ratio:16/9;border-radius:12px;background:#1f2b26}
.lesson-transcript{max-width:980px;margin:20px auto 0;background:var(--sheet-2);border:1.5px solid var(--kraft-2);border-radius:16px;padding:6px 18px}
.lesson-transcript summary{cursor:pointer;font-weight:700;padding:12px 0;min-height:44px;display:flex;align-items:center}
.lesson-tx h4{margin:18px 0 6px;font-family:var(--serif);font-size:1.05rem;color:#2d4937}
.lesson-tx p{margin:4px 0;line-height:1.6}.lesson-tx time{display:inline-block;min-width:3.2em;color:#8a6a3a;font-variant-numeric:tabular-nums;font-size:.85em}
.lesson-note{max-width:980px;margin:16px auto 0;font-size:.85rem;opacity:.75;line-height:1.5}
@media(max-width:720px){.lesson-card{padding:8px;border-radius:16px}}

/* ---- layout pass: folded panels, analyzer hint, mobile menu, scroll-to-top ---- */
.mf-head{cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;margin:0;user-select:none}
.mf-chev{flex:none;margin-left:auto;width:10px;height:10px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.mf.is-open>.mf-head .mf-chev,.mf-bar.is-open .mf-chev{transform:rotate(-135deg) translate(-2px,0)}
.mf-body[hidden]{display:none}.mf-body{margin-top:14px;animation:ft-unfold .6s cubic-bezier(.3,1.4,.5,1) both;transform-origin:50% 0}
.mf-head:focus-visible,.mf-bar:focus-visible,.menu-toggle:focus-visible,.to-top:focus-visible,.site-menu a:focus-visible{outline:3px solid var(--ring,#c9714d);outline-offset:2px}
.mf-bar{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 16px;border:1.5px solid var(--kraft-2);border-radius:12px;background:var(--sheet-2);font-weight:700;text-align:left;box-shadow:0 2px 0 rgba(110,80,35,.18)}
.mf-bar .mf-val{margin-left:auto;font-weight:500;opacity:.7;font-variant-numeric:tabular-nums}.mf-bar .mf-chev{margin-left:6px}
#st-money-row[hidden]{display:none}
.analyzer-hint{display:none;margin:18px 0 0;font-size:.95rem;opacity:.75;line-height:1.5}
#analyzer-result[hidden]+.analyzer-hint{display:block}
.fold-slot{display:block!important;grid-template-columns:none!important;margin:0!important;padding:0!important;min-height:0!important}
.menu-toggle{display:none;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1.5px solid #d6c9a8;border-radius:4px;background:var(--sheet);box-shadow:0 2px 0 rgba(110,80,35,.22);font-weight:700;font-size:14px;color:inherit}
.menu-toggle .mt-chev{width:8px;height:8px;border-right:2.2px solid currentColor;border-bottom:2.2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.menu-toggle.is-open .mt-chev{transform:rotate(-135deg) translate(-2px,0)}
.site-menu{position:absolute;left:0;right:0;top:100%;z-index:70;display:none;background:var(--sheet);border-bottom:2px solid var(--kraft-2);box-shadow:0 18px 28px -14px var(--lamp);padding:6px 22px 12px}
.site-menu a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid rgba(110,80,35,.15);font-weight:600}.site-menu a:last-child{border-bottom:0}
@media(max-width:720px){.menu-toggle{display:inline-flex}.site-menu:not([hidden]){display:block}.header nav{display:none}.header-actions{gap:8px}}
.to-top{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:65;width:48px;height:48px;border-radius:50%;border:2px solid #1f2b26;background:var(--sheet);color:#1f2b26;display:grid;place-items:center;padding:0;box-shadow:0 4px 0 #17271a,0 14px 22px -10px var(--lamp);opacity:0;visibility:hidden;transform:translateY(14px) scale(.9);transition:opacity .25s,transform .3s ease,visibility 0s .3s}
.to-top.is-on{opacity:1;visibility:visible;transform:none;transition-delay:0s}.to-top:active{transform:translateY(3px);box-shadow:0 1px 0 #17271a}
@media(prefers-reduced-motion:reduce){.mf-body,.to-top{animation:none;transition:none}}

/* ---- mobile polish: touch targets and crowded header ---- */
@media(max-width:720px){
  .language-switch{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .brand{min-height:44px;display:inline-flex;align-items:center}
  .brand-sub{font-size:10px}
  .st-play,#st-play{min-height:44px}
  input[type=range]{min-height:36px;touch-action:pan-y}
}
@media(max-width:420px){
  .brand>span:last-child{display:none}
  .menu-toggle{padding:0 12px}
}

/* ---- anchors land below the sticky header; larger touch areas ---- */
html{scroll-padding-top:100px}
@media(max-width:720px){
  input[type=range]{min-height:44px}
  .brand{min-width:44px;justify-content:center}
}

/* ---- vertical short inside Lesson 1 (Chinese tab) ---- */
.short-block{max-width:980px;margin:44px auto 0;padding-top:28px;border-top:2px dashed var(--kraft-2)}
.short-h{font:900 1.5rem/1.3 var(--serif,Georgia,serif);margin:0 0 6px}.short-sub{margin:0 0 18px;opacity:.8}
.short-card{margin:0 auto;width:min(100%,380px);padding:10px;background:var(--sheet);border:2px solid #1f2b26;border-radius:22px;box-shadow:0 6px 0 #17271a,0 24px 38px -16px var(--lamp)}
.short-card video{display:block;width:100%;aspect-ratio:9/16;border-radius:12px;background:#1f2b26}
@media(max-width:720px){.short-card{padding:6px;border-radius:16px}}

/* ---- shorts carousel ---- */
.rail-wrap{position:relative;max-width:980px;margin:0 auto}
.rail-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 6px 22px;scrollbar-width:thin;scrollbar-color:#8a6a3a transparent;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.rail-track:focus-visible{outline:3px solid var(--ring,#c9714d);outline-offset:2px;border-radius:14px}
.rail-card{flex:0 0 min(74vw,290px);scroll-snap-align:start;scroll-margin-left:6px;background:var(--sheet);border:2px solid #1f2b26;border-radius:22px;padding:10px 10px 14px;box-shadow:0 6px 0 #17271a,0 20px 30px -16px var(--lamp);}
.rail-no{display:inline-block;margin:2px 4px 8px;padding:2px 12px;border-radius:99px;background:#1f2b26;color:#f6d77a;font-weight:800;font-size:.8rem;letter-spacing:.06em}
.rail-fig{margin:0}.rail-fig video{display:block;width:100%;aspect-ratio:9/16;border-radius:14px;background:#1f2b26}
.rail-card h4{margin:12px 6px 2px;font:900 1.15rem/1.3 var(--serif,Georgia,serif)}.rail-card p{margin:0 6px;font-size:.9rem;opacity:.75}
.rail-btn{position:absolute;top:42%;z-index:3;width:48px;height:48px;border-radius:50%;border:2px solid #1f2b26;background:var(--sheet);font-size:30px;line-height:1;padding:0 0 4px;box-shadow:0 4px 0 #17271a;transition:opacity .2s}
.rail-prev{left:-18px}.rail-next{right:-18px}.rail-btn:disabled{opacity:.25;cursor:default}.rail-btn:focus-visible{outline:3px solid var(--ring,#c9714d);outline-offset:2px}
.rail-dots{display:flex;gap:8px;justify-content:center;margin-top:2px}.rail-dots button{width:14px;height:14px;padding:0;border-radius:50%;border:2px solid #1f2b26;background:transparent;position:relative}.rail-dots button:after{content:'';position:absolute;inset:-14px}.rail-dots button[aria-current=true]{background:#c9714d}
@media(max-width:720px){.rail-btn{display:none}.rail-card{flex-basis:72vw}}
@media(prefers-reduced-motion:reduce){.rail-card{transition:none}}

/* lesson section now holds only the shorts carousels */
.lesson-panel>.short-block:first-child{margin-top:0;padding-top:0;border-top:0}

/* ---- promo: next-step card + per-short link ---- */
.next-step{max-width:980px;margin:34px auto 0;padding:24px 28px;background:var(--sheet);border:2px solid #1f2b26;border-radius:22px;box-shadow:0 6px 0 #17271a,0 22px 34px -18px var(--lamp)}
.next-step h3{font:900 1.5rem/1.3 var(--serif,Georgia,serif);margin:4px 0 8px}.next-step p{margin:0 0 14px;line-height:1.6}.next-step .button{display:inline-flex;align-items:center;gap:8px;min-height:48px}
.next-step .ns-note{margin:12px 0 0;font-size:.85rem;opacity:.7}
.rail-link{display:flex;align-items:center;justify-content:center;gap:6px;margin:12px 6px 0;min-height:44px;padding:8px 12px;border:2px solid #1f2b26;border-radius:12px;background:#fff1d6;font-weight:800;font-size:.9rem;line-height:1.25;text-align:center;box-shadow:0 3px 0 #17271a}
.rail-link:hover{background:#ffe8b8}.rail-link:focus-visible{outline:3px solid var(--ring,#c9714d);outline-offset:2px}

/* ---- install card (inside next-step) ---- */
.ns-install{margin-top:22px;padding-top:18px;border-top:2px dashed var(--kraft-2)}.ns-install h4{margin:0 0 12px;font:900 1.15rem/1.3 var(--serif,Georgia,serif)}
.ns-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ns-col{background:var(--sheet-2);border:1.5px solid var(--kraft-2);border-radius:16px;padding:14px 16px}
.ns-col b{display:block;margin-bottom:8px}.ns-col p{margin:8px 0 0;font-size:.9rem;line-height:1.5}.ns-col ol{margin:0;padding-left:20px;font-size:.92rem;line-height:1.55}.ns-col li{margin:3px 0}
.ns-warn{opacity:.75}.ns-play{display:inline-flex;align-items:center;gap:8px;min-height:48px}.ns-qr img{display:block;border:3px solid #1f2b26;border-radius:10px;margin:4px 0}
.next-step[data-os=android] .ns-qr,.next-step[data-os=ios] .ns-qr{display:none}
.next-step[data-os=android] .ns-cols,.next-step[data-os=ios] .ns-cols{grid-template-columns:1fr}
.next-step[data-os=desktop] [data-os=desktop]{display:block}
@media(max-width:900px){.ns-cols{grid-template-columns:1fr}.ns-qr{display:none}}
.next-step[data-os=android] .ns-col[data-os=ios],.next-step[data-os=ios] .ns-col[data-os=android]{display:none}

/* ---- featured special: Episode 8 ---- */
.feature-ep8{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:30px;align-items:center;max-width:980px;margin:46px auto 0;padding:30px;background:linear-gradient(180deg,#38583f,#2d4937);color:#f4ead3;border:2px solid #1f2b26;border-radius:26px;box-shadow:0 8px 0 #17271a,0 30px 46px -20px var(--lamp)}
.feature-ep8 .fe-video{position:relative}.feature-ep8 .fe-badge{position:absolute;top:-16px;left:-8px;z-index:2;padding:6px 16px;border-radius:99px;background:#f6d77a;color:#1f2b26;font-weight:900;font-size:.85rem;letter-spacing:.06em;box-shadow:0 3px 0 #17271a;transform:rotate(-3deg)}
.feature-ep8 .rail-fig video{display:block;width:100%;aspect-ratio:9/16;border-radius:16px;background:#1f2b26;border:4px solid #fffaf0}
.feature-ep8 .eyebrow{color:#f6d77a}.feature-ep8 h3{margin:4px 0 12px;font:900 clamp(1.7rem,3.4vw,2.4rem)/1.2 var(--serif,Georgia,serif)}.feature-ep8 h3 em{color:#f6d77a}
.feature-ep8 p{line-height:1.65}.fe-steps{margin:14px 0 20px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;counter-reset:s}
.fe-steps li{counter-increment:s;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:rgba(255,250,240,.12);font-weight:700}.fe-steps li:before{content:counter(s);flex:none;width:26px;height:26px;border-radius:50%;background:#f6d77a;color:#1f2b26;display:grid;place-items:center;font-weight:900;font-size:.85rem}
.fe-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 28px;font-size:1.05rem;font-weight:900;background:#f6d77a!important;color:#1f2b26!important;border:2px solid #1f2b26;border-radius:14px;box-shadow:0 5px 0 #17271a}
.fe-cta:hover{transform:translateY(-2px)}.fe-cta:focus-visible{outline:3px solid #fffaf0;outline-offset:3px}
.fe-note{margin:14px 0 0;font-size:.85rem;opacity:.8}
@media(max-width:820px){.feature-ep8{grid-template-columns:1fr;padding:22px 18px;gap:24px}.feature-ep8 .fe-video{width:min(100%,300px);margin:8px auto 0}.fe-steps{grid-template-columns:1fr}.fe-cta{width:100%}}
