:root{--cream:#fbf4e8;--paper:#fffaf1;--ink:#3f3027;--red:#d9583c;--orange:#efa14b;--green:#768e66;--line:#e6d7c4}*{box-sizing:border-box}html{background:var(--cream)}body{color:var(--ink);background:var(--cream);background-image:radial-gradient(#dfcdb7 1px,#0000 1px);background-size:24px 24px;margin:0;font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}main{min-height:100vh;padding-bottom:96px}.centerState,.loginPage{text-align:center;place-items:center;min-height:100dvh;display:grid}.brandMark,.brand span{background:var(--red);color:#fff;border-radius:50% 48% 46% 50%;place-items:center;width:48px;height:48px;margin:auto;font-family:serif;font-size:24px;font-weight:700;display:grid;transform:rotate(-7deg)}.centerState p{color:#8a7160}.loginCard{background:var(--paper);border:1px solid var(--line);border-radius:30px;width:min(430px,100% - 32px);padding:40px;box-shadow:0 24px 70px #5e41272b}.eyebrow{color:var(--red);letter-spacing:2px;text-transform:uppercase;font-size:12px;font-weight:800}.loginCard .eyebrow{margin-top:22px}.loginCard h1{margin:8px 0;font-family:Georgia,Songti SC,serif;font-size:48px}.loginCard>p{color:#826b5a}.loginCard form{text-align:left;margin-top:28px}.loginCard fieldset{border:0;margin:0 0 18px;padding:0}.loginCard legend,.loginCard label,.editor label{font-size:14px;font-weight:700}.personChoice{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.personChoice button{border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px;font-weight:800}.personChoice .active{background:var(--ink);color:#fff}.loginCard input,.editor input,.editor select,.editor textarea{border:1px solid var(--line);background:#fff;border-radius:12px;outline:none;width:100%;margin-top:7px;padding:13px}.loginCard input:focus,.editor input:focus,.editor textarea:focus,.editor select:focus{border-color:var(--red);box-shadow:0 0 0 3px #d9583c18}.primary,.save,.addTop{background:var(--red);color:#fff;border:0;border-radius:999px;padding:12px 20px;font-weight:750;box-shadow:0 4px #a43d28}.wide,.save{width:100%;margin-top:12px}.error{background:#fbe4dc;border-radius:9px;padding:10px;font-size:13px;color:#a93224!important}header{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf4e8eb;align-items:center;gap:16px;height:82px;padding:0 max(4vw,22px);display:flex;position:sticky;top:0}.brand{background:0 0;border:0;align-items:center;gap:10px;font-size:20px;display:flex}.brand span{width:40px;height:40px;margin:0;font-size:19px}.date{color:#8d7461;margin-left:auto;font-family:serif;font-style:italic}.deskNav{gap:2px;display:flex}.deskNav button{color:#765f4e;background:0 0;border:0;border-radius:999px;padding:9px}.deskNav button:hover{color:var(--red);background:#efe2d2}.authorBadge,.creator{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:31px;height:31px;font-weight:800;display:grid}.notice{background:#f3e3c9;border-radius:12px;max-width:1100px;margin:16px auto;padding:12px 16px}.homeWrap{grid-template-columns:1fr 1.08fr;align-items:start;gap:30px;max-width:1180px;margin:auto;padding:54px 24px;display:grid}.intro{padding:24px 14px}.intro h1,.libraryHead h1{margin:18px 0;font-family:Georgia,Songti SC,serif;font-size:clamp(46px,5.7vw,74px);line-height:1.12}.intro h1 em{color:var(--red);font-style:normal}.intro>p{color:#826b5a;font-size:17px;line-height:1.7}.scopeSwitch{background:#eadfce;border-radius:15px;margin-top:16px;padding:5px;display:inline-flex}.scopeSwitch button{color:#806856;background:0 0;border:0;border-radius:11px;padding:10px 15px;font-weight:700}.scopeSwitch .on{background:var(--paper);color:var(--red);box-shadow:0 3px 9px #65482720}.filterRow{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.filterRow button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 14px}.filterRow .active{background:var(--ink);border-color:var(--ink);color:#fff}.coupleStats{color:#8a715d;gap:16px;margin-top:24px;font-size:13px;display:flex}.coupleStats b{color:var(--red);font-size:18px}.pickCard{background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:17px;transition:all .2s;position:relative;transform:rotate(.6deg);box-shadow:0 22px 50px #5d402a20}.pickCard.rolling{transform:rotate(-1.5deg)scale(.985)}.tape{z-index:2;background:#efcf91c9;padding:7px 32px;font-family:serif;position:absolute;top:-15px;left:50%;transform:translate(-50%)rotate(-2deg)}.heart{z-index:2;width:44px;height:44px;color:var(--red);background:#fff9;border:0;border-radius:50%;font-size:25px;position:absolute;top:29px;right:29px}.foodPic,.dishPic,.detailHero{background-image:radial-gradient(circle at 25% 20%,#ffffff35,#0000 34%),linear-gradient(145deg,#0000,#00000018);border-radius:22px;place-items:center;display:grid;position:relative;overflow:hidden}.foodPic{background:var(--dish);height:300px}.foodPic>span{filter:drop-shadow(0 18px 10px #51291855);font-size:140px}.foodPic i,.detailHero i{color:#fff;border:2px solid #fff9;border-radius:999px;padding:8px 11px;font-size:12px;font-style:normal;position:absolute;bottom:16px;right:18px}.pickInfo{padding:22px 16px 12px}.tags{flex-wrap:wrap;gap:7px;display:flex}.tags span{color:#765d49;background:#f1e5d5;border-radius:999px;padding:5px 9px;font-size:12px}.pickInfo h2,.detailBody h2{margin:12px 0 6px;font-family:Georgia,Songti SC,serif;font-size:36px}.pickInfo p{color:#7a6454;margin:0}.miniPlace,.placeBox{color:#775f4d;background:#f1e4d2;border-radius:11px;margin-top:13px;padding:10px 13px}.actions{gap:10px;margin-top:20px;display:flex}.secondary,.deleteBtn{background:0 0;border:0;padding:12px;font-weight:700}.noteCard{background:#f4d98b;grid-column:1;width:min(280px,100%);margin:-8px 0 0 15px;padding:21px;transform:rotate(-2deg);box-shadow:5px 7px 16px #69533c20}.noteCard p{font-family:serif;line-height:1.55}.noteCard span{color:#826944;font-size:12px}.library{max-width:1120px;margin:auto;padding:48px 24px}.libraryHead{justify-content:space-between;align-items:flex-end;display:flex}.libraryHead h1{margin:9px 0;font-size:52px}.libraryHead p{color:#866e5d}.libraryHead input{border:1px solid var(--line);background:var(--paper);border-radius:999px;width:290px;padding:13px 18px}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px;display:grid}.stats div{border:1px solid var(--line);background:#f7ead7;border-radius:15px;align-items:baseline;gap:8px;padding:15px 17px;display:flex}.stats b{color:var(--red);font-family:serif;font-size:27px}.stats span{color:#856e5d;font-size:12px}.dishGrid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;display:grid}.dishCard{background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:21px;padding:10px;transition:all .2s;box-shadow:0 9px 24px #684d381b}.dishCard:hover{transform:translateY(-4px)}.dishPic{height:175px}.dishPic>span{filter:drop-shadow(0 10px 8px #39201255);font-size:86px}.dishPic button{width:38px;height:38px;color:var(--red);background:#fff9;border:0;border-radius:50%;font-size:20px;position:absolute;top:11px;right:11px}.dishPic .creator{font-size:12px;font-style:normal;position:absolute;top:11px;left:11px}.rating{color:#d88228;background:#fffbe8dc;border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal;position:absolute;bottom:10px;left:11px}.dishText{padding:14px 9px}.dishText h3{margin:9px 0 4px;font-family:serif;font-size:24px}.dishText p{color:#7d6959;white-space:nowrap;text-overflow:ellipsis;margin:0 0 12px;overflow:hidden}.dishText small{color:#9c806b}.empty{text-align:center;color:#866e5d;padding:70px 20px}.empty b{color:var(--ink);font-family:serif;font-size:25px;display:block}.empty p{margin-bottom:22px}.modal{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#392b23aa;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow:auto}.detail,.editor{background:var(--paper);border-radius:27px;width:min(620px,100%);max-height:92dvh;position:relative;overflow:auto;box-shadow:0 30px 80px #20150e66}.close{z-index:3;background:#fff;border:0;border-radius:50%;width:42px;height:42px;font-size:24px;position:absolute;top:16px;right:17px}.detailHero{border-radius:27px 27px 0 0;height:255px}.detailHero>span{filter:drop-shadow(0 16px 9px #39201255);font-size:125px}.detailBody{padding:29px 36px 36px}.detailBody .note{color:#856d5b;font-family:serif;font-size:17px}.placeBox{border-left:4px solid var(--orange);gap:5px;display:grid}.placeBox span{font-size:13px}.detailBody h3{margin-top:26px;font-family:serif}.detailBody ul,.detailBody ol{padding:0;list-style:none}.detailBody li{border-bottom:1px dashed var(--line);gap:11px;padding:10px 0;display:flex}.detailBody ol b{background:var(--orange);color:#fff;border-radius:50%;place-items:center;min-width:27px;height:27px;display:grid}.manageBtns{gap:9px;margin-top:22px;display:flex}.editBtn{border:1px solid var(--red);color:var(--red);background:0 0;border-radius:999px;flex:1;padding:12px;font-weight:700}.deleteBtn{color:#9f7561}.editor{padding:32px}.editorHead{display:flex}.editorHead small{color:var(--red)}.editorHead h2{margin:5px 0 22px;font-family:serif;font-size:30px}.editor label{margin-bottom:15px;display:block}.editor textarea{resize:vertical;height:78px}.formRow,.nameRow{grid-template-columns:1fr 1fr;gap:13px;display:grid}.nameRow{grid-template-columns:100px 1fr}.emojiInput{text-align:center;font-size:24px}.settings{gap:16px;margin-top:28px;display:grid}.settings section{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px}.settings h2{margin-top:0;font-family:serif}.settings p{color:#765f4e;line-height:1.7}.upload{background:var(--ink);color:#fff;cursor:pointer;border-radius:999px;padding:11px 18px;font-weight:700;display:inline-block}.upload input{display:none}code{background:#eee2d2;border-radius:4px;padding:2px 5px}nav{display:none}@media (max-width:800px){main{padding-bottom:90px}header{height:66px;padding:0 16px}.date,.deskNav{display:none}.brand{font-size:18px}.authorBadge{margin-left:auto}.addTop{box-shadow:none;padding:10px 12px;font-size:0}.addTop:first-letter{font-size:23px}.homeWrap{padding:26px 17px;display:block}.intro{padding:10px 4px 27px}.intro h1{font-size:46px}.intro>p{font-size:15px}.scopeSwitch{display:flex}.scopeSwitch button{flex:1;padding:9px 11px}.coupleStats{flex-wrap:wrap}.pickCard{transform:none}.foodPic{height:225px}.foodPic>span{font-size:110px}.noteCard{display:none}.library{padding:29px 15px}.libraryHead{display:block}.libraryHead h1{font-size:40px}.libraryHead input{width:100%;margin-top:10px}.stats{grid-template-columns:1fr 1fr}.stats div{padding:11px}.dishGrid{grid-template-columns:1fr 1fr;gap:11px}.dishPic{height:128px}.dishPic>span{font-size:62px}.dishText h3{font-size:18px}.dishText p{display:none}.dishText small{font-size:11px}.detailBody{padding:24px}.editor{padding:23px}.formRow{grid-template-columns:1fr 1fr}nav{height:76px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);z-index:30;background:#fffaf4;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}nav button{color:#967b67;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:54px;font-size:11px;display:flex}nav button>span{font-size:20px}nav .on{color:var(--red);font-weight:800}.navAdd{transform:translateY(-14px)}.navAdd>span{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:47px;height:47px;display:grid;box-shadow:0 5px #a43d28}.loginCard{padding:31px 24px}}@media (max-width:390px){.dishGrid{grid-template-columns:1fr}.dishPic{height:170px}.formRow{grid-template-columns:1fr}.scopeSwitch button{font-size:13px}.actions{justify-content:space-between}}
