:root{--linen: #efdfd2;--linen-2: #efe5d4;--porcelain: #fffdf9;--ink: #2b1a22;--ink-2: #6d5a62;--aubergine: #5a2343;--aubergine-2: #7b3a5e;--tomato: #c8382f;--tomato-dark: #a52a22;--gold: #c98f12;--line: #e2d6c4;--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius: 16px;--drum-h: 48px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--linen);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--aubergine-2);outline-offset:2px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--ink-2)}.btn{min-height:52px;padding:0 22px;border-radius:999px;border:0;font-weight:700;font-size:1.05rem;cursor:pointer;transition:transform .12s ease,background .2s ease,opacity .2s}.btn:active:not(:disabled){transform:translateY(1px) scale(.99)}.btn.primary{background:linear-gradient(180deg,#d4473d,var(--tomato) 55%,var(--tomato-dark));color:#fff;box-shadow:0 6px 16px #a52a2247,inset 0 1px #ffffff40}.btn.primary:disabled{background:#d9cdc6;color:#6f5f66;box-shadow:none;cursor:default}.btn.secondary{background:var(--porcelain);color:var(--aubergine);border:2px solid var(--aubergine)}.btn.ghost{background:transparent;color:var(--ink-2);text-decoration:underline}.btn.big{min-height:60px;font-size:1.2rem;width:min(100%,360px)}.link-btn{background:none;border:0;min-height:48px;padding:0 12px;color:var(--aubergine);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.icon-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--porcelain);color:var(--aubergine);font-weight:700;font-size:1.15rem;cursor:pointer;display:inline-grid;place-items:center}.ico{width:20px;height:20px;flex:none}.brand{color:var(--aubergine)}.brand h1{margin:0;display:flex;flex-direction:column;line-height:1.02}.brand-name{font-family:var(--serif);font-weight:700;font-size:clamp(1.7rem,8vw,2.6rem);color:var(--aubergine);letter-spacing:-.01em}.brand-studio{margin:6px 0 0;color:var(--ink-2);font-size:.9rem}.brand.small{display:flex;flex-direction:column;line-height:1.05;align-self:center}.brand.small .brand-name{font-size:1.25rem}.brand-sub{font-family:var(--serif);font-weight:600;color:var(--aubergine-2);font-size:1rem}.toque{width:54px;color:var(--aubergine);margin-bottom:4px}.bubble{margin:8px 0 0;max-width:190px;padding:9px 13px;background:var(--porcelain);border:1px solid var(--line);border-radius:18px 18px 4px;font-family:var(--serif);font-weight:600;font-style:italic;font-size:.86rem;line-height:1.22;color:var(--ink);box-shadow:0 3px 10px #50321e14}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;max-width:1120px;margin:0 auto}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px;padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top));background:#f0e0d3eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(226,214,196,.7)}.pill{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;background:var(--porcelain);border:1px solid var(--line);white-space:nowrap;font-size:.95rem;color:var(--ink)}.pill.budget strong{font-size:1.1rem;font-variant-numeric:tabular-nums}.pill .ico{color:var(--aubergine)}.topbar-actions{margin-left:auto;display:flex;gap:6px}.layout{flex:1;padding:0 16px 16px}.table{list-style:none;margin:4px 0 0;padding:6px 0 0;display:grid;grid-template-columns:repeat(6,1fr);column-gap:6px;row-gap:4px}.setting{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.setting-appetizer{grid-column:2 / 4}.setting-soup{grid-column:4 / 6}.setting-salad{grid-column:1 / 3}.setting-main{grid-column:3 / 5}.setting-dessert{grid-column:5 / 7}.plate{width:min(100%,94px);aspect-ratio:1;border-radius:50%;position:relative;transition:box-shadow .25s ease}.setting-main .plate{width:min(100%,106px)}.setting.preview .plate{box-shadow:0 0 0 3px var(--aubergine),0 0 18px 4px #e8b4508c}.setting.served .plate .dish-art{animation:place .35s cubic-bezier(.2,.8,.3,1.2)}@keyframes place{0%{transform:translateY(-14px) scale(.85);opacity:0}to{transform:none;opacity:1}}.art-svg{width:100%;height:100%;display:block}.dish-art{display:block;width:100%;height:100%}.dish-art img{width:100%;height:100%;object-fit:contain;display:block}.setting-label{margin-top:2px;display:flex;flex-direction:column;align-items:center;min-width:0;max-width:100%}.course-name{display:inline-block;padding:2px 10px;font-family:var(--serif);font-weight:600;font-size:.82rem;color:var(--ink);background:#fbf5ea;border:1px solid #d9c9b0;border-radius:8px;box-shadow:0 1px 2px #50321e14}.setting.preview .course-name{border:2px solid var(--aubergine)}.setting-dish{display:flex;flex-direction:column;align-items:center;margin-top:3px;max-width:100%}.setting-dish-name{font-size:.76rem;font-weight:600;line-height:1.15;max-width:100%;overflow-wrap:anywhere}.setting-meta{font-size:.74rem;color:var(--ink-2);display:inline-flex;align-items:center;gap:2px;white-space:nowrap;margin-top:1px;font-variant-numeric:tabular-nums}.setting-meta .star,.offer-rating .star{width:13px;height:13px;color:var(--gold)}.table.compact .plate{width:min(100%,96px)}.table.compact .setting-main .plate{width:min(100%,104px)}.inspiration{margin-top:6px}.section-rule{display:flex;align-items:center;gap:12px;margin:4px 0 8px;font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--ink)}.section-rule:before,.section-rule:after{content:"";flex:1;height:1px;background:#5a234359}.drums{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drum{height:var(--drum-h);overflow:hidden;border-radius:10px;background:linear-gradient(180deg,#fbf6ec,#f4ead9);border:1px solid #d4c1a4;box-shadow:inset 0 0 0 3px #fbf6ec,inset 0 0 0 4px #e3d4bd,0 2px 6px #50321e14;position:relative}.drums.revealing .drum:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(251,246,236,.85),transparent 30%,transparent 70%,rgba(244,234,217,.85));pointer-events:none}.drum-item{height:var(--drum-h);display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--serif);font-weight:600;font-size:1.2rem;white-space:nowrap;padding:0 8px}.drum-item.fade{animation:fadein .12s ease-out}@keyframes fadein{0%{opacity:0}}.drum-strip{animation-name:drumroll;animation-timing-function:cubic-bezier(.15,.6,.2,1);animation-fill-mode:forwards}@keyframes drumroll{0%{transform:translateY(0)}to{transform:translateY(calc(var(--n) * var(--drum-h) * -1))}}.flag{width:28px;height:19px;border-radius:3px;box-shadow:0 0 0 1px #0000001f;flex:none}.ing-emoji{font-size:1.35rem;line-height:1;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}.offers-wrap{min-height:120px}.offers-count{margin:12px 2px 6px;font-size:.85rem;color:var(--ink-2)}.offer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.offer{width:100%;min-height:76px;display:grid;grid-template-columns:64px 1fr auto auto;align-items:center;gap:10px;padding:6px 12px 6px 6px;text-align:left;background:#fffdf9eb;border:2px solid transparent;outline:1px solid var(--line);border-radius:var(--radius);cursor:pointer;box-shadow:0 2px 6px #50321e0f;transition:border-color .15s,background .15s;animation:rise .25s ease-out both}.offer-list li:nth-child(2) .offer{animation-delay:.04s}.offer-list li:nth-child(3) .offer{animation-delay:.08s}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.offer:hover:not(:disabled){background:#fff}.offer.selected{border-color:var(--aubergine);background:#fbf0f3;outline-color:transparent}.offer.selected .offer-name:before{content:"✓ ";color:var(--aubergine)}.offer.blocked{cursor:not-allowed;background:#f6efe3b3}.offer.blocked .offer-art,.offer.blocked .offer-price,.offer.blocked .offer-rating{opacity:.55}.offer-art{width:64px;height:64px;display:block}.offer-main{display:flex;flex-direction:column;min-width:0}.offer-name{font-weight:700;font-size:1rem;line-height:1.2;color:var(--ink)}.offer-course{font-size:.85rem;color:var(--ink-2)}.offer-desc{font-size:.78rem;color:var(--ink-2);line-height:1.25;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.offer-note{font-size:.8rem;font-weight:600;color:var(--aubergine);line-height:1.25}.offer-price{font-weight:700;font-size:1.1rem;font-variant-numeric:tabular-nums;padding-left:10px;border-left:1px solid var(--line)}.offer-rating{display:inline-flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums;font-weight:600;min-width:44px;justify-content:flex-end}.offer-rating .star{width:17px;height:17px}.actionbar{position:sticky;bottom:0;z-index:10;display:flex;align-items:center;gap:12px;padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#f0e0d300,#f0e0d3f5 22%)}.after-note{margin:0;flex:0 1 auto;font-family:var(--serif);font-style:italic;font-weight:600;font-size:.9rem;color:var(--ink-2);line-height:1.2}.btn.serve{flex:1;max-width:420px;margin-left:auto}.intro{max-width:560px;margin:0 auto;min-height:100dvh;padding:max(16px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;text-align:center}.intro-table{width:100%}.tagline{font-family:var(--serif);font-weight:700;font-size:1.25rem;color:var(--aubergine);margin:10px 0 4px}.intro-explain{margin:0 0 16px;color:var(--ink-2);max-width:34ch}.notice{background:#fff6e0;border:1px solid #e8cf91;padding:10px 14px;border-radius:12px;font-size:.9rem}.fineprint{font-size:.78rem;color:var(--ink-2)}.best-line{margin:6px 0 0;color:var(--ink-2);font-size:.9rem}.best-line strong{color:var(--aubergine)}.results{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.at-results .scene .table{display:none}.results-title{margin:8px 0 0;text-align:center;font-family:var(--serif);font-size:1.7rem;color:var(--aubergine);outline:none}.score-block{text-align:center}.score{margin:0;font-family:var(--serif);color:var(--tomato-dark)}.score-num{font-size:3.4rem;font-weight:700;font-variant-numeric:tabular-nums}.score-of{font-size:1.4rem;color:var(--ink-2)}.star-row{display:inline-flex;gap:4px}.star-cell{position:relative;width:28px;height:28px}.star-cell .star{width:28px;height:28px;position:absolute;top:0;right:0;bottom:0;left:0}.star.empty{color:#e1d5c4}.star-fill{position:absolute;inset:0 auto 0 0;overflow:hidden}.star.full{color:var(--gold)}.score-sub{margin:4px 0 0;color:var(--ink-2)}.menu-card{width:100%;border-collapse:collapse;background:var(--porcelain);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 8px #50321e14;font-size:.9rem}.menu-card caption{font-family:var(--serif);font-weight:600;font-size:1.05rem;padding:4px 0 8px;text-align:left}.menu-card th,.menu-card td{padding:9px 10px;border-bottom:1px solid var(--linen-2);text-align:left;vertical-align:top}.menu-card thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}.menu-card tbody th{font-weight:600;color:var(--aubergine);white-space:nowrap}.menu-card .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.menu-card tfoot th,.menu-card tfoot td{font-weight:700;border-bottom:0}.menu-card tfoot td:nth-child(2){font-weight:400;color:var(--ink-2)}.menu-cuisine{color:var(--ink-2);font-size:.8rem}.name-field{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--ink-2)}.name-field input{min-height:48px;padding:0 14px;border-radius:12px;border:1px solid #cdbca3;background:var(--porcelain);font-size:1rem}.results-actions,.share-fallback,.settings-actions{display:flex;gap:10px;flex-wrap:wrap}.results-actions .btn{flex:1 1 140px}.share-fallback .btn{flex:1 1 140px;min-height:48px}.share-fallback textarea{width:100%;border-radius:12px;border:1px solid var(--line);padding:10px;font-size:.85rem;background:var(--porcelain)}.share-status{margin:0;min-height:1.2em;text-align:center;font-size:.9rem;color:var(--aubergine)}.modal{border:0;padding:0;border-radius:20px;width:min(92vw,460px);background:var(--porcelain);color:var(--ink);box-shadow:0 20px 60px #28141e59}.modal::backdrop{background:#2b1a2273}.modal-body{padding:20px;display:flex;flex-direction:column;gap:12px}.modal h2{margin:0;font-family:var(--serif);color:var(--aubergine)}.help-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.toggle{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer}.toggle input{width:24px;height:24px;accent-color:var(--aubergine)}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:370px){.offer{grid-template-columns:52px 1fr auto;grid-template-rows:auto auto}.offer-art{width:52px;height:52px;grid-row:1 / 3}.offer-price{border-left:0;padding-left:0;text-align:right}.offer-rating{grid-column:3}.after-note{font-size:.8rem}.pill{padding:0 10px;font-size:.88rem}}@media(min-width:900px),(orientation:landscape)and (max-height:560px)and (min-width:600px){.layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.scene{position:sticky;top:72px}.actionbar{justify-content:flex-end}.at-results .scene .table{display:grid}.at-results .results .table{display:none}}@media(min-width:900px){.plate{width:min(100%,150px)}.setting-main .plate{width:min(100%,168px)}.setting-dish-name{font-size:.85rem}.brand.small .brand-name{font-size:1.6rem}}@media(orientation:landscape)and (max-height:560px)and (min-width:600px){.scene-head .brand{display:none}.scene-head .mia{width:52px}.scene-head .bubble{font-size:.8rem}.offer-desc{display:none}.plate{width:min(100%,84px)}.setting-main .plate{width:min(100%,92px)}.scene{top:60px}}@media(max-width:480px){.offer-desc{display:none}.offer{min-height:68px}.offer-art{width:56px;height:56px}.offer{grid-template-columns:56px 1fr auto auto}.scene-head .bubble{margin-top:4px}}@media(max-width:480px){.brand.small .brand-name{font-size:1.05rem}.brand-sub{font-size:.85rem}}@media(max-width:899px)and (max-height:800px){.plate{width:min(100%,76px)}.setting-main .plate{width:min(100%,86px)}.scene-head .mia{width:60px}.scene-head .bubble{font-size:.8rem;padding:7px 11px}.course-name{font-size:.76rem;padding:1px 8px}.setting-dish-name,.setting-meta{font-size:.7rem}}.score-num{font-variation-settings:"opsz" 36}.scene{container-type:inline-size;position:relative;--scene-pad: 16px;margin:0 -16px;padding:0 var(--scene-pad) 14px;background-color:var(--linen);background-image:url(../scene/table-mia-640.webp);background-image:image-set(url(../scene/table-mia-640.webp) 1x,url(../scene/table-mia.webp) 2x);background-position:top center;background-size:100% auto;background-repeat:no-repeat}.scene:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,rgba(239,223,210,0),var(--linen) 85%);pointer-events:none}.scene>*{position:relative;z-index:1}.scene-head{position:relative;height:130px;height:calc((100cqw + 2 * var(--scene-pad)) * .334);margin:0 calc(-1 * var(--scene-pad))}.scene-head .bubble{position:absolute;top:6%;right:29%;max-width:min(46%,240px);margin:0;padding:8px 12px;background:#fffdf9f5;border-radius:18px 18px 4px;font-size:clamp(.78rem,2.6cqw,1rem);animation:bubble-in .25s ease-out}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px) scale(.97)}}.mood-celebrate .bubble{box-shadow:0 0 0 3px #c98f1259,0 3px 10px #50321e1a}.mia-tag{position:absolute;right:3%;bottom:-4px;padding:2px 10px;font-family:var(--serif);font-weight:600;font-size:.78rem;white-space:nowrap;background:var(--porcelain);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 3px #50321e1f}.scene .table{margin-top:8px}.intro-scene{width:calc(100% + 32px);text-align:center}.intro-scene .brand{margin-top:14px}.intro-scene .brand h1{align-items:center}.intro-scene .brand-name{font-size:clamp(1.6rem,7.5vw,2.4rem)}.intro .scene{margin-top:calc(-1*max(16px,env(safe-area-inset-top)))}@media(min-width:900px),(orientation:landscape)and (max-height:560px)and (min-width:600px){.scene{--scene-pad: 14px;margin:12px 0 0;padding:0 var(--scene-pad) 16px;border-radius:20px;overflow:hidden;box-shadow:0 6px 24px #50321e1f;position:sticky;top:72px}.intro .scene{position:relative;top:auto}}@media(max-width:899px){.at-results .scene{padding-bottom:20px}.at-results .scene:after{height:22px}}
