:root{color-scheme:dark;--food-night: #17110e;--food-surface: #2a211c;--food-cream: #f0d6ad;--food-ink: #fff8ee;--food-muted: #aa9b90;--food-line: rgba(255, 244, 230, .09);font-family:SF Pro Display,PingFang SC,Noto Sans SC,system-ui,sans-serif;color:var(--food-ink);background:var(--food-night)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px;background:#0d0a08}button,input{font:inherit}button{color:inherit}.app-page{min-height:100dvh;max-width:480px;margin:0 auto;position:relative;overflow:hidden;background:radial-gradient(circle at 92% 3%,rgba(180,120,74,.12),transparent 28%),radial-gradient(circle at 3% 80%,rgba(102,71,51,.11),transparent 28%),var(--food-night)}.app-page:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:radial-gradient(rgba(255,255,255,.22) .4px,transparent .4px);background-size:5px 5px}.page-scroll{min-height:100dvh;padding:max(42px,env(safe-area-inset-top)) 22px 120px;overflow-y:auto}.with-nav .page-scroll{padding-bottom:132px}h1,h2,p{margin:0}h1{font-family:Songti SC,"Noto Serif SC",serif}button{border:0;cursor:pointer}.eyebrow{color:#f0d6adb8;font-size:11px;letter-spacing:4px}.hero-copy h1{margin-top:10px;font-size:36px;letter-spacing:1px}.hero-copy p,.page-title p{margin-top:6px;color:var(--food-muted);font-size:14px}.primary-button,.secondary-button{min-height:54px;border-radius:17px;font-weight:700}.primary-button{background:linear-gradient(135deg,#f3d9ad,#e8bf83);color:#261a14}.primary-button:disabled{opacity:.55}.secondary-button{border:1px solid var(--food-line);background:#2a211c;color:#d8c9bd}.round-button,.month-controls button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,244,230,.1);background:#2f251fb8;font-size:25px}.food-sticker{width:100%;height:100%;object-fit:contain;overflow:visible}.food-sticker-image{filter:drop-shadow(0 0 2px #fff)}.taste-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.form-error{color:#eab0a0;font-size:13px;line-height:1.5}.empty-card{padding:28px 22px;border:1px dashed rgba(255,244,230,.13);border-radius:22px;color:var(--food-muted);text-align:center}.unlock-page{display:flex;min-height:100dvh;flex-direction:column;padding:max(82px,env(safe-area-inset-top)) 28px max(28px,env(safe-area-inset-bottom))}.unlock-copy h1{margin-top:14px;font-family:Songti SC,serif;font-size:44px}.unlock-copy p{margin-top:6px;color:var(--food-muted)}.unlock-art{flex:1;min-height:240px;display:grid;place-items:center}.unlock-art img{width:min(88%,340px);max-height:330px;object-fit:contain;mix-blend-mode:screen}.unlock-form{display:grid;gap:12px}.unlock-form label{color:var(--food-muted);font-size:13px}.password-field{height:58px;display:flex;align-items:center;gap:12px;padding:0 18px;border:1px solid rgba(255,244,230,.1);border-radius:18px;background:#2b221e}.password-field span{color:var(--food-muted)}.password-field input{min-width:0;flex:1;border:0;outline:0;color:var(--food-ink);background:transparent}.password-field input::placeholder{color:#aa9b9085}.unlock-form small{color:#aa9b9085;text-align:center}.calendar-shell{margin-top:22px;padding:20px 16px 18px;border:1px solid rgba(255,244,230,.09);border-radius:27px;background:linear-gradient(145deg,#30251f,#281f1b)}.month-row{display:flex;align-items:center;justify-content:space-between}.month-row>div:first-child{display:flex;align-items:baseline;gap:12px}.month-row strong{font-family:Songti SC,serif;font-size:27px}.month-row span{color:var(--food-muted);font-size:13px}.month-controls{display:flex;gap:6px}.month-controls button{width:36px;height:36px;color:var(--food-muted)}.week-row,.dates-grid{display:grid;grid-template-columns:repeat(7,1fr)}.week-row{margin-top:18px;color:#8f8178;font-size:11px;text-align:center}.dates-grid{margin-top:5px}.date-cell{height:49px;position:relative;padding:0;border-radius:14px;background:transparent;color:#aa9b90}.date-cell.today{border:1px solid rgba(240,214,173,.35);background:#f0d6ad0f;color:var(--food-cream)}.date-number{position:absolute;top:4px;left:7px;font-size:10px;font-weight:600}.date-stickers{position:absolute;inset:13px 3px 0}.date-stickers .food-sticker{position:absolute;width:34px;height:34px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-6deg)}.date-stickers .food-sticker:nth-child(2){transform:translate(-37%,-45%) rotate(7deg)}.add-record-button{width:100%;margin-top:14px}.add-record-button span{margin-right:8px;font-size:23px;font-weight:400}.section-head,.day-intro,.wall-head{display:flex;align-items:end;justify-content:space-between;margin:23px 4px 12px}.section-head h2,.wall-head h2{font-family:Songti SC,serif;font-size:23px}.section-head span,.day-intro span,.wall-head span{color:var(--food-muted);font-size:12px}.record-list{display:grid;gap:12px}.record-card{width:100%;min-height:116px;display:grid;grid-template-columns:112px 1fr 20px;align-items:center;padding:12px 16px 12px 10px;border:1px solid rgba(255,244,230,.09);border-radius:23px;background:linear-gradient(140deg,#352a24,#2c221e);text-align:left}.record-card.compact{min-height:94px;grid-template-columns:92px 1fr 20px}.record-card>.food-sticker{width:86px;height:86px;justify-self:center}.record-card.compact>.food-sticker{width:72px;height:72px}.record-copy{min-width:0;display:flex;flex-direction:column;gap:7px}.record-copy strong{color:var(--food-cream);font-size:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-copy small{color:#d9bc91ad;font-size:12px}.record-card>b{color:#f0d6ad6b;font-size:23px}.center-head,.simple-head{display:grid;grid-template-columns:46px 1fr 46px;align-items:center}.center-head>div,.simple-head h2{text-align:center}.center-head h2,.simple-head h2{font-size:17px}.center-head p{margin-top:5px;color:var(--food-muted);font-size:12px}.day-intro{margin-top:26px}.day-intro h1{font-size:31px}.app-nav{position:fixed;z-index:5;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:min(calc(100% - 36px),444px);transform:translate(-50%);height:76px;display:grid;grid-template-columns:1fr 94px 1fr;align-items:center;padding:0 14px;border:1px solid rgba(255,244,230,.1);border-radius:25px;background:#241c18f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-nav button{height:60px;display:grid;place-items:center;gap:2px;background:transparent;color:#8f8178;font-size:11px}.app-nav button.active{color:var(--food-cream)}.app-nav .nav-icon{font-size:20px}.app-nav .nav-add{width:64px;height:64px;justify-self:center;border-radius:21px;background:var(--food-cream);color:#291c16;font-size:32px;transform:translateY(-14px)}.page-title{margin-top:26px}.page-title h1{font-size:32px}.photo-guide,.crop-stage{height:330px;position:relative;display:grid;place-items:center;margin-top:22px;overflow:hidden;border:1px solid var(--food-line);border-radius:28px;background:linear-gradient(145deg,#30251f,#241c18)}.photo-guide>.food-sticker{width:180px;height:180px}.focus-frame{position:absolute;inset:54px 50px;border:1px solid rgba(240,214,173,.55);border-radius:28px}.photo-guide small{position:absolute;bottom:20px;color:#d9bc91a6}.photo-tips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.photo-tips div{min-height:72px;display:grid;place-content:center;gap:4px;border:1px solid var(--food-line);border-radius:17px;text-align:center}.photo-tips strong{color:#d9bc91c2;font-size:13px}.photo-tips span{color:#d9bc916b;font-size:10px}.two-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-top:18px}.crop-stage img{width:100%;height:100%;object-fit:cover}.crop-stage>.food-sticker{width:190px;height:190px}.crop-window{position:absolute;inset:42px;border:2px solid var(--food-cream);border-radius:22px;box-shadow:0 0 0 80px #0a080773}.crop-window i{position:absolute;width:14px;height:14px;border-color:#fff}.crop-window i:nth-child(1){left:-2px;top:-2px;border-left:3px solid;border-top:3px solid}.crop-window i:nth-child(2){right:-2px;top:-2px;border-right:3px solid;border-top:3px solid}.crop-window i:nth-child(3){left:-2px;bottom:-2px;border-left:3px solid;border-bottom:3px solid}.crop-window i:nth-child(4){right:-2px;bottom:-2px;border-right:3px solid;border-bottom:3px solid}.crop-note{margin-top:12px;color:#aa9b90a3;font-size:11px;text-align:center}.form-scroll{padding-bottom:128px}.sticker-stage{height:220px;position:relative;display:grid;place-items:center;margin-top:18px;border:1px solid var(--food-line);border-radius:27px;background:linear-gradient(145deg,#30251f,#241c18)}.sticker-stage>.food-sticker,.sticker-stage>img{width:150px;height:150px;object-fit:contain}.sticker-stage>img{border-radius:24px}.sticker-stage>span{position:absolute;left:15px;bottom:13px;color:#b9d4add1;font-size:11px}.sticker-stage>span i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#b9d4ad}.sticker-stage>button{position:absolute;right:14px;bottom:10px;padding:8px 11px;border:1px solid var(--food-line);border-radius:14px;background:#241c18;color:#c8bab0;font-size:11px}.form-section{display:grid;gap:8px;margin-top:18px}.form-section>span{color:var(--food-muted);font-size:12px}.form-section em{float:right;color:#aa9b908c;font-style:normal}.form-section>input{width:100%;height:56px;padding:0 16px;border:1px solid var(--food-line);border-radius:18px;outline:none;color:var(--food-ink);background:#2c221e}.segment{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.segment button,.taste-row button{min-height:50px;border:1px solid var(--food-line);border-radius:17px;background:#2c221e;color:#9f9187}.segment button.selected,.taste-row button.selected{border-color:#f0d6ad66;color:var(--food-cream);background:#3b3028}.taste-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.taste-row button{display:flex;align-items:center;justify-content:center;gap:6px}.save-dock{position:fixed;z-index:5;left:50%;bottom:0;width:min(100%,480px);transform:translate(-50%);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;padding:12px 22px max(12px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#17110e 18%)}.delete-button{min-height:54px;border:1px solid rgba(211,135,116,.25);border-radius:17px;color:#dba28f;background:#2a211c}.review-head{display:flex;align-items:flex-start;justify-content:space-between}.review-head .hero-copy h1{font-size:32px}.review-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.review-stats>div{min-height:130px;display:flex;flex-direction:column;padding:17px;border:1px solid var(--food-line);border-radius:23px;background:linear-gradient(145deg,#332820,#291f1b)}.review-stats span{color:var(--food-muted);font-size:11px}.review-stats strong{margin-top:13px;color:var(--food-cream);font-family:Songti SC,serif;font-size:32px}.review-stats strong em{margin-left:4px;font: 12px system-ui}.review-stats strong.favorite{font-size:21px}.review-stats small{margin-top:auto;color:#aa9b908c;font-size:10px}.sticker-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sticker-wall>span{aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(255,244,230,.07);border-radius:19px;background:#3026209e}.sticker-wall .food-sticker{width:76%;height:76%}.sticker-wall>span:nth-child(3n+2) .food-sticker{transform:rotate(5deg)}.sticker-wall>span:nth-child(4n) .food-sticker{transform:rotate(-4deg)}@media(min-width:700px){body{padding:24px 0;background:#eee9e4}.app-page{min-height:calc(100dvh - 48px);border-radius:38px;box-shadow:0 24px 70px #2c190f40}.app-nav,.save-dock{bottom:30px}}
