:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-rounded:ui-rounded, "SF Pro Rounded", "Yuanti SC", "YouYuan", "幼圆", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-heavy:800;--tracking-tight:-.035em;--tracking-wide:.12em;--tracking-space:.02em;--text-7:7px;--text-7-2:7.2px;--text-7-4:7.4px;--text-7-5:7.5px;--text-8:8px;--text-8-5:8.5px;--text-9:9px;--text-9-5:9.5px;--text-10:10px;--text-10-5:10.5px;--text-11:11px;--text-11-5:11.5px;--text-12:12px;--text-12-5:12.5px;--text-13:13px;--text-13-5:13.5px;--text-14:14px;--text-14-5:14.5px;--text-15:15px;--text-16:16px;--text-17:17px;--text-18:18px;--text-19:19px;--text-20:20px;--text-21:21px;--text-22:22px;--text-23:23px;--text-24:24px;--text-26:26px;--text-27:27px;--text-28:28px;--text-29:29px;--text-30:30px;--text-33:33px;--text-34:34px;--text-38:38px;--text-39:39px;--text-40:40px;--text-46:46px;--text-49:49px;--text-50:50px;--text-52:52px;--text-64:64px;--radius-pill:999px;--radius-2xs:3px;--radius-xs:9px;--radius-sm:13px;--radius-control:15px;--radius-md:18px;--radius-tile:19px;--radius-lg:23px;--radius-xl:28px;--radius-2xl:30px;--radius-3xl:34px;--radius-corner-cut:5px;--motion-instant:.01ms;--motion-flick:.14s;--motion-fast:.16s;--motion-quick:.2s;--motion-base:.25s;--motion-enter:.32s;--motion-slow:.5s;--motion-flip:.58s;--motion-bar:.75s;--motion-loop:1s;--motion-boot:1.2s;--motion-breathe:2.3s;--motion-steam:2.4s;--motion-shine:5s;--motion-stagger-base:.14s;--motion-stagger:80ms;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.2, .9, .3, 1.25);--ease-spring-soft:cubic-bezier(.2, .9, .3, 1.2);--ease-standard:ease;--ease-in-out:ease-in-out;--ease-linear:linear}:root:not([data-theme]),[data-theme=cute]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--radius-2xs:3px;--radius-xs:9px;--radius-sm:13px;--radius-control:15px;--radius-md:18px;--radius-tile:19px;--radius-lg:23px;--radius-xl:28px;--radius-2xl:30px;--radius-3xl:34px;--radius-corner-cut:5px;--paper:#fff6e8;--paper-deep:#f3e2cb;--desk:#e9d6bd;--milk:#fffcf6;--cocoa:#43302a;--cocoa-muted:#7b675c;--cocoa-faint:#806857;--marmalade:#e98a3c;--marmalade-deep:#9c5015;--marmalade-soft:#fbe1c4;--butter:#ffd98f;--butter-soft:#fff0c9;--strawberry:#e97979;--strawberry-deep:#a84242;--strawberry-soft:#fbe3e1;--matcha:#86a87f;--matcha-deep:#4f6b48;--matcha-soft:#e8f0e4;--line:#e7d2b8;--line-strong:#d7b995;--shadow-color:#6b482a21;--font-body:var(--font-rounded);--font-display:var(--font-rounded);--surface-page:#e9d6bd;--surface-app:#fff6e8;--surface-card:#fffcf6;--surface-bright:#fffdf8;--surface-raised:#fffaf0;--surface-raised-alt:#fffaf1;--surface-soft:#fff8ea;--surface-soft-alt:#fff8e9;--surface-sheet:#fff9ee;--surface-sheet-alt:#fff9eb;--surface-warm:#fff6e6;--surface-warm-deep:#fff5df;--surface-warm-2:#fff6e2;--surface-warm-inset:#f6e8d6;--surface-butter:#fff5da;--surface-butter-soft:#fff2d8;--surface-gold-start:#fff4d3;--surface-gold-end:#ffe3ae;--surface-tint:#fff3dc;--surface-tint-start:#fffdf7;--surface-muted:#f1e0c9;--surface-muted-2:#f1e2ce;--surface-muted-3:#f0e3d0;--surface-muted-4:#e7d4be;--surface-muted-5:#e4d2bc;--surface-note:#fdf7ec;--surface-note-2:#fdf6e9;--surface-note-3:#fdf5e8;--surface-note-4:#f7f0e5;--surface-note-5:#fbf3e6;--surface-press:#f6e7cf;--surface-sunken:#f3e3cb;--surface-danger:#fff1ef;--surface-bento-start:#d9b184;--surface-bento-end:#c99a68;--surface-draw-start:#f6c983;--surface-draw-end:#cf6c28;--surface-modal:#fffaf0;--surface-toast:#43302a;--dot:#6b482a13;--texture-page:radial-gradient(circle at 1px 1px, var(--dot) 1px, transparent 0);--texture-page-size:18px 18px;--texture-bento:linear-gradient(155deg, var(--surface-bento-start) 0%, var(--surface-bento-end) 100%);--texture-bento-main:linear-gradient(160deg, var(--surface-tint-start) 0%, var(--surface-tint) 100%);--texture-calendar:linear-gradient(170deg, var(--surface-bright) 0%, var(--paper) 100%);--texture-ad:linear-gradient(165deg, var(--surface-bright) 0%, var(--surface-warm) 100%);--texture-progress:linear-gradient(90deg, var(--marmalade), var(--accent-bright));--texture-draw:linear-gradient(145deg, var(--surface-draw-start), var(--marmalade) 58%, var(--surface-draw-end));--texture-gold:linear-gradient(160deg, var(--surface-gold-start), var(--surface-gold-end));--texture-sheet:linear-gradient(180deg, var(--overlay-milk), var(--milk));--surface-tape:#ffe09ee6;--tape-line:#92632438;--overlay-top:#ffffff61;--overlay-highlight:#ffffff47;--overlay-sparkle:#ffffff17;--overlay-milk:#fffcf699;--overlay-soft:#fffcf6b8;--overlay-badge:#fffcf6bf;--overlay-glass:#fffcf6d1;--overlay-card:#fffcf6db;--overlay-strong:#fffcf6e6;--overlay-stronger:#fffcf6eb;--overlay-sheet:#fffcf6f0;--overlay-dim:#fff8e8e6;--overlay-faint:#fff8e8b3;--overlay-pale:#fff8e894;--fade-transparent:#fff6e800;--scrim:#43302a5c;--scrim-strong:#3721137a;--scrim-ad:#28180e9e;--scrim-onboarding:#43302a5c;--text-strong:#43302a;--text-muted:#7b675c;--text-faint:#806857;--text-soft:#8a6b4d;--text-note:#937c69;--text-disabled:#b9a490;--text-on-bento:#422a18eb;--text-ink-soft:#4b301dbf;--text-ink-faint:#4b301d80;--text-stamp-faint:#9660379e;--text-on-accent:#3b2415;--text-on-gold:#4b2b17;--text-on-danger:#fff9f2;--text-on-toast:#fff8ea;--underline-faint:#80685773;--underline-dashed:#7b675c8c;--highlight:#fff;--accent-ink:#7c5217;--accent-ink-deep:#8a5b16;--accent-ink-warm:#8a5a1e;--accent-edge:#bf6a24;--accent-bright:#ffc76f;--accent-line:#eac97e;--accent-line-strong:#eecb7f;--accent-line-bright:#ebc46f;--accent-line-warm:#edcf8f;--accent-line-soft:#efd49f;--accent-border-strong:#d6a24a;--accent-faint:#c96e247a;--dash-accent:#c96e2473;--focus-ring:#e98a3c80;--focus-halo:#e98a3c21;--focus-halo-strong:#e98a3c29;--danger-halo:#e979791a;--surface-accent-tint:#ffd98f57;--surface-accent-wash:#e98a3c17;--surface-pressed:#84571124;--gold-shadow:#e8c680;--gold-edge:#e0b356;--gold-edge-soft:#e5c07a;--gold-edge-strong:#dca947;--line-soft:#ecd8bf;--line-dash:#d2b692;--line-dash-strong:#cdb08d;--line-warm:#e4c797;--line-gold-soft:#e5cf9c;--line-gold-highlight:#f4db9f;--line-gold-edge:#e3b96b;--line-board:#cfb491;--line-board-soft:#d9b988;--line-faint:#d9c3aa;--line-dot:#c9ae90;--line-calendar:#e4d6c4;--line-calendar-strong:#d7c0a4;--line-calendar-gold:#e9bd6f;--line-shell:#ecd9c2;--line-divider:#a07c585c;--line-overlay:#c9a67e73;--line-overlay-soft:#ba936a66;--line-danger:#e3b1ac;--line-danger-strong:#df9d97;--line-success:#bfd2b7;--line-success-soft:#c9dbc2;--line-warning:#f0cfa4;--line-warning-soft:#f0c98f;--mix-rarity-line:#e9d6c0;--mix-stamp-line:#e9d5bc;--mix-stamp-fallback:#f0dcc2;--stamp-border-faint:#b9794a59;--ink-line-soft:#4b2b1752;--ink-line-strong:#4b2b178c;--shadow-shell:#6b482a2e;--shadow-tint-soft:#6b482a14;--shadow-tint-mid:#6b482a2b;--shadow-tint-strong:#6b482a33;--shadow-tint-hairline:#6b482a0f;--shadow-accent:#bf6a2433;--shadow-accent-soft:#bf6a2429;--shadow-accent-faint:#c96e2424;--shadow-gold:#a06f2526;--shadow-gold-strong:#a06f2533;--shadow-gold-soft:#8b5e3c1f;--shadow-gold-inset:#c9a87f29;--shadow-inset-tint:#855d361a;--shadow-inset-strong-tint:#855d361f;--shadow-handle-tint:#6b482a33;--shadow-ur-glow:#f0a93b38;--glow-gold:#ffd67a80;--shadow-draw-tint:#5f321147;--shadow-modal-tint:#37211352;--shadow-toast-tint:#37211340;--shadow-onboarding:#43302a47;--shadow-danger-tint:#b0524b33;--shadow-soft:0 6px 18px var(--shadow-tint-soft);--shadow-card:0 12px 30px var(--shadow-color);--shadow-ticket:0 4px 0 var(--shadow-gold-inset), 0 12px 24px var(--shadow-tint-soft);--shadow-float:0 12px 32px var(--shadow-tint-mid);--shadow-modal:0 24px 60px var(--shadow-modal-tint);--shadow-toast:0 8px 22px var(--shadow-toast-tint);--shadow-button:0 4px 0 var(--accent-edge), 0 10px 20px var(--shadow-accent);--shadow-button-press:0 1px 0 var(--accent-edge);--shadow-sticker:0 3px 0 var(--gold-edge), 0 9px 16px var(--shadow-gold);--shadow-bento:inset 0 1px 0 var(--overlay-top), 0 16px 30px var(--shadow-tint-mid);--shadow-frame:0 0 70px var(--shadow-shell);--shadow-tape:0 2px 4px var(--shadow-tint-soft);--shadow-draw:inset 0 0 0 2px var(--overlay-highlight), 0 18px 34px var(--shadow-draw-tint);--shadow-ad:0 18px 34px var(--shadow-tint-strong);--shadow-node:0 18px 34px var(--shadow-tint-mid);--shadow-handle:0 1px 3px var(--shadow-handle-tint);--shadow-hairline:0 2px 6px var(--shadow-tint-hairline);--shadow-inset:inset 0 1px 2px var(--shadow-inset-tint);--shadow-inset-strong:inset 0 1px 2px var(--shadow-inset-strong-tint);--shadow-glow:0 0 0 5px var(--shadow-ur-glow), 0 0 28px var(--shadow-ur-glow);--shadow-ur:0 0 0 5px var(--shadow-ur-glow), 0 18px 36px var(--shadow-tint-strong);--shadow-danger:0 10px 20px var(--shadow-danger-tint);--shadow-selected:inset 0 0 0 1px var(--marmalade), 0 4px 10px var(--shadow-accent-faint);--shadow-expanded:0 3px 0 var(--accent-edge), 0 7px 14px var(--shadow-accent-soft);--shadow-option:0 3px 0 var(--gold-shadow);--shadow-option-lg:0 4px 0 var(--shadow-gold-inset);--shadow-page-glow:0 0 60px var(--shadow-tint-strong);--shadow-hero:0 5px 0 var(--gold-edge-strong), 0 18px 34px var(--shadow-gold-strong);--shadow-tabbar:0 12px 32px var(--shadow-tint-mid), inset 0 1px 0 var(--highlight);--shadow-tab-active:0 2px 0 var(--gold-edge);--shadow-danger-button:0 4px 0 var(--strawberry-deep), 0 10px 20px var(--shadow-danger-tint);--shadow-danger-press:0 1px 0 var(--strawberry-deep);--shadow-stamp-card:0 3px 0 var(--gold-edge-soft), 0 8px 16px var(--shadow-gold-soft);--shadow-stamp-press:0 1px 0 var(--gold-edge-soft);--drop-shadow-card:drop-shadow(0 5px 9px var(--shadow-tint-strong));--drop-shadow-stamp:drop-shadow(0 2px 4px var(--shadow-tint-strong));--drop-shadow-stamp-lg:drop-shadow(0 9px 15px var(--shadow-tint-strong));--drop-shadow-soft:drop-shadow(0 3px 3px var(--shadow-tint-hairline));--rarity-r:#9aa7b2;--rarity-r-soft:#eef2f5;--rarity-r-ink:#55636f;--rarity-r-line:#7d8d9b;--rarity-r-glow:#9aa7b238;--rarity-sr:#5b9bd5;--rarity-sr-soft:#e6f1fb;--rarity-sr-ink:#2f6394;--rarity-sr-line:#4a88c4;--rarity-sr-glow:#5b9bd53d;--rarity-ssr:#b07ce8;--rarity-ssr-soft:#f3eafa;--rarity-ssr-ink:#7443a8;--rarity-ssr-line:#9a63d4;--rarity-ssr-glow:#b07ce842;--rarity-ur:#f0a93b;--rarity-ur-soft:#fff2d9;--rarity-ur-ink:#8a5a00;--rarity-ur-line:#c98212;--rarity-ur-glow:#f0a93b4d;--text-on-rarity:#1b120c;--stamp-bronze:#b9794a;--stamp-bronze-soft:#fbeee4;--stamp-bronze-ink:#7a4526;--stamp-bronze-line:#a45f31;--stamp-silver:#8a9aa5;--stamp-silver-soft:#f2f4f6;--stamp-silver-ink:#4f606c;--stamp-silver-line:#71838f;--stamp-gold:#c69a2b;--stamp-gold-soft:#fff3d6;--stamp-gold-ink:#7a5a00;--stamp-gold-line:#a87d13;--stamp-neutral:#c9ae90;--stamp-neutral-soft:#f7eddf;--stamp-neutral-ink:#735c4b;--stamp-locked:#d9c3aa;--stamp-locked-soft:#f3e3cb;--stamp-on-ring:#1b120c;--stamp-on-soft:#3f332b}[data-theme=simple]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--radius-2xs:2px;--radius-xs:6px;--radius-sm:8px;--radius-control:8px;--radius-md:10px;--radius-tile:10px;--radius-lg:12px;--radius-xl:14px;--radius-2xl:16px;--radius-3xl:18px;--radius-corner-cut:3px;--paper:#fff;--paper-deep:#f1f3f5;--desk:#f4f6f8;--milk:#fff;--cocoa:#1f2933;--cocoa-muted:#52606d;--cocoa-faint:#6b7a89;--marmalade:#2563eb;--marmalade-deep:#1e40af;--marmalade-soft:#e8f0fe;--butter:#e8f0fe;--butter-soft:#f3f5f7;--strawberry:#dc2626;--strawberry-deep:#b91c1c;--strawberry-soft:#fee2e2;--matcha:#059669;--matcha-deep:#047857;--matcha-soft:#d1fae5;--line:#e2e6ea;--line-strong:#c9d0d8;--shadow-color:#10182814;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-display:var(--font-body);--surface-page:#f4f6f8;--surface-app:#fff;--surface-card:#fff;--surface-bright:#fff;--surface-raised:#f9fafb;--surface-raised-alt:#f9fafb;--surface-soft:#f3f5f7;--surface-soft-alt:#f3f5f7;--surface-sheet:#fff;--surface-sheet-alt:#fff;--surface-warm:#f9fafb;--surface-warm-deep:#f3f5f7;--surface-warm-2:#f3f5f7;--surface-warm-inset:#f3f5f7;--surface-butter:#f9fafb;--surface-butter-soft:#f3f5f7;--surface-gold-start:#f9fafb;--surface-gold-end:#f3f5f7;--surface-tint:#f9fafb;--surface-tint-start:#fff;--surface-muted:#eef1f4;--surface-muted-2:#eef1f4;--surface-muted-3:#eef1f4;--surface-muted-4:#e2e6ea;--surface-muted-5:#eef1f4;--surface-note:#f9fafb;--surface-note-2:#f9fafb;--surface-note-3:#f9fafb;--surface-note-4:#f9fafb;--surface-note-5:#f9fafb;--surface-press:#eef1f4;--surface-sunken:#e9edf1;--surface-danger:#fef2f2;--surface-bento-start:#eef1f4;--surface-bento-end:#e2e6ea;--surface-draw-start:#dbeafe;--surface-draw-end:#bfdbfe;--surface-modal:#fff;--surface-toast:#1f2933;--dot:transparent;--texture-page:none;--texture-page-size:auto;--texture-bento:none;--texture-bento-main:none;--texture-calendar:none;--texture-ad:none;--texture-progress:linear-gradient(90deg, var(--marmalade), var(--accent-bright));--texture-draw:none;--texture-gold:none;--texture-sheet:none;--surface-tape:#e2e6ea;--tape-line:#c9d0d8;--overlay-top:#ffffff80;--overlay-highlight:#fff9;--overlay-sparkle:transparent;--overlay-milk:#fff9;--overlay-soft:#ffffffb8;--overlay-badge:#ffffffbf;--overlay-glass:#ffffffd1;--overlay-card:#ffffffdb;--overlay-strong:#ffffffe6;--overlay-stronger:#ffffffeb;--overlay-sheet:#fffffff0;--overlay-dim:#f9fafbe6;--overlay-faint:#f9fafbb3;--overlay-pale:#f9fafb94;--fade-transparent:#fff0;--scrim:#10182866;--scrim-strong:#10182880;--scrim-ad:#1018289e;--scrim-onboarding:#10182866;--text-strong:#1f2933;--text-muted:#52606d;--text-faint:#6b7a89;--text-soft:#52606d;--text-note:#52606d;--text-disabled:#98a2b3;--text-on-bento:#1f2933;--text-ink-soft:#52606d;--text-ink-faint:#6b7a89;--text-stamp-faint:#52606db3;--text-on-accent:#fff;--text-on-gold:#fff;--text-on-danger:#fff;--text-on-toast:#fff;--underline-faint:#52606d73;--underline-dashed:#52606d8c;--highlight:#fff;--accent-ink:#1e40af;--accent-ink-deep:#1d4ed8;--accent-ink-warm:#1e40af;--accent-edge:#1d4ed8;--accent-bright:#93c5fd;--accent-line:#bfdbfe;--accent-line-strong:#93c5fd;--accent-line-bright:#60a5fa;--accent-line-warm:#dbeafe;--accent-line-soft:#dbeafe;--accent-border-strong:#2563eb;--accent-faint:#2563eb80;--dash-accent:#2563eb73;--focus-ring:#2563eb99;--focus-halo:#2563eb24;--focus-halo-strong:#2563eb2e;--danger-halo:#dc26261f;--surface-accent-tint:#2563eb14;--surface-accent-wash:#2563eb0f;--surface-pressed:#1018280f;--gold-shadow:#dbeafe;--gold-edge:#93c5fd;--gold-edge-soft:#bfdbfe;--gold-edge-strong:#60a5fa;--line-soft:#e2e6ea;--line-dash:#c9d0d8;--line-dash-strong:#94a3b8;--line-warm:#e2e6ea;--line-gold-soft:#e2e6ea;--line-gold-highlight:#bfdbfe;--line-gold-edge:#bfdbfe;--line-board:#c9d0d8;--line-board-soft:#c9d0d8;--line-faint:#e2e6ea;--line-dot:#94a3b8;--line-calendar:#e2e6ea;--line-calendar-strong:#c9d0d8;--line-calendar-gold:#bfdbfe;--line-shell:#e2e6ea;--line-divider:#e2e6ea;--line-overlay:#e2e6ea;--line-overlay-soft:#e2e6ea;--line-danger:#fca5a5;--line-danger-strong:#f87171;--line-success:#a7f3d0;--line-success-soft:#d1fae5;--line-warning:#fde68a;--line-warning-soft:#fef3c7;--mix-rarity-line:#e2e6ea;--mix-stamp-line:#e2e6ea;--mix-stamp-fallback:#e2e6ea;--stamp-border-faint:#e2e6ea;--ink-line-soft:#1f293352;--ink-line-strong:#1f29338c;--shadow-shell:#1018281f;--shadow-tint-soft:#1018280d;--shadow-tint-mid:#10182814;--shadow-tint-strong:#1018281f;--shadow-tint-hairline:#1018280a;--shadow-accent:#1d4ed829;--shadow-accent-soft:#1d4ed81f;--shadow-accent-faint:#2563eb1a;--shadow-gold:#1018280f;--shadow-gold-strong:#10182814;--shadow-gold-soft:#1018280d;--shadow-gold-inset:#1018280a;--shadow-inset-tint:#1018280f;--shadow-inset-strong-tint:#10182814;--shadow-handle-tint:#10182833;--shadow-ur-glow:#b453092e;--glow-gold:#2563eb2e;--shadow-draw-tint:#1018283d;--shadow-modal-tint:#1018283d;--shadow-toast-tint:#10182833;--shadow-onboarding:#10182833;--shadow-danger-tint:#dc262629;--shadow-soft:0 1px 2px var(--shadow-tint-soft);--shadow-card:0 1px 3px var(--shadow-tint-soft), 0 1px 2px var(--shadow-tint-hairline);--shadow-ticket:0 1px 2px var(--shadow-tint-soft);--shadow-float:0 4px 12px var(--shadow-tint-soft);--shadow-modal:0 12px 32px var(--shadow-modal-tint);--shadow-toast:0 4px 12px var(--shadow-toast-tint);--shadow-button:0 1px 2px var(--shadow-accent);--shadow-button-press:none;--shadow-sticker:0 1px 2px var(--shadow-tint-soft);--shadow-bento:0 1px 2px var(--shadow-tint-soft);--shadow-frame:0 0 0 1px var(--line);--shadow-tape:none;--shadow-draw:0 8px 24px var(--shadow-draw-tint);--shadow-ad:0 8px 24px var(--shadow-tint-strong);--shadow-node:0 4px 12px var(--shadow-tint-soft);--shadow-handle:0 1px 2px var(--shadow-handle-tint);--shadow-hairline:0 1px 2px var(--shadow-tint-hairline);--shadow-inset:inset 0 1px 2px var(--shadow-inset-tint);--shadow-inset-strong:inset 0 1px 2px var(--shadow-inset-strong-tint);--shadow-glow:0 0 0 3px var(--shadow-ur-glow);--shadow-ur:0 0 0 3px var(--shadow-ur-glow), 0 8px 20px var(--shadow-tint-soft);--shadow-danger:0 2px 6px var(--shadow-danger-tint);--shadow-selected:inset 0 0 0 1px var(--marmalade), 0 0 0 1px var(--line);--shadow-expanded:0 1px 2px var(--shadow-accent);--shadow-option:0 0 0 1px var(--line);--shadow-option-lg:none;--shadow-page-glow:0 0 0 1px var(--line);--shadow-hero:0 1px 2px var(--shadow-tint-soft);--shadow-tabbar:0 1px 3px var(--shadow-tint-soft);--shadow-tab-active:0 0 0 1px var(--line);--shadow-danger-button:0 1px 2px var(--shadow-danger-tint);--shadow-danger-press:none;--shadow-stamp-card:0 1px 2px var(--shadow-tint-soft);--shadow-stamp-press:none;--drop-shadow-card:drop-shadow(0 2px 4px var(--shadow-tint-soft));--drop-shadow-stamp:drop-shadow(0 1px 2px var(--shadow-tint-soft));--drop-shadow-stamp-lg:drop-shadow(0 2px 4px var(--shadow-tint-soft));--drop-shadow-soft:drop-shadow(0 1px 2px var(--shadow-tint-hairline));--rarity-r:#607181;--rarity-r-soft:#f0f3f6;--rarity-r-ink:#3f4e5c;--rarity-r-line:#52606d;--rarity-r-glow:#60718129;--rarity-sr:#2563eb;--rarity-sr-soft:#e8f0fe;--rarity-sr-ink:#1e40af;--rarity-sr-line:#1d4ed8;--rarity-sr-glow:#2563eb2e;--rarity-ssr:#7c3aed;--rarity-ssr-soft:#f1e9fe;--rarity-ssr-ink:#5b21b6;--rarity-ssr-line:#6d28d9;--rarity-ssr-glow:#7c3aed2e;--rarity-ur:#b45309;--rarity-ur-soft:#fff4e5;--rarity-ur-ink:#7c3d06;--rarity-ur-line:#92400e;--rarity-ur-glow:#b453092e;--text-on-rarity:#fff;--stamp-bronze:#9a5b2e;--stamp-bronze-soft:#f7ece4;--stamp-bronze-ink:#6b3b1a;--stamp-bronze-line:#8a4d24;--stamp-silver:#66788a;--stamp-silver-soft:#eef2f5;--stamp-silver-ink:#46545f;--stamp-silver-line:#596b7a;--stamp-gold:#8f6a00;--stamp-gold-soft:#fff6dd;--stamp-gold-ink:#5c4400;--stamp-gold-line:#7a5a00;--stamp-neutral:#94a3b8;--stamp-neutral-soft:#f3f5f7;--stamp-neutral-ink:#52606d;--stamp-locked:#c9d0d8;--stamp-locked-soft:#eef1f4;--stamp-on-ring:#fff;--stamp-on-soft:#1f2933}[data-theme=vivid]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--radius-2xs:3px;--radius-xs:7px;--radius-sm:10px;--radius-control:12px;--radius-md:14px;--radius-tile:16px;--radius-lg:20px;--radius-xl:26px;--radius-2xl:28px;--radius-3xl:30px;--radius-corner-cut:4px;--paper:#150d24;--paper-deep:#241640;--desk:#0c0714;--milk:#1d1233;--cocoa:#f4eeff;--cocoa-muted:#c9b9e6;--cocoa-faint:#a792c9;--marmalade:#ff4fd8;--marmalade-deep:#ff8ae6;--marmalade-soft:#3a1838;--butter:#3a1838;--butter-soft:#2b1b4a;--strawberry:#ff6b8a;--strawberry-deep:#ff9bb0;--strawberry-soft:#3a1626;--matcha:#7cf0b0;--matcha-deep:#a8ffcb;--matcha-soft:#14301f;--line:#35234f;--line-strong:#6b4b9e;--shadow-color:#00000080;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-display:var(--font-body);--surface-page:#0c0714;--surface-app:#150d24;--surface-card:#1d1233;--surface-bright:#241640;--surface-raised:#241640;--surface-raised-alt:#241640;--surface-soft:#2b1b4a;--surface-soft-alt:#2b1b4a;--surface-sheet:#241640;--surface-sheet-alt:#241640;--surface-warm:#2b1b4a;--surface-warm-deep:#241640;--surface-warm-2:#2b1b4a;--surface-warm-inset:#241640;--surface-butter:#3a1838;--surface-butter-soft:#2b1b4a;--surface-gold-start:#3a2c1f;--surface-gold-end:#2a1f16;--surface-tint:#241640;--surface-tint-start:#2b1b4a;--surface-muted:#2b1b4a;--surface-muted-2:#2b1b4a;--surface-muted-3:#2b1b4a;--surface-muted-4:#35234f;--surface-muted-5:#2b1b4a;--surface-note:#241640;--surface-note-2:#241640;--surface-note-3:#241640;--surface-note-4:#241640;--surface-note-5:#241640;--surface-press:#35234f;--surface-sunken:#241640;--surface-danger:#3a1626;--surface-bento-start:#2a1747;--surface-bento-end:#1a0f30;--surface-draw-start:#4a2140;--surface-draw-end:#2a1230;--surface-modal:#1d1233;--surface-toast:#2b1b4a;--dot:#ff4fd81a;--texture-page:radial-gradient(circle at 1px 1px, var(--dot) 1px, transparent 0);--texture-page-size:18px 18px;--texture-bento:linear-gradient(150deg, var(--surface-bento-start), var(--surface-bento-end) 55%, var(--surface-raised));--texture-bento-main:linear-gradient(160deg, var(--surface-raised), var(--surface-card) 60%, var(--surface-soft));--texture-calendar:linear-gradient(170deg, var(--surface-raised), var(--surface-card));--texture-ad:linear-gradient(165deg, var(--surface-raised), var(--surface-card));--texture-progress:linear-gradient(90deg, var(--marmalade), var(--accent-bright));--texture-draw:linear-gradient(145deg, var(--surface-draw-start), var(--marmalade) 58%, var(--surface-draw-end));--texture-gold:linear-gradient(160deg, var(--surface-gold-start), var(--surface-gold-end));--texture-sheet:linear-gradient(180deg, var(--overlay-milk), var(--milk));--surface-tape:#ff4fd829;--tape-line:#ff4fd840;--overlay-top:#ffffff14;--overlay-highlight:#ffffff1f;--overlay-sparkle:#ffffff0f;--overlay-milk:#1d123399;--overlay-soft:#1d1233b8;--overlay-badge:#2b1b4abf;--overlay-glass:#1d1233d1;--overlay-card:#241640db;--overlay-strong:#241640e6;--overlay-stronger:#241640eb;--overlay-sheet:#1d1233f5;--overlay-dim:#2b1b4ae6;--overlay-faint:#2b1b4ab3;--overlay-pale:#2b1b4a94;--fade-transparent:#150d2400;--scrim:#05020aa6;--scrim-strong:#05020ab8;--scrim-ad:#05020acc;--scrim-onboarding:#05020ab3;--text-strong:#f4eeff;--text-muted:#c9b9e6;--text-faint:#a792c9;--text-soft:#c9b9e6;--text-note:#b9a8d8;--text-disabled:#7d6aa3;--text-on-bento:#f4eeff;--text-ink-soft:#f4eeffc7;--text-ink-faint:#f4eeff80;--text-stamp-faint:#e0c2ff9e;--text-on-accent:#0c0714;--text-on-gold:#0c0714;--text-on-danger:#0c0714;--text-on-toast:#f4eeff;--underline-faint:#c9b9e673;--underline-dashed:#c9b9e68c;--highlight:#fff;--accent-ink:#ffd1f6;--accent-ink-deep:#ff8ae6;--accent-ink-warm:#ffd1f6;--accent-edge:#ff4fd8;--accent-bright:#ffd1f6;--accent-line:#ff4fd8;--accent-line-strong:#ff8ae6;--accent-line-bright:#ff4fd8;--accent-line-warm:#6b4b9e;--accent-line-soft:#6b4b9e;--accent-border-strong:#ff4fd8;--accent-faint:#ff4fd880;--dash-accent:#ff4fd873;--focus-ring:#ff4fd8b3;--focus-halo:#ff4fd82e;--focus-halo-strong:#ff4fd83d;--danger-halo:#ff6b8a24;--surface-accent-tint:#ff4fd81f;--surface-accent-wash:#ff4fd814;--surface-pressed:#ffffff14;--gold-shadow:#6b4b9e;--gold-edge:#ffc24d;--gold-edge-soft:#8b6bc9;--gold-edge-strong:#ffc24d;--line-soft:#35234f;--line-dash:#6b4b9e;--line-dash-strong:#8b6bc9;--line-warm:#6b4b9e;--line-gold-soft:#6b4b9e;--line-gold-highlight:#6b4b9e;--line-gold-edge:#ffc24d;--line-board:#6b4b9e;--line-board-soft:#6b4b9e;--line-faint:#35234f;--line-dot:#6b4b9e;--line-calendar:#35234f;--line-calendar-strong:#6b4b9e;--line-calendar-gold:#ffc24d;--line-shell:#35234f;--line-divider:#35234f;--line-overlay:#6b4b9e;--line-overlay-soft:#35234f;--line-danger:#ff6b8a;--line-danger-strong:#ff9bb0;--line-success:#7cf0b0;--line-success-soft:#14301f;--line-warning:#ffc24d;--line-warning-soft:#3a2c1f;--mix-rarity-line:#35234f;--mix-stamp-line:#35234f;--mix-stamp-fallback:#6b4b9e;--stamp-border-faint:#e39a6b73;--ink-line-soft:#ffffff3d;--ink-line-strong:#fff6;--shadow-shell:#0009;--shadow-tint-soft:#00000059;--shadow-tint-mid:#00000080;--shadow-tint-strong:#0009;--shadow-tint-hairline:#00000040;--shadow-accent:#ff4fd83d;--shadow-accent-soft:#ff4fd82e;--shadow-accent-faint:#ff4fd824;--shadow-gold:#00000080;--shadow-gold-strong:#0000008c;--shadow-gold-soft:#0006;--shadow-gold-inset:#ffffff0f;--shadow-inset-tint:#0006;--shadow-inset-strong-tint:#00000080;--shadow-handle-tint:#0000008c;--shadow-ur-glow:#ffc24d66;--glow-gold:#ffc24d59;--shadow-draw-tint:#0009;--shadow-modal-tint:#0009;--shadow-toast-tint:#0009;--shadow-onboarding:#0009;--shadow-danger-tint:#ff6b8a3d;--shadow-soft:0 6px 18px var(--shadow-tint-soft);--shadow-card:0 12px 30px var(--shadow-color), 0 0 0 1px var(--line), inset 0 1px 0 var(--overlay-top);--shadow-ticket:0 4px 0 var(--shadow-gold-inset), 0 12px 24px var(--shadow-tint-soft);--shadow-float:0 12px 32px var(--shadow-tint-mid), 0 0 0 1px var(--line);--shadow-modal:0 24px 60px var(--shadow-modal-tint), 0 0 0 1px var(--line-strong);--shadow-toast:0 8px 22px var(--shadow-toast-tint);--shadow-button:0 0 0 1px var(--accent-line), 0 8px 24px var(--shadow-accent);--shadow-button-press:0 0 0 1px var(--accent-line);--shadow-sticker:0 0 0 1px var(--accent-line), 0 8px 20px var(--shadow-accent-soft);--shadow-bento:0 0 0 1px var(--line-strong), 0 16px 30px var(--shadow-tint-mid);--shadow-frame:0 0 70px var(--shadow-shell);--shadow-tape:0 2px 4px var(--shadow-tint-soft);--shadow-ad:0 18px 34px var(--shadow-tint-strong), 0 0 0 1px var(--line-strong);--shadow-node:0 18px 34px var(--shadow-tint-mid);--shadow-handle:0 1px 3px var(--shadow-handle-tint);--shadow-hairline:0 2px 6px var(--shadow-tint-hairline);--shadow-inset:inset 0 1px 2px var(--shadow-inset-tint);--shadow-inset-strong:inset 0 1px 2px var(--shadow-inset-strong-tint);--shadow-glow:0 0 0 5px var(--shadow-ur-glow), 0 0 34px var(--shadow-ur-glow);--shadow-ur:0 0 0 5px var(--shadow-ur-glow), 0 18px 36px var(--shadow-tint-strong);--shadow-danger:0 10px 20px var(--shadow-danger-tint);--shadow-selected:inset 0 0 0 1px var(--marmalade), 0 0 18px var(--shadow-accent-soft);--shadow-draw:inset 0 0 0 2px var(--overlay-highlight), 0 18px 34px var(--shadow-draw-tint);--shadow-expanded:0 0 0 1px var(--accent-edge), 0 0 24px var(--shadow-accent);--shadow-option:0 0 0 1px var(--accent-line);--shadow-option-lg:0 0 0 1px var(--accent-line);--shadow-page-glow:0 0 60px var(--shadow-tint-strong);--shadow-hero:0 0 0 1px var(--accent-line), 0 0 34px var(--shadow-accent-soft);--shadow-tabbar:0 12px 32px var(--shadow-tint-mid), inset 0 1px 0 var(--overlay-top);--shadow-tab-active:0 0 0 1px var(--accent-line);--shadow-danger-button:0 0 0 1px var(--strawberry), 0 10px 20px var(--shadow-danger-tint);--shadow-danger-press:none;--shadow-stamp-card:0 0 0 1px var(--accent-line), 0 8px 20px var(--shadow-accent-soft);--shadow-stamp-press:0 0 0 1px var(--accent-line);--drop-shadow-card:drop-shadow(0 5px 9px var(--shadow-tint-strong));--drop-shadow-stamp:drop-shadow(0 2px 4px var(--shadow-tint-strong));--drop-shadow-stamp-lg:drop-shadow(0 9px 15px var(--shadow-tint-strong));--drop-shadow-soft:drop-shadow(0 3px 3px var(--shadow-tint-hairline));--rarity-r:#9fb3c8;--rarity-r-soft:#263247;--rarity-r-ink:#c8d6e5;--rarity-r-line:#9fb3c8;--rarity-r-glow:#9fb3c84d;--rarity-sr:#5ab4ff;--rarity-sr-soft:#1c2e4d;--rarity-sr-ink:#a8d8ff;--rarity-sr-line:#5ab4ff;--rarity-sr-glow:#5ab4ff66;--rarity-ssr:#c084ff;--rarity-ssr-soft:#322052;--rarity-ssr-ink:#e0c2ff;--rarity-ssr-line:#c084ff;--rarity-ssr-glow:#c084ff73;--rarity-ur:#ffc24d;--rarity-ur-soft:#3a2c1f;--rarity-ur-ink:#ffe1a3;--rarity-ur-line:#ffc24d;--rarity-ur-glow:#ffc24d80;--text-on-rarity:#0c0714;--stamp-bronze:#e39a6b;--stamp-bronze-soft:#3a2418;--stamp-bronze-ink:#ffd2b0;--stamp-bronze-line:#e39a6b;--stamp-silver:#d5dee8;--stamp-silver-soft:#2a3040;--stamp-silver-ink:#eef4fa;--stamp-silver-line:#d5dee8;--stamp-gold:#ffd24a;--stamp-gold-soft:#3a3016;--stamp-gold-ink:#fff0b8;--stamp-gold-line:#ffd24a;--stamp-neutral:#6b4b9e;--stamp-neutral-soft:#2b1b4a;--stamp-neutral-ink:#c9b9e6;--stamp-locked:#35234f;--stamp-locked-soft:#241640;--stamp-on-ring:#0c0714;--stamp-on-soft:#f4eeff}[data-rarity=R]{--rarity-color:var(--rarity-r);--rarity-soft:var(--rarity-r-soft);--rarity-ink:var(--rarity-r-ink);--rarity-line:var(--rarity-r-line);--rarity-glow:var(--rarity-r-glow)}[data-rarity=SR]{--rarity-color:var(--rarity-sr);--rarity-soft:var(--rarity-sr-soft);--rarity-ink:var(--rarity-sr-ink);--rarity-line:var(--rarity-sr-line);--rarity-glow:var(--rarity-sr-glow)}[data-rarity=SSR]{--rarity-color:var(--rarity-ssr);--rarity-soft:var(--rarity-ssr-soft);--rarity-ink:var(--rarity-ssr-ink);--rarity-line:var(--rarity-ssr-line);--rarity-glow:var(--rarity-ssr-glow)}[data-rarity=UR]{--rarity-color:var(--rarity-ur);--rarity-soft:var(--rarity-ur-soft);--rarity-ink:var(--rarity-ur-ink);--rarity-line:var(--rarity-ur-line);--rarity-glow:var(--rarity-ur-glow)}[data-tier=bronze]{--stamp-color:var(--stamp-bronze);--stamp-soft:var(--stamp-bronze-soft);--stamp-ink:var(--stamp-bronze-ink);--stamp-line:var(--stamp-bronze-line)}[data-tier=silver]{--stamp-color:var(--stamp-silver);--stamp-soft:var(--stamp-silver-soft);--stamp-ink:var(--stamp-silver-ink);--stamp-line:var(--stamp-silver-line)}[data-tier=gold]{--stamp-color:var(--stamp-gold);--stamp-soft:var(--stamp-gold-soft);--stamp-ink:var(--stamp-gold-ink);--stamp-line:var(--stamp-gold-line)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overscroll-behavior-y:none;min-height:100%}body{min-height:100dvh;color:var(--text-strong);font-family:var(--font-body);background-color:var(--surface-page);background-image:var(--texture-page);background-size:var(--texture-page-size);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;text-rendering:optimizelegibility;margin:0}#root{min-height:100dvh}button,input{font:inherit;color:inherit}button,input,select,textarea,label{touch-action:manipulation}button{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}label{-webkit-tap-highlight-color:transparent}h1,h2,h3,p,dl,dd,dt,figure{margin:0}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}ol,ul{margin:0;padding:0;list-style:none}svg{display:block}::selection{background:var(--butter);color:var(--cocoa)}.app-shell{background:var(--surface-app);width:100%;max-width:390px;min-height:100dvh;margin:0 auto;position:relative;overflow-x:clip}@media (width>=440px){.app-shell{box-shadow:var(--shadow-frame)}}.app-main{padding:0 max(18px, min(28px, env(safe-area-inset-right))) calc(112px + env(safe-area-inset-bottom)) max(18px, min(28px, env(safe-area-inset-left)))}.page{padding-top:max(22px, env(safe-area-inset-top));flex-direction:column;gap:20px;display:flex}.page-head{gap:5px;display:grid}.page-kicker{font-size:var(--text-10-5);font-weight:var(--weight-bold);letter-spacing:.02em;color:var(--marmalade-deep)}.page-head h1,.today-head h1{font-size:var(--text-28);font-weight:var(--weight-heavy);letter-spacing:-.035em;line-height:1.16}.page-subtitle{max-width:285px;font-size:var(--text-11-5);color:var(--cocoa-muted);line-height:1.65}.section-head{justify-content:space-between;align-items:flex-end;gap:12px;padding:1px 2px 0;display:flex}.section-head h2{font-size:var(--text-15);font-weight:var(--weight-heavy);letter-spacing:-.02em}.section-head p{font-size:var(--text-9-5);color:var(--cocoa-faint);margin-top:2px}.section-tag{border:1px solid var(--accent-line-strong);border-radius:var(--radius-pill);background:var(--butter-soft);color:var(--accent-ink-deep);font-size:var(--text-9);font-weight:var(--weight-heavy);flex:none;padding:5px 9px}.pill{border-radius:var(--radius-pill);background:var(--butter-soft);color:var(--accent-ink-deep);font-size:var(--text-9-5);font-weight:var(--weight-heavy);justify-content:center;align-items:center;padding:5px 11px;display:inline-flex}.disclaimer{font-size:var(--text-9-5);text-align:center;color:var(--cocoa-faint);padding:2px 8px 6px;line-height:1.6}.primary-button,.secondary-button{border-radius:var(--radius-control);min-height:48px;font-size:var(--text-13);font-weight:var(--weight-heavy);letter-spacing:.01em;transition:transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);padding:0 20px}.primary-button{background:var(--marmalade);color:var(--text-on-accent);box-shadow:var(--shadow-button);flex:1}.primary-button:active:not(:disabled){box-shadow:var(--shadow-button-press);transform:translateY(3px)}.secondary-button{border:1.5px solid var(--line-strong);background:var(--milk);color:var(--cocoa-muted);flex:0 0 96px}.secondary-button:active:not(:disabled){transform:translateY(2px)}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.58}.soft-button{border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:var(--butter-soft);width:100%;min-height:44px;color:var(--accent-ink);font-size:var(--text-11-5);font-weight:var(--weight-heavy);transition:transform var(--motion-fast) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex}.soft-button:active{transform:translateY(2px)}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}input:focus-visible{outline:none}.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;animation-duration:var(--motion-instant)!important;animation-delay:var(--motion-instant)!important;transition-duration:var(--motion-instant)!important;transition-delay:var(--motion-instant)!important;animation-iteration-count:1!important}}.today-page{gap:17px}.today-head{justify-content:space-between;align-items:flex-start;gap:12px;padding-top:3px;display:flex}.today-head__copy{gap:4px;min-width:0;display:grid}.today-date{font-size:var(--text-10-5);font-weight:var(--weight-bold);letter-spacing:.03em;color:var(--marmalade-deep)}.today-subtitle{font-size:var(--text-11);color:var(--cocoa-muted)}.today-sticker{border:1px solid var(--accent-line-bright);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-corner-cut);background:var(--butter);width:66px;height:70px;box-shadow:var(--shadow-sticker);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;margin-top:1px;display:flex;position:relative;transform:rotate(3.5deg)}.today-sticker:before{content:"";border-radius:var(--radius-2xs);background:var(--overlay-soft);width:24px;height:9px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(-4deg)}.today-sticker__emoji{font-size:var(--text-29);line-height:1}.today-sticker__label{font-size:var(--text-8);font-weight:var(--weight-heavy);color:var(--accent-ink)}.guest-hint{border:1px dashed var(--line-dash);border-radius:var(--radius-md);background:var(--surface-soft);animation:guest-hint-in var(--motion-enter) var(--ease-out) both;justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 10px 13px;display:flex}.guest-hint__copy{align-items:center;gap:9px;min-width:0;display:flex}.guest-hint__emoji{border:1px solid var(--line-gold-soft);border-radius:var(--radius-sm);background:var(--butter-soft);width:30px;height:30px;font-size:var(--text-15);flex:none;place-items:center;display:grid;transform:rotate(-4deg)}.guest-hint__title{font-size:var(--text-10-5);font-weight:var(--weight-heavy);letter-spacing:-.01em}.guest-hint__text{color:var(--cocoa-muted);font-size:var(--text-8-5);margin-top:2px;line-height:1.5}.guest-hint__actions{flex:none;align-items:center;gap:2px;display:flex}.guest-hint__cta{border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:var(--butter);min-height:44px;color:var(--accent-ink);font-size:var(--text-10);font-weight:var(--weight-heavy);transition:transform var(--motion-fast) var(--ease-standard);padding:0 11px}.guest-hint__cta:active{transform:translateY(2px)}.guest-hint__close{width:44px;height:44px;color:var(--cocoa-faint);font-size:var(--text-18);transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);border-radius:50%;place-items:center;line-height:1;display:grid}.guest-hint__close:active{background:var(--surface-press);color:var(--cocoa)}@keyframes guest-hint-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.bento{border-radius:var(--radius-xl);background:linear-gradient(155deg, var(--surface-bento-start) 0%, var(--surface-bento-end) 100%);box-shadow:var(--shadow-bento);animation:bento-settle var(--motion-slow) var(--ease-out) both;margin-top:9px;padding:6px 6px 0;position:relative}.bento__tape{border-right:1px dashed var(--tape-line);border-left:1px dashed var(--tape-line);border-radius:var(--radius-2xs);background:var(--surface-tape);width:64px;height:16px;box-shadow:var(--shadow-tape);position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-2.5deg)}.bento__overview{justify-content:space-between;align-items:center;gap:8px;padding:5px 8px 6px;display:flex}.bento__title{color:var(--text-on-bento);font-size:var(--text-10-5);font-weight:var(--weight-heavy);letter-spacing:.01em}.bento__stamp-badge{border-radius:var(--radius-pill);background:var(--overlay-badge);color:var(--accent-ink);font-size:var(--text-8-5);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;padding:3px 8px;transform:rotate(-1.5deg)}.bento-meal-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:6px;padding:0 1px;display:grid}.bento-meal-list .meal-status{font-size:var(--text-8-5);justify-content:center;gap:3px;padding:5px 3px}.meal-status{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--milk);color:var(--cocoa-muted);font-size:var(--text-9);font-weight:var(--weight-heavy);white-space:nowrap;align-items:center;gap:4px;padding:3px 7px;display:inline-flex}.meal-status__dot{width:6px;height:6px;box-shadow:inset 0 0 0 1.5px var(--line-dot);background:0 0;border-radius:50%;flex:none}.meal-status--drawn{border-color:var(--line-warning);background:var(--butter-soft);color:var(--accent-ink-warm)}.meal-status--drawn .meal-status__dot{background:var(--marmalade);box-shadow:none}.meal-status--checkedIn{border-color:var(--line-success-soft);background:var(--matcha-soft);color:var(--matcha-deep)}.meal-status--checkedIn .meal-status__dot{background:var(--matcha);box-shadow:none}.bento__grid{grid-template-rows:1fr 1fr;grid-template-columns:1.4fr 1fr;gap:6px;display:grid}.bento-cell{background:var(--milk);min-width:0;padding:12px;position:relative}.bento-cell--main{border-radius:var(--radius-lg) var(--radius-sm) var(--radius-sm) var(--radius-lg);background:linear-gradient(160deg, var(--surface-tint-start) 0%, var(--surface-tint) 100%);flex-direction:column;grid-row:span 2;padding:15px 14px 13px;display:flex}.bento-cell__topline,.bento-cell__footline{justify-content:space-between;align-items:center;gap:6px;display:flex}.bento-cell__topline{font-size:var(--text-10);font-weight:var(--weight-bold);color:var(--cocoa-muted)}.bento-cell__stamp{border:1px solid var(--stamp-border-faint);border-radius:var(--radius-2xs);color:var(--text-stamp-faint);font-size:var(--text-7);font-weight:var(--weight-heavy);letter-spacing:.12em;padding:2px 5px;transform:rotate(-3deg)}.bento-cell__number{font-size:var(--text-38);font-weight:var(--weight-heavy);letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin-top:10px;line-height:1}.bento-cell__number small{font-size:var(--text-9);font-weight:var(--weight-bold);letter-spacing:0;color:var(--cocoa-faint);white-space:nowrap;margin-left:3px}.bento-progress{border-radius:var(--radius-pill);background:var(--surface-muted);height:9px;box-shadow:inset 0 1px 2px var(--shadow-inset-tint);margin-top:13px;overflow:hidden}.bento-progress__fill{transform-origin:0;border-radius:inherit;background:linear-gradient(90deg, var(--marmalade), var(--accent-bright));min-width:0;height:100%;animation:bar-grow var(--motion-bar) var(--motion-quick) var(--ease-out) both;display:block}.bento-cell__footline{font-size:var(--text-8-5);font-weight:var(--weight-bold);color:var(--cocoa-faint);margin-top:auto;padding-top:9px}.bento-cell__footline span:first-child{color:var(--marmalade-deep)}.bento-cell--remaining{border-radius:var(--radius-sm) var(--radius-lg) var(--radius-sm) var(--radius-sm);background:var(--surface-raised)}.bento-cell--tokens{border-radius:var(--radius-sm) var(--radius-sm) var(--radius-lg) var(--radius-sm);background:var(--surface-butter);flex-direction:column;justify-content:center;display:flex}.bento-cell__label{font-size:var(--text-9-5);font-weight:var(--weight-bold);color:var(--cocoa-muted)}.bento-cell__side-number{font-size:var(--text-24);font-weight:var(--weight-heavy);letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin-top:4px;line-height:1.05}.bento-cell__side-number small{font-size:var(--text-8-5);font-weight:var(--weight-bold);letter-spacing:0;color:var(--cocoa-faint);margin-left:2px}.bento-cell__note{font-size:var(--text-8);color:var(--cocoa-faint);margin-top:3px;line-height:1.35;display:block}.bento-cell--profile-cta{border:1.5px dashed var(--dash-accent);color:inherit;font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.bento-cell--profile-cta:hover,.bento-cell--profile-cta:focus-visible{background:var(--surface-butter-soft)}.bento-cell__cta{color:var(--marmalade-deep);font-size:var(--text-11);font-weight:var(--weight-heavy);margin-top:3px;line-height:1.3}.bento-cell__token-head{align-items:center;gap:4px;display:flex}.ticket-mark{font-size:var(--text-12);line-height:1}.bento__caption{color:var(--text-ink-soft);font-size:var(--text-8-5);font-weight:var(--weight-bold);justify-content:center;align-items:center;gap:4px;padding:7px 4px 8px;display:flex}.bento__caption span{color:var(--text-ink-faint)}.meal-timeline{gap:18px;padding:2px 0 4px;display:grid}.meal-node{animation:node-rise var(--motion-slow) var(--ease-out) both;animation-delay:calc(var(--motion-stagger-base) + var(--order) * var(--motion-stagger));padding-left:42px;position:relative}.meal-node:before{content:"";border-left:2px dashed var(--line-strong);position:absolute;top:32px;bottom:-20px;left:16px}.meal-node:last-child:before{display:none}.meal-node__dot{z-index:1;border:2px dashed var(--line-board);background:var(--milk);width:34px;height:34px;box-shadow:0 0 0 5px var(--paper);font-size:var(--text-15);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.meal-node--drawn .meal-node__dot{border-style:solid;border-color:var(--marmalade);background:var(--butter-soft)}.meal-node--checkedIn .meal-node__dot{border-style:solid;border-color:var(--matcha);background:var(--matcha-soft)}.meal-node__head{justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:0 2px 7px;display:flex}.meal-node__title{align-items:center;gap:7px;display:flex}.meal-node__title h3{font-size:var(--text-14-5);font-weight:var(--weight-heavy);letter-spacing:-.02em}.meal-node__kcal{font-size:var(--text-10);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--cocoa-faint);flex:none}.meal-node--drawn .meal-node__kcal{color:var(--marmalade-deep)}.meal-node--checkedIn .meal-node__kcal{color:var(--matcha-deep)}.status-chip{border:1px dashed var(--line-faint);border-radius:var(--radius-pill);background:var(--surface-note-4);color:var(--text-note);font-size:var(--text-8-5);font-weight:var(--weight-heavy);padding:3px 7px}.status-chip--drawn{border-style:solid;border-color:var(--line-warning-soft);background:var(--marmalade-soft);color:var(--marmalade-deep)}.status-chip--checkedIn{border-style:solid;border-color:var(--line-success);background:var(--matcha-soft);color:var(--matcha-deep)}.meal-ticket{transform:rotate(var(--tilt));border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--milk);box-shadow:var(--shadow-ticket);padding:15px 14px 13px;position:relative}.meal-node--undrawn .meal-ticket{background:var(--surface-raised-alt)}.meal-ticket__stitch{border:1px dashed var(--line-overlay-soft);border-radius:var(--radius-xs);pointer-events:none;position:absolute;inset:6px}.meal-empty{align-items:center;gap:12px;padding:6px 2px 13px;display:flex}.meal-empty__icon{border:1.5px dashed var(--line-dash);background:var(--surface-soft-alt);width:42px;height:42px;color:var(--text-disabled);font-size:var(--text-20);font-weight:var(--weight-medium);border-radius:50%;flex:none;place-items:center;display:grid}.meal-empty__title{font-size:var(--text-12-5);font-weight:var(--weight-heavy)}.meal-empty__hint{font-size:var(--text-10);color:var(--cocoa-faint);margin-top:2px}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:1px 1px 13px;display:grid}.dish-tile{width:100%;min-width:0;min-height:111px;color:inherit;font:inherit;text-align:left;transition:transform var(--motion-flick) var(--ease-standard), box-shadow var(--motion-flick) var(--ease-standard), border-color var(--motion-flick) var(--ease-standard);border:1.5px solid color-mix(in srgb, var(--rarity-color) 38%, var(--line-soft));border-radius:var(--radius-sm);background:linear-gradient(155deg, color-mix(in srgb, var(--rarity-color) 9%, var(--surface-card)) 0%, var(--surface-card) 68%);box-shadow:var(--shadow-hairline);flex-direction:column;align-items:flex-start;padding:10px 10px 9px;display:flex;position:relative}.dish-tile:last-child:nth-child(odd){grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:40px minmax(0,1fr);align-content:center;column-gap:10px;min-height:82px;padding:10px 12px;display:grid}.dish-tile:last-child:nth-child(odd) .dish-tile__rarity{position:absolute;top:9px;right:9px}.dish-tile:last-child:nth-child(odd) .dish-tile__emoji{font-size:var(--text-33);grid-area:1/1/3;align-self:center;margin:0}.dish-tile:last-child:nth-child(odd) .dish-tile__name{grid-area:1/2;align-self:end;min-height:0;padding-right:28px}.dish-tile:last-child:nth-child(odd) .dish-tile__kcal{grid-area:2/2;align-self:start;margin-top:1px}.dish-tile.is-selected{border-color:var(--marmalade);background:var(--butter-soft);box-shadow:var(--shadow-selected)}.dish-tile:active:not(:disabled){transform:translateY(1px)}.dish-tile:disabled{cursor:wait;opacity:.66}.dish-tile__rarity{border:1px solid color-mix(in srgb, var(--rarity-color) 62%, var(--highlight));border-radius:var(--radius-pill);background:var(--overlay-strong);color:var(--cocoa);font-size:var(--text-7-5);font-weight:var(--weight-heavy);align-items:center;gap:3px;padding:2px 5px;line-height:1.25;display:inline-flex}.dish-tile__rarity:before{content:"";background:var(--rarity-color);border-radius:50%;width:5px;height:5px}.dish-tile__emoji{font-size:var(--text-30);filter:var(--drop-shadow-soft);margin:5px 0 1px;line-height:1.1}.dish-thumb{place-items:center;width:1.2em;height:1.2em;display:inline-grid;position:relative}.dish-thumb__emoji{transition:opacity var(--motion-quick) var(--ease-standard);font-size:1em;line-height:1}.dish-thumb__emoji.is-covered{opacity:0}.dish-thumb__img{border-radius:var(--radius-xs);object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--motion-quick) var(--ease-standard);position:absolute;inset:0}.dish-thumb__img.is-loaded{opacity:1}.dish-tile__name{-webkit-line-clamp:2;width:100%;min-height:31px;font-size:var(--text-11-5);font-weight:var(--weight-heavy);overflow-wrap:break-word;-webkit-box-orient:vertical;line-height:1.36;display:-webkit-box;overflow:hidden}.dish-tile__kcal{font-size:var(--text-8-5);font-weight:var(--weight-bold);color:var(--cocoa-faint);font-variant-numeric:tabular-nums;margin-top:2px}.dish-tile__badge{border-radius:var(--radius-2xs);background:var(--marmalade);color:var(--text-on-accent);font-size:var(--text-7-5);font-weight:var(--weight-heavy);padding:2px 5px;position:absolute;bottom:8px;right:8px;transform:rotate(-4deg)}.combo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:1px 1px 10px;display:grid}.combo-tile{min-width:0;transition:transform var(--motion-flick) var(--ease-standard), box-shadow var(--motion-flick) var(--ease-standard), border-color var(--motion-flick) var(--ease-standard);border:1.5px solid color-mix(in srgb, var(--rarity-color) 38%, var(--line-soft));border-radius:var(--radius-sm);background:linear-gradient(155deg, color-mix(in srgb, var(--rarity-color) 9%, var(--surface-card)) 0%, var(--surface-card) 68%);box-shadow:var(--shadow-hairline);padding:9px 10px 8px;position:relative}.combo-tile.is-selected{border-color:var(--marmalade);background:var(--butter-soft);box-shadow:var(--shadow-selected)}.combo-tile.is-expanded{grid-column:1/-1}.combo-tile__toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:3px;padding:0;display:flex}.combo-tile__toggle:active{transform:translateY(1px)}.combo-tile__toggle:focus-visible{outline:2px solid var(--marmalade);outline-offset:3px;border-radius:var(--radius-xs)}.combo-tile__rename{z-index:2;border:1px solid var(--line-soft);background:var(--surface-card);width:28px;height:28px;color:var(--text-soft);font-size:var(--text-10);cursor:pointer;border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;top:6px;right:6px}.combo-tile__rename:active:not(:disabled){transform:translateY(1px)}.combo-tile__rename:focus-visible{outline:2px solid var(--marmalade);outline-offset:2px}.combo-tile__rename:disabled{cursor:wait;opacity:.5}.combo-tile.is-selected .combo-tile__topline{padding-right:30px}.combo-tile__collapse{transition:grid-template-rows var(--motion-base) var(--ease-standard);grid-template-rows:0fr;display:grid}.combo-tile.is-expanded .combo-tile__collapse{grid-template-rows:1fr}.combo-tile__body{min-height:0;overflow:hidden}.combo-tile__chevron{font-size:var(--text-9);transition:transform var(--motion-quick) var(--ease-standard);margin-left:auto;line-height:1;display:inline-block}.combo-tile.is-expanded .combo-tile__chevron{transform:rotate(180deg)}.combo-tile__select{border:1.5px solid var(--marmalade);border-radius:var(--radius-xs);background:var(--marmalade);width:100%;color:var(--text-on-accent);font:inherit;font-size:var(--text-10);font-weight:var(--weight-heavy);cursor:pointer;margin-top:8px;padding:7px 10px;display:block}.combo-tile__select:disabled{border-color:var(--line-overlay);background:var(--overlay-strong);color:var(--cocoa-muted);cursor:default}.combo-tile__topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 6px;width:100%;display:flex}.combo-tile__rarity{border:1px solid color-mix(in srgb, var(--rarity-color) 62%, var(--highlight));border-radius:var(--radius-pill);background:var(--overlay-strong);color:var(--cocoa);font-size:var(--text-7-5);font-weight:var(--weight-heavy);align-items:center;gap:3px;padding:2px 5px;line-height:1.25;display:inline-flex}.combo-tile__rarity:before{content:"";background:var(--rarity-color);border-radius:50%;width:5px;height:5px}.combo-tile__kcal{color:var(--cocoa-faint);font-size:var(--text-8);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;white-space:nowrap}.combo-tile__name{-webkit-line-clamp:2;width:100%;min-height:31px;font-size:var(--text-12);font-weight:var(--weight-heavy);overflow-wrap:break-word;-webkit-box-orient:vertical;line-height:1.32;display:-webkit-box;overflow:hidden}.combo-tile__thumbs{font-size:var(--text-16);flex-wrap:wrap;gap:2px;display:flex}.combo-tile__thumb{border:1px solid var(--line-overlay-soft);border-radius:var(--radius-xs);background:var(--overlay-card);place-items:center;width:24px;height:24px;display:inline-grid}.combo-tile__meta{width:100%;color:var(--cocoa-faint);font-size:var(--text-8);font-weight:var(--weight-bold);justify-content:space-between;align-items:center;gap:6px;display:flex}.combo-tile__badge{border-radius:var(--radius-2xs);background:var(--marmalade);color:var(--text-on-accent);font-size:var(--text-7-5);font-weight:var(--weight-heavy);padding:1px 5px;transform:rotate(-4deg)}.combo-tile:last-child:nth-child(odd){grid-column:1/-1}.combo-tile:last-child:nth-child(odd) .combo-tile__toggle{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto;align-content:center;column-gap:10px;display:grid}.combo-tile:last-child:nth-child(odd) .combo-tile__topline{grid-area:1/1}.combo-tile:last-child:nth-child(odd) .combo-tile__name{grid-area:2/1;min-height:0}.combo-tile:last-child:nth-child(odd) .combo-tile__thumbs{grid-area:1/2/4;justify-content:flex-end;align-self:center;max-width:108px}.combo-tile:last-child:nth-child(odd) .combo-tile__meta{grid-area:3/1}.component-list{gap:8px;padding:0 1px 11px;display:grid}.component-list__items{gap:7px;display:grid}.component-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard);gap:5px;padding:8px 9px;display:grid}.component-row.is-unchecked{background:var(--surface-note-3);border-style:dashed}.component-row.is-discarded{background:var(--surface-note-4);opacity:.62;border-style:dashed}.component-row__main{grid-template-columns:26px 30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.component-check{cursor:pointer;place-items:center;width:26px;height:44px;display:grid;position:relative}.component-check input,.combo-checkin__check input{cursor:pointer;opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.component-check__box,.combo-checkin__check span{border:1.5px solid var(--line-dash-strong);border-radius:var(--radius-xs);background:var(--milk);color:#0000;width:22px;height:22px;font-size:var(--text-12);font-weight:var(--weight-heavy);transition:background var(--motion-flick) var(--ease-standard), border-color var(--motion-flick) var(--ease-standard);place-items:center;line-height:1;display:grid}.component-check input:checked+.component-check__box,.combo-checkin__check input:checked+span{border-color:var(--matcha);background:var(--matcha);color:var(--highlight)}.component-check input:focus-visible+.component-check__box,.combo-checkin__check input:focus-visible+span{outline:2px solid var(--marmalade);outline-offset:2px}.component-eaten-mark{width:26px;height:44px;color:var(--cocoa-faint);font-size:var(--text-13);font-weight:var(--weight-heavy);place-items:center;display:grid}.component-eaten-mark.is-eaten{color:var(--matcha-deep)}.component-row__thumb{font-size:var(--text-22)}.component-row__text{gap:2px;min-width:0;display:grid}.component-row__title{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.component-row__title strong{min-width:0;font-size:var(--text-11-5);font-weight:var(--weight-heavy);overflow-wrap:anywhere;line-height:1.32}.component-row__rarity,.component-row__origin,.component-row__discarded{border-radius:var(--radius-pill);font-size:var(--text-7);font-weight:var(--weight-heavy);white-space:nowrap;padding:1px 5px;line-height:1.3}.component-row__rarity{border:1px solid color-mix(in srgb, var(--rarity-color,var(--line-strong)) 62%, var(--highlight));background:var(--surface-soft);color:var(--cocoa-muted)}.component-row__origin{background:var(--matcha-soft);color:var(--matcha-deep)}.component-row__discarded{background:var(--strawberry-soft);color:var(--strawberry-deep)}.component-row__meta{color:var(--cocoa-faint);font-size:var(--text-8-5);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.component-row.is-unchecked .component-row__meta{text-decoration:line-through;-webkit-text-decoration-color:var(--underline-faint);text-decoration-color:var(--underline-faint)}.component-row__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.component-action{border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--surface-soft);min-height:44px;color:var(--cocoa-muted);font-size:var(--text-9-5);font-weight:var(--weight-heavy);padding:0 11px}.component-action:active:not(:disabled){transform:translateY(1px)}.component-action:disabled{cursor:wait;opacity:.5}.component-action--danger{border-color:var(--line-danger);background:var(--strawberry-soft);color:var(--strawberry-deep)}.cooking-details{border:1px dashed var(--line-warm);border-radius:var(--radius-xs);background:var(--surface-warm);color:var(--cocoa-muted);font-size:var(--text-9);padding:8px 10px;line-height:1.6}.cooking-details__meta{color:var(--accent-ink-deep);font-weight:var(--weight-heavy)}.cooking-details__steps{gap:2px;margin-top:4px;padding-left:15px;list-style:decimal;display:grid}.cooking-details__tips{color:var(--cocoa-faint);margin-top:4px}.add-component-button{border:1.5px dashed var(--line-dash);border-radius:var(--radius-sm);background:var(--overlay-faint);width:100%;min-height:44px;color:var(--text-soft);font-size:var(--text-10);font-weight:var(--weight-heavy);justify-content:center;align-items:center;gap:4px;display:flex}.add-component-button:active:not(:disabled){transform:translateY(1px)}.add-component-button:disabled{cursor:wait;opacity:.5}.meal-note{border-radius:var(--radius-xs);background:var(--surface-warm-deep);color:var(--text-soft);font-size:var(--text-9);margin:-4px 2px 11px;padding:7px 8px;line-height:1.55}.meal-selection{font-size:var(--text-9);color:var(--cocoa-faint);padding:0 2px 10px;line-height:1.5}.meal-actions{flex-wrap:wrap;align-items:center;gap:7px;padding:0 1px 12px;display:flex}.meal-action{border-radius:var(--radius-sm);min-height:44px;font-size:var(--text-10-5);font-weight:var(--weight-heavy);transition:transform var(--motion-flick) var(--ease-standard), box-shadow var(--motion-flick) var(--ease-standard);padding:0 13px;line-height:1.1}.meal-action--primary{background:var(--marmalade);color:var(--text-on-accent);box-shadow:var(--shadow-expanded);flex:118px}.meal-action--draw{border:1.5px solid var(--accent-line);background:var(--butter-soft);color:var(--accent-ink)}.meal-action--ghost{min-height:44px;color:var(--cocoa-muted);font-size:var(--text-9-5);-webkit-text-decoration:underline dashed var(--underline-dashed);text-decoration:underline dashed var(--underline-dashed);text-underline-offset:3px;background:0 0;padding:0 8px}.meal-action:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.meal-action:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.meal-result{align-items:center;gap:11px;padding:4px 1px 13px;display:flex}.meal-result__emoji{border:1px solid var(--accent-line-soft);border-radius:var(--radius-control);background:var(--butter-soft);width:48px;height:48px;font-size:var(--text-26);flex:none;place-items:center;line-height:1;display:grid}.meal-result__text{gap:1px;min-width:0;display:grid}.meal-result__tag{width:fit-content;color:var(--matcha-deep);font-size:var(--text-8-5);font-weight:var(--weight-heavy)}.meal-result__tag.is-custom{color:var(--strawberry-deep)}.meal-result__text strong{font-size:var(--text-14);font-weight:var(--weight-heavy);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.meal-result__kcal{font-size:var(--text-16);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;letter-spacing:-.03em;flex:none;margin-left:auto}.meal-result__kcal small{font-size:var(--text-8);font-weight:var(--weight-bold);letter-spacing:0;color:var(--cocoa-faint)}.meal-pool{flex-wrap:wrap;align-items:center;gap:5px;padding:0 1px 12px;display:flex}.meal-pool__label{width:100%;font-size:var(--text-8);color:var(--cocoa-faint)}.meal-pool__item{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--cocoa-muted);font-size:var(--text-8-5);font-weight:var(--weight-bold);opacity:.68;align-items:center;gap:3px;padding:3px 7px;display:inline-flex}.meal-ticket__foot{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:11px;display:flex}.meal-draw{gap:2px;min-width:0;display:grid}.meal-draw__total{font-size:var(--text-10);font-weight:var(--weight-heavy);color:var(--cocoa);line-height:1.35}.meal-node--checkedIn .meal-draw__total{color:var(--matcha-deep)}.meal-draw__breakdown{font-size:var(--text-8-5);color:var(--cocoa-faint);line-height:1.4}.stamp-slot{border:1.5px dashed var(--line-dash-strong);background:var(--overlay-pale);width:58px;height:58px;color:var(--cocoa-faint);border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;display:flex;transform:rotate(4deg)}.stamp-slot--custom{border-color:var(--line-danger);background:var(--strawberry-soft);color:var(--strawberry-deep);transform:rotate(-3deg)}.stamp-slot__plus{font-size:var(--text-16);line-height:1}.stamp-slot--custom .stamp-slot__plus{font-size:var(--text-17)}.stamp-slot__label{font-size:var(--text-7-5);font-weight:var(--weight-heavy);line-height:1.2}@keyframes bento-settle{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes node-rise{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@media (width<=360px){.component-row__main{grid-template-columns:24px 26px minmax(0,1fr);gap:6px}.component-action{padding:0 8px}}@media (width<=350px){.bento-cell__number{font-size:var(--text-33)}.bento-cell{padding:10px}.bento-cell--main{padding:13px 12px 11px}}.onboarding{background:var(--desk);justify-content:center;min-height:100dvh;display:flex}.onboarding--overlay{z-index:80;padding:14px max(14px, env(safe-area-inset-right)) 14px max(14px, env(safe-area-inset-left));background:var(--scrim-onboarding);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:onboarding-fade var(--motion-quick) var(--ease-standard) both;position:fixed;inset:0;overflow-y:auto}.onboarding__sheet{width:100%;max-width:390px;min-height:100dvh;padding:0 20px calc(20px + env(safe-area-inset-bottom));background:var(--paper);flex-direction:column;display:flex}.onboarding--overlay .onboarding__sheet{border:1px solid var(--line-soft);border-radius:var(--radius-2xl);min-height:calc(100dvh - 28px);box-shadow:var(--shadow-modal);animation:onboarding-rise var(--motion-base) var(--ease-out) both}.onboarding__top{min-height:36px;padding-top:max(18px, env(safe-area-inset-top));justify-content:space-between;align-items:center;gap:12px;display:flex}.onboarding--overlay .onboarding__top{padding-top:max(16px, env(safe-area-inset-top))}.onboarding__brand{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--milk);width:fit-content;color:var(--cocoa);font-size:var(--text-10-5);font-weight:var(--weight-heavy);box-shadow:var(--shadow-hairline);align-items:center;gap:6px;padding:5px 10px 5px 7px;display:inline-flex}.onboarding__brand>span{font-size:var(--text-15);line-height:1}.onboarding__close{border:1px solid var(--line);background:var(--milk);width:44px;height:44px;color:var(--cocoa-muted);font-size:var(--text-21);font-weight:var(--weight-regular);border-radius:50%;place-items:center;line-height:1;display:grid}.onboarding__close:active{transform:translateY(1px)}.onboarding__step{align-items:center;gap:10px;margin-top:18px;display:flex}.step-track{flex:1;grid-template-columns:1fr 1fr;gap:6px;display:grid}.step-track__bar{border-radius:var(--radius-pill);background:var(--line-shell);height:5px;transition:background var(--motion-base) var(--ease-standard)}.step-track__bar.is-done{background:var(--marmalade)}.step-copy{font-size:var(--text-8-5);font-weight:var(--weight-bold);color:var(--cocoa-faint);font-variant-numeric:tabular-nums;flex:none}.onboarding__intro{gap:5px;margin-top:18px;display:grid}.onboarding__kicker{font-size:var(--text-10);font-weight:var(--weight-heavy);color:var(--marmalade-deep)}.onboarding__intro h1{font-size:var(--text-26);font-weight:var(--weight-heavy);letter-spacing:-.035em;line-height:1.18}.onboarding__intro h1:focus{outline:none}.onboarding__intro p:last-child{max-width:300px;font-size:var(--text-11);color:var(--cocoa-muted);line-height:1.65}.onboarding__form{flex-direction:column;flex:1;gap:16px;margin-top:18px;display:flex}.onboarding__fields{gap:16px;display:grid}.field-group{display:block}.field-group>legend{color:var(--cocoa);font-size:var(--text-11-5);font-weight:var(--weight-heavy);margin-bottom:8px}.sex-row{grid-template-columns:1fr 1fr;gap:9px;display:grid}.sex-card{border:1.5px solid var(--line);border-radius:var(--radius-control);background:var(--milk);min-height:49px;font-size:var(--text-12);font-weight:var(--weight-heavy);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);justify-content:center;align-items:center;gap:7px;display:flex;position:relative}.sex-card__emoji{font-size:var(--text-19);line-height:1}.sex-card.is-selected{border-color:var(--accent-border-strong);background:var(--butter-soft);box-shadow:var(--shadow-option);transform:translateY(-1px)}:is(.sex-card:has(.choice-control:focus-visible),.activity-card:has(.choice-control:focus-visible),.goal-card:has(.choice-control:focus-visible)){outline:3px solid var(--focus-ring);outline-offset:2px}.sex-card:has(.choice-control[aria-invalid=true]){border-color:var(--line-danger)}.choice-control{opacity:0;width:1px;height:1px;margin:-1px;position:absolute}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field--wide{grid-column:1/-1}.field__label{color:var(--cocoa-muted);font-size:var(--text-10);font-weight:var(--weight-bold)}.field__control{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--milk);height:47px;transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);align-items:center;padding:0 11px;display:flex}.field__control:focus-within{border-color:var(--marmalade);box-shadow:0 0 0 3px var(--focus-halo)}.field__control:has(input[aria-invalid=true]){border-color:var(--line-danger-strong);box-shadow:0 0 0 3px var(--danger-halo)}.field__control input{width:100%;min-width:0;font-size:var(--text-16);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none}.field__control input::placeholder{color:var(--text-note);font-weight:var(--weight-bold)}.field__unit{color:var(--cocoa-faint);font-size:var(--text-9);font-weight:var(--weight-bold);flex:none;margin-left:4px}.field__error{color:var(--strawberry-deep);font-size:var(--text-8-5);font-weight:var(--weight-semibold);line-height:1.5;display:block}.activity-list{gap:7px;display:grid}.activity-card{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--milk);cursor:pointer;min-height:46px;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);align-items:center;gap:10px;padding:8px 11px;display:flex;position:relative}.activity-card.is-selected{border-color:var(--accent-border-strong);background:var(--surface-sheet-alt)}.activity-card__dot{border:2px solid var(--line-faint);background:var(--milk);border-radius:50%;flex:none;width:17px;height:17px;position:relative}.activity-card.is-selected .activity-card__dot{border-color:var(--marmalade)}.activity-card.is-selected .activity-card__dot:after{content:"";background:var(--marmalade);border-radius:50%;position:absolute;inset:3px}.activity-card__text{gap:1px;min-width:0;display:grid}.activity-card__text strong{font-size:var(--text-11);font-weight:var(--weight-heavy);line-height:1.35}.activity-card__text small{color:var(--cocoa-faint);font-size:var(--text-8-5);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;line-height:1.4;overflow:hidden}.goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.goal-card{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--milk);text-align:center;cursor:pointer;min-height:86px;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);flex-direction:column;align-items:center;gap:1px;padding:9px 6px 8px;display:flex;position:relative}.goal-card.is-selected{border-color:var(--accent-border-strong);background:var(--butter-soft);box-shadow:var(--shadow-option);transform:translateY(-1px)}.goal-card__emoji{font-size:var(--text-18);margin-bottom:2px;line-height:1.2}.goal-card strong{font-size:var(--text-11);font-weight:var(--weight-heavy);line-height:1.35}.goal-card small{color:var(--cocoa-faint);font-size:var(--text-7-5);font-weight:var(--weight-medium);line-height:1.4}.target-receipt{border:1px dashed var(--line-dash);border-radius:var(--radius-sm);background:var(--milk);box-shadow:var(--shadow-option-lg);padding:11px 14px 12px;position:relative}.target-receipt.has-warning{border-color:var(--line-danger)}.target-receipt__top{border-bottom:1px dashed var(--line);color:var(--cocoa-faint);font-size:var(--text-8-5);font-weight:var(--weight-bold);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:8px;padding-bottom:8px;display:flex}.target-receipt__value{color:var(--marmalade-deep);font-size:var(--text-30);font-weight:var(--weight-heavy);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:8px;line-height:1}.target-receipt__value small{color:var(--cocoa-faint);font-size:var(--text-9);font-weight:var(--weight-bold);letter-spacing:0;margin-left:4px}.target-receipt__source{color:var(--cocoa-muted);font-size:var(--text-9);font-weight:var(--weight-semibold);margin-top:5px}.target-receipt__formula{color:var(--cocoa-faint);font-size:var(--text-8);margin-top:2px}.target-receipt__empty{color:var(--cocoa-faint);font-size:var(--text-9-5);padding:9px 0 3px;line-height:1.55}.target-receipt__warning{border-radius:var(--radius-xs);background:var(--strawberry-soft);color:var(--strawberry-deep);font-size:var(--text-8-5);font-weight:var(--weight-semibold);margin-top:7px;padding:6px 8px;line-height:1.55}.manual-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--milk);gap:11px;padding:11px 12px;display:grid}.switch-row{cursor:pointer;align-items:center;gap:9px;min-height:44px;display:flex;position:relative}.switch-row>input{opacity:0;width:1px;height:1px;margin:-1px;position:absolute}.switch-row__track{border-radius:var(--radius-pill);background:var(--surface-muted-4);width:38px;height:22px;transition:background var(--motion-quick) var(--ease-standard);flex:none;align-items:center;padding:3px;display:flex}.switch-row__track span{background:var(--surface-bright);width:16px;height:16px;box-shadow:var(--shadow-handle);transition:transform var(--motion-quick) var(--ease-standard);border-radius:50%}.switch-row>input:checked+.switch-row__track{background:var(--marmalade)}.switch-row>input:checked+.switch-row__track span{transform:translate(16px)}.switch-row>input:focus-visible+.switch-row__track{outline:3px solid var(--focus-ring);outline-offset:2px}.switch-row__text{gap:1px;min-width:0;display:grid}.switch-row__text strong{font-size:var(--text-10-5);font-weight:var(--weight-heavy);line-height:1.35}.switch-row__text small{color:var(--cocoa-faint);font-size:var(--text-8);line-height:1.4}.field--manual{border-top:1px dashed var(--line);padding-top:10px}.onboarding__footer{z-index:5;padding-top:12px;padding-bottom:max(2px, env(safe-area-inset-bottom));background:linear-gradient(180deg, var(--fade-transparent) 0%, var(--paper) 22%, var(--paper) 100%);margin-top:2px;position:sticky;bottom:0}.onboarding__actions{gap:9px;display:flex}.onboarding .disclaimer{margin-top:7px}@keyframes onboarding-fade{0%{opacity:0}to{opacity:1}}@keyframes onboarding-rise{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width>=440px){.onboarding__sheet{box-shadow:var(--shadow-page-glow)}}@media (width<=350px){.onboarding__sheet{padding-left:16px;padding-right:16px}.goal-card small{font-size:var(--text-7)}}.boot-screen{width:100%;max-width:390px;min-height:100dvh;padding:calc(36px + env(safe-area-inset-top)) 28px calc(36px + env(safe-area-inset-bottom));background:var(--paper);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:0 auto;display:flex;position:relative;overflow:hidden}.boot-screen:before,.boot-screen:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.boot-screen:before{background:var(--surface-accent-tint);width:230px;height:230px;top:-80px;right:-90px}.boot-screen:after{background:var(--surface-accent-wash);width:250px;height:250px;bottom:-110px;left:-100px}.boot-screen__mark{z-index:1;border:1px solid var(--accent-line-bright);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-xs);background:var(--butter);width:102px;height:94px;box-shadow:var(--shadow-hero);place-items:center;margin-bottom:16px;display:grid;position:relative;transform:rotate(-2.5deg)}.boot-screen__emoji{font-size:var(--text-49);line-height:1}.boot-screen__steam{color:var(--accent-faint);font-size:var(--text-29);font-weight:var(--weight-heavy);animation:steam-drift var(--motion-steam) var(--ease-in-out) infinite;line-height:1;position:absolute;top:-15px;left:42%}.boot-screen__strap{border-radius:var(--radius-2xs);background:var(--surface-pressed);height:8px;position:absolute;bottom:13px;left:13px;right:13px}.boot-screen__kicker{z-index:1;color:var(--marmalade-deep);font-size:var(--text-10);font-weight:var(--weight-heavy);position:relative}.boot-screen h1{z-index:1;font-size:var(--text-22);font-weight:var(--weight-heavy);letter-spacing:-.03em;position:relative}.boot-screen__hint{z-index:1;max-width:245px;color:var(--cocoa-muted);font-size:var(--text-10-5);margin-top:1px;line-height:1.6;position:relative}.boot-screen__detail{z-index:1;overflow-wrap:anywhere;max-width:290px;color:var(--cocoa-faint);font-size:var(--text-8-5);margin-top:6px;line-height:1.5;position:relative}.boot-screen .primary-button{z-index:1;flex:none;min-width:148px;margin-top:18px;position:relative}.boot-screen__dots{gap:5px;margin-top:14px;display:flex}.boot-screen__dots i{background:var(--marmalade);width:6px;height:6px;animation:dot-breathe var(--motion-boot) var(--ease-in-out) infinite;border-radius:50%}.boot-screen__dots i:nth-child(2){animation-delay:var(--motion-fast)}.boot-screen__dots i:nth-child(3){animation-delay:var(--motion-enter)}@keyframes steam-drift{0%,to{opacity:.32;transform:translateY(1px)rotate(-6deg)}50%{opacity:.7;transform:translateY(-3px)rotate(4deg)}}@keyframes dot-breathe{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.tab-bar{z-index:30;width:min(354px, calc(100% - 36px - env(safe-area-inset-left) - env(safe-area-inset-right)));padding-bottom:calc(12px + env(safe-area-inset-bottom));pointer-events:none;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-bar__inner{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--overlay-sheet);box-shadow:var(--shadow-tabbar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px;display:grid}.tab-item{--tab-icon-bg:var(--milk);border-radius:var(--radius-md);min-height:52px;color:var(--cocoa-faint);font-size:var(--text-9);font-weight:var(--weight-heavy);transition:background var(--motion-quick) var(--ease-standard), color var(--motion-quick) var(--ease-standard), transform var(--motion-quick) var(--ease-standard);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.tab-icon{width:22px;height:22px}.tab-icon__cutout{fill:var(--tab-icon-bg)}.tab-item.is-active{--tab-icon-bg:var(--butter);background:var(--butter);box-shadow:var(--shadow-tab-active);color:var(--cocoa);transform:rotate(-1.2deg)}.tab-item:active{transform:translateY(1px)}.profile-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(155deg, var(--surface-bright) 0%, var(--surface-warm) 100%);box-shadow:var(--shadow-card);padding:15px}.profile-card__top{align-items:center;gap:10px;display:flex}.profile-card__avatar{border:1px solid var(--accent-line-warm);border-radius:var(--radius-control);background:var(--butter-soft);width:46px;height:46px;font-size:var(--text-23);flex:none;place-items:center;display:grid;transform:rotate(-3deg)}.profile-card__identity{min-width:0}.profile-card__identity h2{font-size:var(--text-13-5);font-weight:var(--weight-heavy);letter-spacing:-.015em}.profile-card__identity p{color:var(--cocoa-muted);font-size:var(--text-9-5);font-variant-numeric:tabular-nums;margin-top:2px}.goal-pill{border:1px solid var(--accent-line);border-radius:var(--radius-pill);background:var(--butter-soft);color:var(--accent-ink);font-size:var(--text-9);font-weight:var(--weight-heavy);flex:none;align-items:center;gap:3px;margin-left:auto;padding:5px 8px;display:inline-flex}.profile-stats{border-top:1px dashed var(--line);grid-template-columns:1fr 1fr;gap:7px;margin-top:13px;padding-top:12px;display:grid}.profile-stats>div{border-radius:var(--radius-sm);background:var(--overlay-dim);min-width:0;padding:8px 10px}.profile-stats dt{color:var(--cocoa-faint);font-size:var(--text-8-5);font-weight:var(--weight-semibold)}.profile-stats dd{color:var(--cocoa);font-size:var(--text-10-5);font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.profile-stats dd strong{font-size:var(--text-16);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.profile-stats dd small{color:var(--cocoa-faint);font-size:var(--text-8);font-weight:var(--weight-bold)}.profile-card__target-source{color:var(--cocoa-faint);font-size:var(--text-8-5);margin:7px 1px 0;line-height:1.5}.profile-card__hint{color:var(--cocoa-muted);font-size:var(--text-9-5);margin:10px 1px 11px;line-height:1.55}.profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width<=350px){.profile-actions{grid-template-columns:1fr}}.profile-card--guest{background:var(--surface-sheet);border-style:dashed}.profile-card--guest .profile-actions{margin-top:13px}.profile-clear-button{border-color:var(--line-danger);background:var(--surface-danger);color:var(--strawberry-deep);grid-column:1/-1}.profile-clear-button:active:not(:disabled){transform:translateY(2px)}.profile-clear-button:disabled{cursor:wait;opacity:.55}.settings-prefs{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--milk);box-shadow:var(--shadow-soft);padding:3px 14px}.switch-row.is-disabled{cursor:not-allowed;opacity:.58}.settings-list{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--milk);box-shadow:var(--shadow-soft);overflow:hidden}.settings-row{border-bottom:1px dashed var(--line);width:100%;min-height:60px;color:inherit;font:inherit;text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}button.settings-row{transition:background var(--motion-flick) var(--ease-standard);background:0 0}button.settings-row:active:not(:disabled){background:var(--surface-warm)}.settings-row--action:disabled{cursor:wait;opacity:.55}.settings-row--danger strong{color:var(--strawberry-deep)}.settings-row__mark{color:var(--cocoa-faint);font-size:var(--text-13);font-weight:var(--weight-bold);flex:none;line-height:1}.settings-row:last-child{border-bottom:0}.settings-error{border-radius:var(--radius-sm);background:var(--strawberry-soft);color:var(--strawberry-deep);font-size:var(--text-9-5);font-weight:var(--weight-bold);margin-top:-8px;padding:9px 11px;line-height:1.55}.settings-row>span:first-child{gap:2px;min-width:0;display:grid}.settings-row strong{font-size:var(--text-11);font-weight:var(--weight-heavy);line-height:1.35}.settings-row small{color:var(--cocoa-faint);font-size:var(--text-8-5);line-height:1.4}.danger-button{border-radius:var(--radius-control);background:var(--strawberry);min-height:48px;box-shadow:var(--shadow-danger-button);color:var(--text-on-danger);font-size:var(--text-13);font-weight:var(--weight-heavy);letter-spacing:.01em;transition:transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);flex:1;padding:0 20px}.danger-button:active:not(:disabled){box-shadow:var(--shadow-danger-press);transform:translateY(3px)}.danger-button:disabled{cursor:wait;opacity:.58}.settings-version{color:var(--cocoa-faint);font-size:var(--text-9);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;flex:none}.stamp-summary{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--milk);box-shadow:var(--shadow-card);align-items:center;gap:12px;padding:15px;display:flex}.stamp-summary__ghost{border:2px dashed var(--line-board-soft);background:var(--surface-warm-2);width:66px;height:66px;box-shadow:inset 0 0 0 5px var(--milk);color:var(--text-disabled);font-size:var(--text-27);font-weight:var(--weight-medium);border-radius:50%;flex:none;place-items:center;display:grid;transform:rotate(-5deg)}.stamp-summary__copy{flex:1;gap:2px;min-width:0;display:grid}.stamp-summary__copy>span{color:var(--cocoa-muted);font-size:var(--text-9);font-weight:var(--weight-bold)}.stamp-summary__copy p{font-variant-numeric:tabular-nums;line-height:1}.stamp-summary__copy strong{font-size:var(--text-26);font-weight:var(--weight-heavy);letter-spacing:-.04em}.stamp-summary__copy small{color:var(--cocoa-faint);font-size:var(--text-9);font-weight:var(--weight-bold)}.stamp-progress{border-radius:var(--radius-pill);background:var(--surface-muted-2);height:6px;margin-top:5px;overflow:hidden}.stamp-progress>span{border-radius:inherit;background:linear-gradient(90deg, var(--marmalade), var(--accent-bright));min-width:0;height:100%;display:block}.stamp-summary__percent{color:var(--marmalade-deep);font-size:var(--text-9-5);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;flex:none;align-self:flex-start;padding-top:10px}.stamp-empty,.stamp-note{border:1px dashed var(--line-dash);border-radius:var(--radius-lg);background:var(--surface-sheet);text-align:center;justify-items:center;gap:7px;padding:25px 20px;display:grid}.stamp-empty__art{font-size:var(--text-39);filter:var(--drop-shadow-soft);line-height:1}.stamp-empty h2,.stamp-note strong{font-size:var(--text-14);font-weight:var(--weight-heavy)}.stamp-empty p,.stamp-note p{max-width:255px;color:var(--cocoa-muted);font-size:var(--text-10);line-height:1.65}.stamp-empty .pill{margin-top:3px}.legend-card{border:1px dashed var(--line-warm);border-radius:var(--radius-tile);background:var(--surface-soft-alt);padding:15px}.legend-card h2{font-size:var(--text-12-5);font-weight:var(--weight-heavy)}.legend-card>p{color:var(--cocoa-muted);font-size:var(--text-9-5);margin-top:3px;line-height:1.6}.stamp-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.stamp-legend__item{border:1px solid color-mix(in srgb, var(--stamp-color) 34%, var(--line-soft));border-radius:var(--radius-xs);background:var(--milk);align-items:center;gap:6px;min-width:0;padding:8px 7px;display:flex}.stamp-legend__ring{border:2px solid var(--stamp-color);background:var(--stamp-soft);width:22px;height:22px;box-shadow:inset 0 0 0 3px var(--stamp-soft);border-radius:50%;flex:none}.stamp-legend__item>span:last-child{gap:1px;min-width:0;display:grid}.stamp-legend__item strong{color:var(--cocoa);font-size:var(--text-9-5);font-weight:var(--weight-heavy);line-height:1.25}.stamp-legend__item small{color:var(--cocoa-faint);font-size:var(--text-7-5);font-variant-numeric:tabular-nums;line-height:1.25}.settings-section{gap:9px;display:grid}.settings-section__title{color:var(--cocoa-muted);font-size:var(--text-10);font-weight:var(--weight-heavy);letter-spacing:.02em;margin:0 2px}.snapshot-panel{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--milk);box-shadow:var(--shadow-soft);overflow:hidden}.snapshot-panel__head{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;display:flex}.snapshot-panel__head>span{gap:2px;min-width:0;display:grid}.snapshot-panel__head strong{font-size:var(--text-11);font-weight:var(--weight-heavy)}.snapshot-panel__head small{color:var(--cocoa-faint);font-size:var(--text-8-5);line-height:1.4}.snapshot-refresh{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-warm);min-height:30px;color:var(--marmalade-deep);font:inherit;font-size:var(--text-9);font-weight:var(--weight-heavy);flex:none;padding:0 12px}.snapshot-refresh:disabled{cursor:wait;opacity:.55}.snapshot-empty{color:var(--cocoa-faint);font-size:var(--text-9);margin:0;padding:14px;line-height:1.55}.snapshot-list{margin:0;padding:0;list-style:none;display:grid}.snapshot-item{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.snapshot-item:last-child{border-bottom:0}.snapshot-item__info{gap:2px;min-width:0;display:grid}.snapshot-item__info strong{font-size:var(--text-10-5);font-weight:var(--weight-heavy)}.snapshot-item__info small{color:var(--cocoa-faint);font-size:var(--text-8-5);line-height:1.4}.snapshot-item__restore{min-height:34px;font-size:var(--text-9);flex:none;padding:0 14px}.snapshot-detail{gap:6px;margin:0;display:grid}.snapshot-detail>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.snapshot-detail dt{color:var(--cocoa-faint);font-size:var(--text-9)}.snapshot-detail dd{overflow-wrap:anywhere;max-width:70%;font-size:var(--text-9);font-weight:var(--weight-bold);text-align:right;margin:0}.recovery-screen{width:100%;max-width:390px;min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));background:var(--paper);justify-content:center;align-items:center;margin:0 auto;display:flex}.recovery-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--milk);width:100%;box-shadow:var(--shadow-soft);gap:8px;padding:22px 18px;display:grid}.recovery-card__emoji{font-size:var(--text-40);text-align:center;line-height:1.2}.recovery-card .page-kicker{text-align:center}.recovery-card h1{font-size:var(--text-19);font-weight:var(--weight-heavy);letter-spacing:-.02em;text-align:center}.recovery-card__hint{color:var(--cocoa-muted);font-size:var(--text-10);text-align:center;line-height:1.6}.recovery-card__detail{border-radius:var(--radius-sm);background:var(--strawberry-soft);color:var(--strawberry-deep);font-size:var(--text-9);font-weight:var(--weight-bold);overflow-wrap:anywhere;padding:9px 11px;line-height:1.55}.recovery-card__note{color:var(--cocoa-faint);font-size:var(--text-8-5);text-align:center;line-height:1.5}.recovery-card__actions{gap:8px;margin-top:4px;display:flex}.recovery-card__actions button{flex:1;min-height:44px}.recovery-card__snapshots{gap:8px;margin-top:8px;display:grid}.recovery-card__snapshots h2{font-size:var(--text-11);font-weight:var(--weight-heavy)}.recovery-card__snapshots .snapshot-list{border:1px solid var(--line);border-radius:var(--radius-control);overflow:hidden}.recovery-card__reset{justify-self:center;margin-top:6px}.theme-picker{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;display:grid}.theme-picker:disabled{opacity:.7}.theme-option{border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-card);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);gap:7px;padding:7px;display:grid;position:relative}.theme-option.is-active{border-color:var(--marmalade);box-shadow:var(--shadow-selected)}.theme-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.theme-option:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.theme-option__frame{border:1px solid var(--line);border-radius:var(--radius-md);display:block;overflow:hidden}.theme-option__preview{background-color:var(--surface-page);background-image:var(--texture-page);background-size:var(--texture-page-size);gap:4px;min-height:82px;padding:7px;display:grid}.theme-option__bar{border-radius:var(--radius-pill);background:var(--surface-card);height:7px;box-shadow:0 1px 0 var(--line)}.theme-option__block{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-card);height:32px;box-shadow:var(--shadow-soft)}.theme-option__lines{gap:3px;display:grid}.theme-option__lines i{border-radius:var(--radius-pill);background:var(--line-strong);height:3px;display:block}.theme-option__lines i:last-child{width:62%}.theme-option__dots{gap:3px;display:flex}.theme-option__dots i{background:var(--rarity-color);border-radius:50%;width:7px;height:7px}.theme-option__text{gap:2px;display:grid}.theme-option__text strong{color:var(--text-strong);font-size:var(--text-11);font-weight:var(--weight-heavy)}.theme-option__text small{color:var(--text-muted);font-size:var(--text-8-5);line-height:1.4}.theme-option__check{background:var(--marmalade);width:18px;height:18px;color:var(--text-on-accent);font-size:var(--text-10);font-weight:var(--weight-heavy);border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;top:4px;right:4px}.theme-option__check:empty{display:none}.sync-card{border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--milk);box-shadow:var(--shadow-soft);gap:9px;padding:12px 14px;display:grid}.sync-card__intro{gap:4px;display:grid}.sync-card__intro strong{color:var(--text-strong);font-size:var(--text-11);font-weight:var(--weight-heavy)}.sync-card__intro p{color:var(--text-muted);font-size:var(--text-8-5);margin:0;line-height:1.55}.sync-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;display:flex}.sync-status{font-size:var(--text-9-5);font-weight:var(--weight-heavy);align-items:center;gap:5px;line-height:1.3;display:inline-flex}.sync-status__dot{border-radius:var(--radius-pill);background:currentColor;flex:none;width:7px;height:7px}.sync-status--ok{color:var(--matcha-deep)}.sync-status--busy,.sync-status--warn{color:var(--marmalade-deep)}.sync-status--danger{color:var(--strawberry-deep)}.sync-status--muted{color:var(--cocoa-faint)}.sync-time{color:var(--cocoa-faint);font-size:var(--text-8-5);font-variant-numeric:tabular-nums;line-height:1.4}.sync-code{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-warm);gap:6px;padding:10px 12px;display:grid}.sync-code__label{color:var(--cocoa-faint);font-size:var(--text-8-5);font-weight:var(--weight-heavy);line-height:1.3}.sync-code__value{overflow-wrap:anywhere;color:var(--text-strong);font-family:var(--font-mono);font-size:var(--text-10);font-weight:var(--weight-heavy);letter-spacing:.04em;line-height:1.5}.sync-code__actions{gap:8px;display:flex}.sync-code__actions .soft-button{min-height:36px;font-size:var(--text-10);flex:1}.sync-input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--milk);width:100%;min-width:0;min-height:40px;color:var(--text-strong);font:inherit;font-size:var(--text-10);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:uppercase;padding:0 11px}.sync-input::placeholder{color:var(--cocoa-faint);letter-spacing:.02em}.sync-connect{gap:6px;display:grid}.sync-connect label{color:var(--text-muted);font-size:var(--text-9-5);font-weight:var(--weight-heavy);line-height:1.3}.sync-connect__row{align-items:stretch;gap:8px;display:flex}.sync-connect__row .sync-input{flex:1}.sync-connect__button{flex:none;width:auto;min-height:40px;padding:0 16px}.sync-actions{gap:8px;display:flex}.sync-actions .soft-button{flex:1;min-width:0}.sync-actions--stack{gap:8px;display:grid}.sync-choice{border:1px solid var(--strawberry);border-radius:var(--radius-sm);background:var(--strawberry-soft);gap:6px;padding:10px 12px;display:grid}.sync-choice strong{color:var(--strawberry-deep);font-size:var(--text-10-5);font-weight:var(--weight-heavy);line-height:1.35}.sync-choice p{color:var(--text-strong);font-size:var(--text-9);margin:0;line-height:1.55}.sync-choice .sync-choice__hint{color:var(--text-muted)}.sync-link{color:var(--marmalade-deep);font:inherit;font-size:var(--text-9-5);font-weight:var(--weight-heavy);text-underline-offset:3px;background:0 0;border:0;justify-self:center;padding:6px 8px;text-decoration:underline}.sync-link--danger{color:var(--strawberry-deep);justify-self:start;padding:2px 0}.sync-link:disabled{cursor:wait;opacity:.55}.calendar-page{gap:16px}.calendar-stats{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--milk);box-shadow:var(--shadow-card);padding:14px 14px 11px}.calendar-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;display:grid}.calendar-stat{border-radius:var(--radius-sm);background:var(--overlay-dim);gap:1px;padding:9px 11px;display:grid}.calendar-stat dt{color:var(--cocoa-faint);font-size:var(--text-9);font-weight:var(--weight-bold)}.calendar-stat dd{color:var(--cocoa);font-size:var(--text-22);font-weight:var(--weight-heavy);letter-spacing:-.035em;font-variant-numeric:tabular-nums;line-height:1.15}.calendar-stat dd small{color:var(--cocoa-faint);font-size:var(--text-8-5);font-weight:var(--weight-bold);letter-spacing:0;margin-left:2px}.calendar-stat__hint{color:var(--cocoa-faint);font-size:var(--text-8);line-height:1.35}.calendar-stats__note{border-top:1px dashed var(--line);color:var(--cocoa-muted);font-size:var(--text-8-5);margin-top:10px;padding-top:9px;line-height:1.55}.calendar-board{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(170deg, var(--surface-bright) 0%, var(--paper) 100%);box-shadow:var(--shadow-card);padding:10px 10px 12px}.month-switcher{align-items:center;gap:6px;padding:0 1px 6px;display:flex}.month-switcher__arrow{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);width:44px;height:44px;color:var(--cocoa);font-size:var(--text-19);font-weight:var(--weight-heavy);transition:transform var(--motion-flick) var(--ease-standard), background var(--motion-flick) var(--ease-standard);flex:none;place-items:center;line-height:1;display:grid}.month-switcher__arrow:active:not(:disabled){background:var(--butter-soft);transform:translateY(1px)}.month-switcher__arrow:disabled{cursor:not-allowed;opacity:.4}.month-switcher__center{flex:1;justify-items:center;gap:3px;min-width:0;display:grid}.month-switcher__label{font-size:var(--text-13);font-weight:var(--weight-heavy);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.month-switcher__today{border:1px solid var(--accent-line);border-radius:var(--radius-pill);background:var(--butter-soft);min-height:30px;color:var(--accent-ink);font-size:var(--text-8-5);font-weight:var(--weight-heavy);padding:2px 12px}.month-switcher__today:active{transform:translateY(1px)}.calendar-weekdays,.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekdays{padding:0 0 5px}.calendar-weekdays span{color:var(--cocoa-faint);font-size:var(--text-9);font-weight:var(--weight-bold);text-align:center}.calendar-grid{gap:4px;display:grid}.calendar-cell{border-radius:var(--radius-sm);background:var(--milk);min-width:0;min-height:48px;color:var(--cocoa);transition:transform var(--motion-flick) var(--ease-standard), background var(--motion-flick) var(--ease-standard);border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 1px 3px;display:flex;position:relative}.calendar-cell:active:not(:disabled){transform:translateY(1px)}.calendar-cell--empty{background:0 0}.calendar-cell.is-today{border-color:var(--line-calendar-gold);background:linear-gradient(160deg, var(--surface-raised) 0%, var(--butter-soft) 100%);box-shadow:inset 0 0 0 1px var(--line-gold-highlight)}.calendar-cell.is-future{cursor:not-allowed;background:var(--surface-note);color:var(--text-disabled)}.calendar-cell.is-future .calendar-dot--undrawn{box-shadow:inset 0 0 0 1px var(--line-calendar)}.calendar-cell.is-future .calendar-dot--drawn,.calendar-cell.is-future .calendar-dot--checkedIn{opacity:.45}.calendar-cell__day{font-size:var(--text-10-5);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;line-height:1.1}.calendar-cell.is-today .calendar-cell__day{color:var(--accent-ink)}.calendar-cell__dots{gap:2.5px;display:flex}.calendar-dot{border-radius:50%;flex:none;width:5px;height:5px;display:block}.calendar-dot--undrawn{box-shadow:inset 0 0 0 1px var(--line-calendar-strong);background:0 0}.calendar-dot--drawn{background:var(--marmalade)}.calendar-dot--checkedIn{background:var(--matcha)}.calendar-cell__stamps{color:var(--accent-ink-warm);font-size:var(--text-7);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;align-items:center;gap:1px;line-height:1;display:inline-flex}.calendar-cell__stamp-mark{font-size:var(--text-7-5);font-style:normal;line-height:1}.calendar-legend{border-top:1px dashed var(--line);color:var(--cocoa-muted);font-size:var(--text-8);font-weight:var(--weight-bold);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;margin-top:10px;padding-top:9px;display:flex}.calendar-legend span{align-items:center;gap:4px;display:inline-flex}.calendar-legend .calendar-dot{width:6px;height:6px}.calendar-legend .calendar-cell__stamp-mark{font-size:var(--text-9)}.calendar-empty{color:var(--cocoa-muted);font-size:var(--text-9);text-align:center;margin-top:9px;line-height:1.55}@media (width<=340px){.calendar-board{padding:8px 7px 10px}.calendar-cell{min-height:44px}.calendar-week,.calendar-grid{gap:3px}.calendar-legend{gap:4px 8px}}.modal-scrim{z-index:90;inset:0;top:var(--vv-top,0);height:var(--vvh,100dvh);padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:var(--scrim-strong);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:scrim-in var(--motion-quick) var(--ease-standard) both;place-items:center;display:grid;position:fixed;bottom:auto}.modal-scrim--sheet{place-items:end center;padding:0}.modal-scrim--reward{z-index:95}.modal-scrim--ad{z-index:100;background:var(--scrim-ad)}.modal{width:100%;max-width:354px;max-height:calc(100vh - 36px);max-height:calc(var(--vvh,100dvh) - 36px);border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--milk);box-shadow:var(--shadow-modal);animation:modal-pop var(--motion-base) var(--ease-out) both;flex-direction:column;display:flex;position:relative;overflow:hidden}.modal--sheet{max-width:390px;max-height:calc(100vh - 28px);max-height:calc(var(--vvh,100dvh) - 28px);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:sheet-up var(--motion-base) var(--ease-out) both}.modal__head{flex:none;padding:20px 62px 12px 20px;position:relative}.modal--sheet .modal__head{padding-top:23px}.modal--sheet .modal__head:before{content:"";border-radius:var(--radius-pill);background:var(--surface-muted-5);width:36px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.modal__head h2{overflow-wrap:anywhere;font-size:var(--text-20);font-weight:var(--weight-heavy);letter-spacing:-.03em;line-height:1.2}.modal__head h2:focus-visible{outline:none}.modal__head p{color:var(--cocoa-muted);font-size:var(--text-10-5);margin-top:4px;line-height:1.6}.modal__close{background:var(--surface-warm-inset);width:44px;height:44px;color:var(--cocoa-muted);font-size:var(--text-22);font-weight:var(--weight-medium);border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;top:8px;right:8px}.modal__close:active{transform:translateY(1px)}.modal__body{overscroll-behavior:contain;min-height:0;padding:4px 18px 18px;scroll-padding-bottom:16px;overflow-y:auto}.modal__footer{border-top:1px dashed var(--line);background:linear-gradient(180deg, var(--overlay-milk), var(--milk));flex:none;gap:10px;padding:12px 18px 18px;display:flex}.modal__footer .primary-button{flex:1;width:100%}.confirm-dialog .modal__body{padding-top:0}.confirm-dialog__list{border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--cocoa-muted);font-size:var(--text-10);font-weight:var(--weight-bold);gap:5px;margin:0 0 10px;padding:10px 12px;line-height:1.5;list-style:none;display:grid}.confirm-dialog__list li:before{content:"·";color:var(--strawberry-deep);margin-right:6px}.confirm-dialog__text{color:var(--cocoa-muted);font-size:var(--text-10);line-height:1.6}.confirm-dialog__error{border-radius:var(--radius-xs);background:var(--strawberry-soft);color:var(--strawberry-deep);font-size:var(--text-10);font-weight:var(--weight-bold);margin-top:10px;padding:8px 10px;line-height:1.5}.draw-overlay{max-width:340px}.draw-overlay .modal__body{flex-direction:column;align-items:center;padding-top:0;display:flex}.draw-stage{perspective:900px;justify-content:center;width:100%;padding:4px 0 0;display:flex}.draw-card{aspect-ratio:3/4;border-radius:var(--radius-md);background:0 0;width:230px;max-width:78vw;padding:0}.draw-card__inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--motion-flip) var(--ease-out);display:block;position:relative}.draw-card.is-flipped .draw-card__inner{transform:rotateY(180deg)}.draw-card__face{border-radius:var(--radius-md);backface-visibility:hidden;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.draw-card__face--back{background:repeating-linear-gradient(45deg, var(--overlay-sparkle) 0 8px, transparent 8px 18px), linear-gradient(145deg, var(--surface-draw-start), var(--marmalade) 58%, var(--surface-draw-end));box-shadow:var(--shadow-draw);color:var(--text-on-gold);gap:7px}.draw-card__face--back:before{content:"";border:1px dashed var(--ink-line-soft);border-radius:var(--radius-sm);position:absolute;inset:10px}.draw-card__back-mark{border:2px solid var(--ink-line-strong);width:74px;height:74px;font-size:var(--text-46);font-weight:var(--weight-heavy);border-radius:50%;place-items:center;line-height:1;display:grid}.draw-card__back-label{font-size:var(--text-10);font-weight:var(--weight-heavy);letter-spacing:.16em;opacity:.78}.draw-card__face--front{border:2px solid var(--rarity-color);background:radial-gradient(circle at 50% 8%, color-mix(in srgb, var(--rarity-color) 17%, var(--surface-bright)), var(--surface-bright) 62%);box-shadow:0 0 0 4px color-mix(in srgb, var(--rarity-color) 15%, transparent), 0 16px 30px var(--shadow-tint-strong);text-align:center;gap:3px;padding:22px 18px;transform:rotateY(180deg)}.draw-card__face--front>*{z-index:1;position:relative}.draw-card__rarity{border:1px solid color-mix(in srgb, var(--rarity-color) 68%, var(--highlight));border-radius:var(--radius-pill);background:var(--overlay-card);color:var(--cocoa);font-size:var(--text-9);font-weight:var(--weight-heavy);letter-spacing:.08em;padding:2px 9px}.draw-card__emoji{font-size:var(--text-64);filter:var(--drop-shadow-card);margin-top:8px;line-height:1.05}.draw-card__name{font-size:var(--text-20);font-weight:var(--weight-heavy);letter-spacing:-.02em;margin-top:5px;line-height:1.25}.draw-card__meta{font-size:var(--text-9-5);font-weight:var(--weight-bold);color:var(--cocoa-faint);font-variant-numeric:tabular-nums}.draw-card__tip{border-top:1px dashed var(--line-divider);color:var(--cocoa-muted);font-size:var(--text-9);margin-top:8px;padding-top:8px;line-height:1.55}.draw-card--ssr .draw-card__face--front{box-shadow:0 0 0 4px color-mix(in srgb, var(--rarity-color) 24%, transparent), 0 0 30px 8px var(--rarity-glow), 0 18px 34px var(--shadow-shell);animation:ssr-breathe var(--motion-breathe) var(--ease-in-out) infinite alternate}.draw-card--ssr .draw-card__face--front:before{content:"✦";z-index:2;color:var(--rarity-color);font-size:var(--text-20);opacity:.9;line-height:1;position:absolute;top:12px;right:16px}.draw-card--ur .draw-card__face--front{box-shadow:0 0 0 5px var(--shadow-ur-glow), 0 0 38px 10px var(--rarity-glow), 0 18px 36px var(--shadow-tint-strong)}.draw-card--ur .draw-card__face--front:before{content:"✦";z-index:2;color:var(--rarity-ur);font-size:var(--text-22);line-height:1;position:absolute;top:11px;right:15px}.draw-card--ur .draw-card__face--front:after{content:"";z-index:0;background:conic-gradient(from 0deg, transparent 0deg 282deg, var(--glow-gold) 320deg, transparent 350deg);animation:ur-shine var(--motion-shine) var(--ease-linear) infinite;pointer-events:none;position:absolute;inset:-45%}.draw-result{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;display:flex}.draw-result__chip{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--cocoa-muted);font-size:var(--text-8-5);font-weight:var(--weight-bold);padding:4px 9px}.draw-result__chip--pity{border-color:var(--accent-line-strong);background:var(--butter);color:var(--accent-ink)}.draw-card__name{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;display:-webkit-box;overflow:hidden}.draw-card__combo-thumbs{font-size:var(--text-23);flex-wrap:wrap;justify-content:center;gap:4px;margin-top:8px;display:flex}.draw-card__combo-thumb{border:1px solid var(--line-overlay);border-radius:var(--radius-xs);background:var(--overlay-stronger);place-items:center;width:34px;height:34px;display:inline-grid}.draw-combo-details{border-top:1px dashed var(--line-divider);width:100%;color:var(--cocoa-muted);font-size:var(--text-9);margin-top:14px;padding-top:9px;line-height:1.6}.draw-combo-details summary{cursor:pointer;min-height:32px;color:var(--accent-ink-deep);font-weight:var(--weight-heavy);padding:6px 0;list-style:none}.draw-combo-details summary::-webkit-details-marker{display:none}.draw-combo-details summary:after{content:" ▾";font-size:var(--text-8)}.draw-combo-details[open] summary:after{content:" ▴"}.draw-combo-details ul{gap:7px;padding:2px 0 4px;display:grid}.draw-combo-details li{gap:1px;display:grid}.draw-combo-details strong{color:var(--cocoa);font-size:var(--text-10)}.draw-combo-details small{color:var(--cocoa-faint);font-size:var(--text-8-5);line-height:1.55;display:block}.ingredient-list{gap:8px;display:grid}.ingredient-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:5px 10px;padding:10px 11px;display:grid}.ingredient-row__label{gap:1px;min-width:0;display:grid}.ingredient-row__label label{font-size:var(--text-11-5);font-weight:var(--weight-heavy);line-height:1.35}.ingredient-row__label span{color:var(--cocoa-faint);font-size:var(--text-8);line-height:1.35}.ingredient-row__input{border:1.5px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--milk);align-items:center;gap:4px;min-height:44px;padding:0 8px;display:flex}.ingredient-row__input:focus-within{border-color:var(--marmalade);box-shadow:0 0 0 3px var(--focus-halo-strong)}.ingredient-row__input input{width:100%;min-width:0;font-size:var(--text-16);font-weight:var(--weight-heavy);text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:8px 0}.ingredient-row__input span{color:var(--cocoa-faint);font-size:var(--text-9);font-weight:var(--weight-bold)}.ingredient-row__error{color:var(--strawberry-deep);font-size:var(--text-8-5);font-weight:var(--weight-bold);grid-column:1/-1;margin-top:-1px}.ingredient-row:has(.ingredient-row__error) .ingredient-row__input{border-color:var(--strawberry)}.checkin-foot{gap:10px;width:100%;display:grid}.checkin-total{align-items:baseline;gap:4px;display:flex}.checkin-total__label{font-size:var(--text-10);font-weight:var(--weight-heavy);color:var(--cocoa-muted)}.checkin-total strong{font-size:var(--text-24);font-weight:var(--weight-heavy);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}.checkin-total__unit{font-size:var(--text-9);font-weight:var(--weight-bold);color:var(--cocoa-faint)}.checkin-total__hint{color:var(--accent-ink-deep);font-size:var(--text-8-5);font-weight:var(--weight-bold);margin-left:auto}.checkin-submit{flex:none;width:100%}.combo-checkin-list{gap:8px;display:grid}.combo-checkin{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard);gap:7px;padding:9px 10px;display:grid}.combo-checkin.is-off{background:var(--surface-note-5);opacity:.68;border-style:dashed}.combo-checkin__head{grid-template-columns:26px 30px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.combo-checkin__check{cursor:pointer;place-items:center;width:26px;height:44px;display:grid;position:relative}.combo-checkin__thumb{font-size:var(--text-22)}.combo-checkin__title{gap:1px;min-width:0;display:grid}.combo-checkin__title strong{font-size:var(--text-11-5);font-weight:var(--weight-heavy);overflow-wrap:anywhere;line-height:1.32}.combo-checkin__title small{color:var(--cocoa-faint);font-size:var(--text-8);line-height:1.4}.combo-checkin__expand{border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--surface-soft);min-height:44px;color:var(--cocoa-muted);font-size:var(--text-9-5);font-weight:var(--weight-heavy);padding:0 9px}.combo-checkin__expand:active:not(:disabled){transform:translateY(1px)}.combo-checkin__expand:disabled{cursor:wait;opacity:.5}.combo-checkin__grams,.combo-checkin__custom{gap:6px;padding-left:72px;display:grid}.combo-checkin__grams>label,.combo-checkin__custom>label{color:var(--cocoa-muted);font-size:var(--text-9-5);font-weight:var(--weight-heavy);justify-content:space-between;align-items:center;gap:10px;display:flex}.combo-checkin__input{border:1.5px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--milk);align-items:center;gap:4px;min-height:44px;padding:0 8px;display:flex}.combo-checkin__input:focus-within{border-color:var(--marmalade);box-shadow:0 0 0 3px var(--focus-halo-strong)}.combo-checkin__input input{width:74px;min-width:0;font-size:var(--text-16);font-weight:var(--weight-heavy);text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:8px 0}.combo-checkin__input span{color:var(--cocoa-faint);font-size:var(--text-9);font-weight:var(--weight-bold)}.ingredient-list--nested{gap:6px;padding-left:0}.ingredient-list--nested .ingredient-row{grid-template-columns:minmax(0,1fr) 84px;padding:8px 9px}.ingredient-list--nested .ingredient-row__label label{font-size:var(--text-10-5)}@media (width<=350px){.combo-checkin__grams,.combo-checkin__custom{padding-left:0}}.form-error{border-radius:var(--radius-xs);background:var(--strawberry-soft);color:var(--strawberry-deep);font-size:var(--text-10);font-weight:var(--weight-bold);margin-bottom:10px;padding:8px 10px;line-height:1.5}.sheet-note{border-radius:var(--radius-xs);background:var(--surface-warm-deep);color:var(--text-soft);font-size:var(--text-9);margin-top:12px;padding:8px 10px;line-height:1.6}.custom-sheet .modal__body{gap:12px;display:grid}.rename-sheet .modal__footer .secondary-button{flex:0 0 42%}.rename-sheet__hint{color:var(--cocoa-faint);font-size:var(--text-9);text-align:right;margin:6px 0 0}.form-field{gap:5px;display:grid}.form-field>label{color:var(--cocoa-muted);font-size:var(--text-10-5);font-weight:var(--weight-heavy)}.form-field>input,.form-field__input{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);width:100%;min-height:46px;font-size:var(--text-16);font-weight:var(--weight-bold);padding:0 13px}.form-field__input{align-items:center;gap:6px;padding-right:13px;display:flex}.form-field__input input{min-width:0;font-size:var(--text-16);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;padding:12px 0}.form-field__input span{color:var(--cocoa-faint);font-size:var(--text-10);font-weight:var(--weight-bold)}.form-field>input:focus,.form-field__input:focus-within{border-color:var(--marmalade);box-shadow:0 0 0 3px var(--focus-halo-strong);outline:none}.form-field input::placeholder{color:var(--text-disabled);font-weight:var(--weight-semibold)}.form-field__error{color:var(--strawberry-deep);font-size:var(--text-9);font-weight:var(--weight-bold)}.custom-dish-sheet .modal__body{gap:14px;display:grid}.form-field__label{color:var(--cocoa-muted);font-size:var(--text-10-5);font-weight:var(--weight-heavy)}.form-field select,.dish-row__controls select{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);width:100%;min-height:46px;color:var(--cocoa);font-size:var(--text-16);font-weight:var(--weight-bold);padding:0 13px}.form-field select:focus,.dish-row__controls select:focus{border-color:var(--marmalade);box-shadow:0 0 0 3px var(--focus-halo-strong);outline:none}.dish-row__controls select{min-height:42px;font-size:var(--text-16);font-weight:var(--weight-bold)}.dish-image-editor{align-items:center;gap:12px;display:flex}.dish-image-preview{border:1.5px dashed var(--line-dash);border-radius:var(--radius-md);background:var(--surface-warm-2);width:78px;height:78px;font-size:var(--text-34);flex:none;place-items:center;line-height:1;display:grid;overflow:hidden}.dish-image-preview img{object-fit:cover;width:100%;height:100%}.dish-image-actions{flex:1;gap:8px;min-width:0;display:grid}.dish-image-upload{cursor:pointer;text-align:center;justify-content:center;align-items:center;min-height:44px;display:inline-flex}.dish-image-actions .secondary-button{min-height:42px;font-size:var(--text-11);padding:0 14px}.dish-meal-field{border:0;margin:0;padding:0}.dish-meal-field legend{color:var(--cocoa-muted);font-size:var(--text-10-5);font-weight:var(--weight-heavy);margin-bottom:6px;padding:0}.dish-meal-options{flex-wrap:wrap;gap:7px;display:flex}.dish-meal-chip{display:inline-flex;position:relative}.dish-meal-chip input{cursor:pointer;opacity:0;margin:0;position:absolute;inset:0}.dish-meal-chip span{border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface-raised);min-height:44px;color:var(--cocoa-muted);font-size:var(--text-10-5);font-weight:var(--weight-heavy);transition:border-color var(--motion-flick) var(--ease-standard), background var(--motion-flick) var(--ease-standard);align-items:center;padding:0 14px;display:inline-flex}.dish-meal-chip input:checked+span{border-color:var(--marmalade);background:var(--butter-soft);color:var(--accent-ink)}.dish-meal-chip input:focus-visible+span{outline:2px solid var(--marmalade);outline-offset:2px}.dish-meal-chip input:disabled+span{opacity:.58}.dish-row-list{gap:8px;padding:0;list-style:none;display:grid}.dish-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);gap:7px;padding:10px;display:grid}.dish-row__controls{gap:7px;display:grid}.dish-row__inputs{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.8fr);gap:6px;display:grid}.dish-row__inputs label{gap:3px;min-width:0;display:grid}.dish-row__inputs label span{color:var(--cocoa-faint);font-size:var(--text-8);font-weight:var(--weight-bold)}.dish-row__inputs input{border:1.5px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--milk);width:100%;min-width:0;min-height:40px;font-size:var(--text-16);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;padding:0 8px}.dish-row__inputs input:disabled{opacity:.62}.dish-row__inputs input[aria-invalid=true],.dish-step-row input[aria-invalid=true]{border-color:var(--strawberry)}.dish-row__remove{border-radius:var(--radius-xs);background:var(--surface-warm-deep);min-height:36px;color:var(--text-soft);font-size:var(--text-9);font-weight:var(--weight-heavy);justify-self:start;padding:0 10px}.dish-row__remove:disabled{opacity:.42}.dish-cooking{border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--surface-bright);gap:12px;padding:12px;display:grid}.dish-step-row{align-items:center;gap:7px;display:flex}.dish-step-row__index{background:var(--butter-soft);width:22px;height:22px;color:var(--accent-ink);font-size:var(--text-9);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;display:grid}.dish-step-row input{border:1.5px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--milk);width:100%;min-width:0;min-height:42px;font-size:var(--text-16);font-weight:var(--weight-bold);padding:0 10px}.dish-step-row__remove{border-radius:var(--radius-xs);background:var(--surface-warm-deep);width:36px;height:36px;color:var(--text-soft);font-size:var(--text-10);font-weight:var(--weight-heavy);flex:none}.add-component-sheet .modal__body{gap:11px;display:grid}.segmented{border-radius:var(--radius-sm);background:var(--surface-sunken);grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;display:grid}.segmented button{border-radius:var(--radius-xs);min-height:44px;color:var(--cocoa-muted);font-size:var(--text-10-5);font-weight:var(--weight-heavy);background:0 0}.segmented button.is-active{background:var(--milk);color:var(--cocoa);box-shadow:var(--shadow-hairline)}.segmented button:disabled{cursor:wait;opacity:.55}.add-dish-list{overscroll-behavior:contain;gap:6px;max-height:46vh;display:grid;overflow-y:auto}.add-dish-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);width:100%;min-height:56px;color:inherit;text-align:left;transition:background var(--motion-flick) var(--ease-standard), transform var(--motion-flick) var(--ease-standard);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 10px;display:grid}.add-dish-row:active:not(:disabled){background:var(--butter-soft);transform:translateY(1px)}.add-dish-row:disabled{cursor:wait;opacity:.55}.add-dish-row__thumb{font-size:var(--text-22)}.add-dish-row__text{gap:1px;min-width:0;display:grid}.add-dish-row__text strong{font-size:var(--text-11-5);font-weight:var(--weight-heavy);overflow-wrap:anywhere;line-height:1.3}.add-dish-row__text small{color:var(--cocoa-faint);font-size:var(--text-8)}.add-dish-row__kcal{color:var(--cocoa-faint);font-size:var(--text-9);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;white-space:nowrap}.reward-overlay{max-width:340px}.reward-stage{text-align:center;flex-direction:column;align-items:center;padding:12px 0 4px;display:flex}.reward-stage--summary{gap:3px}.reward-summary__name{font-size:var(--text-17);font-weight:var(--weight-heavy);letter-spacing:-.02em;overflow-wrap:anywhere;line-height:1.3}.reward-summary__components{gap:4px;width:100%;margin-top:8px;display:grid}.reward-summary__components li{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface-raised);color:var(--cocoa);font-size:var(--text-10-5);font-weight:var(--weight-bold);text-align:left;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 10px;display:flex}.reward-summary__components li small{color:var(--cocoa-faint);font-size:var(--text-8-5);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;flex:none}.reward-stage--summary .reward-kcal{margin-top:9px}.reward-stamp{background:var(--stamp-soft,var(--strawberry-soft));width:142px;height:142px;box-shadow:inset 0 0 0 3px var(--stamp-color,var(--strawberry)), inset 0 0 0 7px var(--stamp-soft,var(--strawberry-soft)), 0 8px 18px var(--shadow-tint-strong);animation:stamp-drop var(--motion-slow) var(--ease-spring) both;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:relative;transform:rotate(-6deg)}.reward-stamp__ring{border:1px dashed var(--stamp-color,var(--strawberry));opacity:.5;border-radius:50%;position:absolute;inset:11px}.reward-stamp__emoji{z-index:1;font-size:var(--text-50);line-height:1.05;position:relative}.reward-stamp__count{z-index:1;font-size:var(--text-16);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;line-height:1.15;position:relative}.reward-stamp__tier{z-index:1;font-size:var(--text-10);font-weight:var(--weight-heavy);line-height:1.2;position:relative}.reward-name{font-size:var(--text-19);font-weight:var(--weight-heavy);letter-spacing:-.02em;margin-top:16px;line-height:1.3}.reward-kcal{color:var(--cocoa-muted);font-size:var(--text-10);font-weight:var(--weight-bold);margin-top:4px}.reward-kcal strong{color:var(--cocoa);font-size:var(--text-15);font-variant-numeric:tabular-nums}.reward-detail{color:var(--cocoa-faint);font-size:var(--text-9);margin-top:3px}.reward-token{border:1px solid var(--accent-line-strong);border-radius:var(--radius-pill);background:var(--butter);color:var(--accent-ink);font-size:var(--text-10);font-weight:var(--weight-heavy);align-items:center;gap:4px;margin-top:13px;padding:6px 12px;display:inline-flex}.reward-token--quiet{border-color:var(--line);color:var(--cocoa-faint);font-weight:var(--weight-bold);background:0 0}.modal-scrim--ad .modal{max-width:340px}.ad-art{border:1px dashed var(--line-gold-edge);border-radius:var(--radius-md);background:linear-gradient(160deg, var(--surface-gold-start), var(--surface-gold-end));text-align:center;margin:2px 0 14px;padding:24px 16px 20px;position:relative;overflow:hidden}.ad-art__tape{border-radius:var(--radius-2xs);background:var(--overlay-soft);width:48px;height:12px;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(-3deg)}.ad-art__emoji{font-size:var(--text-52);line-height:1.1;display:block}.ad-art__title{font-size:var(--text-15);font-weight:var(--weight-heavy);margin-top:8px}.ad-art__sub{color:var(--text-soft);font-size:var(--text-9);margin-top:3px}.ad-progress{border-radius:var(--radius-pill);background:var(--surface-muted);height:10px;box-shadow:inset 0 1px 2px var(--shadow-inset-strong-tint);overflow:hidden}.ad-progress__fill{transform-origin:0;border-radius:inherit;background:linear-gradient(90deg, var(--marmalade), var(--accent-bright));width:100%;height:100%;transition:transform var(--motion-loop) var(--ease-linear);will-change:transform;display:block}.ad-countdown{color:var(--cocoa-muted);font-size:var(--text-11);font-weight:var(--weight-bold);text-align:center;margin-top:10px}.ad-countdown strong{color:var(--marmalade-deep);font-size:var(--text-20);font-variant-numeric:tabular-nums;margin:0 2px}.ad-modal .modal__footer .secondary-button{flex:1}.toast{z-index:120;bottom:calc(104px + env(safe-area-inset-bottom));border-radius:var(--radius-pill);background:var(--surface-toast);width:max-content;max-width:min(330px,100vw - 40px);box-shadow:var(--shadow-toast);color:var(--text-on-toast);font-size:var(--text-11);font-weight:var(--weight-bold);text-align:center;animation:toast-in var(--motion-quick) var(--ease-standard) both;padding:10px 16px;line-height:1.4;position:fixed;left:50%;transform:translate(-50%)}.toast--error{background:var(--strawberry-deep)}.day-detail-sheet .modal__body{padding-bottom:4px}.day-detail{gap:11px;display:grid}.day-detail__total{border:1px dashed var(--line-warm);border-radius:var(--radius-control);background:var(--surface-soft-alt);color:var(--cocoa-muted);font-size:var(--text-10);font-weight:var(--weight-bold);justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;display:flex}.day-detail__total strong{color:var(--cocoa);font-size:var(--text-17);font-weight:var(--weight-heavy);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.day-detail__total small{color:var(--cocoa-faint);font-size:var(--text-8-5);font-weight:var(--weight-bold);margin-left:2px}.day-detail__meal{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--milk);gap:8px;padding:12px;display:grid}.day-detail__meal--checkedIn{background:linear-gradient(165deg, var(--surface-bright) 0%, var(--surface-warm) 100%)}.day-detail__meal-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.day-detail__meal-head h3{font-size:var(--text-12);font-weight:var(--weight-heavy);letter-spacing:-.015em}.day-detail__combo-name{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.day-detail__combo-name strong{min-width:0;font-size:var(--text-11);font-weight:var(--weight-heavy);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-detail__combo-name span{color:var(--cocoa-faint);font-size:var(--text-9);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;flex:none}.day-detail__empty,.day-detail__no-stamp{color:var(--cocoa-muted);font-size:var(--text-9-5);line-height:1.6}.day-detail__no-stamp{color:var(--cocoa-faint);font-size:var(--text-9)}.day-detail__stamps{flex-wrap:wrap;gap:6px;padding-top:2px;display:flex}.day-detail__meal .component-list{padding-bottom:0}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes ssr-breathe{0%{filter:brightness()}to{filter:brightness(1.07)}}@keyframes ur-shine{to{transform:rotate(360deg)}}@keyframes stamp-drop{0%{opacity:0;transform:translateY(-26px)scale(1.45)rotate(-14deg)}60%{opacity:1;transform:translateY(3px)scale(.96)rotate(-4deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(-6deg)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.dish-stamp{--stamp-size:88px;--stamp-ring:var(--stamp-color,var(--stamp-neutral));--stamp-ring-soft:var(--stamp-soft,var(--stamp-neutral-soft));width:var(--stamp-size);height:var(--stamp-size);transform:rotate(var(--stamp-tilt,0deg));filter:var(--drop-shadow-card);-webkit-user-select:none;user-select:none;flex:none;place-items:center;line-height:1;display:inline-grid;position:relative}.dish-stamp__ring{fill:var(--stamp-ring-soft);stroke:var(--stamp-ring)}.dish-stamp__rings,.dish-stamp__art-ring{fill:none;stroke:var(--stamp-ring)}.dish-stamp__ticks path{fill:none;stroke:var(--stamp-ring);stroke-width:2.2px;stroke-linecap:round}.dish-stamp__grain{fill:var(--stamp-ring)}.dish-stamp__grain-ink{fill:var(--ink-line-strong)}.dish-stamp__backdrop{fill:var(--surface-bright)}.dish-stamp--silhouette .dish-stamp__backdrop{fill:var(--surface-muted-5)}.dish-stamp__locked-art{fill:var(--text-disabled);stroke:var(--text-disabled)}.dish-stamp__rarity-badge{fill:var(--rarity-color)}.dish-stamp__rarity{fill:var(--text-on-rarity)}.dish-stamp__count-bg{fill:var(--stamp-ring)}.dish-stamp__count{fill:var(--stamp-on-ring)}.dish-stamp__date{fill:var(--stamp-ring)}.dish-stamp svg{width:100%;height:100%;display:block;overflow:visible}.dish-stamp--sm{--stamp-size:62px;filter:var(--drop-shadow-stamp)}.dish-stamp--md{--stamp-size:88px;max-width:min(88px,100%);filter:var(--drop-shadow-stamp)}.dish-stamp--lg{--stamp-size:142px;filter:var(--drop-shadow-stamp-lg)}.dish-stamp--silhouette{--stamp-ring:var(--stamp-neutral);--stamp-ring-soft:var(--stamp-neutral-soft);opacity:.82;filter:grayscale(.95) var(--drop-shadow-stamp)}.dish-stamp--locked{--stamp-ring:var(--rarity-line);--stamp-ring-soft:var(--stamp-locked-soft);opacity:.92}.dish-stamp--animate{animation:stamp-press var(--motion-flip) var(--ease-spring) both}.dish-stamp__emoji{font-family:var(--font-body);font-size:var(--text-33)}.dish-stamp__rarity{font-family:var(--font-body);font-size:var(--text-7-4);font-weight:var(--weight-heavy);letter-spacing:.04em}.dish-stamp__count{font-family:var(--font-body);font-size:var(--text-7-2);font-weight:var(--weight-heavy);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.dish-stamp__date{font-family:var(--font-body);font-size:var(--text-7);font-weight:var(--weight-bold);letter-spacing:.04em;font-variant-numeric:tabular-nums}.stamp-cluster{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:3px 1px;display:flex}.stamp-cluster .dish-stamp{--stamp-size:44px}.stamp-cluster .dish-stamp__rarity{font-size:var(--text-10)}.stamp-cluster .dish-stamp__count{font-size:var(--text-9)}.stamp-cluster .dish-stamp__date{font-size:var(--text-9-5)}.stamp-cluster__more{border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface-soft);min-width:30px;height:30px;color:var(--cocoa-muted);font-size:var(--text-9);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;place-items:center;margin-left:2px;padding:0 5px;display:inline-grid}.stamp-book-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.stamp-book-head__copy{gap:5px;min-width:0;display:grid}.stamp-add-button{border:1.5px solid var(--accent-line-strong);background:var(--butter);width:46px;height:46px;box-shadow:var(--shadow-stamp-card);color:var(--accent-ink);font-size:var(--text-24);font-weight:var(--weight-bold);transition:transform var(--motion-flick) var(--ease-standard), box-shadow var(--motion-flick) var(--ease-standard);border-radius:50%;flex:none;place-items:center;margin-top:2px;line-height:1;display:grid}.stamp-add-button:active{box-shadow:var(--shadow-stamp-press);transform:translateY(2px)}.stamp-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.stamp-book{gap:11px;display:grid}.stamp-book__hint{border:1px dashed var(--line-dash);border-radius:var(--radius-sm);background:var(--surface-sheet);color:var(--cocoa-muted);font-size:var(--text-9-5);text-align:center;padding:9px 12px;line-height:1.6}.stamp-book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;list-style:none;display:grid}.stamp-book-grid>li{content-visibility:auto;contain-intrinsic-size:auto 132px;min-width:0}.stamp-book-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--milk);width:100%;min-height:100%;box-shadow:var(--shadow-soft);text-align:center;transition:transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);flex-direction:column;align-items:center;gap:2px;padding:10px 6px 9px;display:flex;position:relative}.stamp-book-card:active{transform:translateY(1px)scale(.985)}.stamp-book-card.is-locked{border-style:dashed;border-color:var(--line-soft);background:var(--surface-note-2);box-shadow:none}.stamp-book-card__name{overflow-wrap:anywhere;max-width:100%;color:var(--cocoa);font-size:var(--text-10);font-weight:var(--weight-heavy);margin-top:3px;line-height:1.3}.stamp-book-card__meta{max-width:100%;color:var(--cocoa-faint);font-size:var(--text-8);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:1.35}.stamp-book-card.is-collected .stamp-book-card__meta{color:var(--stamp-color,var(--marmalade-deep))}.stamp-book-card__badge{border-radius:var(--radius-pill);background:var(--butter);color:var(--accent-ink);font-size:var(--text-7-5);font-weight:var(--weight-heavy);padding:2px 6px;line-height:1.4;position:absolute;top:6px;left:6px}.stamp-book-card.is-archived{border-style:dashed}.stamp-book-card.is-archived .stamp-book-card__badge{background:var(--surface-muted-3);color:var(--cocoa-muted)}.stamp-book-card.is-archived .stamp-book-card__name{color:var(--cocoa-muted)}.stamp-book-card__category{border-radius:var(--radius-pill);background:var(--overlay-stronger);font-size:var(--text-10);padding:2px 5px;line-height:1.2;position:absolute;top:6px;right:6px}.stamp-search{margin:10px 0 4px;display:block}.stamp-search input{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--milk);width:100%;color:var(--cocoa);font:inherit;font-size:var(--text-11);padding:8px 12px}.stamp-search input:focus-visible{outline:2px solid var(--marmalade);outline-offset:2px}.stamp-detail-modal .modal__body{padding-bottom:14px}.stamp-detail{gap:13px;display:grid}.stamp-detail__hero{justify-items:center;gap:9px;padding:2px 0 4px;display:grid}.stamp-detail__locked{color:var(--cocoa-faint);font-size:var(--text-9-5);font-weight:var(--weight-bold);text-align:center;line-height:1.5}.stamp-detail__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.stamp-detail__facts>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);gap:2px;min-width:0;padding:9px 11px;display:grid}.stamp-detail__facts dt{color:var(--cocoa-faint);font-size:var(--text-8-5);font-weight:var(--weight-bold);line-height:1.3}.stamp-detail__facts dd{overflow-wrap:anywhere;color:var(--cocoa);font-size:var(--text-12);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;line-height:1.3}.stamp-detail__tip{border-radius:var(--radius-sm);background:var(--butter-soft);color:var(--accent-ink);font-size:var(--text-9-5);padding:9px 11px;line-height:1.65}.stamp-detail__ingredients h3{font-size:var(--text-10-5);font-weight:var(--weight-heavy);margin-bottom:6px}.stamp-ingredient-list{gap:5px;list-style:none;display:grid}.stamp-ingredient{border:1px dashed var(--line);border-radius:var(--radius-xs);background:var(--milk);font-size:var(--text-10);justify-content:space-between;align-items:baseline;gap:10px;padding:8px 11px;line-height:1.4;display:flex}.stamp-ingredient__name{overflow-wrap:anywhere;min-width:0;font-weight:var(--weight-bold);gap:1px;display:grid}.stamp-ingredient__meta{color:var(--cocoa-faint);font-size:var(--text-8);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.stamp-ingredient__grams{color:var(--cocoa-muted);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums;flex:none}.stamp-detail__next{border:1px dashed var(--line-warm);border-radius:var(--radius-sm);background:var(--surface-sheet);color:var(--text-soft);font-size:var(--text-9-5);font-weight:var(--weight-bold);text-align:center;padding:9px 11px;line-height:1.55}.stamp-detail__cooking{border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--milk);padding:0 11px}.stamp-detail__cooking summary{cursor:pointer;min-height:44px;color:var(--accent-ink-deep);font-size:var(--text-10);font-weight:var(--weight-heavy);align-items:center;padding:7px 0;line-height:1.4;list-style:none;display:flex}.stamp-detail__cooking summary::-webkit-details-marker{display:none}.stamp-detail__cooking summary:after{content:" ▾";font-size:var(--text-8);margin-left:auto;padding-left:8px}.stamp-detail__cooking[open] summary:after{content:" ▴"}.stamp-detail__steps{color:var(--cocoa-muted);font-size:var(--text-9-5);gap:6px;margin:0;padding:0 0 11px 17px;line-height:1.6;display:grid}.stamp-detail__steps li::marker{color:var(--marmalade);font-weight:var(--weight-heavy)}.stamp-detail-modal .modal__footer .primary-button,.stamp-detail-modal .modal__footer .secondary-button,.stamp-detail-modal .modal__footer .danger-button{width:auto;min-width:0;font-size:var(--text-12-5);flex:1 1 0;padding:0 10px}.reward-upgrade{border:1px solid color-mix(in srgb, var(--stamp-color,var(--marmalade)) 42%, var(--mix-stamp-fallback));border-radius:var(--radius-pill);background:var(--stamp-soft,var(--butter-soft));color:var(--cocoa);font-size:var(--text-10);font-weight:var(--weight-heavy);animation:upgrade-pop var(--motion-slow) var(--ease-spring-soft) both;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;margin-top:12px;padding:7px 13px;line-height:1.35;display:inline-flex}.reward-upgrade__spark{font-size:var(--text-11);line-height:1}.reward-upgrade__path{color:var(--stamp-color,var(--marmalade-deep));font-size:var(--text-9);font-weight:var(--weight-heavy);font-variant-numeric:tabular-nums}@media (width<=360px){.stamp-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes stamp-press{0%{opacity:0;transform:translateY(-26px) scale(1.45) rotate(var(--stamp-tilt,0deg))}62%{opacity:1;transform:translateY(3px) scale(.96) rotate(var(--stamp-tilt,0deg))}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--stamp-tilt,0deg))}}@keyframes upgrade-pop{0%{opacity:0;transform:translateY(6px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}[data-theme=simple] .today-sticker:before,[data-theme=simple] .bento__tape{display:none}[data-theme=simple] .bento-cell,[data-theme=simple] .meal-ticket,[data-theme=simple] .stamp-book-card{border:1px solid var(--line)}[data-theme=vivid] .meal-ticket,[data-theme=vivid] .stamp-book-card,[data-theme=vivid] .bento-cell,[data-theme=vivid] .calendar-cell,[data-theme=vivid] .draw-card,[data-theme=vivid] .ad-modal{border:1px solid var(--line);box-shadow:var(--shadow-card)}[data-theme=vivid] img{filter:saturate(1.08)contrast(1.02)}[data-theme=vivid] ::selection{background:var(--accent-line);color:var(--text-on-accent)}
