/* pulsebycam — cute-minimal indie, soft cherry red. Quicksand, rounded, flat. */
:root{--bg:#fdf1f1;--card:#fff;--ink:#4d3535;--dim:#b58f8f;--line:#f6dede;--accent:#e06a6a;--accent-ink:#c94f4f;--soft:#fbe1e1;--accent2:#f0a8a8;--shadow:0 6px 24px rgba(200,80,80,.10);--sans:"Quicksand",ui-rounded,system-ui,-apple-system,sans-serif;--mono:ui-monospace,Menlo,Consolas,monospace}
*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;font-weight:500}
a{color:var(--accent-ink)}a:hover{color:var(--ink)}h1,h2,h3,.mark{font-weight:700;letter-spacing:-.01em}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}
.top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;max-width:820px;margin:0 auto;padding:22px 20px 14px}
.top .mark{font-size:1.35rem;color:var(--ink);text-decoration:none;font-weight:700}.top .mark b{color:var(--accent)}.top .tag{font-size:.8rem;color:var(--dim)}
.top nav{margin-left:auto;display:flex;gap:16px;font-size:.88rem}.top nav a{color:var(--dim);text-decoration:none}.top nav a:hover{color:var(--accent)}.top nav a.here{color:var(--ink)}
.pad-t{padding-top:20px}.card{background:var(--card);border-radius:20px;box-shadow:var(--shadow);padding:22px}
.btn{appearance:none;cursor:pointer;font:700 .95rem var(--sans);color:#fff;background:var(--accent);border:none;border-radius:999px;padding:12px 26px;box-shadow:0 4px 14px rgba(224,106,106,.35)}.btn:hover{background:var(--accent-ink);transform:translateY(-1px)}
.btn.soft{background:var(--soft);color:var(--accent-ink);box-shadow:none}.btn.small{font-size:.82rem;padding:9px 16px}
.tb{appearance:none;cursor:pointer;font:700 .8rem var(--sans);border:1.5px solid var(--line);background:var(--soft);color:var(--accent-ink);border-radius:999px;padding:8px 14px}
.reading{text-align:center;padding:6px 0}.reading .big{font-size:4rem;font-weight:700;line-height:1;color:var(--accent)}.reading .unit{color:var(--dim);font-size:1rem}
#wave{display:block;width:100%;height:90px;background:#fffafa;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--line);margin:10px 0}
.prog{height:8px;background:var(--soft);border-radius:999px;overflow:hidden}.prog div{height:100%;width:0;background:var(--accent);border-radius:999px;transition:width .2s}
video{display:none}
.note{background:var(--soft);border-radius:14px;padding:12px 16px;font-size:.86rem;color:var(--accent-ink);margin:14px 0}
.line{text-align:center;font-size:.85rem;color:var(--dim);margin:10px 0;min-height:1.3em}
h2{font-size:1.4rem;margin:40px 0 10px}p{margin-bottom:12px}ol,ul{margin:0 0 12px 22px}li{margin-bottom:6px}.dimt{color:var(--dim)}
.card2{background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:18px 22px;margin:24px 0}.card2 .sig{text-align:right;color:var(--dim);font-size:.85rem;margin-top:8px}
.q{border-top:1.5px solid var(--line);padding:12px 0}.q h3{font-size:1rem;margin-bottom:4px}.q p{color:var(--dim);font-size:.9rem;margin:0}
.related{margin-top:40px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:620px){.cards{grid-template-columns:1fr}}
.cards a{display:block;background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:16px;color:var(--ink);text-decoration:none}.cards a:hover{transform:translateY(-2px)}.cards b{display:block;margin-bottom:2px}.cards span{color:var(--dim);font-size:.82rem}
.posts a{display:block;background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:14px 18px;margin-bottom:10px;color:var(--ink);text-decoration:none}.posts a:hover{transform:translateY(-2px)}.posts b{display:block;font-size:1.02rem}.posts span{color:var(--dim);font-size:.85rem}.posts time{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:6px}
article.essay h1{font-size:1.7rem;margin:22px 0 4px}article.essay .meta{color:var(--dim);font-size:.8rem;margin-bottom:16px}article.essay h2{font-size:1.25rem;margin:24px 0 8px}article.essay figure{margin:20px 0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}article.essay figure svg{display:block;width:100%;height:auto}article.essay figcaption{font-size:.78rem;color:var(--dim);padding:8px 14px;background:var(--card)}
footer{margin-top:44px;padding:22px 20px 34px;font-size:.82rem;color:var(--dim);text-align:center}footer .links{display:flex;gap:16px;justify-content:center;margin-bottom:8px;flex-wrap:wrap}footer a{color:var(--accent-ink);text-decoration:none}
[hidden]{display:none!important}@media(max-width:600px){.top nav{margin-left:0;width:100%;gap:14px}h2{font-size:1.2rem}}
/* history strip, tables, tap pad, pacer, zone slider */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.chip{background:var(--soft);color:var(--accent-ink);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:700}
.spark{display:block;width:100%;height:64px;background:#fffafa;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--line);margin:10px 0}
table.tbl{width:100%;border-collapse:collapse;font-size:.9rem;margin:12px 0}
table.tbl th,table.tbl td{text-align:left;padding:8px 10px;border-bottom:1.5px solid var(--line)}
table.tbl th{color:var(--dim);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.tappad{display:block;width:100%;padding:52px 20px;border:none;border-radius:26px;background:var(--accent);color:#fff;font:700 1.5rem var(--sans);cursor:pointer;box-shadow:0 6px 22px rgba(224,106,106,.4);-webkit-tap-highlight-color:transparent;user-select:none}
.tappad:active{transform:scale(.985);background:var(--accent-ink)}
.pacer{display:flex;flex-direction:column;align-items:center;padding:26px 0 10px}
.orb{width:170px;height:170px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f6bcbc,var(--accent));box-shadow:0 10px 34px rgba(224,106,106,.35)}
.phase{font-size:1.25rem;font-weight:700;color:var(--accent-ink);margin-top:20px;min-height:1.6em}
.count{color:var(--dim);font-size:.85rem;min-height:1.4em}
input[type=range]{width:100%;accent-color:var(--accent);margin:10px 0}
.agepick{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.agepick output{font-size:1.6rem;font-weight:700;color:var(--accent)}
.rowbtns{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
/* live camera preview + signal-quality meter (finding the right lens) */
#work video{display:block;width:118px;height:118px;object-fit:cover;border-radius:50%;margin:2px auto 10px;background:#1a0c0c;box-shadow:inset 0 0 0 3px var(--line)}
.qbar{height:10px;background:var(--soft);border-radius:999px;overflow:hidden;max-width:340px;margin:0 auto 6px}
#qfill{height:100%;width:0;background:var(--accent2);border-radius:999px;transition:width .25s,background .25s}
#qtext{margin:2px 0 6px;min-height:1.2em}
