:root{--paper:#FAF3E8;--paper-card:#FFFDF8;--ink:#1C2A22;--ink-soft:#3A4A40;--sage:#6B7A72;--accent:#E1442F;--accent-deep:#C4331F;--flame:#F2B01E;--flame-deep:#E9A21A;--green:#1F5138;--blue:#16468F;--blue-mid:#2F7CA8;--blush:#F0A69C;--pink:#F6CBD2;--mint:#C3DFBE;--tier-parents:#16468F;--tier-child:#1F5138;--tier-real:#E1442F;--tier-send:#F2B01E;--line:rgba(28,42,34,.08);--line-mid:rgba(28,42,34,.12);--line-strong:rgba(28,42,34,.16);--line-field:rgba(28,42,34,.34);--radius:3px;--radius-sheet:26px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--paper);color:var(--ink);font-family:Hanken Grotesk,system-ui,sans-serif;-webkit-font-smoothing:antialiased}body{min-height:100vh}.wrap{max-width:580px;margin:0 auto;padding:0 22px 88px}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:var(--radius)}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes glow{0%,to{opacity:1}50%{opacity:.72}}@keyframes pulseRing{0%{box-shadow:0 0 #e1442f73}to{box-shadow:0 0 0 22px #e1442f00}}@keyframes slideup{0%{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}.house{position:relative;display:block;flex:none}.house-hollow{position:absolute;left:2px;right:2px;top:2px;bottom:2px;background:var(--paper)}.house.unlit{opacity:.72}.house-body{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center}.house-windows{display:grid}.pane{display:block}@media(prefers-reduced-motion:no-preference){.pane.lit{animation:glow 4s infinite}}.hero{padding:48px 0 4px;text-align:center}.crest{display:flex;justify-content:center;gap:5px;margin-bottom:26px}.pennant{width:15px;height:19px;clip-path:polygon(50% 0,100% 34%,100% 100%,0 100%,0 34%)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-mid)}.hero h1{font-family:Fraunces,serif;font-optical-sizing:auto;font-weight:600;font-size:clamp(34px,10vw,44px);line-height:1.02;letter-spacing:-.02em;margin:12px 0 0;color:var(--green)}.hero h1 span{color:var(--accent-deep)}.hero p{font-family:Fraunces,serif;font-size:17px;line-height:1.5;color:var(--ink-soft);margin:16px auto 0;max-width:38ch;text-wrap:pretty}.jump{display:block;width:100%;margin:22px 0 0;padding:15px 18px;font-family:inherit;font-size:15px;font-weight:600;color:var(--paper-card);background:var(--accent);border:none;border-radius:var(--radius);cursor:pointer}.jump:hover{background:var(--accent-deep)}.stats{display:flex;gap:14px;margin:30px 2px 6px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}.stats .lit{color:var(--accent-deep)}.timeline{position:relative;padding-left:4px}.timeline:before{content:"";position:absolute;left:26px;top:12px;bottom:12px;width:2px;background:#1c2a2224}.year{position:relative;display:flex;align-items:center;gap:16px;width:100%;padding:9px 0;background:none;border:none;cursor:pointer;text-align:left;color:inherit;font-family:inherit;animation:riseIn .5s both}@media(prefers-reduced-motion:reduce){.year{animation:none}}.year .plot{width:44px;height:44px;flex:none;position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.year .body{flex:1;min-width:0}.year .top{display:flex;align-items:baseline;gap:9px}.year .age{font-family:Fraunces,serif;font-weight:600;font-size:22px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.year .label{font-size:14px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.year .state{font-size:12.5px;margin-top:2px;color:var(--sage)}.year.lit .state{color:var(--accent-deep)}.year .chev{font-size:18px;color:#1c2a224d}.year:hover .chev{color:var(--accent)}.year.pending .state{opacity:.6}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1c2a2257;display:none;align-items:flex-end;justify-content:center}.overlay.open{display:flex}.sheet{position:relative;width:100%;max-width:580px;background:var(--paper-card);border:1px solid var(--line-strong);border-bottom:none;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding:14px 22px 30px;max-height:92vh;overflow-y:auto;box-shadow:0 24px 60px -30px #1c2a2266;animation:slideup .35s cubic-bezier(.2,.7,.2,1)}@media(prefers-reduced-motion:reduce){.sheet{animation:none}}@media(min-width:600px){.overlay{align-items:center}.sheet{border-radius:var(--radius-sheet);border-bottom:1px solid var(--line-strong);max-height:88vh}}.grip{width:46px;height:4px;border-radius:3px;background:#1c2a2233;margin:0 auto 22px}.close{position:absolute;top:16px;right:18px;width:32px;height:32px;border:1px solid var(--line-mid);border-radius:var(--radius);background:var(--paper);color:var(--sage);font-size:15px;cursor:pointer}.close:hover{color:var(--ink);border-color:var(--line-strong)}.detail-head{display:flex;align-items:center;gap:14px;padding-right:38px}.detail-head .plot{width:52px;height:52px;flex:none;display:flex;align-items:center;justify-content:center}.detail-head .who{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.detail-head .who .tally{color:var(--sage)}.detail-head .num{font-family:Fraunces,serif;font-weight:600;font-size:27px;line-height:1.1;color:var(--ink);margin-top:3px}.stage{margin-top:28px}.stage .prompt{font-family:Fraunces,serif;font-size:21px;line-height:1.4;color:var(--green);text-wrap:pretty}.recorder{border-top:1px solid var(--line-mid);margin-top:26px;padding-top:24px}.recorder h3{font-family:Fraunces,serif;font-weight:600;font-size:19px;margin-bottom:4px}.recorder .hint{font-size:14.5px;line-height:1.6;color:var(--sage);margin-bottom:20px}.name-field{margin-bottom:18px}.name-field label{display:block;font-size:13.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:9px}.name-field .opt{color:var(--sage);font-weight:600;letter-spacing:.06em}.name-field input,.note-area{width:100%;background:var(--paper-card);border:1.5px solid var(--line-field);border-radius:var(--radius);color:var(--ink);font-family:inherit;font-size:17px;padding:14px 15px}.name-field input::placeholder,.note-area::placeholder{color:var(--sage);opacity:1}.name-field input:focus,.note-area:focus{outline:none;border-color:var(--accent)}.note-area{resize:vertical;min-height:104px;line-height:1.55;margin-bottom:14px}.char-count{font-size:12px;color:var(--sage);text-align:right;margin:-8px 0 14px}.char-count.over{color:var(--accent-deep);font-weight:600}.rec-stage{display:flex;align-items:center;gap:18px;padding:18px;background:var(--paper);border:1.5px solid var(--line-field);border-radius:var(--radius)}.rec-btn{width:62px;height:62px;flex:none;border-radius:50%;border:none;cursor:pointer;background:var(--accent);display:grid;place-items:center;color:var(--paper-card)}.rec-btn:hover{background:var(--accent-deep)}.rec-btn .mic{width:19px;height:26px}.rec-btn .square{width:20px;height:20px;border-radius:4px;background:var(--paper-card)}@media(prefers-reduced-motion:no-preference){.rec-btn.recording{animation:pulseRing 1.8s infinite}}.rec-read{flex:1;min-width:0}.rec-read .timer{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep)}.rec-read .timer.idle{color:var(--ink-soft)}.meter{height:6px;margin-top:10px;border-radius:3px;background:#1c2a221f;overflow:hidden}.meter i{display:block;height:100%;background:var(--flame);transition:width .3s linear}.rec-read .sub{font-size:13px;color:var(--sage);margin-top:8px}.playback{margin-top:4px}.playback audio{width:100%}.pb-actions{display:flex;gap:10px;margin-top:20px}.btn{padding:14px 20px;font-family:inherit;font-size:15px;font-weight:600;border-radius:var(--radius);cursor:pointer;background:transparent;color:var(--green);border:1.5px solid rgba(31,81,56,.35)}.btn:hover:not(:disabled){border-color:var(--green)}.btn.primary{flex:1;background:var(--accent);border-color:var(--accent);color:var(--paper-card)}.btn.primary:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.full{width:100%}.fallback-toggle{display:block;margin:18px auto 0;background:none;border:none;cursor:pointer;color:var(--blue);font-family:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px}.fallback-toggle:hover{color:var(--accent-deep)}.notice{background:#f2b01e24;border:1px solid rgba(233,162,26,.5);border-radius:var(--radius);padding:13px 15px;font-size:13.5px;line-height:1.55;color:var(--ink);margin-bottom:18px}.notice.bad{background:#e1442f17;border-color:#c4331f66}.sealed-confirm{text-align:center;padding:26px 6px 6px}.sealed-confirm .seal{display:flex;justify-content:center;gap:6px;margin-bottom:22px}.sealed-confirm .seal span{width:20px;height:25px;clip-path:polygon(50% 0,100% 34%,100% 100%,0 100%,0 34%)}.sealed-confirm h3{font-family:Fraunces,serif;font-weight:600;font-size:26px;line-height:1.15;color:var(--green);margin-bottom:10px}.sealed-confirm p{font-size:14.5px;line-height:1.6;color:var(--ink-soft);max-width:36ch;margin:0 auto 24px}.foot{text-align:center;color:var(--sage);font-size:12.5px;margin-top:52px;line-height:1.65}.foot b{color:var(--ink-soft);font-weight:600}@media(max-width:360px){.wrap{padding:0 16px 64px}.sheet{padding:14px 18px 28px}.rec-stage{gap:14px;padding:15px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
