@font-face{font-family:TT Supermolot Neue;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/supermolot/Supermolot-Light.woff2) format("woff2")}@font-face{font-family:TT Supermolot Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/supermolot/Supermolot-Regular.woff2) format("woff2")}@font-face{font-family:TT Supermolot Neue;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/supermolot/Supermolot-Medium.woff2) format("woff2")}@font-face{font-family:TT Supermolot Neue;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/supermolot/Supermolot-DemiBold.woff2) format("woff2")}@font-face{font-family:TT Supermolot Neue;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/supermolot/Supermolot-Bold.woff2) format("woff2")}@font-face{font-family:TT Supermolot Neue;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/supermolot/Supermolot-ExtraBold.woff2) format("woff2")}:root{--ink: #173557;--body-text: #575756;--ink-muted: #707079;--gold: #95c11f;--gold-warm: #7da018;--gold-subtle: #eef5db;--surface: #f6f8fb;--surface-raised: #ffffff;--night-top: #0e1f33;--night-bottom: #173557;--frost: #6f74b1;--pine: #95c11f;--ember: #f0b429;--candle: #fdf6e9;--line: #c8c8c8;--error: #8b3a3a;--error-surface: #f7eaea;--success: #95c11f;--success-surface: #eef5db;--brand-navy: #173557;--brand-purple: #6f74b1;--brand-lime: #95c11f;--font-display: "TT Supermolot Neue", ui-sans-serif, system-ui, sans-serif;--font-body: "TT Supermolot Neue", ui-sans-serif, system-ui, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Fira Code", Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--content-width: 580px;--content-padding: var(--sp-5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--body-text);background-color:var(--surface);min-height:100vh}:focus-visible{outline:2px solid var(--brand-purple);outline-offset:2px;border-radius:var(--radius-sm)}a{color:var(--ink);text-underline-offset:3px}a:hover{color:var(--ink);text-decoration:underline}.page-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:var(--sp-8) var(--content-padding) var(--sp-12);position:relative;z-index:1}.page-content{width:100%;max-width:var(--content-width);display:flex;flex-direction:column;gap:var(--sp-6)}.site-header{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding-bottom:var(--sp-2)}.wordmark{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;letter-spacing:-.03em;color:var(--ink);text-decoration:none;line-height:1}.wordmark-accent{color:var(--gold)}.site-tagline{font-size:var(--text-sm);color:var(--ink-muted);text-align:center;max-width:40ch;line-height:1.5}.card{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--sp-8);border-top:3px solid var(--gold)}.card-plain{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--sp-6) var(--sp-8)}h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}h2{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;color:var(--ink)}h3{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;color:var(--ink)}p{font-size:var(--text-base);color:var(--body-text);line-height:1.65}small{font-size:var(--text-xs);color:var(--ink-muted)}.section-heading{font-size:var(--text-sm);font-weight:600;color:var(--ink);margin-bottom:var(--sp-4)}.form-stack{display:flex;flex-direction:column;gap:var(--sp-5)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}label{font-size:var(--text-sm);font-weight:500;color:var(--ink)}input[type=text],input[type=email],input[type=number],input[type=date],select,textarea{width:100%;padding:var(--sp-3) var(--sp-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);transition:border-color .15s ease,box-shadow .15s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none}input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,input[type=date]:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-purple);box-shadow:0 0 0 3px #6f74b12e}input[type=text].field-error,input[type=email].field-error,input[type=number].field-error,textarea.field-error{border-color:var(--error);background:var(--error-surface)}textarea{resize:vertical;min-height:100px;line-height:1.6}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2371717a' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-4) center;padding-right:var(--sp-10)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-6);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;line-height:1;border-radius:var(--radius-md);border:none;cursor:pointer;text-decoration:none;transition:background-color .15s ease,transform .1s ease,box-shadow .15s ease;white-space:nowrap;min-height:44px}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--pine);color:var(--ink);font-weight:700}.btn-primary:hover{background:var(--gold-warm);box-shadow:0 6px 18px #95c11f59}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn-secondary:hover{background:var(--line)}.btn-danger{background:transparent;color:var(--error);border:1px solid transparent;padding:var(--sp-1) var(--sp-3);font-size:var(--text-sm)}.btn-danger:hover{border-color:var(--error);background:var(--error-surface)}.btn-full{width:100%}button:disabled,.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.alert{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.5}.alert-error{background:var(--error-surface);color:var(--error);border:1px solid rgba(220,38,38,.2)}.alert-success{background:var(--success-surface);color:var(--success);border:1px solid rgba(22,163,74,.2)}.alert-info{background:var(--gold-subtle);color:var(--ink);border:1px solid rgba(149,193,31,.4)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th{text-align:left;font-weight:600;font-size:var(--text-sm);color:var(--ink-muted);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line)}.data-table td{padding:var(--sp-3);border-bottom:1px solid var(--line);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--surface)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.status-dot-ok{background:var(--success)}.status-dot-empty{background:var(--line)}.stat-row{display:flex;gap:var(--sp-6);flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:var(--sp-1)}.stat-value{font-size:var(--text-2xl);font-family:var(--font-display);font-weight:400;color:var(--ink);line-height:1}.stat-label{font-size:var(--text-xs);color:var(--ink-muted)}.ideas-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-3)}.ideas-list li{display:flex;align-items:flex-start;gap:var(--sp-3);font-size:var(--text-base);line-height:1.5}.ideas-list li:before{content:"";display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-top:.55em;flex-shrink:0}.receiver-reveal{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);padding:var(--sp-8) var(--sp-6);text-align:center;background:var(--ink);border-radius:var(--radius-lg);color:var(--surface-raised)}.receiver-reveal-label{font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;color:var(--gold)}.receiver-reveal-name{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;letter-spacing:-.02em;color:var(--surface-raised);line-height:1.2}.locale-switch{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-sm);color:var(--ink-muted)}.locale-switch a{color:var(--ink-muted);text-decoration:none}.locale-switch a:hover{color:var(--ink)}.locale-switch-divider{color:var(--line)}.page-footer{margin-top:auto;padding-top:var(--sp-8);padding-bottom:var(--sp-10);display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center}.footer-made{font-size:var(--text-xs);color:var(--ink-muted)}.footer-made .footer-heart{color:#e2574c}.page-footer a{font-size:var(--text-sm);color:var(--ink-muted);text-decoration:none}.page-footer a:hover{color:var(--ink)}.footer-brand{font-size:var(--text-xs);color:var(--ink-muted)}.footer-brand strong{color:var(--ink)}fieldset{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}legend{font-size:var(--text-sm);font-weight:600;padding:0 var(--sp-2);color:var(--ink)}.consent-option{display:flex;align-items:flex-start;gap:var(--sp-3);font-size:var(--text-sm);color:var(--ink);cursor:pointer;line-height:1.5}.consent-option input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--gold);cursor:pointer}.consent-help,.consent-privacy-note{font-size:var(--text-xs);color:var(--ink-muted);line-height:1.5}.exclusions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp-2)}.exclusion-option{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer}.exclusion-option:hover{background:var(--surface);border-color:var(--line)}.exclusion-option input[type=checkbox]{accent-color:var(--gold)}.drawn-banner{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--gold-subtle);border:1px solid rgba(149,193,31,.45);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--ink);font-weight:500}.action-row{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.prose{display:flex;flex-direction:column;gap:var(--sp-5)}.prose h2{margin-bottom:var(--sp-1)}.prose p{color:var(--body-text)}.divider{border:none;border-top:1px solid var(--line)}.form-inline{display:inline}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(max-width:480px){:root{--content-padding: var(--sp-4)}.card{padding:var(--sp-6)}.card-plain{padding:var(--sp-5) var(--sp-6)}.wordmark,.receiver-reveal-name{font-size:var(--text-2xl)}.stat-row{gap:var(--sp-4)}.exclusions-grid{grid-template-columns:1fr}}.snow-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50}.reveal{display:flex;flex-direction:column}.giftbox{display:none}html.js .giftbox{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-6);background:transparent;border:none;cursor:pointer;width:100%}html.js .reveal-content,html.js .reveal-open .giftbox{display:none}html.js .reveal-open .reveal-content{display:block;animation:reveal-pop .5s cubic-bezier(.2,.8,.2,1) both}.giftbox-art{display:block;transform-origin:50% 80%;animation:gift-wiggle 2.2s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(23,53,87,.18))}.giftbox:hover .giftbox-art,.giftbox:focus-visible .giftbox-art{animation-play-state:paused;transform:scale(1.06);transition:transform .15s ease}.giftbox-cta{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--ink)}@keyframes gift-wiggle{0%,to{transform:rotate(0)}20%{transform:rotate(-5deg)}40%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}}@keyframes reveal-pop{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.giftbox-lid{transform-box:fill-box;transform-origin:center}.reveal-opening .giftbox-art{animation:gift-shake .26s ease-in-out both}.reveal-opening .giftbox-lid{animation:lid-lift .4s cubic-bezier(.3,.7,.2,1) .22s both}@keyframes gift-shake{0%,to{transform:rotate(0) scale(1)}20%{transform:rotate(-9deg) scale(1.05)}45%{transform:rotate(8deg) scale(1.05)}70%{transform:rotate(-5deg) scale(1.03)}}@keyframes lid-lift{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-58px) rotate(-14deg);opacity:0}}.reveal-open .receiver-reveal-name{background:linear-gradient(100deg,#ffffff 0%,#ffffff 42%,var(--ember) 50%,#ffffff 58%,#ffffff 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:name-shimmer 1.1s ease-out .25s both}@keyframes name-shimmer{0%{background-position:120% 0}to{background-position:-20% 0}}.site-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--surface);position:relative;z-index:1}.inner-header{background:linear-gradient(180deg,var(--night-top),var(--night-bottom))}.inner-header-inner{max-width:var(--content-width);margin:0 auto;padding:var(--sp-2) var(--content-padding) var(--sp-6);display:flex;justify-content:center}.inner-header .wordmark{font-size:var(--text-2xl);font-weight:700;color:#fff}.inner-main{width:100%;max-width:var(--content-width);margin:0 auto;padding:var(--sp-8) var(--content-padding) var(--sp-12);display:flex;flex-direction:column;gap:var(--sp-6)}.footer-brand-lockup{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;justify-content:center}.footer-logo{display:inline-flex;transition:opacity .15s ease}.footer-logo:hover{opacity:.7}.footer-brand-lockup img{width:auto}.logo-p4it{height:26px}.logo-amaiko{height:18px}.footer-brand-x{color:var(--line)}.garland{display:block;width:100%;height:auto;color:#fff6}.garland-bulb{animation:twinkle 3s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.5}}.garland-interactive .garland-bulb{--glow: 0;filter:drop-shadow(0 0 calc(8px * var(--glow)) var(--bulb));transition:filter .18s ease}.garland-interactive .bulb-halo{opacity:calc(.3 + .6 * var(--glow));transition:opacity .18s ease}.hero-band{background:linear-gradient(180deg,var(--night-top),var(--night-bottom));padding-bottom:var(--sp-16);overflow:hidden}.hero-inner{max-width:var(--content-width);margin:0 auto;padding:var(--sp-5) var(--content-padding) 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-4)}.hero-badge{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--pine);border:1px solid rgba(149,193,31,.4);border-radius:999px;padding:var(--sp-2) var(--sp-4)}.wordmark-hero{font-family:var(--font-display);font-size:clamp(2.75rem,11vw,4.75rem);font-weight:800;letter-spacing:-.045em;line-height:.95;color:#fff;text-decoration:none}.wordmark-hero .wordmark-accent{color:var(--pine)}.hero-headline{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:300;color:#ffffffeb;max-width:16ch;line-height:1.2}.hero-tagline{font-size:var(--text-sm);color:#ffffff9e;max-width:42ch;line-height:1.55}.hero-photo{position:relative;width:100%;margin-top:var(--sp-6);line-height:0}.hero-photo img{width:100%;aspect-ratio:16 / 8;object-fit:cover;object-position:center 22%;display:block}.hero-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,var(--night-bottom) 0%,rgba(23,53,87,0) 20%),linear-gradient(0deg,var(--night-bottom) 0%,rgba(23,53,87,0) 26%)}.home-main{width:100%;max-width:var(--content-width);margin:0 auto;padding:0 var(--content-padding) var(--sp-12);display:flex;flex-direction:column;gap:var(--sp-10)}.lit-card{margin-top:-64px;position:relative;z-index:2;background:linear-gradient(180deg,#ffffff,var(--candle));border:none;border-radius:var(--radius-xl);box-shadow:0 24px 60px #0e1f334d;padding:var(--sp-8)}.divider-garland{color:#17355752}.steps-section{display:flex;flex-direction:column;gap:var(--sp-6)}.steps-heading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--ink);text-align:center}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6)}.step{display:flex;flex-direction:column;gap:var(--sp-2)}.step-num{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;color:var(--pine);width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:2px solid var(--pine);border-radius:50%;margin-bottom:var(--sp-1)}.step h3{color:var(--ink)}.step p{font-size:var(--text-sm);color:var(--ink-muted);line-height:1.55}@media(max-width:560px){.hero-photo img{aspect-ratio:4 / 5;object-position:center 18%}.steps{grid-template-columns:1fr;gap:var(--sp-5)}.step{flex-direction:row;align-items:flex-start;gap:var(--sp-4)}.step-num{flex-shrink:0;margin-bottom:0}.step-body h3{margin-bottom:var(--sp-1)}}.mute-toggle{position:fixed;right:16px;bottom:16px;z-index:100;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:#ffffffe0;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background-color .15s ease,transform .1s ease}.mute-toggle:hover{background:#fff}.mute-toggle:active{transform:scale(.94)}.egg-toast{position:fixed;left:50%;top:24px;z-index:9998;transform:translate(-50%);padding:var(--sp-3) var(--sp-5);background:var(--ink);color:#fff;font-family:var(--font-display);font-weight:600;border-radius:999px;box-shadow:0 10px 30px #0e1f3359;animation:toast-in .3s cubic-bezier(.2,.8,.2,1) both}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}
