@font-face{font-family:BossMarker;src:url('assets/PermanentMarker.ttf') format('truetype');font-display:swap}*{box-sizing:border-box} :root{--gold:#e5be66;--pink:#c83c75;--black:#10100f;--white:#f5f0e5}html{color-scheme:dark;scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at top,#2d2116 0,#10100f 48%);color:var(--white);font:16px/1.5 Georgia,serif}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:#171512;border:1px solid #96753b;color:var(--gold);padding:10px 16px;border-radius:5px}button:hover{background:#30251a;border-color:var(--gold)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--pink);outline-offset:3px}button:disabled{opacity:.35;cursor:default}header{position:sticky;top:0;z-index:20;background:#0b0b0bf2;border-bottom:1px solid #795e2e;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(16px,calc((100vw - 1080px)/2));box-shadow:0 6px 25px #0008}.brand{text-decoration:none;color:var(--pink);font:24px BossMarker,'Trebuchet MS',sans-serif;white-space:nowrap}.brand small{display:block;font:9px/1.5 Arial,sans-serif;letter-spacing:2px;color:var(--gold)}.tools{display:flex;gap:8px}main{max-width:1052px;margin:auto;padding:0 12px}.page-label{display:flex;justify-content:space-between;gap:15px;padding:16px 4px;font:13px Arial,sans-serif;color:#d2c4a8}#count{white-space:nowrap}#viewer{overflow:auto;box-shadow:0 12px 50px #0009}#art{position:relative;width:100%;margin:auto}#art.zoomed{width:max(100%,1052px)}#pageImage{display:block;width:100%;height:auto}#overlays{position:absolute;inset:0;pointer-events:none}#overlays>*{pointer-events:auto}.hotspot{position:absolute;border:0;background:transparent;padding:0;display:block;border-radius:3px}.hotspot:hover,.hotspot:focus-visible{background:#c83c7530;outline:2px solid var(--gold)}.quantity-overlay{position:absolute;background:#100f0d;color:#f8f0da;border:1px solid var(--gold);border-radius:3px;text-align:center;padding:0;min-width:0;font-family:Georgia,serif}.name-overlay{position:absolute;background:#10100f;color:var(--gold);border:0;text-align:center;border-radius:4px;padding:0 10px;min-width:0}.accept-overlay{position:absolute;background:#0c0c0cf5;color:var(--gold);border:1px solid var(--gold);padding:0;display:flex;align-items:center;justify-content:center}.panel{background:linear-gradient(120deg,#181613,#090909);border:1px solid #a38347;border-radius:8px;margin:20px 0;padding:24px;box-shadow:0 5px 25px #0005}.panel h2{font:26px BossMarker,'Trebuchet MS',sans-serif;color:var(--pink);margin:0 0 8px}.panel p{margin:8px 0 18px;color:#ded5c5}.ingredient-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #63503155;padding:12px 0}.ingredient-row label{flex:1}.stepper{display:flex;align-items:center;gap:0;flex-shrink:0}.stepper button{width:40px;padding:7px;font:22px Arial,sans-serif}.stepper input{width:76px;text-align:center;background:#080808;color:var(--white);border:1px solid #705930;border-radius:0;padding:10px 2px;font:17px Arial,sans-serif;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.unit{font:13px Arial,sans-serif;min-width:30px;margin-left:7px}.nutrition{border:1px solid var(--gold);padding:20px;margin-top:22px;text-align:center;border-radius:5px}.nutrition h3{font:24px BossMarker,Arial;color:var(--pink);margin:0}.kcal{font:bold 40px/1.4 Georgia;color:var(--gold)}.macros{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.macros div{padding:10px 5px;border:1px solid #765e35;border-radius:4px}.macros b{display:block;font:bold 23px Georgia;color:var(--gold)}.muted{font:13px/1.5 Arial,sans-serif;color:#c0b39b}.reset{margin-top:18px}.paging{display:flex;justify-content:space-between;gap:8px;margin:24px 0}.paging button{flex:1}footer{text-align:center;color:#97866b;font:12px Arial;padding:10px 0 35px}.toc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toc-grid a,.result{display:block;text-decoration:none;background:#12110f;border:1px solid #5e4c2e;padding:14px;color:var(--white);border-radius:5px}.toc-grid a:hover,.result:hover{border-color:var(--pink)}.toc-grid small{display:block;color:var(--gold);font:11px Arial;margin-bottom:4px}dialog{background:#11100f;color:var(--white);border:1px solid var(--gold);border-radius:9px;width:min(700px,94vw);max-height:85vh;padding:24px}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-head h2{color:var(--pink);font:25px BossMarker,Arial}dialog label{display:block;font:14px Arial;margin:10px 0}#query{width:100%;padding:14px;border:1px solid #b58e48;background:#080808;border-radius:5px;font:17px Arial;color:white}#results{display:grid;gap:9px;margin-top:18px}.result strong{color:var(--gold)}.result p{font:14px/1.5 Arial;color:#c5baa6;margin:6px 0}.welcome{color:var(--gold)}.invite-form{display:flex;gap:10px;flex-wrap:wrap}.invite-form input{flex:1;min-width:180px;padding:13px;background:#080808;border:1px solid var(--gold);color:white;border-radius:5px}.invite-form button{flex:1}details{margin-top:18px}summary{cursor:pointer;color:var(--gold)}.reading{max-width:720px;white-space:pre-line;line-height:1.8} @media(max-width:600px){header{padding:9px 10px;gap:7px}.brand{font-size:19px}.brand small{font-size:7px;letter-spacing:1px}.tools{gap:5px}.tools button{padding:8px;font:12px Arial}main{padding:0 5px}.page-label{font-size:11px;padding:12px 5px}.panel{padding:18px 14px;margin:14px 2px}.panel h2{font-size:24px}.ingredient-row{gap:5px;font-size:15px}.stepper input{width:62px}.stepper button{width:34px}.toc-grid{grid-template-columns:1fr}.paging button{font:13px Arial;padding:12px 6px}.macros b{font-size:21px}.unit{min-width:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.live-totals{position:fixed;bottom:0;left:0;right:0;z-index:30;display:block;text-align:center;background:#0b0b0bf5;border-top:1px solid var(--gold);color:var(--gold);text-decoration:none;padding:13px 5px;font:bold clamp(12px,3.3vw,18px) Arial,sans-serif;box-shadow:0 -4px 20px #0008}.has-recipe{padding-bottom:55px}#recipeCalculator{scroll-margin-top:85px}
