@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:0 0% 100%;--foreground:0 0% 0%;--card:0 0% 100%;--primary:0 0% 0%;--primary-foreground:0 0% 100%;--muted:0 0% 95%;--muted-foreground:0 0% 40%;--border:0 0% 90%;--ring:0 0% 0%;--radius:.75rem;--destructive:0 72% 45%;--destructive-ink:0 72% 37%;--warning:32 95% 34%;--warning-ink:32 95% 26%;--success:142 76% 28%;--success-ink:142 76% 22%;--info:199 89% 32%;--info-ink:199 89% 26%;--shadow:0 1px 3px 0 #00000014, 0 1px 2px -1px #00000014;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;border-color:hsl(var(--border))}html,body{margin:0}body{background:linear-gradient(180deg, #fafafa 0%, hsl(var(--background)) 320px);color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,Segoe UI,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5rem;line-height:1.2}h1{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:750}h2{align-items:center;gap:.5rem;font-size:1.15rem;font-weight:650;display:flex}h3{margin-top:1.5rem;font-size:1rem;font-weight:650}p{margin:0 0 .5rem}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:60;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:calc(var(--radius) - 2px);padding:.5rem 1rem;top:1rem;left:1rem}.muted{color:hsl(var(--muted-foreground))}.nowrap{white-space:nowrap}.topbar{z-index:40;background:hsl(var(--background) / .9);border-bottom:1px solid hsl(var(--border));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:980px;margin:0 auto;padding:.75rem 1rem;display:flex}.brand{align-items:center;gap:.75rem;min-width:0;display:flex}.brand-logo{width:auto;height:26px}.brand-sep{background:hsl(var(--border));width:1px;height:22px}.brand-name{white-space:nowrap;font-weight:700}.brand-sub{color:hsl(var(--muted-foreground));white-space:nowrap}.topbar-right{align-items:center;gap:.75rem;display:flex}.tabs{background:hsl(var(--muted));border-radius:var(--radius);gap:.25rem;padding:.25rem;display:flex}.tab,.subtab{font:inherit;border-radius:calc(var(--radius) - 4px);cursor:pointer;color:hsl(var(--foreground));background:0 0;border:0;padding:.4rem .8rem;font-weight:550}.tab-on,.subtab-on{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.avatar{background:hsl(var(--primary));width:36px;height:36px;color:hsl(var(--primary-foreground));font:inherit;cursor:pointer;border:0;border-radius:999px;font-size:.85rem;font-weight:650}.page{flex-direction:column;gap:1rem;max-width:980px;margin:0 auto;padding:1.25rem 1rem 3rem;display:flex}.footer{text-align:center;color:hsl(var(--muted-foreground));padding:1rem 1rem 2rem;font-size:.85rem}.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;animation:.4s ease-out both rise-in}.loading{text-align:center;padding:3rem 1rem}.loading-emoji{font-size:3rem;animation:1.2s ease-in-out infinite wobble;display:inline-block}.notice-error{border-color:hsl(var(--destructive));color:hsl(var(--destructive-ink))}.error{color:hsl(var(--destructive-ink));font-weight:550}.hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.hero-text{flex:360px;min-width:0}.hero-center{text-align:center;flex-direction:column;padding:3rem 1.5rem}.hero-emoji{font-size:4rem}.eyebrow{color:hsl(var(--muted-foreground));font-weight:600}.lead{color:#333;font-size:1.05rem}.hero-stats{flex-direction:column;align-items:center;display:flex}.ring-caption{color:hsl(var(--muted-foreground));margin-top:.25rem;font-size:.85rem}.my-choice{background:hsl(var(--success) / .1);color:hsl(var(--success-ink));border-radius:calc(var(--radius) - 2px);margin-top:.75rem;padding:.6rem .8rem}.my-choice .muted{color:hsl(var(--success-ink))}.pill{border-radius:999px;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.35rem .75rem;font-size:.9rem;font-weight:600;display:inline-flex}.pill-open{background:hsl(var(--info) / .12);color:hsl(var(--info-ink))}.pill-closed{background:hsl(var(--muted));color:hsl(var(--foreground))}.pill-sub{font-weight:450}.ring{width:132px;height:132px;margin:0;position:relative}.ring svg{display:block}.ring-track{fill:none;stroke:hsl(var(--muted));stroke-width:12px}.ring-value{fill:none;stroke:hsl(var(--primary));stroke-width:12px;stroke-linecap:round;transition:stroke-dasharray .8s ease-out}.ring figcaption{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring strong{font-size:2rem;font-weight:750;line-height:1}.ring span{color:hsl(var(--muted-foreground));font-size:.85rem}.step{background:hsl(var(--primary));width:1.6rem;height:1.6rem;color:hsl(var(--primary-foreground));border-radius:999px;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;margin-top:.75rem;display:grid}.menu-card{text-align:left;font:inherit;color:inherit;background:hsl(var(--card));border:2px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;transition:transform .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out;display:flex;position:relative}.menu-card:hover:not(:disabled){box-shadow:var(--shadow-lg);border-color:#999}.menu-card:active:not(:disabled){transform:scale(.98)}.menu-card-on{border-color:hsl(var(--primary));box-shadow:var(--shadow-lg);background:#fafafa}.menu-card:disabled{cursor:not-allowed}.menu-emoji{margin-bottom:.25rem;font-size:2.75rem;line-height:1.1}.menu-card-on .menu-emoji{animation:.35s ease-out pop}.menu-letter{color:hsl(var(--muted-foreground));font-size:.8rem;font-weight:700}.menu-name{font-size:1.05rem;font-weight:650}.menu-desc{color:hsl(var(--muted-foreground));font-size:.85rem}.menu-foot{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:auto;padding-top:.5rem;display:flex}.menu-count{color:hsl(var(--muted-foreground));font-size:.8rem}.check{background:hsl(var(--primary));width:1.6rem;height:1.6rem;color:hsl(var(--primary-foreground));border-radius:999px;justify-content:center;align-items:center;font-weight:700;animation:.3s ease-out pop;display:flex;position:absolute;top:.6rem;right:.6rem}.badge{border-radius:999px;align-items:center;gap:.2rem;margin-left:.35rem;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.menu-foot .badge{margin-left:0}.badge-fav{background:hsl(var(--warning));color:#fff;box-shadow:var(--shadow);margin:0;position:absolute;top:-.65rem;left:.75rem}.badge-veg,.badge-vegan{background:hsl(var(--success) / .12);color:hsl(var(--success-ink))}.badge-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.skip{width:100%;font:inherit;border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:1px dashed #b3b3b3;margin-top:.9rem;padding:.7rem}.skip-on{border-style:solid;border-color:hsl(var(--primary));color:hsl(var(--foreground));background:hsl(var(--muted));font-weight:600}.chips{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.chip{font:inherit;border:1px solid hsl(var(--border));background:hsl(var(--card));cursor:pointer;color:inherit;border-radius:999px;padding:.45rem .9rem}.chip-on{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.field{flex-direction:column;gap:.3rem;margin-top:.9rem;font-size:.9rem;font-weight:550;display:flex}.input{font:inherit;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));width:100%;min-height:2.5rem;color:inherit;padding:.5rem .75rem;font-weight:400}textarea.input{resize:vertical;min-height:5rem}.savebar{z-index:30;border-radius:var(--radius);background:hsl(var(--background) / .9);border:1px solid hsl(var(--border));box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;align-items:center;gap:.4rem;padding:.75rem;display:flex;position:sticky;bottom:.75rem}.savebar p{margin:0}.btn{font:inherit;border-radius:calc(var(--radius) - 2px);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-weight:600;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover:not(:disabled){background:#262626}.btn-outline{background:hsl(var(--background));border-color:hsl(var(--border));color:inherit}.btn-ghost{color:inherit;background:0 0}.btn-ghost:hover{background:hsl(var(--muted))}.btn-danger{color:hsl(var(--destructive-ink))}.btn-small{padding:.3rem .6rem;font-size:.85rem}.btn-big{min-width:min(100%,280px);padding:.85rem 2.5rem;font-size:1.05rem}.bars{flex-direction:column;gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.bars li{grid-template-columns:minmax(120px,1.2fr) 2fr 2.5rem;align-items:center;gap:.75rem;display:grid}.bars-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bars-track{width:100%;height:12px;display:block}.bars-bg{fill:hsl(var(--muted))}.bars-fill{fill:#595959;transition:width .6s ease-out}.bars-fill-top{fill:hsl(var(--primary))}.bars-count{text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.confetti{z-index:70;pointer-events:none;width:0;height:0;position:fixed;bottom:4rem;left:50%}.piece{font-size:1.6rem;animation:1.4s cubic-bezier(.2,.7,.3,1) both burst;position:absolute}.piece-1{--x:-180px;--y:-320px;--r:-40deg}.piece-2{--x:-120px;--y:-400px;--r:30deg}.piece-3{--x:-60px;--y:-300px;--r:-20deg}.piece-4{--x:0px;--y:-440px;--r:50deg}.piece-5{--x:60px;--y:-340px;--r:-60deg}.piece-6{--x:120px;--y:-410px;--r:25deg}.piece-7{--x:180px;--y:-300px;--r:-30deg}.piece-8{--x:-220px;--y:-220px;--r:70deg}.piece-9{--x:220px;--y:-230px;--r:-70deg}.piece-10{--x:-30px;--y:-260px;--r:15deg}.piece-11{--x:30px;--y:-380px;--r:-15deg}.piece-12{--x:90px;--y:-250px;--r:45deg}.toast{z-index:80;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.75rem 1.25rem;font-weight:600;animation:.3s ease-out both toast-in;position:fixed;top:4.5rem;left:50%;transform:translate(-50%)}.admin-title{font-size:1.4rem}.subtabs{flex-wrap:wrap;gap:.25rem;margin-top:.5rem;display:flex}.subtab{border:1px solid hsl(var(--border))}.admin-hero{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.tiles{flex:360px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.tile{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);flex-direction:column;padding:.75rem;display:flex}.tile strong{font-size:1.5rem}.tile span{color:hsl(var(--muted-foreground));font-size:.85rem}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.row-end{justify-content:flex-end;margin-top:1rem;display:flex}.summary{background:hsl(var(--muted));border-radius:calc(var(--radius) - 2px);white-space:pre-wrap;margin:.75rem 0 0;padding:1rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem}.table-wrap{margin-top:.75rem;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));white-space:nowrap;background:#f7f7f7;padding:.6rem .75rem;font-size:.75rem}.table td{vertical-align:top;border-top:1px solid #ebebeb;padding:.55rem .75rem}.num{text-align:right;font-variant-numeric:tabular-nums}.row-dim{color:hsl(var(--muted-foreground))}.name-list{margin-top:.5rem}.edit-list{flex-direction:column;gap:.75rem;margin:.75rem 0;padding:0;list-style:none;display:flex}.edit-row{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);padding:.25rem .9rem .75rem}.edit-fields{flex-wrap:wrap;gap:0 .75rem;display:flex}.field-xs{flex:0 0 5rem}.field-grow{flex:200px}.field-wide{flex:2 260px}.edit-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.check-label{cursor:pointer;align-items:center;gap:.45rem;display:inline-flex}.check-label input{width:1.05rem;height:1.05rem;accent-color:hsl(var(--primary))}.two-col{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:.75rem;display:grid}.checks{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);flex-direction:column;gap:.45rem;padding:.5rem 1rem .9rem;display:flex}.checks legend{padding:0 .25rem;font-weight:650}.people{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);max-height:420px;margin:.75rem 0 0;padding:0;list-style:none;overflow-y:auto}.people li{border-top:1px solid #f0f0f0;padding:.45rem .75rem}.people li:first-child{border-top:0}.inline-form{gap:.5rem;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:end;gap:0 1rem;display:grid}.field-span{grid-column:1/-1}.switch{min-height:2.5rem;margin-top:.9rem;font-weight:550}@keyframes rise-in{0%{transform:translateY(10px)}to{transform:translateY(0)}}@keyframes toast-in{0%{transform:translate(-50%,8px)}to{transform:translate(-50%)}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes wobble{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes burst{0%{opacity:1;transform:translate(0)rotate(0)scale(.4)}60%{transform:translate(var(--x), var(--y)) rotate(var(--r)) scale(1.1);opacity:1}to{transform:translate(var(--x), calc(var(--y) + 160px)) rotate(var(--r)) scale(1);opacity:0}}@media (width<=600px){.brand-sep,.brand-sub{display:none}.hero-stats{width:100%}.bars li{grid-template-columns:1fr 2.5rem}.bars-track{grid-area:2/1/auto/-1}.inline-form{flex-direction:column}}@media (prefers-reduced-motion:reduce){html:not(.force-motion) *,html:not(.force-motion) :before,html:not(.force-motion) :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html:not(.force-motion) .confetti{display:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1.5px}.sound-toggle{border:1px solid hsl(var(--border));background:hsl(var(--background));cursor:pointer;border-radius:999px;width:36px;height:36px;font-size:1.05rem}.footer p{margin:.2rem 0}.hero-mascot{flex:none}.mascot .m-body{transform-origin:60px 104px;animation:2.6s ease-in-out infinite bob}.mascot-5 .m-body{animation:.9s ease-in-out infinite jump}.mascot-1 .m-body{animation:.5s ease-in-out infinite shake}.m-shadow{fill:#00000014}.m-bread{fill:#eabe7b;stroke:#916130;stroke-width:2.5px}.m-crust{fill:none;stroke:#91613059;stroke-width:2px;stroke-linecap:round}.m-lettuce{fill:#49b234}.m-tomato{fill:#e24236}.m-cheese{fill:#facf42}.m-eye{fill:#1a1a1a}.m-glint{fill:#fff}.m-cheek{fill:#f0758a99}.m-line{fill:none;stroke:#1a1a1a;stroke-width:3px;stroke-linecap:round}.m-mouth-open{fill:#8f2436;stroke:#1a1a1a;stroke-width:2.5px;stroke-linejoin:round}.m-star{fill:#ffc400;stroke:#a15912;stroke-width:1px}.pills{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.pill-lunch{background:hsl(var(--warning) / .12);color:hsl(var(--warning-ink))}.menu-card{animation:.45s ease-out both rise-in}.menu-card:nth-child(2){animation-delay:50ms}.menu-card:nth-child(3){animation-delay:.1s}.menu-card:nth-child(4){animation-delay:.15s}.menu-card:nth-child(5){animation-delay:.2s}.menu-card:nth-child(6){animation-delay:.25s}.menu-card:hover:not(:disabled) .menu-emoji{animation:.5s ease-in-out wiggle}.menu-card-lit{border-color:hsl(var(--warning));background:hsl(var(--warning) / .1);box-shadow:0 0 0 4px hsl(var(--warning) / .25);transform:scale(1.04)}.btn-spin{font-weight:650}.info{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:#fbfbfb;margin-top:1rem;padding:.9rem 1rem;animation:.3s ease-out both rise-in}.info-empty{align-items:center;gap:.75rem;display:flex}.info-empty p{margin:0}.info-title{margin:0 0 .6rem}.info-row{grid-template-columns:11.5rem 1fr;align-items:start;gap:.75rem;margin-bottom:.5rem;display:grid}.info-row p{margin:0}.source{white-space:nowrap;border-radius:999px;justify-self:start;padding:.15rem .55rem;font-size:.78rem;font-weight:650;display:inline-block}.source-macca{background:hsl(var(--success) / .12);color:hsl(var(--success-ink))}.source-est{background:hsl(var(--info) / .12);color:hsl(var(--info-ink))}.source-fact{color:#58319b;background:#673ab61f}.info-allergy{color:hsl(var(--destructive-ink));margin:.4rem 0 0;font-size:.85rem;font-weight:550}.moods{grid-template-columns:repeat(5,1fr);gap:.5rem;margin-top:.5rem;display:grid}.mood{font:inherit;color:inherit;border:2px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));cursor:pointer;flex-direction:column;align-items:center;gap:.25rem;padding:.6rem .25rem;transition:transform .15s ease-out;display:flex}.mood:hover:not(:disabled){transform:translateY(-3px)}.mood-on{border-color:hsl(var(--primary));background:#f7f7f7}.mood-on .mood-face{animation:.35s ease-out pop}.mood-face{font-size:2rem;line-height:1}.mood-label{text-align:center;color:hsl(var(--muted-foreground));font-size:.78rem}.moodmeter{margin-top:1.25rem}.mood-bars{grid-template-columns:repeat(5,1fr);gap:.5rem;max-width:360px;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.mood-bars li{flex-direction:column;align-items:center;gap:.2rem;display:flex}.mood-bars svg{width:14px;height:48px}.mood-bars .mood-face{font-size:1.4rem}.btn-pulse{animation:1.8s ease-in-out infinite pulse}.joke-text{font-size:1.1rem;font-weight:550;animation:.35s ease-out both rise-in}.quiz-step{animation:.35s ease-out both rise-in}.quiz-count{color:hsl(var(--muted-foreground));margin:0;font-size:.8rem}.quiz-q{font-size:1.15rem;font-weight:650}.chip-big{padding:.6rem 1.1rem;font-size:1rem}.quiz-result{text-align:center}.quiz-result .chips{justify-content:center}.quiz-emoji{font-size:3.5rem;animation:.5s ease-out pop;display:inline-block}.overlay{z-index:90;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.reveal{background:hsl(var(--card));border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:420px;padding:1.5rem 1.25rem;animation:.45s cubic-bezier(.2,.9,.3,1.3) both reveal-in}.reveal-mascot{justify-content:center;display:flex}.reveal-title{justify-content:center;margin:.25rem 0 .75rem;font-size:1.3rem}.reveal-badges{flex-direction:column;align-items:center;gap:.4rem;margin-bottom:1rem;display:flex}.reveal .badge{margin:0;padding:.3rem .7rem;font-size:.85rem}.badge-bird{background:hsl(var(--info) / .12);color:hsl(var(--info-ink))}.badge-same{background:hsl(var(--success) / .12);color:hsl(var(--success-ink))}.field-span-row{flex:100%}.overlay-light{pointer-events:none;background:#00000040}.slot{background:hsl(var(--card));border:3px solid hsl(var(--primary));border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow-lg);text-align:center;width:min(320px,90vw);padding:1rem 1.5rem 1.25rem;animation:.3s ease-out both reveal-in}.slot-title{margin:0 0 .5rem;font-weight:700}.slot-reel{border-radius:var(--radius);background:hsl(var(--muted));flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 0;animation:.12s ease-out both reel;display:flex;overflow:hidden}.slot-emoji{font-size:3.5rem;line-height:1.1}.slot-name{font-weight:650}.slot-landed{border-color:hsl(var(--warning))}.slot-landed .slot-reel{background:hsl(var(--warning) / .15);animation:.5s ease-out both pop}@keyframes reel{0%{transform:translateY(-40%)}to{transform:translateY(0)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes jump{0%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-12px)scale(.96,1.05)}60%{transform:translateY(0)scale(1.05,.95)}}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)scale(1.1)}75%{transform:rotate(12deg)scale(1.1)}}@keyframes pulse{0%,to{box-shadow:0 0 #00000059}50%{box-shadow:0 0 0 8px #0000}}@keyframes reveal-in{0%{transform:translateY(24px)scale(.85)}to{transform:translateY(0)scale(1)}}@media (width<=600px){.topbar-inner{gap:.5rem;padding:.6rem .75rem}.brand-name{display:none}.topbar-right{gap:.4rem}.tab{white-space:nowrap;padding:.35rem .6rem;font-size:.9rem}.hero{gap:.75rem}.hero-mascot{flex:40%;order:0;justify-content:center;display:flex}.hero-stats{flex:40%;order:1;width:auto}.hero-text{flex:100%;order:2}.ring,.ring svg{width:104px;height:104px}.ring strong{font-size:1.6rem}.menu-grid{grid-template-columns:1fr;gap:.6rem}.menu-card{grid-template-columns:3.2rem 1fr;align-items:start;gap:.1rem .75rem;padding:.85rem;display:grid}.menu-card>*{grid-column:2}.menu-card>.menu-emoji{grid-area:1/1/span 4;margin:0;font-size:2.6rem}.menu-card>.check,.menu-card>.badge-fav{grid-column:auto}.menu-foot{padding-top:.35rem}.row-between>.btn-spin{width:100%}.info-row{grid-template-columns:1fr;gap:.25rem}.moods{gap:.3rem}.mood-label{font-size:.68rem}.mood-face{font-size:1.7rem}}@media (prefers-reduced-motion:reduce){html:not(.force-motion) .mascot .m-body,html:not(.force-motion) .btn-pulse{animation:none}}.narrator{z-index:85;align-items:flex-end;gap:.5rem;max-width:min(420px,100vw - 2rem);animation:.35s cubic-bezier(.2,.9,.3,1.3) both reveal-in;display:flex;position:fixed;bottom:1rem;left:1rem}.narrator-face{flex:none}.narrator-talking .mascot .m-body{animation:.28s ease-in-out infinite talk}.narrator-bubble{background:hsl(var(--card));border:2px solid hsl(var(--primary));border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-lg);border-bottom-left-radius:4px;padding:.6rem .85rem .5rem;position:relative}.narrator-text{margin:0;font-weight:600}.narrator-note{color:hsl(var(--muted-foreground));margin:.3rem 0 0;font-size:.7rem}.narrator-close{border:1px solid hsl(var(--border));background:hsl(var(--background));cursor:pointer;border-radius:999px;align-self:flex-start;width:28px;height:28px;font-size:.8rem}@keyframes talk{0%,to{transform:scale(1)}50%{transform:scale(1.04,.95)}}@media (width<=600px){.narrator{max-width:none;bottom:5.5rem;left:.5rem;right:.5rem}}.view{flex-direction:column;gap:1rem;animation:.45s cubic-bezier(.2,.9,.3,1.15) both view-in;display:flex}@keyframes view-in{0%{transform:translate(40px)rotate(1deg)}to{transform:translate(0)rotate(0)}}.mascot-button{cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0;position:relative}.mascot-squish{animation:.35s ease-out squish;display:inline-block}.is-dizzy .mascot-squish{animation:.7s linear infinite dizzy}.dizzy-stars{font-size:1.6rem;animation:.9s linear infinite orbit;position:absolute;top:-.4rem;left:50%}@keyframes squish{0%{transform:scale(1)}30%{transform:scale(1.25,.75)}60%{transform:scale(.9,1.15)}to{transform:scale(1)}}@keyframes dizzy{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit{0%{transform:translate(-50%)rotate(0)translate(28px)}to{transform:translate(-50%)rotate(360deg)translate(28px)}}.milestone{margin:.6rem 0 0;font-weight:650;animation:.6s ease-out both wobble-in}.pill-urgent{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground));animation:1s ease-in-out infinite alarm}@keyframes alarm{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes wobble-in{0%{transform:scale(.6)rotate(-6deg)}60%{transform:scale(1.08)rotate(2deg)}to{transform:scale(1)rotate(0)}}.burst{pointer-events:none;z-index:3;width:0;height:0;position:absolute;top:40%;left:50%}.bit{font-size:1.5rem;animation:.8s cubic-bezier(.1,.8,.3,1) both bit;position:absolute}.bit-1{--bx:-70px;--by:-60px}.bit-2{--bx:70px;--by:-60px}.bit-3{--bx:-90px;--by:10px}.bit-4{--bx:90px;--by:10px}.bit-5{--bx:-40px;--by:-100px}.bit-6{--bx:40px;--by:-100px}.bit-7{--bx:-50px;--by:60px}.bit-8{--bx:50px;--by:60px}@keyframes bit{0%{opacity:1;transform:translate(-50%,-50%)scale(.3)}70%{opacity:1}to{transform:translate(calc(-50% + var(--bx)), calc(-50% + var(--by))) scale(1.2) rotate(40deg);opacity:0}}.combo{text-align:center;letter-spacing:.04em;color:hsl(var(--destructive-ink));margin:.4rem 0 0;font-size:1.6rem;font-weight:900;animation:.5s cubic-bezier(.2,1.4,.4,1) both combo}@keyframes combo{0%{transform:scale(.3)rotate(-12deg)}to{transform:scale(1)rotate(-3deg)}}.shake{animation:.5s ease-in-out jolt}@keyframes jolt{0%,to{transform:translate(0)}20%{transform:translate(-6px,2px)}40%{transform:translate(6px,-2px)}60%{transform:translate(-4px,1px)}80%{transform:translate(4px,-1px)}}.rain{z-index:95;pointer-events:none;position:fixed;inset:0;overflow:hidden}.drop{font-size:2rem;animation:2.8s linear both fall;position:absolute;top:-3rem}.drop-1{animation-delay:0s;left:2%}.drop-2{font-size:2.6rem;animation-delay:.6s;left:6%}.drop-3{animation-delay:.2s;left:10%}.drop-4{animation-delay:1s;left:14%}.drop-5{font-size:1.6rem;animation-delay:.4s;left:18%}.drop-6{animation-delay:1.2s;left:22%}.drop-7{font-size:2.8rem;animation-delay:.1s;left:26%}.drop-8{animation-delay:.8s;left:30%}.drop-9{animation-delay:.3s;left:34%}.drop-10{font-size:1.5rem;animation-delay:1.1s;left:38%}.drop-11{animation-delay:.5s;left:42%}.drop-12{font-size:2.6rem;animation-delay:.9s;left:46%}.drop-13{animation-delay:.15s;left:50%}.drop-14{animation-delay:.7s;left:54%}.drop-15{font-size:1.7rem;animation-delay:1.3s;left:58%}.drop-16{animation-delay:.35s;left:62%}.drop-17{font-size:2.7rem;animation-delay:1s;left:66%}.drop-18{animation-delay:.25s;left:70%}.drop-19{animation-delay:.85s;left:74%}.drop-20{font-size:1.6rem;animation-delay:.45s;left:78%}.drop-21{animation-delay:1.15s;left:82%}.drop-22{font-size:2.5rem;animation-delay:50ms;left:86%}.drop-23{animation-delay:.75s;left:90%}.drop-24{animation-delay:.55s;left:94%}@keyframes fall{0%{transform:translateY(0)rotate(0)}to{transform:translateY(calc(100vh + 6rem))rotate(540deg)}}.backdrop{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.float{opacity:.12;font-size:2.5rem;animation:26s ease-in-out infinite alternate drift;position:absolute}.float-1{top:12%;left:3%}.float-2{animation-duration:31s;top:18%;left:88%}.float-3{animation-duration:23s;top:58%;left:12%}.float-4{animation-duration:29s;top:64%;left:92%}.float-5{animation-duration:34s;top:86%;left:48%}.float-6{animation-duration:27s;top:88%;left:6%}.float-7{font-size:3.5rem;animation-duration:21s;top:40%;left:80%}.float-8{animation-duration:33s;top:30%;left:22%}.float-9{animation-duration:25s;top:8%;left:66%}.float-10{font-size:3.2rem;animation-duration:37s;top:50%;left:40%}@keyframes drift{0%{transform:translate(0)rotate(-10deg)}to{transform:translate(40px,-60px)rotate(15deg)}}body{isolation:isolate}.badge-toast{z-index:96;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:var(--radius);box-shadow:var(--shadow-lg);align-items:center;gap:.75rem;padding:.75rem 1rem;animation:.6s cubic-bezier(.2,1.4,.4,1) both badge-in;display:flex;position:fixed;top:4.5rem;right:1rem}.badge-toast-icon{font-size:2.2rem;animation:.8s ease-out spin-once}@keyframes badge-in{0%{transform:translate(120%)rotate(8deg)}to{transform:translate(0)rotate(0)}}@keyframes spin-once{0%{transform:rotate(-360deg)scale(.4)}to{transform:rotate(0)scale(1)}}.shelf{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.shelf-item{border:1px dashed hsl(var(--border));border-radius:var(--radius);text-align:center;color:hsl(var(--muted-foreground));flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .4rem;display:flex}.shelf-icon{filter:grayscale();font-size:1.8rem}.shelf-name{font-size:.78rem;font-weight:600}.shelf-on{border-style:solid;border-color:hsl(var(--warning));background:hsl(var(--warning) / .08);color:hsl(var(--foreground))}.shelf-on .shelf-icon{filter:none;animation:.5s ease-out pop}@media (width<=600px){.badge-toast{left:.5rem;right:.5rem}.float{font-size:1.8rem}}@media (prefers-reduced-motion:reduce){html:not(.force-motion) .rain,html:not(.force-motion) .backdrop,html:not(.force-motion) .burst,html:not(.force-motion) .dizzy-stars{display:none}html:not(.force-motion) .view,html:not(.force-motion) .mascot-squish,html:not(.force-motion) .pill-urgent,html:not(.force-motion) .shake{animation:none}}.motion-hint{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.motion-hint p{margin:0}
