@import url("/art/local-fonts.css");
:root{--ink:#3d3434;--muted:#82735d;--paper:#f4ecd9;--cream:#fff9e9;--line:#d9cdb4;--green:#3d6c5c;--orange:#bc6b42;--gold:#d5a853;--serif:Georgia,'Times New Roman',serif;--sans:'Trebuchet MS',Verdana,sans-serif}
*{box-sizing:border-box}body{margin:0;background:#e8dfc9;color:var(--ink);font-family:var(--sans);font-size:13px;background-image:radial-gradient(#89765616 .8px,transparent .8px);background-size:5px 5px}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);border-radius:5px;background:#fff9e9;padding:10px 12px;transition:background .12s,box-shadow .12s}button:hover{background:#f0e1bc}button:focus-visible{outline:3px solid #356f91;outline-offset:3px}button:active{filter:brightness(.94)}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,p{margin:0}h2{font:700 28px/1.13 var(--serif);letter-spacing:-.7px;margin:8px 0 14px}h3{font:700 15px/1.3 var(--serif)}p{line-height:1.65;color:#766854;margin:8px 0 16px}small{font-size:10px}svg{overflow:visible}.sprite{width:48px;height:48px;display:block;flex-shrink:0}.tavern-app{max-width:1570px;margin:0 auto;padding:23px 32px 12px}.masthead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.wordmark{display:flex;gap:13px;align-items:center}.brand-seal{width:47px;height:49px;border:2px solid #6a6e58;border-radius:45% 44% 40% 48%;display:grid;place-items:center;font:bold 18px var(--serif);color:#4c6554;transform:rotate(-8deg);box-shadow:inset 0 0 0 3px #e8dfc9,inset 0 0 0 4px #8c9278}.eyebrow{font:700 9px/1.5 var(--sans);letter-spacing:1.8px;color:#887358;margin:0}.wordmark .eyebrow{font-size:9px;color:#a17548;letter-spacing:2.4px}h1{font:700 28px var(--serif);letter-spacing:-1px;margin-top:3px}h1 span{font:italic 11px var(--serif);color:#9c8c71;letter-spacing:0;margin-left:14px}.header-actions{display:flex;align-items:center;gap:8px}.save-label{font-size:8px;letter-spacing:1px;margin-right:12px;color:#8a7c63}.icon-button{padding:8px 10px;background:transparent;border-color:#cbbfa8;font-size:10px}.status-bar{display:flex;align-items:center;height:76px;border:1px solid #cfc0a4;border-radius:8px 8px 0 0;background:var(--paper);padding:11px 19px;gap:28px;box-shadow:0 3px 10px #4d372908;position:relative;z-index:2}.day-tag{border-right:1px solid var(--line);padding-right:27px;min-width:115px}.day-tag span,.day-tag strong{display:block}.day-tag span{font-size:8px;letter-spacing:1.6px;color:#8a775c}.day-tag strong{font:700 24px var(--serif);margin-top:4px}.resource{display:flex;align-items:center;gap:10px}.resource strong{display:block;font:700 24px var(--serif)}.resource small{color:#8f7e63;font-size:9px}.coin{display:grid;place-items:center;background:#ddba63;color:#7d582c;border:2px solid #b5934c;border-radius:50%;width:30px;height:30px;box-shadow:inset 0 0 0 2px #eed398;font:italic bold 18px var(--serif)}.rep-symbol{font-size:33px;color:#7d8f72}.phase-status{display:flex;align-items:center;gap:10px;margin-left:auto;border-left:1px solid var(--line);padding-left:25px}.phase-status strong,.phase-status small{display:block}.phase-status strong{font-size:13px;margin-bottom:4px}.phase-status small{font-size:9px;color:#8f7e63}.phase-dot{height:8px;width:8px;border-radius:50%;background:#73977b;box-shadow:0 0 0 4px #dce2cb}.phase-dot.paused{background:#b59964;box-shadow:0 0 0 4px #e6dcc5}.countdown{font:700 29px var(--serif);margin-left:16px;min-width:61px}.pause-button{background:#3e6355;color:#fff2d4;border:1px solid #334e45;min-width:90px}.pause-button:hover{background:#527c68}.quiet-button{background:transparent;border-color:#c7b694;font-size:11px}.workplace{display:grid;grid-template-columns:minmax(0,1fr) 270px;border:1px solid #cfc0a4;border-top:0;background:var(--paper);box-shadow:0 13px 24px #62472e10}.stage-wrap{min-width:0;position:relative}.scene{position:relative;width:100%;aspect-ratio:10/7;overflow:hidden;background:#9d794f;isolation:isolate}.room-art{width:100%;height:100%;position:absolute;inset:0;object-fit:fill;pointer-events:none}.scene-caption{position:absolute;left:3%;top:3%;color:#e5d6ac;letter-spacing:1.8px;font-size:7px;z-index:2;text-shadow:0 1px #544336;opacity:.8}.station-layer,.table-layer,.agent-layer{position:absolute;inset:0;pointer-events:none}.station-layer{z-index:2}.table-layer{z-index:3}.agent-layer{z-index:4}.scene button{pointer-events:auto}.station{position:absolute;transform:translate(-50%,-50%);width:23%;height:25%;padding:0;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.station img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 8px 2px #3e2c2825)}.station:hover,.quest-board:hover,.dragon:hover{background:none;filter:brightness(1.08)}.station-sign{position:absolute;left:50%;bottom:-1%;transform:translateX(-50%) rotate(-1deg);white-space:nowrap;background:#e6cf9b;border:1.5px solid #69503c;padding:4px 10px;border-radius:3px;color:#594736;box-shadow:2px 3px #352d3420;font:bold 12px var(--serif)}.station-state{position:absolute;bottom:-22%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;color:#f8eacc;background:#5e4938d9;padding:4px 8px;border-radius:4px}.station .meter{position:absolute;bottom:-28%;width:66%;background:#624835;border-color:#624835}.station.ready .station-state{background:#f8dfa3;color:#6a4023;font-weight:bold}.station.ruined .station-state{background:#76513e;color:#fff4d7}.station.locked{opacity:.57}.station.selected img{filter:drop-shadow(0 0 4px #fff2ac)}.quest-board{position:absolute;width:14%;height:24%;left:84%;top:33%;padding:0;border:0;background:none;transform:rotate(3deg)}.quest-board img{width:100%;height:100%;object-fit:contain}.quest-board .station-sign{bottom:-3%}.badge{position:absolute;right:7%;top:13%;background:#b85b40;color:#fff5d8;border:2px solid #513f31;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-style:normal;font-weight:bold}.dragon{position:absolute;left:56%;top:24%;width:11%;height:18%;background:transparent;border:0;padding:0}.dragon .sprite{width:100%;height:100%}.dragon span{position:absolute;bottom:-4%;left:50%;transform:translateX(-50%);font-size:8px;white-space:nowrap;color:#f1dbad;background:#694b37d4;border-radius:4px;padding:3px 6px}.bouncer-post{position:absolute;left:3%;top:38%;font:italic 11px var(--serif);text-align:center;color:#dfc392;transform:rotate(-4deg);border:1px dashed #e4c68b55;padding:9px 4px}.bouncer-post small{font-size:8px}.table{position:absolute;width:20%;height:17%;transform:translate(-50%,-43%);background:none;border:0;padding:0}.table>svg{width:100%;height:100%;filter:drop-shadow(3px 12px 3px #5d3d2938)}.table:hover{background:none;filter:brightness(1.08)}.table .table-mess{position:absolute;left:22%;top:-5%;width:58%;height:70%}.table-label{font:italic 9px var(--serif);position:absolute;left:0;right:0;bottom:0;text-align:center;color:#5f4733;pointer-events:none}.dirty .table-label{color:#fff0c9;text-shadow:0 1px #5b4334}.clean-spark{position:absolute;top:0;left:40%;color:#eff6c2;font-size:35px;animation:spark 1s infinite}.agent{position:absolute;width:10%;height:16%;padding:0;transform:translate(-50%,-88%);background:none;border:0;pointer-events:auto;overflow:visible}.agent:hover{background:none}.character-body{width:100%;height:100%;display:block;transform-origin:50% 100%;filter:drop-shadow(2px 6px 1px #4b352b38)}.character-body .sprite{width:100%;height:100%;display:block}.agent.pixie{width:8.2%;height:14%}.agent.pixie .character-body{animation:hovering 1.5s ease-in-out infinite}.agent.slime{width:10%;height:14%}.agent.slime.working .character-body{animation:slime-work .9s ease-in-out infinite}.agent.bouncer{width:12%;height:20%}.agent.selected .character-body{filter:drop-shadow(0 0 2px #fff3be) drop-shadow(0 0 5px #fff3be)}.agent-name{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);color:#f5e9cc;background:#564433da;border:1px solid #a58a5850;font-size:8px;border-radius:4px;padding:2px 5px;white-space:nowrap;pointer-events:none}.guest .agent-name{display:none}.guest:hover .agent-name{display:block}.carried-item{position:absolute;right:-12%;bottom:3%;height:66%;width:66%;filter:drop-shadow(0 2px 0 #493c3350)}.order-bubble{position:absolute;bottom:93%;left:50%;transform:translateX(-50%);min-width:69px;height:43px;border:2px solid #5c4b3b;border-radius:9px 10px 7px 12px;background:#fbefd1;display:flex;align-items:center;justify-content:center;gap:0;box-shadow:2px 3px #392d311c;padding:2px 7px 7px 1px;z-index:1}.order-bubble:after{content:'';position:absolute;bottom:-7px;width:9px;height:9px;background:#fbefd1;border-right:2px solid #5c4b3b;border-bottom:2px solid #5c4b3b;transform:rotate(40deg);z-index:-1}.order-bubble .sprite{width:31px;height:31px}.order-bubble b{font:bold 10px var(--serif)}.order-bubble small{position:absolute;bottom:4px;font-size:7px;left:23px}.order-bubble .meter{position:absolute;bottom:2px;left:7px;right:7px;height:3px;border:0;background:#d9c49d}.order-bubble .meter i{background:#8fa46d}.order-bubble.assigned{background:#c9ddbd;border-color:#536a4c;padding-bottom:12px}.order-bubble.assigned:after{background:#c9ddbd;border-color:#536a4c}.order-bubble.assigned .meter{display:none}.thought{position:absolute;bottom:94%;left:50%;transform:translateX(-50%);border:1px solid #68523e;background:#f4e7c2ed;padding:5px 7px;border-radius:7px;font:italic 9px var(--serif);white-space:nowrap}.thought.danger{background:#bd6343;color:#fff1ca}.valid-target .order-bubble{box-shadow:0 0 0 3px #f5cf6d,0 0 18px #f7d36f}.table.valid-target{filter:drop-shadow(0 0 4px #fbe294)}.tipsy .character-body{animation:sway 2s ease-in-out infinite}.rowdy .character-body{filter:drop-shadow(0 0 3px #d86b3a)}.dragon.working .sprite{animation:dragon-work 1.6s ease-in-out infinite}.scene-note{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:#433b34e6;color:#eadbb9;z-index:1000;border-radius:4px;font-size:10px;padding:7px 12px;white-space:nowrap}.scene-note:empty{display:none}.alert-strip{min-height:35px;background:#e8d6ae;border-top:1px solid #bd9d67;border-bottom:1px solid #d4c39e;display:flex;justify-content:center;align-items:center;gap:8px;font-size:10px;padding:5px 10px;color:#735c3c}.ink-star{font-size:17px}.ready-alert{padding:4px 13px;background:#6f4733;color:#fff1c4;border:0;border-radius:3px;font-size:11px}.ready-alert:hover{background:#8a5737}.command-tray{display:flex;min-height:105px;gap:18px;padding:13px 16px;background:#f1e7ce;align-items:stretch}.tray-section>small{font-size:8px;letter-spacing:1.25px;color:#8d7858;display:block;margin-bottom:9px}.staff-buttons,.item-buttons{display:flex;gap:6px;flex-wrap:wrap}.worker-choice,.item-choice{display:flex;align-items:center;background:#fbf1db;padding:4px 8px 4px 3px;border:1px solid #d6c49f;border-radius:6px;min-width:74px;text-align:left}.worker-choice .sprite{width:37px;height:39px}.worker-choice strong{display:block;font-size:11px}.worker-choice small{font-size:8px;color:#8d7858}.worker-choice.active,.item-choice.active{background:#e4edd6;border-color:#718267;box-shadow:inset 0 0 0 1px #718267}.item-choice{padding:3px 7px 3px 2px;min-width:65px}.item-choice .sprite{width:29px;height:35px}.item-choice span{font-size:9px;color:#826746}.item-choice b{display:block;color:#51432f;font:700 17px var(--serif)}.item-choice.empty{opacity:.65}.command-status{border-left:1px solid #d7c8a9;padding-left:15px;min-width:130px;flex:1;align-self:center}.command-status b{display:block;font:italic 13px/1.3 var(--serif)}.command-status span{display:block;font-size:9px;color:#917d60;margin-top:5px}.command-status button{border:0;background:transparent;padding:5px 0 0;color:#927754;font-size:9px}.ledger{border-left:1px solid #cfc0a4;min-width:0;display:flex;flex-direction:column;max-height:100%;overflow:hidden;background:#f8f0de}.ledger-tabs{display:flex;border-bottom:1px solid var(--line);height:46px;flex-shrink:0;padding:0 10px;background:#eee3ca}.ledger-tabs button{font-size:10px;border:0;border-radius:0;background:transparent;padding:0 8px;flex:1;color:#927e5e}.ledger-tabs button.active{color:#41604f;border-bottom:3px solid #66816b;font-weight:bold}.ledger-content{padding:23px 21px 15px;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c5b18b transparent;min-height:0;max-height:590px}.ledger-content>p{font-size:11px}.primary{background:var(--green);color:#fff3d7;border:1px solid #315446;font-size:11px;line-height:1.3;padding:11px 13px}.primary:hover{background:#4f7f6b}.ledger-content>.primary{width:100%}.shift-card{padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:25px}.shift-card>div{display:grid;grid-template-columns:45px 1fr;align-items:center;gap:8px;margin-top:10px}.shift-card strong{font:700 24px var(--serif)}.shift-card span:not(.eyebrow){font-size:10px;color:#8b795d}.margin-note{font:italic 17px/1.6 var(--serif);text-align:center;padding:17px 8px;margin-top:17px!important;color:#a28d69}.text-button{background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:#8d7552;font-size:10px;padding:9px 0}.ledger-card{padding:14px 12px;border:1px solid #dbccaa;border-radius:5px;margin:13px 0;background:#f2e6cb}.ledger-card p{font-size:11px;margin:6px 0 10px}.ledger-card h3{font-size:15px}.small-action{padding:7px 10px;font-size:10px;border-color:#c7b58d}.installed{font-size:10px;color:#5d805c}.batch-title{display:flex;align-items:center;gap:7px;margin:8px 0;font:700 13px var(--serif)}.batch-title .sprite{width:35px;height:35px}.batch-card>.primary,.recipe>.primary{width:100%}.batch-status{font-weight:bold}.batch-status.ready{color:#3f7953}.batch-status.ruined{color:#a44f37}.recipe+.recipe{border-top:1px dashed #cbb895;margin-top:15px;padding-top:10px}.dragon-fuel{padding:12px;background:#ecdfbd;border:1px solid #ccb58a;border-radius:5px}.dragon-fuel b{font-size:11px}.dragon-fuel button{width:100%;margin-top:10px;font-size:10px}.meter{height:5px;background:#d8c8a2;border-radius:3px;overflow:hidden;margin-top:7px}.meter i{display:block;height:100%;background:#879974;border-radius:3px}.meter.ready i{background:#e2bb62}.meter.preparing i{background:#e0c290}.danger-link{font-size:9px;background:none;border:0;color:#9f5a40;text-decoration:underline;padding:8px 0}.fineprint{font-size:9px!important;line-height:1.6!important;color:#9c8665!important}.locked-label{font-size:10px;color:#9a7645}.stock-list{display:grid;grid-template-columns:1fr 1fr;gap:1px 12px;margin-bottom:24px}.stock-list>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dotted #d4c6a9;padding:7px 0;font-size:10px;text-transform:capitalize;color:#8b7657}.stock-list b{font:700 17px var(--serif);color:#594c39}.supply-button{display:flex;justify-content:space-between;width:100%;margin:6px 0;padding:10px 12px;font-size:11px;text-transform:capitalize}.supply-button b{color:#8c6c36}.recovery{padding-top:20px;border-top:1px solid var(--line);margin-top:22px}.recovery p{font-size:10px}.recovery button{font-size:10px;width:100%}.quest-card .eyebrow{font-size:8px;color:#62785a}.quest-card h3{margin-top:5px}.quest-card>b{font-size:10px;color:#6c7c5a;display:block}.contract{padding:14px 0;border-bottom:1px solid var(--line)}.contract p{font-size:10px;margin:5px 0 8px}.contract button{padding:6px 10px;font-size:10px}.contract small{color:#a58e6d}.history-entry{border-left:2px solid #b9ad8a;padding-left:10px;font-style:italic}.portrait{display:flex;justify-content:center;margin-top:8px}.portrait .sprite{width:104px;height:104px}.settings-actions{display:flex;flex-direction:column;gap:7px}.settings-actions button{font-size:11px}.debug{margin-top:25px;border:1px dashed #c8b895;padding:10px;font-size:10px}.debug button{font-size:10px;margin:3px}.pace{display:flex;flex-direction:column;gap:6px;margin-top:9px}.pace button{font-size:10px}.pace button.active{background:#dce5c8;border-color:#869771}.invitation{margin-top:22px;border:1px solid #cdb389;background:#f1dfb6;padding:12px;transform:rotate(-1deg)}.invitation h3{margin-top:7px}.invitation p{font-size:11px}.invitation small{display:block;margin-top:10px;line-height:1.4;color:#92764d}.distinction{margin-top:20px;text-align:center;border:1px double #bc9d52;padding:14px;font:bold 16px var(--serif);color:#9b7936}.distinction small{display:block;font:italic 10px var(--serif);margin-top:6px}.tavern-log{padding:16px 20px 12px;border-top:1px solid #d9c8a6;background:#eee1c6;flex-shrink:0}.tavern-log h3{font-size:13px;color:#7e6a4e;margin-bottom:11px}.tavern-log ol{list-style:none;padding:0;margin:0}.tavern-log li{font:10px/1.5 var(--sans);color:#937e5e;padding:5px 0 5px 12px;border-bottom:1px solid #d9c9a873;position:relative}.tavern-log li:before{content:'·';position:absolute;left:0;color:#ac8c51}.tavern-log li:first-child{color:#5f6148}.tavern-log li:last-child{border:0}.page-footer{display:flex;justify-content:space-between;color:#9a896b;font-size:8px;letter-spacing:1.25px;padding:12px 1px}.page-footer span:last-child{font-size:9px;letter-spacing:0}kbd{font:9px var(--sans);background:#f4ecd9;border:1px solid #d5c9ad;border-radius:3px;padding:2px 4px;margin:0 3px 0 7px}.pause-overlay{position:absolute;inset:0;z-index:1200;background:#2f302b69;backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;padding:18px}.pause-overlay.visible{display:flex}.pause-card,.results-card{width:370px;padding:30px;background:#f5e9ca;border:2px solid #735c40;box-shadow:7px 9px 0 #3d332b4d;border-radius:8px 11px 5px 9px;text-align:center;position:relative;transform:rotate(-.5deg)}.pause-card:before,.results-card:before{content:'✦';font-size:30px;color:#b28d47;display:block;margin-bottom:10px}.pause-card h2{font-size:35px}.pause-card p{font-size:12px}.pause-card .primary,.results-card .primary{width:100%;margin-top:4px}.pause-card>small,.results-card>small{display:block;font-size:9px;color:#9b8663;margin-top:15px}.results-card{width:490px;padding:20px 28px;max-height:98%;overflow:auto}.results-card:before{font-size:22px;margin:0}.results-card h2{font-size:31px;margin-bottom:5px}.results-card>p{font-size:11px;margin:6px 0 12px}.results-totals{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #d3bd90;border-bottom:1px solid #d3bd90;padding:15px 0;gap:10px}.results-totals span{display:block;font-size:9px;color:#947950}.results-totals b{font:700 26px var(--serif);display:block;margin-top:6px}.results-totals div:last-child b{color:#4f755c}.results-details{display:grid;grid-template-columns:1fr 1fr;gap:9px;text-align:left;font-size:10px;color:#8a7151;padding:15px 0}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#3e493e;color:#fff1d1;border:1px solid #b1a37c;box-shadow:0 3px 20px #2224;max-width:560px;padding:14px 22px;border-radius:6px;font-size:12px;line-height:1.5;z-index:10000}.toast[hidden]{display:none}.is-paused *{animation-play-state:paused!important}@keyframes hovering{50%{translate:0 -4px;rotate:3deg}}@keyframes sway{0%,100%{rotate:-3deg}50%{rotate:3deg}}@keyframes slime-work{50%{scale:1.08 .88}}@keyframes dragon-work{50%{translate:2px -2px;rotate:4deg}}@keyframes spark{50%{opacity:.4;scale:.85}}
@media(min-width:1500px){.tavern-app{max-width:1450px}.ledger-content{max-height:650px}}@media(max-width:1200px){.tavern-app{padding:17px 18px 10px}.workplace{grid-template-columns:minmax(0,1fr) 245px}.status-bar{gap:19px}.day-tag{padding-right:15px;min-width:95px}.phase-status{padding-left:18px}.command-tray{gap:10px;padding:10px}.command-status{min-width:105px;padding-left:10px}.worker-choice{min-width:62px;padding-right:5px}.worker-choice .sprite{width:28px}.item-choice{min-width:52px;padding-right:5px}.item-choice .sprite{width:24px}.ledger-content{padding:19px 17px;max-height:490px}.ledger-content h2{font-size:25px}.station-sign{font-size:10px;padding:3px 7px}.station-state{font-size:8px}.tavern-log{padding:12px 16px}.tavern-log li{font-size:9px}.header-actions .save-label{font-size:7px;margin-right:0}h1 span{display:none}.tray-section>small{font-size:7px}.resource strong{font-size:22px}.order-bubble{scale:.9;transform-origin:0 100%}}
@media(max-width:980px){.tavern-app{padding:12px}.status-bar{gap:12px;padding:10px}.workplace{grid-template-columns:minmax(0,1fr) 225px}.resource small{font-size:8px}.phase-status{padding-left:12px}.phase-status small{display:none}.countdown{margin-left:5px;font-size:23px;min-width:48px}.quiet-button,.pause-button{font-size:10px;padding:8px}.command-status{display:none}.command-tray{justify-content:space-between}.station-state{font-size:7px}.ledger-content{max-height:420px}.save-label{display:none}.page-footer>span:first-child{display:none}.page-footer{justify-content:flex-end}.tavern-log li:nth-child(n+3){display:none}.scene-caption{font-size:6px}.results-card{padding:15px;width:420px}.results-card h2{font-size:25px}.results-card:before{display:none}.results-totals{padding:9px 0}.results-details{padding:10px 0;gap:5px}}
@media(max-width:760px){.tavern-app{min-width:580px;padding:8px}.masthead{margin-bottom:10px}.wordmark{gap:7px}.brand-seal{width:36px;height:39px}h1{font-size:23px}.wordmark .eyebrow{font-size:7px}.header-actions{gap:4px}.icon-button{font-size:8px}.workplace{display:flex;flex-direction:column}.ledger{border-left:0;border-top:1px solid var(--line)}.ledger-content{max-height:330px}.tavern-log{display:none}.status-bar{gap:14px;height:62px}.day-tag{min-width:70px}.day-tag span{font-size:6px}.day-tag strong{font-size:20px}.resource{gap:5px}.resource strong{font-size:20px}.resource small{display:none}.coin{width:24px;height:24px;font-size:15px}.rep-symbol{font-size:24px}.phase-status strong{font-size:10px}.phase-status{padding-left:9px}.phase-dot{display:none}.countdown{font-size:21px;min-width:42px}.pause-button{min-width:65px}.command-tray{justify-content:flex-start;gap:25px}.command-status{display:block}.page-footer:before{content:'Best with a desktop mouse or trackpad.';margin-right:auto;font-size:8px;letter-spacing:0}.order-bubble{scale:.85}.pause-card{width:330px;padding:20px}.pause-card h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.rowdy-warning{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);white-space:nowrap;background:#a95135;color:#fff1d0;padding:3px 6px;border:1px solid #6e402d;border-radius:4px;font:700 8px var(--sans)}

/* Crisp cartoon palette: quiet warm surfaces, bold ink, teal actions and coral messes. */
:root{--ink:#263d43;--muted:#647677;--paper:#fff3d7;--cream:#fffaeb;--line:#d9c9a4;--green:#237f77;--orange:#e68061;--gold:#f5be55;--serif:'Trebuchet MS',Verdana,sans-serif;--sans:'Trebuchet MS',Verdana,sans-serif}
body{background:#f5e9cd;background-image:none;color:var(--ink)}
button{border-radius:8px;border-color:#c9c1a5;background:#fff9e9;font-weight:600}
button:hover{background:#ffe5a0}
h2{font-size:26px;line-height:1.18;letter-spacing:-.8px}h3{font-size:14px}p{color:#64716c}
.wordmark h1{font-size:27px;letter-spacing:-1.2px}.wordmark .eyebrow{color:#51857a}
.brand-seal{border-color:#263d43;border-width:3px;color:#263d43;background:#ffd166;box-shadow:none;transform:rotate(-5deg)}
.status-bar{border:2px solid #344d50;border-bottom-width:1px;border-radius:12px 12px 0 0;background:#fff6df;box-shadow:none}
.workplace{border:2px solid #344d50;border-top:0;border-radius:0 0 12px 12px;overflow:hidden;box-shadow:0 6px 0 #d8c5a4}
.phase-dot{background:#2aaf97;box-shadow:0 0 0 4px #d8efcf}.phase-dot.paused{background:#e8a84e;box-shadow:0 0 0 4px #ffe4a4}
.pause-button,.primary{background:#237f77;border:2px solid #263d43;color:#fff8df;border-radius:8px;box-shadow:0 2px 0 #263d43}
.pause-button:hover,.primary:hover{background:#31998c}.coin{background:#ffd166;color:#754e31;border-color:#aa7942;box-shadow:inset 0 0 0 2px #ffe7a2}
.rep-symbol{color:#299f90}.resource strong,.day-tag strong{color:#30464a}
.scene-caption{color:#fff3cc;text-shadow:none}.scene-caption span{padding:5px 7px;background:#3d625b85;border-radius:5px}
.station img,.character-body,.table>svg{filter:drop-shadow(2px 4px 0 #6d553324)}
.station-sign{border:2px solid #34484a;background:#ffe7a2;color:#30474a;border-radius:6px;box-shadow:0 2px 0 #34484a24;font-weight:700;transform:translateX(-50%);padding:4px 9px}
.station-state{background:#416661;color:#fff5d9;border:1px solid #2f4b4c;border-radius:5px;font-size:9px}
.station.ready .station-state{background:#ffd166;color:#2f4749;border-color:#2f4749}.station.ruined .station-state{background:#e58065;color:#263d43}
.station.selected img{filter:drop-shadow(0 0 2px #fff8d8) drop-shadow(0 0 4px #ffda78)}
.dragon span{background:#fff1c5;color:#34484a;border:1px solid #6d6651;font-weight:700}
.bouncer-post{color:#426c64;border:2px dashed #659b8860;background:#fff4cb55;border-radius:9px;font-style:normal;transform:none}
.agent.selected .character-body{filter:drop-shadow(0 0 2px #fff8dc) drop-shadow(0 0 5px #ffe081)}
.agent-name{background:#2d5956;color:#fff6d5;border:1px solid #243e43;font-weight:600;border-radius:5px;padding:3px 6px}
.order-bubble{background:#fff9e3;border:2px solid #263d43;border-radius:11px;box-shadow:0 3px 0 #263d4326;min-width:78px;height:46px}
.order-bubble:after{background:#fff9e3;border-color:#263d43}.order-bubble b{font-size:11px}.order-bubble .meter i{background:#2eb7a1}
.order-bubble.assigned{background:#c4eed4;border-color:#32776d}.order-bubble.assigned:after{background:#c4eed4;border-color:#32776d}
.thought{background:#fff3d3;border:2px solid #365052;border-radius:8px;color:#365052;font-style:normal}
.thought.danger,.rowdy-warning{background:#f18b70;color:#263d43;border-color:#263d43}
.valid-target .order-bubble{outline:3px solid #ffce59;outline-offset:2px;box-shadow:0 3px 0 #263d4326}
/* Scene characters remain selectable; their decorative children never steal clicks. */

.table .table-mess{left:0;top:0;width:100%;height:100%;filter:none;pointer-events:none}
.table-label{font-size:9px;font-style:normal;font-weight:700;color:#765437;background:#fce3acb8;left:22%;right:22%;bottom:-3%;padding:3px 0;border-radius:5px}
.dirty .table-label{font-size:10px;left:12%;right:12%;bottom:-4%;padding:4px 0;color:#fff7df;background:#a34c3a;border:2px solid #593c36;text-shadow:none;box-shadow:0 2px 0 #6a4c3340}
.cleaning .table-label{background:#237f77;border-color:#263d43;color:#fff7dc}.clean-spark{z-index:2;color:#efffea;text-shadow:0 1px #2b7b6d}
.alert-strip{background:#ffdc8c;border-color:#b99b60;color:#5e5239;font-weight:600;min-height:38px}
.ready-alert{background:#e88768;color:#263d43;border:2px solid #263d43;border-radius:6px}.ready-alert:hover{background:#ffac80}
.command-tray{background:#fff3d6;border-top:1px solid #e8cf99}.worker-choice,.item-choice{background:#fffaeb;border:2px solid #d4c7a6;border-radius:9px}
.worker-choice.active,.item-choice.active{background:#c6edda;border-color:#267b72;box-shadow:0 2px 0 #267b72}.item-choice b{color:#294b4b}
.command-status{border-color:#d9c59a}.command-status b{font-style:normal;color:#386961;line-height:1.4}
.ledger{background:#fff8e8;border-left:2px solid #344d50}.ledger-tabs{background:#e7efda;border-color:#b4c5ac}.ledger-tabs button{color:#728275}
.ledger-tabs button.active{color:#227b72;border-bottom:3px solid #227b72}.ledger-card{background:#f8eed3;border:1px solid #d3c6a2;border-radius:9px}
.tavern-log{background:#edf0dd;border-top-color:#c5ceaf}.tavern-log h3{color:#3a6d63}.tavern-log li{color:#73816c}.tavern-log li:first-child{color:#3a6058}
.margin-note{color:#81917a;font-size:14px;font-style:italic}.eyebrow{color:#7e8a6c}.shift-card{border-color:#d4c6a3}
.dragon-fuel{background:#ffdfa0;border:1px solid #d6b173;border-radius:8px}.meter{background:#d9d3ae}.meter i{background:#41aa91}
.settings-actions button,.supply-button{border-radius:8px}.invitation{background:#ffde92;border:2px solid #a98448;border-radius:10px;transform:none}
.pause-overlay{background:#264b4652;backdrop-filter:blur(1px)}.pause-card,.results-card{background:#fff3d3;border:3px solid #263d43;box-shadow:6px 7px 0 #263d4340;border-radius:16px;transform:none}
.pause-card:before,.results-card:before{color:#e9a94b}.pause-card h2{font-size:32px}.results-card h2{font-size:28px}.results-totals b{font-size:25px}
.toast{background:#2b615a;color:#fff6dd;border:2px solid #263d43;border-radius:10px;box-shadow:0 3px 0 #263d4330}
@media(max-width:1200px){.station-sign{font-size:9px}.station-state{font-size:8px}.order-bubble{scale:.9}.dirty .table-label{font-size:9px}.ledger-content h2{font-size:23px}}
@media(max-width:760px){.ledger{border-left:0;border-top:2px solid #344d50}.wordmark h1{font-size:23px}.order-bubble{scale:.85}}

/* Room-first interactions: stable buttons, tangible storage and station-local actions. */
.scene .agent{pointer-events:auto}.scene .agent *{pointer-events:none}
.storage-layer,.station-actions-layer,.transfer-layer{position:absolute;inset:0;pointer-events:none}
.storage-layer{z-index:6}.station-actions-layer{z-index:7}.transfer-layer{z-index:8}
.stored-stock{position:absolute;transform:translate(-50%,-72%);width:15%;height:19%;border:0;background:none;padding:0;pointer-events:auto}
.stored-stock:hover{background:none;filter:brightness(1.08)}.stored-stock img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.stored-stock>.sprite{width:100%;height:100%;pointer-events:none}.stored-stock span{position:absolute;left:50%;bottom:-2%;transform:translateX(-50%);white-space:nowrap;border:2px solid #55483a;background:#f6dfad;border-radius:5px;padding:4px 9px;font-size:11px;pointer-events:none}
.stored-stock span b{margin-left:5px;font-size:16px}.stored-stock small{position:absolute;left:50%;bottom:-23%;transform:translateX(-50%);white-space:nowrap;background:#496f62;color:#fff3d1;padding:4px 6px;border-radius:4px;font-size:9px}
.stored-stock.selected img,.stored-stock.selected>.sprite{filter:drop-shadow(0 0 4px #ffe39c)}.stored-stock.selected span{background:#d8e4c5;border-color:#496f62;box-shadow:0 0 0 3px #ffe39c}
.stored-stock.empty img,.stored-stock.empty>.sprite{opacity:.48}.stock-health,.stock-mana{width:8%;height:10%}.stock-health span,.stock-mana span{font-size:9px;padding:3px 6px}.stock-health span b,.stock-mana span b{font-size:12px}
.station-action{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;max-width:19%;padding:7px 10px;border:2px solid #68533b;background:#f6e5bc;border-radius:8px;box-shadow:0 3px 0 #59442a25;font-size:10px;line-height:1.3}
.station-action strong,.station-action span,.station-action small{display:block;pointer-events:none}.station-action strong{font-size:12px}.station-action span{font-size:11px;margin-top:3px}.station-action small{font-size:8px;margin-top:4px;font-weight:normal}.station-action .meter{pointer-events:none}
.station-action.ready{background:#ffe09c;border:3px solid #a75f3c;box-shadow:0 0 0 4px #fff1c17a,0 4px 0 #59442a25;min-width:17%}.station-action.ready strong{font-size:15px;color:#91472f}.station-action.ready span{font-weight:bold;font-size:13px}.station-action.ready small{font-size:10px;font-weight:bold;color:#745336}
.station-action.ruined{background:#c99173}.station-action.preparing{background:#f7e6c6}.station-action.idle{white-space:nowrap;padding:7px 12px}
.dragon{left:34%;top:23%;z-index:2}.dragon.working .sprite{animation:none}.dragon-breath{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}.flame-outer{fill:#ed9d50;stroke:#b9713b;stroke-width:2;transform-origin:432px 231px;animation:fire-breath .35s ease-in-out infinite alternate}.flame-inner{fill:#ffe5a1;transform-origin:432px 231px;animation:fire-breath .22s ease-in-out infinite alternate-reverse}
@keyframes fire-breath{from{scale:1 .84}to{scale:1.08 1.07}}
.stock-transfer{position:absolute;transform:translate(-50%,-80%);width:8%;pointer-events:none}.stock-transfer img{width:100%;rotate:var(--roll);filter:drop-shadow(0 0 5px #ffe7a1)}.stock-transfer span{display:block;text-align:center;white-space:nowrap;font-size:9px;font-weight:bold;color:#fff1cf;text-shadow:1px 1px #54432f}
.command-tray{min-height:70px;align-items:center;justify-content:space-between;gap:12px}.room-controls-hint b,.room-controls-hint span{display:block}.room-controls-hint b{font-size:13px;color:#526f5c}.room-controls-hint span{font-size:11px;margin-top:5px;color:#8c795a}.room-controls-tip{font-size:9px;color:#948269}
/* Cozy book palette: cream paper, honey light and gentle sage paint. */
:root{--ink:#443f38;--paper:#f6ecd5;--cream:#fff8e5;--green:#587e68;--serif:Georgia,'Times New Roman',serif;--line:#dacbae}
body{background:#e8dfca;background-image:radial-gradient(#8e79600a .7px,transparent .8px);background-size:4px 4px}
.wordmark h1{font-family:Georgia,'Times New Roman',serif;font-size:29px;color:#4d493b;letter-spacing:-.7px}.wordmark .eyebrow{color:#91805e}
h2,h3{font-family:var(--serif)}.ledger-content h2{font-size:27px}.status-bar{background:#f8efd9;border-color:#877357}.workplace{border-color:#877357;box-shadow:0 5px 0 #cdbb9750}.ledger{background:#faf2e0;border-color:#c4b190}.ledger-tabs{background:#e6e8cf;border-color:#c5c9aa}.tavern-log{background:#ece6d0}
.brand-seal{background:#e9ce8d;color:#5d644b;border-color:#827356}.primary,.pause-button{background:#587e68;border-color:#435e4c;box-shadow:0 2px 0 #435e4c}.primary:hover,.pause-button:hover{background:#6b9178}.station-sign{background:#f4dfb4;border-color:#866b4d;color:#5a4c37}.station-state{background:#6b775a;border-color:#555f46;color:#fff2d3}
.pause-card,.results-card{background:#f7ecd0;border-color:#8c7351;box-shadow:5px 7px 0 #6b57312e}.pause-card h2,.results-card h2{font-family:Georgia,'Times New Roman',serif}.alert-strip{background:#e8d6ab;border-color:#c7ad79}.command-tray{background:#f4e9cd}.order-bubble{border-color:#65533f;background:#fff4d9}.order-bubble:after{background:#fff4d9;border-color:#65533f}.thought{border-color:#8b7656;background:#faf0d8}.agent-name{background:#63745c;border-color:#45563e}.scene-caption span{background:#6e5d3d70}
@media(max-width:1200px){.station-action{font-size:9px}.station-action strong{font-size:10px}.station-action.ready strong{font-size:12px}.station-action.ready span{font-size:10px}.station-action.ready small{font-size:8px}.stored-stock span{font-size:9px;padding:3px 6px}.stored-stock span b{font-size:13px}.room-controls-hint span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.flame-outer,.flame-inner{animation:none}}
/* Order bubbles extend beyond the character box, but keep their own stable click surface. */
.scene .agent .order-bubble{pointer-events:auto}

/* A large illustrated floor: fixed world units keep every character and click target readable. */
.room-shell{position:relative}.scene-viewport{background:#cda779}
.scene{width:1800px;height:1150px;aspect-ratio:auto;overflow:hidden}.scene-caption{left:30px;top:21px}
.scene .station{width:230px;height:175px}.scene .quest-board{left:840px;top:231px;width:140px;height:168px}.scene .dragon{left:340px;top:161px;width:110px;height:126px;z-index:5}.scene .dragon-breath{width:1000px;height:700px}.scene .bouncer-post{left:30px;top:266px}
.scene .table{width:200px;height:119px}.scene .agent{width:100px;height:112px}.scene .agent.pixie{width:82px;height:98px}.scene .agent.slime{width:48px;height:47px}.scene .agent.bouncer{width:120px;height:140px}.scene .agent.slime .agent-name{font-size:8px;bottom:-7px}
.scene .stored-stock{width:150px;height:133px}.scene .stock-health,.scene .stock-mana{width:80px;height:70px}.scene .station-action{max-width:190px;min-width:120px}.scene .station-action.ready{min-width:170px}.scene .station .meter{display:none}.scene .station-state{bottom:-17%}
.scene .station-action{font-size:10px}.scene .station-action strong{font-size:12px}.scene .station-action.ready strong{font-size:15px}.scene .station-action.ready small{font-size:10px}.scene .station-action .meter{height:7px}
.scene .order-bubble{scale:1}.scene .guest{z-index:1000}.scene .agent.pixie .character-body{animation:cozy-hover 1.6s ease-in-out infinite}.scene .agent.pixie.working .character-body{animation-duration:.9s}
@keyframes cozy-hover{0%,100%{translate:0 -3px;rotate:-2deg}50%{translate:0 -9px;rotate:2deg}}
.carried-keg{position:absolute;right:-20px;bottom:-2px;width:58px;height:50px;rotate:-8deg}.carried-keg img{width:100%;height:100%;object-fit:contain}
.table-slot{position:absolute;transform:translate(-50%,-43%);width:180px;height:105px;background:#fbeac21a;border:2px dashed #927b5766;border-radius:40%;color:#806a46;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.table-slot b{font-size:25px;font-weight:normal}.table-slot span{font:13px Georgia,serif}.table-slot small{font-size:9px}.table-slot:hover{background:#ffedc160;border-color:#806a46}
.cleaning-progress{position:absolute;left:20%;width:60%;top:-12%;background:#fbefd8;padding:5px 7px;border:1px solid #6a8063;border-radius:7px;pointer-events:none}.cleaning-progress .meter{margin:0;height:7px}.cleaning-progress .meter i{background:#61977b}.cleaning-progress small{font-size:9px;display:block;margin-top:3px;color:#47634e}
.scene .agent-layer{z-index:5}.scene .storage-layer{z-index:4}.scene .transfer-layer{z-index:6}.scene .station-actions-layer{z-index:7}
.supply-package{position:absolute;width:64px;height:75px;transform:translate(-50%,-70%);padding:0;border:0;background:none!important;pointer-events:auto}.supply-package img{width:64px;height:64px;pointer-events:none;filter:drop-shadow(1px 3px 0 #79623b20)}.supply-package span,.supply-package small{display:block;position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:5px;pointer-events:none}.supply-package span{top:61px;background:#fff0cb;border:1px solid #9d8152;font-size:8px;padding:3px 5px}.supply-package small{top:83px;font-size:8px;color:#68543a}.supply-package.landing{animation:parcel-toss .7s ease-out both}.supply-package.opening img{animation:parcel-wiggle .2s ease-in-out infinite alternate}
@keyframes parcel-toss{0%{translate:-120px -110px;rotate:-40deg;opacity:0}50%{translate:-30px -65px;rotate:18deg;opacity:1}85%{translate:0 4px;rotate:-5deg}100%{translate:0 0;rotate:0deg}}
@keyframes parcel-wiggle{from{rotate:-5deg;translate:0 -2px}to{rotate:5deg;translate:0 1px}}
.loot-reveal{position:absolute;transform:translate(-50%,-100%);width:190px;padding:12px;background:#fff3ce;border:2px solid #a88b50;border-radius:12px;box-shadow:0 0 0 6px #ffe9a455,0 8px 20px #6c513749;pointer-events:none;animation:loot-bloom .45s ease-out}.loot-reveal strong{display:block;font:13px Georgia,serif;color:#657651;margin-bottom:7px}.loot-reveal span{display:block;font-size:12px;padding:3px;color:#795e3d;animation:loot-item .5s both;animation-delay:var(--delay)}.loot-reveal b{color:#48856a;margin-right:7px}.loot-reveal small{display:block;font-size:8px;margin-top:8px;color:#927a52}
@keyframes loot-bloom{from{scale:.6;opacity:0;filter:brightness(2)}to{scale:1;opacity:1;filter:brightness(1)}}@keyframes loot-item{from{translate:0 8px;opacity:0}to{translate:0 0;opacity:1}}
.scene-note{left:20px;bottom:20px}.room-shell .pause-overlay{position:absolute;inset:0}.scene-viewport:focus-visible{outline:3px solid #72937b;outline-offset:-3px}.ledger-content{max-height:650px}
@media(max-width:760px){.room-shell .pause-overlay{padding:12px}}
@media(prefers-reduced-motion:reduce){.scene .agent.pixie .character-body,.supply-package,.supply-package.opening img,.loot-reveal,.loot-reveal span{animation:none}}

/* Whole-room view: resize the world to fit, keeping the ledger and pause card at native size. */
.tavern-app{max-width:1800px;padding-left:20px;padding-right:20px}.workplace{grid-template-columns:minmax(0,1fr) 260px}
.scene-viewport{position:relative;width:100%;height:auto;aspect-ratio:1800/1150;overflow:hidden}.scene{position:absolute;left:0;top:0;transform-origin:0 0}.ledger-content{max-height:600px}
.scene .agent-name{font-size:12px}.scene .agent.slime .agent-name{font-size:11px}.scene .table-label{font-size:12px}.scene .dirty .table-label{font-size:12px}.scene .order-bubble{min-width:90px;height:52px}.scene .order-bubble b{font-size:14px}.scene .order-bubble small{font-size:9px}.scene .order-bubble .sprite{width:36px;height:36px}
.scene .station-action strong{font-size:15px}.scene .station-action span{font-size:13px}.scene .station-action small{font-size:11px}.scene .dragon span{font-size:12px}.scene .supply-package span{font-size:11px}.scene .supply-package small{font-size:10px}.scene .cleaning-progress small{font-size:12px}.scene .table-slot span{font-size:16px}.scene .table-slot small{font-size:12px}
@media(max-width:900px){.workplace{grid-template-columns:1fr}.ledger{border-left:0;border-top:1px solid #c4b190}.ledger-content{max-height:380px}.tavern-log{display:none}.scene-viewport{height:auto}.tavern-app{padding-left:8px;padding-right:8px}.room-shell .pause-card h2{font-size:25px}.room-shell .pause-card{padding:16px}.room-shell .pause-overlay{overflow:auto}.page-footer{flex-wrap:wrap;gap:10px}}
.loot-reveal{width:225px}.loot-reveal strong{font-size:16px}.loot-reveal span{display:flex;align-items:center;font-size:16px;padding:0;gap:6px}.loot-reveal .sprite{width:32px;height:32px}.loot-reveal small{font-size:11px}
/* Guests are scenery. The table is the stable serving/cleaning target. */
.scene .agent.guest,.scene .agent.guest *{pointer-events:none!important;cursor:default}.scene .table.serve-target>svg:first-child{filter:drop-shadow(0 0 5px #fff1b5) drop-shadow(0 0 9px #eec565)}
.scene .table.serve-target .table-label{background:#fff0ab;color:#506144;border:2px solid #779969}.scene .table.valid-target .table-label{outline:2px solid #99c99a}
.scene .stock-pile{width:100%;height:100%;overflow:visible;pointer-events:none}.scene .stored-stock.empty .stock-pile{opacity:1}.scene .stored-stock.selected .stock-pile{filter:drop-shadow(0 0 3px #ffe39c)}
.barrel-fill{font:bold 10px Georgia,serif;fill:#4e4938}.stock-overflow{font:bold 13px Georgia,serif;fill:#4e4938}.stock-pile use,.stock-pile image,.stock-pile text{pointer-events:none}
.burn-smoke{position:absolute;left:50%;top:26%;width:90px;height:90px;transform:translate(-50%,-50%);pointer-events:none}.burn-smoke i{position:absolute;left:30%;bottom:0;width:42px;height:40px;border-radius:48% 55% 46% 50%;background:#685849c9;box-shadow:15px -9px 0 #766354a0;animation:burn-puff 1.9s ease-out infinite}.burn-smoke i:nth-child(2){animation-delay:-.5s;left:10%;background:#584a42c0}.burn-smoke i:nth-child(3){animation-delay:-1s;left:45%}.burn-smoke i:nth-child(4){animation-delay:-1.5s;left:20%}.burn-smoke b{position:absolute;left:50%;top:80px;transform:translateX(-50%);white-space:nowrap;background:#a24e38;color:#fff4d7;border:2px solid #5c3f32;padding:5px 8px;border-radius:6px;font-size:12px}.station.scorching .station-state{background:#a24e38;color:#fff4d7}
@keyframes burn-puff{0%{translate:0 15px;scale:.45;opacity:0}20%{opacity:.85}100%{translate:15px -115px;scale:1.6;opacity:0}}
.supply-flight{position:absolute;width:120px;display:flex;flex-direction:column;align-items:center;pointer-events:none;opacity:0;filter:drop-shadow(0 0 10px #fff1b0);will-change:transform,opacity}.supply-flight .sprite{width:64px;height:64px}.supply-flight b{font-size:14px;white-space:nowrap;background:#fff2c7;border:2px solid #ad8c50;border-radius:6px;padding:4px 7px;color:#58624b}
.music-settings{border-bottom:1px solid #d9c7a1;padding-bottom:18px;margin-bottom:18px}.music-settings p{font-size:11px}.music-settings>button{width:100%;font-size:11px;margin:3px 0}.music-settings button.active{background:#d9e5cd;border-color:#6c9075}.volume-buttons{display:flex;gap:5px;margin:8px 0}.volume-buttons button{font-size:10px;flex:1;padding:6px}.music-settings small a{color:#697f60}
@media(prefers-reduced-motion:reduce){.burn-smoke i{animation:none;opacity:.65;translate:0 -20px}}

/* Room-first controls, with the notebook opened only when requested. */
.workplace{display:block}.ledger[hidden]{display:none!important}.ledger{position:fixed;z-index:2000;right:24px;top:100px;width:min(400px,calc(100vw - 40px));max-height:calc(100vh - 125px);overflow:auto;border:2px solid #6c705a;border-radius:12px;box-shadow:0 15px 55px #263f4e55}.ledger-content{max-height:none}.ledger-tabs{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end}.ledger-tabs .close-notebook{flex:0 0 auto;font-size:14px;padding:12px 18px}.ledger .tavern-log{display:none}.scene-caption{display:none}
.scene .agent.slime{width:76px;height:74px;filter:drop-shadow(0 0 3px #fff6cd)}.scene .agent.slime .agent-name{font-size:13px;bottom:-10px;background:#fff4d3;border:1px solid #779a5c;border-radius:10px;padding:2px 7px;color:#314c3d}.slime-trail-layer{position:absolute;inset:0;pointer-events:none;z-index:1}.slime-trail-layer i{position:absolute;width:36px;height:15px;transform:translate(-50%,-50%) rotate(-12deg);background:#91b95d;border:2px solid #6a9948;border-radius:50% 45% 35% 50%;box-shadow:inset 4px 2px #e2edb6}
.scene .station-kitchen{width:170px}.scene .station-kitchen2{width:140px}.scene .station-potion{width:170px}.scene .station-sign{font-size:14px;white-space:nowrap}.scene .station-state{font-size:12px}.scene .station-action{width:145px;font-size:13px;padding:7px}.scene .station-action small{font-size:10px}.scene .station-action strong{font-size:14px}.scene .twin-breath{z-index:2;opacity:.9}
.resident{position:absolute;width:86px;height:110px;transform:translate(-50%,-50%);background:none!important;border:0;padding:0;pointer-events:auto;z-index:6}.resident .sprite{width:100%;height:95px}.resident b,.resident small{display:block;white-space:nowrap;font-size:13px;color:#344d50;text-shadow:0 1px #fff8dd}.resident small{font-size:11px}.resident.brewer{left:120px;top:282px}.resident.witch{left:760px;top:295px}.resident.working .sprite{animation:resident-stir .55s ease-in-out infinite alternate}.resident.working:before{content:'○ ◦ ○';position:absolute;top:-15px;left:40px;color:#5b9b87;font-size:25px;animation:resident-bubbles 1.2s ease-out infinite}.room-mailbox,.room-pantry,.slime-closet{position:absolute;width:140px;transform:translate(-50%,-50%);background:none!important;border:0;padding:0;pointer-events:auto}.room-mailbox{left:85px;top:795px}.room-pantry{left:1100px;top:170px;width:190px}.slime-closet{left:75px;top:1000px;width:120px;pointer-events:none}.room-mailbox img,.room-pantry img,.slime-closet img{width:100%;display:block}.room-mailbox b,.room-mailbox small,.room-pantry b,.slime-closet b{display:block;white-space:nowrap;text-align:center;font-size:14px;color:#344d50;background:#fff4dc;border-radius:8px;padding:3px}.room-mailbox small{font-size:11px;background:none}.room-mailbox:hover img,.room-pantry:hover img{filter:drop-shadow(0 0 5px #efba65)}
.scene .guest.consuming .character-body{animation:enjoy-meal .8s ease-in-out infinite}.scene .meal{position:absolute;left:45%;top:35%;width:42px;height:42px;animation:sip-meal 1.2s ease-in-out infinite;transform-origin:0 100%;pointer-events:none}.scene .meal .sprite{width:42px;height:42px}.scene .meal-stew{top:48%;animation:eat-meal .65s ease-in-out infinite}.scene .meal-stew:after{content:'';position:absolute;width:22px;height:5px;background:#ebdba8;border:1px solid #344d50;left:4px;top:0;transform:rotate(-35deg)}
@keyframes resident-stir{to{transform:rotate(5deg) translateY(-3px)}}@keyframes resident-bubbles{to{transform:translateY(-25px);opacity:0}}@keyframes enjoy-meal{50%{translate:0 -2px;rotate:2deg}}@keyframes sip-meal{35%,65%{transform:translate(-10px,-14px) rotate(-25deg)}}@keyframes eat-meal{50%{transform:translate(-5px,-8px) rotate(8deg)}}
@media(prefers-reduced-motion:reduce){.resident .sprite,.resident:before,.scene .meal,.scene .guest.consuming .character-body{animation:none!important}}
.scene .station-action.ready{min-width:0;width:145px}.resident.brewer{left:300px;top:250px}
/* Moving objects update transform only; stable trail/coin nodes avoid reparsing HTML. */
.scene .agent{left:0;top:0;will-change:transform}.coin-flight-layer{position:fixed;inset:0;pointer-events:none;z-index:1400;overflow:hidden}.flying-coin{position:absolute;left:0;top:0;display:grid;place-items:center;width:20px;height:20px;border:2px solid #91632e;border-radius:50%;background:#ffd55d;box-shadow:inset 0 0 0 2px #ffeaa0,0 2px 2px #503f252b;color:#946329;font:normal bold 11px Georgia,serif;will-change:transform;pointer-events:none}
.sprite.character-art{object-fit:contain;object-position:center bottom;user-select:none}.scene .character-art{filter:none}.scene .agent .character-art{width:100%;height:100%}.scene .dragon .character-art{object-position:center}.scene .resident .character-art{object-position:center bottom}.scene .agent.slime .character-body{filter:drop-shadow(0 2px 1px #52694330)}

/* Evening cafe: keep the cast bright against quiet, dark timber and amber pools of light. */
.scene{background:#443d39}.scene .table-slot{background:#dbc18c08;color:#ddcaa8;border-color:#c2a77c65}.scene .table-slot:hover{background:#eec88325;border-color:#e1c490}.scene .agent-name{color:#fff0ce;text-shadow:0 1px 3px #171e20,0 0 3px #171e20}.scene .resident b,.scene .resident small{color:#fff0ce;text-shadow:0 1px 3px #171e20}.resident.brewer{left:130px;top:300px}.scene .room-mailbox small{color:#efdeba}.scene .bouncer-post{color:#e5cfaa}.scene .slime-trail-layer i{background:#9ac96c;border-color:#78a94e}
.station:has(.hearth-glow){isolation:isolate}.station .hearth-glow{position:absolute;left:50%;top:70%;width:360px;height:280px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#ffd07038 0,#eea94516 35%,transparent 70%);pointer-events:none;z-index:-1}.station.hearth-lit .hearth-glow{background:radial-gradient(ellipse,#ffe19b92 0,#f3ad4555 28%,#e78d2920 48%,transparent 70%);animation:hearth-warmth 1.6s ease-in-out infinite alternate}.station.hearth-lit>img{filter:drop-shadow(0 2px 9px #ffbf60aa)}.hearth-fire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 0 7px #ffba51);animation:hearth-warmth .4s ease-in-out infinite alternate}.station.burnt .burn-smoke i{background:#b8a99cdd;box-shadow:15px -9px 0 #807b76d0}.station.burnt .station-state{background:#73524c;color:#fff0dc}
@keyframes hearth-warmth{from{opacity:.7}to{opacity:1}}
.potion-residue{position:absolute;left:35%;top:30%;color:#b5ef78;font-size:75px;pointer-events:none;text-shadow:3px 3px #547840}.potion-residue b{position:absolute;top:80px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;background:#584868;color:#f8e6ad;border:2px solid #302d3c;border-radius:6px;padding:5px 8px}.potion-explosion{position:absolute;left:50%;top:28%;pointer-events:none;z-index:10}.potion-explosion b{position:absolute;left:-80px;top:-60px;width:160px;text-align:center;font:bold 28px Georgia,serif;color:#fff8bc;text-shadow:3px 3px #493450;animation:potion-poof 1.2s ease-out both;animation-delay:var(--burst-delay,0s)}.potion-explosion i{position:absolute;width:28px;height:22px;border-radius:50%;background:#b8ee7c;border:3px solid #4d4b43;animation:potion-splash 1.2s ease-out both;animation-delay:var(--burst-delay,0s);transform:rotate(var(--angle))}.potion-explosion i:nth-child(even){background:#c99fe0}
@keyframes potion-splash{0%{transform:rotate(var(--angle)) translateX(0) scale(.2);opacity:1}65%{opacity:1}100%{transform:rotate(var(--angle)) translateX(150px) scale(.5);opacity:0}}@keyframes potion-poof{0%{scale:.4;opacity:0}20%{scale:1.2;opacity:1}70%{scale:1;opacity:1}100%{translate:0 -35px;opacity:0}}
.phase-rule{border-radius:8px;padding:12px 14px;margin:14px 0;border-left:5px solid #b67b49;background:#f3e0ba}.phase-rule p{margin:7px 0 0}.expedition-rule{background:#dce9de;border-color:#4d897d}.small-action:disabled{opacity:.65;cursor:default}.scene.is-paused *,.scene.is-paused *:before,.scene.is-paused *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.hearth-glow,.hearth-fire,.potion-explosion b,.potion-explosion i{animation:none!important}.potion-explosion i{display:none}}

/* Micro cast: small silhouettes with crisp pixel sampling and forgiving helper targets. */
.character-art.micro-art{overflow:hidden;image-rendering:crisp-edges;image-rendering:pixelated}.micro-art image{image-rendering:pixelated}
.scene.micro-cast .agent{width:48px;height:56px}
.scene.micro-cast .agent.pixie{width:48px;height:56px}
.scene.micro-cast .agent.slime{width:40px;height:36px;filter:none}
.scene.micro-cast .agent.bouncer{width:64px;height:72px}
.scene.micro-cast .character-body{filter:none}
.scene.micro-cast .agent.helper:before{content:'';position:absolute;inset:-10px -12px;background:transparent}
.scene.micro-cast .agent.selected .character-body{filter:drop-shadow(2px 0 #ffdf80) drop-shadow(-2px 0 #ffdf80)}
.scene.micro-cast .agent-name,.scene.micro-cast .agent.slime .agent-name{font-size:11px;bottom:-13px;border-radius:2px;padding:1px 4px;line-height:14px}
.job-hint{display:none}.agent:hover .job-hint,.agent:focus-visible .job-hint,.agent.selected .job-hint{display:inline}
.scene.micro-cast .resident{width:64px;height:84px}
.scene.micro-cast .resident .character-art{width:48px;height:60px;margin:0 auto}
.scene.micro-cast .resident b{font-size:12px}.scene.micro-cast .resident small{font-size:10px}
.scene.micro-cast .resident.working .sprite{animation:micro-stir .55s ease-in-out infinite alternate}
.scene.micro-cast .dragon{display:flex;align-items:center;flex-direction:column;padding-top:20px}
.scene.micro-cast .dragon .character-art{width:80px;height:80px;flex-shrink:0}
.scene.micro-cast .dragon span{white-space:nowrap;font-size:11px}
.scene.micro-cast .carried-item{width:26px;height:26px;right:-8px;bottom:4px}
.scene.micro-cast .carried-keg{width:34px;height:32px;right:-16px;bottom:0;rotate:0deg}
.scene.micro-cast .meal,.scene.micro-cast .meal .sprite{width:26px;height:26px}
.scene.micro-cast .meal-stew:after{width:15px;height:3px}
.scene.micro-cast .slime-trail-layer i{width:22px;height:9px;border-width:1px}
.scene.micro-cast .guest.consuming .character-body{animation:micro-bob .8s ease-in-out infinite}
.scene.micro-cast .tipsy .character-body{animation:micro-bob 1.8s ease-in-out infinite}
@keyframes micro-stir{to{translate:2px -2px}}
@keyframes micro-bob{50%{translate:0 -2px}}
@media(prefers-reduced-motion:reduce){.scene.micro-cast .resident.working .sprite,.scene.micro-cast .guest.consuming .character-body,.scene.micro-cast .tipsy .character-body{animation:none}}

/* The room and its props share the cast's chunky, low-detail pixel language. */
.scene.micro-room .room-art{image-rendering:pixelated}
.scene.micro-room .room-door{position:absolute;left:0;top:365px;width:110px;height:220px;pointer-events:none;image-rendering:pixelated}
.prop-art{display:block;overflow:hidden;image-rendering:pixelated;pointer-events:none}.prop-art image{image-rendering:pixelated}
.scene.micro-room .table,.scene.micro-room .table-slot{width:128px;height:88px}
.scene.micro-room .table>.prop-art{width:100%;height:100%;filter:none}
.scene.micro-room .table-mess{left:0;top:0;width:100%;height:100%;filter:none}
.scene.micro-room .table.serve-target>.prop-art{filter:drop-shadow(2px 0 #ffe49a) drop-shadow(-2px 0 #ffe49a)}
.scene.micro-room .table-slot{border-radius:0;border:2px dashed #a68b62;background:#d9b77708}
.scene.micro-room .table-slot b{font-size:22px}.scene.micro-room .table-slot span{font:12px ui-monospace,monospace}.scene.micro-room .table-slot small{font-size:10px}
.scene.micro-room .station{width:128px;height:128px}
.scene.micro-room .station-kitchen,.scene.micro-room .station-kitchen2,.scene.micro-room .station-potion{width:112px;height:112px}
.scene.micro-room .station>.prop-art{width:100%;height:100%}
.scene.micro-room .quest-board{width:96px;height:112px;transform:none}
.scene.micro-room .quest-board>.prop-art{width:100%;height:100%}
.scene.micro-room .room-mailbox{width:76px}.scene.micro-room .room-mailbox>.prop-art{width:76px;height:96px}
.scene.micro-room .room-pantry{width:128px}.scene.micro-room .room-pantry>.prop-art{width:128px;height:144px}
.scene.micro-room .slime-closet{width:80px}.scene.micro-room .slime-closet>.prop-art{width:80px;height:96px}
.scene.micro-room .supply-package{width:48px;height:56px}.scene.micro-room .supply-package>.prop-art{width:48px;height:48px}
.scene.micro-room .supply-package span{top:48px}.scene.micro-room .supply-package small{top:70px}
.scene.micro-room .supply-package.opening>.prop-art{animation:micro-stir .15s ease-in-out infinite alternate}
.scene.micro-room .carried-keg svg{width:100%;height:100%;overflow:visible}
.scene.micro-room .stored-stock{width:128px;height:96px}
.scene.micro-room .station-sign,.scene.micro-room .station-state,.scene.micro-room .table-label,.scene.micro-room .agent-name,.scene.micro-room .station-action,.scene.micro-room .order-bubble,.scene.micro-room .cleaning-progress,.scene.micro-room .thought,.scene.micro-room .stored-stock span,.scene.micro-room .room-mailbox b,.scene.micro-room .room-pantry b,.scene.micro-room .slime-closet b,.scene.micro-room .supply-package span{border-radius:0;box-shadow:2px 2px #211f25}
.scene.micro-room .station-sign{font:12px ui-monospace,monospace;padding:3px 5px}.scene.micro-room .station-state{font-size:11px}
.scene.micro-room .table-label{font:11px ui-monospace,monospace}
.scene.micro-room .order-bubble:after{border-radius:0;transform:none;width:6px;height:6px;bottom:-7px}
.scene.micro-room .meter,.scene.micro-room .meter i{border-radius:0}
.scene.micro-room .hearth-glow{border-radius:0;background:#f7b3540a;box-shadow:0 0 0 20px #ed9a3504;width:180px;height:150px;clip-path:polygon(15% 0,85% 0,85% 15%,100% 15%,100% 85%,85% 85%,85% 100%,15% 100%,15% 85%,0 85%,0 15%,15% 15%)}
.scene.micro-room .hearth-lit .hearth-glow{background:#ffce7840;box-shadow:0 0 0 20px #f1ad4920;animation:hearth-warmth 1.6s steps(3,end) infinite alternate}
.scene.micro-room .hearth-fire{filter:none;animation:hearth-warmth .4s steps(2,end) infinite alternate}
.scene.micro-room .dragon-breath{shape-rendering:crispEdges}.scene.micro-room .flame-outer{stroke:none;animation:pixel-flame .3s steps(2,end) infinite alternate}.scene.micro-room .flame-inner{animation:pixel-flame .2s steps(2,end) infinite alternate-reverse}
.scene.micro-room .burn-smoke i{width:24px;height:24px;border-radius:0;box-shadow:12px -12px #87796d;animation-timing-function:steps(8,end)}
.scene.micro-room .burn-smoke b{border-radius:0}
.scene.micro-room .potion-explosion i{border-radius:0;width:16px;height:16px;animation-timing-function:steps(6,end)}
.scene.micro-room .potion-residue{font:60px ui-monospace,monospace}.scene.micro-room .potion-residue b{border-radius:0;font:12px ui-monospace,monospace}
.scene.micro-room .slime-trail-layer i{border-radius:0;transform:translate(-50%,-50%);clip-path:polygon(15% 0,85% 0,85% 20%,100% 20%,100% 80%,85% 80%,85% 100%,15% 100%,15% 80%,0 80%,0 20%,15% 20%)}
.scene.micro-room .supply-flight{filter:none}.scene.micro-room .supply-flight b{border-radius:0;box-shadow:3px 3px #302b28}
@keyframes pixel-flame{from{opacity:.8;translate:0 0}to{opacity:1;translate:0 2px}}
.flying-coin{border:0;border-radius:0;box-shadow:none;background:url("/art/micro/coin.svg") center/contain no-repeat;color:transparent;image-rendering:pixelated}
body:has(.micro-room){background:#302d2a;background-image:none}
.tavern-app:has(.micro-room) .wordmark h1,.tavern-app:has(.micro-room) .wordmark .eyebrow,.tavern-app:has(.micro-room) .wordmark h1 span,.tavern-app:has(.micro-room) .save-label,.tavern-app:has(.micro-room) .page-footer{color:#e6d2ac}
.tavern-app:has(.micro-room) .header-actions .icon-button{color:#f3ddad;border-color:#8b7455;border-radius:0;background:#443d36}
.tavern-app:has(.micro-room) .brand-seal{border-radius:0;transform:none;background:#dfb86e;color:#3e3931;box-shadow:3px 3px #191d20}
.tavern-app:has(.micro-room) :is(.status-bar,.room-shell,.ledger,.pause-card,.results-card,.command-tray,.alert-strip,.ledger-card,.phase-rule,button,.meter){border-radius:0}
.tavern-app:has(.micro-room) :is(h1,h2,h3,.eyebrow){font-family:ui-monospace,monospace;letter-spacing:0}
@media(prefers-reduced-motion:reduce){.scene.micro-room .supply-package.opening>.prop-art,.scene.micro-room .hearth-glow,.scene.micro-room .hearth-fire,.scene.micro-room .flame-outer,.scene.micro-room .flame-inner{animation:none}}
.scene.micro-room .potion-residue>.sprite{width:56px;height:56px}.scene.micro-room .potion-residue b{top:60px}
.scene.micro-room .potion-explosion i{animation-name:pixel-splash}
@keyframes pixel-splash{0%{transform:rotate(var(--angle)) translateX(0) rotate(calc(-1 * var(--angle)));opacity:1}65%{opacity:1}100%{transform:rotate(var(--angle)) translateX(140px) rotate(calc(-1 * var(--angle)));opacity:0}}
.scene.micro-room .table-mess{left:22%;top:16px;width:56%;height:40px}
.tavern-app:has(.micro-room) .status-bar .coin{border:0;border-radius:0;background:url("/art/micro/coin.svg") center/contain no-repeat;box-shadow:none;color:transparent;image-rendering:pixelated}

.scene.micro-room .station-sign{transform:translateX(-50%)}

.scene.micro-room .table-label{left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:190px;padding:2px 5px;background:#302b29;color:#edd4a4}
.scene.micro-room .table-slot{color:#e3c596}
.scene.micro-room .stock-health,.scene.micro-room .stock-mana{width:80px;height:70px}
.scene.micro-room .resident.working:before{content:'▪ ▪ ▪';font-size:19px}
.scene.micro-room .room-mailbox small{color:#e5c99d}

/* A growing crew: room controls and clear resource feedback. */
.tavern-app:has(.micro-room) .status-bar{height:auto;min-height:76px;flex-wrap:wrap;gap:16px}
.ingredient-hud{display:flex;gap:10px;border-left:1px solid var(--line);padding-left:14px}
.ingredient-hud>div{display:grid;grid-template-columns:24px auto;gap:0 4px;min-width:44px;align-items:center}
.ingredient-hud .sprite{width:24px;height:24px;grid-row:1/3}.ingredient-hud strong{font:bold 17px ui-monospace,monospace}.ingredient-hud small{font-size:9px}
.reputation .rep-symbol .sprite{width:30px;height:30px}.reputation.poor{color:#a24743}.status-bar .resource strong{font-size:22px}
.scene.micro-room .room-workbench{position:absolute;left:1625px;top:160px;width:130px;height:110px;padding:0;border:0;background:none;pointer-events:auto}
.room-workbench>.prop-art{width:130px;height:90px}.room-workbench b,.room-workbench small{display:block;white-space:nowrap;color:#f6e0b7;background:#362b28;padding:3px;font:11px ui-monospace,monospace}.room-workbench small{font-size:10px}
.scene.micro-room .room-pantry{left:1140px}.scene.micro-room .resident.witch{left:950px;top:300px}
.scene.micro-room .resident.brewer{width:68px;height:80px}.scene.micro-room .resident.brewer .sprite{width:62px;height:62px}
.scene.micro-room .resident.brewer.working:before{display:none}.scene.micro-room .resident.brewer.working>.sprite{animation:micro-bob .7s ease-in-out infinite}
.brewer-arms{position:absolute;left:23px;top:-30px;width:120px;height:80px;pointer-events:none;overflow:visible}.stir-arm{animation:octopus-stir .55s steps(2,end) infinite alternate}.pump-arm{animation:octopus-pump .75s steps(2,end) infinite alternate}
.brew-fizz{position:absolute;left:85px;top:-38px;color:#fff2ae;font:18px monospace;animation:brew-spark .8s steps(3,end) infinite;pointer-events:none}
@keyframes octopus-stir{to{translate:0 -5px}}@keyframes octopus-pump{to{translate:4px 0}}@keyframes brew-spark{to{translate:0 -15px;opacity:0}}
.scene.micro-room .dragon-breath{width:1800px;height:1150px}
.scene.micro-room .resident.musician{left:1500px;top:490px;width:84px;height:98px}.scene.micro-room .resident.musician .sprite{width:64px;height:76px}
.musician small{background:#352c2a;padding:3px}.musician.playing .sprite{animation:micro-bob .4s steps(2,end) infinite}.musician.playing:after{content:'♫ ♪';position:absolute;top:-22px;left:45px;color:#fce29a;font:22px monospace;animation:brew-spark 1.1s steps(4,end) infinite}
.music-buff{position:absolute;right:-28px;bottom:20px;background:#2f6256;color:#ffe9a0;font:12px monospace;padding:3px;pointer-events:none}
.scene.micro-cast .agent.slime{width:52px;height:88px}.scene.micro-cast .agent.slime .character-body{filter:none;transform-origin:50% 88%;animation:micro-bob 1.8s ease-in-out infinite}
.scene.micro-cast .agent.slime.working .character-body{animation:broom-sweep .5s steps(2,end) infinite alternate}
.scene.micro-cast .agent.slime.exhausted .character-body{animation:none;rotate:80deg;opacity:.65}
.broom-charge{position:absolute;left:50%;bottom:2px;transform:translateX(-50%);width:62px;height:6px;border:1px solid #1f3839;background:#253834;pointer-events:none}
.broom-charge>i{display:block;height:100%;background:#7ee7bf}.broom-charge.low>i{background:#efa771}.broom-charge>b{position:absolute;left:50%;top:-12px;transform:translateX(-50%);white-space:nowrap;color:#e7fff1;background:#263a35;font:9px monospace;padding:1px 3px}
.exhausted .broom-charge>b{background:#844b39;color:#fff1ba}
@keyframes broom-sweep{from{rotate:-12deg}to{rotate:12deg}}
.scene.micro-room .slime-trail-layer i{width:5px;height:5px;background:#9ce4cb;border:0;box-shadow:6px -5px #dfc57d;clip-path:none}
.happiness-flight{position:absolute;left:0;top:0;width:50px;height:50px;pointer-events:none;will-change:transform;color:#caffb7;filter:drop-shadow(0 0 9px #80ed6099)}
.happiness-flight svg{width:100%;height:100%;shape-rendering:crispEdges}.happiness-flight b{position:absolute;right:-10px;bottom:-6px;font:bold 18px monospace;text-shadow:2px 2px #192819}
.happiness-flight.negative{color:#ff9c89;filter:drop-shadow(0 0 9px #ed605799)}
@media(max-width:1000px){.ingredient-hud{gap:7px}.status-bar .day-tag{min-width:auto;padding-right:12px}.status-bar .phase-status{padding-left:12px}.status-bar .resource{gap:5px}}
@media(prefers-reduced-motion:reduce){.stir-arm,.pump-arm,.brew-fizz,.musician.playing:after,.musician.playing .sprite,.scene.micro-cast .agent.slime .character-body,.scene.micro-cast .agent.slime.working .character-body{animation:none!important}}

.room-feedback{position:absolute;z-index:1200;transform:translateX(-50%);width:260px;padding:10px 12px;border:3px solid #f2ba78;background:#542f2a;color:#fff0cb;box-shadow:4px 4px #211f25;font:bold 14px/1.4 ui-monospace,monospace;pointer-events:none;text-align:center}
.room-feedback[hidden]{display:none}.room-feedback:before{content:'';position:absolute;top:-8px;left:calc(50% - 5px);width:10px;height:8px;background:#f2ba78}
.scene.micro-room .room-mailbox.ordering>.prop-art{filter:drop-shadow(2px 0 #f3d68a) drop-shadow(-2px 0 #f3d68a)}
.carried-letter{position:absolute;right:-12px;bottom:14px;color:#fff1c6;background:#5a4935;border:2px solid #d5b276;font:23px monospace;line-height:1;pointer-events:none}
.debug-gold-pile{position:absolute;left:1700px;top:1090px;width:100px;height:70px;transform:translate(-50%,-50%);border:0;padding:0;background:none!important;pointer-events:auto}
.debug-gold-pile>svg{width:90px;height:60px;display:block;margin:auto;pointer-events:none}.debug-gold-pile>b{display:block;white-space:nowrap;font:12px monospace;color:#ffe59b;background:#433529;padding:3px}
.debug-gold-pile:hover{filter:brightness(1.2)}

/* Reception queue and conspicuous service cues retain the micro-pixel palette. */
.welcome-lectern{position:absolute;left:110px;top:620px;width:90px;transform:translate(-50%,-50%);text-align:center;pointer-events:none}
.welcome-lectern svg{width:72px;height:90px}.welcome-lectern b,.welcome-lectern small{display:block;white-space:nowrap;color:#ffe8ae;font:12px monospace;text-shadow:2px 2px #211f25}.welcome-lectern b{margin-left:-22px}.welcome-lectern small{font-size:10px}
.scene .queue-bubble{width:132px;white-space:normal;font:12px/1.3 monospace;padding:6px}.queue-bubble .meter{height:8px;margin-top:5px;background:#6c3437}.queue-bubble .meter i{background:#f3b94e}
.scene .rowdy-alarm{position:absolute;left:-50px;top:-65px;width:54px;height:72px;display:grid;place-items:center;background:#d72838;color:#fff1ce;border:4px solid #ffb69a;box-shadow:0 0 22px #ff354aaa;font:bold 66px/1 monospace;z-index:5;animation:rowdy-pulse .65s ease-in-out infinite alternate;pointer-events:none}
@keyframes rowdy-pulse{to{filter:brightness(1.35);translate:0 -5px}}
.scene.micro-cast .agent.baron{width:100px;height:132px}.scene .baron .order-bubble{min-width:160px}.scene .baron .order-bubble b{font-size:13px}.scene .baron .agent-name{color:#ffe188;border:2px solid #dba94b;background:#49343c}
.baron-tray{position:absolute;left:20px;top:20px;display:flex;border-bottom:5px solid #b57a42;filter:drop-shadow(2px 2px #201f28)}.scene .baron-tray .sprite{width:22px;height:22px}
.scene.micro-room .resident.brewer{width:86px;height:96px}.scene.micro-room .resident.brewer>.sprite{width:80px;height:80px}
.scene.micro-room .slime-closet{pointer-events:auto}.slime-closet small{display:block;width:140px;margin-left:-30px;color:#efdeba;font:11px monospace}.slime-closet:hover>.prop-art{filter:drop-shadow(0 0 5px #efba65)}

@media(prefers-reduced-motion:reduce){.scene .rowdy-alarm{animation:none}}

.scene.micro-room .resident.brewer{width:116px;height:126px}.scene.micro-room .resident.brewer>.sprite{width:110px;height:110px}.scene.micro-room .resident.brewer .brewer-arms{left:28px;top:-12px;width:132px;height:88px}
.scene .drunk-alarm{position:absolute;left:-49px;top:-63px;width:58px;height:58px;filter:drop-shadow(0 0 8px #ff534a);animation:drunk-warning .7s ease-in-out infinite alternate;pointer-events:none}.drunk-alarm svg{width:100%;height:100%}
.scene.micro-cast .guest.rowdy .character-body{animation:drunk-sway .8s ease-in-out infinite alternate;transform-origin:50% 90%}
@keyframes drunk-sway{from{rotate:-12deg;translate:-4px 0}to{rotate:12deg;translate:4px -2px}}
@keyframes drunk-warning{to{translate:0 -4px;filter:drop-shadow(0 0 12px #ff534a)}}
@media(prefers-reduced-motion:reduce){.scene .drunk-alarm,.scene.micro-cast .guest.rowdy .character-body{animation:none}}

/* Mirrored production wings, with alchemy at the center. */
.scene.micro-room .resident.witch{left:900px;top:295px}.scene.micro-room .room-workbench{left:455px;top:1010px}.scene.micro-room .room-pantry{left:1120px;top:160px}
.scene.is-closed .room-art{filter:brightness(.55) saturate(.7)}.scene.is-closed .room-door{filter:brightness(.65)}
.phase-notice{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:1400;pointer-events:none;background:#26252beb;border:4px solid #efcd7c;color:#ffedb4;padding:22px 32px;box-shadow:7px 7px #16151bb0;font:bold clamp(18px,2.4vw,34px)/1.3 monospace;text-align:center;min-width:300px}.phase-notice[hidden]{display:none}
.scene .guest .payment-bubble{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);pointer-events:auto!important;cursor:pointer;background:#49342a;color:#ffe8a2;border:3px solid #e6bc52;border-radius:0;box-shadow:0 0 12px #f7d77c66;padding:6px;width:125px;display:grid;grid-template-columns:32px 1fr;align-items:center;font:bold 16px monospace;z-index:4}.scene .payment-bubble .sprite{width:30px;height:30px}.scene .payment-bubble small{grid-column:1 / -1;font-size:10px}
.crew-sprite .crew-frame{opacity:0;overflow:hidden}.crew-sprite .crew-frame-0{opacity:1}
.scene .working .crew-frame,.scene .moving .crew-frame,.scene .playing .crew-frame{animation:crew-cycle .66s steps(1,end) infinite}
.scene .working .crew-frame-1,.scene .moving .crew-frame-1,.scene .playing .crew-frame-1{animation-delay:-.44s}
.scene .working .crew-frame-2,.scene .moving .crew-frame-2,.scene .playing .crew-frame-2{animation-delay:-.22s}
@keyframes crew-cycle{0%,32%{opacity:1}33%,100%{opacity:0}}
.scene .resident .brewer-arms{display:none}
@media(prefers-reduced-motion:reduce){.scene .crew-frame{animation:none!important}.scene .crew-frame-0{opacity:1}.scene .crew-frame-1,.scene .crew-frame-2{opacity:0}}

/* Service readability and visual reward cards. */
.scene.micro-room .table,.scene.micro-room .table-slot{width:152px;height:104px}
.scene.micro-cast .agent.guest:not(.baron){width:52px;height:70px}
.scene .order-bubble{padding-bottom:17px;min-height:62px}
.scene .order-bubble .meter,.scene .queue-bubble .meter,.scene .station-action .meter{height:10px}
.scene .order-bubble .meter{bottom:3px}.scene .order-bubble small{bottom:16px}
.scene .drunk-alarm{left:50%;top:auto;bottom:calc(100% + 35px);transform:translateX(-50%)}
.scene.micro-room .quest-board{left:642px;top:110px}
.scene.micro-room .quest-board .station-sign{max-width:170px;white-space:normal;text-align:center}
.scene .station-action.urgent-stew{background:#a63830;color:#fff2c5;border:4px solid #ffb06b;box-shadow:0 0 22px #e84b3b80}
.scene .station-action.urgent-stew small{color:#fff0d0}.ready-bang{display:inline-grid;place-items:center;background:#ffdf83;color:#9d2928;width:25px;height:28px;margin-right:5px;font:bold 27px monospace}
.reward-art{display:flex;align-items:center;justify-content:center;gap:12px;min-height:125px;flex-wrap:wrap;padding:12px;background:#302b29;border:2px solid #b58d54;margin:12px 0}
.reward-art>.sprite,.reward-art>.prop-art{width:85px;height:90px;image-rendering:pixelated}.reward-art>b{width:100%;text-align:center;font:bold 14px monospace;color:#ffe2a1}

/* Last round keeps enough light to finish meals and collect tabs. */
.scene.is-last-round .room-art{filter:brightness(.78) saturate(.85)}
.scene.is-last-round .room-door{filter:brightness(.83)}
.scene.is-preparing .room-art{filter:brightness(.85) saturate(.9)}
.scene.micro-cast .agent.pixie{width:62px;height:72px}
.scene.micro-cast .carried-keg{width:43px;height:61px;right:-31px;bottom:0}
.scene.micro-cast .carried-item{width:42px;height:42px;right:-23px;bottom:4px}
.construction{position:absolute;transform:translate(-50%,-55%);width:180px;padding:16px 12px;background:repeating-linear-gradient(135deg,#efd797 0 15px,#d7b77d 15px 30px);border:4px dashed #725637;border-radius:8px;text-align:center;box-shadow:0 5px 10px #291b3944;pointer-events:none;z-index:1100}
.construction i{display:block;font:48px Georgia;animation:construction-hammer .5s steps(2) infinite;animation-delay:var(--build-delay)}
.construction b,.construction span{display:block;font-size:13px;background:#fff1c8;padding:3px}.construction .meter{height:9px}
@keyframes construction-hammer{0%,100%{transform:rotate(-25deg)}50%{transform:rotate(25deg) translateY(5px)}}
.scene .agent.knocked-out .character-body{transform:rotate(88deg) translate(24px,7px);animation:none}
.knockout-birds{position:absolute;left:95%;top:50%;width:80px;height:32px;transform:translateX(-50%);pointer-events:none}
.knockout-birds i{position:absolute;color:#ffe166;text-shadow:1px 1px #392537;font-size:25px;animation:bird-orbit 1.6s linear infinite}.knockout-birds i:nth-child(2){animation-delay:-.53s}.knockout-birds i:nth-child(3){animation-delay:-1.06s}
@keyframes bird-orbit{0%{transform:translate(-30px,0) scale(.8)}25%{transform:translate(0,-10px) scale(.65)}50%{transform:translate(30px,0) scale(.8)}75%{transform:translate(0,10px) scale(1)}100%{transform:translate(-30px,0) scale(.8)}}
@media(prefers-reduced-motion:reduce){.construction i,.knockout-birds i{animation:none}}

.scene .agent.guest button[data-cmd="slap"]{pointer-events:auto!important;cursor:pointer}
.knockout-birds svg{width:24px;height:20px}
