@import"https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=Crimson+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600&display=swap";:root{--background: oklch(.975 .018 95);--foreground: oklch(.26 .012 90);--card: oklch(.985 .012 95);--card-foreground: oklch(.26 .012 90);--popover: oklch(.985 .012 95);--popover-foreground: oklch(.26 .012 90);--primary: oklch(.5 .072 130);--primary-foreground: oklch(.98 .012 95);--secondary: oklch(.73 .115 80);--secondary-foreground: oklch(.24 .02 80);--muted: oklch(.91 .025 95);--muted-foreground: oklch(.48 .02 95);--accent: oklch(.5 .155 27);--accent-foreground: oklch(.97 .015 95);--destructive: oklch(.628 .258 29.23);--destructive-foreground: oklch(.98 0 0);--border: oklch(.9 .028 95);--input: oklch(.9 .028 95);--ring: oklch(.5 .072 130);--font-sans: "Crimson Pro", "Iowan Old Style", Georgia, serif;--font-mono: "Caveat", cursive;--radius: .5rem}.dark{--background: oklch(.13 .008 90);--foreground: oklch(.93 .018 95);--card: oklch(.17 .01 90);--card-foreground: oklch(.93 .018 95);--popover: oklch(.17 .01 90);--popover-foreground: oklch(.93 .018 95);--primary: oklch(.67 .07 130);--primary-foreground: oklch(.14 .01 90);--secondary: oklch(.73 .1 80);--secondary-foreground: oklch(.14 .01 90);--muted: oklch(.22 .012 90);--muted-foreground: oklch(.7 .02 95);--accent: oklch(.58 .145 27);--accent-foreground: oklch(.95 .015 95);--destructive: oklch(.65 .22 29.23);--destructive-foreground: oklch(.98 0 0);--border: oklch(.25 .012 90);--input: oklch(.25 .012 90);--ring: oklch(.67 .07 130)}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:18px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ring);outline-offset:3px}h1,h2,h3,p{margin-top:0}.app{min-height:100vh;padding-bottom:110px;background-image:linear-gradient(to right,transparent 96%,rgba(92,122,82,.035) 100%);background-size:26px 26px}.shell{max-width:1220px;margin:auto;padding:0 38px}.header{height:87px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{border:0;background:none;display:flex;align-items:center;gap:12px;padding:0;color:var(--primary)}.brand-mark{width:40px;height:40px;border:2px solid var(--primary);border-radius:10px;display:grid;place-items:center;transform:rotate(-7deg);position:relative}.brand-mark:after{content:"";position:absolute;width:6px;height:6px;background:var(--accent);border-radius:50%;right:4px;top:3px}.brand-name{font:700 32px var(--font-mono);line-height:1}.topnav{display:flex;gap:34px;align-items:center}.topnav button,.quiet{background:none;border:0;color:var(--muted-foreground);padding:9px 0}.topnav button.active{color:var(--primary);border-bottom:2px solid var(--primary)}.header-right{display:flex;align-items:center;gap:14px}.round-icon{width:39px;height:39px;display:grid;place-items:center;background:var(--card);border:1px solid var(--border);border-radius:50%;color:var(--primary)}.top-add,.button-main{background:var(--accent);color:var(--accent-foreground);border:1px solid var(--accent);border-radius:7px;padding:12px 19px;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:3px 3px 0 var(--border);font-weight:600}.top-add:hover,.button-main:hover{transform:translateY(-2px);box-shadow:3px 5px 0 var(--border)}.button-outline{background:var(--card);color:var(--primary);border:1px solid var(--primary);border-radius:7px;padding:10px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font:600 12px var(--font-sans);color:var(--primary)}.hero{display:grid;grid-template-columns:1fr 48%;gap:6%;align-items:center;padding-top:55px;padding-bottom:52px}.hero h1{font:500 clamp(48px,5vw,78px)/.94 var(--font-mono);letter-spacing:-.025em;margin:18px 0 20px;max-width:540px}.hero h1 em{font-style:normal;color:var(--primary);display:block}.hero p{color:var(--muted-foreground);font-size:20px;line-height:1.45;max-width:445px;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.hero-note{font:22px var(--font-mono);color:var(--muted-foreground);transform:rotate(-3deg)}.hero-photo-wrap{position:relative;padding:8px 7px 20px 10px}.hero-photo-wrap:before{content:"";position:absolute;top:20px;right:-6px;bottom:7px;left:20px;border:1px solid var(--border);background:var(--card);transform:rotate(3deg);box-shadow:8px 9px #5c7a521f}.hero-photo{position:relative;width:100%;height:340px;object-fit:cover;border:9px solid var(--card);box-shadow:5px 7px #433e2c38;transform:rotate(-2deg);display:block}.photo-sticker{position:absolute;bottom:-10px;right:-17px;width:109px;height:109px;border-radius:50%;background:var(--secondary);border:2px dashed var(--primary);transform:rotate(12deg);display:grid;place-items:center;text-align:center;font:600 20px/1 var(--font-mono);color:var(--secondary-foreground);padding:14px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-head h2{font:500 39px/1 var(--font-mono);margin:6px 0 0}.section-head p{margin:0;color:var(--muted-foreground)}.section-head button{border:0;background:none;color:var(--primary);display:flex;align-items:center;gap:8px;padding:8px;font-weight:600}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:54px}.category-card{height:142px;position:relative;border:1px solid var(--border);border-radius:5px;text-align:left;background:var(--card);padding:25px 24px;overflow:hidden;box-shadow:4px 5px #3f392717;transition:transform .2s}.category-card:hover{transform:translateY(-4px) rotate(-1deg)}.category-card:before{content:"";position:absolute;top:0;left:0;height:6px;width:100%;background:var(--primary)}.category-card.yellow:before{background:var(--secondary)}.category-card.red:before{background:var(--accent)}.category-card h3{font:500 31px var(--font-mono);margin:3px 0}.category-card span{color:var(--muted-foreground);font-size:16px}.category-icon{position:absolute;right:24px;top:33px;color:var(--primary);opacity:.75;transform:rotate(-10deg)}.yellow .category-icon{color:var(--secondary)}.red .category-icon{color:var(--accent)}.divider{border:0;border-top:1px solid var(--border);margin:0 0 40px}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-bottom:40px}.recipe-card{position:relative;background:var(--card);border:1px solid var(--border);padding:18px;min-height:290px;text-align:left;box-shadow:5px 6px #433e2c1f;transform:rotate(-.6deg);transition:transform .2s}.recipe-card:nth-child(2n){transform:rotate(.8deg)}.recipe-card:hover{transform:translateY(-4px) rotate(0)}.recipe-card:before,.paper-grid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:22px 22px;opacity:.24;pointer-events:none}.recipe-card>*{position:relative}.recipe-card img{width:100%;height:142px;object-fit:cover;filter:saturate(.8)}.recipe-card .tag{display:inline-block;color:var(--primary);font:700 13px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;margin-top:15px}.recipe-card h3{font:500 30px/1 var(--font-mono);margin:5px 0 8px}.recipe-card p{color:var(--muted-foreground);font-size:15px;margin:0}.empty{min-height:245px;border:1px dashed var(--border);background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;position:relative}.empty>*{position:relative}.empty svg{color:var(--primary)}.empty h3{font:500 31px var(--font-mono);margin:8px 0 3px}.empty p{color:var(--muted-foreground);margin-bottom:16px}.album-top{padding-top:55px}.album-top h1,.page-heading{font:500 56px/1 var(--font-mono);margin:10px 0 14px}.album-top p{color:var(--muted-foreground)}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:28px 0}.filter{border:1px solid var(--border);background:var(--card);padding:8px 18px;border-radius:30px;color:var(--muted-foreground)}.filter.selected{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--card);padding:8px 13px;margin-left:auto;border-radius:5px;color:var(--muted-foreground)}.search input{border:0;outline:0;background:transparent;color:var(--foreground);width:180px}.detail{max-width:920px;margin:35px auto}.back{border:0;background:none;display:inline-flex;align-items:center;gap:8px;color:var(--primary);padding:8px 0;margin-bottom:14px}.detail-paper{background:var(--card);border:1px solid var(--border);box-shadow:8px 9px #433e2c21;padding:42px 54px;position:relative}.detail-top{display:flex;align-items:start;justify-content:space-between;gap:20px}.detail h1{font:500 58px/1 var(--font-mono);margin:8px 0 20px}.detail-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted-foreground);font-size:16px}.detail-meta span{display:flex;align-items:center;gap:5px}.detail-actions{display:flex;gap:9px;flex-wrap:wrap}.icon-action{border:1px solid var(--border);color:var(--primary);background:var(--card);padding:9px;display:grid;place-items:center}.detail-columns{display:grid;grid-template-columns:37% 1fr;gap:40px;margin-top:36px}.detail h2{font:500 33px var(--font-mono);color:var(--primary);margin-bottom:12px}.line-list{padding:0;margin:0;list-style:none}.line-list li{padding:9px 0;border-bottom:1px solid var(--border);font-style:italic}.step{display:flex;gap:17px;margin:0 0 19px;line-height:1.5}.step strong{font:600 31px/1 var(--font-mono);color:var(--accent)}.detail-photo{margin-top:30px;border-top:1px solid var(--border);padding-top:25px}.detail-photo img{max-width:240px;max-height:240px;object-fit:contain;border:6px solid var(--background)}.modal-shade{position:fixed;top:0;right:0;bottom:0;left:0;background:#201e1994;z-index:20;display:grid;place-items:center;padding:20px;overflow-y:auto}.modal{width:min(720px,100%);max-height:min(90vh,950px);overflow-y:auto;background:var(--background);border:1px solid var(--border);box-shadow:10px 12px #14140a4d;padding:28px 36px 36px;position:relative}.modal-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.modal h2{font:500 46px/1 var(--font-mono);margin:8px 0}.modal-sub{color:var(--muted-foreground);margin:0 0 22px}.close{border:0;background:none;color:var(--foreground);padding:5px}.upload-zone{width:100%;min-height:215px;border:2px dashed var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;text-align:center;color:var(--primary);position:relative;overflow:hidden}.upload-zone img{width:100%;max-height:310px;object-fit:contain}.upload-zone small{color:var(--muted-foreground)}.upload-zone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:5px;margin:14px 0}.field label{font-weight:600;color:var(--foreground)}.field input,.field textarea,.field select{width:100%;padding:10px 12px;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:3px;min-height:44px}.field textarea{min-height:110px;resize:vertical}.modal-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:22px;flex-wrap:wrap}.error{color:var(--accent);background:var(--card);padding:10px 12px;border-left:3px solid var(--accent);margin-top:12px}.loading{font:26px var(--font-mono);color:var(--primary);animation:pulse 1.3s infinite}@keyframes pulse{50%{opacity:.4}}.bottom-nav{display:none}.footer{text-align:center;color:var(--muted-foreground);border-top:1px solid var(--border);padding:25px;font:21px var(--font-mono)}@media(max-width:800px){.shell{padding:0 22px}.topnav{gap:15px}.hero{grid-template-columns:1fr 44%;gap:16px}.hero-photo{height:280px}.category-grid{gap:12px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-add{display:none}}@media(max-width:640px){.app{padding-bottom:100px}.shell{padding:0 19px}.header{height:67px}.brand-name{font-size:29px}.topnav,.header-right .round-icon{display:none}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:34px;padding-bottom:35px;gap:27px}.hero h1{font-size:56px;margin:11px 0 13px}.hero p{font-size:18px;margin-bottom:20px}.hero-note{display:none}.hero-photo-wrap{padding:4px 13px 18px 3px}.hero-photo{height:235px}.photo-sticker{width:82px;height:82px;font-size:16px;right:-5px;bottom:-3px}.section-head h2{font-size:34px}.category-grid{grid-template-columns:1fr;gap:12px;margin-bottom:34px}.category-card{height:93px;padding:17px 20px}.category-card h3{font-size:27px;margin:0}.category-card span{font-size:14px}.category-icon{top:23px}.category-icon svg{width:43px;height:43px}.recipe-grid{grid-template-columns:1fr;gap:20px}.recipe-card{min-height:230px}.recipe-card img{height:180px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--card);border-top:1px solid var(--border);padding:10px 13px calc(12px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center;gap:3px}.bottom-nav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted-foreground);font-size:12px;min-width:48px;padding:5px 0}.bottom-nav button.active{color:var(--primary)}.bottom-nav button.add-tab{width:55px;height:55px;background:var(--accent);color:var(--accent-foreground);border-radius:50%;transform:translateY(-19px);box-shadow:3px 4px 0 var(--border);min-width:55px}.bottom-nav button.add-tab span{display:none}.album-top{padding-top:35px}.album-top h1,.page-heading{font-size:48px}.search{width:100%;margin:10px 0 0}.search input{flex:1;width:100%}.detail{margin:16px auto}.detail-paper{padding:27px 22px}.detail h1{font-size:48px}.detail-columns{grid-template-columns:1fr;gap:26px}.detail-actions{margin-top:15px}.detail-top{display:block}.modal-shade{padding:0;align-items:end}.modal{width:100%;max-height:94vh;padding:24px 21px 30px;box-shadow:none;border-radius:16px 16px 0 0}.modal h2{font-size:39px}.form-grid{grid-template-columns:1fr 1fr}.footer{display:none}}
