@import url('data:text/css,');
body.ending-screen #control-footer{visibility:hidden}
body #ending{transition:background 1.2s}body #ending.settling{background:transparent}#ending.settling #ending-transition{opacity:0;pointer-events:none}.summary-modal #dish-art{margin-top:10px}
#portion-results{list-style:none;margin:12px 0 0;padding:0;font:10px var(--sans);color:#8c7655;text-align:left}#portion-results li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dotted #d7c4a1}#portion-results strong{font-weight:500;color:#7c8060}.recipe-book .recipe-step.locked{opacity:.68}.recipe-book .recipe-step.needs-attention{background:#e9cba0}.recipe-book .needs-attention .status-tag{color:#a55937}
body #stage{width:min(100%,calc(160vh - 216px));max-height:none;flex-shrink:0}@media(max-height:800px){body #stage{width:min(100%,calc(160vh - 184px))}}
.book-illustration{image-rendering:pixelated;width:min(100%,300px);height:auto;min-height:70px;align-self:center;margin-top:auto;padding-top:10px}.book-page{overflow:auto}.book-page .book-illustration{flex-shrink:0}#settings-panel{z-index:40}#next-hint{border-top:1px solid #cdb997;margin-top:8px;padding-top:7px;color:#957650;font-size:10px}.recipe-step{flex-shrink:0}
:root{font-family:Georgia,'Times New Roman',serif;color:#493c32;background:#efe6d3;font-synthesis:none;--paper:#f5ead2;--ink:#493c32;--sage:#4c6e5d;--rust:#a65e48;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column;padding:0 3.3vw;background:radial-gradient(ellipse at 45% 20%,#f8f0de,#e7dcc5)}button,input{font:inherit}button{cursor:pointer;border:1px solid #4e705b;background:#526f59;color:#fff1d8;padding:13px 20px;border-radius:3px;box-shadow:0 3px 0 #385344;transition:background .15s,transform .15s;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.3px}button:hover{background:#658069;transform:translateY(-1px)}button:active{transform:translateY(2px);box-shadow:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #bc7d48;outline-offset:4px}button span{margin-left:20px}button.secondary{background:#e5d7b9;color:#53614b;border-color:#a8a68b;box-shadow:0 3px 0 #c3b697}.text-button{padding:10px 4px;background:none!important;box-shadow:none!important;border:0;color:#6f6f57;font-size:12px;text-decoration:underline;text-underline-offset:4px}.icon-button{background:transparent;color:#766a56;border:1px solid #cbbda0;box-shadow:none;padding:8px 12px;font-size:11px}.icon-button:hover{background:#dfd3b9}.masthead{height:80px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.masthead a{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-family:var(--sans);font-size:11px;letter-spacing:1.2px;font-weight:700}.masthead small{display:block;font-size:8px;letter-spacing:2px;font-weight:500;margin-top:5px;color:#98836a}.brand-mark{border:1px solid #9a8e6c;border-radius:50% 50% 45% 45%;width:35px;height:38px;display:grid;place-items:center;font:italic 15px Georgia;color:#776c4b}.header-right{display:flex;align-items:center;gap:12px}.edition{font-style:italic;color:#97836c;font-size:13px;margin-right:15px}#stage{width:100%;max-width:1440px;aspect-ratio:16/10;max-height:calc(100vh - 135px);margin:auto;position:relative;overflow:hidden;border:5px solid #816e50;box-shadow:0 0 0 1px #ad9b79,0 12px 35px #6d553526;border-radius:4px;background:#d8c4a0}#game{width:100%;height:100%;display:block;image-rendering:pixelated;object-fit:contain;outline:none;background:#302e26}#hud{position:absolute;inset:0;pointer-events:none;font-family:var(--sans)}[hidden]{display:none!important}.chapter{position:absolute;left:18px;top:16px;background:#f6ead4ec;box-shadow:3px 3px 0 #67563c25;border:1px solid #ac9774;padding:10px 16px;min-width:220px}.chapter>span{font-size:8px;letter-spacing:2px;color:#9b7552;display:block;margin-bottom:5px}.chapter strong{font:22px Georgia;display:block}.chapter small{display:block;font-size:10px;color:#857457;margin-top:5px}.book-button{position:absolute;top:16px;right:18px;pointer-events:auto;background:#f6ead4;color:#665740;border:1px solid #a88e67;box-shadow:2px 3px 0 #6b543d40;font-size:11px;padding:11px 13px}.book-button:hover{background:#fff2d8}kbd{font:10px var(--sans);border:1px solid #aa9776;border-bottom:2px solid #aa9776;padding:2px 5px;border-radius:3px;color:#6a5a43;background:#efe4cd;white-space:nowrap}.book-button kbd{margin-left:10px}#timers{position:absolute;top:100px;right:18px;display:grid;gap:6px}.timer-pill{background:#f8ecd6ed;border-left:3px solid #8b9d70;padding:8px 12px;font-size:11px;max-width:240px;box-shadow:2px 2px 0 #5b4d3530}.timer-pill.urgent{border-color:#bf7751;color:#994e37}.timer-pill small{display:block;color:#8a7759;margin-top:3px;font-size:9px}#caption{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);padding:10px 18px;text-align:center;background:#4c493ce8;color:#fce8bd;font:italic 15px Georgia;box-shadow:3px 3px 0 #302b2630;max-width:80%;opacity:0;transition:opacity .2s}#caption.visible{opacity:1}.interaction{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);text-align:center;min-width:260px}.interaction>span{padding:9px 16px;background:#f5e7cbe8;box-shadow:2px 3px 0 #73563d45;font-size:12px;border:1px solid #ac9875;display:block}.interaction>small{display:block;font-size:9px;letter-spacing:.7px;margin-top:5px;background:#ede2c7d9;color:#7f6648}.dog-tools{position:absolute;bottom:20px;left:18px;display:flex;gap:8px;font-size:10px}.dog-tools>span{background:#f4e8cedd;padding:7px;border:1px solid #baa780}.title-screen{position:absolute;inset:0;background:linear-gradient(90deg,#f2e6cffc 0%,#f2e6cff7 42%,#f2e6cfb0 61%,#f2e6cf20 100%);display:flex;align-items:center;padding:6%}.title-copy{width:57%;z-index:1}.eyebrow{font:9px var(--sans);letter-spacing:2.6px;color:#9b805b;font-weight:600}.title-copy h1{font-size:clamp(38px,5.4vw,83px);line-height:1.03;font-weight:normal;letter-spacing:-2.2px;margin:23px 0 16px}.title-copy h1 em{color:#a45e47;font-style:normal}.tagline{font-size:clamp(13px,1.55vw,23px);font-style:italic;color:#7d7458;margin:0}.tiny-rule{width:48px;height:2px;background:#b49c6b;margin:25px 0}.title-description{font-size:14px;line-height:1.9;color:#88765d}.menu-actions{display:flex;align-items:flex-start;gap:10px;flex-direction:column;margin-top:24px}.menu-actions>button:not(.text-button){min-width:240px;display:flex;justify-content:space-between}.title-footnote{font:9px var(--sans);color:#a08d70;letter-spacing:.3px;display:block;margin-top:24px}.cast-card{position:absolute;right:2%;width:43%;top:14%;text-align:center}.cast-card canvas{width:100%;height:auto;image-rendering:pixelated;filter:drop-shadow(4px 12px 4px #5d43291a)}.cast-caption{margin-top:-14px}.cast-caption>span{font:8px var(--sans);letter-spacing:2px;color:#817354}.cast-caption p{font:26px Georgia;margin:10px 0;color:#69563e}.cast-caption i{font-size:19px;color:#aa8657;margin:0 8px}.cast-caption small{font:10px var(--sans);color:#7d6b4e}.overlay{position:absolute;inset:0;display:grid;place-items:center;z-index:10}.shade{background:#302c245e;backdrop-filter:blur(3px)}.paper-modal{background:var(--paper);border:1px solid #a78f65;box-shadow:6px 6px 0 #46392a45,0 0 0 5px #ead9b9;padding:34px 40px;width:min(450px,88%);max-height:94%;overflow:auto;text-align:center}.paper-modal h2{font-weight:normal;font-size:31px;margin:15px 0}.paper-modal p{color:#8b785d;font-size:14px}.paper-modal>button{display:block;width:100%;margin-top:15px}.settings-modal h2{font-size:28px}.settings-modal>label{font:12px var(--sans);display:flex;justify-content:space-between;align-items:center;margin:20px 0}.settings-modal input[type=range]{width:55%;accent-color:#6d8767}.settings-modal .check{justify-content:flex-start;gap:8px;font-size:11px}.controls-grid{display:grid;grid-template-columns:1fr 1.3fr;text-align:left;gap:12px 14px;font:11px var(--sans);border-top:1px solid #cebb95;padding-top:20px}.small-note{font-size:11px!important;line-height:1.8!important;color:#9a8565!important}.recipe-book{position:relative;background:linear-gradient(90deg,#e7d8b9,#f7ecd4 4%,#f5e9cc 48.5%,#cabb97 50%,#f4e7ca 51.5%,#f7ecd4 96%,#ddcba7);width:91%;height:90%;padding:21px 30px 15px;border:6px solid #91714e;border-radius:4px 10px 10px 4px;box-shadow:7px 7px 0 #40342555,0 0 0 2px #c8a474;display:flex;flex-direction:column}.book-heading{text-align:center}.book-heading h2{font-size:27px;font-weight:normal;margin:8px 0}.book-heading p{font:10px var(--sans);color:#a0835e;margin:6px 0 12px}.book-pages{display:grid;grid-template-columns:1fr 1fr;gap:40px;overflow:auto;flex:1}.book-page{display:flex;flex-direction:column;gap:3px}.recipe-step{padding:8px 7px;border-bottom:1px solid #d7c7a4;display:grid;grid-template-columns:21px 1fr;gap:8px;font:11px var(--sans);color:#6a5a43;min-height:44px}.recipe-step .step-number{font:15px Georgia;color:#b49a73}.recipe-step small{font-size:9px;color:#a28965;display:block;margin-top:4px;line-height:1.6}.recipe-step.locked{opacity:.5}.recipe-step.done{text-decoration:line-through;color:#78916c}.recipe-step.running,.recipe-step.active{background:#e6d6ad;border-radius:2px}.recipe-step .status-tag{font-size:8px;color:#957243;text-transform:uppercase;letter-spacing:1px;margin-left:6px}.book-note{font:10px var(--sans);color:#9a674c;border-top:1px solid #c9b590;padding-top:12px;margin-top:8px;display:flex;justify-content:space-between;gap:8px}.book-note span{color:#9b8869}.close{position:absolute;right:8px;top:6px;padding:0 8px;font:24px Georgia;background:transparent;color:#907554;border:0;box-shadow:none}.close:hover{background:#e0d0ae}.score-line{display:flex;gap:15px;align-items:center;justify-content:center;margin:18px 0}.score-line strong{font:58px Georgia;color:#6c805b}.score-line span{font:10px var(--sans);text-align:left;color:#9b8561;line-height:1.7}#score-details{font:11px var(--sans);display:flex;justify-content:space-between;border-block:1px solid #d2bd97;padding:14px 0;color:#8f7956}.summary-modal h2{font-size:26px}#dish-art{image-rendering:pixelated;display:block;width:200px;margin:16px auto 0}#ending{position:absolute;inset:0;z-index:30;background:#292720}#ending-image{width:100%;height:100%;object-fit:cover;image-rendering:pixelated;opacity:0;transition:opacity 3s}#ending.revealed #ending-image{opacity:1}#ending-transition{position:absolute;inset:0;display:grid;place-items:center;color:#e9d3a3;font:italic 27px Georgia;z-index:2;opacity:1;transition:opacity 2s;background:#292720}#ending.revealed #ending-transition{opacity:0;pointer-events:none}.ending-caption{position:absolute;bottom:0;left:0;right:0;padding:65px 20px 18px;text-align:center;background:linear-gradient(transparent,#292219db);color:#ffe8bb;opacity:0;transition:opacity 2s 3s}.revealed .ending-caption{opacity:1}.ending-caption>span{font:8px var(--sans);letter-spacing:2.5px;color:#d5b789}.ending-caption h2{font-weight:normal;font-size:25px;margin:10px 0}.ending-caption button{color:#ead4b1;font-size:10px}footer{height:55px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;font:8px var(--sans);letter-spacing:1.4px;color:#998767;gap:20px}#control-footer{font:10px var(--sans);letter-spacing:0;display:flex;gap:7px;align-items:center;color:#978365}#control-footer b{font-weight:400;color:#c1aa82}footer .footer-right{font:italic 12px Georgia;letter-spacing:0}@media(min-width:1550px){#stage{max-width:1280px}.title-copy h1{font-size:80px}}@media(max-height:800px){.title-copy h1{font-size:clamp(34px,5vw,65px);margin:15px 0}.title-description{font-size:12px}.tiny-rule{margin:18px 0}.menu-actions{margin-top:18px}.title-footnote{margin-top:16px}.paper-modal{padding:24px 30px}.recipe-book{padding-top:14px}.book-heading h2{font-size:23px}.recipe-step{min-height:35px;padding:6px;font-size:10px}.recipe-step small{font-size:8px}.masthead{height:65px}#stage{max-height:calc(100vh - 115px)}footer{height:50px}}@media(max-width:850px){body{padding:0 12px}.edition,.footer-right,footer>span:first-child{display:none}.cast-card{right:0;width:42%;top:18%}.cast-caption small{display:none}.title-copy h1{font-size:42px}.title-description{font-size:11px}.title-copy{width:65%}.title-screen{padding:5%}.chapter{min-width:170px;left:10px;top:10px}.chapter strong{font-size:17px}.chapter small{font-size:8px}.book-button{right:10px;top:10px;padding:9px}.dog-tools{display:none}.recipe-book{height:94%;width:96%;padding:15px}.book-pages{gap:20px}.book-note{font-size:8px}.book-heading h2{font-size:20px}.recipe-step{font-size:9px}.interaction{bottom:12px}.title-footnote{font-size:8px}#caption{font-size:12px}#timers{top:83px}.timer-pill{font-size:9px;padding:6px}footer{justify-content:center}.header-right{gap:6px}.masthead a{font-size:9px;letter-spacing:.4px}}

/* Cottage art direction: a quiet dark frame lets the house carry the colour. */
:root{--paper:#fff0d2;--ink:#383c2c;--sage:#345d4b;--rust:#ab583f;background:#202f29}
body{background:radial-gradient(ellipse at 50% 30%,#3d5141 0%,#24362e 60%,#192a25 100%);color:var(--ink);padding:0 2.5vw}
.masthead{height:62px}.masthead a{color:#ebd9af}.brand-mark{color:#ebc88d;border-color:#8e9b74}.masthead small{color:#9fae8f}.edition{color:#c2c7a6}.icon-button{color:#dfd8b7;border-color:#64765d;background:#ffffff04}.icon-button:hover{background:#52644c;color:#fff3cf}
body #stage{width:min(100%,calc(160vh - 164px));border:3px solid #a38657;border-radius:7px;box-shadow:0 0 0 1px #192b23,0 0 0 6px #14251c77,0 18px 55px #0c191b80;background:#385343}
footer{height:40px;color:#a8b293}#control-footer{color:#d1d3b5}footer .footer-right{color:#b7c09e}footer kbd{background:#3c5040;border-color:#708065;color:#e7d8b4}
.chapter{left:16px;top:15px;min-width:205px;background:#fff1d6f2;border:1px solid #e6c38d;border-left:4px solid #71895c;box-shadow:0 4px 14px #263c3035;border-radius:2px 9px 9px 2px;padding:10px 13px}.chapter strong{font-size:20px;color:#35533e}.chapter>span{color:#9a6244;font-weight:700}.chapter small{color:#716344}#next-hint{color:#4f7050;border-color:#d7bf95;font-weight:600}
.book-button{background:#f9e8c7;color:#3a543c;border:1px solid #e4c187;border-bottom:3px solid #b28a53;border-radius:6px;box-shadow:0 4px 12px #213d312b;font-weight:700}.book-button:hover{background:#fff4d9}.timer-pill{border-radius:4px;background:#fff0d7f5;border-left:4px solid #5d8760;color:#374d38;box-shadow:0 3px 10px #243b2b2e}.timer-pill small{color:#715f43}.timer-pill.urgent{background:#ffe2bb;border-left-color:#b85b40}.timer-pill.urgent small{color:#9a4a32}
.interaction>span{border:1px solid #d9b980;border-bottom:3px solid #ad8953;border-radius:6px;background:#fff0d5f5;color:#3d503a;font-weight:600;padding:11px 18px;box-shadow:0 4px 16px #263c3035}.interaction>small:empty{display:none}.interaction>small{border-radius:3px;background:#334f3fe8;color:#f0d8ac;padding:4px 8px}#caption{border:1px solid #d9bb7b70;background:#304a3eee;color:#fff0c9;border-radius:6px;font-size:16px}.dog-tools>span{border-radius:5px;border:1px solid #c7ab77;background:#fff0d3ed;color:#466046;padding:8px 10px;font-weight:600}
.title-screen{background:linear-gradient(90deg,#182b25f5 0%,#1a2d27ed 30%,#1c30289c 49%,#15282000 72%),url('public/title-dogs-brown.png') center/cover;padding:5.5%;isolation:isolate}.title-screen:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,#172d29b3,transparent 27%,transparent 80%,#172d2933)}.title-copy{width:59%}.title-copy h1{font-size:clamp(40px,5.3vw,78px);font-weight:700;letter-spacing:-2px;color:#fff0cb;text-shadow:0 3px 0 #182b2580;line-height:1.04;margin:20px 0}.title-copy h1 em{color:#efbd73}.title-copy .eyebrow{color:#d6c697;letter-spacing:3px}.tagline{color:#e2c89c;font-size:clamp(15px,1.6vw,22px)}.tiny-rule{background:#c6985a;width:56px}.title-description{color:#e2d6b8;font-size:14px;line-height:1.8}.menu-actions>button:not(.text-button){background:#e6bb78;border:1px solid #ffe1a4;color:#243e31;border-bottom:3px solid #a27640;box-shadow:0 4px 16px #13251d50;min-width:250px;padding:14px 19px;font-weight:750}.menu-actions>button:hover{background:#f4d49a}.title-copy .text-button{color:#e0cfab;font-size:12px}.title-footnote{color:#b9c4a9}.cast-card{top:auto;bottom:5%;right:4%;width:36%;color:#fff0d1}.cast-card canvas{display:none}.cast-caption{background:#233f33ce;border:1px solid #e7ce8c40;border-radius:7px;padding:14px 12px;box-shadow:0 5px 20px #15282030}.cast-caption>span{color:#d4d7ae;font-size:8px;letter-spacing:2px}.cast-caption p{color:#ffe2ad;font-size:24px;margin:7px 0}.cast-caption i{color:#cba469}.cast-caption small{color:#e4d5b1}
button{border-radius:6px;background:#42664e;border-color:#6c885c;box-shadow:0 3px 0 #294934}.paper-modal{border-radius:9px;border:1px solid #d9bc84;box-shadow:0 0 0 5px #516b4c,0 14px 40px #112a2666;background:linear-gradient(135deg,#fff3da,#efddb7)}.paper-modal h2{color:#3e5d42}.shade{background:#142d296b}.recipe-book{border-color:#5c7350;box-shadow:6px 7px 0 #152a2966,0 0 0 2px #bda06a}.recipe-step{color:#43553e}.recipe-step small{color:#78684d}.recipe-step .step-number{color:#a47548}.book-heading h2{color:#3e5d42}.recipe-step.running,.recipe-step.active{background:#dce0b7}.book-note{color:#8c5137}.recipe-book .recipe-step.locked{opacity:.78}
@media(max-height:800px){body #stage{width:min(100%,calc(160vh - 144px))}.masthead{height:54px}footer{height:36px}.title-copy h1{font-size:clamp(38px,5vw,64px);margin:14px 0}.title-description{font-size:12px}.menu-actions>button:not(.text-button){padding:10px 16px}.title-footnote{margin-top:12px}.tiny-rule{margin:17px 0}.cast-caption{padding:10px}}
@media(max-width:850px){.title-copy{width:65%}.title-copy h1{font-size:42px}.cast-card{right:3%;width:32%}.cast-caption p{font-size:18px}.cast-caption>span{font-size:7px;letter-spacing:1px}.chapter{min-width:170px}.chapter strong{font-size:17px}}
/* Recipe lettering remains comfortably readable at both supported desktop sizes. */
.recipe-step{font-size:13px;min-height:54px;padding:10px 8px;grid-template-columns:24px 1fr}.recipe-step small{font-size:11px;line-height:1.55}.recipe-step .status-tag{font-size:9px}.book-heading p{font-size:12px}.book-note{font-size:11px}.book-illustration{width:min(100%,370px);padding-top:16px}.recipe-step .step-number{font-size:18px}.recipe-step.done{color:#527348}
@media(max-height:800px){.recipe-step{font-size:11px;min-height:44px;padding:7px}.recipe-step small{font-size:10px}.book-heading p{font-size:10px}.book-note{font-size:10px}.book-illustration{width:min(100%,280px)}}
.recipe-book,.book-pages,.book-page{min-height:0}.book-note,.book-heading{flex-shrink:0}.book-page{scrollbar-width:thin;scrollbar-color:#a19165 transparent}
/* Dog activity is transient: only thefts and nearby mischief get a card. */
#dog-alerts{position:absolute;right:18px;bottom:20px;display:grid;gap:7px;width:210px}.dog-alert{background:#fff0d5f5;border:1px solid #d0a66f;border-left:4px solid #ba714c;border-radius:6px;padding:10px 12px;box-shadow:0 3px 12px #243b2b35;color:#5f4933}.dog-alert strong{font-size:12px;display:block}.dog-alert span{font-size:10px;display:block;margin-top:5px}.dog-alert small{font-size:10px;display:block;margin-top:7px;font-weight:700;color:#456347}.dog-alert.theft{background:#ffe0b3;border-left-color:#ae4935}.dog-alert.theft strong{color:#973d29}.dog-alert.sleep{border-left-color:#789273}#work-progress{width:90%;height:6px;display:block;margin:6px auto 0;accent-color:#648052;border:0;border-radius:3px;background:#dbcca7}#work-progress::-webkit-progress-bar{background:#dbcca7;border-radius:3px}#work-progress::-webkit-progress-value{background:#648052;border-radius:3px}.chapter{max-width:280px}#next-hint{line-height:1.5}
@media(max-width:1100px),(max-height:800px){#dog-alerts{width:180px;right:10px;bottom:14px}.dog-alert{padding:8px}.dog-alert strong{font-size:11px}.dog-alert span,.dog-alert small{font-size:9px}.chapter{max-width:235px}}
#caption{bottom:110px;max-width:calc(100% - 440px)}
@media(max-width:850px){#caption{max-width:64%;bottom:110px}}
