:root{--background:oklch(97.22% .0105 78.71);--foreground:oklch(28.19% .018 72.36);--card:oklch(95.56% .014 77.89);--card-foreground:oklch(28.19% .018 72.36);--popover:oklch(97.22% .0105 78.71);--popover-foreground:oklch(28.19% .018 72.36);--primary:oklch(28.19% .018 72.36);--primary-foreground:oklch(97.22% .0105 78.71);--secondary:oklch(95.56% .014 77.89);--secondary-foreground:oklch(28.19% .018 72.36);--muted:oklch(95.56% .014 77.89);--muted-foreground:oklch(62% .032 65);--accent:oklch(50.77% .12 48);--accent-foreground:oklch(97.22% .0105 78.71);--destructive:oklch(62.8% .258 29.23);--destructive-foreground:oklch(98% 0 0);--border:oklch(89.82% .02 75);--input:oklch(89.82% .02 75);--ring:oklch(50.77% .12 48);--font-sans:"Fraunces", "Georgia", serif;--font-mono:"Source Serif 4", "Georgia", monospace;--radius:.125rem}.dark{--background:oklch(28.19% .018 72.36);--foreground:oklch(97.22% .0105 78.71);--card:oklch(34.9% .025 72.36);--card-foreground:oklch(97.22% .0105 78.71);--popover:oklch(34.9% .025 72.36);--popover-foreground:oklch(97.22% .0105 78.71);--primary:oklch(97.22% .0105 78.71);--primary-foreground:oklch(28.19% .018 72.36);--secondary:oklch(34.9% .025 72.36);--secondary-foreground:oklch(97.22% .0105 78.71);--muted:oklch(34.9% .025 72.36);--muted-foreground:oklch(75% .03 75);--accent:oklch(50.77% .12 48);--accent-foreground:oklch(97.22% .0105 78.71);--destructive:oklch(57.7% .245 29.23);--destructive-foreground:oklch(98% 0 0);--border:oklch(41.5% .03 72.36);--input:oklch(41.5% .03 72.36);--ring:oklch(50.77% .12 48)}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;overflow:hidden}body{background:var(--background);color:var(--foreground);margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:17px}#root{flex-direction:column;display:flex;position:fixed;inset:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ring);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}::selection{background:var(--border)}.hidden-input{display:none}.book-shell{flex-direction:column;height:100%;min-height:0;display:flex}.book-header{border-bottom:1px solid var(--border);background:var(--background);flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;height:76px;padding:0 clamp(24px,5.5vw,100px);display:flex}.wordmark{color:var(--foreground);letter-spacing:-.04em;white-space:nowrap;background:0 0;border:0;padding:0;font:600 23px/1.2 Fraunces,Georgia,serif;transition:color .15s}.wordmark:hover,.text-link:hover,.breadcrumb:hover,.wordmark-dot,.heading-period{color:var(--accent)}.book-header-actions{align-items:center;gap:30px;display:flex}.text-link{color:var(--foreground);background:0 0;border:0;align-items:center;gap:7px;padding:8px 0;font:15px "Source Serif 4",Georgia,serif;transition:color .15s;display:inline-flex}.quiet-auth{color:var(--muted-foreground);font-size:14px}.accent-link{color:var(--accent)}.book-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.book-page{max-width:850px;min-height:100%;margin:auto;padding:70px 42px 90px}.book-kicker,.page-colophon,.entry-number,.step-number,.writing-column label,.option-heading{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);font:11px/1.5 IBM Plex Mono,monospace}.kicker-rule{background:var(--accent);vertical-align:middle;width:28px;height:1px;margin:0 10px;display:inline-block}.index-heading{margin:34px 0 53px}.index-heading h1,.recipe-header h1{letter-spacing:-.05em;margin:0;font:600 clamp(49px,6vw,78px)/1.08 Fraunces,Georgia,serif}.index-heading p{color:var(--muted-foreground);margin:16px 0 0;font-size:18px;font-style:italic}.index-tools{border-top:1px solid var(--border);border-bottom:1px solid var(--border);align-items:center;gap:24px;min-height:62px;display:flex}.book-search{min-width:0;color:var(--muted-foreground);flex:1;align-items:center;gap:12px;display:flex}.book-search input{color:var(--foreground);background:0 0;border:0;outline:0;width:100%;min-width:0;padding:15px 0;font-size:16px}.book-search input::placeholder{color:var(--muted-foreground);opacity:1}.book-search button{color:var(--muted-foreground);background:0 0;border:0;padding:6px}.book-select{color:var(--foreground);cursor:pointer;background:0 0;border:0;max-width:230px;padding:10px 0;font-size:14px}.book-select:hover{color:var(--accent)}.index-list{margin-top:14px}.index-entry{border:0;border-bottom:1px solid var(--border);text-align:left;width:100%;color:var(--foreground);background:0 0;justify-content:space-between;align-items:center;gap:20px;padding:28px 0 26px;transition:padding .2s,background .2s;display:flex}.index-entry:hover{background:var(--card);padding-left:8px}.entry-main{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.entry-title{letter-spacing:-.025em;font:500 clamp(25px,2.8vw,33px)/1.15 Fraunces,Georgia,serif}.entry-main:after{content:"";background:var(--accent);width:0;height:2px;transition:width .22s}.index-entry:hover .entry-main:after{width:80px}.entry-detail{color:var(--muted-foreground);font:italic 15px "Source Serif 4",Georgia,serif}.entry-arrow{color:var(--accent);flex:none;transition:transform .15s}.index-entry:hover .entry-arrow{transform:translate(4px)}.index-empty{color:var(--muted-foreground);padding:68px 0}.index-empty p{color:var(--foreground);margin:0 0 8px;font:500 28px Fraunces,Georgia,serif}.index-empty span{font-style:italic}.owner-index-actions{flex-wrap:wrap;gap:28px;margin-top:37px;display:flex}.page-colophon{border-top:1px solid var(--border);margin-top:85px;padding-top:18px;font-size:9px}.page-colophon span{color:var(--accent);padding:0 10px}.book-error{border-left:2px solid var(--accent);background:var(--card);overflow-wrap:anywhere;padding:12px 16px;font-size:14px}.book-loading{color:var(--muted-foreground);margin:auto;font-style:italic}.recipe-page{max-width:1080px;padding-top:42px}.breadcrumb{color:var(--muted-foreground);background:0 0;border:0;align-items:center;gap:9px;padding:8px 0;font:14px "Source Serif 4",Georgia,serif;transition:color .15s;display:inline-flex}.recipe-header{margin-top:58px}.recipe-header h1{max-width:800px;margin:21px 0 24px}.title-rule{background:var(--accent);width:80px;height:2px;display:block}.recipe-utility{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;margin-top:35px;padding-bottom:18px;display:flex}.serving-control{align-items:center;gap:9px;font-size:16px;display:flex}.serving-control button{border:1px solid var(--border);width:30px;height:30px;color:var(--foreground);background:0 0;border-radius:50%;line-height:1;transition:background .15s,color .15s}.serving-control button:hover{background:var(--accent);color:var(--accent-foreground)}.serving-control strong{text-align:center;min-width:20px;font-weight:600}.recipe-links{align-items:center;gap:24px;display:flex}.recipe-links .text-link{font-size:14px}.reading-layout{padding-top:60px}.reading-column{min-width:0}.recipe-content{grid-template-columns:minmax(190px,31%) minmax(0,1fr);gap:clamp(36px,6vw,90px);display:grid}.recipe-content h2,.related h2{letter-spacing:-.03em;margin:0 0 26px;font:500 26px Fraunces,Georgia,serif}.ingredients ul{margin:0;padding:0;list-style:none}.ingredients li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;font-size:16px;line-height:1.3;display:flex}.ingredient-name{min-width:0}.ingredient-amount{color:var(--muted-foreground);white-space:nowrap;text-align:right;font-style:italic}.recipe-section h3{margin:8px 0 23px;font:500 20px Fraunces,Georgia,serif}.method-step{grid-template-columns:32px 1fr;gap:14px;margin-bottom:26px;line-height:1.65;display:grid}.method-step p{margin:0;font-size:18px}.step-number{color:var(--accent);padding-top:7px}.empty-copy{color:var(--muted-foreground);font-style:italic}.related{border-top:1px solid var(--border);margin-top:68px;padding-top:30px}.related h2{margin-bottom:12px}.related-link{color:var(--accent);background:0 0;border:0;align-items:center;gap:10px;padding:10px 0;font:18px Fraunces,Georgia,serif;transition:gap .15s;display:flex}.related-link:hover{gap:16px;text-decoration:underline}.recipe-end{border-top:1px solid var(--border);letter-spacing:.1em;color:var(--muted-foreground);margin-top:70px;padding-top:19px;font:10px IBM Plex Mono,monospace}.recipe-end span{color:var(--accent);float:right}.recipe-options{background:var(--card);border-top:2px solid var(--accent);margin-top:20px;padding:20px 25px}.option-heading{justify-content:space-between;align-items:center;display:flex}.option-heading button{color:var(--foreground);background:0 0;border:0;padding:4px}.option-row{flex-wrap:wrap;align-items:center;gap:15px;margin-top:15px;display:flex}.option-row label{color:var(--muted-foreground);font-style:italic}.option-row select{border:0;border-bottom:1px solid var(--border);color:var(--foreground);background:0 0;padding:8px}.option-row.subdued{border-top:1px solid var(--border);padding-top:10px}.danger-link{color:var(--destructive)}.writing-bar{border-bottom:1px solid var(--border);color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:15px;margin-top:25px;padding-bottom:14px;font-style:italic;display:flex}.save-button{background:var(--primary);color:var(--primary-foreground);border:0;justify-content:center;align-items:center;gap:10px;padding:11px 20px;font:15px "Source Serif 4",Georgia,serif;transition:background .15s;display:inline-flex}.save-button:hover{background:var(--accent);color:var(--accent-foreground)}.writing-layout{grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);gap:45px;padding-top:36px;display:grid}.writing-column label{margin-bottom:15px;display:block}.writing-column textarea{background:var(--card);border:1px solid var(--border);width:100%;min-height:550px;color:var(--foreground);resize:vertical;padding:20px;font:13px/1.7 IBM Plex Mono,monospace}.writing-layout .recipe-content{display:block}.writing-layout .ingredients{margin-bottom:32px}.writing-layout .preparation{border-top:1px solid var(--border);padding-top:28px}.writing-tabs{display:none}.login-overlay{background:color-mix(in oklch,var(--foreground) 42%,transparent);z-index:10;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.login-card{background:var(--background);border:1px solid var(--border);width:min(100%,470px);padding:50px;position:relative}.login-card h2{margin:22px 0 12px;font:600 37px Fraunces,Georgia,serif}.login-card p{color:var(--muted-foreground);line-height:1.5}.login-card label{margin:28px 0 8px;font-size:14px;display:block}.login-card input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--foreground);margin-bottom:16px;padding:12px}.login-card .save-button{width:100%}.login-close{color:var(--foreground);background:0 0;border:0;padding:7px;position:absolute;top:15px;right:18px}@media (width<=760px){.book-header{height:65px;padding:0 22px}.wordmark{font-size:19px}.header-back{display:none}.book-page{padding:42px 25px 75px}.recipe-page{padding-top:22px}.index-heading{margin:27px 0 35px}.index-heading h1,.recipe-header h1{font-size:clamp(43px,12vw,65px)}.index-entry{padding:22px 0}.entry-title{font-size:25px}.recipe-header{margin-top:33px}.recipe-utility{flex-direction:column;align-items:flex-start;gap:8px}.recipe-links{flex-wrap:wrap;gap:22px}.reading-layout{padding-top:42px}.recipe-content{grid-template-columns:1fr;gap:38px}.ingredients ul{columns:2;column-gap:27px}.ingredients li{break-inside:avoid}.preparation{border-top:1px solid var(--border);padding-top:30px}.writing-layout{padding-top:22px;display:block}.writing-tabs{border-bottom:1px solid var(--border);gap:30px;margin-top:15px;display:flex}.writing-tabs button{color:var(--muted-foreground);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 0}.writing-tabs button.selected{color:var(--foreground);border-bottom-color:var(--accent)}.hide-on-mobile{display:none}.writing-column textarea{min-height:480px}.writing-layout .preparation{margin-top:30px}}@media (width<=450px){.book-page{padding-left:21px;padding-right:21px}.book-header{padding:0 21px}.index-tools{flex-direction:column;align-items:stretch;gap:0;padding:5px 0 7px;display:flex}.book-search{border-bottom:1px solid var(--border);flex:none;width:100%}.book-search input{font-size:15px}.book-select{width:100%;max-width:100%;padding:10px 0;font-size:14px}.entry-detail{font-size:13px}.recipe-header h1{font-size:42px}.ingredients ul{columns:1}.recipe-utility .text-link{font-size:13px}}.colophon-link{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:4px;padding:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .15s,text-decoration-color .15s;display:inline-flex}.colophon-link:hover{color:var(--primary);text-decoration-color:currentColor}.colophon-link:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.recipe-source:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:2px}.recipe-note{border-left:2px solid var(--primary);margin-top:34px;padding:16px 0 4px 20px}.recipe-note .note-mark{letter-spacing:.16em;text-transform:uppercase;color:var(--primary);margin-bottom:6px;font-size:11px;display:block}.recipe-note p{color:var(--muted-foreground);margin:0;font-style:italic;line-height:1.65}.recipe-source{text-align:center;color:var(--muted-foreground);margin:10px 0 0;font-size:12px}.recipe-source a{color:inherit;text-underline-offset:3px;text-decoration:underline}.recipe-source a:hover{color:var(--primary)}.wikilink{color:var(--primary);text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1px;transition:color .15s,text-decoration-style .15s}.wikilink:hover{text-decoration-style:solid}.wikilink.missing{color:var(--muted-foreground);cursor:help}.ingredients li.optional .ingredient-name,.ingredients li.optional .ingredient-amount{opacity:.72}.optional-tag{color:var(--muted-foreground);margin-left:.35em;font-size:.78em;font-style:italic}.related-scale{color:var(--muted-foreground);font-style:italic;font-weight:400}.ingredient-group+.ingredient-group{margin-top:1.4rem}.ingredient-group h3{font-family:var(--font-display,serif);color:var(--muted-foreground);margin:0 0 .4rem;font-size:.95rem;font-style:italic;font-weight:400}
