:root,[data-theme=light]{--bg:#f8fafc;--card:#fff;--card-2:#f1f5f9;--ink:#0f172a;--muted:#475569;--line:#e2e8f0;--mk:#64748b;--top:rgba(255,255,255,.92);--ok:#15803d;--ok-soft:#dcfce7;--bad:#b91c1c;--bad-soft:#fee2e2;--warn-soft:#fef3c7;--hook-bg:#faf7ff;--hook-line:#ddd6fe;--shadow:rgba(15,23,42,.06);--r:14px;
--brand:#0f766e;--on-brand:#fff;--brand-soft:#ccfbf1;--sel:#f0fdfa}
[data-palette=coral]{--brand:#c2410c;--brand-soft:#ffedd5;--sel:#fff7ed;--hook-bg:#fffaf5;--hook-line:#fed7aa}
[data-palette=lavender]{--brand:#6d28d9;--brand-soft:#ede9fe;--sel:#f5f3ff;--hook-bg:#fcfaff;--hook-line:#ddd6fe}
[data-palette=forest]{--brand:#166534;--brand-soft:#dcfce7;--sel:#f0fdf4;--hook-bg:#f7fdf9;--hook-line:#bbf7d0}
[data-palette=ocean]{--brand:#1d4ed8;--brand-soft:#dbeafe;--sel:#eff6ff;--hook-bg:#f7faff;--hook-line:#bfdbfe}
[data-palette=contrast]{--bg:#fff;--card:#fff;--card-2:#f2f2f2;--ink:#000;--muted:#262626;--line:#000;--mk:#000;--top:#fff;--brand:#000;--on-brand:#fff;--brand-soft:#f2f2f2;--sel:#e6e6e6;--hook-bg:#fff;--hook-line:#000;--ok:#006100;--bad:#a00000;--warn-soft:#fff3c4}
[data-theme=dark]{--bg:#0b1220;--card:#111a2e;--card-2:#172238;--ink:#e5e7eb;--muted:#a3adbd;--line:#26324a;--mk:#8391a7;--top:rgba(11,18,32,.92);--ok:#4ade80;--ok-soft:#12351f;--bad:#f87171;--bad-soft:#3f1717;--warn-soft:#3a300c;--shadow:rgba(0,0,0,.3);
--brand:#2dd4bf;--on-brand:#042f2a;--brand-soft:#123b37;--sel:#0f2c2a;--hook-bg:#151d33;--hook-line:#2e3a5c}
[data-theme=dark][data-palette=coral]{--brand:#fb923c;--on-brand:#2a1205;--brand-soft:#3b2414;--sel:#2c1d12}
[data-theme=dark][data-palette=lavender]{--brand:#a78bfa;--on-brand:#1e1240;--brand-soft:#2b2250;--sel:#221b3f}
[data-theme=dark][data-palette=forest]{--brand:#4ade80;--on-brand:#052e16;--brand-soft:#13301f;--sel:#0f2619}
[data-theme=dark][data-palette=ocean]{--brand:#60a5fa;--on-brand:#0b1f44;--brand-soft:#172a4a;--sel:#13233d}
[data-theme=dark][data-palette=contrast]{--bg:#000;--card:#000;--card-2:#141414;--ink:#fff;--muted:#e6e6e6;--line:#fff;--mk:#fff;--top:#000;--brand:#ffd60a;--on-brand:#000;--brand-soft:#1f1f1f;--sel:#262626;--hook-bg:#000;--hook-line:#fff;--ok:#7dff9b;--ok-soft:#003d12;--bad:#ff8a8a;--bad-soft:#4a0000;--warn-soft:#332b00}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
a{color:var(--brand)}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:var(--top);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:8px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700}
.top-link{text-decoration:none;font-size:.95rem}
main{max-width:760px;margin:0 auto;padding:16px}
.pad{padding:16px}.narrow{max-width:680px;margin:0 auto}
.muted{color:var(--muted)}
h1{font-size:1.5rem;line-height:1.25;margin:.2em 0 .4em}h2{font-size:1.15rem;margin:1.4em 0 .5em}h3{font-size:1rem;margin:.8em 0 .3em}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:12px 0;box-shadow:0 1px 3px var(--shadow)}
.mod-card{display:block;text-decoration:none;color:inherit}
.mod-card:active{transform:scale(.99)}
.tag{display:inline-block;font-size:.75rem;font-weight:600;color:var(--brand);background:var(--brand-soft);border-radius:999px;padding:2px 10px}
.meta{font-size:.85rem;color:var(--muted);margin-top:6px}
.bar{height:6px;background:var(--line);border-radius:6px;overflow:hidden;margin-top:10px}.bar>i{display:block;height:100%;background:var(--brand)}
.tabs{display:flex;gap:6px;overflow-x:auto;position:sticky;top:53px;z-index:4;background:var(--bg);padding:8px 0;margin:0 -2px;scrollbar-width:none}
.tabs a{flex:0 0 auto;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);text-decoration:none;color:var(--ink);font-size:.92rem}
.tabs a.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
ul.clean{padding-left:1.2em;margin:.3em 0}ul.clean li{margin:.25em 0}
ol.steps{padding-left:1.3em}ol.steps li{margin:.35em 0}
.callout{background:var(--brand-soft);border-radius:var(--r);padding:14px 16px;margin:12px 0}
.warn{background:var(--warn-soft);border-radius:10px;padding:10px 12px;margin-top:8px;font-size:.93rem}
.disc{background:var(--warn-soft);border-radius:var(--r);padding:12px 14px;font-size:.9rem;margin:16px 0}
details.row{border:1px solid var(--line);border-radius:var(--r);background:var(--card);margin:10px 0}
details.row>summary{cursor:pointer;padding:14px 16px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:8px}
details.row>summary::-webkit-details-marker{display:none}
details.row>summary::after{content:"+";color:var(--muted);font-weight:400}
details.row[open]>summary::after{content:"–"}
details.row>div{padding:0 16px 14px}
.sub{font-weight:400;color:var(--muted);font-size:.85rem;display:block}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
table{border-collapse:collapse;width:100%;min-width:720px;font-size:.88rem}th,td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}th{background:var(--card-2);position:sticky;top:0}
td ul{margin:0;padding-left:1.1em}
.view-toggle{display:flex;gap:6px;margin:8px 0}
.btn{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.btn.small{padding:6px 12px;font-size:.88rem}
.btn:disabled{opacity:.5}
.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.flip{perspective:1200px;margin:12px 0;cursor:pointer;user-select:none}
.flip-in{position:relative;min-height:230px;transition:transform .45s;transform-style:preserve-3d}
.flip.on .flip-in{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;border-radius:var(--r);border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:1.1rem}
.face.back{transform:rotateY(180deg);background:var(--sel);font-size:1rem}
.face small{position:absolute;top:10px;left:14px;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}
.opt{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:12px;margin:8px 0;font:inherit;cursor:pointer;color:var(--ink)}
.opt .mk{flex:0 0 22px;height:22px;border:2px solid var(--mk);border-radius:50%;margin-top:1px}
.opt.sata .mk{border-radius:5px}
.opt.sel{border-color:var(--brand);background:var(--sel)}.opt.sel .mk{background:var(--brand);border-color:var(--brand)}
.opt.right{border-color:var(--ok);background:var(--ok-soft)}.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}
.opt[disabled]{cursor:default}
.result{border-radius:12px;padding:12px 14px;margin-top:10px}.result.ok{background:var(--ok-soft)}.result.no{background:var(--bad-soft)}
.qhead{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--muted)}
.foot{max-width:760px;margin:24px auto 0;padding:16px 16px calc(24px + env(safe-area-inset-bottom));font-size:.8rem;color:var(--muted);text-align:center}
.foot p{margin:.3em 0}
ol.refs{font-size:.88rem;padding-left:1.3em}ol.refs li{margin:.4em 0}
@media (min-width:700px){h1{font-size:1.8rem}}
@media print{.top,.tabs,.foot,.btn-row{display:none}}
table.fit,table.kv{min-width:0}
table.kv th{width:38%;background:var(--card-2);position:static;font-weight:600}
ul.check{list-style:none;padding-left:0}ul.check li{padding-left:1.6em;position:relative;margin:.35em 0}ul.check li::before{content:"✓";position:absolute;left:.2em;color:var(--brand);font-weight:700}
.callout.hook{background:var(--hook-bg);border:1px solid var(--hook-line)}
details.row h3:first-child{margin-top:.2em}

.callout,.warn,.disc,.result{color:var(--ink)}
.opt.right .mk{border-color:var(--ok)}.opt.wrong .mk{border-color:var(--bad)}
.top-nav{display:flex;gap:14px;align-items:center}
@media (max-width:420px){.top-nav .top-link span{display:none}}
img{max-width:100%;height:auto}
.hero{display:grid;gap:4px;margin:4px 0 8px}
.hero-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;background:var(--card-2)}
@media (min-width:700px){.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:20px}}
.cover{margin:-16px -16px 12px;border-radius:var(--r) var(--r) 0 0;overflow:hidden;background:var(--card-2);aspect-ratio:16/7}
.cover img{display:block;width:100%;height:100%;object-fit:cover}
[data-theme=dark] .cover img,[data-theme=dark] .hero-img,[data-theme=dark] .hook-img,[data-theme=dark] .score-img,[data-theme=dark] .empty-img{filter:brightness(.88)}
figure.hook{margin:14px 0;padding:14px;border-radius:var(--r);background:var(--hook-bg);border:1px solid var(--hook-line)}
.hook-title{display:flex;gap:10px;align-items:center;font-weight:700;font-size:1.02rem}
.hook-badge{flex:0 0 34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--brand-soft);font-size:1.1rem}
.hook-kicker{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.hook-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin:12px 0 4px;background:var(--card)}
.hook-mn{font-size:1.08rem;font-weight:650;margin:.6em 0;padding-left:12px;border-left:4px solid var(--brand)}
dl.hook-parts{margin:.4em 0;display:grid;gap:6px}
dl.hook-parts>div{display:grid;grid-template-columns:minmax(90px,34%) 1fr;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
dl.hook-parts dt{font-weight:700;color:var(--brand)}dl.hook-parts dd{margin:0}
.hook-pic{font-size:.93rem;color:var(--muted);margin:.6em 0 0}.hook-pic strong{color:var(--ink)}
.hook-from{margin:18px 0 -6px;font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.score-img,.empty-img{display:block;width:min(100%,360px);aspect-ratio:16/9;object-fit:cover;margin:0 auto;border-radius:14px}
.empty{text-align:center;padding:24px 8px}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.swatch{display:flex;gap:10px;align-items:center;border:2px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:10px 12px;font:inherit;cursor:pointer;text-align:left}
.swatch.on{border-color:var(--brand);background:var(--sel);font-weight:700}
.dot{flex:0 0 22px;height:22px;border-radius:50%;border:2px solid var(--card)}
.pal-teal{background:linear-gradient(135deg,#0f766e 50%,#2dd4bf 50%)}.pal-coral{background:linear-gradient(135deg,#c2410c 50%,#fb923c 50%)}.pal-lavender{background:linear-gradient(135deg,#6d28d9 50%,#a78bfa 50%)}
.pal-forest{background:linear-gradient(135deg,#166534 50%,#4ade80 50%)}.pal-ocean{background:linear-gradient(135deg,#1d4ed8 50%,#60a5fa 50%)}.pal-contrast{background:linear-gradient(135deg,#000 50%,#ffd60a 50%);border-color:#888}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.flip-in{transition:none}}

/* ECG strips: the paper stays light (pink grid) in every theme, framed so it sits cleanly on dark cards */
figure.strip{margin:12px 0}
.strip-btn{display:block;width:100%;padding:0;margin:0;border:1px solid #e2a0a0;border-radius:10px;overflow:hidden;background:#fff6f6;cursor:zoom-in;box-shadow:0 1px 3px var(--shadow)}
.strip-btn img{display:block;width:100%;height:auto}
.strip-btn:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
[data-theme=dark] .strip-btn{border-color:#f0b7b7}
figure.strip figcaption{font-size:.86rem;line-height:1.45;color:var(--muted);margin:.45em .1em 0}
figure.strip figcaption strong{display:block;color:var(--ink);font-size:.92rem}
.strip-note{font-size:.9rem}
.zoom{position:fixed;inset:0;z-index:60;background:rgba(10,14,24,.98);display:flex;flex-direction:column}
.zoom-bar{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:calc(8px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) 8px 10px}
.zoom-hint{color:#e5e7eb;font-size:.85rem;margin-right:auto}
.zoom-scroll{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:10px;display:flex;align-items:flex-start}
.zoom-scroll img{display:block;max-width:none;height:auto;background:#fff6f6;border-radius:8px;margin:auto 0}
body.noscroll{overflow:hidden}

/* StripWise Study skin (matches gumroad-page/index.html) */
:root,[data-theme=light]{--bg:#F7F9FB;--card:#FFFFFF;--ink:#0F1B2D;--muted:#334155;--line:#E2E8F0;--brand:#0F766E;--brand-soft:#CCFBF1;--ecg:#14B8A6}
[data-theme=dark]{--bg:#0F1B2D;--card:#16263D;--card-2:#1B2E48;--ink:#F7F9FB;--muted:#A9B6C8;--line:#24384F;--brand:#5EEAD4;--on-brand:#0F1B2D;--brand-soft:#123b44;--ecg:#39FF14;--top:rgba(15,27,45,.92)}
html,body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3,.brand{font-family:"Montserrat","Inter",system-ui,sans-serif;font-weight:800}
.btn.primary{background:#14B8A6;border-color:#14B8A6;color:#0F1B2D;font-weight:600}
.sw-hero{padding:18px 0 4px}.sw-hero h1{font-size:1.8rem;line-height:1.15}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600;color:var(--brand);margin:0}
.ecg-line{width:100%;height:40px;margin:12px 0}
.search{display:flex;gap:8px;margin:12px 0}.search input{flex:1;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.tool-grid .card{margin:0}.tool h3{margin:.5em 0 .2em}
