:root{color:#2d2019;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--cream:#f7f0e5;--paper:#fffaf2;--ink:#2f211a;--muted:#8c7b70;--tomato:#dd6048;--tomato-dark:#af4332;--leaf:#61785f;--gold:#d7a354;--line:#4c36291c;--nav-height:76px;background:#1a1b17;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{overscroll-behavior-x:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#1a1b17;width:100%;min-width:0;max-width:100%;min-height:100%;overflow-x:hidden}body{overscroll-behavior:none;width:100%;min-width:0;max-width:100%;min-height:100%;margin:0;position:relative;overflow-x:clip}#root{width:100%;min-width:0;max-width:100%;min-height:100dvh;overflow-x:clip}button,input,select,textarea{font:inherit}button,a,input,select,textarea,label{touch-action:manipulation}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #e0674859}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}.app-viewport{overscroll-behavior-x:none;background:radial-gradient(circle at 18% 6%,#6f7b592e,#0000 30%),radial-gradient(circle at 82% 88%,#ad5e3f21,#0000 34%),#191a17;width:100%;min-width:0;max-width:100%;min-height:100dvh;overflow-x:clip}.app-shell{background:var(--cream);width:100%;min-width:0;max-width:460px;min-height:100dvh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 80px #00000059}.page-stage{min-height:100dvh}.bottom-nav{z-index:80;left:50%;bottom:max(10px, env(safe-area-inset-bottom));width:min(100% - 22px,438px);height:var(--nav-height);-webkit-backdrop-filter:blur(22px)saturate(1.25);background:#fffbf4e0;border:1px solid #ffffff9e;border-radius:25px;grid-template-columns:repeat(4,1fr);padding:8px 8px 7px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 16px 50px #2d1d1438,inset 0 1px #fff}.bottom-nav__item{color:#95877d;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;font-size:10px;font-weight:650;transition:color .18s,transform .18s;display:flex;position:relative}.bottom-nav__item.is-active{color:#b64a36;transform:translateY(-1px)}.bottom-nav__icon{border-radius:13px;place-items:center;width:34px;height:34px;transition:background .18s,box-shadow .18s;display:grid}.bottom-nav__item.is-active .bottom-nav__icon{background-color:#f8dfd3;box-shadow:inset 0 0 0 1px #bd4c330f}.toast{z-index:120;right:max(14px, env(safe-area-inset-right));left:max(14px, env(safe-area-inset-left));bottom:calc(var(--nav-height) + max(25px, env(safe-area-inset-bottom)));color:#fff7ea;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#2f231beb;border:1px solid #ffffff40;border-radius:19px;align-items:center;gap:8px;width:fit-content;max-width:min(100vw - 28px,380px);margin-inline:auto;padding:11px 16px;font-size:13px;font-weight:650;display:flex;position:fixed;box-shadow:0 12px 32px #18100c47}.toast__spark{color:#f5b66b;flex:none}.toast__message{overflow-wrap:anywhere;min-width:0;line-height:1.45}.sync-indicator{z-index:85;top:max(12px, env(safe-area-inset-top));color:#6f5c4f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf2e6;border:1px solid #ffffff8c;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:9px;font-weight:750;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #2f20171f}.sync-indicator span{background:#d8a04f;border-radius:50%;width:6px;height:6px}.sync-indicator--offline span{background:#a98f80}.sync-indicator--conflict span{background:#be5b42}.cloud-entry{width:min(100%,460px);min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 20px max(28px, env(safe-area-inset-bottom));color:#fff7e8;background:radial-gradient(circle at 80% 10%,#efaf5f38,#0000 28%),radial-gradient(circle at 12% 88%,#b959382e,#0000 34%),linear-gradient(160deg,#566755 0%,#31463c 52%,#27362f 100%);place-items:center;margin:0 auto;display:grid;position:relative;overflow:hidden}.cloud-entry__ambient{filter:blur(8px);pointer-events:none;border-radius:50%;position:absolute}.cloud-entry__ambient--one{background:#f4b87014;width:210px;height:210px;top:9%;right:-80px}.cloud-entry__ambient--two{background:#be53391a;width:240px;height:240px;bottom:2%;left:-95px}.cloud-entry__card{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffcf417;border:1px solid #ffffff29;border-radius:31px;width:100%;padding:28px 22px 24px;position:relative;box-shadow:0 30px 70px #0e191247,inset 0 1px #ffffff1f}.cloud-entry__mark{border-radius:18px;width:58px;height:58px;margin-bottom:24px;box-shadow:0 12px 28px #141b1540}.cloud-entry .eyebrow{color:#fff4e28f}.cloud-entry h1{letter-spacing:-.04em;margin-top:6px;font-family:STSong,Songti SC,serif;font-size:32px}.cloud-entry__card>p{color:#fff5e6a6;margin-top:12px;font-size:12px;line-height:1.75}.cloud-entry form{margin-top:25px}.cloud-entry form>label,.invite-form label{margin-bottom:8px;font-size:10px;font-weight:750;display:block}.cloud-entry__input{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:17px;grid-template-columns:22px 1fr;align-items:center;gap:8px;padding:0 14px;display:grid}.cloud-entry__input svg{color:#efbd76}.cloud-entry__input input{color:#fff8eb;letter-spacing:.035em;background:0 0;border:0;outline:0;width:100%;min-width:0;height:52px;font-size:14px;font-weight:720}.cloud-entry__input input::placeholder{color:#fff6e852;font-weight:550}.cloud-entry__accounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.cloud-entry__accounts button{color:#fff7ea9e;background:#ffffff0e;border:1px solid #ffffff24;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:62px;padding:8px 5px;font-size:10px;font-weight:750;transition:border-color .16s,background .16s,transform .16s;display:flex}.cloud-entry__accounts button>span{color:#684331;background:#f0be7cc7;border-radius:9px;place-items:center;width:27px;height:27px;font-size:11px;font-weight:850;display:grid}.cloud-entry__accounts button.is-active{color:#fff8ec;background:#efb7692b;border-color:#f4c98bbf;box-shadow:inset 0 0 0 1px #ffeccb14}.cloud-entry__accounts button:active{transform:scale(.97)}.cloud-entry form>label:not(:first-child){margin-top:14px}.cloud-entry__input--username{margin-bottom:0}.cloud-entry__primary{color:#3f2e20;background:linear-gradient(135deg,#f3ca86,#e8aa58);border-radius:17px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:50px;margin-top:14px;font-size:12px;font-weight:800;display:flex;box-shadow:0 13px 28px #c9813438}.cloud-entry__error{color:#ffd0c5!important;margin-top:9px!important;font-size:10px!important;line-height:1.55!important}.cloud-entry__card>small{color:#fff6e766;margin-top:17px;font-size:9px;line-height:1.6;display:block}.cloud-entry__symbol{color:#70422e;background:#edbd82;border-radius:18px;place-items:center;width:56px;height:56px;margin-bottom:18px;font-size:25px;display:grid}.cloud-entry--loading{align-content:center;gap:14px}.cloud-entry--loading>img{border-radius:19px;width:62px;height:62px}.cloud-entry--loading>p{color:#fff5e694;font-size:11px}.cloud-entry__loader{border:2px solid #ffffff24;border-top-color:#efbd76;border-radius:50%;width:24px;height:24px;margin-top:8px;animation:.85s linear infinite cloud-spin}@keyframes cloud-spin{to{transform:rotate(360deg)}}.quick-login{margin-top:24px}.quick-login__label{color:#fff4e294;letter-spacing:.04em;margin-bottom:9px;font-size:10px;font-weight:750;display:block}.quick-login__accounts{gap:8px;display:grid}.quick-login__accounts>button{color:#fff8ec;text-align:left;background:linear-gradient(135deg,#efb7692e,#ffffff12);border:1px solid #f4c98b59;border-radius:19px;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:10px;width:100%;min-height:64px;padding:9px 13px 9px 10px;display:grid;box-shadow:inset 0 1px #ffffff14}.quick-login__accounts>button:active{transform:scale(.985)}.quick-login__accounts>button:disabled{opacity:.68}.quick-login__avatar{color:#543522;background:linear-gradient(145deg,#f7d89e,#e7a855);border-radius:14px;place-items:center;width:42px;height:42px;font-size:15px;font-weight:900;display:grid;box-shadow:0 8px 20px #131c1533}.quick-login__accounts strong,.quick-login__accounts small{display:block}.quick-login__accounts strong{font-size:13px}.quick-login__accounts small{color:#fff7ea7a;margin-top:3px;font-size:9px}.quick-login__accounts svg{color:#f4c98b}.quick-login__spinner{border:2px solid #ffffff2e;border-top-color:#efbd76;border-radius:50%;width:17px;height:17px;animation:.75s linear infinite cloud-spin}.quick-login__manual-toggle{color:#fff4e28c;text-underline-offset:3px;background:0 0;margin:12px auto 0;padding:5px 8px;font-size:9px;text-decoration:underline;display:block}.quick-login__remember{color:#fff7eabf;cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;margin-top:14px!important;display:grid!important}.quick-login__remember input{accent-color:#e8aa58;width:17px;height:17px;margin:1px 0 0}.quick-login__remember strong,.quick-login__remember small{display:block}.quick-login__remember strong{font-size:10px}.quick-login__remember small{color:#fff6e861;margin-top:2px;font-size:8px;font-weight:550}.quick-switch-undo{z-index:70;right:18px;bottom:calc(96px + env(safe-area-inset-bottom));color:#fff8eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#272e24f0;border:1px solid #ffffff26;border-radius:18px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;max-width:430px;min-height:48px;margin:auto;padding:8px 9px 8px 15px;font-size:10px;display:grid;position:fixed;left:18px;box-shadow:0 18px 38px #1e181240}.quick-switch-undo button{color:#4d3324;background:#f2c985;border-radius:11px;padding:7px 9px;font-size:9px;font-weight:800}.quick-switch-undo button:last-child{color:#ffffffa8;background:0 0;padding:5px 7px;font-size:17px}.quick-login-settings{padding:4px 2px 10px}.quick-login-settings>p{color:#8d7768;margin-bottom:14px;font-size:10px;line-height:1.65}.quick-login-settings__account{background:#ffffffb3;border:1px solid #533b2b1a;border-radius:18px;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:62px;padding:9px;display:grid}.quick-login-settings__account+.quick-login-settings__account{margin-top:8px}.quick-login-settings__account>span{color:#5b3b27;background:#f1c77f;border-radius:14px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.quick-login-settings__account strong,.quick-login-settings__account small{display:block}.quick-login-settings__account strong{color:#533b2c;font-size:12px}.quick-login-settings__account small{color:#9b8778;margin-top:3px;font-size:9px}.quick-login-settings__account>button{color:#fff;background:#b65d43;border-radius:10px;padding:7px 9px;font-size:9px;font-weight:750}.quick-login-settings__account>.quick-login-settings__remove{color:#9a8474;background:0 0;padding:4px 7px;font-size:17px}.quick-login-settings__clear{color:#a65342;text-underline-offset:3px;background:0 0;margin:16px auto 0;padding:8px 10px;font-size:9px;text-decoration:underline;display:block}.eyebrow{color:#a78674;letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.eyebrow--light{color:#fff2de9e}.icon-button{background:#ffffff85;border:1px solid #4730221a;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.has-dot:after{background:var(--tomato);content:"";border:2px solid #f7efe3;border-radius:50%;width:7px;height:7px;margin:-17px -18px 0 0;position:absolute}.table-page{min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) 18px 118px;color:#fff7e9;transition:background .42s;position:relative;overflow:clip}.meal-theme--breakfast{background:linear-gradient(#fff4d614,#0000 35%),radial-gradient(circle at 72% 16%,#b6a16d 0,#0000 32%),#5e6858}.meal-theme--lunch{background:radial-gradient(circle at 80% 10%,#ffdd9447,#0000 28%),linear-gradient(160deg,#73806b 0%,#4a5d4d 52%,#36453c 100%)}.meal-theme--dinner{background:radial-gradient(circle at 80% 5%,#e58b523d,#0000 28%),linear-gradient(165deg,#4c5547 0%,#304238 45%,#27342f 100%)}.ambient-orb{pointer-events:none;filter:blur(4px);border-radius:50%;position:absolute}.ambient-orb--one{background:#f4b87012;width:210px;height:210px;top:170px;left:-90px}.ambient-orb--two{background:#ffca870f;width:190px;height:190px;top:10px;right:-85px}.home-header,.page-header{z-index:3;justify-content:space-between;align-items:center;display:flex;position:relative}.brand-lockup{align-items:center;gap:10px;display:flex}.brand-mark{border:1px solid #ffffff57;border-radius:14px;width:41px;height:41px;box-shadow:0 8px 18px #161a142e}.brand-lockup div{flex-direction:column;display:flex}.brand-lockup span{letter-spacing:.08em;font-family:STSong,Songti SC,serif;font-size:16px;font-weight:700}.brand-lockup small{color:#fff9ed7a;letter-spacing:.18em;margin-top:2px;font-size:7px;font-weight:700}.header-actions{align-items:center;gap:8px;display:flex}.home-header .icon-button{color:#fff9ec;background:#ffffff12;border-color:#ffffff1f;position:relative}.avatar-stack{padding-left:8px;display:flex}.avatar-stack span{color:#fff;border:2px solid #344539e6;border-radius:50%;place-items:center;width:30px;height:30px;margin-left:-8px;font-size:10px;font-weight:750;display:grid}.meal-intro{z-index:2;text-align:center;margin-top:25px;position:relative}.date-chip{color:#fff9edd1;background:#ffffff0f;border:1px solid #ffffff21;border-radius:999px;align-items:center;gap:1px;min-height:44px;padding:8px 12px;font-size:11px;font-weight:650;display:inline-flex}.date-chip--button{background:#ffffff0f}.date-chip--button svg{opacity:.62;transform:rotate(90deg)}.meal-intro p{color:#fff8e899;letter-spacing:.04em;margin-top:12px;font-size:11px}.meal-intro h1{letter-spacing:-.04em;text-shadow:0 4px 24px #0c140e33;margin-top:5px;font-family:STSong,Songti SC,serif;font-size:clamp(30px,8vw,37px);font-weight:650}.meal-switch{z-index:2;background:#121f172e;border:1px solid #ffffff1a;border-radius:999px;grid-template-columns:repeat(3,1fr);width:235px;margin:18px auto 0;padding:3px;display:grid;position:relative}.meal-switch button{color:#fff8eb8f;background:0 0;border-radius:999px;padding:7px 8px;font-size:11px;font-weight:700;transition:all .18s}.meal-switch button.is-active{color:#3f352b;background:#f8ecda;box-shadow:0 4px 12px #131c1529}.table-scene{z-index:1;width:calc(100% + 36px);height:310px;margin:2px -18px 0;position:relative}.table-glow{filter:blur(2px);background:radial-gradient(#ffc37b1f,#0000 70%);border-radius:50%;width:310px;height:210px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.table-surface{background:radial-gradient(at 50% 32%,#bf7a4861,#0000 58%),linear-gradient(105deg,#5a3020 0%,#7a472d 34%,#603522 69%,#45281d 100%);border:1px solid #f2bf843b;border-radius:50%;width:min(430px,100% + 40px);height:248px;position:absolute;top:28px;left:50%;transform:translate(-50%);box-shadow:inset 0 15px 35px #f4a96221,inset 0 -22px 30px #160e0a40,0 34px 50px #0f151154}.table-grain{border-radius:inherit;opacity:.28;mix-blend-mode:overlay;pointer-events:none;background:repeating-radial-gradient(at 18% 30%,#0000 0 12px,#ffffff0e 13px 14px,#0000 15px 26px),repeating-linear-gradient(5deg,#0000 0 17px,#1409041f 18px 19px,#0000 20px 34px);position:absolute;inset:0;overflow:hidden}.table-shadow{filter:blur(18px);background:#09100c52;border-radius:50%;height:38px;position:absolute;bottom:0;left:16%;right:16%}.table-dish{z-index:2;position:absolute}.table-dish--0{top:30px;left:58px}.table-dish--1{top:22px;right:62px}.table-dish--2{top:121px;left:158px}.table-dish--3{top:125px;right:28px;transform:scale(.86)}.table-dish--4{top:132px;left:34px;transform:scale(.82)}.plate-button{background:0 0;justify-items:center;width:112px;padding:0;display:grid;position:relative}.table-dish--2 .plate-button{width:105px}.plate-rim,.shake-plate{background:#f8f0df;border:1px solid #6c4c342e;border-radius:50%;width:96px;height:96px;padding:8px;display:block;position:relative;box-shadow:0 11px 16px #1e0c0561,inset 0 0 0 3px #fffaf0,inset 0 0 0 5px #78583814}.plate-rim:after,.shake-plate:after{border-radius:inherit;content:"";pointer-events:none;border:1px solid #ffffff6b;position:absolute;inset:10px}.dish-image{object-fit:cover;border-radius:inherit;background:#e4d2b8;width:100%;height:100%;display:block}.dish-image--fallback{color:#fffaf1;background:radial-gradient(circle at 32% 22%, #ffffff57, transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--dish-accent) 70%, #fff), var(--dish-accent));text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.dish-image--fallback span{text-shadow:0 2px 8px #46231638;font-family:STSong,Songti SC,serif;font-size:28px;font-weight:800;line-height:1}.dish-image--fallback small{color:#ffffffdb;margin-top:5px;font-size:7px}.dish-name-tag{z-index:2;color:#fff6e8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#281a12c7;border:1px solid #ffffff38;border-radius:999px;align-items:center;min-height:24px;margin-top:-3px;padding:4px 10px;font-size:10px;font-weight:720;display:inline-flex;position:relative;box-shadow:0 5px 12px #180d0738}.table-overflow-count{z-index:5;color:#fff7e8c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2f1a1094;border:1px solid #fff2db3d;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:700;position:absolute;bottom:12px;right:50%;transform:translate(50%)}.table-overflow-count:active{transform:translate(50%)scale(.97)}.empty-place-setting{color:#fff5e3d1;background:0 0;flex-direction:column;align-items:center;width:210px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-52%)}.empty-plate{background:#ffffff09;border:1px dashed #fff6e573;border-radius:50%;place-items:center;width:100px;height:100px;margin-bottom:12px;display:grid;box-shadow:inset 0 0 0 8px #ffffff05}.empty-place-setting strong{font-size:13px}.empty-place-setting small{color:#fff5e380;margin-top:5px;font-size:10px}.table-summary{z-index:2;justify-content:space-between;align-items:center;margin-top:-4px;padding:0 4px;display:flex;position:relative}.table-summary strong{color:#fff5e6;font-size:13px;display:block}.table-summary .eyebrow{color:#fff5e773}.table-summary__actions{gap:6px;display:flex}.table-summary__actions>button{color:#fff0d9;background:#ffffff12;border:1px solid #ffffff1a;border-radius:14px;align-items:center;gap:6px;padding:10px 13px;font-size:10px;font-weight:700;display:flex}.table-summary__actions .table-add-action{color:#fff7e8;background:#c4563933;border-color:#eebb773d}.whisper-card{z-index:2;background:#fff1;border:1px solid #ffffff1a;border-radius:19px;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;margin-top:17px;padding:13px 14px;display:grid;position:relative}.whisper-card__icon{color:#683a29;background:#edbd82;border-radius:14px;place-items:center;width:40px;height:40px;font-family:Georgia,serif;font-size:24px;font-weight:800;display:grid}.whisper-card span{color:#fff8ec73;font-size:9px;font-weight:700}.whisper-card p{color:#fff4e3;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;font-weight:600;overflow:hidden}.meal-status-card{z-index:2;color:#fff5e6;text-align:left;background:#ffffff12;border:1px solid #ffffff1a;border-radius:18px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-width:0;margin-top:14px;padding:11px 13px;display:grid;position:relative;overflow:hidden}.meal-status-card:after{content:"";pointer-events:none;background:#ffffff09;border-radius:50%;width:88px;height:88px;position:absolute;top:-25px;right:-16px}.meal-status-card__icon{color:#673a29;background:#edbd82;border-radius:14px;place-items:center;width:40px;height:40px;display:grid}.meal-status-card>span:nth-child(2){min-width:0}.meal-status-card small,.meal-status-card strong,.meal-status-card em{display:block}.meal-status-card small{color:#fff6e873;letter-spacing:.06em;font-size:8px;font-style:normal;font-weight:700}.meal-status-card strong{margin-top:2px;font-size:12px}.meal-status-card em{color:#fff6e8a3;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:8px;font-style:normal;overflow:hidden}.meal-status-card--notified{background:linear-gradient(135deg,#768b5d47,#ffffff0f);border-color:#e6c17f38}.meal-status-card--notified .meal-status-card__icon{color:#fdf3df;background:#73845d}.meal-status-card--changed{background:linear-gradient(135deg,#ae4d3645,#ffffff0f);border-color:#e59d7340}.meal-status-card--changed .meal-status-card__icon{color:#fff5e9;background:#b4513b}.sheet-backdrop{z-index:89;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:none;touch-action:none;background:#10120f75;width:100%;position:fixed;inset:0}.dish-drawer{z-index:90;max-width:460px;max-height:78dvh;padding:9px 18px calc(28px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;color:var(--ink);background:#fbf4e9;border-radius:30px 30px 0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -20px 60px #14120e42}.sheet-handle{background:#d7c9b9;border-radius:99px;width:40px;height:4px;margin:0 auto 18px}.meal-notice-sheet{z-index:95;width:min(100%,460px);padding:9px 20px calc(28px + env(safe-area-inset-bottom));color:var(--ink);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fbf4e9;border-radius:30px 30px 0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -20px 60px #14120e47}.meal-notice-sheet__summary{color:#8e7b6e;margin-top:16px;font-size:10px;line-height:1.65}.notice-presets{gap:8px;margin-top:15px;display:grid}.notice-presets button{color:#6f5b4f;text-align:left;background:#ffffffa3;border:1px solid #583c2b1a;border-radius:14px;min-height:42px;padding:0 13px;font-size:11px}.notice-presets button.is-active{color:#9f412f;background:#f8dfd3;border-color:#b44b324d;box-shadow:inset 0 0 0 1px #b44b320f}.meal-notice-sheet__hint{color:#9a897d;text-align:center;margin-top:11px;font-size:8px;line-height:1.6;display:block}.meal-notice-empty{text-align:center;flex-direction:column;align-items:center;padding:28px 8px 4px;display:flex}.meal-notice-empty>span{font-size:38px}.meal-notice-empty strong{margin-top:8px;font-size:15px}.meal-notice-empty p{color:#98877b;margin-top:5px;font-size:10px}.meal-manage-sheet{max-height:72dvh}.meal-manage-list{gap:8px;margin-top:16px;display:grid;overflow-y:auto}.meal-manage-item{background:#ffffff9e;border:1px solid #533b2b14;border-radius:16px;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.meal-manage-item>.dish-image{border-radius:14px;width:48px;height:48px}.meal-manage-item>span{min-width:0}.meal-manage-item strong,.meal-manage-item small{display:block}.meal-manage-item strong{font-size:11px}.meal-manage-item small{color:#9b897c;margin-top:3px;font-size:8px}.meal-manage-item>button{color:#ad4935;background:#f6dfd4;border-radius:10px;padding:7px 9px;font-size:9px;font-weight:750}.drawer-heading{justify-content:space-between;align-items:center;display:flex}.drawer-heading span{color:#a08e80;font-size:10px;font-weight:700}.drawer-heading h2{margin-top:2px;font-family:STSong,Songti SC,serif;font-size:25px}.filter-row,.library-filters{scrollbar-width:none;gap:7px;margin:16px -2px 14px;padding:2px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.library-filters::-webkit-scrollbar{display:none}.filter-row button,.library-filters button{border:1px solid var(--line);color:#8a776a;background:#ffffff75;border-radius:999px;flex:none;padding:8px 13px;font-size:11px;font-weight:700}.filter-row button.is-active,.library-filters button.is-active{color:#fff7ec;background:#bd523c;border-color:#b94e38}.drawer-dishes{gap:9px;max-height:calc(78dvh - 150px);padding-bottom:20px;display:grid;overflow-y:auto}.drawer-dish{text-align:left;background:#ffffff9e;border:1px solid #53382812;border-radius:18px;grid-template-columns:58px 1fr 34px;align-items:center;gap:11px;padding:7px;display:grid}.drawer-dish>.dish-image{border-radius:15px;width:58px;height:58px}.drawer-dish>span{min-width:0}.drawer-dish strong,.drawer-dish small{display:block}.drawer-dish strong{font-size:13px}.drawer-dish small{color:#9a897c;margin-top:4px;font-size:10px}.drawer-add{color:#fff;background:#bd523c;border-radius:11px;place-items:center;width:30px;height:30px;display:grid}.light-page{min-height:100dvh;padding:max(22px, env(safe-area-inset-top)) 18px 118px;color:var(--ink);background:radial-gradient(circle at 95% 0,#e8a96e29,#0000 22%),#f7f0e5}.page-header h1{letter-spacing:-.04em;font-family:STSong,Songti SC,serif;font-size:31px}.round-primary{color:#fff;background:#bd523c;border-radius:16px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 9px 20px #ab46313d}.planned-action{align-items:center;gap:7px;display:flex}.planned-action .round-primary{color:#ad8f80;box-shadow:none;background:#eadfd3}.planned-action small{color:#a28e81;font-size:8px;font-weight:700;line-height:1.35}.library-header__actions{align-items:center;gap:8px;display:flex}.recycle-toggle{color:#8e786a;background:#ffffff94;border:1px solid #533b2b17;border-radius:14px;min-height:39px;padding:0 11px;font-size:9px;font-weight:750;position:relative}.recycle-toggle span{color:#a74331;background:#f5ded3;border-radius:99px;place-items:center;min-width:16px;height:16px;margin-right:4px;padding:0 4px;font-size:8px;display:inline-grid}.recycle-toggle.is-active{color:#fff7ec;background:#526b56;border-color:#526b56}.recycle-toggle.is-active span{color:#526b56;background:#eef3ea}.library-meal-target{color:#fdf7eb;background:linear-gradient(145deg,#526653,#34483d);border:1px solid #533b2b12;border-radius:17px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;margin-top:14px;padding:10px 12px;display:grid;box-shadow:0 10px 24px #3046371c}.library-meal-target>span{color:#71452f;background:#efbd81;border-radius:12px;place-items:center;width:36px;height:36px;display:grid}.library-meal-target div{min-width:0}.library-meal-target small,.library-meal-target strong{display:block}.library-meal-target small{color:#fff7e88c;font-size:8px}.library-meal-target strong{margin-top:2px;font-size:11px}.library-meal-target+.search-field{margin-top:12px}.search-field{color:#aa998e;background:#ffffffb8;border:1px solid #4e392b14;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-top:22px;padding:12px 14px;display:grid;box-shadow:0 10px 30px #4b311f0d}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.search-field input::placeholder{color:#ac9d93}.search-field button{color:#9b897c;background:0 0;padding:3px;display:grid}.library-filters{margin-top:13px}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dish-card{cursor:pointer;background:#fffcf6db;border:1px solid #593f2f13;border-radius:22px;min-width:0;position:relative;overflow:hidden;box-shadow:0 12px 30px #48302013}.dish-card:focus-visible{outline-offset:3px;outline:3px solid #bd523c38}.dish-card__media{background:#e5d2b6;height:145px;position:relative;overflow:hidden}.dish-card__media .dish-image{border-radius:0;transition:transform .4s}.dish-card:hover .dish-image{transform:scale(1.035)}.heart-button{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#291c1440;border:1px solid #ffffff61;border-radius:50%;place-items:center;width:31px;height:31px;display:grid;position:absolute;top:9px;right:9px}.heart-button.is-liked{color:#f46e55;background:#fff9f0e6}.duration-badge{color:#fff9ef;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2b1f1780;border-radius:999px;align-items:center;gap:3px;padding:4px 7px;font-size:9px;font-weight:700;display:flex;position:absolute;bottom:9px;left:9px}.dish-card__body{padding:12px}.dish-card__type{color:#ad8e7c;font-size:9px;font-weight:750}.dish-card h2{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:15px;overflow:hidden}.dish-card__footer{color:#9b897d;justify-content:space-between;align-items:center;min-height:30px;margin-top:9px;font-size:9px;display:flex}.dish-card__footer button{color:#ad4633;background:#f8e2d8;border-radius:10px;align-items:center;gap:2px;padding:7px 9px;font-size:10px;font-weight:750;display:flex}.dish-card__footer button.is-selected{color:#6f806c;background:#e2eadf}.dish-card__footer button.is-selected:disabled{cursor:default;opacity:1}.empty-search{color:#88776b;text-align:center;padding:60px 20px}.empty-search>span{font-size:36px}.empty-search h2{color:#49362b;margin-top:12px;font-size:17px}.empty-search p{margin-top:6px;font-size:11px}.empty-search button{color:#fff8ef;background:#b94f39;border-radius:12px;margin-top:16px;padding:9px 13px;font-size:10px;font-weight:750}.dish-editor-sheet{z-index:96;width:min(100%,460px);max-height:94dvh;padding:9px 18px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;color:var(--ink);background:#fbf4e9;border-radius:31px 31px 0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -26px 70px #19120e4d}.dish-editor-heading{z-index:4;background:linear-gradient(#fbf4e9 82%,#fbf4e900);margin:-2px -2px 0;padding:9px 2px 11px;position:sticky;top:-9px}.dish-editor-form{gap:18px;padding:6px 0 8px;display:grid}.dish-photo-field{background:#ffffff85;border:1px solid #553d2d12;border-radius:22px;grid-template-columns:116px 1fr;align-items:center;gap:15px;padding:11px;display:grid}.dish-photo-field__preview{border-radius:18px;height:116px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fff3}.dish-photo-field__preview img{object-fit:cover;width:100%;height:100%}.dish-photo-field__preview>span{color:#fffaf0d9;flex-direction:column;justify-content:center;align-items:center;gap:7px;height:100%;display:flex}.dish-photo-field__preview small{font-size:8px;font-weight:700}.dish-photo-field strong{font-size:12px;display:block}.dish-photo-field p{color:#9b887c;margin-top:5px;font-size:8px;line-height:1.55}.photo-pick-button{color:#aa4532;cursor:pointer;background:#f5ded3;border-radius:10px;margin-top:10px;padding:7px 9px;font-size:9px;font-weight:760;display:inline-flex}.photo-pick-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.photo-remove-button{color:#a38f82;background:0 0;margin-left:7px;padding:5px 2px;font-size:8px;display:inline-block}.dish-form-field{color:#5f493c;gap:7px;font-size:10px;font-weight:760;display:grid}.dish-form-field>span:first-child,.dish-form-group legend{color:#735d50;font-size:10px;font-weight:780}.dish-form-field b{color:#bd543e;margin-left:3px;font-size:7px}.dish-form-field>input,.dish-form-field>textarea,.dish-inline-input,.dish-form-group select,.number-field{width:100%;min-height:47px;color:var(--ink);background:#ffffffad;border:1px solid #533b2b1a;border-radius:15px;outline:0;padding:0 13px;font-size:12px;font-weight:580}.dish-form-field>textarea{resize:vertical;min-height:84px;padding-top:12px;line-height:1.55}.dish-form-field>input:focus,.dish-form-field>textarea:focus,.dish-inline-input:focus,.dish-form-group select:focus{border-color:#b94f397a;box-shadow:0 0 0 3px #b94f3914}.dish-form-field small{color:#a18e81;font-size:8px;font-weight:550}.dish-form-group{border:0;min-width:0;margin:0;padding:0}.dish-form-group legend{margin-bottom:8px}.dish-category-choices{flex-wrap:wrap;gap:7px;display:flex}.dish-category-choices>button{color:#8d786b;background:#ffffff80;border:1px solid #533b2b17;border-radius:12px;justify-content:center;align-items:center;gap:4px;min-height:38px;padding:0 12px;font-size:9px;font-weight:720;display:inline-flex}.dish-category-choices>button.is-active{color:#fff8ed;background:#bd523c;border-color:#b94e38;box-shadow:0 6px 15px #ac443026}.dish-category-choices>.dish-category-manage{color:#9b4634;background:#f7e4da;border-style:dashed;border-color:#b94e384d}.dish-role-override{background:#ffffff57;border:1px solid #b94f3917;border-radius:17px;padding:11px}.dish-role-override small{color:#9c897d;margin-top:7px;font-size:8px;line-height:1.55;display:block}.dish-choice-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.dish-choice-grid button,.dish-methods button{color:#8d786b;background:#ffffff80;border:1px solid #533b2b17;border-radius:12px;min-height:38px;font-size:9px;font-weight:720}.dish-choice-grid button.is-active,.dish-methods button.is-active{color:#fff8ed;background:#bd523c;border-color:#b94e38;box-shadow:0 6px 15px #ac443026}.dish-form-pair{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}.dish-form-group select{appearance:none;background:#ffffffad linear-gradient(45deg,#0000 50%,#9e8779 50%) calc(100% - 16px) 20px/5px 5px no-repeat}.number-field{grid-template-columns:1fr auto;align-items:center;padding-right:11px;display:grid}.number-field input{background:0 0;border:0;outline:0;width:100%;min-width:0}.number-field i{color:#a18d80;font-size:8px;font-style:normal}.dish-methods{scrollbar-width:none;gap:6px;padding-bottom:8px;display:flex;overflow-x:auto}.dish-methods button{flex:0 0 45px;min-height:34px}.dish-inline-input{min-height:43px}.dish-form-error{overflow-wrap:anywhere;color:#a23f2e;background:#f6ddd2;border-radius:13px;padding:10px 12px;font-size:9px;line-height:1.55}.dish-save-button{color:#fff9ef;background:linear-gradient(135deg,#c75b43,#ad4432);border-radius:17px;min-height:50px;font-size:11px;font-weight:800;box-shadow:0 12px 25px #a43f2b2e}.dish-trash-button{color:#a48778;background:0 0;min-height:39px;font-size:9px;font-weight:700}.dish-recipe-link{color:#587058;background:#e0eadc;border-radius:13px;justify-content:space-between;align-items:center;min-height:42px;margin-top:-9px;padding:0 12px;font-size:9px;font-weight:750;display:flex}.taxonomy-backdrop{z-index:102;background:#13110e91}.taxonomy-sheet{z-index:103;width:min(100%,460px);max-height:92dvh;padding:9px 18px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;color:var(--ink);background:#fbf4e9;border-radius:31px 31px 0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -28px 80px #15100c5c}.taxonomy-tabs{background:#eee4d8;border-radius:15px;grid-template-columns:1fr 1fr;gap:4px;margin-top:16px;padding:4px;display:grid}.taxonomy-tabs button{color:#958174;background:0 0;border-radius:12px;min-height:38px;font-size:10px;font-weight:760}.taxonomy-tabs button.is-active{color:#773b2f;background:#fffaf2;box-shadow:0 5px 14px #462e1e14}.taxonomy-content{padding:16px 0 5px}.taxonomy-intro{color:#8f7c70;font-size:9px;line-height:1.65}.taxonomy-list{gap:8px;margin-top:13px;display:grid}.taxonomy-list-row{background:#ffffff94;border:1px solid #533b2b14;border-radius:17px;grid-template-columns:1fr auto;align-items:stretch;display:grid;overflow:hidden}.taxonomy-list-main{color:#654e41;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:58px;padding:10px 12px;display:flex}.taxonomy-list-main>span:first-child{min-width:0}.taxonomy-list strong,.taxonomy-list small{display:block}.taxonomy-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.taxonomy-list small{color:#9f8c80;margin-top:4px;font-size:8px}.taxonomy-list__meta{color:#aa9688;flex:none;align-items:center;gap:4px;font-size:8px;display:flex}.taxonomy-order-actions{border-left:1px solid #533b2b0f;width:34px;display:grid}.taxonomy-order-actions button{color:#9b8476;background:#f8efe5c7;font-size:12px}.taxonomy-order-actions button+button{border-top:1px solid #533b2b0f}.taxonomy-order-actions button:disabled{color:#d0c2b8;background:#f6efe86b}.taxonomy-create-button{color:#a34532;background:#f6e3d9;border:1px dashed #b94f3947;border-radius:15px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:45px;margin-top:12px;font-size:10px;font-weight:780;display:flex}.taxonomy-form{gap:17px;padding:15px 0 5px;display:grid}.taxonomy-form__back{color:#9a8476;background:0 0;align-items:center;gap:5px;width:max-content;font-size:9px;font-weight:720;display:flex}.taxonomy-role-list{grid-template-columns:1fr 1fr;gap:7px;display:grid}.taxonomy-role-list button,.taxonomy-pool-options button,.taxonomy-category-options button{color:#887467;background:#ffffff85;border:1px solid #533b2b17;border-radius:12px;min-height:38px;padding:0 10px;font-size:9px;font-weight:720}.taxonomy-role-list button:last-child{grid-column:1/-1}.taxonomy-role-list button.is-active,.taxonomy-pool-options button.is-active,.taxonomy-category-options button.is-active{color:#fff8ed;background:#bd523c;border-color:#b94e38}.taxonomy-form .dish-form-group>small{color:#9f8d81;margin-top:8px;font-size:8px;line-height:1.55;display:block}.taxonomy-pool-options,.taxonomy-category-options{flex-wrap:wrap;gap:7px;display:flex}.taxonomy-reassign select{color:#614b3e;background:#ffffffb3;border:1px solid #533b2b1a;border-radius:14px;width:100%;min-height:45px;padding:0 12px}.recycle-section{margin-top:22px}.recycle-intro{color:#806c5f;background:#ffffff85;border-radius:16px;padding:12px 14px;font-size:9px;line-height:1.65}.recycle-section>.dish-form-error{margin-top:10px}.recycle-list{gap:10px;margin-top:13px;display:grid}.recycle-card{background:#fffcf6bd;border:1px solid #533b2b12;border-radius:19px;grid-template-columns:66px 1fr;gap:11px;padding:8px;display:grid}.recycle-card>.dish-image{filter:saturate(.72);border-radius:15px;width:66px;height:66px}.recycle-card>div:nth-child(2){min-width:0;padding-top:4px}.recycle-card strong,.recycle-card small,.recycle-card span{display:block}.recycle-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.recycle-card small{color:#988579;margin-top:4px;font-size:8px}.recycle-card span{color:#b19f94;margin-top:4px;font-size:7px}.recycle-card__actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px;display:grid}.recycle-card__actions button{color:#587158;background:#e0eadc;border-radius:11px;min-height:35px;font-size:9px;font-weight:750}.recycle-card__actions button:last-child{color:#9b7464;background:#eee3da}.shake-page{min-height:100dvh;padding:max(25px, env(safe-area-inset-top)) 18px 120px;color:#fff7e9;background:radial-gradient(circle at 50% 30%,#d7a3541f,#0000 33%),linear-gradient(170deg,#263c33 0%,#1f302b 55%,#17251f 100%);position:relative;overflow:hidden}.shake-noise{opacity:.16;pointer-events:none;background-image:radial-gradient(circle at 20% 20%,#ffffff40 0 1px,#0000 1.5px),radial-gradient(circle at 70% 60%,#ffffff26 0 1px,#0000 1.5px);background-size:22px 22px,31px 31px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 80%);mask-image:linear-gradient(#000,#0000 80%)}.shake-header{z-index:2;text-align:center;position:relative}.shake-header h1{letter-spacing:-.04em;font-family:STSong,Songti SC,serif;font-size:34px}.shake-header p{color:#fff5e291;margin-top:7px;font-size:11px}.composition-card{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf413;border:1px solid #ffffff1a;border-radius:24px;margin-top:19px;padding:15px;position:relative;box-shadow:inset 0 1px #ffffff14}.composition-card__heading{justify-content:space-between;align-items:center;font-size:11px;font-weight:720;display:flex}.composition-card__heading small{color:#fff5e26b;font-size:9px}.composition-grid{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px;display:grid}.composition-stepper{background:#0d1c152e;border:1px solid #ffffff12;border-radius:16px;flex-direction:column;align-items:center;min-width:0;padding:9px 3px 7px;display:flex}.composition-icon{color:#e7b969;place-items:center;width:28px;height:28px;display:grid}.composition-stepper>strong{margin-top:2px;font-size:10px}.composition-stepper>div{grid-template-columns:22px 20px 22px;align-items:center;margin-top:6px;display:grid}.composition-stepper button{color:#fbeed8;background:#ffffff17;border-radius:8px;width:22px;height:22px;font-size:15px}.composition-stepper b{text-align:center;font-size:11px}.extra-pool-section{border-top:1px solid #ffffff14;margin-top:13px;padding-top:12px}.extra-pool-section__heading{justify-content:space-between;align-items:center;display:flex}.extra-pool-section__heading strong{font-size:10px}.extra-pool-section__heading small{color:#fff5e266;font-size:8px}.extra-pool-grid{gap:6px;margin-top:8px;display:grid}.extra-pool-stepper{background:#0d1c1529;border:1px solid #ffffff12;border-radius:13px;justify-content:space-between;align-items:center;min-height:39px;padding:5px 7px 5px 11px;display:flex}.extra-pool-stepper>span{color:#fff7e9d1;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:710;overflow:hidden}.extra-pool-stepper>div{grid-template-columns:25px 22px 25px;align-items:center;display:grid}.extra-pool-stepper button{color:#fbeed8;background:#ffffff17;border-radius:8px;width:25px;height:25px;font-size:15px}.extra-pool-stepper button:disabled{opacity:.28}.extra-pool-stepper b{text-align:center;font-size:10px}.condition-row{gap:7px;margin-top:11px;display:flex}.condition-row button{color:#fff5e299;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:5px;padding:7px 10px;font-size:9px;font-weight:700;display:flex}.condition-row button.is-active{color:#392b20;background:#f2c47a}.shake-table{z-index:1;height:292px;margin:5px -18px 0;position:relative}.shake-table__surface{background:repeating-radial-gradient(at 15% 20%,#0000 0 18px,#ffffff08 19px 20px,#0000 21px 36px),linear-gradient(125deg,#6a3f2b,#4d2d21 50%,#6a3d29);border:1px solid #f5cc8b2e;border-radius:50%;width:min(405px,100% + 40px);height:242px;position:absolute;top:30px;left:50%;transform:translate(-50%);box-shadow:inset 0 18px 35px #e69c5b17,0 34px 50px #040a076b}.shake-table.is-shaking .shake-table__surface{animation:.42s table-shake}@keyframes table-shake{0%,to{transform:translate(-50%)rotate(0)}25%{transform:translate(calc(-50% - 4px))rotate(-.7deg)}55%{transform:translate(calc(5px - 50%))rotate(.8deg)}78%{transform:translate(calc(-50% - 2px))rotate(-.3deg)}}.shake-dish{position:absolute}.shake-dish--0{top:24px;left:62px}.shake-dish--1{top:18px;right:64px}.shake-dish--2{top:126px;left:62px}.shake-dish--3{top:122px;right:62px}.shake-table--crowded .shake-dish>button{width:90px}.shake-table--crowded .shake-plate{width:68px;height:68px;padding:6px}.shake-table--crowded .shake-dish strong{max-width:86px}.shake-table--crowded .lock-badge{width:22px;height:22px;right:5px}.shake-table--count-5 .shake-dish--0,.shake-table--count-6 .shake-dish--0{top:18px;left:20px;right:auto}.shake-table--count-5 .shake-dish--1,.shake-table--count-6 .shake-dish--1{top:12px;left:calc(50% - 45px);right:auto}.shake-table--count-5 .shake-dish--2,.shake-table--count-6 .shake-dish--2{top:18px;left:auto;right:20px}.shake-table--count-5 .shake-dish--3{top:126px;left:88px;right:auto}.shake-table--count-5 .shake-dish--4{top:122px;right:88px}.shake-table--count-6 .shake-dish--3{top:126px;left:20px;right:auto}.shake-table--count-6 .shake-dish--4{top:120px;left:calc(50% - 45px)}.shake-table--count-6 .shake-dish--5{top:126px;right:20px}.shake-dish>button{background:0 0;flex-direction:column;align-items:center;width:108px;display:flex;position:relative}.shake-plate{width:82px;height:82px;padding:7px}.shake-dish strong{color:#fff5e5;text-overflow:ellipsis;white-space:nowrap;background:#1e120ccc;border-radius:999px;max-width:100px;margin-top:-2px;padding:4px 8px;font-size:9px;overflow:hidden;box-shadow:0 4px 9px #0000002e}.lock-badge{color:#7c6341;background:#fff8e8e0;border:1px solid #ffffff42;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:0;right:10px;box-shadow:0 4px 10px #00000029}.shake-dish.is-locked .shake-plate{box-shadow:0 0 0 3px #e2ad5d,0 12px 18px #1e0c0566,inset 0 0 0 3px #fffaf0}.shake-dish.is-locked .lock-badge{color:#463524;background:#efbd6e}.shake-empty{color:#fff5e2a3;text-align:center;width:220px;font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shake-warning{color:#ffdea9b3;text-align:center;margin-top:-8px;font-size:9px}.shake-actions{z-index:2;grid-template-columns:1fr 1fr;gap:9px;margin-top:4px;display:grid;position:relative}.shake-actions button{border-radius:17px;justify-content:center;align-items:center;gap:7px;min-height:49px;font-size:11px;font-weight:760;display:flex}.shake-button{color:#fff3df;background:#ffffff12;border:1px solid #ffffff1f}.serve-button{color:#3e2d1f;background:linear-gradient(135deg,#f1c47b,#e4a858);box-shadow:0 12px 24px #ca843933}.us-header .icon-button{color:#6f5b4c;background:#ffffffa8}.page-stage-label{color:#7c6a5e;background:#ffffff94;border-radius:999px;padding:7px 10px;font-size:8px;font-weight:750}.family-card{color:#fff7e8;background:radial-gradient(circle at 85% 10%,#efb26457,#0000 28%),linear-gradient(145deg,#526653,#33483d);border-radius:27px;margin-top:21px;padding:18px;position:relative;overflow:hidden;box-shadow:0 18px 38px #35463933}.family-card__glow{background:#dc874e1f;border-radius:50%;width:160px;height:160px;position:absolute;bottom:-55px;right:-25px}.family-card__title{justify-content:space-between;align-items:baseline;display:flex;position:relative}.family-card__title span{font-family:STSong,Songti SC,serif;font-size:20px;font-weight:700}.family-card__title small{color:#fff7e87a;font-size:8px}.family-members{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:20px;display:grid;position:relative}.family-member,.invite-member{color:#fff7e8;background:0 0;flex-direction:column;align-items:center;min-width:0;display:flex}.family-member>span,.invite-member>span{color:#fff;border:2px solid #ffffff3d;border-radius:17px;place-items:center;width:48px;height:48px;font-size:14px;font-weight:800;display:grid;box-shadow:0 8px 16px #131d1733}.invite-member>span{background:#ffffff12;border-style:dashed}.family-member strong,.invite-member strong{margin-top:7px;font-size:10px}.family-member small,.invite-member small{color:#fff7e86e;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:7px;overflow:hidden}.settings-section{margin-top:26px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:12px;display:flex}.section-heading h2{font-family:STSong,Songti SC,serif;font-size:21px}.section-heading>span{color:#a08777;font-size:9px}.section-heading__action{color:#9b7563;background:0 0;min-height:44px;padding:0 4px 0 14px;font-size:10px;font-weight:700}.activity-list,.settings-list{background:#fffcf6b8;border:1px solid #533b2b12;border-radius:22px;overflow:hidden;box-shadow:0 12px 30px #452d1d0b}.activity-item{grid-template-columns:32px 1fr;align-items:center;gap:7px;padding:12px 14px;display:grid}.activity-item+.activity-item{border-top:1px solid #533b2b0f}.activity-dot{color:#bc503a;background:#fae2d6;border-radius:10px;place-items:center;width:29px;height:29px;font-size:12px;display:grid}.activity-item p{color:#4a372c;font-size:11px;font-weight:620}.activity-item small{color:#a29388;margin-top:3px;font-size:8px;display:block}.activity-item--history{width:100%;min-height:58px;color:inherit;text-align:left;background:0 0;grid-template-columns:32px minmax(0,1fr) auto}.activity-item--history>span:nth-child(2){min-width:0}.activity-item--history strong,.activity-item--history small{display:block}.activity-item--history strong{color:#4a372c;font-size:11px;font-weight:680}.activity-item--history small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-item--history>svg{color:#aa988d}.activity-empty{color:#9c8a7d;text-align:center;padding:20px 16px;font-size:10px}.settings-list>button{text-align:left;background:0 0;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;width:100%;padding:12px 14px;display:grid}.settings-list>button+button{border-top:1px solid #533b2b0f}.settings-list button>span:nth-child(2){min-width:0}.settings-list strong,.settings-list small{display:block}.settings-list strong{font-size:11px}.settings-list small{color:#9b8b80;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8px;overflow:hidden}.settings-list>button>svg{color:#aa988d}.settings-list>button.planned-setting:disabled{opacity:.72}.setting-status{color:#9b877a;background:#eee4da;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:750}.setting-icon{border-radius:12px;place-items:center;width:35px;height:35px;display:grid}.setting-icon--red{color:#b44e38;background:#f6ded3}.setting-icon--green{color:#5d755d;background:#dfe9dc}.setting-icon--gold{color:#95713d;background:#f1e2c5}.pwa-card{background:#fff9ef;border:1px solid #553d2d14;border-radius:22px;grid-template-columns:48px 1fr;gap:12px;margin-top:25px;padding:15px;display:grid}.pwa-card img{border-radius:15px;width:48px;height:48px}.pwa-card strong{font-size:12px}.pwa-card p{color:#96857a;margin-top:4px;font-size:9px;line-height:1.55}.pwa-card button{color:#ad4632;background:#f7e2d8;border-radius:12px;grid-column:1/-1;padding:9px;font-size:10px;font-weight:700}.reset-demo{color:#aa8f80;background:0 0;margin:20px auto 0;padding:9px 12px;font-size:9px;display:block}.prototype-note{color:#b4a59a;text-align:center;font-size:8px}.identity-invite-sheet{z-index:95;width:min(100%,460px);padding:9px 20px calc(28px + env(safe-area-inset-bottom));color:var(--ink);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fbf4e9;border-radius:30px 30px 0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -20px 60px #14120e47}.schedule-sheet{max-height:92dvh;overflow-y:auto}.schedule-list{gap:10px;margin-top:17px;display:grid}.schedule-day{background:#ffffff85;border:1px solid #533b2b12;border-radius:19px;padding:12px}.schedule-day__date{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.schedule-day__date strong{font-family:STSong,Songti SC,serif;font-size:16px}.schedule-day__date span{color:#9b887b;font-size:8px}.schedule-day__meals{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.schedule-day__meals button{color:#7d695d;background:#fffcf7c2;border:1px solid #553d2d14;border-radius:13px;min-width:0;min-height:48px;padding:7px 3px}.schedule-day__meals button span,.schedule-day__meals button small{display:block}.schedule-day__meals button span{font-size:10px;font-weight:780}.schedule-day__meals button small{color:#a29287;margin-top:3px;font-size:7px}.schedule-day__meals button.is-active{color:#fff8ed;background:linear-gradient(135deg,#c75a42,#ad4432);border-color:#b94e38;box-shadow:0 8px 18px #a43f2b29}.schedule-day__meals button.is-active small{color:#fff8edb3}.schedule-day__meals button:disabled{color:#b6aaa2;opacity:.68;background:#78695f0d}.schedule-history-link{color:#fff7e9;text-align:left;background:linear-gradient(145deg,#526653,#33483d);border-radius:17px;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;width:100%;min-height:58px;margin-top:13px;padding:9px 12px;display:grid}.schedule-history-link>span{color:#72452f;background:#edbd82;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.schedule-history-link strong,.schedule-history-link small{display:block}.schedule-history-link strong{font-size:10px}.schedule-history-link small{color:#fff7e885;margin-top:3px;font-size:7px}.history-page{min-height:100dvh;padding:calc(22px + env(safe-area-inset-top)) 18px calc(var(--nav-height) + 40px + env(safe-area-inset-bottom));color:#34241c;background:radial-gradient(circle at 90% 2%,#dc98562b,#0000 29%),linear-gradient(#f6eee2 0%,#fbf6ee 42%,#f4eadc 100%);position:relative;overflow-x:hidden}.history-page:before{content:"";pointer-events:none;border:1px solid #815b3e12;border-radius:50%;width:132px;height:132px;position:absolute;top:112px;right:-42px;box-shadow:inset 0 0 0 12px #ffffff21}.history-header{z-index:1;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;display:grid;position:relative}.history-back-button{background:#fffaf2c7;border:1px solid #553d2d14;border-radius:14px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 20px #482d1d0f}.history-header span{color:#9d8878;letter-spacing:.08em;font-size:8px;display:block}.history-header h1{margin-top:2px;font-family:STSong,Songti SC,serif;font-size:29px;line-height:1.1}.history-filters{z-index:1;background:#fffcf7a6;border:1px solid #553d2d12;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:20px;padding:4px;display:grid;position:relative}.history-filters button{color:#8f7d70;background:0 0;border-radius:12px;min-width:0;min-height:44px;font-size:10px;font-weight:700}.history-filters button.is-active{color:#fff9ef;background:linear-gradient(135deg,#c95b43,#a94030);box-shadow:0 7px 16px #a43f2b2e}.history-list{z-index:1;gap:14px;margin-top:17px;display:grid;position:relative}.history-card{background:#fffbf4d4;border:1px solid #523b2d14;border-radius:24px;overflow:hidden;box-shadow:0 15px 36px #4b312012}.history-card__heading{border-bottom:1px solid #523b2d0f;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px 12px;display:flex}.history-card__heading span{color:#9b8778;font-size:8px}.history-card__heading h2{margin-top:2px;font-family:STSong,Songti SC,serif;font-size:20px}.history-card__heading .history-card__count{color:#9e4633;background:#f6dfd4;border-radius:999px;flex:none;padding:6px 9px;font-weight:750}.history-card__archive-source{color:#9a8779;margin-top:4px;font-size:7px;display:block}.history-card__heading-actions{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.history-card__heading-actions button{color:#9f4935;background:0 0;align-items:center;gap:2px;min-height:28px;padding:4px 2px;font-size:8px;font-weight:750;display:inline-flex}.history-card__dishes{display:grid}.history-dish{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:13px 15px;display:grid}.history-dish+.history-dish{border-top:1px dashed #523b2d17}.history-dish__image{border-radius:20px;width:76px;height:76px;box-shadow:0 8px 18px #3a261b1c}.history-dish__content{min-width:0}.history-dish__title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.history-dish__title strong{overflow-wrap:anywhere;min-width:0;font-size:12px}.history-dish__removed{color:#8b786c;background:#e9e1d9;border-radius:999px;padding:3px 6px;font-size:7px;font-weight:700}.history-dish__content>small{color:#9a887b;margin-top:4px;font-size:8px;line-height:1.5;display:block}.history-dish__tags{color:#6e7c61;margin-top:5px;font-size:8px;font-weight:650}.history-dish__ingredients,.history-dish__adjustment,.history-dish__note{color:#756257;overflow-wrap:anywhere;margin-top:5px;font-size:8px;line-height:1.55}.history-dish__adjustment{color:#95533d;background:#f7e6da;border-radius:9px;padding:5px 7px}.history-dish__note{color:#9b7964;font-style:italic}.history-dish__content a{color:#a44733;align-items:center;gap:2px;margin-top:6px;font-size:8px;font-weight:700;display:inline-flex}.history-repeat-button{color:#fff8eb;background:linear-gradient(145deg,#536653,#34483d);border-radius:14px;justify-content:center;align-items:center;gap:7px;width:calc(100% - 28px);min-height:44px;margin:2px 14px 14px;font-size:10px;font-weight:760;display:flex;box-shadow:0 10px 22px #2d443624}.history-load-more{color:#755f52;background:#fffaf29e;border:1px dashed #5a46372b;border-radius:16px;justify-content:center;align-items:center;gap:7px;min-height:46px;font-size:9px;font-weight:720;display:flex}.history-load-more-error{color:#9f3f2d;text-align:center;overflow-wrap:anywhere;background:#f7ddd2;border-radius:11px;padding:8px 10px;font-size:8px;line-height:1.55}.history-empty{z-index:1;text-align:center;background:#fffbf4b8;border:1px solid #523b2d12;border-radius:28px;flex-direction:column;align-items:center;margin-top:48px;padding:34px 24px;display:flex;position:relative}.history-empty__plate{color:#ad4d38;background:#fffaf2;border:8px solid #f0e4d6;border-radius:50%;place-items:center;width:72px;height:72px;display:grid;box-shadow:0 12px 26px #482d1d14}.history-empty h2{margin-top:18px;font-family:STSong,Songti SC,serif;font-size:20px}.history-empty p{color:#978477;margin-top:7px;font-size:9px;line-height:1.7}.history-empty button{color:#fff8ed;background:#b94d38;border-radius:13px;margin-top:17px;padding:10px 15px;font-size:10px;font-weight:700}.history-repeat-sheet{z-index:95;width:min(100%,460px);max-height:min(92dvh,780px);padding:9px 18px calc(16px + env(safe-area-inset-bottom));color:var(--ink);overscroll-behavior:contain;background:#fbf4e9;border-radius:30px 30px 0 0;flex-direction:column;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -20px 60px #14120e47}.history-repeat-sheet__heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:8px;display:flex}.history-repeat-sheet__heading>div{min-width:0}.history-repeat-sheet__heading span{color:#9a8678;font-size:8px}.history-repeat-sheet__heading h2{margin-top:3px;font-family:STSong,Songti SC,serif;font-size:20px;line-height:1.25}.history-repeat-sheet__hint{color:#8f7c70;margin-top:9px;font-size:8px;line-height:1.6}.history-schedule-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;gap:8px;min-height:0;margin-top:12px;padding-right:2px;display:grid;overflow-y:auto}.history-schedule-row{background:#ffffff87;border:1px solid #523b2d12;border-radius:17px;padding:10px}.history-schedule-row__date{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.history-schedule-row__date strong{font-family:STSong,Songti SC,serif;font-size:14px}.history-schedule-row__date span{color:#9d8b7e;font-size:8px}.history-schedule-row__meals{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.history-schedule-row__meals button{color:#7f6c60;background:#fffaf2;border:1px solid #523b2d12;border-radius:11px;min-width:0;min-height:44px;font-size:10px;font-weight:700}.history-schedule-row__meals button.is-active{color:#fff8ed;background:linear-gradient(135deg,#c75a42,#ad4432);border-color:#b94e38;box-shadow:0 7px 15px #a43f2b29}.history-schedule-row__meals button:disabled{color:#b6aaa2;background:#78695f0d}.history-repeat-error{color:#9f3f2d;overflow-wrap:anywhere;background:#f7ddd2;border-radius:11px;flex:none;margin-top:8px;padding:8px 10px;font-size:8px;line-height:1.55}.history-repeat-sheet__footer{background:#fbf4e9;border-top:1px solid #523b2d14;flex:none;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.history-repeat-sheet__footer>div{min-width:0}.history-repeat-sheet__footer span,.history-repeat-sheet__footer strong{display:block}.history-repeat-sheet__footer span{color:#9b897d;font-size:7px}.history-repeat-sheet__footer strong{overflow-wrap:anywhere;margin-top:2px;font-size:10px}.history-repeat-sheet__footer button{color:#fff8ed;background:linear-gradient(135deg,#c75a42,#ad4432);border-radius:13px;flex:none;min-height:42px;padding:0 14px;font-size:9px;font-weight:750}.compact-sheet{max-height:82dvh;overflow-y:auto}.push-settings-content{text-align:center;flex-direction:column;align-items:center;padding:24px 4px 4px;display:flex}.push-settings-content>strong{margin-top:12px;font-size:15px}.push-settings-content>p{color:#917f73;margin-top:7px;font-size:9px;line-height:1.7}.push-state{color:#9b523e;background:#f4ddd1;border-radius:19px;place-items:center;width:58px;height:58px;display:grid}.push-state--enabled{color:#537054;background:#dce8d9;box-shadow:0 10px 24px #4f684f29}.push-state--denied,.push-state--unsupported{color:#8f8178;background:#eae3dc}.install-steps{gap:12px;margin:22px 0 0;padding:0;list-style:none;display:grid}.install-steps li{grid-template-columns:31px 1fr;align-items:center;gap:10px;display:grid}.install-steps li>span{color:#a74632;background:#f4ddd2;border-radius:11px;place-items:center;width:31px;height:31px;font-size:10px;font-weight:800;display:grid}.install-steps p{color:#6f5d51;font-size:10px;line-height:1.6}.install-cache-note{color:#8f6b55;background:#f1e4d4;border-radius:13px;margin-top:18px;padding:11px 12px;font-size:8px;line-height:1.65}.invite-form{margin-top:24px}.invite-form>input{width:100%;height:50px;color:var(--ink);background:#ffffffb8;border:1px solid #533b2b1f;border-radius:16px;outline:none;padding:0 14px}.invite-form>label:not(:first-child){margin-top:15px;display:block}.invite-form>p{color:#968478;margin-top:10px;font-size:9px;line-height:1.6}.invite-form .cloud-entry__primary,.invite-result .cloud-entry__primary{color:#fff8ed;background:linear-gradient(135deg,#c95b43,#ad4432)}.password-input-row{grid-template-columns:minmax(0,1fr) 44px;gap:7px;display:grid}.password-input-row>input{min-width:0;height:50px;color:var(--ink);background:#ffffffb8;border:1px solid #533b2b1f;border-radius:16px;outline:none;padding:0 14px}.password-input-row>button{color:#8d6b59;background:#f1e5d7;border:1px solid #533b2b1a;border-radius:15px;place-items:center;width:44px;height:50px;display:grid}.password-generator{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:8px;display:grid}.password-generator>button{color:#6d664f;background:#eee8d7;border:1px solid #71574317;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:38px;padding:7px 10px;font-size:8px;font-weight:750;display:inline-flex}.password-generator>button+button{color:#a34834;background:#f4ded3}.password-generator>small{color:#9c8b7f;grid-column:1/-1;font-size:7px;line-height:1.55}.password-rules{flex-wrap:wrap;gap:6px;margin:9px 0 0;padding:0;list-style:none;display:flex}.password-rules li{color:#9a877b;background:#6f5d5114;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:700;transition:color .16s,background .16s}.password-rules li:before{content:"·";margin-right:4px}.password-rules li.is-valid{color:#526c53;background:#dce8d9}.password-rules li.is-valid:before{content:"✓"}.meal-ticket-page{min-height:100dvh;padding:calc(20px + env(safe-area-inset-top)) 18px calc(var(--nav-height) + 40px + env(safe-area-inset-bottom));color:#34241c;background:radial-gradient(circle at 10% 2%,#e6ae6530,#0000 28%),radial-gradient(circle at 100% 42%,#7f91671f,#0000 31%),linear-gradient(#f3e8d8 0%,#fbf6ed 48%,#f1e5d6 100%);position:relative;overflow-x:hidden}.meal-ticket-page:before{content:"";pointer-events:none;border:1px solid #6e4f3a12;border-radius:50%;width:168px;height:168px;position:absolute;top:92px;left:-70px;box-shadow:inset 0 0 0 14px #ffffff1f}.meal-ticket-header{z-index:1;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid;position:relative}.meal-ticket-header>button{color:#4f3b30;background:#fffaf2c7;border:1px solid #533b2b14;border-radius:14px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 8px 20px #482d1d0f}.meal-ticket-header>div{min-width:0}.meal-ticket-header>div span{color:#9b8678;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;font-size:7px;display:block;overflow:hidden}.meal-ticket-header h1{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-family:STSong,Songti SC,serif;font-size:17px;line-height:1.2;overflow:hidden}.meal-ticket-status{color:#8a7567;text-overflow:ellipsis;white-space:nowrap;background:#fffaf2b8;border-radius:999px;flex:none;max-width:94px;padding:6px 8px;font-size:7px;font-weight:780;overflow:hidden}.meal-ticket-status--notified{color:#526c53;background:#dce8d9}.meal-ticket-status--changed{color:#a14833;background:#f5ddd1}.meal-ticket-status--archived{color:#6b5c52;background:#e7dfd6}.meal-ticket{z-index:1;background:linear-gradient(90deg,#0000 0 14px,#a0724e11 14px 15px,#0000 15px),#fffaf2;border:1px solid #533b2b14;border-radius:26px;margin-top:16px;position:relative;overflow:hidden;box-shadow:0 18px 42px #482d1d1a}.meal-ticket:before,.meal-ticket:after{content:"";pointer-events:none;background:radial-gradient(circle,#f0e5d6 4px,#0000 4.5px) 0 0/16px 12px repeat-x;height:12px;position:absolute;left:-8px;right:-8px}.meal-ticket:before{top:-6px}.meal-ticket:after{bottom:-6px;transform:rotate(180deg)}.meal-ticket-hero{text-align:center;border-bottom:1px dashed #533b2b21;padding:28px 22px 21px 29px;position:relative;overflow:hidden}.meal-ticket-hero:after{content:"";background:#c75b4212;border-radius:50%;width:112px;height:112px;position:absolute;top:-38px;right:-31px}.meal-ticket-hero>span{color:#a08b7c;letter-spacing:.12em;font-size:8px;font-weight:750}.meal-ticket-hero>h2{margin-top:5px;font-family:STSong,Songti SC,serif;font-size:28px}.meal-ticket-hero>p{color:#8f7b6e;margin-top:5px;font-size:9px;line-height:1.6}.meal-ticket-bell-note{color:#684b3b;text-align:left;background:#f5e2d3;border-radius:15px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;margin-top:17px;padding:10px 11px;display:grid}.meal-ticket-bell-note>svg{color:#ae4c37}.meal-ticket-bell-note p{min-width:0;font-size:8px;line-height:1.55}.meal-ticket-bell-note strong{margin-right:3px;font-size:10px}.meal-ticket-bell-note small{overflow-wrap:anywhere;color:#956b54;margin-top:2px;display:block}.meal-ticket-difference{background:#f8e6dc;border:1px solid #ae4d361f;border-radius:16px;grid-template-columns:36px minmax(0,1fr);gap:10px;margin:14px 14px 0 20px;padding:11px;display:grid}.meal-ticket-difference>span{color:#fff7ed;background:#b85039;border-radius:12px;place-items:center;width:34px;height:34px;display:grid}.meal-ticket-difference strong{color:#8f3f2e;font-size:9px;display:block}.meal-ticket-difference p{overflow-wrap:anywhere;color:#946653;margin-top:3px;font-size:8px;line-height:1.45}.meal-ticket-section{padding:20px 18px 19px 27px}.meal-ticket-section+.meal-ticket-section{border-top:1px dashed #533b2b1f}.meal-ticket-section__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.meal-ticket-section__heading>div{min-width:0}.meal-ticket-section__heading span{color:#a08c7e;letter-spacing:.08em;font-size:7px;font-weight:700;display:block}.meal-ticket-section__heading h2{margin-top:2px;font-family:STSong,Songti SC,serif;font-size:18px}.meal-ticket-section__heading>small{color:#937d70;background:#f0e6da;border-radius:999px;flex:none;padding:5px 7px;font-size:7px}.meal-ticket-snapshot{background:#f2e8d875}.meal-ticket-snapshot-list{gap:8px;margin-top:13px;display:grid}.meal-ticket-snapshot-list>div{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;display:grid}.meal-ticket-snapshot-list>div>span{color:#9f4633;background:#fffaf2;border:4px solid #eadbca;border-radius:50%;place-items:center;width:34px;height:34px;font-family:STSong,Songti SC,serif;font-size:13px;display:grid}.meal-ticket-snapshot-list p{min-width:0}.meal-ticket-snapshot-list strong,.meal-ticket-snapshot-list small{overflow-wrap:anywhere;display:block}.meal-ticket-snapshot-list strong{font-size:10px}.meal-ticket-snapshot-list small{color:#9a8679;margin-top:2px;font-size:7px}.meal-ticket-dishes{gap:9px;margin-top:13px;display:grid}.meal-ticket-dishes article{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:11px;min-width:0;display:grid}.meal-ticket-dishes article>.dish-image{border-radius:17px;width:54px;height:54px;box-shadow:0 7px 15px #432b1d1a}.meal-ticket-dishes article>div{min-width:0}.meal-ticket-dishes strong,.meal-ticket-dishes small{overflow-wrap:anywhere;display:block}.meal-ticket-dishes strong{font-size:11px}.meal-ticket-dishes small{color:#998579;margin-top:3px;font-size:8px}.meal-ticket-dishes p{overflow-wrap:anywhere;color:#9a4d38;margin-top:4px;font-size:7px;line-height:1.45}.meal-ticket-footnote{color:#735f53;background:#eee7dc;border-radius:13px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;margin:0 18px 17px 27px;padding:10px 11px;display:grid}.meal-ticket-footnote>svg{color:#7a8968;margin:1px auto 0}.meal-ticket-footnote p{overflow-wrap:anywhere;font-size:8px;line-height:1.6}.meal-ticket-error{color:#9f3f2d;overflow-wrap:anywhere;background:#f7ddd2;border-radius:12px;margin:0 18px 13px 27px;padding:9px 10px;font-size:8px;line-height:1.55}.meal-ticket-actions{gap:8px;padding:0 18px 25px 27px;display:grid}.meal-ticket-actions button{border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:46px;font-size:9px;font-weight:760;display:flex}.meal-ticket-finish{color:#fff8ed;background:linear-gradient(145deg,#536653,#34483d);box-shadow:0 10px 22px #2d443624}.meal-ticket-secondary{color:#8a7365;background:#f4ece1;border:1px solid #533b2b14}.meal-finish-sheet{text-align:center}.meal-finish-sheet__icon{color:#fff7e9;background:linear-gradient(145deg,#657762,#3d5547);border-radius:21px;place-items:center;width:62px;height:62px;margin:17px auto 0;display:grid;box-shadow:0 12px 26px #2d44362b}.meal-finish-sheet h2{margin-top:14px;font-family:STSong,Songti SC,serif;font-size:22px}.meal-finish-sheet>p{color:#907c70;max-width:310px;margin:7px auto 18px;font-size:9px;line-height:1.65}.meal-finish-sheet__cancel{color:#907c70;background:0 0;border-radius:13px;width:100%;min-height:42px;margin-top:7px;font-size:9px;font-weight:700}.meal-ticket-page--loading,.meal-ticket-page--error{padding-bottom:calc(40px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.meal-ticket-loading{color:#a74934;background:#f5ddd0;border-radius:21px;place-items:center;width:64px;height:64px;display:grid}.meal-ticket-page--loading h1,.meal-ticket-page--error h1{margin-top:17px;font-family:STSong,Songti SC,serif;font-size:24px}.meal-ticket-page--loading>p,.meal-ticket-page--error>p{color:#927e71;max-width:280px;margin-top:7px;font-size:9px;line-height:1.65}.meal-ticket-page--error>button{color:#fff8ed;background:#b44b37;border-radius:14px;margin-top:17px;padding:11px 16px;font-size:9px;font-weight:750}.invite-result{text-align:center;flex-direction:column;align-items:center;margin-top:22px;display:flex}.invite-result__avatar{color:#fff;border-radius:20px;place-items:center;width:60px;height:60px;font-size:18px;font-weight:800;display:grid;box-shadow:0 12px 24px #412b1f26}.invite-result p{color:#826e61;margin-top:12px;font-size:10px}.invite-result>strong{color:#9e412f;letter-spacing:.04em;background:#f5ded2;border-radius:12px;margin-top:9px;padding:9px 12px;font-size:14px}.invite-result>small{color:#9b8b80;margin-top:11px;font-size:9px;line-height:1.65}@media (width<=360px){.table-page,.light-page,.shake-page,.meal-ticket-page{padding-left:14px;padding-right:14px}.table-scene{width:calc(100% + 28px);margin-left:-14px;margin-right:-14px}.table-surface{width:min(390px,100% + 40px)}.table-dish--0{left:52px}.table-dish--1{right:52px}.table-dish--2{left:143px}.dish-grid{gap:9px}.dish-card__media{height:126px}.composition-grid{gap:4px}.composition-card{padding:13px 10px}.shake-table__surface{width:min(380px,100% + 40px)}.shake-dish--0,.shake-dish--2{left:53px}.shake-dish--1,.shake-dish--3{right:53px}.table-summary{align-items:flex-end}.table-summary__actions>button{padding:9px 10px}.meal-ticket-header{grid-template-columns:40px minmax(0,1fr) auto;gap:7px}.meal-ticket-header h1{font-size:15px}.meal-ticket-status{max-width:76px;padding-left:6px;padding-right:6px}.meal-ticket-hero{padding-left:23px;padding-right:17px}.meal-ticket-section{padding-left:23px;padding-right:14px}.meal-ticket-footnote{margin-left:23px;margin-right:14px}.meal-ticket-actions{padding-left:23px;padding-right:14px}}@media (hover:none) and (pointer:coarse){input,select,textarea{font-size:16px!important}}@media (width>=700px){.app-shell{border:1px solid #ffffff1f;border-radius:34px;min-height:calc(100dvh - 36px);margin-top:18px;margin-bottom:18px}.page-stage{min-height:calc(100dvh - 36px)}.bottom-nav{bottom:28px}.table-page,.light-page,.shake-page,.history-page,.meal-ticket-page{min-height:calc(100dvh - 36px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.theme-scene-background{z-index:0;object-fit:cover;object-position:center top;opacity:.86;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.app-viewport[data-theme=lulu-cream],html[data-theme=lulu-cream]{--theme-page:#fff9e9;--theme-paper:#fffdf7;--theme-ink:#593d2c;--theme-muted:#99725b;--theme-accent:#f28a35;--theme-accent-soft:#ffe7b9;--theme-companion:#dcebd7}.app-viewport[data-theme=lulu],html[data-theme=lulu]{--theme-page:#fff7df;--theme-paper:#fffdf5;--theme-ink:#593d2c;--theme-muted:#99725b;--theme-accent:#f28a35;--theme-accent-soft:#ffe1a7;--theme-companion:#a9d7bd}.app-viewport[data-theme=hello-kitty],html[data-theme=hello-kitty]{--theme-page:#fff5f1;--theme-paper:#fffdf9;--theme-ink:#553a3c;--theme-muted:#a36f73;--theme-accent:#df5a63;--theme-accent-soft:#ffd9dc;--theme-companion:#8fc9dc}.app-viewport[data-theme=kuromi],html[data-theme=kuromi]{--theme-page:#f7f1ff;--theme-paper:#fffaff;--theme-ink:#3e304c;--theme-muted:#816f94;--theme-accent:#9a5ac3;--theme-accent-soft:#e7cff7;--theme-companion:#ee80ad}.app-viewport:not([data-theme=classic]){color:var(--theme-ink);background:var(--theme-page)}.app-viewport:not([data-theme=classic]) .app-shell,.app-viewport:not([data-theme=classic]) .light-page{color:var(--theme-ink);background:radial-gradient(circle at 92% 5%, color-mix(in srgb, var(--theme-accent-soft) 64%, transparent), transparent 25%), linear-gradient(180deg, var(--theme-page), color-mix(in srgb, var(--theme-page) 82%, white))}.app-viewport:not([data-theme=classic]) .bottom-nav{border-color:color-mix(in srgb, var(--theme-accent) 18%, transparent);background:color-mix(in srgb, var(--theme-paper) 90%, transparent);box-shadow:0 15px 36px color-mix(in srgb, var(--theme-accent) 16%, transparent)}.app-viewport:not([data-theme=classic]) .bottom-nav__item{color:var(--theme-muted)}.app-viewport:not([data-theme=classic]) .bottom-nav__item.is-active{color:var(--theme-accent)}.bottom-nav__icon--character{background-color:#fff;background-repeat:no-repeat;background-size:200% 200%;border:1px solid #ffffffe6;border-radius:13px;width:35px;height:35px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #57392a21}.bottom-nav__icon--character-0{background-position:0 0}.bottom-nav__icon--character-1{background-position:100% 0}.bottom-nav__icon--character-2{background-position:0 100%}.bottom-nav__icon--character-3{background-position:100% 100%}.bottom-nav__item.is-active .bottom-nav__icon--character{box-shadow:0 7px 16px color-mix(in srgb, var(--theme-accent) 27%, transparent);transform:translateY(-3px)scale(1.06)}.bottom-nav__icon--independent{box-shadow:none;background:0 0;border:0;overflow:visible}.bottom-nav__character-image{object-fit:contain;filter:drop-shadow(0 3px 4px #633a181f);width:100%;height:100%;display:block}.app-viewport[data-theme=lulu-cream] .bottom-nav{height:calc(var(--nav-height) + 4px);background:#fffcf4f5;border-color:#f5d7aa;border-radius:26px;gap:4px;padding:5px}.app-viewport[data-theme=lulu-cream] .bottom-nav__item{background:#ffffffad;border:1px solid #e6b7744d;border-radius:20px}.app-viewport[data-theme=lulu-cream] .bottom-nav__item.is-active{border-color:#f2b45d;box-shadow:0 5px 14px #d0802824}.app-viewport[data-theme=lulu-cream] .bottom-nav__icon--character{width:39px;height:39px;box-shadow:none;border:0;border-radius:12px}.app-viewport[data-theme=lulu] .bottom-nav{height:calc(var(--nav-height) + 2px);background:#fff0cf;border:2px solid #efcf98;border-radius:27px;padding:6px 8px 5px;box-shadow:0 14px 34px #55442738,inset 0 0 0 2px #ffffff7a}.app-viewport[data-theme=lulu] .bottom-nav__icon--character{width:42px;height:42px;box-shadow:none;border:0;border-radius:13px}.app-viewport[data-theme=lulu] .bottom-nav__item.is-active .bottom-nav__icon--character,.app-viewport[data-theme=lulu-cream] .bottom-nav__item.is-active .bottom-nav__icon--character{box-shadow:none}.app-viewport:not([data-theme=classic]) .settings-list,.app-viewport:not([data-theme=classic]) .activity-list,.app-viewport:not([data-theme=classic]) .member-card,.app-viewport:not([data-theme=classic]) .us-section{border-color:color-mix(in srgb, var(--theme-accent) 13%, transparent);background:color-mix(in srgb, var(--theme-paper) 92%, transparent);box-shadow:0 12px 30px color-mix(in srgb, var(--theme-accent) 9%, transparent)}.app-viewport:not([data-theme=classic]) .settings-list strong,.app-viewport:not([data-theme=classic]) .settings-list>button>svg{color:var(--theme-ink)}.app-viewport:not([data-theme=classic]) .settings-list small,.app-viewport:not([data-theme=classic]) .eyebrow{color:var(--theme-muted)}.app-viewport:not([data-theme=classic]) .settings-list>button+button{border-color:color-mix(in srgb, var(--theme-accent) 13%, transparent)}.setting-icon--theme{color:var(--theme-accent,#9b5b3c);background:var(--theme-accent-soft,#f3e4d8)}.app-viewport[data-theme=lulu-cream] .table-page,.app-viewport[data-theme=lulu] .table-page,.app-viewport[data-theme=hello-kitty] .table-page,.app-viewport[data-theme=kuromi] .table-page{color:var(--theme-ink);background:radial-gradient(circle at 8% 12%, color-mix(in srgb, var(--theme-companion) 30%, transparent), transparent 27%), radial-gradient(circle at 92% 30%, color-mix(in srgb, var(--theme-accent-soft) 72%, transparent), transparent 30%), linear-gradient(160deg, var(--theme-page), var(--theme-paper))}.app-viewport[data-theme=lulu-cream] .table-page,.app-viewport[data-theme=lulu] .table-page{background:var(--theme-page)}.app-viewport[data-theme=lulu] .theme-scene-background{opacity:.92}.app-viewport[data-theme=hello-kitty] .theme-scene-background,.app-viewport[data-theme=kuromi] .theme-scene-background{opacity:1}.app-viewport[data-theme=lulu-cream] .ambient-orb,.app-viewport[data-theme=lulu] .ambient-orb,.app-viewport[data-theme=hello-kitty] .ambient-orb,.app-viewport[data-theme=kuromi] .ambient-orb,.app-viewport[data-theme=lulu-cream] .table-page:before,.app-viewport[data-theme=lulu] .table-page:before,.app-viewport[data-theme=hello-kitty] .table-page:before,.app-viewport[data-theme=kuromi] .table-page:before{display:none}.app-viewport:not([data-theme=classic]) .table-page:before{z-index:0;border:18px solid color-mix(in srgb, var(--theme-accent-soft) 48%, transparent);content:"";opacity:.58;pointer-events:none;border-radius:50%;width:116px;height:116px;position:absolute;top:112px;right:-24px}.app-viewport:not([data-theme=classic]) .table-grain{opacity:.025}.app-viewport:not([data-theme=classic]) .table-page h1,.app-viewport:not([data-theme=classic]) .table-page h2,.app-viewport:not([data-theme=classic]) .table-page strong{color:var(--theme-ink)}.app-viewport:not([data-theme=classic]) .table-page .eyebrow,.app-viewport:not([data-theme=classic]) .table-page small,.app-viewport:not([data-theme=classic]) .brand-lockup small,.app-viewport:not([data-theme=classic]) .meal-intro p,.app-viewport:not([data-theme=classic]) .table-summary .eyebrow,.app-viewport:not([data-theme=classic]) .whisper-card span{color:var(--theme-muted)}.app-viewport:not([data-theme=classic]) .home-header .icon-button,.app-viewport:not([data-theme=classic]) .date-chip{color:var(--theme-ink);border-color:color-mix(in srgb, var(--theme-accent) 15%, transparent);background:color-mix(in srgb, var(--theme-paper) 78%, transparent)}.app-viewport:not([data-theme=classic]) .meal-switch{border-color:color-mix(in srgb, var(--theme-accent) 16%, transparent);background:color-mix(in srgb, var(--theme-accent-soft) 55%, var(--theme-paper))}.app-viewport:not([data-theme=classic]) .meal-switch button{color:var(--theme-muted)}.app-viewport:not([data-theme=classic]) .meal-switch button.is-active{color:var(--theme-ink);background:var(--theme-paper);box-shadow:0 5px 14px color-mix(in srgb, var(--theme-accent) 15%, transparent)}.app-viewport:not([data-theme=classic]) .table-surface{border:8px solid color-mix(in srgb, var(--theme-paper) 88%, transparent);background:radial-gradient(circle at 30% 24%, #ffffff40, transparent 22%), linear-gradient(145deg, color-mix(in srgb, var(--theme-accent) 83%, white), var(--theme-accent));box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--theme-accent) 20%, white), 0 24px 44px color-mix(in srgb, var(--theme-accent) 24%, transparent)}.app-viewport[data-theme=lulu-cream] .table-surface{height:254px}.app-viewport[data-theme=lulu] .table-surface{height:286px;top:18px}.app-viewport[data-theme=hello-kitty] .table-surface,.app-viewport[data-theme=kuromi] .table-surface{height:286px;top:14px}.theme-table-characters{z-index:6;pointer-events:none;position:absolute;inset:0}.table-surface--themed,.table-surface--integrated{overflow:visible;box-shadow:none!important;background:0 0!important;border:0!important}.table-surface__theme-image{z-index:0;object-fit:contain;pointer-events:none;filter:drop-shadow(0 22px 22px #73471b3b);width:100%;height:100%;display:block;position:absolute;inset:0}.table-surface--themed .table-grain{display:none}.table-surface--themed .empty-place-setting{z-index:2}.table-surface--integrated .table-grain{display:none}.table-surface--integrated .empty-place-setting{z-index:2}.table-surface__accent{z-index:1;object-fit:contain;filter:drop-shadow(0 5px 5px #6b3c142e);pointer-events:none;width:45px;height:45px;display:block;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.theme-table-characters i{border:3px solid color-mix(in srgb, var(--theme-paper) 92%, white);background-color:var(--theme-paper);width:68px;height:68px;box-shadow:0 10px 24px color-mix(in srgb, var(--theme-accent) 24%, transparent);background-repeat:no-repeat;background-size:200% 200%;border-radius:24px 24px 28px 18px;display:block;position:absolute;overflow:hidden}.theme-table-characters i:first-child{background-position:0 0;bottom:15px;left:-5px;transform:rotate(-7deg)}.theme-table-characters i:last-child{background-position:100% 100%;border-radius:24px 18px 24px 28px;top:13px;right:-5px;transform:rotate(7deg)}.theme-table-character{object-fit:contain;filter:drop-shadow(0 8px 8px #653d1929);width:108px;height:108px;display:block;position:absolute}.theme-table-character:first-child{bottom:2px;left:-13px}.theme-table-character:last-child{width:118px;height:118px;top:-4px;right:-10px}.app-viewport[data-theme=lulu-cream] .theme-table-character:first-child{width:104px;height:104px;bottom:-2px}.app-viewport[data-theme=lulu] .theme-table-character:first-child{width:92px;height:92px;bottom:0}.app-viewport[data-theme=lulu] .theme-table-character:last-child{width:126px;height:126px;top:-8px;right:-12px}.app-viewport[data-theme=hello-kitty] .theme-table-characters i{border-radius:50% 50% 42% 48%}.app-viewport[data-theme=kuromi] .theme-table-characters i{border-color:#3e304c;border-radius:18px 26px;box-shadow:0 10px 24px #3e304c3d}.app-viewport[data-theme=hello-kitty] .theme-table-characters i,.app-viewport[data-theme=kuromi] .theme-table-characters i{background-size:200% 200%;border-width:4px;width:76px;height:76px}.app-viewport[data-theme=hello-kitty] .theme-table-characters i:first-child,.app-viewport[data-theme=kuromi] .theme-table-characters i:first-child{bottom:1px;left:-2px}.app-viewport[data-theme=hello-kitty] .theme-table-characters i:last-child,.app-viewport[data-theme=kuromi] .theme-table-characters i:last-child{top:1px;right:-2px}.app-viewport[data-theme=kuromi] .home-header,.app-viewport[data-theme=kuromi] .meal-intro{color:#fff8ff;text-shadow:0 3px 18px #220f3080}.app-viewport[data-theme=kuromi] .meal-intro h1{color:#fff8ff;text-shadow:0 4px 20px #200c2eb8}.app-viewport[data-theme=hello-kitty] .meal-intro h1{color:#5f3540;text-shadow:0 2px 16px #fff4f2c2}.app-viewport[data-theme=kuromi] .brand-lockup small,.app-viewport[data-theme=kuromi] .meal-intro p{color:#fff4ffd6}.app-viewport[data-theme=kuromi] .home-header .icon-button,.app-viewport[data-theme=kuromi] .date-chip{color:#3e304c;background:#fffaffe6}.app-viewport:not([data-theme=classic]) .whisper-card,.app-viewport:not([data-theme=classic]) .table-summary{border-color:color-mix(in srgb, var(--theme-accent) 15%, transparent);color:var(--theme-ink);background:color-mix(in srgb, var(--theme-paper) 89%, transparent)}.app-viewport:not([data-theme=classic]) .table-summary{border:1px solid color-mix(in srgb, var(--theme-accent) 12%, transparent);border-radius:18px;margin-top:-2px;padding:9px 10px}.app-viewport:not([data-theme=classic]) .table-summary__actions>button{color:var(--theme-ink);border-color:color-mix(in srgb, var(--theme-accent) 14%, transparent);background:color-mix(in srgb, var(--theme-paper) 78%, transparent)}.app-viewport:not([data-theme=classic]) .table-summary__actions .table-add-action{color:#fff;background:var(--theme-accent);border-color:#0000}.app-viewport:not([data-theme=classic]) .whisper-card p{color:var(--theme-ink)}.app-viewport:not([data-theme=classic]) .empty-place-setting{color:var(--theme-paper)}.app-viewport:not([data-theme=classic]) .empty-plate{border-color:color-mix(in srgb, var(--theme-paper) 65%, transparent);background:color-mix(in srgb, var(--theme-paper) 10%, transparent)}.app-viewport:not([data-theme=classic]) .table-action,.app-viewport:not([data-theme=classic]) .meal-tab.is-active{color:#fff;background:var(--theme-accent)}.theme-page{min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 15px calc(120px + env(safe-area-inset-bottom))}.theme-page__header{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;display:grid}.theme-page__header h1{margin-top:3px;font-family:STSong,Songti SC,serif;font-size:27px}.theme-page__back{color:var(--theme-ink,#57483f);background:#ffffffa6}.theme-page__back svg{transform:rotate(180deg)}.theme-page__account{color:#fff;background:var(--theme-accent,#a85a43);border:2px solid #ffffffe6;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:800;display:grid;box-shadow:0 6px 15px #4a30221f}.theme-page__intro{justify-content:space-between;align-items:flex-end;gap:12px;margin:18px 2px 15px;display:flex}.theme-page__intro p{max-width:62%;color:var(--theme-muted,#8f7e72);font-size:9px;line-height:1.55}.theme-page__intro span{color:var(--theme-accent,#9d513d);background:var(--theme-accent-soft,#f0ded1);border-radius:999px;padding:7px 10px;font-size:8px;font-weight:750}.theme-gallery{gap:15px;display:grid}.theme-card{background:#ffffffd1;border:2px solid #0000;border-radius:27px;transition:border-color .2s,transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 15px 34px #4b312314}.theme-card--classic{--theme-accent:#9a5533;--theme-accent-soft:#f0ded1;--theme-muted:#8b786b}.theme-card--lulu-cream{--theme-accent:#f28a35;--theme-accent-soft:#ffe7b9;--theme-muted:#99725b}.theme-card--lulu{--theme-accent:#f28a35;--theme-accent-soft:#ffe1a7;--theme-muted:#99725b}.theme-card--hello-kitty{--theme-accent:#df5a63;--theme-accent-soft:#ffd9dc;--theme-muted:#a36f73}.theme-card--kuromi{--theme-accent:#9a5ac3;--theme-accent-soft:#e7cff7;--theme-muted:#816f94}.theme-card.is-selected{border-color:var(--theme-accent,#ad6048);box-shadow:0 17px 38px color-mix(in srgb, var(--theme-accent,#ad6048) 18%, transparent)}.theme-card__preview{background:linear-gradient(155deg,#31473e,#1b3028) 50%/cover;min-height:190px;position:relative;overflow:hidden}.theme-card--lulu-cream .theme-card__preview{background:radial-gradient(circle at 20% 15%,#e6f3de,#0000 32%),linear-gradient(155deg,#fffaf0,#ffe9bd)}.theme-card--lulu .theme-card__preview{background:radial-gradient(circle at 20% 15%,#d8f0d9,#0000 32%),linear-gradient(155deg,#fff4c8,#f7bf70)}.theme-card--hello-kitty .theme-card__preview{background:radial-gradient(circle at 18% 18%,#d7f0f7,#0000 28%),linear-gradient(155deg,#fff5ec,#fac4cb)}.theme-card--kuromi .theme-card__preview{background:radial-gradient(circle at 20% 14%,#f6b0d2,#0000 28%),linear-gradient(155deg,#f2e5ff,#b482d0)}.theme-card__window{opacity:.55;border:6px solid #ffffff9e;border-radius:50% 50% 12px 12px;width:62px;height:45px;position:absolute;top:13px;right:17px}.theme-card__mini-title{color:inherit;font-family:STSong,Songti SC,serif;font-size:14px;font-weight:700;position:absolute;top:24px;left:18px}.theme-card--classic .theme-card__mini-title{color:#fff7eb}.theme-card__mini-table{background:color-mix(in srgb, var(--theme-accent,#a8623f) 78%, #af6f4c);border:5px solid #ffffffb3;border-radius:50%;justify-content:center;align-items:center;gap:7px;width:58%;height:82px;display:flex;position:absolute;bottom:40px;right:12%;box-shadow:0 13px 25px #482e2129}.theme-card__mini-table i{background:#f5d59c;border:3px solid #fff;border-radius:50%;width:29px;height:29px;box-shadow:0 3px 8px #402a1e29}.theme-card__character{z-index:2;background-color:#fff;background-position:0 0;background-repeat:no-repeat;background-size:200% 200%;border:3px solid #ffffffe6;border-radius:22px;width:68px;height:68px;position:absolute;bottom:36px;left:12px;box-shadow:0 8px 18px #412b1f24}.theme-card__character-image{z-index:3;object-fit:contain;filter:drop-shadow(0 6px 8px #59381e33);width:82px;height:82px;position:absolute;bottom:30px;left:9px}.theme-card__variant-slice{z-index:0;opacity:1;background-position:50%;background-size:cover;border-left:1px solid #ffffffd1;width:50%;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 14px #ffffff1a}.theme-card__mini-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffbf;border:1px solid #ffffffb3;border-radius:12px;justify-content:space-around;align-items:center;height:29px;display:flex;position:absolute;bottom:9px;left:12px;right:12px}.theme-card__mini-nav i{background:color-mix(in srgb, var(--theme-accent,#9b674c) 72%, #5b493e);border-radius:50%;width:7px;height:7px}.theme-card__body{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:15px;display:grid}.theme-card__title{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.theme-card__title h2{font-family:STSong,Songti SC,serif;font-size:18px}.theme-card__title span{color:var(--theme-accent,#9a513e);background:var(--theme-accent-soft,#f2dfd3);border-radius:999px;padding:4px 7px;font-size:7px;font-weight:750}.theme-card__body p{color:var(--theme-muted,#917e71);margin-top:5px;font-size:8px;line-height:1.5}.theme-card__palette{gap:5px;margin-top:10px;display:flex}.theme-card__palette i{border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 6px #422a1e1f}.theme-card__body button{color:#fff;background:var(--theme-accent,#9b513e);border-radius:14px;min-width:100px;min-height:44px;padding:0 11px;font-size:8px;font-weight:800}.theme-card__body button.is-current{color:var(--theme-accent,#9b513e);background:var(--theme-accent-soft,#f3dfd2)}.pantry-page{--pantry-ink:var(--theme-ink,#4b4038);--pantry-muted:var(--theme-muted,#88796e);--pantry-accent:var(--theme-accent,#9b5b3c);--pantry-paper:var(--theme-paper,#fffaf3);min-height:100dvh;padding:max(22px, env(safe-area-inset-top)) 18px 174px;color:var(--pantry-ink);background:radial-gradient(circle at 12% 4%, color-mix(in srgb, var(--theme-companion,#c7d8b8) 26%, transparent), transparent 27%), linear-gradient(180deg, var(--theme-page,#f8efe2), color-mix(in srgb, var(--theme-page,#f8efe2) 74%, white))}.pantry-page--loading{color:var(--pantry-muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.pantry-loader{border:2px solid #785f4c2e;border-top-color:var(--pantry-accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite pantry-spin}@keyframes pantry-spin{to{transform:rotate(360deg)}}.pantry-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.pantry-header span{color:var(--pantry-muted);margin-bottom:2px;font-size:12px;display:block}.pantry-header h1{letter-spacing:-.04em;margin:0;font-size:31px;line-height:1.1}.pantry-header__settings{color:#fff;background:var(--pantry-accent);width:43px;height:43px;box-shadow:0 8px 20px color-mix(in srgb, var(--pantry-accent) 22%, transparent);border:2px solid #ffffffd1;border-radius:50%;place-items:center;font-weight:850;display:grid}.pantry-scene{background:linear-gradient(155deg, color-mix(in srgb, var(--pantry-paper) 90%, white), color-mix(in srgb, var(--theme-accent-soft,#ead8c4) 58%, white));border:1px solid #6f543f1a;border-radius:34px 34px 25px 25px;height:224px;position:relative;overflow:hidden;box-shadow:inset 0 -35px 50px #6b4b300f,0 20px 48px #5a402c1a}.pantry-scene:after{content:"";background:color-mix(in srgb, var(--pantry-accent) 42%, #b9956f);opacity:.32;border-radius:50%;height:102px;position:absolute;bottom:-52px;left:-8%;right:-8%}.pantry-scene__light{background:radial-gradient(circle,#ffffffeb,#fff0 68%);border-radius:50%;width:58%;height:130px;position:absolute;top:-48px;left:21%}.pantry-scene__fridge{z-index:1;background:color-mix(in srgb, var(--theme-companion,#b8cdb2) 68%, white);border:6px solid #ffffffb8;border-radius:35px 35px 24px 24px;width:105px;height:148px;padding:18px 14px;position:absolute;top:30px;left:30px;box-shadow:inset -10px 0 20px #40513d14,0 14px 28px #4743331f}.pantry-scene__fridge:before{content:"";background:#444d3d42;border-radius:8px;width:4px;height:32px;position:absolute;top:48%;right:11px}.pantry-scene__fridge span,.pantry-scene__cabinet span{color:#3e3a30a1;font-size:11px;font-weight:800}.pantry-scene__fridge i{color:#fff;background:var(--pantry-accent);border-radius:50%;place-items:center;width:38px;height:38px;margin-top:37px;font-size:14px;font-style:normal;font-weight:900;display:grid}.pantry-scene__cabinet{z-index:1;background:color-mix(in srgb, var(--theme-accent-soft,#e5cbb1) 72%, #c7a377);border:5px solid #ffffff94;border-radius:24px 24px 12px 12px;width:142px;height:110px;padding:15px;position:absolute;top:56px;right:28px;box-shadow:inset 0 -18px 25px #55382514,0 13px 24px #583b271a}.pantry-scene__cabinet:after{content:"";background:#5b3e2b21;width:2px;position:absolute;top:43px;bottom:0;right:50%}.pantry-scene__cabinet i{background:#55392842;border-radius:50%;width:7px;height:7px;position:absolute;top:52px;left:50%;transform:translate(-50%)}.pantry-scene__basket{z-index:2;background:#bd9361;border-radius:8px 8px 27px 27px;justify-content:center;align-items:flex-start;gap:5px;width:80px;height:38px;padding-top:4px;display:flex;position:absolute;bottom:25px;right:52px;transform:rotate(-2deg)}.pantry-scene__basket i{background:#e79a4d;border-radius:46% 54% 55% 45%;width:18px;height:18px;box-shadow:inset -4px -3px #9b4f1d24}.pantry-scene__basket i:nth-child(2){background:#d96545;transform:translateY(-5px)}.pantry-scene__basket i:nth-child(3){background:#eac558}.pantry-scene>p{z-index:3;color:#42372fb3;text-align:center;margin:0;font-size:12px;line-height:1.45;position:absolute;bottom:10px;left:18px;right:18px}.pantry-scene__fridge{height:140px;top:20px}.pantry-scene__cabinet{top:34px}.pantry-scene__basket{bottom:43px}.pantry-glance{z-index:4;background:color-mix(in srgb, var(--pantry-paper) 91%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #664d3914;border-radius:20px;grid-template-columns:repeat(4,1fr);margin:12px 0 17px;display:grid;position:relative;box-shadow:0 12px 30px #553e2c17}.pantry-glance button{min-height:65px;color:var(--pantry-ink);background:0 0}.pantry-glance button+button{border-left:1px solid #644c3b14}.pantry-glance strong,.pantry-glance span{display:block}.pantry-glance strong{font-size:19px;line-height:1.1}.pantry-glance span{color:var(--pantry-muted);margin-top:4px;font-size:10px}.pantry-connection{color:#7e654f;text-align:left;background:#fff7ddd6;border-radius:14px;justify-content:space-between;align-items:center;width:100%;min-height:43px;margin-bottom:12px;padding:0 13px;font-size:11px;display:flex}.pantry-connection strong{color:var(--pantry-accent)}.pantry-toolbar{z-index:5;background:linear-gradient(180deg, color-mix(in srgb, var(--theme-page,#f8efe2) 94%, transparent) 70%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0 -2px 14px;padding:7px 2px 9px;position:sticky;top:0}.pantry-tabs{background:#6d534112;border-radius:17px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.pantry-tabs button{min-height:39px;color:var(--pantry-muted);background:0 0;border-radius:13px;font-size:12px;font-weight:750}.pantry-tabs button.is-active{color:var(--pantry-ink);background:var(--pantry-paper);box-shadow:0 5px 15px #4f392a1a}.pantry-search{min-height:44px;color:var(--pantry-muted);background:color-mix(in srgb, var(--pantry-paper) 78%, transparent);border:1px solid #69513f1a;border-radius:15px;align-items:center;gap:8px;margin-top:9px;padding:0 13px;display:flex}.pantry-search input{width:100%;min-width:0;color:var(--pantry-ink);background:0 0;border:0;outline:0;font-size:16px}.pantry-list{gap:9px;display:grid}.pantry-item{border-bottom:1px solid #664d3917;align-items:center;gap:11px;min-height:76px;padding:11px;display:flex;position:relative}.pantry-item__mark{color:#6b5545;background:#eadcc8;border-radius:16px 16px 12px 18px;flex:0 0 44px;place-items:center;height:44px;font-size:17px;font-weight:850;display:grid;transform:rotate(-1deg)}.pantry-item__mark--ingredient,.pantry-item__mark--fruit{color:#48654b;background:#dce8d5}.pantry-item__mark--drink,.pantry-item__mark--prepared{color:#48636a;background:#d9e6e7}.pantry-item__mark--snack{color:#8b5c3f;background:#f4ddbd}.pantry-item__body{flex:1;min-width:0}.pantry-item__body>div{align-items:baseline;gap:7px;display:flex}.pantry-item__body strong{color:var(--pantry-ink);font-size:14px}.pantry-item__body span{color:var(--pantry-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.pantry-item__body p{color:var(--pantry-muted);margin:5px 0 0;font-size:11px}.pantry-item__open{color:inherit;text-align:left;background:0 0}.pantry-stock-switch{border:1px solid #664d391a;border-radius:14px;flex:0 0 78px;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;display:grid}.pantry-stock-switch button{color:#0000;background:0 0;min-width:0;min-height:37px;padding:0 2px;font-size:0}.pantry-stock-switch button:after{content:"";background:#c7c2ba;border-radius:50%;width:8px;height:8px;margin:auto;display:block}.pantry-stock-switch button:first-child:after{background:#7ca17e}.pantry-stock-switch button:nth-child(2):after{background:#dca953}.pantry-stock-switch button:nth-child(3):after{background:#b6b1aa}.pantry-stock-switch button{border-radius:9px}.pantry-stock-switch button.is-active{box-shadow:inset 0 0 0 2px var(--pantry-accent);background:#ffffffb3}.pantry-item--want .pantry-item__mark{color:#b5575f;background:#f7dadd}.pantry-inline-action{min-height:38px;color:var(--pantry-accent);background:color-mix(in srgb, var(--theme-accent-soft,#ead8c4) 58%, transparent);border-radius:12px;padding:0 10px;font-size:10px;font-weight:800}.pantry-item__remove{height:34px;color:var(--pantry-muted);background:#664d390f;border-radius:50%;flex:0 0 34px;place-items:center;font-size:18px;display:grid}.pantry-shopping-group h2{color:var(--pantry-muted);margin:14px 11px 2px;font-size:11px;font-weight:800}.pantry-check{color:#0000;background:#ffffff52;border:2px solid #90aa85;border-radius:50%;flex:0 0 42px;place-items:center;height:42px;display:grid}.pantry-check:active{color:#fff;background:#7f9d75;transform:scale(.92)}.pantry-empty{color:var(--pantry-muted);text-align:center;padding:40px 20px}.pantry-empty span{color:var(--pantry-ink);font-size:15px;font-weight:800}.pantry-empty p{max-width:250px;margin:8px auto 0;font-size:12px;line-height:1.55}.pantry-add{z-index:12;right:max(22px,50vw - 193px);bottom:calc(91px + env(safe-area-inset-bottom));color:#fff;background:var(--pantry-accent);min-height:50px;box-shadow:0 13px 27px color-mix(in srgb, var(--pantry-accent) 30%, transparent);border:2px solid #ffffffb3;border-radius:18px 18px 14px 20px;align-items:center;gap:7px;padding:0 18px;font-size:13px;font-weight:850;display:flex;position:fixed}.pantry-sheet-backdrop{--pantry-ink:var(--theme-ink,#4b4038);--pantry-muted:var(--theme-muted,#88796e);--pantry-accent:var(--theme-accent,#9b5b3c);--pantry-paper:var(--theme-paper,#fffaf3);z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#31272052;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.pantry-sheet{width:min(100%,480px);padding:20px 19px calc(23px + env(safe-area-inset-bottom));color:var(--pantry-ink);background:var(--pantry-paper);border-radius:29px 29px 0 0;box-shadow:0 -24px 60px #34271e33}.pantry-sheet header{justify-content:space-between;align-items:flex-start;margin-bottom:17px;display:flex}.pantry-sheet header span{color:var(--pantry-muted);font-size:11px}.pantry-sheet h2{margin:3px 0 0;font-size:24px}.pantry-sheet header button{width:39px;height:39px;color:var(--pantry-muted);background:#654f3e12;border-radius:50%;place-items:center;display:grid}.pantry-sheet>label{color:var(--pantry-muted);gap:6px;margin-top:12px;font-size:11px;font-weight:750;display:grid}.pantry-sheet input,.pantry-sheet select{width:100%;min-height:49px;color:var(--pantry-ink);background:#ffffffb3;border:1px solid #674f3d21;border-radius:14px;outline:none;padding:0 13px;font-size:16px}.pantry-sheet input:focus,.pantry-sheet select:focus{border-color:var(--pantry-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--pantry-accent) 13%, transparent)}.pantry-action-choice{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px;display:grid}.pantry-action-choice button{min-height:45px;color:var(--pantry-muted);background:#ffffff80;border:1px solid #674f3d1c;border-radius:14px;font-size:12px;font-weight:800}.pantry-action-choice button.is-active{border-color:var(--pantry-accent);color:var(--pantry-accent);background:color-mix(in srgb, var(--theme-accent-soft,#ead8c4) 58%, white)}.pantry-form-error{color:#a44747;margin:11px 2px 0;font-size:11px}.pantry-sheet__submit{color:#fff;background:var(--pantry-accent);border-radius:15px;width:100%;min-height:51px;margin-top:16px;font-size:14px;font-weight:850}.pantry-sheet__submit:disabled{opacity:.55}.pantry-sheet{max-height:calc(100dvh - 24px - env(safe-area-inset-top));overscroll-behavior:contain;overflow-y:auto}.pantry-sheet>.pantry-sheet__submit{box-shadow:0 0 0 8px var(--pantry-paper);position:sticky;bottom:0}.pantry-item-editor{max-height:min(91dvh,820px);overflow-y:auto}.pantry-photo-field{background:#6b523e0d;border-radius:17px;grid-template-columns:60px 1fr auto;align-items:center;gap:10px;margin-bottom:14px;padding:10px;display:grid}.pantry-photo-field__preview{width:60px;height:60px;color:var(--pantry-accent);background:color-mix(in srgb, var(--theme-accent-soft,#ead8c4) 60%, white);border-radius:18px 18px 13px 20px;place-items:center;font-size:20px;font-weight:900;display:grid;overflow:hidden}.pantry-photo-field__preview img{object-fit:cover;width:100%;height:100%}.pantry-photo-field label{cursor:pointer;gap:3px;min-width:0;display:grid;position:relative}.pantry-photo-field label strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pantry-photo-field label span{color:var(--pantry-muted);font-size:10px}.pantry-photo-field label input{opacity:0;width:1px;height:1px;position:absolute}.pantry-photo-field>button{color:#9a5050;background:#f7e4e1;border-radius:10px;min-height:34px;padding:0 9px;font-size:10px;font-weight:800}.pantry-editor-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pantry-editor-grid label,.pantry-editor-note{min-width:0;color:var(--pantry-muted);gap:5px;font-size:10px;font-weight:750;display:grid}.pantry-editor-grid__wide{grid-column:1/-1}.pantry-editor-grid input,.pantry-editor-grid select,.pantry-editor-note textarea,.pantry-location-adder input{width:100%;min-height:44px;color:var(--pantry-ink);background:#ffffffb8;border:1px solid #674f3d1f;border-radius:12px;outline:none;padding:0 11px;font-size:16px}.pantry-stock-editor{border:1px solid #674f3d1a;border-radius:18px;margin:16px 0 0;padding:12px}.pantry-stock-editor legend{color:var(--pantry-ink);padding:0 5px;font-size:12px;font-weight:850}.pantry-stock-editor .pantry-action-choice{margin:0 0 11px}.pantry-editor-note{margin-top:13px}.pantry-editor-note textarea{resize:vertical;min-height:70px;padding-top:10px}.pantry-location-adder{grid-template-columns:1fr auto;gap:8px;margin-top:13px;display:grid}.pantry-location-adder button{min-height:44px;color:var(--pantry-accent);background:color-mix(in srgb, var(--theme-accent-soft,#ead8c4) 56%, white);border-radius:12px;padding:0 11px;font-size:11px;font-weight:850}.pantry-editor-actions{grid-template-columns:auto 1fr;align-items:end;gap:9px;display:grid}.pantry-editor-actions .pantry-sheet__submit{margin-top:15px}.pantry-editor-actions__danger{color:#985353;background:#f7e5e2;border-radius:15px;min-height:51px;padding:0 12px;font-size:11px;font-weight:800}.pantry-undo{z-index:32;right:18px;bottom:calc(94px + env(safe-area-inset-bottom));color:#fff;background:#4f463f;border-radius:16px;justify-content:space-between;align-items:center;max-width:394px;min-height:48px;margin:auto;padding:0 13px 0 16px;font-size:12px;display:flex;position:fixed;left:18px;box-shadow:0 14px 32px #34292140}.pantry-undo button{color:#ffe4aa;background:#ffffff1a;border-radius:10px;min-height:34px;padding:0 10px;font-weight:850}@media (width<=350px){.pantry-page{padding-left:13px;padding-right:13px}.pantry-scene__fridge{left:20px}.pantry-scene__cabinet{width:125px;right:18px}.pantry-glance{margin-left:5px;margin-right:5px}.pantry-tabs button{font-size:11px}}@media (prefers-reduced-motion:reduce){.pantry-loader{animation:none}.pantry-check:active{transform:none}}.theme-card__body button:disabled{cursor:default;opacity:.72}.theme-family__variants{visibility:hidden;opacity:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:0;padding:0 14px;transition:max-height .24s,padding .24s,opacity .18s;display:grid;overflow:hidden}.theme-family__variants.is-expanded{visibility:visible;opacity:1;max-height:190px;padding:0 14px 14px}.theme-variant-option{border:1px solid color-mix(in srgb, var(--theme-accent) 22%, white);min-width:0;color:var(--theme-ink,#593d2c);background:color-mix(in srgb, var(--theme-paper,white) 88%, transparent);text-align:left;border-radius:17px;padding:7px;display:grid;box-shadow:0 7px 16px #58381e12}.theme-variant-option.is-current{border-color:var(--theme-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--theme-accent) 16%, transparent)}.theme-variant-option:disabled{cursor:default;opacity:1}.theme-variant-option__preview{background-color:#fff2d8;background-position:50%;background-size:cover;border-radius:12px;height:66px;display:block;position:relative;overflow:hidden}.theme-variant-option__preview:after{content:"";background:linear-gradient(#0000,#593d2c14);position:absolute;inset:0}.theme-variant-option__preview img{z-index:1;object-fit:contain;width:55px;height:55px;position:absolute;bottom:-2px;right:2px}.theme-variant-option>span:last-child{gap:2px;padding:7px 3px 2px;display:grid}.theme-variant-option strong{font-size:9px}.theme-variant-option small{color:var(--theme-muted);font-size:7px}.theme-page__error{color:#9a3c37;background:#ffe6df;border-radius:13px;margin-top:13px;padding:10px 12px;font-size:9px}.theme-page__note{color:var(--theme-muted,#907c70);text-align:center;margin-top:15px;font-size:8px;line-height:1.55}html[data-theme=lulu-cream] .cooking-mode{background:radial-gradient(circle at 82% 12%,#f28a3529,#0000 27%),linear-gradient(160deg,#5d4a32,#3f3023 70%)}html[data-theme=lulu] .cooking-mode{background:radial-gradient(circle at 82% 12%,#f28a353b,#0000 27%),linear-gradient(160deg,#315849,#203e34 70%)}html[data-theme=hello-kitty] .cooking-mode{background:radial-gradient(circle at 82% 12%,#ffd6dc2e,#0000 27%),linear-gradient(160deg,#623c43,#3c252c 70%)}html[data-theme=kuromi] .cooking-mode{background:radial-gradient(circle at 82% 12%,#ee80ad33,#0000 27%),linear-gradient(160deg,#392b48,#211929 70%)}@media (width<=360px){.theme-card__body{grid-template-columns:1fr}.theme-card__body button{width:100%}.theme-page__intro{flex-direction:column;align-items:flex-start}.theme-page__intro p{max-width:none}.theme-table-characters i{width:58px;height:58px}.theme-table-character,.theme-table-character:last-child{width:94px;height:94px}.theme-family__variants{grid-template-columns:1fr}.theme-family__variants.is-expanded{max-height:310px}}@media (prefers-reduced-motion:reduce){.theme-card,.bottom-nav__icon--character{transition:none!important}}.recipe-page{min-height:100dvh;padding-bottom:calc(118px + env(safe-area-inset-bottom));color:#3d3028;background:#f5eee4}.recipe-page--center{padding:30px 20px calc(120px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.recipe-load-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.recipe-page--center h1{font-family:STSong,Songti SC,serif;font-size:24px}.recipe-page--center p{color:#907c6f;font-size:10px}.recipe-page--center>button{color:#fff8ed;background:#a94c37;border-radius:14px;min-height:43px;padding:0 18px;font-weight:750}.recipe-empty-icon{font-size:42px}.recipe-page-header{padding:calc(16px + env(safe-area-inset-top)) 18px 12px;justify-content:space-between;align-items:center;display:flex}.recipe-page-header--overlay{z-index:4;position:absolute;inset:0 0 auto}.recipe-page-header>button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#201d1857;border:1px solid #ffffff40;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.dish-detail-hero{height:min(58dvh,440px);min-height:350px;position:relative;overflow:hidden}.dish-detail-hero>.dish-image{width:100%;height:100%}.dish-detail-hero>.dish-image img{object-fit:cover}.dish-detail-hero__shade{background:linear-gradient(#1214101a,#18171214 45%,#231e18d1);position:absolute;inset:0}.dish-detail-hero__copy{z-index:2;color:#fff9ef;position:absolute;bottom:34px;left:22px;right:22px}.dish-detail-hero__copy>span{letter-spacing:.18em;font-size:9px;font-weight:750}.dish-detail-hero__copy h1{margin-top:7px;font-family:STSong,Songti SC,serif;font-size:clamp(32px,10vw,46px);line-height:1.05}.dish-detail-hero__copy p{color:#fff9efc2;margin-top:10px;font-size:10px}.dish-detail-content{gap:14px;padding:18px;display:grid}.recipe-cache-note{color:#755b42;background:#f0d8ae;border-radius:13px;padding:10px 12px;font-size:9px;line-height:1.55}.recipe-loading{gap:8px;width:100%;display:grid}.recipe-loading span{background:linear-gradient(90deg,#eadfd3,#f9f4ee,#eadfd3) 0 0/200% 100%;border-radius:9px;height:18px;animation:1.2s infinite recipe-pulse}.recipe-loading span:nth-child(2){width:78%}.recipe-loading span:nth-child(3){width:56%}@keyframes recipe-pulse{to{background-position:-200% 0}}.recipe-empty-card,.recipe-summary-card,.recipe-note-card,.recipe-ingredients-card,.recipe-steps-card,.recipe-external-card{background:#fffcf6e6;border:1px solid #50392a14;border-radius:24px;box-shadow:0 13px 28px #462d1f0f}.recipe-empty-card{text-align:center;padding:26px 20px}.recipe-empty-card>span{font-size:36px}.recipe-empty-card h2{margin-top:10px;font-family:STSong,Songti SC,serif;font-size:21px}.recipe-empty-card p{color:#937e70;max-width:280px;margin:7px auto 16px;font-size:9px;line-height:1.6}.recipe-empty-card button{color:#fff;background:#a84d38;border-radius:14px;min-height:43px;padding:0 17px;font-weight:760}.recipe-summary-card{padding:17px}.recipe-summary-card>div:first-child small,.recipe-summary-card>div:first-child strong{display:block}.recipe-summary-card>div:first-child small{color:#ae8067;letter-spacing:.12em;font-size:8px;font-weight:750}.recipe-summary-card>div:first-child strong{margin-top:4px;font-size:15px}.recipe-summary-actions{grid-template-columns:1.25fr 1fr;gap:8px;margin-top:15px;display:grid}.recipe-summary-actions button{color:#735e50;background:#efe5d8;border-radius:14px;justify-content:center;align-items:center;gap:6px;min-height:44px;font-size:9px;font-weight:760;display:flex}.recipe-summary-actions .recipe-start-button{color:#fff9ef;background:linear-gradient(145deg,#566d56,#354b3f)}.recipe-optional-note{color:#a18e82;text-align:center;margin-top:9px;font-size:8px;line-height:1.5;display:block}.recipe-note-card{padding:16px 17px}.recipe-note-card p{font-family:STSong,Songti SC,serif;font-size:15px;line-height:1.65}.recipe-note-card small{color:#a16b50;margin-top:8px;font-size:8px;display:block}.recipe-ingredients-card,.recipe-steps-card{padding:18px}.recipe-section-title{align-items:center;gap:10px;display:flex}.recipe-section-title>span{color:#fff8ed;background:#bd6048;border-radius:15px;place-items:center;width:40px;height:40px;font-family:STSong,Songti SC,serif;font-size:16px;display:grid}.recipe-section-title small{color:#b49786;font-size:8px}.recipe-section-title h2{margin-top:2px;font-family:STSong,Songti SC,serif;font-size:20px}.recipe-ingredient-list{gap:2px;margin-top:14px;display:grid}.recipe-ingredient-list>div{border-bottom:1px dashed #e6d9cd;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:43px;padding:7px 0;display:grid}.recipe-ingredient-list>div:last-child{border:0}.recipe-ingredient-list span{color:#55705a;background:#dce8da;border-radius:9px;place-items:center;width:25px;height:25px;font-size:8px;font-weight:800;display:grid}.recipe-ingredient-list span.is-seasoning{color:#a84e39;background:#f3dcd1}.recipe-ingredient-list strong{font-size:10px}.recipe-ingredient-list em{color:#9c6c52;font-size:9px;font-style:normal}.recipe-ingredient-list small{color:#a49388;grid-column:2/4;margin-top:-5px;font-size:8px}.recipe-pantry-state{grid-column:2/4;justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-top:-2px;display:flex}.recipe-pantry-state small{color:#6f846d;margin:0;font-weight:750}.recipe-pantry-state.is-missing small{color:#b15b43}.recipe-pantry-state span{color:#8d7769;background:0 0;width:auto;height:auto;padding:0;font-size:8px;font-weight:650;display:inline}.recipe-pantry-state button{color:#934b39;background:#f2ded4;border-radius:9px;min-height:28px;padding:0 9px;font-size:8px;font-weight:760}.recipe-section-block+.recipe-section-block{border-top:1px solid #eadfd5;margin-top:22px;padding-top:19px}.recipe-section-block>h2{margin-bottom:12px;font-family:STSong,Songti SC,serif;font-size:20px}.recipe-section-block>article{grid-template-columns:31px minmax(0,1fr);gap:9px;padding:10px 0;display:grid}.recipe-section-block>article>span{color:#a34e38;background:#fffaf2;border:3px solid #eadbcc;border-radius:50%;place-items:center;width:29px;height:29px;font-size:9px;font-weight:800;display:grid}.recipe-section-block article p{overflow-wrap:anywhere;font-size:11px;font-weight:680;line-height:1.65}.recipe-step-tags{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.recipe-step-tags i{color:#6b755e;background:#e3eadc;border-radius:999px;align-items:center;gap:3px;padding:4px 7px;font-size:8px;font-style:normal;display:inline-flex}.recipe-section-block article small,.recipe-section-block article em{overflow-wrap:anywhere;margin-top:7px;font-size:8px;line-height:1.55;display:block}.recipe-section-block article small{color:#a75841}.recipe-section-block article em{color:#8f7c70;font-style:normal}.recipe-external-card{color:#625348;justify-content:space-between;align-items:center;padding:15px 17px;display:flex}.recipe-external-card small,.recipe-external-card strong{display:block}.recipe-external-card small{color:#ad9586;font-size:8px}.recipe-external-card strong{margin-top:3px;font-size:10px}.recipe-editor-page{padding-bottom:calc(28px + env(safe-area-inset-bottom));background:linear-gradient(#ebdfd0,#f6efe6 220px)}.recipe-editor-header{z-index:5;min-height:calc(70px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;background:#f4ece2e6;border-bottom:1px solid #5b3e2b14;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;display:grid;position:sticky;top:0}.recipe-editor-header>button{color:#8c7769;border-radius:12px;min-height:38px;font-size:9px;font-weight:750}.recipe-editor-header>button.is-primary{color:#fff8ed;background:#a64a36}.recipe-editor-header small{color:#ad917f;font-size:7px}.recipe-editor-header h1{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-family:STSong,Songti SC,serif;font-size:17px;overflow:hidden}.recipe-editor-content{gap:13px;padding:15px;display:grid}.recipe-editor-card{background:#fffcf7e6;border:1px solid #533a2a14;border-radius:22px;padding:16px;box-shadow:0 10px 22px #412b1e0d}.recipe-editor-card input,.recipe-editor-card textarea,.recipe-editor-card select{color:#45372e;background:#fbf7f1;border:1px solid #e6d9cd;border-radius:12px;width:100%}.recipe-editor-card input,.recipe-editor-card select{min-height:40px;padding:0 10px}.recipe-editor-card textarea{resize:vertical;padding:10px;line-height:1.55}.recipe-editor-intro{gap:13px;display:grid}.recipe-editor-intro label>span{color:#806c5e;margin-bottom:6px;font-size:9px;font-weight:750;display:block}.recipe-editor-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.recipe-editor-title small{color:#aa8f7d;font-size:8px}.recipe-editor-title h2{margin-top:2px;font-family:STSong,Songti SC,serif;font-size:21px}.recipe-editor-title>button,.recipe-add-step{color:#9e4936;background:#f3ddd2;border-radius:12px;justify-content:center;align-items:center;gap:4px;min-height:37px;padding:0 10px;font-size:8px;font-weight:750;display:flex}.recipe-editor-ingredients{gap:8px;margin-top:13px;display:grid}.recipe-editor-ingredients article{background:#f4ece2;border-radius:15px;grid-template-columns:minmax(0,1.25fr) minmax(58px,.65fr) 34px;gap:6px;padding:9px;display:grid}.recipe-editor-ingredients article input:nth-child(3),.recipe-editor-ingredients article select{grid-column:1/3}.recipe-editor-ingredients article select.recipe-pantry-link{color:#6f635a;grid-column:1/4}.recipe-editor-ingredients article>button{color:#a85a45;background:#f2d9cf;border-radius:11px;grid-area:1/3;place-items:center;width:34px;height:34px;display:grid}.recipe-editor-sections{gap:18px;margin-top:15px;display:grid}.recipe-editor-sections>section+section{border-top:1px solid #e8dcd0;padding-top:17px}.recipe-editor-section-name{grid-template-columns:27px minmax(0,1fr) 34px;align-items:center;gap:6px;margin-bottom:9px;display:grid}.recipe-editor-section-name>span{color:#fff;background:#b65b43;border-radius:9px;place-items:center;width:25px;height:25px;font-size:8px;font-weight:800;display:grid}.recipe-editor-section-name>button{color:#a85a45;place-items:center;width:34px;height:34px;display:grid}.recipe-step-editor{background:#fffdf9;border:1px solid #eaded3;border-radius:17px;gap:9px;margin-top:10px;padding:12px;display:grid}.recipe-step-editor__top{justify-content:space-between;align-items:center;gap:6px;display:flex}.recipe-step-editor__top strong{font-size:9px}.recipe-step-editor__top>div{flex-wrap:wrap;justify-content:flex-end;gap:3px;display:flex}.recipe-step-editor__top button,.recipe-template-picker>button{color:#8d7567;background:#eee5dc;border-radius:8px;min-height:27px;padding:0 7px;font-size:7px}.recipe-step-quick-actions,.recipe-duration-presets{scrollbar-width:none;gap:5px;margin-right:-12px;padding-right:12px;display:flex;overflow-x:auto}.recipe-step-quick-actions button,.recipe-duration-presets button{color:#8e786a;background:#fbf6ef;border:1px solid #e5d8cc;border-radius:999px;flex:none;min-height:29px;padding:0 8px;font-size:7px}.recipe-step-quick-actions button.is-active,.recipe-duration-presets button.is-active{color:#fff8ed;background:#a64d38;border-color:#a64d38}.recipe-step-fields{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.recipe-step-fields label>span{color:#a18a7a;margin-bottom:4px;font-size:7px;display:block}.recipe-step-editor fieldset{border:0}.recipe-step-editor legend{color:#a18a7a;font-size:7px}.recipe-step-editor fieldset>div{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.recipe-step-editor fieldset button{color:#887568;background:#faf5ee;border:1px solid #e4d8cc;border-radius:999px;min-height:29px;padding:0 8px;font-size:7px}.recipe-step-editor fieldset button.is-active{color:#fff8ef;background:#a84e39;border-color:#a84e39}.recipe-template-picker{position:relative}.recipe-template-picker>div{background:#eee6dc;border-radius:13px;gap:5px;margin-top:6px;padding:6px;display:grid}.recipe-template-picker article{grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:4px;display:grid}.recipe-template-picker article>button:first-child{text-align:left;background:#fffaf4;border-radius:9px;padding:7px 8px}.recipe-template-picker strong,.recipe-template-picker small{display:block}.recipe-template-picker strong{font-size:8px}.recipe-template-picker small{color:#9c887b;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:7px;overflow:hidden}.recipe-template-picker article>button:last-child{color:#a55743;place-items:center;width:30px;height:30px;display:grid}.recipe-add-step{color:#826d5f;background:#efe8de;width:100%;margin-top:9px}.recipe-editor-save{color:#fff8ed;background:linear-gradient(145deg,#ac5039,#8e3b2c);border-radius:16px;min-height:49px;font-size:10px;font-weight:800;box-shadow:0 12px 24px #8335252e}.recipe-editor-error{gap:8px;display:grid}.recipe-editor-error>button{color:#8f3e30;background:#fff5ee;border:1px solid #a23f2e29;border-radius:13px;min-height:42px;padding:0 13px;font-size:9px;font-weight:750}.cooking-mode{min-height:100dvh;padding:calc(12px + env(safe-area-inset-top)) 16px calc(92px + env(safe-area-inset-bottom));color:#f9f2e7;background:radial-gradient(circle at 82% 12%,#b66d4133,#0000 27%),linear-gradient(160deg,#243b33,#172922 70%);overflow-x:hidden}.cooking-mode--center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:30px;display:flex}.cooking-mode--center h1{font-family:STSong,Songti SC,serif;font-size:25px}.cooking-mode--center p{color:#d8cbbb;font-size:10px;line-height:1.6}.cooking-mode--center button{color:#342b24;background:#f2d9ba;border-radius:14px;min-height:43px;padding:0 16px;font-weight:750}.cooking-mode--center button.is-quiet{color:#e3d7c8;background:#ffffff14}.cooking-steam{font-size:48px;animation:1.6s ease-in-out infinite cooking-steam}@keyframes cooking-steam{50%{opacity:.55;transform:translateY(-7px)}}.cooking-header{grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:6px;display:grid}.cooking-header>button{color:#dbcfc0;background:#ffffff12;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:40px;font-size:7px;display:flex}.cooking-header>button.is-active{color:#28392f;background:#ead4b5}.cooking-header>div{text-align:center;min-width:0}.cooking-header small,.cooking-header strong{display:block}.cooking-header small{color:#b6ad9f;font-size:7px}.cooking-header strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-family:STSong,Songti SC,serif;font-size:16px;overflow:hidden}.cooking-timer-tray{scrollbar-width:none;gap:7px;margin:11px -16px 0;padding:0 16px 5px;display:flex;overflow-x:auto}.cooking-timer-tray button{color:#3f342c;background:#efcf9f;border-radius:12px;flex:none;grid-template-columns:16px auto;align-items:center;gap:1px 5px;padding:7px 10px;display:grid}.cooking-timer-tray button span{font-size:7px}.cooking-timer-tray button strong{grid-column:2;font-size:10px}.cooking-timer-tray button.is-finished{color:#fff5e8;background:#b9533e;animation:1s ease-in-out 2 cooking-timer-finished}@keyframes cooking-timer-finished{50%{transform:scale(1.035);box-shadow:0 0 0 5px #e2785524}}.cooking-progress{background:#ffffff1a;border-radius:999px;height:4px;margin-top:13px;overflow:hidden}.cooking-progress span{border-radius:inherit;background:linear-gradient(90deg,#d48458,#f1c985);height:100%;transition:width .25s;display:block}.cooking-step-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#ffffff1c,#ffffff0d);border:1px solid #ffffff1a;border-radius:27px;margin-top:15px;padding:20px 18px;box-shadow:0 20px 45px #00000029}.cooking-step-count{color:#cfc2b2;justify-content:space-between;align-items:center;font-size:8px;display:flex}.cooking-step-count strong{color:#efc28c}.cooking-step-card h1{overflow-wrap:anywhere;margin-top:20px;font-family:STSong,Songti SC,serif;font-size:clamp(25px,8vw,36px);font-weight:650;line-height:1.45}.cooking-step-meta{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.cooking-step-meta span{color:#f5dec1;background:#e29e6621;border-radius:999px;align-items:center;gap:5px;min-height:33px;padding:0 10px;font-size:9px;display:flex}.cooking-used-ingredients{margin-top:20px}.cooking-used-ingredients>small{color:#aeb6aa;font-size:8px}.cooking-used-ingredients>div{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.cooking-used-ingredients span{color:#dce6d8;background:#97b39121;border-radius:10px;padding:6px 9px;font-size:8px}.cooking-cue,.cooking-note{border-radius:13px;margin-top:17px;padding:10px 11px;font-size:9px;line-height:1.55}.cooking-cue{color:#f0ddc2;background:#e8a4691f}.cooking-cue span{color:#e99e68;margin-right:7px;font-weight:800}.cooking-note{color:#cfdbc9;background:#90ad881f}.cooking-timer-button{color:#3b322b;text-align:left;background:#ebc995;border-radius:16px;grid-template-columns:32px minmax(0,1fr);align-items:center;width:100%;margin-top:20px;padding:11px 13px;display:grid}.cooking-timer-button>svg{grid-row:1/3}.cooking-timer-button strong,.cooking-timer-button small{display:block}.cooking-timer-button strong{font-size:10px}.cooking-timer-button small{color:#756455;margin-top:2px;font-size:7px}.cooking-timer-button.is-running{color:#f9efe1;background:#ad533d}.cooking-timer-button.is-running small{color:#f0c9bc}.cooking-timer-button.is-finished{color:#fff7eb;background:#b9533e}.cooking-timer-button.is-finished small{color:#f3cfc2}.cooking-prep-strip{margin-top:15px}.cooking-prep-strip>small{color:#aeb6aa;font-size:8px}.cooking-prep-strip>div{scrollbar-width:none;gap:6px;margin:7px -16px 0;padding:0 16px 4px;display:flex;overflow-x:auto}.cooking-prep-strip button{color:#cbd5c8;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;flex:none;min-height:33px;padding:0 10px;font-size:8px}.cooking-prep-strip button.is-checked{color:#2f4438;background:#d8e3d0}.cooking-error{color:#f3d0c5;background:#b1433033;border-radius:12px;margin-top:11px;padding:9px 10px;font-size:8px;line-height:1.5}.cooking-controls{z-index:4;max-width:560px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#162720e0;border-top:1px solid #ffffff14;grid-template-columns:1fr 1.3fr;gap:8px;margin:auto;display:grid;position:fixed;bottom:0;left:0;right:0}.cooking-controls button{color:#d8d0c3;background:#ffffff14;border-radius:15px;justify-content:center;align-items:center;gap:6px;min-height:47px;font-size:9px;font-weight:780;display:flex}.cooking-controls button.is-primary{color:#3b3129;background:#efd2ac}@media (width<=360px){.dish-detail-content,.recipe-editor-content{padding-left:12px;padding-right:12px}.recipe-step-fields{grid-template-columns:1fr 1fr}.recipe-step-fields label:last-child{grid-column:1/3}.recipe-editor-ingredients article{grid-template-columns:minmax(0,1fr) 70px 34px}.cooking-mode{padding-left:12px;padding-right:12px}.cooking-step-card{padding-left:15px;padding-right:15px}}@media (width>=700px){.recipe-page{min-height:calc(100dvh - 36px)}.cooking-mode{max-width:560px;min-height:100dvh;margin:0 auto}}@media (prefers-reduced-motion:reduce){.recipe-loading span,.cooking-steam,.cooking-timer-tray button.is-finished{animation:none!important}.cooking-progress span{transition:none!important}}.pantry-header__settings span{color:inherit;margin:0;font-size:11px}.pantry-scene button{text-align:left}.pantry-scene__cabinet b{color:#735a3c;font-size:16px;position:absolute;bottom:12px;right:15px}.pantry-room{padding:max(12px, env(safe-area-inset-top)) 12px 160px}.pantry-room .pantry-header{gap:8px;margin-bottom:6px}.pantry-room .pantry-header>div{text-align:center;flex:1}.pantry-room .pantry-header h1{letter-spacing:0;font-size:17px}.pantry-room .pantry-header>div>span{display:none}.pantry-room-back{min-height:44px;color:var(--pantry-ink);background:0 0;font-size:12px}.pantry-room .pantry-header__settings{width:38px;height:38px}.pantry-room .pantry-toolbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;margin:0 0 8px;padding:0;position:relative}.pantry-room .pantry-search{border-radius:12px;min-height:38px}.pantry-room .pantry-add{width:88%;min-height:48px;scroll-margin-bottom:calc(118px + env(safe-area-inset-bottom));justify-content:center;margin:12px auto 0;position:relative;bottom:auto;left:auto;right:auto}.pantry-cabinet-stage{aspect-ratio:2/3;border-radius:25px 25px 12px 12px;width:100%;position:relative;overflow:hidden}.pantry-cabinet-art{object-fit:fill;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pantry-cabinet-brand{z-index:2;color:#694b29;text-align:center;pointer-events:none;width:19%;font-size:clamp(10px,3vw,14px);font-weight:850;line-height:1;position:absolute;top:4.85%;left:49.9%;transform:translate(-50%,-50%)}.pantry-cabinet-stage--cabinet .pantry-cabinet-brand{width:24%;top:8.1%;left:50.1%}.pantry-compartment{z-index:3;width:64%;display:grid;position:absolute;left:16%}.pantry-compartment--refrigerated{grid-template-rows:1fr 1fr;height:38%;top:14%}.pantry-compartment--frozen{grid-template-rows:1fr 1fr;height:24%;top:63%}.pantry-compartment--pantry{grid-template-rows:repeat(3,1fr);width:70%;height:75%;top:11%;left:12%}.pantry-compartment-label{z-index:3;text-align:center;color:#534735;pointer-events:none;width:16%;font-size:clamp(11px,3vw,15px);font-weight:850;line-height:1;position:absolute;left:49.9%;transform:translate(-50%,-50%)}.pantry-compartment-label--frozen{top:59.64%}.pantry-compartment-label--refrigerated{top:12.73%}.pantry-physical-shelf{scrollbar-width:thin;scrollbar-color:#d5b883 transparent;align-items:end;gap:5px;min-width:0;padding:0 2px 5px;display:flex;overflow:auto hidden}.pantry-shelf-object,.pantry-shelf-slot{flex:0 0 calc(33.3333% - 3.33333px);min-width:0}.pantry-shelf-object{align-self:end;position:relative}.pantry-shelf-object__item{color:#493629;touch-action:pan-x;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;flex-direction:column;justify-content:end;align-items:center;width:100%;padding:0 0 2px;display:flex}.pantry-shelf-symbol{filter:drop-shadow(0 3px 2px #58402b33);background-image:url(/themes/private/pantry-food-atlas.png);background-repeat:no-repeat;background-size:400% 200%;width:clamp(26px,18vw - 32px,48px);max-width:100%;height:clamp(26px,18vw - 32px,48px);display:block}.pantry-shelf-object__item img{object-fit:contain;filter:drop-shadow(0 4px 2px #58402b44);border-radius:7px;width:100%;height:clamp(26px,18vw - 32px,48px)}.pantry-compartment--refrigerated .pantry-shelf-symbol,.pantry-compartment--pantry .pantry-shelf-symbol{width:clamp(48px,16vw,66px);height:clamp(48px,16vw,66px)}.pantry-compartment--refrigerated .pantry-shelf-object__item img,.pantry-compartment--pantry .pantry-shelf-object__item img{height:clamp(48px,16vw,66px)}.pantry-shelf-object__item strong{color:#493629;text-overflow:ellipsis;white-space:nowrap;background:#fff1d8;border:1px solid #d6c1a0;border-radius:5px;max-width:100%;padding:2px 5px;font-size:11px;font-weight:800;line-height:1.2;display:block;overflow:hidden;box-shadow:0 2px 3px #57482e22}.pantry-shelf-object__item small{color:#9b581b;background:#fff0c8;border-radius:4px;padding:2px;font-size:8px;position:absolute;top:0;left:0}.pantry-shelf-move{color:#6c502d;background:#fff3d9de;border-radius:50%;min-width:24px;min-height:24px;font-size:15px;position:absolute;top:0;right:0}.pantry-shelf-slot{color:#76634588;background:0 0;border:1px dashed #96784944;border-radius:8px;min-height:44px;padding:3px;font-size:20px}.pantry-shelf-slot.is-droppable{color:#944719;background:#ffefcd99;border:2px dashed #e87927;font-size:12px}.pantry-shelf-slot.is-target{background:#ffc879;border-style:solid}.pantry-shelf-object.is-moving{opacity:.7;border-radius:8px;outline:2px solid #f18a36}.pantry-drag-preview{z-index:9;color:#6b4727;pointer-events:none;background:#fff1d8ee;border:2px solid #f18a36;border-radius:12px;justify-items:center;padding:7px;font-size:12px;display:grid;position:absolute;transform:translate(-50%,-80%);box-shadow:0 8px 20px #70471a55}.pantry-shelf-placeholder{color:#567060;background:linear-gradient(145deg,#f9f6e8,#dbe9d8);border:1px solid #fff9;border-radius:12px;place-items:center;width:clamp(26px,18vw - 32px,48px);max-width:100%;height:clamp(26px,18vw - 32px,48px);font-size:20px;font-weight:700;display:grid;box-shadow:0 3px 5px #58402b22}.pantry-compartment--refrigerated .pantry-shelf-placeholder,.pantry-compartment--pantry .pantry-shelf-placeholder{width:clamp(48px,16vw,66px);height:clamp(48px,16vw,66px)}.pantry-drag-preview img{object-fit:contain;border-radius:7px;width:48px;height:48px}.pantry-move-instruction{z-index:7;color:#65492e;background:#fff2d8f2;border-radius:9px;justify-content:space-between;align-items:center;gap:5px;padding:6px 8px;font-size:11px;display:flex;position:absolute;bottom:1%;left:7%;right:7%}.pantry-move-instruction button{color:#65492e;background:#f7d19d;border-radius:6px;min-height:34px;padding:0 8px}.pantry-cabinet-stage .sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pantry-room-fog{z-index:4;pointer-events:none;position:absolute;inset:12% 8% 9%;overflow:hidden}.pantry-room-fog i{filter:blur(5px);background:radial-gradient(#fff,#fff0 70%);border-radius:50%;width:100%;height:25%;animation:5s ease-out both pantry-door-fog;position:absolute;top:38%;left:-20%}.pantry-room-fog i:nth-child(2){animation-delay:.3s;top:76%;left:30%}.pantry-room-fog i:nth-child(3){animation-delay:.7s;top:80%;left:-10%}@keyframes pantry-door-fog{0%{opacity:0;transform:translateY(15px)scale(.6)}20%{opacity:.85}to{opacity:0;transform:translateY(-100px)scale(1.4)}}.pantry-room-fog b{filter:blur(6px);opacity:0;background:radial-gradient(#ffffffdc,#fff0 70%);border-radius:50%;width:85%;height:18%;animation:9s ease-in-out 5s infinite pantry-idle-fog;position:absolute;top:78%;left:3%}.pantry-room-fog b:nth-of-type(2){animation-delay:9s;top:84%;left:20%}@keyframes pantry-idle-fog{0%,12%,75%,to{opacity:0;transform:translateY(12px)scale(.7)}30%{opacity:.45}65%{opacity:0;transform:translateY(-65px)scale(1.25)}}.pantry-quick-field{border:0;min-width:0;margin:14px 0 0;padding:0}.pantry-quick-field legend{color:var(--pantry-ink);margin-bottom:7px;font-size:13px;font-weight:800}.pantry-location-choice{flex-wrap:wrap;gap:6px;display:flex}.pantry-location-choice button{color:#695243;background:#faf3e8;border:1px solid #e8d9c7;border-radius:12px;min-height:42px;padding:0 12px;font-size:13px}.pantry-location-choice button.is-active{border-color:var(--pantry-accent);color:#fff;background:var(--pantry-accent)}.photo-crop-backdrop{z-index:200;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));background:#30271dd9;place-items:center;display:grid;position:fixed;inset:0}.photo-crop-sheet{color:#4b4038;background:#fffaf3;border-radius:24px;width:min(100%,430px);max-height:100%;padding:18px;overflow-y:auto}.photo-crop-sheet header{justify-content:space-between;align-items:center;display:flex}.photo-crop-sheet h2{font-size:22px}.photo-crop-sheet p{color:#88796e;margin:8px 0 12px;font-size:12px}.photo-crop-sheet button{color:#765c48;background:#f6eee3;border-radius:12px;min-height:40px;padding:0 12px}.photo-crop-source{touch-action:none;cursor:move;background:#342e28;border-radius:12px;width:100%;position:relative;overflow:hidden}.photo-crop-source img{pointer-events:none;width:100%;height:auto;display:block}.photo-crop-selection{pointer-events:none;border:2px solid #fff;position:absolute;box-shadow:0 0 0 1000px #0008}.photo-crop-scale{text-align:center;font-variant-numeric:tabular-nums}.photo-crop-result{align-items:center;gap:14px;margin-bottom:14px;display:flex}.photo-crop-result canvas{background:#f6eee3;border-radius:12px;flex-shrink:0;width:90px;height:90px}.photo-crop-result strong{font-size:13px}.photo-crop-sheet .photo-crop-confirm{color:#fff;background:#f18a36;width:100%;min-height:48px;font-weight:800}.photo-crop-sheet button:disabled{opacity:.5}.photo-crop-sheet :focus-visible{outline-offset:3px;outline:2px solid #a64a36}.pantry-optional{background:#f6eee3;border-radius:14px;margin-top:15px;padding:12px}.pantry-optional summary{color:#765c48;cursor:pointer;min-height:28px;font-size:13px;font-weight:750}.pantry-optional>label{min-width:0;color:var(--pantry-muted);gap:6px;margin-top:12px;font-size:11px;font-weight:750;display:grid}.pantry-optional>label>textarea{width:100%;min-height:86px;color:var(--pantry-ink);resize:vertical;background:#ffffffb3;border:1px solid #674f3d21;border-radius:14px;outline:none;padding:12px 13px;font-family:inherit;font-size:16px;line-height:1.5;display:block}.pantry-optional>label>textarea:focus{border-color:var(--pantry-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--pantry-accent) 13%, transparent)}.pantry-editor-dates{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px;display:grid}.pantry-editor-dates label,.pantry-editor-grid label{min-width:0}.pantry-sheet input,.pantry-sheet select,.pantry-sheet textarea{box-sizing:border-box;min-width:0;max-width:100%}.pantry-editor-dates input[type=date]{appearance:none;width:100%;min-height:44px}.pantry-editor-actions{background:var(--pantry-paper);z-index:5;padding-bottom:12px;position:sticky;bottom:-20px}@media (prefers-reduced-motion:reduce){.pantry-room-fog{display:none}}@media (width<=699px){.app-viewport,.app-shell,.page-stage,.table-page,.light-page{min-height:max(100dvh,100lvh)}}
