:root{--charcoal:#3c3c3c;--ink:#4a4a4a;--gray:#cbcbcb;--ivory:#ffffe3;--slate:#6d8196;--slate-deep:#556478;--serif:"Lora", Georgia, "Times New Roman", serif;--hair:1px solid #3c3c3cd9;--r:14px;--r-sm:10px;--shadow-card:0 14px 34px #23232333;--shadow-soft:0 8px 20px #23232329;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{background:var(--gray);height:100%;color:var(--ink);font-family:var(--serif);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#stage{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#cam{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.vignette{pointer-events:none;z-index:1;background:radial-gradient(125% 105% at 50% 40%,#0000 56%,#28282847 100%);position:fixed;inset:0}.grain{pointer-events:none;z-index:2;opacity:.1;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.bar{z-index:4;top:calc(18px + var(--safe-top));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:0 20px;display:flex;position:fixed;left:0;right:0}.bar>*{pointer-events:auto}.brand{color:var(--ivory);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand .mark{filter:drop-shadow(0 2px 10px #1e1e1e99);flex:none}.wordmark{flex-direction:column;display:flex}.wordmark .name{letter-spacing:-.01em;text-shadow:0 2px 14px #191919cc,0 0 3px #191919a6;font-size:30px;font-weight:600;line-height:.98}.wordmark .name em{color:#cfd6df;font-style:italic;font-weight:500}.wordmark .tagline{letter-spacing:.3em;text-transform:uppercase;color:var(--ivory);opacity:.85;text-shadow:0 1px 8px #191919d9;margin-top:6px;font-size:10px;font-weight:500}.scrim{z-index:3;pointer-events:none;background:linear-gradient(#1212189e 0%,#12121857 45%,#12121814 78%,#0000 100%);height:34vh;position:fixed;top:0;left:0;right:0}.coach{text-align:right;pointer-events:none;width:min(370px,52vw)}.coach-head{justify-content:flex-end;align-items:baseline;gap:10px;display:flex}.coach .step{letter-spacing:.24em;text-transform:uppercase;color:#c9d2dc;text-shadow:0 1px 9px #121218e6;font-size:11px;font-weight:600}.coach .state{letter-spacing:.16em;text-transform:uppercase;color:var(--ivory);opacity:.82;text-shadow:0 1px 9px #121218e6;font-size:11px;font-weight:500}.coach .hint{letter-spacing:-.005em;color:var(--ivory);text-shadow:0 2px 16px #121218f2,0 0 3px #121218cc;min-height:2.6em;margin:8px 0 12px auto;font-size:clamp(17px,1.55vw,21px);font-weight:500;line-height:1.3}.coach .hint.soft{opacity:.92;font-style:italic;font-weight:400}.gauge{justify-content:flex-end;align-items:center;gap:12px;display:flex}.gauge .left{letter-spacing:.04em;color:var(--ivory);opacity:.85;text-shadow:0 1px 8px #121218e6;font-size:11px;font-style:italic}.meter{background:#ffffe352;width:150px;height:3px;position:relative;overflow:hidden}.meter span{background:var(--slate);width:0;height:100%;transition:width .12s linear;display:block}.meter.loading span{background:#ffffe3cc}.coach .debug{color:var(--ivory);opacity:.8;letter-spacing:.02em;text-shadow:0 1px 7px #121218d9;margin:9px 0 0;font-size:11px}@keyframes caption-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.coach .hint.enter,.coach .step.enter{animation:.28s cubic-bezier(.2,.7,.3,1) both caption-in}.btn{font-family:var(--serif);letter-spacing:.08em;text-transform:uppercase;border:var(--hair);border-radius:var(--r-sm);cursor:pointer;justify-content:center;align-items:center;font-weight:600;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,color .16s;display:inline-flex}.btn-ghost{letter-spacing:.14em;color:var(--ivory);text-shadow:0 1px 8px #121218d9;background:0 0;border:0;border-radius:0;flex:none;padding:2px 0;font-size:11px}.btn-ghost:hover{color:#c9d2dc;text-underline-offset:4px;text-decoration:underline}.btn-cta{width:100%;color:var(--ivory);background:var(--slate);border-color:var(--slate-deep);box-shadow:var(--shadow-soft);padding:16px 18px;font-size:14px}.btn-cta:hover{background:var(--slate-deep);transform:translateY(-2px);box-shadow:0 12px 26px #2323233d}.btn-cta:active{box-shadow:var(--shadow-soft);transform:translateY(0)}.btn-cta:disabled{background:var(--gray);color:#6f6f6f;border-color:var(--gray);box-shadow:none;cursor:progress;transform:none}.btn:focus-visible,.foot a:focus-visible{outline:2px solid var(--slate);outline-offset:3px}@keyframes sheet-in{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}.sheet{z-index:4;width:min(500px,100vw - 36px);max-height:calc(100dvh - 100px - var(--safe-top) - var(--safe-bottom));background:var(--ivory);border:var(--hair);border-radius:var(--r);padding:34px 34px 28px;transition:opacity .3s,transform .3s;animation:.4s cubic-bezier(.2,.7,.3,1) both sheet-in;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 30px 70px #1e1e1e57}.sheet.leaving{opacity:0;pointer-events:none;animation:none;transform:translate(-50%,-47%)}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--slate-deep);align-items:center;gap:9px;margin:0 0 16px;font-size:11px;font-weight:600;display:flex}.eyebrow .tick{background:var(--slate);border-radius:50%;width:8px;height:8px;display:inline-block}.eyebrow .badge{border:1.5px solid var(--charcoal);letter-spacing:.12em;color:var(--charcoal);border-radius:999px;margin-left:auto;padding:3px 9px;font-size:11px}.age-q{color:var(--charcoal);margin:0 0 8px;font-size:20px;font-weight:600}.age .fine{margin:0 0 18px;font-style:normal}.age .fine b{color:var(--charcoal);font-weight:600}.age-actions{grid-template-columns:1fr auto;align-items:stretch;gap:10px;display:grid}.age-actions .btn-ghost{color:var(--charcoal);border:var(--hair);border-radius:var(--r-sm);text-shadow:none;background:0 0;padding:0 22px;font-size:13px}.age-actions .btn-ghost:hover{background:var(--charcoal);color:var(--ivory);text-decoration:none}.sheet h1{letter-spacing:-.02em;color:var(--charcoal);margin:0 0 24px;font-size:clamp(34px,6vw,50px);font-weight:600;line-height:1.03}.sheet h1 em{color:var(--slate);font-style:italic;font-weight:500}.steps{border-top:var(--hair);gap:16px;margin:0 0 22px;padding:24px 0 4px;list-style:none;display:grid}.steps li{color:var(--ink);align-items:flex-start;gap:15px;font-size:15px;line-height:1.5;display:flex}.steps .num{background:var(--slate);width:32px;height:32px;color:var(--ivory);border-radius:50%;flex:none;place-items:center;font-size:13px;font-style:italic;font-weight:600;display:grid}.fine{color:#6f6f6f;margin:16px 0 0;font-size:13px;font-style:italic;line-height:1.5}.fine.error{color:#9a4a3a;font-style:normal;font-weight:600}.demo-link{color:var(--slate-deep);text-shadow:none;margin:12px auto 0;display:block}.demo-link:hover{color:var(--charcoal)}.sheet.finish .fine{margin:-8px 0 22px;font-style:normal}.foot{z-index:4;left:0;right:0;bottom:calc(16px + var(--safe-bottom));pointer-events:none;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed}.foot .legal{text-align:right;letter-spacing:.04em;max-width:34vw;color:var(--ivory);opacity:.85;text-shadow:0 1px 8px #121218e6;margin:0;font-size:11px;line-height:1.45;position:absolute;bottom:0;right:18px}.foot-btn,.foot a{pointer-events:auto;font-family:var(--serif);letter-spacing:.01em;color:var(--charcoal);background:var(--ivory);border:var(--hair);border-radius:999px;align-items:center;gap:9px;padding:9px 16px 9px 18px;font-size:13px;font-weight:500;text-decoration:none;transition:background .16s,color .16s;display:inline-flex}.foot-btn{cursor:pointer;padding:9px 18px}.foot-btn:hover,.foot a:hover{background:var(--charcoal);color:var(--ivory)}.foot-btn:focus-visible{outline:2px solid var(--slate);outline-offset:3px}.foot .li{color:var(--slate);flex:none;transition:color .16s}.foot a:hover .li,.foot a:hover .heart{color:var(--ivory)}.heart{color:var(--slate);display:inline-block}.foot .sibling .arrow{color:var(--slate);font-size:12px;transition:color .16s}.foot .sibling:hover .arrow{color:var(--ivory)}.pack-dock{left:24px;top:calc(94px + var(--safe-top));z-index:4;max-width:calc(100vw - 28px);animation:.4s cubic-bezier(.2,.7,.3,1) .1s both caption-in;position:fixed}.pack-open{min-width:232px;max-width:100%;color:var(--ink);background:var(--ivory);border:var(--hair);box-shadow:var(--shadow-card);cursor:pointer;font-family:var(--serif);text-align:left;border-radius:14px;align-items:center;gap:13px;padding:10px 17px 10px 10px;transition:transform .2s,box-shadow .2s;display:flex}.pack-open:hover{transform:translateY(-3px);box-shadow:0 18px 40px #23232340}.pack-open:focus-visible{outline:2px solid var(--slate-deep);outline-offset:6px}.pack-icon{border-right:1px solid #4a4a4a25;flex:none;place-items:center;width:40px;height:48px;padding-right:9px;display:grid}.pack-icon svg{width:34px;height:48px}.pack-open-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.eyebrow-sm{text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:600}.pack-current{font-size:17px;font-weight:600}.pack-current em{color:var(--slate-deep);font-weight:400}.pack-open-action{color:var(--slate-deep);align-self:flex-end;padding-bottom:3px;font-size:11px}.intro-pack-open{width:100%;min-width:0;box-shadow:none;background:#6d81960a;border-color:#6d819645;margin:0 0 12px;padding:10px 16px 10px 10px}.intro-pack-title{font-size:15px;font-weight:600}.intro-pack-current{color:var(--slate-deep);font-size:11px}@keyframes pack-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.pack-dialog{color:var(--ink);overscroll-behavior:contain;background:0 0;border:0;border-radius:18px;width:min(640px,100vw - 36px);max-height:calc(100dvh - 36px);padding:0;overflow:auto;box-shadow:0 30px 100px #14141866}.pack-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#16192285}.pack-dialog[open]{animation:.28s ease-out both pack-arrive}.pack-card{background:var(--ivory);border:var(--hair);border-radius:18px;flex-direction:column;max-height:calc(100dvh - 36px);padding:24px 32px 18px;display:flex}.pack-card>:not(.pack-grid){flex-shrink:0}.pack-menu-top{color:#74756a;justify-content:space-between;align-items:center;gap:12px;display:flex}.pack-close{width:36px;height:36px;font-family:var(--serif);color:var(--ink);cursor:pointer;background:0 0;border:1px solid #4a4a4a30;border-radius:50%;flex:none;place-items:center;font-size:25px;display:grid}.pack-close:hover{background:#4a4a4a0c}.pack-card h2{letter-spacing:-.05em;margin:9px 0 12px;font-size:clamp(28px,4vw,37px);font-weight:500;line-height:1.15}.pack-card h2 em{color:var(--slate-deep);font-weight:400}.pack-description{color:#737367;margin:0 0 18px;font-size:13px;line-height:1.7}.pack-grid{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#858571 #e6e6d4;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 16px;min-height:120px;max-height:420px;padding:6px 12px 8px 5px;display:grid;overflow-y:auto}.pack-choice{min-width:0;color:var(--ink);font-family:var(--serif);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;flex-direction:column;justify-content:flex-start;padding:0;display:flex}.pack-plinth{border-radius:var(--r);background:radial-gradient(120% 90% at 50% 20%,#9ea1b6 0%,#8a8da6 60%,#7f8299 100%);border:1px solid #4a4a4a30;height:164px;padding:10px 6px 4px;transition:transform .24s,box-shadow .24s;display:block;box-shadow:0 5px 14px #23232308}.pack-plinth svg{filter:drop-shadow(0 6px 8px #14141e40);width:100%;height:100%;transition:transform .3s cubic-bezier(.2,.7,.3,1);display:block}.pack-choice:hover .pack-plinth{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.pack-choice:hover .pack-plinth svg{transform:translateY(-3px)rotate(-2deg)}.pack-choice[aria-checked=true] .pack-plinth{outline:2px solid var(--slate-deep);outline-offset:3px}.pack-choice:focus-visible{outline:2px solid var(--slate-deep);outline-offset:4px}.pack-choice-name{align-items:baseline;gap:5px;margin:10px 0 3px;font-size:13px;font-weight:600;display:flex}.pack-line{color:var(--slate-deep);margin-bottom:2px;font-size:11px;font-style:italic;display:block}.pack-smoke{vertical-align:-1px;background:radial-gradient(circle at 40% 40%, var(--pale), var(--smoke) 70%);width:11px;height:11px;box-shadow:0 0 0 1px #4a4a4a30, 0 0 6px var(--smoke);border-radius:50%;margin-left:6px;display:inline-block}.pack-check{opacity:0;color:var(--slate-deep);margin-left:auto}.pack-choice[aria-checked=true] .pack-check{opacity:1}.pack-note{color:#75756c;font-size:10px;line-height:1.5;display:block}.pack-menu-bottom{border-top:1px solid #4a4a4a25;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;padding-top:12px;display:flex}.pack-menu-bottom>span{color:#75756c;font-size:11px;font-style:italic}.pack-actions{gap:8px;display:flex}.pack-actions button{min-height:38px;color:var(--slate-deep);font-family:var(--serif);cursor:pointer;background:0 0;border:1px solid #6d819645;border-radius:999px;padding:6px 14px;font-size:12px}.pack-actions button:hover{background:#6d81960e}.pack-actions button.primary{background:var(--ink);color:var(--ivory);border-color:var(--ink)}@media (width<=760px){.pack-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pack-dock{top:auto;left:auto;right:14px;bottom:calc(32px + 75px + var(--safe-bottom))}.pack-dock .pack-open{gap:0;min-width:0;padding:9px}.pack-dock .pack-open-copy,.pack-dock .pack-open-action{display:none}.pack-dock .pack-icon{border-right:0;width:34px;padding-right:0}}@media (width<=680px){.bar{top:calc(12px + var(--safe-top));flex-direction:column;align-items:stretch;gap:10px;padding:0 14px}.brand{align-self:flex-start}.wordmark .name{font-size:24px}.scrim{height:40vh}.coach{text-align:left;width:auto}.coach-head,.gauge{justify-content:flex-start}.coach .hint{max-width:22em;min-height:0;margin:7px auto 11px 0;font-size:17px}.sheet{top:auto;bottom:calc(32px + 75px + var(--safe-bottom));width:auto;max-height:calc(100dvh - 64px - 75px - var(--safe-top) - var(--safe-bottom));padding:26px 22px 22px;animation-name:sheet-up;left:14px;right:14px;transform:none}.sheet.leaving{transform:translateY(14px)}.foot{flex-wrap:wrap;padding:0 14px}.foot .legal{text-align:center;flex-basis:100%;max-width:none;margin-bottom:2px;position:static}.pack-dialog{width:100%;max-width:none;max-height:calc(100dvh - 18px - var(--safe-top));border-radius:22px 22px 0 0;margin:auto 0 0}.pack-card{padding:18px 22px calc(16px + var(--safe-bottom));max-height:calc(100dvh - 18px - var(--safe-top));border-radius:22px 22px 0 0}.pack-grid{column-gap:10px;max-height:320px}.pack-plinth{height:138px}.pack-choice-name{flex-wrap:wrap;font-size:11px}}@keyframes sheet-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (width<=400px){.wordmark .tagline{display:none}.pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.btn,.foot a,.foot-btn,.sheet,.pack-open,.pack-plinth,.pack-plinth svg{transition:none}.sheet,.pack-dock,.pack-dialog[open],.coach .hint.enter,.coach .step.enter{animation:none}.btn-cta:hover,.pack-open:hover,.pack-choice:hover .pack-plinth svg{transform:none}}
