:is(.theme-frame:has(.admin-shell),.theme-frame:has(.admin-login-wrap)){overflow:clip}.page:has(.admin-shell){text-align:left;max-width:none;padding:0;display:block}.admin-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.admin-shell{--admin-line:#7f7f7f47;--admin-focus:var(--color-accent);grid-template-columns:15rem minmax(0,1fr);width:100%;min-height:100dvh;display:grid}.admin-shell :focus-visible,.admin-login :focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.admin-skip{z-index:10;background:var(--color-surface);color:var(--color-text);padding:.5rem .75rem;position:absolute;top:-4rem;left:1rem}.admin-skip:focus{top:1rem}.admin-sidebar{background:var(--color-surface);border-right:1px solid var(--admin-line);flex-direction:column;gap:1.5rem;height:100dvh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.admin-brand{letter-spacing:-.01em;margin:0 .5rem;font-size:1.15rem;font-weight:800}.admin-brand span{color:var(--color-accent)}.admin-nav{gap:2px;margin:0;padding:0;list-style:none;display:grid}.admin-nav-link{color:var(--color-text);white-space:nowrap;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .75rem;font-weight:600;text-decoration:none;display:flex}.admin-nav-link:hover{background:var(--color-track)}.admin-nav-link.active{background:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-accent);box-shadow:inset 3px 0 0 var(--color-accent)}.admin-count{background:var(--color-accent);min-width:1.5rem;color:var(--color-surface);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 .4rem;font-size:.78rem;font-weight:700}.admin-user{border-top:1px solid var(--admin-line);gap:.25rem;margin-top:auto;padding:.75rem;font-size:.9rem;display:grid}.admin-user .admin-button{margin-top:.5rem}.admin-main{outline:none;padding:2rem clamp(1rem,4vw,3rem) 4rem}.admin-view{gap:1.5rem;max-width:68rem;margin-inline:auto;display:grid}.admin-view-head h1{letter-spacing:-.01em;margin:0;font-size:1.75rem}.admin-view-head p{margin:.25rem 0 0}.admin-card{border:1px solid var(--admin-line);background:var(--color-surface);border-radius:8px;padding:1.25rem}.admin-card h2{margin:0 0 1rem;font-size:1.05rem}.admin-empty{border:1px dashed var(--admin-line);color:var(--color-muted);border-radius:8px;justify-items:start;gap:.75rem;margin:0;padding:2rem 1.25rem;display:grid}.admin-empty p{margin:0}.admin-error{background:#c0392b1a;border-left:3px solid #c0392b;margin:0;padding:.6rem .8rem}.admin-notice{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-text);border-radius:8px;padding:.8rem 1rem;text-decoration:none;display:block}.admin-notice:hover{background:color-mix(in srgb, var(--color-accent) 20%, transparent)}.admin-link{color:var(--color-accent);margin-top:1rem;font-weight:600;display:inline-block}.admin-num{font-variant-numeric:tabular-nums}.admin-button{background:var(--color-accent);color:var(--color-surface);font:600 .92rem var(--font-body,system-ui);cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem 1rem;text-decoration:none;display:inline-flex}.admin-button:hover{filter:brightness(1.08)}.admin-button:disabled{opacity:.5;cursor:progress}.admin-button--ghost{color:var(--color-text);border-color:var(--admin-line,#7f7f7f47);background:0 0}.admin-button--ghost:hover{background:var(--color-track);filter:none}.admin-button--danger{color:#c0392b;background:0 0;border-color:#c0392b66}.admin-button--small{padding:.3rem .6rem;font-size:.82rem}.admin-kpis{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;margin:0;display:grid}.admin-kpi{border:1px solid var(--admin-line);background:var(--color-surface);border-radius:8px;gap:.15rem;padding:1rem 1.1rem;display:grid}.admin-kpi dt{color:var(--color-muted);font-size:.85rem;font-weight:600}.admin-kpi dd{font-variant-numeric:tabular-nums;margin:0;font-size:2rem;font-weight:800;line-height:1.1}.admin-kpi p{margin:0;font-size:.85rem}.admin-funnel{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.admin-funnel li{grid-template-columns:7.5rem 1fr 2.5rem;align-items:center;gap:.75rem;display:grid}.admin-funnel li .admin-num{text-align:right}.admin-funnel-track{background:var(--color-track);border-radius:999px;height:10px;overflow:hidden}.admin-funnel-fill{background:var(--badge-fg,var(--color-accent));height:100%;display:block}.admin-badge,.admin-funnel-fill{--badge-fg:#6b6472}.admin-badge--angesehen,.admin-funnel-fill--angesehen{--badge-fg:#2f6fb0}.admin-badge--gebucht,.admin-funnel-fill--gebucht{--badge-fg:#a16a06}.admin-badge--feedback_da,.admin-funnel-fill--feedback_da{--badge-fg:#2e7d4f}.admin-badge--blocked{--badge-fg:#c0392b}.admin-badge{border:1px solid color-mix(in srgb, var(--badge-fg) 45%, transparent);background:color-mix(in srgb, var(--badge-fg) 12%, transparent);color:color-mix(in srgb, var(--badge-fg) 75%, var(--color-text));white-space:nowrap;border-radius:999px;justify-self:start;padding:.1rem .55rem;font-size:.78rem;font-weight:700;display:inline-block}.admin-filters{flex-wrap:wrap;gap:1rem;display:flex}.admin-filters label{gap:.3rem;font-size:.85rem;font-weight:600;display:grid}.admin-filters input,.admin-filters select,.admin-login input{border:1px solid var(--admin-line,#7f7f7f66);background:var(--color-surface);min-width:14rem;color:var(--color-text);font:400 .95rem var(--font-body,system-ui);border-radius:6px;padding:.5rem .7rem}.admin-table-wrap{border:1px solid var(--admin-line);background:var(--color-surface);border-radius:8px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);background:var(--color-surface);border-bottom:1px solid var(--admin-line);padding:.6rem .8rem;font-size:.78rem;font-weight:700;position:sticky;top:0}.admin-table td{vertical-align:top;border-bottom:1px solid var(--admin-line);padding:.7rem .8rem}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:color-mix(in srgb, var(--color-track) 50%, transparent)}.admin-sub{font-size:.82rem;display:block}.admin-row-actions{white-space:nowrap;text-align:right}.admin-row-actions>*+*{margin-left:.4rem}.admin-login-wrap{place-items:center;width:100%;min-height:70dvh;display:grid}.admin-login{text-align:left;gap:1rem;width:min(22rem,100%);display:grid}.admin-login h1{margin:0;font-size:1.4rem}.admin-login label{gap:.35rem;font-size:.92rem;font-weight:600;display:grid}.admin-login input{min-width:0}.admin-questionnaire ol{padding-left:1.25rem}.admin-wishes{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.admin-wishes li{gap:.5rem;display:grid}.admin-wish-text{margin:0;font-size:1.05rem}.admin-wish-actions{gap:.6rem;display:flex}.evaluation{gap:1.5rem;display:grid}.eval-summary{color:var(--color-muted);margin:0}.eval-summary strong{color:var(--color-text)}.eval-toc{z-index:2;background:var(--color-bg);border-bottom:1px solid var(--admin-line);gap:.4rem;padding:.6rem 0;display:flex;position:sticky;top:0;overflow-x:auto}.eval-toc a{border:1px solid var(--admin-line);color:var(--color-text);border-radius:999px;flex:none;padding:.3rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none}.eval-toc a:hover{border-color:var(--color-accent);color:var(--color-accent)}.eval-section{gap:1rem;scroll-margin-top:4rem;display:grid}.eval-section>h2{margin:.5rem 0 0;font-size:1.2rem}.eval-question{border:1px solid var(--admin-line);background:var(--color-surface);border-radius:8px;gap:.6rem;padding:1.1rem 1.25rem;display:grid}.eval-question h3{max-width:60ch;margin:0;font-size:1rem}.eval-average{font-variant-numeric:tabular-nums;margin:0;font-size:1.6rem;font-weight:800}.eval-average .muted{font-size:.9rem;font-weight:400}.eval-bars{gap:6px;margin:0;display:grid}.eval-bar{grid-template-columns:minmax(6rem,16rem) 1fr;align-items:center;gap:.75rem;display:grid}.eval-bar dd{align-items:center;gap:8px;margin:0;display:flex}.eval-bar-fill{background:var(--color-accent);border-radius:2px;min-width:2px;height:12px}.eval-bar-count{font-variant-numeric:tabular-nums}.eval-texts{gap:6px;max-width:70ch;margin:0;padding-left:1.2rem;display:grid}.eval-previous{background:#7f7f7f1a;border-radius:6px;gap:6px;margin-left:1rem;padding:.75rem;display:grid}.eval-previous .eval-bar-fill,.eval-previous .eval-column{background:#7f7f7f99}.eval-previous-label{margin:0}.eval-histogram{grid-auto-columns:minmax(1.6rem,2.6rem);grid-auto-flow:column;align-items:end;gap:4px;height:7rem;margin:0;padding:0;list-style:none;display:grid}.eval-histogram li{text-align:center;grid-template-rows:auto 1fr auto;height:100%;font-size:.8rem;display:grid}.eval-column{background:var(--color-accent);border-radius:2px 2px 0 0;align-self:end;min-height:2px}.eval-column-label{color:var(--color-muted)}@media (width<=52rem){.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-sidebar{z-index:5;border-right:0;border-bottom:1px solid var(--admin-line);flex-flow:wrap;align-items:center;gap:.5rem 1rem;height:auto;padding:.6rem 1rem}.admin-sidebar nav{flex-basis:100%;order:3;min-width:0;overflow-x:auto}.admin-nav{display:flex}.admin-nav-link.active{box-shadow:inset 0 -3px 0 var(--color-accent)}.admin-user{border:0;align-items:center;gap:.5rem;margin:0 0 0 auto;padding:0;display:flex}.admin-user .muted{display:none}.admin-user .admin-button{margin:0;padding:.3rem .6rem}.admin-main{padding-top:1.25rem}.eval-toc{top:6.5rem}.eval-section{scroll-margin-top:10rem}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block}.admin-table tr{border-bottom:1px solid var(--admin-line);padding:.75rem .9rem}.admin-table td{border:0;grid-template-columns:6rem 1fr;gap:.5rem;padding:.2rem 0;display:grid}.admin-table td .admin-sub{grid-column:2}.admin-table td:before{content:attr(data-label);color:var(--color-muted);font-size:.78rem;font-weight:700}.admin-table td.admin-row-actions{justify-content:flex-start;padding-top:.5rem;display:flex}.admin-table td.admin-row-actions:before{content:none}.admin-filters input,.admin-filters select{width:100%;min-width:0}.admin-filters label{flex:10rem}.admin-funnel li{grid-template-columns:6.5rem 1fr 2rem}.eval-bar{grid-template-columns:1fr;gap:2px}.eval-previous{margin-left:0}}.admin-preview-open{justify-self:start;text-decoration:none}.admin-preview-frame{border:0;width:100%;height:min(78vh,52rem);box-shadow:0 0 0 1px #7f7f7f4d,0 12px 32px #0000002e}.admin-customer{gap:1rem;display:grid}.admin-customer-head{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:.75rem;display:flex}.admin-customer h2,.admin-customer h3{margin:0}.admin-customer h3{font-size:1rem}.admin-form{gap:.75rem;display:grid}.admin-form-fields{grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.75rem;display:grid}.admin-form-fields label{gap:.3rem;font-size:.85rem;font-weight:600;display:grid}.admin-form-fields input,.admin-form-fields select{border:1px solid var(--admin-line,#7f7f7f66);background:var(--color-surface);min-width:0;color:var(--color-text);font:400 .95rem var(--font-body,system-ui);border-radius:6px;padding:.5rem .7rem}.admin-customer>.admin-button,.admin-form>.admin-row-actions{justify-self:start}.admin-form>.admin-row-actions{text-align:left;align-items:center;gap:.75rem;display:flex}.admin-form>.admin-row-actions>*+*{margin-left:0}.admin-customer-head h2{flex:16rem}.eval-years{text-align:left}.admin-table th,.admin-sub,.admin-badge,.admin-count,.eval-average .muted,.eval-bar-count,.eval-column-label{font-family:var(--font-mono)}.admin-team-picker{border:1px solid var(--admin-line,#7f7f7f66);border-radius:6px;grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));gap:.4rem 1rem;margin:0;padding:.75rem;display:grid}.admin-team-picker legend{padding:0 .25rem;font-size:.85rem;font-weight:600}.admin-form-fields .admin-team-picker label{align-items:center;gap:.5rem;font-size:.92rem;font-weight:400;display:flex}.admin-form-fields .admin-team-picker input{width:auto;min-width:0;accent-color:var(--color-accent,#aa36b5);padding:0}[data-theme=default]{--font-display:"Geist", system-ui, sans-serif;--font-body:"Geist", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--color-bg:#f7f5f8;--color-surface:#fff;--color-text:#25222a;--color-muted:#62596a;--color-accent:#aa36b5;--color-track:#e4dfe7}@media (prefers-color-scheme:dark){[data-theme=default]{--color-bg:#1c1a20;--color-surface:#29262e;--color-text:#eee8f0;--color-muted:#a59dab;--color-accent:#d27adb;--color-track:#3a3640}}.bar-progress{width:100%;height:.5rem;accent-color:var(--color-accent)}[data-theme=christmas-2026]{--xmas-anthracite:#2b2d33;--xmas-magenta:#aa36b5;--xmas-rose:#f2a9c9;--xmas-gold:#d9a441;--xmas-pine:#1f5c45;--xmas-moss:#7aa45f;--xmas-wood:#7a4e2d;--xmas-cream:#f6efe2;--xmas-ice:#cde6f2;--color-bg:#23252c;--color-surface:#383a42;--color-text:var(--xmas-cream);--color-muted:#b9b3bd;--color-accent:var(--xmas-rose);--color-ground:#3d4450;--color-sky:#14161d;--color-snow:#eef6fa;--color-snow-rim:#cde6f240;--color-action:var(--xmas-magenta);--color-action-edge:#7d2686;--color-light:var(--xmas-gold);--u:4px;--dur-fast:.16s;--dur-base:.24s;--dur-scene:.7s;--ease-out:cubic-bezier(.22, 1, .36, 1);--font-display:"Pixelify Sans", "Press Start 2P", ui-monospace, monospace;--font-body:"Geist", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace}.theme-frame[data-theme=christmas-2026]{background:linear-gradient(to bottom, var(--color-sky), var(--color-bg) 80%)}.market-scene{width:100%;height:100%;overflow:visible}.arrival-text{animation:arrival-rise var(--dur-scene) var(--ease-out) both}@keyframes arrival-rise{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.arrival-text{animation:none}}.scene-bulb{animation:2.2s steps(2,end) infinite alternate scene-twinkle}.scene-glow{animation:1.6s steps(3,end) infinite scene-flicker}.scene-star.twinkle{animation:3s steps(2,end) infinite alternate scene-twinkle}@keyframes scene-twinkle{to{opacity:.25}}@keyframes scene-flicker{0%{opacity:1}50%{opacity:.6}to{opacity:.9}}@media (prefers-reduced-motion:reduce){.scene-bulb,.scene-glow,.scene-star.twinkle{animation:none}}.mascot-npc{touch-action:none;cursor:grab;will-change:transform;background:0 0;border:0;padding:0;line-height:0;position:absolute;bottom:0;left:0}.mascot-npc:focus-visible{outline:4px solid var(--color-light);outline-offset:4px}.scene-crowd{pointer-events:none;position:absolute;inset:0}.crowd-member{pointer-events:auto;touch-action:none;cursor:grab;line-height:0;position:absolute;left:0}.crowd-member .team-member{cursor:inherit}.crowd-member.held,.mascot-npc.held{z-index:5;cursor:grabbing}.crowd-member.strolling{z-index:1;will-change:transform}@media (pointer:fine){[data-theme=christmas-2026],[data-theme=christmas-2026] *{cursor:url(/cursors/glove.svg) 2 2,auto}[data-theme=christmas-2026] .crowd-member,[data-theme=christmas-2026] .crowd-member *,[data-theme=christmas-2026] .mascot-npc,[data-theme=christmas-2026] .mascot-npc *,[data-theme=christmas-2026][data-pannable] .theme-camera{cursor:url(/cursors/glove-open.svg) 16 16,grab}[data-theme=christmas-2026][data-panning],[data-theme=christmas-2026][data-panning] *,[data-theme=christmas-2026] .held,[data-theme=christmas-2026] .held *{cursor:url(/cursors/glove-fist.svg) 16 16,grabbing}html:has([data-theme=christmas-2026] .held){cursor:url(/cursors/glove-fist.svg) 16 16,grabbing}html:has([data-theme=christmas-2026] .held) *{cursor:url(/cursors/glove-fist.svg) 16 16,grabbing}}.fairy-garland{z-index:15;pointer-events:none;width:100vw;position:fixed;top:0;left:0;overflow:visible}.fairy-garland .bulb.lit{animation:2.8s ease-in-out infinite alternate bulb-glow}.fairy-garland .bulb{transform-box:fill-box;transform-origin:50% 0}.fairy-garland.dancing .bulb{animation:.55s ease-in-out infinite alternate bulb-dance}.fairy-garland.dancing g:nth-of-type(2n)>.bulb{animation-delay:-.28s}.fairy-garland.dancing g:nth-of-type(3n)>.bulb{animation-duration:.45s}.fairy-garland .bulb.lit:nth-of-type(3n){animation-delay:-.9s}.fairy-garland .bulb.lit:nth-of-type(3n+1){animation-delay:-1.8s}.fairy-garland .bulb.just-lit{animation:bulb-pop .6s var(--ease-out) both}@keyframes bulb-glow{0%{filter:brightness()}to{filter:brightness(1.25)}}@keyframes bulb-dance{0%{filter:brightness(1.1)hue-rotate();transform:rotate(-14deg)}to{filter:brightness(1.6)hue-rotate(40deg);transform:rotate(14deg)translateY(2px)}}@keyframes bulb-pop{0%{filter:brightness(2.4)}to{filter:brightness()}}@media (prefers-reduced-motion:reduce){.fairy-garland .bulb.lit,.fairy-garland .bulb.just-lit,.fairy-garland.dancing .bulb{animation:none}}*,:before,:after{box-sizing:border-box}body{margin:0;font-family:Geist,system-ui,sans-serif;line-height:1.5}.theme-frame{background:var(--color-bg);min-height:100dvh;color:var(--color-text);position:relative;overflow:hidden}.theme-layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.theme-camera{transform-origin:0 0;transition:transform 1.1s cubic-bezier(.65, 0, .35, 1), translate .7s var(--ease-out,ease-out);position:absolute;inset:0}.theme-frame[data-pannable]{touch-action:pan-y}.theme-frame[data-panning] .theme-camera{transition:none}.theme-frame[data-panning] .venue-sign{pointer-events:none}.theme-frame[data-focus][data-ambience] .market-scene{filter:brightness(.62)saturate(.85)}@media (prefers-reduced-motion:reduce){.theme-camera{transition:none}}.page{text-align:center;justify-items:center;gap:1.5rem;max-width:40rem;margin:0 auto;padding:3rem 1.5rem;display:grid;position:relative}.muted{color:var(--color-muted)}.stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;width:100%;margin:0;display:grid}.stat{background:var(--color-surface);border-radius:.5rem;flex-direction:column-reverse;padding:1rem;display:flex}.stat dd{color:var(--color-accent);margin:0;font-size:1.75rem;font-weight:700}.arrival-text{justify-items:center;gap:calc(var(--u,4px) * 4);text-align:center;width:100%;padding-top:clamp(4rem,20vh,11rem);display:grid}.arrival-text p{margin:0}.arrival-text a{color:var(--color-accent);text-underline-offset:3px}.hero-greeting{font-family:var(--font-display,system-ui);margin:0;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:600;line-height:1.1}.cta{font:700 1.05rem/1 var(--font-body,system-ui);background:var(--color-action,#aa36b5);color:#f6efe2;padding:calc(var(--u,4px) * 3) calc(var(--u,4px) * 6);box-shadow:inset 0 -4px 0 var(--color-action-edge,#7d2686);transition:transform var(--dur-fast,.16s) var(--ease-out), filter var(--dur-base,.24s) ease-out;text-decoration:none}.cta:hover{filter:brightness(1.12);transform:translateY(-4px)}.cta:active{transform:translateY(0)}.cta:focus-visible{outline:4px solid var(--color-light,#d9a441);outline-offset:4px}@media (prefers-reduced-motion:reduce){.cta{transition:none}}.team-page{max-width:72rem}.team-grid{gap:calc(var(--u,4px) * 8) calc(var(--u,4px) * 6);width:100%;margin:calc(var(--u,4px) * 6) 0 0;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));padding:0;list-style:none;display:grid}.team-card{justify-items:center;gap:calc(var(--u,4px) * 3);font-weight:700;display:grid}.team-member{cursor:pointer;background:0 0;border:0;padding:0;line-height:0;position:relative}.team-member:focus-visible{outline:4px solid var(--color-light,#d9a441);outline-offset:6px}.pixel-tooltip{font:700 .85rem/1.2 var(--font-body,system-ui);white-space:nowrap;color:var(--color-bg,#1f2024);background:var(--xmas-cream,#f6efe2);opacity:0;transition:opacity var(--dur-fast,.16s) ease-out, transform var(--dur-fast,.16s) var(--ease-out);pointer-events:none;padding:6px 10px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);box-shadow:inset 0 -3px #c9bfae}.pixel-tooltip:after{content:"";border:4px solid #0000;border-top-color:var(--xmas-cream,#f6efe2);position:absolute;top:100%;left:calc(50% - 4px)}.team-member:hover .pixel-tooltip,.team-member:focus-visible .pixel-tooltip{opacity:1;transform:translate(-50%)}.pose-picker{justify-content:center;gap:calc(var(--u,4px) * 2);flex-wrap:wrap;display:flex}.pose-option{font:700 .95rem var(--font-body,system-ui);color:var(--color-text);background:var(--color-surface);cursor:pointer;border:0;padding:8px 16px;box-shadow:inset 0 -3px #24262c}.pose-option[aria-pressed=true]{background:var(--color-action);color:#f6efe2;box-shadow:inset 0 -3px 0 var(--color-action-edge)}.pose-option:focus-visible{outline:4px solid var(--color-light,#d9a441);outline-offset:2px}.rig-part,.prop{transform-box:view-box}.team-figure[data-pose=idle] .rig-torso,.team-figure[data-pose=idle] .rig-head,.team-figure[data-pose=idle] .rig-arm-left,.team-figure[data-pose=idle] .rig-arm-right{animation:2.4s steps(2,end) infinite rig-breathe}.team-figure[data-pose=wave] .rig-arm-right{transform:rotate(-105deg)}.team-figure[data-pose=wave] .rig-forearm-right{animation:.8s steps(4,end) infinite alternate rig-wave-forearm}.team-figure[data-pose=wave] .rig-head{animation:1.6s steps(3,end) infinite alternate rig-tilt}.team-figure[data-pose=walk]{animation:.35s steps(2,end) infinite alternate rig-step-bob}.team-figure[data-pose=walk] .rig-leg-front,.team-figure[data-pose=walk] .rig-arm-back{animation:.7s steps(4,end) infinite alternate rig-stride}.team-figure[data-pose=walk] .rig-leg-back,.team-figure[data-pose=walk] .rig-arm-front{animation:.7s steps(4,end) infinite alternate-reverse rig-stride}.team-figure[data-pose=walk] .rig-head-side{animation:.7s steps(2,end) infinite rig-breathe}.team-figure[data-pose=cheer]{animation:.6s steps(3,end) infinite alternate rig-hop}.team-figure[data-pose=cheer] .rig-arm-left{animation:.6s steps(3,end) infinite alternate rig-cheer-left}.team-figure[data-pose=cheer] .rig-arm-right{animation:.6s steps(3,end) infinite alternate rig-cheer-right}.team-figure[data-pose=cheer] .rig-forearm-left{transform:rotate(-20deg)}.team-figure[data-pose=cheer] .rig-forearm-right{transform:rotate(20deg)}.team-figure[data-pose=nod] .rig-head{animation:.7s steps(3,end) infinite alternate rig-nod}.team-figure[data-pose=type] .rig-arm-left{transform:rotate(-8deg)}.team-figure[data-pose=type] .rig-arm-right{transform:rotate(8deg)}.team-figure[data-pose=type] .rig-forearm-left{animation:.25s steps(2,end) infinite alternate rig-type-left}.team-figure[data-pose=type] .rig-forearm-right{animation:.25s steps(2,end) infinite alternate-reverse rig-type-right}.team-figure[data-pose=type] .rig-head{animation:2s steps(2,end) infinite alternate rig-look-down}.team-figure[data-pose=drink] .rig-arm-right{animation:3s steps(6,end) infinite rig-drink-upper}.team-figure[data-pose=drink] .rig-forearm-right{animation:3s steps(6,end) infinite rig-drink}.team-figure[data-pose=drink] .prop-mug,.team-figure[data-pose=drink] .prop-steam{animation:3s steps(6,end) infinite prop-counter-drink}.team-figure[data-pose=drink] .prop-steam rect{animation:1.2s steps(3,end) infinite prop-steam}.team-figure[data-pose=drink] .rig-head{animation:3s steps(6,end) infinite rig-sip}.team-figure[data-pose=think] .rig-arm-right{transform:rotate(18deg)}.team-figure[data-pose=think] .rig-forearm-right{transform:rotate(150deg)}.team-figure[data-pose=think] .rig-head{animation:2.4s steps(3,end) infinite alternate rig-ponder}.team-figure[data-pose=shrug] .rig-arm-left{animation:1.4s steps(4,end) infinite alternate rig-shrug-left}.team-figure[data-pose=shrug] .rig-arm-right{animation:1.4s steps(4,end) infinite alternate rig-shrug-right}.team-figure[data-pose=shrug] .rig-forearm-left{animation:1.4s steps(4,end) infinite alternate rig-palm-left}.team-figure[data-pose=shrug] .rig-forearm-right{animation:1.4s steps(4,end) infinite alternate rig-palm-right}.team-figure[data-pose=shrug] .rig-head{animation:1.4s steps(4,end) infinite alternate rig-tilt}.team-figure[data-pose=dance] .rig-torso,.team-figure[data-pose=dance] .rig-head{animation:.5s steps(2,end) infinite alternate rig-sway}.team-figure[data-pose=dance] .rig-arm-left{animation:1s steps(4,end) infinite alternate rig-disco-left}.team-figure[data-pose=dance] .rig-arm-right{animation:1s steps(4,end) infinite alternate-reverse rig-disco-right}.team-figure[data-pose=dance] .rig-forearm-left{animation:.5s steps(2,end) infinite alternate rig-bend-left}.team-figure[data-pose=dance] .rig-forearm-right{animation:.5s steps(2,end) infinite alternate rig-bend-right}.team-figure[data-pose=dance] .rig-leg-left{animation:.5s steps(2,end) infinite alternate rig-swing}.team-figure[data-pose=clap] .rig-arm-left{transform:rotate(-14deg)}.team-figure[data-pose=clap] .rig-arm-right{transform:rotate(14deg)}.team-figure[data-pose=clap] .rig-forearm-left{animation:.35s steps(2,end) infinite alternate rig-clap-left}.team-figure[data-pose=clap] .rig-forearm-right{animation:.35s steps(2,end) infinite alternate rig-clap-right}.team-figure[data-pose=jump]{animation:.9s steps(6,end) infinite rig-jump}.team-figure[data-pose=jump] .rig-arm-left{animation:.9s steps(6,end) infinite rig-jump-arm-left}.team-figure[data-pose=jump] .rig-arm-right{animation:.9s steps(6,end) infinite rig-jump-arm-right}.team-figure[data-pose=phone] .rig-arm-right{transform:rotate(10deg)}.team-figure[data-pose=phone] .rig-forearm-right{transform:rotate(115deg)}.team-figure[data-pose=phone] .prop-phone{transform:rotate(-125deg)}.team-figure[data-pose=phone] .rig-head{animation:2.2s steps(2,end) infinite alternate rig-scroll}.team-figure[data-pose=yawn] .rig-arm-left{animation:3s steps(6,end) infinite rig-stretch-left}.team-figure[data-pose=yawn] .rig-arm-right{animation:3s steps(6,end) infinite rig-stretch-right}.team-figure[data-pose=yawn] .rig-forearm-left{animation:3s steps(6,end) infinite rig-stretch-forearm-left}.team-figure[data-pose=yawn] .rig-forearm-right{animation:3s steps(6,end) infinite rig-stretch-forearm-right}.team-figure[data-pose=yawn] .rig-head{animation:3s steps(6,end) infinite rig-yawn}@keyframes rig-stride{0%{transform:rotate(-24deg)}to{transform:rotate(24deg)}}@keyframes rig-step-bob{to{transform:translateY(-2px)}}@keyframes rig-breathe{50%{transform:translateY(-1px)}}@keyframes rig-wave-forearm{0%{transform:rotate(-70deg)}to{transform:rotate(-25deg)}}@keyframes rig-tilt{to{transform:rotate(6deg)}}@keyframes rig-swing{0%{transform:rotate(-18deg)}to{transform:rotate(18deg)}}@keyframes rig-hop{to{transform:translateY(-8px)}}@keyframes rig-cheer-left{0%{transform:rotate(140deg)}to{transform:rotate(165deg)}}@keyframes rig-cheer-right{0%{transform:rotate(-140deg)}to{transform:rotate(-165deg)}}@keyframes rig-nod{to{transform:rotate(9deg)translateY(1px)}}@keyframes rig-type-left{0%{transform:rotate(-80deg)}to{transform:rotate(-72deg)}}@keyframes rig-type-right{0%{transform:rotate(80deg)}to{transform:rotate(72deg)}}@keyframes rig-look-down{to{transform:rotate(-4deg)translateY(1px)}}@keyframes rig-drink{0%,20%{transform:rotate(20deg)}40%,70%{transform:rotate(30deg)}90%,to{transform:rotate(20deg)}}@keyframes rig-drink-upper{0%,20%{transform:rotate(12deg)}40%,70%{transform:rotate(110deg)}90%,to{transform:rotate(12deg)}}@keyframes prop-counter-drink{0%,20%{transform:rotate(-32deg)}40%,70%{transform:rotate(-140deg)}90%,to{transform:rotate(-32deg)}}@keyframes prop-steam{0%{opacity:.8;transform:translateY(0)}to{opacity:.2;transform:translateY(-3px)}}@keyframes rig-sip{40%,70%{transform:rotate(-7deg)}}@keyframes rig-ponder{0%{transform:rotate(-5deg)}to{transform:rotate(-9deg)}}@keyframes rig-shrug-left{0%{transform:rotate(0)}to{transform:rotate(22deg)translateY(-2px)}}@keyframes rig-shrug-right{0%{transform:rotate(0)}to{transform:rotate(-22deg)translateY(-2px)}}@keyframes rig-palm-left{0%{transform:rotate(0)}to{transform:rotate(70deg)}}@keyframes rig-palm-right{0%{transform:rotate(0)}to{transform:rotate(-70deg)}}@keyframes rig-sway{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes rig-disco-left{0%{transform:rotate(150deg)}to{transform:rotate(40deg)}}@keyframes rig-disco-right{0%{transform:rotate(-150deg)}to{transform:rotate(-40deg)}}@keyframes rig-bend-left{0%{transform:rotate(0)}to{transform:rotate(-50deg)}}@keyframes rig-bend-right{0%{transform:rotate(0)}to{transform:rotate(50deg)}}@keyframes rig-clap-left{0%{transform:rotate(-60deg)}to{transform:rotate(-85deg)}}@keyframes rig-clap-right{0%{transform:rotate(60deg)}to{transform:rotate(85deg)}}@keyframes rig-jump{0%,to{transform:translateY(0)}20%{transform:translateY(2px)}50%{transform:translateY(-16px)}}@keyframes rig-jump-arm-left{50%{transform:rotate(150deg)}}@keyframes rig-jump-arm-right{50%{transform:rotate(-150deg)}}@keyframes rig-scroll{0%{transform:rotate(-6deg)translateY(1px)}to{transform:rotate(-3deg)translateY(1px)}}@keyframes rig-stretch-left{0%,15%,to{transform:rotate(0)}40%,75%{transform:rotate(150deg)}}@keyframes rig-stretch-right{0%,15%,to{transform:rotate(0)}40%,75%{transform:rotate(-150deg)}}@keyframes rig-stretch-forearm-left{40%,75%{transform:rotate(-35deg)}}@keyframes rig-stretch-forearm-right{40%,75%{transform:rotate(35deg)}}@keyframes rig-yawn{40%,75%{transform:rotate(-4deg)translateY(-1px)}}@media (prefers-reduced-motion:reduce){.team-figure,.team-figure .rig-part,.team-figure .prop,.team-figure .prop rect{animation:none!important}}.action-row{justify-content:center;align-items:center;gap:calc(var(--u,4px) * 3);flex-wrap:wrap;display:flex}.sound-toggle{align-items:center;gap:calc(var(--u,4px) * 2);font:700 .9rem var(--font-body,system-ui);color:var(--color-text);background:var(--color-surface);border:0;padding:8px 14px;display:flex;box-shadow:inset 0 -3px #24262c}.sound-toggle[data-on]{background:var(--color-action);color:#f6efe2;box-shadow:inset 0 -3px 0 var(--color-action-edge)}.sound-toggle:focus-visible{outline:4px solid var(--color-light,#d9a441);outline-offset:2px}.year-banner{justify-content:center;align-items:center;gap:calc(var(--u,4px) * 4);margin-bottom:calc(var(--u,4px) * 10);display:flex}.year-banner-title{font-family:var(--font-body,system-ui);letter-spacing:.01em;color:#fffaf0;-webkit-text-stroke:2px #14161d;paint-order:stroke fill;text-shadow:0 4px #14161d;margin:0;font-size:clamp(2.2rem,6vw,4rem);font-weight:700;line-height:1.05;position:relative}.year-banner-brand{color:#f5c05c}.year-banner-sparkle{background:linear-gradient(var(--xmas-gold,#d9a441), var(--xmas-gold,#d9a441)) center / 4px 12px no-repeat, linear-gradient(var(--xmas-gold,#d9a441), var(--xmas-gold,#d9a441)) center / 12px 4px no-repeat;width:12px;height:12px;animation:2.4s steps(3,end) infinite sparkle-twinkle;position:absolute}.holly-sprig{flex:none}@keyframes sparkle-twinkle{0%,to{opacity:.2}50%{opacity:1}}@media (width<=40rem){.holly-sprig{display:none}}@media (prefers-reduced-motion:reduce){.year-banner-sparkle{opacity:.8;animation:none}}.calendar-dialog{width:min(36rem,100vw - 2rem);color:var(--color-text);background:0 0;border:0;padding:0;overflow:visible}.calendar-dialog::backdrop{background:#0a0b0fb8}.calendar-card{position:relative}.calendar-close{top:calc(var(--u,4px) * 4);right:calc(var(--u,4px) * 4);width:36px;height:36px;color:var(--color-text);cursor:pointer;background:#383a42;border:0;place-items:center;display:grid;position:absolute;box-shadow:inset 0 -3px #24262c}.calendar-close:focus-visible,.calendar-open:focus-visible{outline:4px solid var(--color-light,#d9a441);outline-offset:2px}.calendar-open{justify-content:center;align-items:center;gap:calc(var(--u,4px) * 3);font:700 1.1rem var(--font-body,system-ui);color:var(--xmas-gold,#d9a441);background:#1f2024;border:2px dashed #d9a44199;padding:16px;text-decoration:none;display:flex}.calendar-open:hover{background:#26282e;border-style:solid}.step-copy{color:#e9e3d6;max-width:60ch;margin:0;line-height:1.6}.feedback-form{gap:calc(var(--u,4px) * 5);text-align:left;width:min(40rem,100%);display:grid}.feedback-question{border:0;margin:0;padding:0}.feedback-question legend{font:700 1.1rem var(--font-body,system-ui);margin-bottom:calc(var(--u,4px) * 2)}.answer-scale{gap:calc(var(--u,4px) * 2);flex-wrap:wrap;display:flex}.answer-chip{min-width:2.5rem;font:700 1rem var(--font-body,system-ui);color:var(--color-text);background:var(--color-surface);cursor:pointer;border:0;padding:8px 0;box-shadow:inset 0 -3px #24262c}.answer-chip[aria-checked=true]{background:var(--color-action);color:#f6efe2;box-shadow:inset 0 -3px 0 var(--color-action-edge)}.answer-choice{gap:calc(var(--u,4px) * 2);display:grid}.answer-option{align-items:center;gap:8px;display:flex}.answer-text{width:100%;min-height:3rem;font:400 1rem var(--font-body,system-ui);color:var(--color-text);background:var(--color-surface);border:2px solid #3b3d44;padding:10px 12px}.answer-text:focus-visible,.answer-chip:focus-visible{outline:4px solid var(--color-light,#d9a441);outline-offset:2px}.question-editor{gap:calc(var(--u,4px) * 4);display:grid}.editor-question{gap:calc(var(--u,4px) * 3);padding:calc(var(--u,4px) * 4);border:2px solid #3b3d44;margin:0;display:grid}.editor-question label{font:700 .9rem var(--font-body,system-ui);gap:4px;display:grid}.editor-question label.check{align-items:center;gap:8px;display:flex}.editor-question input,.editor-question select{font:400 .95rem var(--font-body,system-ui);color:var(--color-text);background:var(--color-surface);border:2px solid #3b3d44;padding:8px 10px}.editor-actions{gap:calc(var(--u,4px) * 2);display:flex}.feedback-section{margin-top:calc(var(--u,4px) * 6);padding-top:calc(var(--u,4px) * 3);border-top:2px solid #3b3d44}.feedback-section h3{font:700 1.3rem var(--font-body,system-ui);margin:0}.sound-toggle-corner{right:calc(var(--u,4px) * 4);bottom:calc(var(--u,4px) * 4);z-index:20;position:fixed}.stepper{gap:calc(var(--u,4px) * 4);justify-items:center;width:min(40rem,100%);display:grid}.stepper-progress{justify-items:center;gap:calc(var(--u,4px) * 1);width:100%;display:grid}.stepper-position{font:700 .9rem var(--font-body,system-ui);color:var(--xmas-ice,#cde6f2);margin:0}.step-card{gap:calc(var(--u,4px) * 5);width:100%;height:min(37rem,100dvh - 10rem);min-height:24rem;padding:calc(var(--u,4px) * 7) calc(var(--u,4px) * 6);text-align:left;clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));background:#2b2d33f0;flex-direction:column;display:flex;box-shadow:inset 0 -6px #14161d,0 0 0 4px #14161d,0 0 0 8px #d9a44159}.enter-forward{animation:step-in-forward .36s var(--ease-out,ease-out) both}.step-back{font:700 .95rem var(--font-body,system-ui);color:var(--color-text);cursor:pointer;background:0 0;border:0;padding:10px 12px}.step-back:disabled{opacity:.35;cursor:default}.enter-back{animation:step-in-back .36s var(--ease-out,ease-out) both}.step-question{font:700 clamp(1.25rem, 3vw, 1.6rem) / 1.3 var(--font-body,system-ui);color:#fffaf0;margin:0}.step-scale{grid-template-columns:repeat(var(--scale-columns,var(--scale-count,10)), minmax(0, 1fr));gap:calc(var(--u,4px) * 2);display:grid}.step-scale-chip,.step-choice{font:700 1.05rem var(--font-body,system-ui);color:var(--color-text);cursor:pointer;transition:transform var(--dur-fast,.16s) var(--ease-out,ease-out), background-color var(--dur-fast,.16s) ease-out;background:#383a42;border:0;padding:12px 0;box-shadow:inset 0 -4px #24262c}.step-choice{text-align:left;padding:10px 16px}.step-scale-chip:hover,.step-choice:hover{background:#44474f;transform:translateY(-3px)}.step-scale-chip[aria-checked=true],.step-choice[aria-checked=true]{background:var(--color-action);color:#f6efe2;box-shadow:inset 0 -4px 0 var(--color-action-edge), 0 0 0 3px #d9a44199;transform:translateY(-3px)}.step-scale-chip:focus-visible,.step-choice:focus-visible,.step-back:focus-visible,.step-text:focus-visible{outline:4px solid var(--color-light,#d9a441);outline-offset:2px}.step-choices{gap:6px;display:grid}.step-text{width:100%;min-height:7rem;font:400 1.05rem/1.5 var(--font-body,system-ui);color:var(--color-text);resize:vertical;background:#1f2024;border:2px solid #46484f;padding:12px 14px}.step-other{min-height:auto}.step-actions{justify-content:flex-end;align-items:center;gap:calc(var(--u,4px) * 3);flex-wrap:wrap;display:flex}.step-actions .step-back:first-child{margin-right:auto}@keyframes step-in-forward{0%{opacity:0;transform:translate(48px)}}@keyframes step-in-back{0%{opacity:0;transform:translate(-48px)}}@media (prefers-reduced-motion:reduce){.enter-forward,.enter-back{animation:none}.step-scale-chip,.step-choice{transition:none}}.arrival-text.compact{padding-top:clamp(5.5rem,13vh,8rem)}.arrival-text.compact .year-banner{margin-bottom:calc(var(--u,4px) * 4)}.theme-frame .market-scene,.theme-camera>canvas,.scene-crowd,.mascot-npc{transition:filter .9s var(--ease-out,ease-out), opacity .9s var(--ease-out,ease-out)}.theme-frame[data-ambience=calm] .market-scene{filter:brightness(.38)saturate(.6)}.theme-frame[data-ambience=calm] .theme-camera>canvas{opacity:.35}@media (prefers-reduced-motion:reduce){.theme-frame .market-scene,.theme-camera>canvas,.scene-crowd,.mascot-npc{transition:none}}.stepper-stage{width:100%;position:relative}.step-body{min-height:0;margin:-4px;padding:4px;overflow-y:auto}.step-card>.step-copy+.step-copy{margin-top:calc(var(--u,4px) * -2)}.step-card>.step-actions{margin-top:auto}.step-body{flex:auto}.calendar-card{height:auto;min-height:0}.step-body{flex-direction:column;justify-content:center;display:flex}.step-question:focus{outline:none}.step-question:focus-visible{outline:4px solid var(--color-light,#d9a441);outline-offset:6px}.step-scale-wrap{gap:calc(var(--u,4px) * 3);display:grid}.step-scale-chip{min-height:3.25rem;font-size:1.15rem}.step-scale-anchors{justify-content:space-between;gap:calc(var(--u,4px) * 4);font:700 .9rem var(--font-body,system-ui);color:var(--xmas-ice,#cde6f2);display:flex}.step-hint{color:var(--xmas-ice,#cde6f2);margin:0;font-size:.9rem}@media (width<=30rem){.step-scale{--scale-columns:5}.step-card{padding:calc(var(--u,4px) * 5) calc(var(--u,4px) * 4)}}.step-body{scrollbar-width:thin;scrollbar-color:#5d5a63 transparent}@media (width<=30rem){.arrival-text.compact{padding-top:4.5rem}.arrival-text.compact .year-banner{margin-bottom:calc(var(--u,4px) * 2)}.arrival-text.compact .year-banner-title{font-size:1.7rem}.arrival-text.compact .year-banner-sparkle{display:none}.step-card{height:calc(100dvh - 17rem);min-height:0}.step-question{font-size:1.2rem}}.step-body.fills{justify-content:stretch}.step-body.fills .step-text{resize:none;flex:auto;min-height:8rem}.editor-bulk{align-items:center;gap:calc(var(--u,4px) * 2);font:700 .9rem var(--font-body,system-ui);flex-wrap:wrap;display:flex}.confetti{z-index:40;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.page:has(.recap){max-width:58rem}.recap{gap:calc(var(--u,4px) * 3);flex-direction:column;width:min(100%,54rem);margin-inline:auto;display:flex;position:relative}.recap-segments{gap:6px;display:flex}.recap-segments span{background:#f6efe233;flex:1;height:6px;overflow:hidden}.recap-segments span.done{background:var(--color-light,#d9a441)}.recap-segments span.active:after{content:"";background:var(--color-light,#d9a441);transform-origin:0;height:100%;animation:linear both recap-fill;animation-duration:inherit;display:block}@keyframes recap-fill{0%{transform:scaleX(0)}}.recap-card{text-align:center;justify-content:center;animation:.56s cubic-bezier(.16,1,.3,1) both recap-enter-forward;position:relative}.recap-card.back{animation-name:recap-enter-back}@keyframes recap-enter-forward{0%{opacity:0;transform:translate(48px)rotate(1.5deg)}}@keyframes recap-enter-back{0%{opacity:0;transform:translate(-48px)rotate(-1.5deg)}}.recap-segments span.paused:after{animation-play-state:paused}.recap-tap:focus-visible{outline:3px solid var(--color-light,#d9a441);outline-offset:-6px}@media (pointer:fine){.recap-tap-back:hover{background:linear-gradient(90deg,#f6efe20d,#0000)}.recap-tap-next:hover{background:linear-gradient(270deg,#f6efe20d,#0000)}}@keyframes recap-in{0%{opacity:0;transform:translateY(16px)scale(.97)}}.recap-tap{z-index:1;background:0 0;border:0;width:35%;padding:0;position:absolute;top:0;bottom:5rem}.recap-tap-back{left:0}.recap-tap-next{right:0}.recap-slide-content{justify-content:center;align-items:center;gap:calc(var(--u,4px) * 4);flex-direction:column;flex:1;display:flex}.recap-slide-content>*{animation:recap-in .64s var(--ease-out,ease-out) both}.recap-slide-content>:nth-child(2){animation-delay:.18s}.recap-slide-content>:nth-child(3){animation-delay:.36s}.recap-title{text-wrap:balance;font-family:var(--font-display);font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.15}.recap-title-big{color:var(--color-light,#d9a441);font-size:clamp(2.2rem,8vw,3.6rem)}.recap-number{font-family:var(--font-mono,"Geist Mono", ui-monospace, monospace);letter-spacing:-.04em;color:var(--color-light,#d9a441);font-variant-numeric:tabular-nums;font-size:clamp(2.8rem,11vw,5.5rem);font-weight:500;line-height:1}.recap-number.landed{animation:recap-land .42s var(--ease-out,ease-out) both}@keyframes recap-land{40%{transform:translateY(-6px)}}.recap-slide-metric .recap-slide-content{gap:calc(var(--u,4px) * 3)}@media (width>=40rem){.recap-card{height:min(46rem,100dvh - 8rem)}}@media (width<=40rem){.recap-card{height:max(24rem,100dvh - 13rem)}}.diorama{z-index:2;width:min(100%,42rem);transition:transform var(--dur-fast,.16s) var(--ease-out,ease-out);background:0 0;border:0;padding:0;line-height:0;position:relative;box-shadow:inset 0 -4px #14161d,0 0 0 4px #14161d}button.diorama{cursor:pointer}.diorama canvas{aspect-ratio:2;width:100%;image-rendering:pixelated}@media (hover:hover){button.diorama:hover{transform:translateY(-4px)}}button.diorama:active{transform:translateY(2px)}button.diorama:focus-visible{outline:4px solid var(--color-light,#d9a441);outline-offset:4px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.recap-line-lead{font-family:var(--font-display);text-wrap:balance;max-width:22ch;font-size:clamp(1.3rem,4vw,1.7rem)}.recap-line{max-width:28ch;font-size:1.2rem}.recap-projects{justify-content:center;gap:calc(var(--u,4px) * 3);flex-wrap:wrap;max-width:36rem;margin:0;padding:0;list-style:none;display:flex}.recap-projects li{font:700 clamp(1.05rem, 3vw, 1.3rem) / 1.2 var(--font-body,system-ui);color:var(--xmas-cream,#f6efe2);animation:recap-pop .42s var(--ease-out,ease-out) both;background:#1f2024;align-items:center;gap:10px;padding:12px 20px 14px;display:inline-flex;box-shadow:inset 0 -4px #14161d,0 0 0 2px #d9a44159}.recap-projects li:before{content:"";background:var(--xmas-gold,#d9a441);width:8px;height:8px}@keyframes recap-pop{0%{opacity:0;transform:scale(.6)}}.recap-team{justify-content:center;align-items:flex-end;gap:calc(var(--u,4px) * 2);flex-wrap:wrap;line-height:0;display:flex}.recap-team-member{min-width:4.5rem;animation:recap-pop .42s var(--ease-out,ease-out) both;flex-direction:column;align-items:center;gap:6px;display:flex}.arrival-text.compact{z-index:6;position:relative}.recap-team-name{color:var(--color-text);font-size:.85rem;line-height:1.2}.greeting-card{--paper:#f6efe2;--ink:#2b2d33;justify-content:center;gap:calc(var(--u,4px) * 4);width:min(100%,42rem);height:auto;padding:calc(var(--u,4px) * 9) calc(var(--u,4px) * 8) calc(var(--u,4px) * 6);text-align:center;color:var(--ink);background:linear-gradient(var(--paper), var(--paper)) padding-box, repeating-linear-gradient(-45deg, var(--xmas-magenta,#aa36b5) 0 12px, var(--paper) 12px 20px, var(--xmas-ice,#cde6f2) 20px 32px, var(--paper) 32px 40px) border-box;animation:greeting-arrive .7s var(--ease-out,ease-out) both;border:10px solid #0000;margin-inline:auto;position:relative;box-shadow:inset 0 -6px #d8ccb6,0 0 0 4px #14161d}@keyframes greeting-arrive{0%{opacity:0;transform:translateY(24px)rotate(-2deg)}}.greeting-postage{top:calc(var(--u,4px) * 4);right:calc(var(--u,4px) * 4);font:600 1rem/1 var(--font-display);color:#7d2686;outline-offset:-3px;background:#fffaf0;outline:3px dashed #a97f2e;justify-items:center;gap:4px;padding:8px 10px 6px;display:grid;position:absolute;transform:rotate(5deg)}.greeting-title{text-wrap:balance;max-width:calc(18ch + 9rem);font-family:var(--font-display);color:#7d2686;margin:0;margin-inline:auto;padding-inline:4.5rem;font-size:clamp(1.8rem,6vw,2.8rem);line-height:1.1}.greeting-card .greeting-text{max-width:36ch;margin:0 auto;font-size:1.15rem;line-height:1.55}.greeting-signature{justify-items:center;gap:calc(var(--u,4px) * 2);display:grid}.greeting-signers{border-bottom:2px dashed #b9ae99;flex-wrap:wrap;justify-content:center;align-items:end;gap:2px 6px;margin:0;padding:0 0 6px;list-style:none;display:flex}.greeting-signers li{animation:recap-in .52s var(--ease-out,ease-out) both}.greeting-sign{font:600 1.15rem var(--font-display);color:#7a4e2d;margin:0}.greeting-card .step-actions{justify-content:center;gap:calc(var(--u,4px) * 3)}.greeting-card .step-actions .step-back:first-child{margin-right:0}.greeting-card .step-back{color:var(--ink);text-underline-offset:4px;text-decoration:underline}@media (width<=40rem){.greeting-card{padding:calc(var(--u,4px) * 12) calc(var(--u,4px) * 5) calc(var(--u,4px) * 5)}.greeting-title{padding-inline:0}.greeting-postage{top:calc(var(--u,4px) * 2);right:calc(var(--u,4px) * 2);transform:rotate(5deg)scale(.8)}}@media (prefers-reduced-motion:reduce){.greeting-card,.greeting-signers li{animation:none}}.greeting-outcome{color:#5d5a63;min-height:1.5em;margin:0}@media (prefers-reduced-motion:reduce){.recap-card,.recap-number.landed,.recap-slide-content>*,.recap-projects li,.recap-team-member,.recap-segments span.active:after{animation:none}}@media (width<=40rem){.recap-team{gap:4px 2px}.recap-team-member{min-width:3.6rem}.recap-team-member>:first-child{zoom:.62}.recap-team-name{font-size:.75rem}}.wish-sky{align-items:center;gap:calc(var(--u,4px) * 4);flex-direction:column;width:min(100%,72rem);height:calc(100dvh - 17rem);min-height:24rem;margin-inline:auto;display:flex}@media (width<=40rem){.wish-sky{height:calc(100dvh - 14rem)}.wish-sky-hint{display:none}.wish-sky-actions{align-self:flex-start}}.wish-sky-title{font-family:var(--font-display);color:var(--color-light,#d9a441);text-shadow:0 2px #14161d,0 0 24px #d9a44159;text-wrap:balance;text-align:center;margin:0;font-size:clamp(1.6rem,4.5vw,2.4rem)}.wish-sky-hint{text-align:center;max-width:46ch;color:var(--color-text);text-shadow:0 1px 2px #14161d;margin:0}.wish-form{width:min(100%,30rem);padding:calc(var(--u,4px) * 3);background:#14161db8;box-shadow:0 0 0 3px #14161d,0 10px 24px #0006}.wish-sky-actions{justify-content:center;display:flex}.wish-form .step-text{height:auto;min-height:0}.wish-like-count{font-variant-numeric:tabular-nums;margin-left:6px}.wish-form-row{justify-content:space-between;align-items:center;gap:calc(var(--u,4px) * 3);margin-top:calc(var(--u,4px) * 2);display:flex}.wish-count{font-variant-numeric:tabular-nums}.wish-notes{place-content:flex-start center;gap:calc(var(--u,4px) * 8) calc(var(--u,4px) * 6);width:100%;min-height:0;padding:calc(var(--u,4px) * 10) calc(var(--u,4px) * 4) calc(var(--u,4px) * 6);scrollbar-width:none;flex-wrap:wrap;flex:auto;margin:0;list-style:none;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 2.5rem calc(100% - 2.5rem),#0000);mask-image:linear-gradient(#0000,#000 2.5rem calc(100% - 2.5rem),#0000)}.wish-empty{text-align:center;color:var(--xmas-cream,#f6efe2);grid-column:1/-1;align-self:center}.wish-note{justify-content:space-between;gap:calc(var(--u,4px) * 2);min-height:7rem;padding:calc(var(--u,4px) * 5) calc(var(--u,4px) * 3) calc(var(--u,4px) * 2);color:#2b2d33;overflow-wrap:anywhere;transform-origin:50% -2.5rem;width:13rem;rotate:var(--tilt,0deg);flex-direction:column;animation:.42s cubic-bezier(.34,1.56,.64,1) both wish-pin;display:flex;position:relative;box-shadow:0 6px 10px #00000059}.wish-note:after{content:"";background:linear-gradient(#0000,#f6efe28c);width:1px;height:2.5rem;position:absolute;bottom:calc(100% - 6px);left:50%}.wish-note:not(:hover){animation:wish-pin .42s cubic-bezier(.34, 1.56, .64, 1) both, wish-sway 5s ease-in-out var(--sway-delay,0s) infinite alternate}@keyframes wish-sway{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}.wish-note:before{content:"";background:var(--xmas-magenta,#aa36b5);width:10px;height:10px;position:absolute;top:6px;left:50%;translate:-50%;box-shadow:inset -2px -2px #7d2686,0 2px 2px #0006}.wish-note p{margin:0;font-size:.95rem;line-height:1.35}.note-cream{background:#f6efe2}.note-rose{background:#f2c4d8}.note-ice{background:#cde6f2}.note-gold{background:#f0d48e}.wish-like{font:inherit;color:#2b2d33;background:#2b2d331a;border:0;align-self:flex-end;padding:2px 10px;font-weight:700}.wish-like:hover{background:#2b2d3333}.wish-like.liked{color:#f6efe2;background:var(--xmas-magenta,#aa36b5)}.wish-like:focus-visible{outline-offset:2px;outline:3px solid #2b2d33}@keyframes wish-pin{0%{opacity:0;transform:translateY(-16px)scale(1.06)}}@media (prefers-reduced-motion:reduce){.wish-note,.wish-note:not(:hover){animation:none}}.wish-pending{color:#5a4a3a;align-self:flex-end;font-size:.8rem;font-style:italic}.wish-board-hint{margin:0}.theme-frame[data-focus] .year-banner{display:none}.market-hint{font-family:var(--font-display);color:var(--color-text);background:#14161db3;padding:6px 14px;box-shadow:0 0 0 3px #14161d}.venue-signs{z-index:7;pointer-events:none;position:absolute;inset:0}.venue-sign{font-family:var(--font-display);white-space:nowrap;color:var(--xmas-cream,#f6efe2);background:var(--xmas-wood,#7a4e2d);pointer-events:auto;transform-origin:50% -40px;border:0;align-items:center;gap:8px;padding:8px 14px 9px;font-size:clamp(.95rem,2.2vw,1.25rem);animation:.7s cubic-bezier(.34,1.56,.64,1) both sign-drop,4.5s ease-in-out .7s infinite alternate sign-sway;display:inline-flex;position:absolute;translate:-50% -100%;box-shadow:inset 0 -4px #5a3820,inset 0 3px #9a6a42,0 0 0 3px #2b1a0e,0 8px 14px #00000073}.venue-sign:before,.venue-sign:after{content:"";background:#2b1a0e;width:2px;height:18px;position:absolute;bottom:100%}.venue-sign:before{left:18%}.venue-sign:after{right:18%}.venue-sign:hover{background:#8d5b35}.venue-sign:focus-visible{outline:3px solid var(--color-light,#d9a441);outline-offset:4px}.venue-sign.at-edge.left{translate:0 -100%;left:8px!important}.venue-sign.at-edge.right{translate:-100% -100%;left:calc(100% - 8px)!important}.venue-arrow{border-block:6px solid #0000;width:0;height:0}.left .venue-arrow{border-right:8px solid}.right .venue-arrow{border-left:8px solid}@keyframes sign-drop{0%{opacity:0;transform:translateY(-40px)rotate(-6deg)}}@keyframes sign-sway{0%{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg)}}.in-stall{justify-items:center;gap:calc(var(--u,4px) * 3);width:100%;display:grid}.stall-leave{z-index:16;font-family:var(--font-display);color:var(--xmas-cream,#f6efe2);background:var(--xmas-wood,#7a4e2d);cursor:pointer;animation:stall-content-in .5s .7s var(--ease-out,ease-out) both;border:0;align-items:center;gap:10px;padding:10px 16px 11px;font-size:1.1rem;display:inline-flex;position:fixed;top:64px;left:16px;box-shadow:inset 0 -4px #5a3820,inset 0 3px #9a6a42,0 0 0 3px #2b1a0e,0 8px 14px #00000073}.stall-leave:hover{background:#8d5b35}.stall-leave:active{translate:0 2px}.stall-leave-arrow{border-block:7px solid #0000;border-right:9px solid;width:0;height:0}.stall-leave:focus-visible{outline:3px solid var(--color-light,#d9a441);outline-offset:3px}.stall-wall{transform-origin:50% 0;width:100%;animation:.9s cubic-bezier(.34,1.4,.64,1) .65s both stall-hang;position:relative}.stall-wall:before{content:"";pointer-events:none;border-inline:2px solid #2b1a0e;height:28px;position:absolute;bottom:calc(100% - 4px);left:20%;right:20%}@keyframes stall-hang{0%{opacity:0;transform:translateY(-60px)rotate(-3deg)}60%{transform:translateY(4px)rotate(1deg)}}@keyframes stall-content-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.venue-sign,.stall-wall,.stall-leave{animation:none}}.theme-frame[data-focus] .scene-crowd,.theme-frame[data-focus] .mascot-npc{opacity:0;pointer-events:none}.stall-wall:has(.wish-sky):before{display:none}@media (width<=40rem){.in-stall{padding-top:3.25rem}.stall-leave{top:12px}}.golden-snowflake{z-index:20;color:#ffd56b;cursor:pointer;will-change:transform;background:0 0;border:0;place-items:center;width:56px;height:56px;margin:-28px 0 0 -28px;padding:0;display:grid;position:fixed;top:0;left:0}.golden-snowflake:before{content:"";animation:golden-pulse 1.4s var(--ease-out,ease-out) infinite;background:radial-gradient(circle,#ffd56b8c 0%,#d9a44140 40%,#0000 70%);border-radius:50%;position:absolute;inset:0}.golden-snowflake svg{fill:currentColor;filter:drop-shadow(0 0 3px #ffd56b)drop-shadow(0 0 8px #d9a441e6);animation:1.4s ease-in-out infinite golden-glint;position:relative}.golden-snowflake:focus-visible{outline:3px solid var(--xmas-cream,#f6efe2);outline-offset:-4px}@keyframes golden-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}@keyframes golden-glint{50%{transform:scale(1.18)rotate(45deg)}}@media (prefers-reduced-motion:reduce){.golden-snowflake:before,.golden-snowflake svg{animation:none}}.offer-card{height:auto;max-height:calc(100dvh - 2rem);overflow-y:auto}.offer-list{gap:calc(var(--u,4px) * 4);margin:0;padding:0;list-style:none;display:grid}.offer-item{gap:calc(var(--u,4px) * 2);padding:calc(var(--u,4px) * 4);background:#1f2024;display:grid;box-shadow:inset 0 -4px #14161d}.offer-item h4{font:700 1.15rem var(--font-body,system-ui);color:var(--xmas-cream,#f6efe2);margin:0}.offer-item p{color:var(--color-muted);margin:0}.offer-price{align-items:baseline;gap:calc(var(--u,4px) * 3);font-family:var(--font-mono,"Geist Mono", ui-monospace, monospace);flex-wrap:wrap;display:flex}.offer-price s{color:var(--color-muted)}.offer-price strong{color:var(--xmas-gold,#d9a441);font-size:1.4rem;font-weight:500}.offer-duration{color:var(--color-muted);font-size:.85rem}.offer-link{color:var(--color-accent);text-underline-offset:3px;justify-self:start;font-weight:700}.offer-link:focus-visible{outline:3px solid var(--color-light,#d9a441);outline-offset:2px}.recap-year{font-family:var(--font-mono,"Geist Mono", ui-monospace, monospace);letter-spacing:-.04em;font-weight:500}.recap-approx{letter-spacing:0;vertical-align:.35em;color:var(--color-muted);margin-right:.25em;font-size:.42em;font-weight:500}.wish-share{justify-content:center;align-items:center;gap:calc(var(--u,4px) * 3);flex-wrap:wrap;display:flex}
