:root{--ink:#2b2118;--paper:#fdf6e3;--accent:#ff7a66;--green:#5da354}*{box-sizing:border-box}body{margin:0;font-family:ui-rounded,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--paper);color:var(--ink)}.page{max-width:1060px;margin:0 auto;padding:20px 18px 60px}.page.theme-miracle{background:linear-gradient(180deg,#232a4a,#fdf6e3 340px)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:8px 0 18px}.brand{font-weight:900;letter-spacing:3px;text-decoration:none;color:var(--ink)}.theme-miracle .brand{color:#f5f0ff}.theme-miracle .topbar .mode-toggle{background:rgba(255,255,255,.14)}.mode-toggle{display:inline-flex;background:#efe3c2;border-radius:999px;padding:4px;gap:4px}.mode-toggle button{border:0;background:transparent;padding:7px 14px;border-radius:999px;font:inherit;font-size:14px;cursor:pointer;color:var(--ink)}.mode-toggle button.active{background:#fff;font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.15)}.mode-toggle.big{margin:14px 0 4px}.tribute-note{font-size:13.5px;opacity:.85;margin:0 0 8px}.hero{display:grid;grid-template-columns:340px 1fr;grid-gap:28px;gap:28px;align-items:start}@media (max-width:760px){.hero{grid-template-columns:1fr}}.palmer-stage{position:relative}.palmer-svg{width:100%;height:auto;display:block}.dance-badge{position:absolute;top:8px;left:8px;background:#8b7cf6;color:#fff;font-size:12.5px;font-weight:800;letter-spacing:1.5px;padding:5px 11px;border-radius:999px;transform:rotate(-4deg)}.dance-badge.party{background:var(--accent)}.hero-copy h1{font-size:42px;line-height:1.05;margin:8px 0 10px}.pill{display:inline-block;background:#fff;border:2px solid var(--ink);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;margin:0}.hang-clock{font-size:21px;margin:6px 0}.demo-note{font-size:13px;opacity:.6}.stage-line{font-size:17px;margin:6px 0}.dance-caption{font-size:16px;font-style:italic;color:#6a4fd0;margin:8px 0}.dance-caption.party{color:#d6495b;font-weight:700;font-style:normal}.already{font-weight:700;font-size:17px}.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 6px;align-items:center}.btn{font:inherit;font-weight:700;font-size:16px;border:2px solid var(--ink);background:#fff;color:var(--ink);border-radius:999px;padding:11px 22px;cursor:pointer;text-decoration:none}.btn.primary{background:var(--accent);border-color:#d6495b;color:#fff;font-size:18px;padding:13px 28px}.btn.small{font-size:14px;padding:7px 15px}.btn.ghost{border-color:#bbb;color:#777}.btn:disabled{opacity:.6;cursor:wait}.copied{color:var(--green);font-weight:700}.error{color:#c0392b;font-weight:600}.truth-line{font-size:13.5px;opacity:.75;max-width:52ch}.keepsake,.pile-section,.why-card,.wook-card{background:#fff;border:2px solid #eadfbe;border-radius:18px;padding:20px 22px;margin-top:26px}.pile-tray{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.hand-chip{gap:7px;border:2px solid #e3d5ac;border-radius:999px;padding:5px 12px 5px 6px;background:#fffdf4;font-size:14px}.hand-chip,.hand-swatch{display:inline-flex;align-items:center}.hand-swatch{width:30px;height:30px;border-radius:50%;justify-content:center;font-size:16px;border:2px solid rgba(0,0,0,.15)}.hand-num{font-weight:800}.hand-title{opacity:.75}.hand-mine{border-color:var(--accent)}.hand-highlight{box-shadow:0 0 0 4px rgba(255,122,102,.45)}.my-hand-row{display:flex;gap:9px;margin-top:16px;align-items:center;flex-wrap:wrap}.my-hand-note{font-size:14.5px;font-weight:600}.milestone-note{opacity:.75;font-size:14.5px}.keepsake-card{border:2px dashed #c9b678;border-radius:14px;padding:14px 18px;background:#fffdf4}.keepsake-note{font-size:14px;opacity:.8}.never-expires{font-weight:700}.wook-card{display:flex;gap:18px;align-items:flex-start}.wook-svg{width:104px;flex:none}.wook-line{font-size:16.5px;margin:4px 0}.wook-beat{margin:4px 0;opacity:.85}.wook-glossary{font-size:13px;opacity:.65}.footer{margin-top:34px;font-size:13.5px;opacity:.7;text-align:center}.footer a{color:var(--green);font-weight:700}.footer-link{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:var(--green);font-weight:700;text-decoration:underline}.footer-link:disabled{opacity:.6;cursor:wait}.palmer-wrap{position:relative}.raised-arm{transform-origin:200px 210px;animation:armTremble 2.6s ease-in-out infinite}.free-arm{transform-origin:90px 246px}.palmer-body{transform-origin:150px 300px}@keyframes armTremble{0%,to{transform:rotate(0deg)}50%{transform:rotate(1.6deg)}}.is-dancing .palmer-body{animation:danceGroove .56s ease-in-out infinite}.is-dancing .free-arm{animation:dancePoint .56s ease-in-out infinite}.is-dancing .raised-arm{animation:armWobbleDanger .56s ease-in-out infinite}@keyframes danceGroove{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-7px) rotate(-2deg)}75%{transform:translateY(-7px) rotate(2deg)}}@keyframes dancePoint{0%,to{transform:rotate(0deg)}50%{transform:rotate(-38deg)}}@keyframes armWobbleDanger{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}.is-celebrating .palmer-body{animation:danceParty .42s ease-in-out infinite}.is-celebrating .party-arm{transform-origin:96px 218px;animation:dancePoint .42s ease-in-out infinite}.is-celebrating .raised-arm{animation:armParty .42s ease-in-out infinite}@keyframes danceParty{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-14px) scale(1.03)}}@keyframes armParty{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.sweat-drop{animation:sweatFall 1.6s ease-in infinite}@keyframes sweatFall{0%{opacity:0;transform:translateY(0)}25%{opacity:1}to{opacity:0;transform:translateY(16px)}}.zzz text{animation:sweatFall 2.6s ease-in-out infinite}.note{animation:noteFloat 1.1s ease-in-out infinite}.note.n2{animation-delay:.25s}.note.n3{animation-delay:.5s}@keyframes noteFloat{0%,to{transform:translateY(0);opacity:.65}50%{transform:translateY(-9px);opacity:1}}