:root{--bg:#fff8fb;--surface:#fffafddb;--surface-soft:#fff3f8e0;--text:#56424e;--text-soft:#8f7683;--line:#e5a0b738;--brand:#f58cab;--brand-deep:#dc7090;--brand-soft:#ffe1eb;--peach:#ffd6bc;--mint:#89c9bc;--shadow:0 22px 50px #d695b029, 0 10px 24px #e9b6cb1f;--font-body:"MiSans", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-display:"Avenir Next Rounded", "Arial Rounded MT Bold", "PingFang SC", "Hiragino Sans GB", sans-serif;color:var(--text);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#ffcddf75,#0000 34%),radial-gradient(circle at 100% 100%,#ffd9bd47,#0000 28%),radial-gradient(circle at 0,#c7eee438,#0000 24%),linear-gradient(#fffafd 0%,#fff3f7 52%,#fff7ef 100%)}*{box-sizing:border-box}html{font-size:16px}body{-webkit-user-select:none;user-select:none;min-width:320px;margin:0}body:before,body:after{content:"";pointer-events:none;filter:blur(16px);z-index:-1;border-radius:999px;width:180px;height:180px;position:fixed}body:before{background:#f58cab47;top:-48px;right:-56px}body:after{background:#ffd6bc57;bottom:112px;left:-64px}button,input,textarea,select{font:inherit}button{color:inherit;background:0 0;border:0}img{max-width:100%;display:block}p,h1,h2,h3{margin:0}#app{min-height:100svh}.glass-panel{background:linear-gradient(180deg, var(--surface), #fff7fbf5);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:32px}.section-title{font-family:var(--font-display);letter-spacing:.02em;font-size:1.2rem;line-height:1.15}.section-caption{letter-spacing:.08em;color:var(--text-soft);font-size:.82rem}.pill{background:linear-gradient(180deg, #ffffffe0, var(--surface-soft));min-height:32px;color:var(--text-soft);border:1px solid #e5a0b72e;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.82rem;display:inline-flex;box-shadow:inset 0 1px #ffffffb3}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hero[data-v-5f24c26a]{margin-bottom:16px;padding:24px 20px 22px;position:relative;overflow:hidden}.hero[data-v-5f24c26a]:before,.hero[data-v-5f24c26a]:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.hero[data-v-5f24c26a]:before{background:#ffe4eee6;width:86px;height:86px;top:-30px;right:44px;box-shadow:0 0 0 16px #fff0f66b}.hero[data-v-5f24c26a]:after{background:linear-gradient(135deg,#ffd6bca8,#f58cab38);width:138px;height:138px;top:-36px;right:-24px}.hero-badge[data-v-5f24c26a]{flex-wrap:wrap;gap:8px;display:flex}.hero-copy[data-v-5f24c26a]{z-index:1;gap:12px;margin-top:18px;display:grid;position:relative}.eyebrow[data-v-5f24c26a]{letter-spacing:.24em;color:var(--brand-deep);font-size:.76rem}h1[data-v-5f24c26a]{max-width:13ch;font-family:var(--font-display);margin:0;font-size:2rem;line-height:1.02}.description[data-v-5f24c26a]{max-width:30ch;color:var(--text-soft);line-height:1.55}.hero-stats[data-v-5f24c26a]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.hero-stats article[data-v-5f24c26a]{background:linear-gradient(#ffffffd6,#fff3f8d6);border:1px solid #e5a0b733;border-radius:22px;gap:4px;padding:14px;display:grid;box-shadow:inset 0 1px #ffffffb8}.hero-stats strong[data-v-5f24c26a]{font-size:1.4rem;font-family:var(--font-display)}.hero-stats span[data-v-5f24c26a]{color:var(--text-soft);font-size:.82rem}.filters[data-v-55b1b6a0]{gap:16px;padding:18px;display:grid}.filters-head[data-v-55b1b6a0]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.head-copy[data-v-55b1b6a0],.group-meta[data-v-55b1b6a0],.filter-group[data-v-55b1b6a0]{display:grid}.head-copy[data-v-55b1b6a0],.group-meta[data-v-55b1b6a0]{gap:4px}.group-meta h3[data-v-55b1b6a0],.group-meta p[data-v-55b1b6a0],.filters-foot[data-v-55b1b6a0]{margin:0}.group-meta h3[data-v-55b1b6a0]{font-size:.98rem}.group-meta p[data-v-55b1b6a0],.filters-foot[data-v-55b1b6a0]{color:var(--text-soft);font-size:.85rem;line-height:1.5}.filter-group[data-v-55b1b6a0]{gap:10px}.reset-button[data-v-55b1b6a0]{min-height:38px;color:var(--brand-deep);background:#f58cab24;border-radius:999px;flex:none;padding:0 14px}.filter-grid[data-v-55b1b6a0]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.filter-grid.compact[data-v-55b1b6a0]{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-card[data-v-55b1b6a0]{min-height:50px;color:var(--text);text-align:left;background:linear-gradient(#ffffffeb,#fff4f9e6);border:1px solid #e5a0b72e;border-radius:18px;justify-content:space-between;align-items:center;gap:6px;padding:10px 12px;transition:transform .24s,background .24s,border-color .24s,box-shadow .24s;display:flex}.filter-card.compact[data-v-55b1b6a0]{min-height:50px}.filter-card.selected[data-v-55b1b6a0]{background:linear-gradient(#ffe9f1f5,#fff3e5eb);border-color:#dc709047;transform:translateY(-1px);box-shadow:0 10px 18px #f58cab24}.card-label[data-v-55b1b6a0]{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.9rem;font-weight:600;line-height:1.2;overflow:hidden}.card-count[data-v-55b1b6a0]{min-width:22px;height:22px;color:var(--brand-deep);background:#ffffffd1;border-radius:999px;flex:none;place-items:center;padding:0 6px;font-size:.72rem;display:inline-grid}@media (width<=360px){.filter-grid[data-v-55b1b6a0],.filter-grid.compact[data-v-55b1b6a0]{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-card[data-v-55b1b6a0],.filter-card.compact[data-v-55b1b6a0]{min-height:48px;padding-inline:10px}.card-label[data-v-55b1b6a0]{font-size:.86rem}}.dish-image-wrap[data-v-4095cf5d]{width:100%}.dish-image[data-v-4095cf5d]{height:var(--dish-height);background:linear-gradient(#ffecf4d1,#fff3e5d1);border:1px solid #e5a0b729;border-radius:22px;position:relative;overflow:hidden}.dish-image.clickable[data-v-4095cf5d]{cursor:zoom-in}img[data-v-4095cf5d],.fallback[data-v-4095cf5d]{width:100%;height:100%}img[data-v-4095cf5d]{object-fit:cover;display:block}.fallback[data-v-4095cf5d]{text-align:center;color:var(--brand-deep);place-content:center;gap:6px;display:grid}.zoom-tip[data-v-4095cf5d]{color:#fffafc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#38261f85;border-radius:999px;min-height:24px;padding:0 10px;font-size:.72rem;line-height:24px;position:absolute;bottom:10px;right:10px}span[data-v-4095cf5d]{letter-spacing:.14em;font-size:.74rem}strong[data-v-4095cf5d]{font-family:var(--font-display);font-size:1.1rem}.preview-mask[data-v-4095cf5d]{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#38261f94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.preview-card[data-v-4095cf5d]{background:#fffafdfa;border-radius:28px;gap:12px;width:min(100%,420px);padding:14px;display:grid;box-shadow:0 24px 48px #56424e3d}.preview-card img[data-v-4095cf5d]{object-fit:contain;background:#fff4f9e0;border-radius:22px;max-height:72svh}.preview-card p[data-v-4095cf5d]{color:var(--text);text-align:center;margin:0;line-height:1.5}.close-button[data-v-4095cf5d]{min-height:34px;color:var(--brand-deep);background:#f58cab24;border-radius:999px;justify-self:end;padding:0 14px}.pool[data-v-3ea813e9]{gap:14px;padding:18px;display:grid}.pool-track[data-v-3ea813e9]{scrollbar-width:none;grid-auto-columns:82%;grid-auto-flow:column;gap:12px;padding-bottom:4px;display:grid;overflow-x:auto}.pool-track[data-v-3ea813e9]::-webkit-scrollbar{display:none}.food-tile[data-v-3ea813e9]{background:#fffc;border:1px solid #e5a0b72e;border-radius:22px;gap:12px;padding:16px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.food-tile.active[data-v-3ea813e9]{border-color:#dc709052;transform:translateY(-2px);box-shadow:0 14px 28px #f58cab24}.tile-select[data-v-3ea813e9]{text-align:left;gap:12px;display:grid}.tile-head[data-v-3ea813e9]{color:var(--text-soft);justify-content:space-between;align-items:center;gap:12px;font-size:.8rem;display:flex}.tile-select h3[data-v-3ea813e9]{margin:0;font-size:1.12rem}.tile-description[data-v-3ea813e9],.pool-empty p[data-v-3ea813e9]{color:var(--text-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.55;display:-webkit-box;overflow:hidden}.tile-tags[data-v-3ea813e9]{flex-wrap:wrap;gap:8px;min-height:34px;display:flex}.tile-tags span[data-v-3ea813e9]{color:var(--mint);background:#89c9bc24;border-radius:999px;padding:6px 10px;font-size:.78rem}.pool-empty[data-v-3ea813e9]{background:#ffffffbd;border-radius:20px;padding:16px}.history[data-v-22c2f581]{gap:16px;padding:18px;display:grid}.history-list[data-v-22c2f581]{gap:12px;display:grid}.history-item[data-v-22c2f581]{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;display:grid}.time-dot[data-v-22c2f581]{color:var(--text-soft);justify-items:center;gap:8px;font-size:.8rem;display:grid}.time-dot span[data-v-22c2f581]{background:linear-gradient(135deg, var(--brand), #ffb48f);border-radius:999px;width:12px;height:12px;box-shadow:0 0 0 6px #ff6b3514}.item-card[data-v-22c2f581],.history-empty[data-v-22c2f581]{background:#ffffffc2;border:1px solid #7c56351f;border-radius:20px;padding:14px 16px}.item-head[data-v-22c2f581]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.item-head h3[data-v-22c2f581],.item-card p[data-v-22c2f581],.item-head span[data-v-22c2f581],.history-empty p[data-v-22c2f581]{margin:0}.item-head h3[data-v-22c2f581]{font-size:1rem}.item-card p[data-v-22c2f581],.item-head span[data-v-22c2f581],.history-empty p[data-v-22c2f581]{color:var(--text-soft)}.result{gap:18px;padding:20px;display:grid}.result.drawing{border-color:#dc709042}.result .result-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.result .food-card,.result .empty-card{background:linear-gradient(#fffffff2,#fff2f8f2);border:1px solid #e5a0b72e;border-radius:28px;padding:18px}.result .food-card{min-height:286px}.result .drawing-card{position:relative;overflow:hidden}.result .drawing-card:before{content:"";background:linear-gradient(120deg,#0000 18%,#ffffffb3 44%,#ffe4eee0 56%,#0000 78%);animation:1.6s ease-in-out infinite draw-sweep;position:absolute;inset:-20%}.result .draw-halo{z-index:1;gap:6px;display:flex;position:absolute;top:16px;right:18px}.result .draw-halo span,.result .draw-loader span,.result .button-loader span{background:linear-gradient(180deg, var(--brand), #ffc0d5);border-radius:999px;width:9px;height:9px;animation:.8s ease-in-out infinite pulse-dot;box-shadow:0 0 0 5px #ffe1eb57}.result .draw-halo span:nth-child(2),.result .draw-loader span:nth-child(2),.result .button-loader span:nth-child(2){animation-delay:.12s}.result .draw-halo span:nth-child(3),.result .draw-loader span:nth-child(3),.result .button-loader span:nth-child(3){animation-delay:.24s}.result .draw-stage,.result .result-stage,.result .ready-stage{z-index:1;align-content:space-between;gap:14px;min-height:248px;display:grid;position:relative}.result .food-title{gap:10px;display:grid}.result .category,.result .empty-badge{letter-spacing:.22em;color:var(--brand-deep);font-size:.76rem}.result h3{font-family:var(--font-display);margin:0;font-size:1.68rem;line-height:1.08}.result .description,.result .empty-card p,.result .draw-description{color:var(--text-soft);margin:0;line-height:1.55}.result .food-title h3,.result .draw-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3.7rem;display:-webkit-box;overflow:hidden}.result .description{-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:4.7rem;display:-webkit-box;overflow:hidden}.result .draw-name-window{align-items:center;min-height:4.6rem;display:flex}.result .draw-description{min-height:3.2rem}.result .food-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.result .food-meta div{background:linear-gradient(#ffffffd6,#fff6fad6);border-radius:20px;gap:6px;min-height:72px;padding:12px;display:grid}.result .food-meta span{color:var(--text-soft);font-size:.75rem}.result .food-meta strong{font-size:.98rem}.result .draw-track,.result .food-tags,.result .ready-pills{gap:8px;min-height:40px;display:flex}.result .draw-track,.result .food-tags{overflow:hidden}.result .draw-track span,.result .food-tags span,.result .ready-pills span{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:0;padding:8px 12px;font-size:.82rem;display:inline-flex}.result .draw-track span{color:var(--brand-deep);background:linear-gradient(#fffafcf0,#ffecf4eb);animation:1.2s ease-in-out infinite alternate chip-float}.result .draw-track span:nth-child(2){animation-delay:.12s}.result .draw-track span:nth-child(3){animation-delay:.24s}.result .food-tags span,.result .ready-pills span{color:var(--brand-deep);background:linear-gradient(#ffe9f1d1,#fff3e5b3)}.result .draw-loader,.result .button-loader{align-items:center;gap:6px;display:inline-flex}.result .draw-loader{min-height:14px}.result .danger{border-color:#dc709042}.result .ghost-button,.result .primary-button{border-radius:18px;min-height:52px;font-weight:600}.result .ghost-button{width:fit-content;color:var(--brand-deep);background:linear-gradient(#ffe9f1db,#fff3e5b8);padding:0 16px}.result .primary-button{color:#fffaf3;background:linear-gradient(135deg,#f59ebb,#ffc4ac);justify-content:center;align-items:center;gap:10px;width:100%;transition:transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 14px 24px #f58cab3d}.result .primary-button.drawing{transform:translateY(1px)scale(.992);box-shadow:0 10px 20px #f58cab29}.result .primary-button:disabled{box-shadow:none;color:#38261fad;background:#d8c8bb}.draw-name-enter-active,.draw-name-leave-active{transition:opacity .18s,transform .18s}.draw-name-enter-from,.draw-name-leave-to{opacity:0;transform:translateY(8px)}@keyframes draw-sweep{0%{transform:translate(-12%)rotate(-5deg)}to{transform:translate(12%)rotate(5deg)}}@keyframes pulse-dot{0%,to{opacity:.56;transform:scale(.82)}50%{opacity:1;transform:scale(1.06)}}@keyframes chip-float{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.app-shell[data-v-0cfe4fa2]{min-height:100svh;padding:20px 14px 32px}.app-surface[data-v-0cfe4fa2]{max-width:430px;margin:0 auto}.content-stack[data-v-0cfe4fa2]{gap:16px;display:grid}@media (width>=431px){.app-shell[data-v-0cfe4fa2]{padding-inline:20px}}
