:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-2xs:.75rem;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:clamp(1.75rem, 1.45rem + 1.2vw, 2.25rem);--fs-display:clamp(2rem, 1.35rem + 2.8vw, 3.25rem);--fs-step:clamp(1.5rem, 1.25rem + 1.6vw, 2.25rem);--fs-timer:clamp(3rem, 2.4rem + 2vw, 4rem);--lh-tight:1.2;--lh-snug:1.4;--lh-body:1.6;--tracking-tight:-.02em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--tap:44px;--tap-cook:56px;--container:1200px;--w-narrow:640px;--w-main:960px;--gutter:16px;--topbar-h:56px;--radius-xs:6px;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:28px;--radius-full:999px;--dur-1:.12s;--dur-2:.2s;--dur-3:.28s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--z-topbar:30;--z-dock:40;--z-sheet:60;--z-toast:70;--z-overlay:80;--bg:#faf6f1;--surface:#fff;--surface-2:#f4eee7;--surface-3:#eae2d9;--border:#eadfd4;--border-strong:#958272;--text:#231811;--text-2:#5e4e42;--text-3:#786656;--brand:#e8590c;--primary:#c4480b;--primary-hover:#b4420a;--primary-pressed:#a03a08;--on-primary:#fff;--primary-soft:#ffede0;--primary-text:#b23d06;--success:#237032;--success-soft:#eaf7ee;--warning:#a35400;--warning-soft:#fff3e0;--danger:#c92a2a;--danger-soft:#fff0f0;--info:#1864ab;--info-soft:#e7f1fc;--ai:#6741d9;--ai-soft:#f1edff;--inverse-bg:#2a201a;--inverse-text:#faf6f1;--focus:#1f6feb;--scrim:#140c067a;--shadow-1:0 1px 2px #24160a0f, 0 1px 3px #24160a0d;--shadow-2:0 2px 6px #24160a0f, 0 8px 24px #24160a14;--shadow-3:0 16px 40px #24160a2e, 0 2px 8px #24160a14;--card-border:var(--border);--voice-live:var(--primary);--on-voice-live:var(--on-primary);--voice-ai:var(--ai);--on-voice-ai:#fff;--voice-speak:var(--info);--on-voice-speak:#fff;--ad-bg:var(--surface-2);--ad-line:var(--border-strong);--ad-label:var(--text-3);--card:var(--surface);--ink:var(--text);--muted:var(--text-2);--line:var(--border);--accent:var(--primary);--accent-ink:var(--on-primary);--accent-soft:var(--primary-soft);--good:var(--success);--bad:var(--danger);--radius:var(--radius-xl);--shadow:var(--shadow-1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#13100d;--surface:#211b16;--surface-2:#2a231d;--surface-3:#352c25;--border:#4a3e35;--border-strong:#7d6d60;--text:#f6efe8;--text-2:#cdbfb2;--text-3:#a3917f;--brand:#ff8a3d;--primary:#ff8a3d;--primary-hover:#ff9c59;--primary-pressed:#f07a2c;--on-primary:#1f0d03;--primary-soft:#3a2215;--primary-text:#ffa066;--success:#69db7c;--success-soft:#10291a;--warning:#ffc078;--warning-soft:#33240f;--danger:#ff8787;--danger-soft:#3a1717;--info:#74c0fc;--info-soft:#0f2537;--ai:#b197fc;--ai-soft:#241d3d;--inverse-bg:#f6efe8;--inverse-text:#1d1814;--focus:#74c0fc;--scrim:#0009;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 16px #00000073;--shadow-3:0 16px 48px #0009;--on-voice-ai:#1a1033;--on-voice-speak:#0b1b2b}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#13100d;--surface:#211b16;--surface-2:#2a231d;--surface-3:#352c25;--border:#4a3e35;--border-strong:#7d6d60;--text:#f6efe8;--text-2:#cdbfb2;--text-3:#a3917f;--brand:#ff8a3d;--primary:#ff8a3d;--primary-hover:#ff9c59;--primary-pressed:#f07a2c;--on-primary:#1f0d03;--primary-soft:#3a2215;--primary-text:#ffa066;--success:#69db7c;--success-soft:#10291a;--warning:#ffc078;--warning-soft:#33240f;--danger:#ff8787;--danger-soft:#3a1717;--info:#74c0fc;--info-soft:#0f2537;--ai:#b197fc;--ai-soft:#241d3d;--inverse-bg:#f6efe8;--inverse-text:#1d1814;--focus:#74c0fc;--scrim:#0009;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 16px #00000073;--shadow-3:0 16px 48px #0009;--on-voice-ai:#1a1033;--on-voice-speak:#0b1b2b}:root:lang(ja){--font-sans:"Pretendard JP Variable", "Pretendard JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, system-ui, sans-serif}:root:lang(zh-Hans){--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", system-ui, sans-serif}@media (width>=768px){:root{--gutter:24px;--topbar-h:64px}}@media (width>=1024px){:root{--gutter:32px}}*,:before,:after{box-sizing:border-box}*{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:100%;line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0}body{min-height:100dvh}:lang(ko){word-break:keep-all;overflow-wrap:break-word}:lang(ja) :is(h1,h2,.step__text){word-break:auto-phrase}h1,h2,h3{line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);text-wrap:balance;margin:0}p{text-wrap:pretty}.num{font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}a{color:var(--primary-text)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}::selection{background:var(--primary-soft);color:var(--text)}.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}svg{flex:none}.stack{gap:var(--gap,var(--space-4));flex-direction:column;display:flex}.cluster{align-items:center;gap:var(--gap,var(--space-2));flex-wrap:wrap;display:flex}.center{width:100%;max-width:var(--w,var(--w-narrow));margin-inline:auto}.text-sm{font-size:var(--fs-sm)}.text-2{color:var(--text-2)}.grow{flex:1;min-width:0}.row{align-items:center;gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.muted{color:var(--text-2)}.small{font-size:var(--fs-sm)}.err{color:var(--danger);font-size:var(--fs-sm)}.ok{color:var(--success);font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{--h:48px;justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--h);padding:0 var(--space-5);border-radius:var(--radius-md);font:600 var(--fs-md)/1.25 var(--font-sans);letter-spacing:-.01em;text-align:center;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);white-space:normal;text-wrap:balance;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:background var(--dur-1), transform var(--dur-1) var(--ease-out), box-shadow var(--dur-2), border-color var(--dur-2);text-decoration:none;display:inline-flex;position:relative}.btn svg{flex:none;width:20px;height:20px}.btn:active:not(:disabled){transform:scale(.98)}.btn:hover:not(:disabled){border-color:var(--text-2)}.btn.primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-1);border-color:#0000}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.primary:active:not(:disabled){background:var(--primary-pressed)}.btn.secondary{background:var(--primary-soft);color:var(--primary-text);border-color:#0000}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn.danger{color:var(--danger)}.btn.sm,.btn.small{--h:36px;padding:0 var(--space-3);font-size:var(--fs-sm);border-radius:var(--radius-sm)}.btn.sm:after,.btn.small:after{content:"";position:absolute;inset:-4px}.btn.lg{--h:52px;font-weight:700}.btn.xl{--h:56px;font:700 var(--fs-lg)/1.25 var(--font-sans);border-radius:var(--radius-lg)}.btn.xl svg{width:24px;height:24px}.btn.icon{width:var(--h);flex:none;padding:0}.btn.icon.sm{--h:40px;width:40px}.btn.block{width:100%}.btn:disabled,.btn[aria-disabled=true],label.btn.disabled{background:var(--surface-3);color:var(--text-3);box-shadow:none;cursor:not-allowed;border-color:#0000;transform:none}label.btn.disabled{pointer-events:none}.linklike{color:var(--primary-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.card{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);padding:var(--space-4)}@media (width>=768px){.card{padding:var(--space-6)}}.card.interactive{cursor:pointer;text-align:left;width:100%;transition:box-shadow var(--dur-2), border-color var(--dur-2), transform var(--dur-1)}.card.interactive:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong)}.card.interactive:active{transform:scale(.99)}.card__head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.card__head h2,.card__head h3{min-width:0;font:700 var(--fs-lg)/1.3 var(--font-sans);flex:1}.list-group{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--radius-xl);overflow:hidden}.list-group>*+*{border-top:1px solid var(--border)}.list-row{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-4);color:var(--text);text-align:left;width:100%;text-decoration:none;display:flex}.list-row:hover{background:var(--surface-2)}.list-row__icon{border-radius:var(--radius-md);background:var(--surface-2);width:40px;height:40px;color:var(--text-2);flex:none;place-items:center;display:grid}.list-row__icon svg{width:20px;height:20px}.list-row__title{min-width:0;font:600 var(--fs-md)/1.35 var(--font-sans);flex:1}.list-row__title small{font-weight:500;font-size:var(--fs-sm);color:var(--text-2);display:block}.list-row__tag{font:600 var(--fs-2xs)/1 var(--font-sans);color:var(--text-3);border-radius:var(--radius-xs);background:var(--surface-2);white-space:nowrap;padding:4px 6px}.list-row>svg:last-child{width:20px;height:20px;color:var(--text-3);flex:none}.section-title{margin:var(--space-6) var(--space-1) var(--space-2);font:700 var(--fs-sm)/1.3 var(--font-sans);color:var(--text-2)}.note{margin:var(--space-2) var(--space-1) 0;font-size:var(--fs-sm);color:var(--text-2)}.chip{border-radius:var(--radius-full);background:var(--surface-2);min-height:28px;color:var(--text-2);font:600 var(--fs-xs)/1 var(--font-sans);white-space:nowrap;border:0;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.chip svg{width:14px;height:14px}button.chip{cursor:pointer}.chip.toggle{background:var(--surface);border:1px solid var(--border-strong);min-height:40px;color:var(--text);font-size:var(--fs-sm);padding:0 14px}.chip.toggle[aria-pressed=true],.chip.toggle.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-text)}.chip.input{min-height:36px;color:var(--text);font-size:var(--fs-sm);background:var(--surface);border:1px solid var(--border);padding:0 2px 0 12px}.chip.input button{width:28px;height:28px;color:var(--text-2);border-radius:50%;place-items:center;display:grid;position:relative}.chip.input button:after{content:"";position:absolute;inset:-8px}.chip.input button:hover{background:var(--surface-2)}.chip.ok{background:var(--success-soft);color:var(--success);min-height:24px}.chip.warn{background:var(--warning-soft);color:var(--warning);min-height:24px}.chip.ai{background:var(--ai-soft);color:var(--ai)}.chip.action{background:var(--primary-soft);color:var(--primary-text);min-height:32px}.badge{border-radius:var(--radius-full);font-size:var(--fs-2xs);background:var(--surface-2);padding:2px 8px;font-weight:700;display:inline-block}.badge.pub{background:var(--success-soft);color:var(--success)}.badge-ai{border-radius:var(--radius-full);background:var(--ai-soft);color:var(--ai);font:700 var(--fs-2xs)/1.4 var(--font-sans);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.badge-ai svg{width:12px;height:12px}:where(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){width:100%;min-height:48px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:400 var(--fs-md)/1.4 var(--font-sans)}textarea{padding-block:var(--space-3);resize:vertical}::placeholder{color:var(--text-3)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 28%, transparent);outline:none}.select{position:relative}.select select{appearance:none;padding-right:44px}.select>svg{pointer-events:none;width:18px;height:18px;color:var(--text-2);position:absolute;top:50%;right:14px;translate:0 -50%}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap input{padding-right:52px}.input-wrap>.btn{--h:44px;border:0;position:absolute;top:50%;right:2px;translate:0 -50%}input[type=checkbox]:not([role=switch]){appearance:none;cursor:pointer;border-radius:var(--radius-xs);border:2px solid var(--border-strong);background:var(--surface);width:22px;height:22px;transition:background var(--dur-1), border-color var(--dur-1);flex:none;place-items:center;margin:0;display:grid}input[type=checkbox]:not([role=switch]):before{content:"";background:var(--on-primary);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%);width:12px;height:12px;transition:transform var(--dur-1) var(--ease-spring);transform:scale(0)}input[type=checkbox]:not([role=switch]):checked{background:var(--primary);border-color:var(--primary)}input[type=checkbox]:not([role=switch]):checked:before{transform:scale(1)}input[type=checkbox]:not([role=switch]):disabled{opacity:.6;cursor:default}input[type=checkbox][role=switch]{appearance:none;cursor:pointer;border-radius:var(--radius-full);background:var(--surface-3);width:52px;height:32px;box-shadow:inset 0 0 0 1px var(--border-strong);transition:background var(--dur-2) var(--ease-out);flex:none;margin:0;position:relative}input[type=checkbox][role=switch]:before{content:"";width:26px;height:26px;box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}input[type=checkbox][role=switch]:checked{background:var(--primary);box-shadow:none}input[type=checkbox][role=switch]:checked:before{transform:translate(20px)}.setting{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) 0;border-bottom:1px solid var(--border);cursor:pointer;display:flex}.setting__text{flex:1;min-width:0}.setting__text b{font:600 var(--fs-md)/1.35 var(--font-sans);display:block}.setting__text small{font-size:var(--fs-sm);color:var(--text-2);display:block}.setting-block{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.setting-block>b{font:600 var(--fs-md)/1.35 var(--font-sans);margin-bottom:var(--space-2);display:block}.setting-block>small{margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--text-2);display:block}.settings-sec{margin:var(--space-5) 0 0;font:700 var(--fs-sm)/1.3 var(--font-sans);color:var(--text-3)}.segmented{border-radius:var(--radius-md);background:var(--surface-2);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented label{min-height:40px;padding:0 var(--space-2);border-radius:var(--radius-sm);font:600 var(--fs-sm)/1.2 var(--font-sans);color:var(--text-2);text-align:center;cursor:pointer;place-items:center;display:grid;position:relative}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented label:has(input:checked){background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.segmented label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:1px}.stepper{border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);flex:none;align-items:center;display:inline-flex}.stepper button{width:var(--tap);height:var(--tap);border-radius:50%;place-items:center;display:grid}.stepper button svg{width:18px;height:18px}.stepper button:disabled{color:var(--text-3)}.stepper output{text-align:center;min-width:64px;font:700 var(--fs-md)/1 var(--font-sans);font-variant-numeric:tabular-nums}.field{margin:12px 0}.field label{font-weight:700;font-size:var(--fs-sm);margin-bottom:6px;display:block}.field .help{font-size:var(--fs-xs);color:var(--text-2);margin-top:4px}.sheet{z-index:var(--z-sheet);background:var(--scrim);animation:fade-in var(--dur-2) var(--ease-out);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet__panel{background:var(--surface);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;width:100%;max-width:560px;max-height:88dvh;box-shadow:var(--shadow-3);animation:sheet-up var(--dur-3) var(--ease-out);flex-direction:column;display:flex}.sheet__handle{background:var(--border-strong);border-radius:2px;flex:none;width:36px;height:4px;margin:8px auto 0}.sheet__header{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);flex:none;display:flex}.sheet__header h2{font:700 var(--fs-xl)/1.3 var(--font-sans);flex:1}.sheet__body{overscroll-behavior:contain;padding:0 var(--space-5) var(--space-4);overflow:auto}.sheet__footer{padding:var(--space-3) var(--space-5) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--border);gap:var(--space-2);flex:none;display:grid}.sheet__footer.two{grid-template-columns:1fr 1.4fr}@media (width>=768px){.sheet{padding:var(--space-6);align-items:center}.sheet__panel{border-radius:var(--radius-2xl);max-height:80vh;animation-name:pop-in}.sheet__handle{display:none}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.cmdtable{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.cmdtable td{border-top:1px solid var(--border);vertical-align:top;padding:10px 4px}.cmdtable td:first-child{padding-right:12px;font-weight:700}.topbar{z-index:var(--z-topbar);height:var(--topbar-h);background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar .in{max-width:var(--container);height:100%;padding-inline:var(--gutter);align-items:center;gap:var(--space-3);margin:0 auto;display:flex}.logo{align-items:center;gap:var(--space-2);font:800 var(--fs-lg)/1 var(--font-sans);letter-spacing:var(--tracking-tight);color:var(--text);white-space:nowrap;flex:none;text-decoration:none;display:flex}.logo svg{border-radius:8px}.nav{gap:var(--space-1);scrollbar-width:none;min-width:0;display:flex;overflow-x:auto}@media (width<=479px){.nav a[href=\/]{display:none}}.nav a{min-height:var(--tap);border-radius:var(--radius-full);font:600 var(--fs-sm)/1 var(--font-sans);color:var(--text-2);white-space:nowrap;align-items:center;padding:0 12px;text-decoration:none;display:inline-flex}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.on,.nav a[aria-current=page]{background:var(--surface-2);color:var(--text);font-weight:700}.topbar__actions{gap:var(--space-1);flex:none;margin-left:auto;display:flex}@media (width<=359px){.logo .wordmark{display:none}}body[data-mode=cook] .topbar{display:none}.page{max-width:var(--container);padding:0 var(--gutter) var(--space-16);margin:0 auto}.narrow{max-width:var(--w-narrow);margin-inline:auto}.page-head{align-items:flex-start;gap:var(--space-2);padding-block:var(--space-4) var(--space-5);display:flex}.page-head>.btn{margin-top:-2px;margin-left:-8px}.page-head h1{font:800 var(--fs-2xl)/var(--lh-tight) var(--font-sans);letter-spacing:var(--tracking-tight)}.page-head p{margin:var(--space-1) 0 0;color:var(--text-2);font-size:var(--fs-md)}.footer{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-3);text-align:center}.hero{text-align:center;padding:var(--space-8) 0 var(--space-6)}.hero h1{font:800 var(--fs-display)/1.1 var(--font-sans);letter-spacing:-.03em}.hero p{margin:var(--space-2) 0 0;color:var(--text-2);font-size:var(--fs-lg)}.hero .cluster{margin-top:var(--space-3);justify-content:center}.home{max-width:var(--w-main);margin-inline:auto}.cats{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;display:grid}@media (width>=768px){.cats{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr))}}.cat{justify-content:center;align-items:center;gap:var(--space-2);min-height:112px;padding:var(--space-4) var(--space-3);border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--card-border);box-shadow:var(--shadow-1);font:700 var(--fs-md)/1.25 var(--font-sans);text-align:center;color:var(--text);transition:transform var(--dur-1) var(--ease-out), box-shadow var(--dur-2), border-color var(--dur-2);flex-direction:column;display:flex}.cat:hover:not(:disabled){box-shadow:var(--shadow-2);border-color:var(--border-strong)}.cat:active:not(:disabled){transform:scale(.98)}.cat:disabled{opacity:1}.cat__label{-webkit-line-clamp:2;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cat.any{background:var(--primary);color:var(--on-primary);border-color:#0000}.cat.any .plate{background:color-mix(in srgb, var(--on-primary) 16%, transparent);box-shadow:none}.cat.any .plate svg{width:28px;height:28px}@media (width>=768px){.cat{min-height:136px;font-size:var(--fs-lg)}.cats .plate{--size:64px}}.cat.skeleton{box-shadow:none;border:0}.plate{--size:52px;width:var(--size);height:var(--size);font-size:calc(var(--size) * .56);background:radial-gradient(circle at 35% 30%, var(--surface) 0 30%, var(--surface-2) 72%);box-shadow:inset 0 0 0 1px var(--border), inset 0 -3px 6px #24160a0f;border-radius:50%;flex:none;place-items:center;line-height:1;display:grid}.plate.md{--size:72px}.plate.xl{--size:120px}.plate.lg{--size:160px}.plate svg{width:45%;height:45%;color:var(--text-2)}.dish-img{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border);flex:none;margin:0;position:relative;overflow:hidden}.dish-img img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.dish-img.hero{aspect-ratio:4/3;border-radius:var(--radius-xl);width:min(100%,420px)}.dish-img.thumb{border-radius:var(--radius-lg);width:72px;height:72px}.dish-img figcaption{border-radius:var(--radius-full);font:600 var(--fs-2xs)/1.6 var(--font-sans);color:#fff;background:#140e0a8c;padding:2px 8px;position:absolute;bottom:8px;right:8px}.result .dish-img.hero{margin:0 auto var(--space-4)}.result.landed .dish-img{animation:land .24s var(--ease-spring)}.recipe-head.has-img{flex-direction:column;align-items:stretch}.recipe-head.has-img .dish-img.hero{width:100%}@media (width>=1024px){.recipe-head.has-img .dish-img.hero{max-width:480px}}.feature{align-items:center;gap:var(--space-3);min-height:80px;margin-top:var(--space-4);display:flex}.feature__text{flex:1;min-width:0}.feature__title{align-items:center;gap:var(--space-2);font:700 var(--fs-md)/1.3 var(--font-sans);display:flex}.feature__desc{font-size:var(--fs-sm);color:var(--text-2);margin-top:2px;font-weight:500;display:block}.feature>svg:last-child{width:20px;height:20px;color:var(--text-3)}.error-banner{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--danger-soft);color:var(--danger);margin-bottom:var(--space-4);font-weight:600;display:flex}.error-banner .btn{margin-left:auto}.result{text-align:center;padding:var(--space-6) 0 var(--space-2)}.result .plate{margin:0 auto var(--space-4)}.result h1{font:800 var(--fs-2xl)/1.2 var(--font-sans)}.result .sub{margin:var(--space-1) 0 0;color:var(--text-2);min-height:1.6em}.meta{margin-top:var(--space-3);flex-wrap:wrap;justify-content:center;gap:6px;min-height:28px;display:flex}.result.spinning h1{opacity:.9}.result.landed .plate{animation:land .24s var(--ease-spring)}@keyframes land{0%{transform:scale(.92)}}.recipe-head{align-items:center;gap:var(--space-4);padding:var(--space-4) 0;display:flex}.recipe-head h1{font:800 var(--fs-xl)/1.25 var(--font-sans)}.recipe-head .meta{margin-top:var(--space-2);justify-content:flex-start}.recipe-head .sub{color:var(--text-2);font-size:var(--fs-sm);margin:2px 0 0}.action-bar{z-index:var(--z-dock);padding:var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom));gap:var(--space-2);background:var(--bg);border-top:1px solid var(--border);grid-template-columns:1fr 1.6fr;display:grid;position:fixed;bottom:0;left:0;right:0}.action-bar>*{min-width:0}.has-bar{padding-bottom:168px}@media (width>=640px){.action-bar{padding-inline:max(var(--gutter), calc((100vw - var(--w-narrow)) / 2))}}@media (width>=1024px){.center.has-bar{padding-bottom:var(--space-16)}.result~.action-bar{margin:var(--space-8) auto 0;max-width:var(--w-narrow);background:0 0;border:0;padding:0;position:static}}.screen-nav{margin:var(--space-2) 0 0 calc(-1 * var(--space-2));display:flex}.action-bar.ready{grid-template-columns:auto 1fr}.action-bar__note{font-size:var(--fs-xs);color:var(--text-2);grid-column:1/-1;justify-content:center;align-items:center;gap:6px;margin:0;display:flex}.action-bar__note svg{width:14px;height:14px}.ready-grid{gap:var(--space-4);display:grid}@media (width>=1024px){.ready-grid{gap:var(--space-8);padding-top:var(--space-4);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.ready-grid>.summary{top:calc(var(--topbar-h) + var(--space-6));position:sticky}.ready-grid .recipe-head{flex-direction:column;align-items:flex-start}.ready-grid .action-bar{margin:var(--space-6) 0 0;-webkit-backdrop-filter:none;background:0 0;border:0;grid-template-columns:1fr;padding:0;position:static}.ready-grid.has-bar{padding-bottom:0}.ready-grid .action-bar .btn.primary{order:-1}}.checklist{margin:0;padding:0;list-style:none}.checklist li :is(label,.checklist__row){align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);min-height:48px;padding:6px 0;display:flex}.checklist li label{cursor:pointer}.checklist li:last-child :is(label,.checklist__row){border-bottom:0}.check-spacer{flex:none;width:22px;height:22px}.chip.basic{min-height:22px;margin-left:4px}.chip.sponsor{margin-top:var(--space-2);background:var(--ad-bg);color:var(--ad-label);box-shadow:inset 0 0 0 1px var(--ad-line)}.cookbar__sponsor{grid-column:1/-1;margin-top:-4px}.cookbar__sponsor .chip.sponsor{margin-top:0}.checklist li.on .grow{color:var(--text-2)}.checklist .amt{color:var(--text-2);font-size:var(--fs-sm);text-align:right;font-variant-numeric:tabular-nums}@media (width>=1024px){.checklist{columns:2;column-gap:var(--space-6)}.checklist li{break-inside:avoid}.checklist li:last-child :is(label,.checklist__row){border-bottom:1px solid var(--border)}}.checklist li.swap{padding:var(--space-3) 0 14px}@media (width>=1024px){.checklist li.swap{padding:4px 0}.checklist li.swap .swap__row{min-height:88px}}.swap__row{width:100%;min-height:52px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--ad-bg);box-shadow:inset 0 0 0 1px var(--ad-line);text-align:left;color:var(--text);gap:2px;display:grid}.swap[data-state=debug] .swap__row{box-shadow:none;outline:1.5px dashed var(--ad-line);outline-offset:-1.5px}.swap__row .ad__label{margin:0}.swap__text{font:600 var(--fs-sm)/1.35 var(--font-sans)}.swap__more{font:700 var(--fs-xs)/1.3 var(--font-sans);color:var(--primary-text);align-items:center;gap:2px;display:inline-flex}.swap__more svg{width:14px;height:14px}.swap__product{font-size:var(--fs-lg)}.commerce{align-items:center;gap:var(--space-3);width:100%;min-height:64px;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2);text-align:left;color:var(--text);display:flex}.commerce:hover{background:var(--surface-3)}.commerce__icon{border-radius:var(--radius-md);background:var(--surface);width:40px;height:40px;color:var(--primary-text);flex:none;place-items:center;display:grid}.commerce__text{flex:1;min-width:0;font-weight:700}.commerce__text small{color:var(--text-2);font-weight:500;font-size:var(--fs-xs);display:block}.all-have{align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--success);font-weight:700;display:flex}.cookbar{z-index:var(--z-topbar);grid-template-columns:var(--tap) minmax(0, 1fr) auto var(--tap) var(--tap);align-items:center;gap:var(--space-2);margin-inline:calc(-1 * var(--gutter));padding-top:4px;padding-inline:var(--gutter);background:var(--bg);display:grid;position:sticky;top:0}.cookbar__title{font:700 var(--fs-lg)/1.3 var(--font-sans);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.cookbar__count{font:700 var(--fs-md)/1 var(--font-sans);color:var(--text-2);font-variant-numeric:tabular-nums}.cookbar__progress{padding:var(--space-2) 0 var(--space-3);grid-column:1/-1;gap:3px;display:flex}.cookbar__progress i{background:var(--surface-3);border-radius:3px;flex:1;height:6px}.cookbar__progress i[data-s=done]{background:var(--primary)}.cookbar__progress i[data-s=now]{background:var(--primary);height:8px;box-shadow:0 0 0 2px var(--primary-soft);margin-top:-1px}.cook{gap:var(--space-4);padding-bottom:calc(var(--dock-h,180px) + var(--space-6));display:grid}.cook__stage{margin-inline:calc(-1 * var(--gutter))}@media (width>=600px){.cook__stage{margin-inline:0}}.stage{aspect-ratio:16/9;border-radius:var(--radius-lg);background:#000;position:relative;overflow:hidden}.stage>div,.stage iframe{width:100%;height:100%;position:absolute;inset:0}@media (width<=599px){.stage{border-radius:0}}.stage.is-empty{background:var(--surface-2);justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4);text-align:center;flex-direction:column;display:flex}.stage.is-empty>div{width:auto;height:auto;position:static}.stage.is-empty svg{width:28px;height:28px;color:var(--text-2)}.stage.is-empty strong{font-size:var(--fs-md)}.stage.is-empty .paste{gap:var(--space-2);width:min(100%,420px);display:flex}.stage.is-empty .paste input{min-height:44px}.stage.is-loading{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%) 0 0 / 200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.video-bar{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.video-bar .btn{--h:44px}.video-bar .btn.icon{width:52px}.video-bar .btn .n{font-size:var(--fs-2xs);margin-left:-4px;font-weight:800}.step{gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--card-border);box-shadow:var(--shadow-1);display:grid}.step__head{align-items:baseline;gap:var(--space-2);display:flex}.step__no{font:800 2.5rem/1 var(--font-sans);color:var(--primary-text);font-variant-numeric:tabular-nums}.step__of{font:600 var(--fs-sm)/1 var(--font-sans);color:var(--text-3)}.step__tools{align-self:center;align-items:center;gap:6px;margin-left:auto;display:flex}.step__tools .chip.action{position:relative}.step__tools .chip.action:after{content:"";position:absolute;inset:-8px -4px}@media (width<=1023px){.cook__side:has(.timer-ask) .step__next{display:none}}.step__text{font:600 var(--fs-step)/var(--lh-snug) var(--font-sans);color:var(--text);text-wrap:pretty;margin:0}.step__text[data-long]{font-size:calc(var(--fs-step) * .85)}.step__next{padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cook-dock{inset-inline:0;z-index:var(--z-dock);gap:var(--space-2);padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);display:grid;position:fixed;bottom:0;box-shadow:0 -4px 16px #24160a0f}.cook-dock>*{width:100%;max-width:720px;margin-inline:auto}.cook-dock__row{grid-template-columns:var(--tap-cook) minmax(0, 1fr) var(--tap-cook);align-items:center;gap:var(--space-2);display:grid}.step-nav{width:var(--tap-cook);height:var(--tap-cook);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--text);place-items:center;display:grid}.step-nav svg{width:28px;height:28px}.step-nav:disabled{color:var(--text-3);opacity:.6}.step-nav.is-finish{background:var(--primary);color:var(--on-primary)}.cook__ref{gap:var(--space-3);display:grid}.steps-list{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--radius-xl);margin:0;padding:0;list-style:none;overflow:hidden}.steps-list li+li{border-top:1px solid var(--border)}.steps-list button{width:100%;min-height:var(--tap-cook);gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--fs-md);color:var(--text-2);grid-template-columns:28px 1fr auto;align-items:start;line-height:1.5;display:grid}.steps-list .n{width:28px;height:28px;font:700 var(--fs-sm)/1 var(--font-sans);background:var(--surface-2);color:var(--text-2);border-radius:50%;place-items:center;display:grid}.steps-list .n svg{width:14px;height:14px}.steps-list [aria-current=step]{background:var(--primary-soft);color:var(--text);font-weight:600}.steps-list [aria-current=step] .n{background:var(--primary);color:var(--on-primary)}.steps-list .is-done .n{background:var(--success-soft);color:var(--success)}.steps-list .tag{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap}details.chapters summary{cursor:pointer;color:var(--text-2);padding:var(--space-2) var(--space-1);font-weight:700}.cmd-form{gap:var(--space-2);display:flex}.cmd-form .input-wrap{flex:1}body[data-far] .cook__stage,body[data-far] .cook__vbar{display:none}body[data-far] .step__text,body[data-far] .step__text[data-long]{font-size:clamp(2.5rem,1.9rem + 2.4vw,3rem);line-height:1.3}body[data-far] .step__no{font-size:3rem}.cookbar [aria-pressed=true]{background:var(--primary-soft);color:var(--primary-text)}.heard{align-items:center;gap:6px;display:flex}.heard svg{flex:none;width:16px;height:16px}@media (width>=1024px){.cook{column-gap:var(--space-8);row-gap:var(--space-3);padding-bottom:var(--space-8);grid-template-columns:minmax(0,7fr) minmax(380px,5fr);grid-template-areas:"stage side""vbar side""ref side";align-items:start}.cook__stage{grid-area:stage}.cook__vbar{grid-area:vbar}.cook__ref{grid-area:ref}.cook__side{top:calc(var(--cookbar-h,76px) + var(--space-4));gap:var(--space-4);flex-direction:column;grid-area:side;display:flex;position:sticky}.cook-dock{padding:var(--space-3);border:1px solid var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);-webkit-backdrop-filter:none;backdrop-filter:none;position:static}.cook-dock>*{max-width:none}.step__text{font-size:2rem}.step__text[data-long]{font-size:1.75rem}}.voice{--vc:var(--voice-live);--on-vc:var(--on-voice-live);--vc-text:var(--primary-text);align-items:center;gap:var(--space-3);min-width:0;display:flex}.voice__mic{width:var(--tap-cook);height:var(--tap-cook);background:var(--vc);color:var(--on-vc);transition:background var(--dur-2) var(--ease-out), color var(--dur-2), box-shadow var(--dur-2);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.voice__mic svg{width:26px;height:26px}.voice__mic:after{content:"";border:3px solid var(--vc);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-6px}.voice__text{gap:2px;min-width:0;display:grid}.voice__label{font:700 var(--fs-md)/1.25 var(--font-sans);color:var(--vc-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.voice__sub{min-width:0;font:500 var(--fs-xs)/1.3 var(--font-sans);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;display:flex;overflow:hidden}.voice__sub>span{text-overflow:ellipsis;overflow:hidden}.voice__sub svg{flex:none;width:14px;height:14px}.voice__sub[data-kind=ok]{color:var(--success)}.voice__sub[data-kind=warn]{color:var(--warning)}.voice[data-state=listening] .voice__mic:after,.voice[data-state=awake] .voice__mic:after{animation:voice-ring 1.6s var(--ease-out) infinite}.voice[data-state=awake]{background:var(--primary-soft);border-radius:var(--radius-full);box-shadow:inset 0 0 0 2px var(--primary);padding-right:var(--space-3)}.voice[data-state=awake] .voice__mic{transform:scale(1.06)}.voice[data-state=guard]{--vc-text:var(--text)}.voice[data-state=guard] .voice__mic{background:var(--surface);color:var(--primary-text);box-shadow:inset 0 0 0 3px var(--primary)}.voice[data-state=ignored]{--vc-text:var(--warning)}.voice[data-state=ignored] .voice__mic{background:var(--surface);color:var(--primary-text);box-shadow:inset 0 0 0 3px var(--primary)}.voice[data-state=ignored] .voice__sub{color:var(--warning)}.voice:is([data-state=denied],[data-state=unsupported],[data-state=off],[data-state=ignored]) .voice__sub{white-space:normal}.voice:is([data-state=denied],[data-state=unsupported],[data-state=off],[data-state=ignored]) .voice__sub>span{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.voice[data-state=thinking]{--vc:var(--voice-ai);--on-vc:var(--on-voice-ai);--vc-text:var(--ai)}.voice[data-state=thinking] .voice__mic:after{opacity:1;border-color:var(--vc) transparent transparent;animation:.8s linear infinite spin}.voice[data-state=speaking]{--vc:var(--voice-speak);--on-vc:var(--on-voice-speak);--vc-text:var(--info)}.voice:is([data-state=off],[data-state=unsupported]){--vc-text:var(--text-2)}.voice:is([data-state=off],[data-state=unsupported]) .voice__mic{background:var(--surface-2);color:var(--text-2);box-shadow:inset 0 0 0 1px var(--border-strong)}.voice[data-state=denied]{--vc-text:var(--danger)}.voice[data-state=denied] .voice__mic{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 2px var(--danger)}@keyframes voice-ring{0%{opacity:.7;transform:scale(.94)}to{opacity:0;transform:scale(1.28)}}@keyframes spin{to{transform:rotate(360deg)}}.timer-ask{gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--primary-soft);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);animation:rise var(--dur-2) var(--ease-out);grid-template-columns:auto 1fr;align-items:center;display:grid}.timer-ask>svg{width:24px;height:24px;color:var(--primary-text)}.timer-ask p{font:700 var(--fs-lg)/1.35 var(--font-sans);color:var(--text);margin:0}.timer-ask__actions{gap:var(--space-2);grid-column:1/-1;grid-template-columns:1fr 1.4fr;display:grid}.timer-bar{--p:1;column-gap:var(--space-3);text-align:left;width:100%;min-height:84px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border-strong);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon time actions""icon label actions";align-items:center;row-gap:2px;display:grid;position:relative;overflow:hidden}.timer-bar:before{content:"";z-index:0;transform-origin:0;transform:scaleX(var(--p));background:var(--primary-soft);transition:transform 1s linear;position:absolute;inset:0}.timer-bar>*{z-index:1;position:relative}.timer-bar>svg{width:28px;height:28px;color:var(--primary-text);grid-area:icon}.timer-bar__label{min-width:0;font:600 var(--fs-sm)/1.3 var(--font-sans);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;grid-area:label;overflow:hidden}.timer-bar__time{font:800 var(--fs-timer)/1 var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text);grid-area:time}.timer-bar__actions{gap:var(--space-2);grid-area:actions;align-items:center;display:flex}.timer-bar__actions .btn{--h:48px;min-width:48px}.timer-bar[data-state=done]{background:var(--inverse-bg);min-height:96px;animation:alert-pulse 1.2s var(--ease-in-out) infinite;border-color:#0000}.timer-bar[data-state=done] .timer-bar__time{white-space:nowrap;font-size:2rem}.timer-bar[data-state=done] .timer-bar__actions .btn{--h:56px;min-width:72px}.timer-bar[data-state=done]:before{display:none}.timer-bar[data-state=done] :is(.timer-bar__label,.timer-bar__time,svg){color:var(--inverse-text)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes alert-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--primary) 35%, transparent)}}@media (width>=1024px){.timer-ask{grid-template-columns:auto 1fr}}.done{text-align:center;padding:var(--space-8) 0 0}.done .plate{margin:0 auto var(--space-4)}.done h1{font:800 var(--fs-2xl)/1.2 var(--font-sans)}.done .cluster{margin:var(--space-3) 0 var(--space-6);justify-content:center}.rate{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--card-border);margin-bottom:var(--space-4);display:grid}.rate b{font-size:var(--fs-md)}.rate .grid2{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.fridge-grid{gap:var(--space-4);display:grid}@media (width>=1024px){.fridge-grid{gap:var(--space-8);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.fridge-grid>.controls{top:calc(var(--topbar-h) + var(--space-6));position:sticky}}.phototray{gap:var(--space-2);margin:var(--space-3) 0;grid-template-columns:repeat(4,1fr);display:grid}.phototray .ph{aspect-ratio:1;border-radius:var(--radius-md);background:var(--surface-2);position:relative;overflow:hidden}.phototray .ph img{object-fit:cover;width:100%;height:100%;display:block}.phototray .ph.empty{color:var(--text-2);border:2px dashed var(--border-strong);font-size:var(--fs-xs);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;display:flex}.phototray .ph.empty svg{width:22px;height:22px}.phototray .ph.done img{opacity:.6}.phototray .ph .badge{background:var(--success);color:#fff;border-radius:999px;place-items:center;width:22px;height:22px;padding:0;display:grid;position:absolute;top:6px;left:6px}.phototray .ph .badge svg{width:14px;height:14px}.phototray .ph button{color:#fff;background:#0009;border-radius:999px;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:4px;right:4px}.phototray .ph button:after{content:"";position:absolute;inset:-8px}.phototray .ph button svg{width:16px;height:16px}.phototray.busy .ph:not(.empty):not(.done){animation:1.2s ease-in-out infinite pulse-op}@keyframes pulse-op{50%{opacity:.55}}.photo-hint{padding:var(--space-2) 0;color:var(--text-2);font-size:var(--fs-sm);text-align:center;margin:0}.quota{margin:var(--space-2) 0 0;font-size:var(--fs-xs);color:var(--text-2);align-items:center;gap:6px;display:flex}.quota svg{width:14px;height:14px}.items{margin-top:var(--space-3);flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;display:flex}.collapse{align-items:center;gap:var(--space-2);width:100%;min-height:56px;font:700 var(--fs-md)/1.3 var(--font-sans);color:var(--text);text-align:left;display:flex}.collapse svg{width:20px;height:20px;color:var(--text-2);transition:transform var(--dur-2)}.collapse[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.results-wrap{scroll-margin-top:calc(var(--topbar-h) + var(--space-3))}.results-empty{display:none}@media (width>=1024px){.results-empty{justify-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);border:2px dashed var(--border);border-radius:var(--radius-xl);text-align:center;color:var(--text-2);display:grid}.results-empty p{max-width:32ch;margin:0}}.results-head{align-items:baseline;gap:var(--space-2);margin:var(--space-2) var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.results-head h2{font:800 var(--fs-xl)/1.3 var(--font-sans)}.results-head span{font-size:var(--fs-sm);color:var(--text-2)}.results{gap:var(--space-3);display:grid}@media (width>=1024px){.results{grid-template-columns:1fr 1fr}.results>.ad{grid-column:1/-1}}.match{align-items:center;gap:var(--space-3);display:flex}.match b{font-size:var(--fs-md);display:block}.match small{color:var(--text-2);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.match .miss{font-size:var(--fs-sm);color:var(--text-2);margin-top:4px;display:block}.eatout-grid{gap:var(--space-4);display:grid}@media (width>=1024px){.eatout-grid{gap:var(--space-8);grid-template-columns:1fr 1fr;align-items:start}}.nearby-pick{text-align:center;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2)}.nearby-pick b{font:800 var(--fs-xl)/1.3 var(--font-sans);display:block}.ad{margin-block:var(--space-8);text-align:left}.ad__label{font:600 var(--fs-2xs)/1 var(--font-sans);letter-spacing:.02em;color:var(--ad-label);margin:0 auto 6px;display:block}.ad__frame{border-radius:var(--radius-lg);background:var(--ad-bg);contain:layout paint;place-items:center;margin-inline:auto;display:grid;position:relative;overflow:hidden}.ad__frame--debug{outline:1.5px dashed var(--ad-line);outline-offset:-1.5px;background:repeating-linear-gradient(135deg, var(--ad-bg) 0 12px, color-mix(in srgb, var(--ad-bg) 60%, var(--surface-3)) 12px 24px)}.ad__frame code{font:600 var(--fs-2xs)/1.4 var(--font-mono);color:var(--text-2);padding:var(--space-2);text-align:center}.ad--house{margin-block:var(--space-4) var(--space-6)}.ad--house .feature,.ad .feature{text-align:left;width:100%;margin-top:0}.challenge__card{gap:var(--space-3);padding:var(--space-4);background:var(--ad-bg);box-shadow:inset 0 0 0 1px var(--ad-line);display:grid}.challenge__head{gap:var(--space-3);align-items:center;display:flex}.challenge__head b{font-size:var(--fs-md);display:block}.challenge__head small{color:var(--text-2);font-size:var(--fs-sm);margin-top:2px;display:block}.challenge__pick{gap:var(--space-3);align-items:center;display:flex}.interstitial{z-index:var(--z-overlay);background:var(--scrim);padding:var(--space-4);animation:fade-in var(--dur-2);place-items:center;display:grid;position:fixed;inset:0}.interstitial__card{gap:var(--space-3);width:min(100%,420px);padding:var(--space-4);border-radius:var(--radius-2xl);background:var(--surface);box-shadow:var(--shadow-3);display:grid}.reward-player{gap:var(--space-3);display:grid}.reward-player progress{width:100%;height:8px;accent-color:var(--primary)}.reward-status{text-align:center;color:var(--text-2);margin:0;font-weight:700}.reward-player .ad__label{text-align:left;margin:0}.reward-player .ad__frame{width:100%}.toast{left:50%;bottom:calc(var(--toast-offset,24px) + env(safe-area-inset-bottom));z-index:var(--z-toast);align-items:center;gap:var(--space-2);max-width:min(480px,100vw - 32px);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--inverse-bg);color:var(--inverse-text);font:600 var(--fs-sm)/1.4 var(--font-sans);box-shadow:var(--shadow-3);animation:rise var(--dur-2) var(--ease-out);text-align:center;display:flex;position:fixed;translate:-50%}body[data-mode=cook] .toast{--toast-offset:calc(var(--dock-h,160px) + 16px)}body:has(.action-bar) .toast{--toast-offset:150px}@media (width>=1024px){body:has(.ready-grid) .toast{--toast-offset:24px}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%) 0 0 / 200% 100%;animation:1.4s linear infinite shimmer}.games{gap:var(--space-3);display:grid}.game-card{align-items:center;gap:var(--space-3);min-height:72px;display:flex}.game-card b{font-size:var(--fs-lg);display:block}.game-card small{color:var(--text-2);font-size:var(--fs-sm);font-weight:500;display:block}.radio-cards{gap:var(--space-2);display:grid}@media (width>=768px){.radio-cards{grid-template-columns:repeat(3,1fr)}}label.radio-card,.field label.radio-card{align-items:center;gap:var(--space-2);min-height:52px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;font-weight:600;font-size:var(--fs-sm);margin:0;display:flex;position:relative}label.radio-card input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}label.radio-card:has(input:checked){border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text)}label.radio-card:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:1px}.player-row{gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.ladder-path{stroke-dasharray:2000;stroke-dashoffset:2000px;animation:1.2s forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.barrel{width:240px;height:210px;box-shadow:inset 0 0 0 6px #5a3416, var(--shadow-2);background:linear-gradient(90deg,#7a4a24,#b0743d 30%,#c98a4b 50%,#b0743d 70%,#7a4a24);border-radius:40%/18%;position:absolute;top:70px;left:20px}.barrel:before,.barrel:after{content:"";background:#4b4b4b;border-radius:4px;height:10px;position:absolute;left:0;right:0}.barrel:before{top:38px}.barrel:after{bottom:38px}.barrel .slot{box-sizing:border-box;color:#f6ede6;z-index:2;background:#2b1d14;border:3px solid #5a3416;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;font-size:14px;display:grid;position:absolute}.barrel .slot.used{color:#000;background:#e9ecef}.skull{z-index:3;font-size:64px;transition:transform .25s;position:absolute;top:20px;left:50%;transform:translate(-50%)}.skull.pop{animation:1.2s cubic-bezier(.2,1.6,.4,1) forwards pop}@keyframes pop{0%{transform:translate(-50%,40px)scale(.6)}40%{transform:translate(-50%,-140px)rotate(-30deg)scale(1.5)}to{transform:translate(-50%,-60px)rotate(20deg)scale(1.3)}}.bomb{font-size:120px;line-height:1.2;display:inline-block}.bomb.ticking{animation:.5s infinite shake}.bomb.boom{font-size:150px;animation:none}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)scale(1.05)}75%{transform:rotate(12deg)scale(1.05)}}.split{padding-top:var(--space-4);grid-template-columns:300px 1fr;align-items:start;gap:16px;display:grid}@media (width<=860px){.split{grid-template-columns:1fr}}.list{margin:0;padding:0;list-style:none}.list li{cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.list li:hover{background:var(--surface-2)}.list li.on{background:var(--primary-soft);font-weight:700}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid4{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=640px){.grid2,.grid4{grid-template-columns:1fr 1fr}}.tbl{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.tbl th,.tbl td{text-align:left;border-top:1px solid var(--border);vertical-align:top;padding:8px 6px}.tbl th{font-size:var(--fs-2xs);color:var(--text-2);border-top:0}.tbl input{min-height:36px;padding:0 8px}.tbl .warn{color:var(--warning);font-weight:700}.stat{background:var(--surface);border:1px solid var(--card-border);box-shadow:var(--shadow-1);border-radius:16px;padding:14px}.stat .v{font-size:28px;font-weight:800}.stat .k{font-size:var(--fs-2xs);color:var(--text-2);font-weight:700}.bars{align-items:stretch;gap:6px;height:140px;padding-top:8px;display:flex}.bars .b{max-width:48px;color:var(--text-2);flex-direction:column;flex:1;align-items:center;gap:4px;font-size:10px;display:flex}.bars .pair{flex:1;align-items:flex-end;gap:2px;width:100%;display:flex}.bars .pair i{background:var(--primary);border-radius:4px 4px 0 0;flex:1;min-height:2px;display:block}.bars .pair i.s{background:color-mix(in srgb, var(--primary) 35%, transparent)}.pre{font-family:var(--font-mono);white-space:pre-wrap;background:var(--bg);border-radius:10px;padding:10px;font-size:12px}.video{aspect-ratio:16/9;background:#000;border-radius:16px;position:relative;overflow:hidden}.video>div,.video iframe{width:100%;height:100%;position:absolute;inset:0}.alts{gap:8px;margin-top:8px;padding-bottom:4px;display:flex;overflow-x:auto}.alts button{max-width:220px;font-size:var(--fs-xs);background:var(--surface);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;border-radius:10px;flex:none;padding:8px 10px;overflow:hidden}.alts button.on{outline:2px solid var(--primary)}
