:root{--cream:#fff8f0;--cream-deep:#fff0e0;--parchment:#faf0e4;--coral:#ff7b72;--coral-light:#ffada9;--coral-pale:#ffe8e7;--coral-dark:#d45050;--lavender:#b09fe8;--lavender-light:#d4cbff;--lavender-pale:#ede8ff;--lavender-dark:#7b65c8;--yuzu:#ffd166;--yuzu-light:#ffe9a8;--yuzu-pale:#fff8dc;--mint:#78d9b0;--mint-light:#b0edd3;--mint-pale:#e0faf0;--peach:#ffb085;--peach-light:#ffd0b0;--peach-pale:#fff0e6;--sky:#89d4f0;--sky-pale:#e4f6ff;--plum:#2d1b4e;--plum-mid:#5a3d7a;--plum-muted:#9580b8;--plum-faint:#e8e0f4;--surface:var(--cream);--surface-raised:var(--parchment);--surface-sunken:var(--cream-deep);--surface-overlay:rgba(255,248,240,.88);--ink:var(--plum);--ink-secondary:var(--plum-mid);--ink-muted:var(--plum-muted);--ink-on-accent:#fff;--accent:var(--coral);--accent-hover:var(--coral-dark);--accent-pale:var(--coral-pale);--accent-ink:var(--coral-dark);--accent-2:var(--lavender);--accent-2-pale:var(--lavender-pale);--badge-new:var(--mint);--badge-hot:var(--coral);--badge-classic:var(--lavender);--badge-featured:var(--yuzu);--border:var(--plum-faint);--border-focus:var(--coral);--font-heading:"Zen Maru Gothic","M PLUS Rounded 1c",system-ui,sans-serif;--font-body:"Nunito","Varela Round",system-ui,sans-serif;--font-mono:"Courier New",Courier,monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:3rem;--lh-tight:1.2;--lh-snug:1.35;--lh-normal:1.55;--lh-relaxed:1.65;--lh-loose:1.8;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:900;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--r-sm:.5rem;--r-md:.75rem;--r-lg:1rem;--r-xl:1.5rem;--r-pill:9999px;--shadow-sm:0 2px 6px rgba(45,27,78,.08),0 1px 2px rgba(45,27,78,.04);--shadow-md:0 6px 18px rgba(45,27,78,.12),0 2px 6px rgba(255,123,114,.08);--shadow-lg:0 12px 32px rgba(45,27,78,.16),0 4px 10px rgba(255,123,114,.1);--ease-bounce:cubic-bezier(.34,1.56,.64,1);--ease-smooth:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(0,0,.2,1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--container-max:1200px;--container-pad:var(--s-4);--header-h:64px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--fw-normal);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:var(--ink);font-family:var(--font-heading);font-weight:var(--fw-bold);line-height:var(--lh-snug)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm)}p{color:var(--ink-secondary);line-height:var(--lh-relaxed)}p+p{margin-top:var(--s-4)}small{color:var(--ink-muted);font-size:var(--text-sm)}a{color:var(--accent-ink);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:color var(--duration-fast) var(--ease-smooth),text-decoration-color var(--duration-fast) var(--ease-smooth)}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}a:focus-visible{border-radius:var(--r-sm);outline:3px solid var(--border-focus);outline-offset:3px}ol,ul{line-height:var(--lh-relaxed);padding-left:var(--s-5)}li+li{margin-top:var(--s-1)}img,svg{display:block;height:auto;max-width:100%}.container{margin-inline:auto;max-width:var(--container-max);padding-inline:var(--container-pad);width:100%}.stack>*+*{margin-top:var(--s-4)}.stack-sm>*+*{margin-top:var(--s-2)}.stack-lg>*+*{margin-top:var(--s-6)}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}:focus-visible{outline:3px solid var(--border-focus);outline-offset:3px}::-moz-selection{background-color:var(--lavender-light);color:var(--plum)}::selection{background-color:var(--lavender-light);color:var(--plum)}
