:root{color-scheme:light;font-family:Mali,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--primary: #a3b18a;--primary-hover: #8fa37c;--secondary: #f2a38b;--secondary-hover: #e58d73;--bg: #faf7f1;--surface: #ffffff;--surface-strong: #ffffff;--ink: #4a4a4a;--muted: #7a7068;--line: #e8e2d8;--green: #a3b18a;--green-dark: #6f8462;--blue: #dfe9f7;--red: #f2a38b;--yellow: #fff2c8;--peach: #f2a38b;--mint: #eef5e9;--butter: #fff3c9;--rose: #fde9e2;--sky: #edf4ff;--lavender: #eee6ff;--shadow: 0 14px 30px rgba(74, 74, 74, .09)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 4%,rgba(163,177,138,.2),transparent 30%),radial-gradient(circle at 92% 12%,rgba(242,163,139,.22),transparent 30%),var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.7}svg{width:18px;height:18px;stroke-width:2.2}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:1.72rem;font-weight:800;line-height:1.02}h2{margin-bottom:8px;font-size:1.32rem;font-weight:800;line-height:1.14}h3{margin-bottom:4px;font-size:1.05rem;font-weight:800;line-height:1.22}.shell{width:min(100%,560px);min-height:100vh;margin:0 auto;padding:16px 16px 102px}.draw-screen{display:grid;width:min(100%,560px);min-height:100vh;margin:0 auto;padding:18px 16px 24px;background:#b8e5ed;box-shadow:0 0 0 100vmax #b8e5ed;clip-path:inset(0 -100vmax);place-items:center}.draw-card{position:relative;display:grid;gap:18px;width:100%;padding:0;border:0;background:transparent;box-shadow:none}.draw-card h1{font-size:2.52rem;font-family:Cherry Bomb One,Mali,cursive;font-weight:400;letter-spacing:0;text-align:center}.draw-card>:not(.draw-sparkles){position:relative;z-index:1}.draw-card p:not(.eyebrow){margin:0;color:var(--muted);font-size:1.02rem;font-weight:500;line-height:1.5}.draw-button{min-height:58px;border-radius:20px;font-size:1.02rem}.draw-title{font-size:3rem;background:linear-gradient(180deg,#fff7c2 4%,#ffd979 35%,#f2a38b 70%,#d8755d);background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(96,111,76,.65)) drop-shadow(0 9px 16px rgba(78,91,63,.28));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.draw-title span{color:var(--secondary-hover)}.draw-lottie{width:248px;height:196px;justify-self:center;margin-bottom:-34px;pointer-events:none}.draw-sparkles{position:absolute;inset:0;z-index:0;pointer-events:none}.draw-sparkles span{position:absolute;width:10px;height:10px;border-radius:999px;background:var(--secondary);opacity:.7;animation:float-sparkle 2.2s ease-in-out infinite}.draw-sparkles span:nth-child(1){top:10%;left:12%;box-shadow:17px 9px #a3b18aa6}.draw-sparkles span:nth-child(2){top:16%;right:13%;background:var(--primary);animation-delay:.32s}.draw-sparkles span:nth-child(3){right:8%;bottom:30%;width:8px;height:8px;animation-delay:.58s}.draw-sparkles span:nth-child(4){bottom:26%;left:8%;background:#f2cf7f;animation-delay:.84s}.draw-sparkles.active span{animation-duration:.72s}.draw-animation{display:flex;justify-content:center;gap:10px;height:22px}.draw-animation span{width:10px;height:10px;border-radius:999px;background:var(--green)}.jackpot{position:relative;width:min(100%,382px);margin:0 auto 4px;padding:18px 20px 22px}.jackpot-lights{position:relative;z-index:2;display:flex;justify-content:center;gap:13px;width:72%;height:34px;margin:0 auto -5px;padding-top:9px;border:3px solid #6f8462;border-bottom:0;border-radius:17px 17px 7px 7px;background:var(--primary-hover);box-shadow:inset 0 4px #ffffff29}.jackpot-lights span{width:9px;height:9px;border-radius:50%;background:#fff3b0;box-shadow:0 0 10px #ffd76ff2}.jackpot.spinning .jackpot-lights span:nth-child(odd){animation:blink-light .45s infinite alternate}.jackpot-body{position:relative;z-index:2;padding:14px;border:6px solid #6f8462;border-radius:28px;background:linear-gradient(180deg,var(--primary),var(--primary-hover));box-shadow:inset 0 5px #ffffff2e,0 18px 28px #5141242e}.jackpot-window{display:grid;grid-template-columns:repeat(2,1fr);height:244px;min-height:244px;overflow:hidden;border:4px solid #667258;border-radius:20px;background:#fffaf0}.jackpot-reel{position:relative;height:244px;min-height:244px;min-width:0;overflow:hidden;padding:0;text-align:center}.jackpot-reel+.jackpot-reel{border-left:2px solid #eed7aa}.reel-item{display:grid;grid-template-rows:146px 58px;min-height:244px;padding:22px 10px 16px;place-items:center}.reel-item img{width:132px;height:132px;object-fit:contain;filter:drop-shadow(0 8px 9px rgba(85,57,26,.12))}.reel-item span{color:var(--ink);font-size:1.02rem;font-weight:800;line-height:1.1}.reel-result{min-height:244px}.reel-strip{will-change:transform}.jackpot.spinning .reel-item img{animation:reel-pop .34s linear infinite}.jackpot.spinning .reel-item span{animation:reel-text-flash .34s linear infinite}.jackpot-reel:before,.jackpot-reel:after{content:"";position:absolute;right:0;left:0;z-index:2;height:22px;pointer-events:none}.jackpot-reel:before{top:0;background:linear-gradient(180deg,rgba(255,250,240,.95),transparent)}.jackpot-reel:after{bottom:0;background:linear-gradient(0deg,rgba(255,250,240,.95),transparent)}.reel-strip{overflow:hidden}.jackpot-lever{position:absolute;top:86px;right:-28px;z-index:3;width:72px;height:166px;padding:0;border:0;background:transparent}.jackpot-lever:before{content:"";position:absolute;right:18px;bottom:8px;width:28px;height:118px;border:5px solid #6f8462;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.42),transparent 34%),#e7eddc;box-shadow:inset -5px 0 #5f6f4c2e,0 8px 12px #4244311f}.lever-arm{position:absolute;top:0;right:25px;width:14px;height:100px;border-radius:999px;background:linear-gradient(90deg,#f8f2dc 0 28%,#9dae83 29% 72%,#667258 73% 100%);box-shadow:inset -2px 0 #2b32222e,0 8px 10px #4244311f;transform-origin:50% 100%}.lever-arm:after{content:"";position:absolute;right:-8px;bottom:-13px;width:30px;height:30px;border:4px solid #667258;border-radius:50%;background:#8fa37c;box-shadow:inset 0 4px #ffffff38}.lever-knob{position:absolute;top:-28px;left:50%;width:46px;height:46px;border:5px solid var(--secondary-hover);border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.7),transparent 20%),linear-gradient(180deg,#ffb39d,#e88970);transform:translate(-50%);box-shadow:inset -5px -6px #a4493633,0 8px 12px #5c3f2d38}.jackpot-lever:disabled{opacity:1}.jackpot-lever:focus-visible{outline:3px solid rgba(242,163,139,.36);outline-offset:5px}.jackpot-lever:active .lever-arm{transform:translateY(42px) rotate(-14deg)}.jackpot.spinning .lever-knob{box-shadow:inset -5px -6px #a4493633,0 14px 16px #5c3f2d47}@keyframes blink-light{0%{opacity:.42}to{opacity:1}}@keyframes float-sparkle{0%,to{transform:translateY(0) scale(.9);opacity:.45}50%{transform:translateY(-12px) scale(1.15);opacity:1}}@keyframes reel-pop{0%,to{transform:scale(.96)}50%{transform:scale(1.05)}}@keyframes reel-text-flash{0%,to{opacity:.72}50%{opacity:1}}.lottie-player{width:230px;height:184px}.lottie-player.compact{width:92px;height:78px}.topbar,.section-heading,.day-top,.food-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.topbar{align-items:center;justify-content:center;margin-bottom:16px}.brand-logo{font-family:Cherry Bomb One,Mali,cursive;font-size:2.3rem;font-weight:400;color:var(--green-dark);letter-spacing:.01em}.brand-logo span{color:var(--secondary-hover)}.eyebrow{margin:0 0 4px;color:var(--red);font-size:.73rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.week-view{display:grid;gap:8px}.section-heading p,.muted,details p,.history-card p{margin-bottom:0;color:var(--muted);font-size:.9rem;line-height:1.45}.icon-button,.mini-button,.primary-button,.ghost-button,.danger-button,.segment{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0}.icon-button,.mini-button{width:42px;height:42px;flex:0 0 auto;border:1px solid var(--line);border-radius:18px;background:#fffdf8;color:var(--ink);box-shadow:0 8px 18px #78462614}.mini-button{width:36px;height:36px;border-radius:14px;box-shadow:none}.primary-button{min-height:48px;width:100%;padding:0 18px;border-radius:18px;background:var(--secondary);color:#fff;font-weight:800;box-shadow:0 12px 22px #f2a38b33}.primary-button:hover{background:var(--secondary-hover)}.ghost-button,.danger-button{min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface-strong);color:var(--ink);font-size:.86rem;font-weight:700}.ghost-button.full{width:100%}.danger-button{width:fit-content;color:var(--red)}.stack,.week-view,.week-grid,.food-list,.shopping-list,.history-list{display:grid;gap:10px}.day-card,.food-card,.form-card,.history-card,.empty-state,.shopping-row{border:2px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 10px 24px #78462614}.day-card,.food-card,.form-card,.history-card,.empty-state{padding:13px}.day-card{position:relative;overflow:hidden;padding:11px 12px 12px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.day-card .day-top{min-height:50px}.day-card:before{content:"";position:absolute;inset:auto -34px -42px auto;width:112px;height:112px;border-radius:50%;background:#f2a38b24}.day-card>*{position:relative;z-index:1}.day-card:active{transform:scale(.985)}.day-card:focus-visible{border-color:#f2a38be6;outline:3px solid rgba(242,163,139,.24);outline-offset:2px}.empty-state{display:grid;gap:10px;color:var(--muted);line-height:1.45}.empty-state svg{width:28px;height:28px;color:var(--green)}.day-name{display:inline-flex;margin-bottom:6px;color:var(--red);font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.day-sticker{position:absolute;right:18px;top:5px;z-index:2;width:78px;height:78px;object-fit:contain;opacity:.96;pointer-events:none;transform:rotate(5deg);filter:drop-shadow(0 6px 10px rgba(120,70,38,.12))}.bottom-nav{position:fixed;right:14px;bottom:14px;left:14px;z-index:15;display:grid;grid-template-columns:1fr 1fr 58px 1fr 1fr;align-items:center;gap:4px;width:min(calc(100% - 28px),532px);margin:0 auto;padding:8px;border:1px solid rgba(240,216,197,.92);border-radius:24px;background:#fffffff0;box-shadow:0 14px 30px #4a4a4a1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav button{display:grid;gap:2px;min-height:46px;border:0;border-radius:16px;background:transparent;color:var(--muted);place-items:center}.bottom-nav button.active{color:var(--green-dark)}.bottom-nav button svg{width:19px;height:19px}.bottom-nav button span{font-size:.66rem;font-weight:700}.bottom-nav .draw-nav-button{position:relative;top:-18px;min-height:56px;border:4px solid var(--bg);border-radius:50%;background:linear-gradient(180deg,var(--primary),var(--primary-hover));color:#fff;box-shadow:0 10px 20px #8fa37c3d}.bottom-nav .draw-nav-button svg{width:24px;height:24px}.daily-foods{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:8px;margin-top:7px}.meal-cell{display:grid;gap:4px;min-height:auto;padding:9px 10px;border:1px solid rgba(52,37,31,.05);border-radius:17px;align-content:start}.daily-foods strong{color:var(--muted);font-size:.64rem;font-weight:800;text-transform:uppercase}.daily-foods span{color:var(--ink);font-size:.9rem;font-weight:700;line-height:1.3}.daily-foods small{color:var(--muted);font-size:.8rem;font-weight:700;line-height:1.25}.main-cell{background:#fff3cc}.side-cell{background:var(--mint)}.section-heading{align-items:center}.section-heading h2,.section-heading h3{margin-bottom:3px}.section-heading.compact{margin:0}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#efe7d9}.segment{min-height:38px;border-radius:6px;background:transparent;color:var(--muted);font-weight:850}.segment.active{background:var(--surface-strong);color:var(--ink);box-shadow:0 6px 16px #32261714}.food-form{display:grid;gap:10px;margin-top:12px}.food-form label{display:grid;gap:6px}.food-form label>span{color:var(--muted);font-size:.82rem;font-weight:850}.form-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.food-form input,.food-form select,.food-form textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--ink);padding:9px 10px;outline:none}.food-form textarea{resize:vertical}.food-form input:focus,.food-form select:focus,.food-form textarea:focus{border-color:#8abba8;box-shadow:0 0 0 3px #276f551f}.checks{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.checks label{display:flex;align-items:center;min-height:42px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--muted);font-size:.82rem;font-weight:800}.food-card{display:grid;gap:9px}.food-card.disabled{opacity:.55}.switch{position:relative;width:46px;height:26px;flex:0 0 auto}.switch input{position:absolute;opacity:0}.switch span{position:absolute;inset:0;border-radius:999px;background:#d8d0c4;transition:.16s ease}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #25211c2e;transition:.16s ease}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translate(20px)}.shopping-row{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:10px 12px;color:var(--muted);font-weight:750}.shopping-row strong{color:var(--green)}.menu-sheet{position:fixed;inset:0;z-index:20}.menu-backdrop{position:absolute;inset:0;width:100%;border:0;background:#25211c5c}.menu-panel{position:absolute;right:0;bottom:0;left:0;display:grid;gap:12px;width:min(100%,560px);margin:0 auto;padding:16px;border-radius:16px 16px 0 0;background:var(--surface);box-shadow:0 -22px 60px #25211c38}.menu-links{display:grid;gap:8px}.menu-links button{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:46px;width:100%;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--ink);font-weight:850}.menu-links button.active{border-color:#b7d6c9;background:#e8f3ee;color:var(--green-dark)}.toast{position:fixed;right:16px;bottom:16px;left:16px;z-index:30;display:none;width:min(calc(100% - 32px),520px);margin:0 auto;padding:12px 14px;border-radius:8px;background:#25211c;color:#fff;font-weight:800;box-shadow:var(--shadow)}.toast.show{display:block}@media(min-width:620px){.shell{padding-top:24px}.primary-button{width:fit-content}}
