/* ============================================================
   TSC Tools - shared calculator stylesheet
   Design system cloned from tools/dtc-inflection.html so every
   tool in /tools matches the DTC Growth Scorecard (the hero).
   Used by: index.html, shopify-app-valuation.html,
   max-allowable-cac.html, dtc-returns-pnl.html
   ============================================================ */
:root{--bg:#42424f;--chrome:#343440;--dark:#1f191b;--mid:#4e4e5c;--deep:#2a2a33;--ink:#F2F2F0;--ink-soft:#d6d6d0;--dim:rgba(242,242,240,0.80);--faint:rgba(242,242,240,0.18);--rule:rgba(31,25,27,0.55);--ink-rule:rgba(242,242,240,0.12);--green:#00AD61;--yellow:#FBC957;--coral:#FC7A74;--teal:#489299;--teal-text:#79BEC4;--max:1240px;--pad:44px;--accent:#00AD61}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'JetBrains Mono',ui-monospace,monospace;line-height:1.5;-webkit-font-smoothing:antialiased}
img,svg{display:block}a{color:inherit}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,rgba(242,242,240,0.025)1px,transparent 1px),linear-gradient(to bottom,rgba(242,242,240,0.025)1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at top,#000 25%,transparent 78%)}
body>*{position:relative;z-index:1}
.serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:500}
.display{font-family:'Archivo Black',sans-serif;text-transform:uppercase;letter-spacing:.005em}
.eyebrow{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
.btn{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:11px 22px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;text-decoration:none;transition:all .18s ease;line-height:1;font-weight:600}
.btn-green{background:var(--green);color:#0a0a0a}.btn-green:hover{background:#00c46e;transform:translateY(-1px);box-shadow:0 6px 0 -2px rgba(0,173,97,.35)}
.btn-cta{font-size:12px;padding:15px 32px;letter-spacing:.2em;animation:ctaGlow 2.6s ease-in-out infinite}
.btn-cta:hover{animation-play-state:paused}
@keyframes ctaGlow{0%,100%{box-shadow:0 0 0 0 rgba(0,173,97,0)}50%{box-shadow:0 0 0 8px rgba(0,173,97,.14)}}
@media(prefers-reduced-motion:reduce){.btn-cta{animation:none}}
.btn-outline{border:1.5px solid var(--ink);color:var(--ink);background:transparent}.btn-outline:hover{background:var(--ink);color:#0a0a0a}
.btn-ghost{border:1px solid var(--ink-rule);color:var(--dim);background:transparent}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.chev{display:inline-block;width:16px;height:7px}.chev svg{width:100%;height:100%}
nav.site-nav{position:sticky;top:0;z-index:100;background:rgba(52,52,64,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.nav-inner{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}
.nav-logo{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0}
.nav-logo-mark{width:34px;height:34px}
.nav-top{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:19px;line-height:1;color:var(--ink);letter-spacing:-.01em}
.nav-btm{font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:var(--yellow);margin-top:3px;font-weight:600}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .15s;font-weight:500}
.nav-links a:hover{color:var(--ink)}.nav-links a.btn-green{color:#0a0a0a;font-size:10px}
.nav-ham{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}
.nav-ham span{width:22px;height:2px;background:var(--ink);display:block}
.ring-spin-slow{transform-box:fill-box;transform-origin:center;animation:rspin 36s linear infinite}
.ring-spin-mid{transform-box:fill-box;transform-origin:center;animation:rspin 22s linear infinite reverse}
.ring-spin-fast{transform-box:fill-box;transform-origin:center;animation:rspin 14s linear infinite}
@keyframes rspin{to{transform:rotate(360deg)}}
.dspin{animation:rspin 18s linear infinite;transform-origin:center;transform-box:fill-box}
@media(max-width:760px){:root{--pad:20px}.nav-ham{display:flex}.nav-links{position:absolute;top:64px;left:0;right:0;background:var(--chrome);flex-direction:column;align-items:flex-start;gap:0;padding:0;max-height:0;overflow:hidden;transition:max-height .25s ease;border-bottom:1px solid var(--rule)}.nav-links.nav-open{max-height:440px}.nav-links a{padding:16px var(--pad);width:100%;border-top:1px solid var(--ink-rule)}}
footer.site-foot{background:var(--dark);border-top:1px solid var(--ink-rule);padding:48px 0 28px}
.ft-grid{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:36px}
.ft-col h3{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin-bottom:14px;font-weight:700}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.ft-col a{font-size:10px;color:var(--dim);text-decoration:none;line-height:1.7}.ft-col a:hover{color:var(--ink)}
.ft-brand-line{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:20px;color:var(--ink)}
.ft-brand-sub{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);font-weight:600;margin:4px 0 14px}
.ft-brand-p{font-size:10px;color:var(--dim);line-height:1.7;max-width:280px}
.ft-btm-bar{max-width:var(--max);margin:0 auto;padding:24px var(--pad) 0;border-top:1px solid var(--ink-rule);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.ft-copy{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.ft-badge{display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);font-weight:600}
@media(max-width:900px){.ft-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:540px){.ft-grid{grid-template-columns:1fr}}

/* ===== tool shell ===== */
.idt{max-width:1000px;margin:0 auto;padding:0 var(--pad)}
.idt .wrap{min-height:calc(100vh - 64px);display:flex;flex-direction:column;justify-content:center;padding:52px 0}
.idt .plate{position:relative;border:1px solid var(--ink-rule);padding:40px;background:rgba(31,25,27,.18)}
.idt .pc{position:absolute;width:10px;height:10px;color:var(--faint);font-size:14px;line-height:1}
.idt .pc.tl{top:6px;left:9px}.idt .pc.tr{top:6px;right:9px}.idt .pc.bl{bottom:6px;left:9px}.idt .pc.br{bottom:6px;right:9px}
.idt .plate-tag{position:absolute;top:-9px;left:26px;background:var(--bg);padding:0 10px;font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}
.idt .plate-rev{position:absolute;top:-9px;right:26px;background:var(--bg);padding:0 10px;font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.idt .intro-eye{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.idt .intro-eye .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.idt h1.big{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(40px,6.4vw,72px);line-height:.96;letter-spacing:-.015em;margin-bottom:20px}
.idt .lead{font-size:14px;line-height:1.85;color:var(--ink-soft);max-width:610px;margin-bottom:14px}
.idt .lead strong{color:var(--ink)}
.idt .meta-row{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 30px}
.idt .chip{font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);border:1px solid var(--ink-rule);padding:6px 11px}
.idt .micro{font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.idt .intro-split{display:grid;grid-template-columns:1.04fr .96fr;gap:46px;align-items:center;margin-top:4px}
.idt .intro-copy{min-width:0}
.idt .intro-toolcard{border:1px solid var(--ink-rule);border-top:3px solid var(--yellow);background:var(--deep);padding:26px 28px}
.idt .intro-toolcard .prog-head{margin-bottom:12px}
.idt .intro-toolcard .prog-track{margin-bottom:22px}
.idt .intro-toolcard .q-title{font-size:21px;line-height:1.14;margin-bottom:18px;max-width:none}
.idt .nosignup{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-text);margin-top:16px;display:flex;align-items:center;gap:7px}
.idt .cred{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:11px;display:flex;align-items:flex-start;gap:8px;line-height:1.6;max-width:560px}
.idt .cred .cdot{width:5px;height:5px;border-radius:50%;background:var(--yellow);flex-shrink:0;margin-top:5px}
.idt .intro-toolcard .tc-tag{font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:7px}
.idt .intro-toolcard .tc-tag .tcdot{width:5px;height:5px;border-radius:50%;background:var(--yellow);flex-shrink:0}
/* preview mini field rows on the intro card */
.idt .tc-field{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--ink-rule);background:var(--bg);padding:13px 16px;margin-bottom:9px}
.idt .tc-field .tcf-l{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.idt .tc-field .tcf-v{font-family:'Instrument Serif',serif;font-style:italic;font-size:18px;color:var(--ink)}
@media(max-width:820px){.idt .intro-split{grid-template-columns:1fr;gap:34px}.idt .intro-toolcard{order:2}}

/* ===== progress + steps ===== */
.idt .prog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.idt .prog-q{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);font-weight:600}
.idt .prog-track{height:2px;background:var(--ink-rule);margin-bottom:38px;overflow:hidden}
.idt .prog-fill{height:100%;background:var(--green);width:0;transition:width .4s ease}
.idt .q-kicker{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.idt .q-title{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(25px,3.3vw,37px);line-height:1.08;margin-bottom:14px;max-width:700px}
.idt .q-help{font-size:11px;color:var(--dim);margin-bottom:26px;max-width:600px;line-height:1.6}
.idt .q-help b{color:var(--ink-soft)}
/* numeric / select input fields */
.idt .fields{display:flex;flex-direction:column;gap:1px;background:var(--ink-rule);border:1px solid var(--ink-rule)}
.idt .field{background:var(--bg);padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.idt .field-l{min-width:0;flex:1}
.idt .field-label{font-size:12px;color:var(--ink);font-weight:600;letter-spacing:.01em}
.idt .field-sub{font-size:10px;color:var(--dim);line-height:1.55;margin-top:5px;max-width:46ch}
.idt .field-ctrl{flex-shrink:0;display:flex;align-items:center;gap:9px}
.idt .inwrap{display:flex;align-items:center;border:1px solid var(--ink-rule);background:var(--deep)}
.idt .inwrap:focus-within{border-color:var(--teal-text)}
.idt .inwrap .affix{font-size:12px;color:var(--dim);padding:0 4px 0 12px;user-select:none}
.idt .inwrap .affix.suf{padding:0 12px 0 4px}
.idt .field input[type=number],.idt .field input[type=text]{width:118px;background:transparent;border:none;color:var(--ink);font-family:inherit;font-size:15px;padding:12px 10px;outline:none;text-align:right;-moz-appearance:textfield}
.idt .field input::-webkit-outer-spin-button,.idt .field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.idt .field input.has-affix{padding-left:2px}
.idt .field select{min-width:200px;background:var(--deep);border:1px solid var(--ink-rule);color:var(--ink);font-family:inherit;font-size:13px;padding:12px 14px;outline:none}
.idt .field select:focus{border-color:var(--teal-text)}
.idt .field input::placeholder{color:var(--faint)}
/* segmented choice (for either/or step inputs, e.g. profit vs ARR) */
.idt .seg{display:flex;gap:1px;background:var(--ink-rule);border:1px solid var(--ink-rule);margin-bottom:1px}
.idt .seg button{flex:1;background:var(--bg);border:none;color:var(--ink-soft);font-family:inherit;font-size:11px;letter-spacing:.04em;padding:15px 14px;cursor:pointer;transition:background .15s}
.idt .seg button:hover{background:var(--mid)}
.idt .seg button.on{background:var(--mid);color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}
.idt .field-err{color:var(--coral);font-size:10px;margin-top:10px;display:none}
.idt .field-err.show{display:block}
.idt .nav-row{display:flex;align-items:center;justify-content:space-between;margin-top:32px;gap:16px}
@media(max-width:560px){.idt .field{flex-direction:column;align-items:flex-start}.idt .field-ctrl{width:100%}.idt .inwrap,.idt .field select{flex:1;width:100%}.idt .field input[type=number],.idt .field input[type=text]{width:100%;text-align:left}}

/* ===== result ===== */
.idt .res-banner{border-top:3px solid var(--accent);background:var(--deep);padding:34px 40px;margin-bottom:1px}
.idt .res-eye{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.idt .res-eye .tag{font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}
.idt .res-headline{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(34px,6vw,60px);line-height:1;margin-bottom:10px;color:var(--ink)}
.idt .res-headline .unit{font-size:.5em;color:var(--dim);font-style:normal;letter-spacing:.02em}
.idt .res-sub{font-size:13px;line-height:1.7;color:var(--ink-soft);max-width:600px}
.idt .res-sub b{color:var(--ink)}
.idt .res-cols{display:grid;grid-template-columns:1.1fr .9fr;gap:1px;background:var(--ink-rule);border:1px solid var(--ink-rule);border-top:none}
.idt .res-cell{background:var(--bg);padding:30px}
.idt .res-h{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.idt .res-h::after{content:"";flex:1;height:1px;background:var(--ink-rule)}
.idt .bignum{font-family:'Instrument Serif',serif;font-style:italic;font-size:40px;line-height:1;color:var(--ink)}
.idt .bignum-sub{font-size:11px;color:var(--ink-soft);margin-top:8px;line-height:1.6}
.idt .constraint{font-family:'Instrument Serif',serif;font-style:italic;font-size:24px;line-height:1.15;color:var(--ink);margin-bottom:10px}
.idt .constraint-sub{font-size:11.5px;line-height:1.7;color:var(--ink-soft)}
/* metric rows (free + gated) */
.idt .mrow{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed var(--ink-rule)}
.idt .mrow:last-child{border-bottom:none}
.idt .mrow .mk{font-size:11px;color:var(--ink-soft);letter-spacing:.02em}
.idt .mrow .mv{font-family:'Instrument Serif',serif;font-style:italic;font-size:19px;color:var(--ink);white-space:nowrap}
.idt .mrow .mv.neg{color:var(--coral)}.idt .mrow .mv.pos{color:var(--green)}
/* range bar (valuation low/mid/high) */
.idt .rangebar{margin:8px 0 4px}
.idt .rb-track{position:relative;height:10px;background:linear-gradient(90deg,var(--coral),var(--yellow),var(--green));margin:26px 0 10px}
.idt .rb-mark{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--ink)}
.idt .rb-mark::after{content:attr(data-l);position:absolute;top:-16px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.1em;color:var(--dim);white-space:nowrap}
.idt .rb-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--dim)}
.idt .rb-ends b{color:var(--ink);font-style:italic;font-family:'Instrument Serif',serif;font-size:15px}
/* benchmark / driver cards */
.idt .bm-wrap{display:flex;flex-direction:column;gap:1px;background:var(--ink-rule);border:1px solid var(--ink-rule)}
.idt .bm{background:var(--bg);padding:18px 22px;border-left:3px solid var(--dim)}
.idt .bm.good{border-left-color:var(--green)}.idt .bm.watch{border-left-color:var(--yellow)}.idt .bm.risk{border-left-color:var(--coral)}
.idt .bm-top{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.idt .bm-tag{font-size:8px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.idt .bm.good .bm-tag{color:var(--green)}.idt .bm.watch .bm-tag{color:var(--yellow)}.idt .bm.risk .bm-tag{color:var(--coral)}
.idt .bm-title{font-size:12.5px;color:var(--ink);font-weight:600}
.idt .bm-body{font-size:11px;line-height:1.65;color:var(--ink-soft)}
.idt .bm-link{display:inline-block;margin-top:8px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-text);text-decoration:underline;text-underline-offset:3px}
.idt .bm-link:hover{color:var(--ink)}
.idt ul.plist{list-style:none;display:flex;flex-direction:column;gap:13px}
.idt ul.plist li{font-size:12px;line-height:1.6;color:var(--ink-soft);padding-left:20px;position:relative}
.idt ul.plist li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:2px;background:var(--accent)}
.idt ul.stoplist li::before{background:var(--coral)}
.idt ul.opplist li::before{background:var(--yellow)}

/* ===== gate ===== */
.idt .gate{border-top:3px solid var(--yellow);background:var(--deep);padding:36px 40px;position:relative}
.idt .gate-lock{font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);display:flex;align-items:center;gap:8px;margin-bottom:14px}
.idt .gate-h{font-family:'Instrument Serif',serif;font-style:italic;font-size:30px;line-height:1.1;margin-bottom:10px;max-width:580px}
.idt .gate-p{font-size:12px;color:var(--ink-soft);line-height:1.7;max-width:560px;margin-bottom:22px}
.idt .gate-p b{color:var(--ink)}
.idt .gate-form{display:flex;gap:1px;background:var(--ink-rule);border:1px solid var(--ink-rule);max-width:520px}
.idt .gate-form input[type=email]{flex:1;background:var(--bg);border:none;color:var(--ink);font-family:inherit;font-size:12px;padding:15px 18px;outline:none}
.idt .gate-form input::placeholder{color:var(--faint)}
.idt .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.idt .gate-err{color:var(--coral);font-size:10px;margin-top:10px;display:none}
.idt .gate-trust{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:13px}
.idt .gate-preview{position:relative;margin:20px 0 24px;border:1px solid var(--ink-rule);background:var(--bg);padding:20px 22px;overflow:hidden;max-height:138px}
.idt .gp-inner{display:flex;gap:22px;align-items:center;filter:blur(4px);opacity:.92;pointer-events:none;user-select:none}
.idt .gp-rows{display:flex;flex-direction:column;gap:11px;flex:1}
.idt .gp-row{display:flex;align-items:center;gap:11px}
.idt .gp-tick{width:3px;height:24px;flex-shrink:0}
.idt .gp-bar{height:9px;background:var(--mid)}
.idt .gp-bar2{height:7px;background:var(--mid);opacity:.5;margin-top:5px}
.idt .gp-veil{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(66,66,79,0) 28%,var(--deep) 100%)}
.idt .gp-tagline{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}

/* ===== success banner + full ===== */
.idt .report-sent{display:none;align-items:center;gap:22px;background:rgba(0,173,97,.13);border:1px solid rgba(0,173,97,.45);border-top:3px solid var(--green);padding:26px 30px;box-shadow:0 0 0 1px rgba(0,173,97,.10)}
.idt .report-sent.show{display:flex;animation:rsIn .5s cubic-bezier(.2,.7,.3,1) both}
@keyframes rsIn{from{opacity:0;transform:translateY(-12px) scale(.99)}to{opacity:1;transform:none}}
.idt .rs-check{flex:0 0 auto;width:54px;height:54px}
.idt .rs-check svg{width:54px;height:54px;display:block}
.idt .rs-circle{fill:none;stroke:var(--green);stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151}
.idt .rs-tick{fill:none;stroke:var(--green);stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:44;stroke-dashoffset:44}
.idt .report-sent.show .rs-circle{animation:rsDraw .5s ease .08s forwards}
.idt .report-sent.show .rs-tick{animation:rsDraw .3s ease .5s forwards}
@keyframes rsDraw{to{stroke-dashoffset:0}}
.idt .rs-text{min-width:0}
.idt .rs-title{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--green);font-weight:700}
.idt .rs-head{font-family:'Instrument Serif',serif;font-style:italic;font-size:27px;line-height:1.08;color:var(--ink);margin:3px 0 6px}
.idt .rs-sub{font-size:12.5px;line-height:1.6;color:var(--ink-soft)}
.idt .rs-sub b{color:var(--ink);font-weight:600;word-break:break-all}
@media(prefers-reduced-motion:reduce){.idt .rs-circle,.idt .rs-tick{stroke-dashoffset:0!important;animation:none!important}.idt .report-sent.show{animation:none}}
.idt .res-foot-txt{font-size:11px;color:var(--ink-soft);line-height:1.6;max-width:430px}
.idt .linkbtn{background:none;border:none;color:var(--teal-text);font-family:inherit;font-size:10px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.idt .assume{font-size:9.5px;letter-spacing:.04em;color:var(--dim);line-height:1.7;border-left:2px solid var(--ink-rule);padding:4px 0 4px 14px;margin-top:18px}

/* ===== go-deeper related posts ===== */
.idt .deeper{margin-top:54px;border-top:1px solid rgba(242,242,240,.14);padding-top:34px}
.idt .deeper-eye{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--yellow);font-weight:600;margin-bottom:6px}
.idt .deeper-h{font-family:'Instrument Serif',serif;font-style:italic;font-size:26px;line-height:1.15;color:var(--ink);margin-bottom:22px}
.idt .deeper-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:14px}
.idt .deeper-card{text-decoration:none;background:var(--mid);border-top:3px solid var(--green);padding:18px 20px 20px;display:flex;flex-direction:column}
.idt .deeper-card.y{border-top-color:var(--yellow)}.idt .deeper-card.t{border-top-color:var(--teal)}.idt .deeper-card.c{border-top-color:var(--coral)}
.idt .dc-cat{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:7px}
.idt .dc-dot{display:inline-block;width:6px;height:6px;background:var(--green)}
.idt .dc-cat.y .dc-dot{background:var(--yellow)}.idt .dc-cat.t .dc-dot{background:var(--teal)}.idt .dc-cat.c .dc-dot{background:var(--coral)}
.idt .dc-title{font-size:16px;line-height:1.3;color:var(--ink);font-weight:600;margin-bottom:7px}
.idt .dc-desc{font-size:12.5px;line-height:1.55;color:var(--ink-soft);margin-bottom:14px}
.idt .dc-go{margin-top:auto;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--green);font-weight:600}
.idt .deeper-card.y .dc-go{color:var(--yellow)}.idt .deeper-card.t .dc-go{color:var(--teal-text)}.idt .deeper-card.c .dc-go{color:var(--coral)}

.hidden{display:none!important}
@media(max-width:720px){.idt .plate{padding:26px}.idt .res-cols{grid-template-columns:1fr}.idt .res-banner,.idt .gate{padding:26px}.idt .gate-form{flex-direction:column}.idt .gate-form .btn{justify-content:center;padding-top:14px;padding-bottom:14px}}
@media(prefers-reduced-motion:reduce){.ring-spin-slow,.ring-spin-mid,.ring-spin-fast,.dspin{animation:none!important}}

/* ===== tools hub (index) ===== */
.hub{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.hub-head{padding:64px 0 30px}
.hub-eye{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.hub-eye .dot{width:6px;height:6px;border-radius:50%;background:var(--yellow)}
.hub h1{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(42px,7vw,78px);line-height:.95;letter-spacing:-.015em;margin-bottom:20px}
.hub-lead{font-size:14px;line-height:1.85;color:var(--ink-soft);max-width:660px}
.hub-lead b{color:var(--ink)}
/* hero tool (scorecard) */
.hero-tool{display:grid;grid-template-columns:1.15fr .85fr;gap:1px;background:var(--ink-rule);border:1px solid var(--ink-rule);border-top:3px solid var(--green);margin:30px 0 18px}
.hero-tool>div{background:var(--deep)}
.hero-l{padding:38px 40px}
.hero-tag{font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--green);font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:16px}
.hero-tag .ht-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.hero-tool h2{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(30px,4.4vw,46px);line-height:1.02;margin-bottom:14px}
.hero-p{font-size:13px;line-height:1.8;color:var(--ink-soft);max-width:480px;margin-bottom:22px}
.hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.hero-chips .chip{font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);border:1px solid var(--ink-rule);padding:6px 11px}
.hero-r{padding:38px 34px;display:flex;flex-direction:column;justify-content:center;background:var(--bg)!important}
.hero-stat{margin-bottom:20px}
.hero-stat:last-child{margin-bottom:0}
.hero-stat .hs-n{font-family:'Instrument Serif',serif;font-style:italic;font-size:30px;line-height:1;color:var(--ink)}
.hero-stat .hs-l{font-size:9.5px;letter-spacing:.1em;color:var(--dim);margin-top:5px;line-height:1.5}
@media(max-width:820px){.hero-tool{grid-template-columns:1fr}}
/* tool grid */
.hub-sec{margin-top:54px}
.hub-sec-h{display:flex;align-items:baseline;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--ink-rule);margin-bottom:1px}
.hub-sec-h .n{font-size:9px;letter-spacing:.22em;color:var(--yellow);text-transform:uppercase;font-weight:600}
.hub-sec-h .t{font-family:'Instrument Serif',serif;font-style:italic;font-size:24px;color:var(--ink)}
.hub-sec-h .s{font-size:10px;color:var(--dim);margin-left:auto;letter-spacing:.04em}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ink-rule);border:1px solid var(--ink-rule);border-top:none}
.tool-card{background:var(--bg);padding:28px 30px;display:flex;flex-direction:column;text-decoration:none;border-top:3px solid var(--green);transition:background .16s}
.tool-card.y{border-top-color:var(--yellow)}.tool-card.t{border-top-color:var(--teal)}.tool-card.c{border-top-color:var(--coral)}
.tool-card.live:hover{background:var(--mid)}
.tool-card.soon{opacity:.62;cursor:default}
.tc-eyebrow{font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.tc-eyebrow .tcd{width:6px;height:6px;background:var(--green)}
.tool-card.y .tc-eyebrow .tcd{background:var(--yellow)}.tool-card.t .tc-eyebrow .tcd{background:var(--teal)}.tool-card.c .tc-eyebrow .tcd{background:var(--coral)}
.tc-h{font-family:'Instrument Serif',serif;font-style:italic;font-size:25px;line-height:1.08;color:var(--ink);margin-bottom:10px}
.tc-p{font-size:12px;line-height:1.7;color:var(--ink-soft);margin-bottom:18px;flex:1}
.tc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tc-go{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--green);font-weight:600}
.tool-card.y .tc-go{color:var(--yellow)}.tool-card.t .tc-go{color:var(--teal-text)}.tool-card.c .tc-go{color:var(--coral)}
.tc-badge{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);border:1px solid var(--ink-rule);padding:4px 8px}
.tc-badge.live{color:var(--green);border-color:rgba(0,173,97,.4)}
@media(max-width:680px){.tool-grid{grid-template-columns:1fr}}
.hub-cta{margin:60px 0 70px;border:1px solid var(--ink-rule);border-top:3px solid var(--green);background:var(--deep);padding:40px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.hub-cta-h{font-family:'Instrument Serif',serif;font-style:italic;font-size:28px;line-height:1.1;color:var(--ink);max-width:520px}
.hub-cta-p{font-size:12px;color:var(--ink-soft);line-height:1.7;margin-top:8px;max-width:520px}

/* ===== FAQ block (tool pages) ===== */
.idt .tool-faq{margin-top:54px;border-top:1px solid rgba(242,242,240,.14);padding-top:34px}
.idt .faq-eye{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--yellow);font-weight:600;margin-bottom:6px}
.idt .faq-h{font-family:'Instrument Serif',serif;font-style:italic;font-size:26px;line-height:1.15;color:var(--ink);margin-bottom:22px;font-weight:400}
.idt .faq-list{display:flex;flex-direction:column;gap:10px}
.idt .faq-item{background:var(--mid);border-top:3px solid var(--teal)}
.idt .faq-item summary{cursor:pointer;list-style:none;padding:15px 20px;font-size:14px;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:14px}
.idt .faq-item summary::-webkit-details-marker{display:none}
.idt .faq-item summary::after{content:"+";color:var(--dim);font-weight:400;font-size:19px;line-height:1}
.idt .faq-item[open] summary::after{content:"\2013"}
.idt .faq-a{padding:0 20px 18px;font-size:13px;line-height:1.62;color:var(--ink-soft)}

/* ===== share row + tool chaining + prefill (added 2026-06-10) ===== */
.idt .share-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--ink-rule);border-top:none;background:var(--deep);padding:15px 22px}
.idt .share-row .share-l{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-right:auto}
.idt .share-row .btn{font-size:9px;padding:9px 14px}
.idt .next-tools{margin-top:34px;border:1px solid var(--ink-rule);padding:24px;background:rgba(31,25,27,.18)}
.idt .nt-eye{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);font-weight:600;margin-bottom:16px}
.idt .nt-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ink-rule);border:1px solid var(--ink-rule)}
.idt .nt-card{background:var(--bg);padding:20px 22px;text-decoration:none;display:flex;flex-direction:column;gap:7px;transition:background .15s}
.idt .nt-card:hover{background:var(--mid)}
.idt .nt-t{font-size:12.5px;font-weight:700;color:var(--ink);letter-spacing:.01em}
.idt .nt-d{font-size:10.5px;color:var(--dim);line-height:1.55}
.idt .nt-go{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-text);margin-top:4px}
.idt .prefill-note{font-size:10px;color:var(--teal-text);margin:-14px 0 20px;letter-spacing:.05em}
@media(max-width:560px){.idt .nt-grid{grid-template-columns:1fr}.idt .share-row .share-l{width:100%;margin-right:0}}

/* ===== hub: credibility strip, recommended paths, card stats (added 2026-06-10) ===== */
.hub-cred{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--ink-rule);border-left:3px solid var(--yellow);background:rgba(31,25,27,.18);padding:16px 22px;margin-top:26px}
.hub-cred .hc-dot{width:6px;height:6px;border-radius:50%;background:var(--yellow);flex-shrink:0;margin-top:5px}
.hub-cred p{font-size:11px;line-height:1.7;color:var(--ink-soft);max-width:860px}
.hub-cred b{color:var(--ink)}
.hub-path{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:11px 2px;border-bottom:1px solid var(--ink-rule);margin-bottom:1px}
.hub-path .hp-k{font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--yellow);font-weight:700;flex-shrink:0}
.hub-path .hp-steps{font-size:10px;letter-spacing:.05em;color:var(--ink-soft)}
.hub-path .hp-note{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text);margin-left:auto}
.tc-stat{font-size:10px;line-height:1.6;color:var(--dim);border-top:1px dashed var(--ink-rule);padding-top:11px;margin-bottom:14px}
.tool-card.soon .tc-h,.tool-card.soon .tc-p,.tool-card.soon .tc-stat{opacity:.85}

/* Hub: section prose, bridge, benchmarks table, FAQ (added 2026-06-11) */
.hub-sec-h h2.t{margin:0;font-weight:400}
h3.tc-h{margin-top:0;font-weight:400}
.hub-sec-p{font-size:11.5px;line-height:1.75;color:var(--ink-soft);max-width:760px;padding:14px 2px 12px}
.hub-sec-p a{color:var(--teal-text)}
.hub-cred a{color:var(--teal-text)}
.hub-bridge{border:1px solid var(--ink-rule);border-left:3px solid var(--coral);background:rgba(31,25,27,.18);padding:14px 22px;margin-top:34px}
.hub-bridge p{font-size:11.5px;color:var(--ink-soft);line-height:1.6}
.hub-bridge a{color:var(--coral);font-weight:600}
.hub-bench-wrap{overflow-x:auto;border:1px solid var(--ink-rule)}
table.hub-bench{width:100%;border-collapse:collapse;font-size:11px;line-height:1.5;min-width:640px}
.hub-bench th{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);text-align:left;padding:12px 16px;border-bottom:1px solid var(--ink-rule);background:var(--deep);font-weight:600}
.hub-bench td{padding:11px 16px;border-bottom:1px solid var(--ink-rule);color:var(--ink-soft);vertical-align:top}
.hub-bench tbody tr:last-child td{border-bottom:none}
.hub-bench tbody tr:nth-child(even) td{background:rgba(31,25,27,.14)}
.hub-bench td:first-child{color:var(--ink);font-weight:500}
.hub-bench a{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);text-decoration:none;font-weight:600;white-space:nowrap}
.hub-bench a.y{color:var(--yellow)}
.hub-bench-note{padding-top:12px;font-size:10px;color:var(--dim)}
.hub-faq{border:1px solid var(--ink-rule)}
.hub-faq details{border-bottom:1px solid var(--ink-rule)}
.hub-faq details:last-child{border-bottom:none}
.hub-faq summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:12px;padding:16px 20px;font-size:12.5px;color:var(--ink);font-weight:500}
.hub-faq summary::-webkit-details-marker{display:none}
.hub-faq summary::before{content:'+';font-family:'JetBrains Mono',monospace;color:var(--yellow);flex-shrink:0}
.hub-faq details[open] summary::before{content:'\00b7'}
.hub-faq details[open]{background:rgba(31,25,27,.14)}
.hub-faq .fa{padding:0 20px 18px 38px;font-size:11.5px;line-height:1.75;color:var(--ink-soft);max-width:760px}
.hub-faq .fa a{color:var(--teal-text)}

/* ===== how-to-read-your-number method block (added 2026-06-11) ===== */
.idt .tool-method{margin-top:54px;border-top:1px solid rgba(242,242,240,.14);padding-top:34px}
.idt .tm-p{font-size:13px;line-height:1.7;color:var(--ink-soft);max-width:780px;margin-bottom:18px}
.idt .tm-p a{color:var(--teal-text)}
.idt .tm-p b{color:var(--ink)}
.idt .tm-bands{display:flex;flex-direction:column;gap:1px;background:rgba(242,242,240,.12);border:1px solid rgba(242,242,240,.12);max-width:780px;margin-bottom:18px}
.idt .tm-band{display:flex;gap:18px;align-items:baseline;background:var(--mid);padding:12px 18px}
.idt .tm-band .k{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;flex-shrink:0;min-width:190px}
.idt .tm-band.good .k{color:var(--green)}.idt .tm-band.watch .k{color:var(--yellow)}.idt .tm-band.risk .k{color:var(--coral)}
.idt .tm-band .v{font-size:12px;line-height:1.55;color:var(--ink-soft)}
@media(max-width:560px){.idt .tm-band{flex-direction:column;gap:4px}.idt .tm-band .k{min-width:0}}
