/* GENERATED FILE - do not edit. Source: post.src.css
   Edit the .src.css and let .githooks/pre-commit rebuild this.
   Rebuild by hand: python3 scripts/gen_css.py --write */
.hero-wrapper{max-width:var(--max);margin:0 auto;padding:0 var(--pad);}
.doc-hatch{width:38px;height:18px;flex-shrink:0;background:repeating-linear-gradient(-45deg,var(--mid) 0px,var(--mid) 1px,transparent 1px,transparent 5px);}
.doc-number{font-size:var(--fs-micro);letter-spacing:0.14em;text-transform:uppercase;color:var(--dim);}
.doc-number strong{color:var(--ink-soft);font-weight:500;}
.filed-under{display:flex;align-items:center;gap:10px;padding-top:14px;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--dim);}
.filed-tag{color:var(--ink-soft);}
.filed-sep{color:var(--faint);margin:0 2px;}
.hero{padding-top:24px;}
.hero h1 .c-coral{color:var(--coral-text);}
.hero h1 .c-green{color:var(--green-text);}
.hero h1 .c-yellow{color:var(--yellow);}
.hero h1 .c-teal{color:var(--teal-text);}
.hero-sub{margin-top:20px;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--dim);}
.gradient-bar{margin-top:22px;height:3px;width:300px;background:linear-gradient(90deg,var(--coral) 0%,var(--yellow) 33%,var(--green) 66%,var(--teal) 100%);}
.meta-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink-rule);border-bottom:1px solid var(--ink-rule);margin-top:32px;}
.meta-cell{padding:16px 20px;border-right:1px solid var(--ink-rule);}
.meta-cell:first-child{padding-left:0;}
.meta-cell:last-child{border-right:none;}
.meta-label{letter-spacing:0.16em;text-transform:uppercase;color:var(--dim);margin-bottom:6px;}
.meta-value{font-size:13px;color:var(--ink);}
.content-layout{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:256px 1fr;align-items:start;}
.sidebar{position:sticky;top:56px;padding:40px 36px 40px 0;border-right:1px solid var(--ink-rule);}
.toc-label{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--dim);margin-bottom:20px;}
.toc-list{list-style:none;}
.toc-item{border-bottom:1px dashed var(--ink-rule);}
.toc-item a{display:flex;align-items:baseline;gap:8px;padding:10px 0;font-size:var(--fs-micro);letter-spacing:0.08em;text-transform:uppercase;color:var(--dim);}
.toc-item a:hover{color:var(--ink-soft);}
.toc-num{color:var(--faint);font-size:12px;flex-shrink:0;}
.status-widget{margin-top:32px;padding-top:20px;border-top:1px solid var(--ink-rule);}
.status-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px dashed var(--ink-rule);font-size:12px;letter-spacing:0.06em;}
.status-key{text-transform:uppercase;color:var(--dim);}
.status-val{font-weight:500;}
.sv-green{color:var(--green-text);}
.sv-coral{color:var(--coral-text);}
.sv-yellow{color:var(--yellow);}
.sv-ink{color:var(--ink-soft);}
.main{padding:40px 0 80px 48px;}
.section-label{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--ink-rule);margin-top:72px;margin-bottom:24px;}
.section-label:first-child{margin-top:0;}
.sl-left{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--dim);}
.sl-sep{color:var(--faint);}
.main h3{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:32px;margin-bottom:12px;}
.main p{font-size:13.5px;line-height:1.8;color:var(--ink-soft);margin-bottom:22px;max-width:72ch;}
.main p .c-green{color:var(--green-text);}
.main p .c-coral{color:var(--coral-text);}
.main p strong{color:var(--ink);font-weight:600;}
.stat-callout{border:1px solid var(--ink-rule);margin:32px 0;display:flex;align-items:stretch;}
.stat-main{padding:28px 32px;border-right:1px solid var(--ink-rule);flex:0 0 auto;}
.stat-label{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--dim);margin-top:8px;}
.stat-details{padding:20px 24px;display:grid;grid-template-rows:repeat(3,1fr);gap:0;flex:1;}
.stat-detail-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed var(--ink-rule);font-size:12px;}
.stat-detail-row:last-child{border-bottom:none;}
.sd-key{color:var(--dim);text-transform:uppercase;letter-spacing:0.08em;font-size:12px;}
.sd-val{font-weight:500;}
.callout{border:1px solid var(--ink-rule);margin:32px 0;position:relative;font-family:var(--body);}
.corner-tl{top:7px;left:9px;}
.corner-tr{top:7px;right:9px;}
.corner-bl{bottom:7px;left:9px;}
.corner-br{bottom:7px;right:9px;}
.callout-header{display:flex;align-items:center;gap:8px;padding:10px 24px;border-bottom:1px solid var(--ink-rule);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;}
.callout-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.callout-body{padding:20px 24px;font-size:13px;line-height:1.75;color:var(--ink-soft);}
.callout-body p{max-width:100%;margin-bottom:14px;}
.callout-body p:last-child{margin-bottom:0;}
.risk-dot{width:6px;height:6px;border-radius:50%;background:var(--coral);flex-shrink:0;}
.content-divider{text-align:center;font-size:11px;letter-spacing:0.3em;color:var(--faint);margin:48px 0;}
.cta-strip{background:var(--deep);border:1px solid var(--ink-rule);padding:40px;margin-top:72px;}
.cta-strip p{font-size:12.5px;color:var(--dim);max-width:520px;margin-bottom:24px;line-height:1.7;}
.btn-primary{display:inline-block;background:var(--green);color:var(--dark);font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:11px 22px;margin-right:12px;}
.btn-link{font-size:12px;letter-spacing:0.06em;color:var(--dim);text-decoration:underline;text-underline-offset:3px;}
.action-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--ink-rule); border: 1px solid var(--ink-rule); margin: 28px 0; }
.action-card { background: var(--bg); padding: 24px 20px; }
.action-label { font-size:var(--fs-micro); letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; margin-bottom: 16px; padding-bottom: 8px; border-bottom: 1px solid var(--ink-rule); }
.action-list { list-style: none; }
.action-list li { font-size: 11.5px; line-height: 1.7; color: var(--ink-soft); padding: 6px 0; border-bottom: 1px dashed var(--ink-rule); }
.action-list li:last-child { border-bottom: none; }
.main .pull-quote p{font-family:'RX100','RX100 Fallback',ui-monospace,monospace}
.main p.lead,.main .lead{font-size:19px}
.answer-capsule{background:var(--deep);border:1px solid var(--ink-rule);border-top:3px solid var(--cap,var(--teal));padding:26px 30px 24px;margin:0 0 40px;max-width:74ch;}
.answer-capsule .cap-head{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.answer-capsule .cap-head::before{content:"";width:7px;height:7px;background:var(--cap,var(--teal));flex-shrink:0;}
.answer-capsule .cap-label{font-size:var(--fs-micro);font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--cap-text,var(--teal-text));}
.answer-capsule ul{list-style:none;margin:0;padding:0;max-width:100%;}
.answer-capsule li::before{content:"\00B7";position:absolute;left:5px;top:-2px;color:var(--cap,var(--teal));font-weight:700;font-size:16px;}
.answer-capsule li:last-child{margin-bottom:0;}
.answer-capsule .cap-src{margin-top:16px;padding-top:13px;border-top:1px dashed var(--ink-rule);font-size:var(--fs-micro);letter-spacing:0.13em;text-transform:uppercase;color:var(--dim);}
.tsm{font-family:var(--mono);}
.tsm-figbox .fig-body{padding:0;}
.tsm-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink-rule);border-bottom:1px solid var(--ink-rule);}
.tsm-leg{background:var(--chrome);padding:14px 16px;}
.tsm-band{font-family:var(--mono);font-size:19px;font-weight:700;letter-spacing:-.01em;}
.tsm-name{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-top:8px;color:var(--dim);}
.tsm-theme{font-family:var(--body);font-size:12.5px;color:var(--ink-soft);margin-top:7px;line-height:1.45;}
.tsm-s0{border-top:3px solid var(--green);}
.tsm-s0 .tsm-band{color:var(--green-text,#34D17E);}
.tsm-s1{border-top:3px solid var(--yellow);}
.tsm-s1 .tsm-band{color:var(--yellow);}
.tsm-s2{border-top:3px solid var(--teal);}
.tsm-s2 .tsm-band{color:var(--teal-text);}
.tsm-s3{border-top:3px solid var(--coral);}
.tsm-s3 .tsm-band{color:var(--coral-text,#FF9D8F);}
.tsm-scroll{overflow-x:auto;}
.tsm-matrix{min-width:940px;}
.tsm-row{display:grid;grid-template-columns:230px repeat(4,1fr);border-bottom:1px solid var(--ink-rule);}
.tsm-row:last-child{border-bottom:0;}
.tsm-mhead .tsm-cell{background:var(--deep);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);text-align:center;align-items:center;padding:12px 8px;}
.tsm-mhead .tsm-h0{border-top:3px solid var(--green);color:var(--green-text,#34D17E);}
.tsm-mhead .tsm-h1{border-top:3px solid var(--yellow);color:var(--yellow);}
.tsm-mhead .tsm-h2{border-top:3px solid var(--teal);color:var(--teal-text);}
.tsm-mhead .tsm-h3{border-top:3px solid var(--coral);color:var(--coral-text,#FF9D8F);}
.tsm-fn{background:var(--chrome);padding:13px 16px;border-right:1px solid var(--ink-rule);}
.tsm-fn-name{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);}
.tsm-fn-job{font-family:var(--body);font-size:12px;color:var(--dim);margin-top:5px;line-height:1.4;}
.tsm-cell{padding:11px 12px;border-right:1px solid var(--ink-rule);display:flex;flex-direction:column;justify-content:center;min-height:64px;}
.tsm-cell:last-child{border-right:0;}
.tsm-empty{background-image:radial-gradient(var(--faint) 0.6px,transparent 0.6px);background-size:9px 9px;opacity:.5;}
.tsm-on{position:relative;}
.tsm-on::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);background:currentColor;opacity:.5;}
.tsm-c0{color:var(--green-text);background:rgba(0,173,97,0.10);}
.tsm-c1{color:var(--yellow);background:rgba(251,201,87,0.09);}
.tsm-c2{color:var(--teal-text);background:rgba(72,146,153,0.13);}
.tsm-c3{color:var(--coral-text);background:rgba(252,122,116,0.10);}
.tsm-chip{background:var(--mid);padding:9px 11px;line-height:1.25;}
.tsm-e0{border-top:3px solid var(--green);background:rgba(0,173,97,0.10);}
.tsm-e1{border-top:3px solid var(--yellow);background:rgba(251,201,87,0.10);}
.tsm-e2{border-top:3px solid var(--teal);background:rgba(72,146,153,0.14);}
.tsm-e3{border-top:3px solid var(--coral);background:rgba(252,122,116,0.11);}
.tsm-dashed{background:transparent;border:1px dashed var(--ink-rule);border-top-width:3px;border-top-style:solid;}
.tsm-tool{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ink);letter-spacing:.01em;display:block;}
.tsm-tag{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.18em;text-transform:uppercase;margin-top:6px;display:block;}
.tsm-opt{color:var(--teal-text);}
.tsm-explore{color:var(--yellow);}
.tsm-model{color:var(--green-text,#34D17E);}
.tsm-cnote{font-family:var(--body);font-size:12px;color:var(--dim);margin-top:6px;line-height:1.4;}
.tsm-notes{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;padding:18px 20px;border-top:1px solid var(--ink-rule);}
.tsm-note{font-family:var(--body);font-size:12.5px;color:var(--ink-soft);line-height:1.5;padding-left:16px;position:relative;}
.tsm-note::before{content:"\00B7";position:absolute;left:2px;color:var(--teal-text);font-weight:700;}
.tsm-note b{color:var(--ink);font-weight:600;}
@media(max-width:640px){.tsm-legend{grid-template-columns:1fr 1fr;}.tsm-notes{grid-template-columns:1fr;}.tsm-row{grid-template-columns:150px repeat(4,minmax(120px,1fr));}}
.doc-header{display:flex;align-items:center;gap:14px;padding-top:28px;}
.meta-value .c-coral{color:var(--coral-text);}
.sv-teal{color:var(--teal-text);}
.main p .c-yellow{color:var(--yellow);}
.main p .c-teal{color:var(--teal-text);}
.phase-stack{margin:28px 0;}
.phase-item{border:1px solid var(--ink-rule);margin-bottom:2px;background:var(--deep);}
.phase-header{display:flex;align-items:center;gap:16px;padding:16px 22px;border-bottom:1px solid var(--ink-rule);}
.phase-name{font-size:12px;font-weight:600;color:var(--ink);}
.phase-timeline{margin-left:auto;font-size:12px;color:var(--dim);letter-spacing:0.06em;}
.phase-body{padding:16px 22px;font-size:12.5px;line-height:1.75;color:var(--dim);}
.phase-body strong{color:var(--ink-soft);}
.chart-svg{width:100%;height:auto;display:block;}
.mistake-list{margin:28px 0;}
.mistake-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px;}
.mistake-body{font-size:12.5px;line-height:1.7;color:var(--dim);}
.src-note{font-size:12px;color:var(--dim);line-height:1.7;border-top:1px solid var(--ink-rule);margin-top:48px;padding-top:20px;max-width:72ch;}
.stage-block{border:1px solid var(--ink-rule);margin:28px 0;}
.stage-header{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--ink-rule);}
.stage-title{font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);}
.stage-range{font-size:12px;letter-spacing:0.1em;text-transform:uppercase;}
.stage-body{padding:22px;}
.stage-body p{font-size:13px;line-height:1.75;color:var(--ink-soft);margin-bottom:16px;max-width:100%;}
.stage-body p:last-child{margin-bottom:0;}
.stage-body h4{font-size:var(--fs-micro);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:18px;margin-bottom:8px;}
.stage-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-rule);border:1px solid var(--ink-rule);margin-top:18px;}
.kpi-cell{background:var(--bg);padding:16px 14px;}
.kpi-num{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1;margin-bottom:4px;}
.kpi-label{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--dim);}
.main a.inl { color: var(--accent, var(--green)); text-decoration: underline; text-underline-offset: 2px; }
.main a.inlt { color: var(--teal-text); text-decoration: underline; text-underline-offset: 2px; }
.gchart { width: 100%; height: auto; display: block; color: var(--ink-soft); }
.gchart .g-val { font-family: var(--mono); font-size: 13px; fill: var(--ink); font-weight: 600; }
.gchart .g-yr  { font-family: var(--mono); font-size: 12px; fill: var(--dim); letter-spacing: 0.04em; }
.gchart .g-note{ font-family: var(--mono); font-size: 11px; fill: var(--dim); }
.tag-dim { display: inline-block; font-size:var(--fs-micro); letter-spacing: 0.1em; text-transform: uppercase; color: var(--dim); border: 1px solid var(--ink-rule); padding: 2px 6px; }
.callout-list { list-style: none; padding: 0; margin: 0; }
.callout-list li { font-size: 12.5px; line-height: 1.7; color: var(--ink-soft); padding: 7px 0; border-bottom: 1px dashed var(--ink-rule); display: flex; gap: 10px; }
.callout-list li:last-child { border-bottom: none; }
.cl-marker { color: var(--green-text); flex-shrink: 0; font-weight: 600; }
.tool-cta { border: 1px solid rgba(0,173,97,0.35); border-top: 3px solid var(--green); background: var(--deep); padding: 26px 28px; margin: 36px 0; }
.tool-cta-eye { font-size:var(--fs-micro); letter-spacing: 0.22em; text-transform: uppercase; color: var(--green-text); font-weight: 600; margin-bottom: 10px; }
.tool-cta h3 { font-family: var(--serif); font-style: italic; font-size: 24px; line-height: 1.15; color: var(--ink); margin-bottom: 8px; text-transform: none; letter-spacing: 0; }
.tool-cta p { font-size: 13px; line-height: 1.7; color: var(--ink-soft); max-width: 60ch; margin-bottom: 16px; }
.cat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--ink-rule); border: 1px solid var(--ink-rule); margin: 28px 0; }
.cat-card { background: var(--bg); padding: 22px; }
.cat-name { font-size: var(--fs-micro); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink); margin-bottom: 8px; }
.cat-note { font-size: 11px; line-height: 1.65; color: var(--dim); }
.takeaways ul{list-style:none;margin:0;padding:0;max-width:100%;}
.takeaways li:last-child{margin-bottom:0;}
.takeaways li strong{color:var(--ink);font-weight:600;}
.diag-a{font-size:13px;line-height:1.78;color:var(--ink-soft);max-width:72ch;}
.risk-marker { color: var(--coral-text); flex-shrink: 0; }
.doc-hatch {
      width: 38px;
      height: 18px;
      flex-shrink: 0;
      background: repeating-linear-gradient(
        -45deg,
        var(--mid) 0px,
        var(--mid) 1px,
        transparent 1px,
        transparent 5px
      );
    }
.conv-rate {
      font-family: var(--serif);
      font-style: italic;
      font-size: 28px;
      font-weight: 400;
      text-align: right;
      white-space: nowrap;
    }
