*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}html.hl-locked{overflow:hidden}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:clip}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}p{margin:0}h1,h2,h3{text-wrap:balance;margin:0;font-weight:500}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}main>section,main>footer{overflow-x:clip}.gate{z-index:100;animation:0s linear 8s forwards ks-gate-failsafe;position:fixed;inset:0}.hl-ready .gate{animation:none}@keyframes ks-gate-failsafe{to{visibility:hidden;opacity:0;pointer-events:none}}@media (scripting:none){.gate{display:none!important}}.gate-skip{top:calc(10px + env(safe-area-inset-top,0px));z-index:6;min-width:44px;min-height:44px;font:500 .7rem var(--f-sans);letter-spacing:.2em;text-transform:uppercase;opacity:.8;background:0 0;border:1px solid;border-radius:999px;padding:0 16px;position:absolute;right:12px}.note-bar{z-index:45;background:var(--ink);color:var(--bg);font:500 .66rem var(--f-sans);letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:0 16px;display:flex;position:relative}.note-bar span{padding:12px 0}.note-bar a{color:inherit;align-items:center;min-height:44px;display:inline-flex}.btn{background:var(--primary);min-height:50px;color:var(--on-primary);font:500 .72rem var(--f-sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 26px;text-decoration:none;transition:transform .14s cubic-bezier(.22,1,.36,1);display:inline-flex}.btn:active{transform:scale(.97)}.btn.ghost{color:var(--primary);box-shadow:inset 0 0 0 1px var(--accent-2);background:0 0}.btn.small{min-height:44px;padding:10px 16px;font-size:.64rem}.btn.block{width:100%}.chip{border:1px solid var(--line);background:var(--card);min-width:44px;min-height:44px;color:var(--primary);font:500 .64rem var(--f-sans);letter-spacing:.18em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 13px;display:inline-flex}.chip svg.i{width:15px;height:15px}.chip[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}svg.i{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.ks-countdown{text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.cd{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;display:grid}.cell{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:16px 4px 12px;display:flex}.num{font:400 clamp(2.2rem, 10vw, 3.2rem)/1 var(--f-serif);font-variant-numeric:tabular-nums lining-nums;color:var(--primary);display:flex}.slot{padding-block:.08em;display:inline-grid;overflow:hidden}.dg{will-change:transform, opacity;grid-area:1/1;display:block}.lbl{font:500 .56rem var(--f-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}.form{flex-direction:column;gap:18px;padding:24px;display:flex}fieldset.plain{border:0;flex-direction:column;gap:18px;min-width:0;margin:0;padding:0;display:flex}fieldset.plain:disabled{opacity:.55}.field{text-align:left;flex-direction:column;gap:6px;display:flex}.field>label,.field legend{font:500 .64rem var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink)}.field input,.field textarea{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);font:400 1.05rem var(--f-sans);border-radius:14px;min-height:50px;padding:13px 14px}.field textarea{resize:vertical;min-height:100px}.field input:focus,.field textarea:focus{outline:2px solid var(--accent-2);outline-offset:0;border-color:var(--accent)}.field [aria-invalid=true]{border-color:var(--alert)}.err{font:400 .82rem var(--f-sans);color:var(--alert)}.err:empty{display:none}.choices{border:0;grid-template-columns:repeat(2,1fr);gap:8px;margin:0;padding:0;display:grid}.choices legend{margin-bottom:8px;padding:0}.choice{position:relative}.choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice span{text-align:center;border:1px solid var(--line);background:var(--card);min-height:54px;font:500 .82rem/1.3 var(--f-sans);border-radius:14px;justify-content:center;align-items:center;padding:8px;display:flex}.choice input:checked+span{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.extras{flex-direction:column;gap:18px;display:flex}.stepper{border:1px solid var(--line);background:var(--card);border-radius:14px;align-items:center;width:max-content;display:flex}.stepper button{width:52px;height:50px;font:400 1.4rem var(--f-sans);color:var(--primary);cursor:pointer;background:0 0;border:0}.stepper input{text-align:center;width:56px;min-height:50px;font:500 1.2rem var(--f-sans);appearance:textfield;color:var(--ink);background:0 0;border:0;border-radius:0;padding:0}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.banner{color:#7a3a1a;font:400 .88rem/1.5 var(--f-sans);background:#f6e3d4;border-radius:12px;margin:16px 24px 0;padding:12px 14px}.banner.ok{color:#2e6b47;background:#e3eddc}.banner.note{border:1px dashed var(--accent);color:var(--muted);background:0 0}.done{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:10px;margin:24px;padding:24px;display:flex}.done .tick{background:var(--primary);width:56px;height:56px;color:var(--on-primary);font:400 1.6rem var(--f-sans);border-radius:50%;place-items:center;display:grid}.done dl{font:400 .92rem var(--f-sans);text-align:left;grid-template-columns:auto auto;gap:4px 14px;margin:6px 0 0;display:grid}.done dt{color:var(--muted)}.done dd{margin:0}.wlist{flex-direction:column;gap:12px;margin:4px 0 0;padding:0 24px 24px;list-style:none;display:flex}.wish{background:var(--card);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:16px;padding:18px 20px}.wish p{font-size:1.15rem;font-style:italic}.wish small{font:500 .62rem var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink);margin-top:6px;display:block}.wish.enter{animation:.7s cubic-bezier(.22,1,.36,1) both ks-wish-in}@keyframes ks-wish-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}.counter{font:400 .74rem var(--f-sans);color:var(--muted);text-align:right}.empty-wishes{padding:8px 24px;font-style:italic}.ks-wishes .more{margin:16px auto 24px;display:flex}.scrim{z-index:60;background:#0a0a0a80;position:fixed;inset:0}.sheet{z-index:61;background:var(--bg);width:min(100%,480px);color:var(--ink);padding:10px 22px calc(22px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;flex-direction:column;gap:8px;max-height:88svh;display:flex;position:fixed;bottom:0;left:50%;overflow:auto;transform:translate(-50%)}.sheet .grab{background:var(--line);border-radius:2px;width:40px;height:4px;margin:0 auto 6px}.share-acts{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;display:grid}.share-acts a,.share-acts button{border:1px solid var(--line);background:var(--card);min-height:76px;color:var(--primary);font:500 .62rem var(--f-sans);letter-spacing:.14em;text-transform:uppercase;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;text-decoration:none;display:flex}.share-acts svg.i{width:22px;height:22px}@media (prefers-reduced-motion:reduce){.wish.enter{animation:none}.btn{transition:none}}
