*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#302b25;color:#604b37;font-family:'Microsoft YaHei',sans-serif}main{width:min(100%,560px);margin:auto;background:#8f7354}#scene{position:relative;width:100%;height:100svh;min-height:580px;max-height:1000px;overflow:hidden}#scene>img,#actors{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}header{position:absolute;inset:2% 3% auto;display:flex;justify-content:space-between;align-items:center;gap:6px;pointer-events:none}h1{font-size:clamp(10px,3vw,15px);color:#fff1d0;text-shadow:1px 2px #4b3524;margin:0;letter-spacing:1px}.plaque{padding:7px 8px;background:#4b382be8;border:2px solid #b69262;box-shadow:0 2px #382b20;color:#fff0c6;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}.coin{color:#eec570}.zone{position:absolute;width:47%;height:31%;border:0;background:transparent;padding:0}.z0{left:2%;top:7%}.z1{left:51%;top:7%}.z2{left:2%;top:40%;height:37%}.zone.target{outline:2px dashed #f3dba0;outline-offset:-12px;border-radius:20px;background:#ffedb710}.meter{position:absolute;bottom:5%;left:32%;width:36%;height:6px;background:#51452e;border:1px solid #eee0b2;border-radius:4px;overflow:hidden}.meter i{display:block;height:100%;background:#c8d49a;width:0}.cat-hit{position:absolute;width:14%;height:12%;transform:translate(-50%,-85%);background:transparent;border:0;border-radius:50%;padding:0}.cat-hit[aria-pressed=true]{box-shadow:0 0 0 2px #fff0b8,0 0 20px #fff0b877}.energy{display:flex;justify-content:center;gap:3px;position:absolute;bottom:0;left:0;right:0}.energy i{height:4px;width:7px;background:#65704b;border:1px solid #f0e4bd;border-radius:3px}.energy i.empty{background:#715b47}.controls{position:absolute;bottom:3%;left:0;right:0;display:flex;justify-content:center;gap:8px}.controls button{background:#594d38ef;border:2px solid #c5a574;color:#fff1d3;padding:7px 14px;border-radius:6px;font-size:12px;box-shadow:0 3px #382c20}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.5;cursor:default}button:focus-visible{outline:3px solid #f4d893;outline-offset:3px}#counter{position:absolute;left:50%;top:83%;transform:translate(-50%,-50%);background:transparent;border:0;padding:12px;z-index:2}.book{display:block;width:49px;height:38px;background:linear-gradient(90deg,#d6ba83 0 4%,#fcf0cc 5% 48%,#af8c55 49% 52%,#f5e2b2 53%);border:3px solid #795236;border-radius:3px;transform:rotate(-5deg);box-shadow:1px 4px 0 #3d2e22}.book:before,.book:after{content:'';position:absolute;top:9px;width:13px;height:2px;background:#b9a075;box-shadow:0 5px #b9a075,0 10px #b9a075}.book:before{left:5px}.book:after{right:4px}.book i{position:absolute;width:6px;height:6px;left:-7px;top:5px;background:#9fa878}.book i:nth-child(2){top:13px;background:#b98d82}.book i:nth-child(3){top:21px;background:#a495b8}#notice{position:absolute;bottom:10%;left:7%;right:7%;padding:8px 10px;background:#3e3124e8;color:#fff0d0;border:1px solid #b89a69;border-radius:8px;font-size:11px;line-height:1.6;text-align:center;pointer-events:none;z-index:5}dialog{padding:18px;border:2px solid #ab8c60;border-radius:10px;background:#fff4dd;color:#604b37;max-width:450px;width:94%;max-height:90svh;overflow:auto;box-shadow:0 20px 80px #20180c99}dialog::backdrop{background:#241b12bb}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-head button{border:0;background:transparent;color:#80664a;font-size:24px;padding:0 5px}.dialog-head h2{font-size:17px;margin:5px 0 12px}dialog p{font-size:12px;line-height:1.8}dialog h3{font-size:14px}#closeup{width:100%;max-height:60svh;object-fit:contain;image-rendering:pixelated;display:block;margin-top:10px}.detail-buttons{display:flex;gap:10px}.detail-buttons button,dialog>button{border:1px solid #b49b71;border-radius:5px;padding:9px 12px;background:#eaddbf;color:#665138;font-size:12px}#ledger{padding:0 0 0 34px;background:#846347;border:2px solid #745135;border-radius:7px;overflow:hidden;height:min(740px,88svh);max-width:470px}.tabs{position:absolute;left:0;top:66px;display:flex;flex-direction:column;gap:12px}.tabs button{width:33px;padding:12px 3px;background:#b9c1a0;color:#45503c;border:0;border-radius:4px 0 0 4px;font-size:12px}.tabs button:nth-child(2){background:#d1a699;color:#755146}.tabs button:nth-child(3){background:#bfb0c8;color:#67546f}.tabs button[aria-selected=true]{width:38px;position:relative;z-index:2;box-shadow:-2px 2px 3px #32261555}.paper{height:100%;overflow:auto;padding:18px 16px 24px 20px;background:repeating-linear-gradient(#fff5db 0 27px,#e9ddc125 28px),#fff5db;border-left:5px double #ccb98e}.ink-note{font-size:11px!important;color:#937c5e}.rates{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-block:1px solid #d7c59f;padding:12px 0;font-size:11px}.rates b{display:block;font-size:18px;margin:4px 0}.rates small{font-size:10px}.profile{display:grid;grid-template-columns:76px 1fr;gap:10px;padding:17px 0;border-bottom:1px dashed #cebb98}.profile canvas{width:76px;height:82px;image-rendering:pixelated;background:#ede1c5;border-radius:45% 45% 12px 12px}.profile h3{margin:0 0 5px}.profile p{margin:3px 0;font-size:11px;line-height:1.7}.profile .estimate{grid-column:1/-1;color:#8d7657;font-size:10px;margin:0}.account-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:8px 0;border-bottom:1px solid #e3d3ae}.account-row.total{font-weight:bold;border-bottom:2px solid #a89166}.transaction{padding:8px 0;border-bottom:1px dashed #dac8a4;font-size:11px;line-height:1.7}.transaction b{float:right}.transaction small{display:block;color:#9a8262}.empty-seal{font-size:65px;text-align:center;color:#ac9aba;margin-top:40px}#page-buffs{text-align:center}@media(min-width:700px){main{box-shadow:0 0 70px #17120da0}#scene{height:100svh}}@media(max-width:360px){.plaque{font-size:12px;padding:6px}h1{font-size:10px}.paper{padding:12px}.profile{grid-template-columns:64px 1fr}.profile canvas{width:64px;height:72px}}
/* Visible at phone scale, and follows the cat to its booth. */
.cat-hit{z-index:1}.energy{bottom:-10px;left:50%;right:auto;transform:translateX(-50%);gap:4px;width:56px;padding:4px 5px;background:#3e342af0;border:1px solid #ead6a6;border-radius:9px;box-shadow:0 2px 3px #30201370;pointer-events:none}.energy i{flex:none;width:12px;height:8px;border:1px solid #e7edb2;border-radius:2px;background:#b8cf79;box-shadow:inset 0 2px #e3efa6}.energy i.empty{background:#594e42;border-color:#a9987e;box-shadow:none}.exhausted .energy{border-color:#d3a489}.working[aria-pressed=false]{box-shadow:none}.rental-status{color:#7b8953}.cat-hit:focus-visible{outline-offset:5px}
.guest-hit{position:absolute;top:84%;height:12%;width:11%;transform:translateX(-50%);border:0;background:transparent;z-index:3}.guest-hit[aria-pressed=true]{outline:2px solid #eed89d;border-radius:12px}.guest-heart{position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-size:9px;white-space:nowrap;background:#ffefd1;color:#73523c;padding:3px;border-radius:5px}.patience{position:absolute;bottom:1px;left:5%;width:90%;height:4px;background:#4c3c2b}.patience i{display:block;height:100%;background:#d4bd86}.event-hit{position:absolute;transform:translate(-50%,-50%);z-index:5;width:36px;height:36px;border:2px solid #f6dcaa;border-radius:50%;color:#874c55;background:conic-gradient(#e0bba4 var(--remaining),#fff1d5 0);font-size:23px;box-shadow:0 2px 6px #48312080}#notice{bottom:17%;}header{justify-content:space-between}
/* Morning to evening: the gold middle segment marks the busy hours. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#dayclock{display:flex;align-items:center;gap:7px;width:49%;padding:8px;background:#4b382bed;border:2px solid #b69262;color:#ffe8ab}.day-track{position:relative;flex:1;height:9px;background:linear-gradient(90deg,#dcb774,#f7d785 40%,#c59a82 70%,#827493);border-radius:8px}#day-hand{position:absolute;left:0;top:-10px;font-style:normal;font-size:22px;transform:translateX(-50%);z-index:2;text-shadow:0 1px #58432c}.rush-mark{position:absolute;left:30.55%;width:38.9%;top:-4px;height:17px;border:1px solid #fff0b3;border-radius:8px}#dayclock.rush{border-color:#ffe1a1;box-shadow:0 0 12px #fbd57688}#scene:after{content:'';position:absolute;inset:0;background:#34305c;opacity:var(--night,0);pointer-events:none;z-index:4}.guest-hit{width:10%;top:85%;height:11%}.portrait-heart{position:absolute;top:-30px;left:50%;transform:translateX(-50%);width:34px;height:35px;border:2px solid #e6abaf;border-radius:45% 45% 35% 35%;background:#fff5e7;box-shadow:0 2px 3px #3b291a70;pointer-events:none}.portrait-heart:after{content:'♥';position:absolute;right:-7px;bottom:-7px;color:#d58793;font-size:14px;text-shadow:0 1px #fff}.portrait-heart canvas{width:30px;height:30px;image-rendering:pixelated}.seat-preference{position:absolute;z-index:2;pointer-events:none}.seat-preference .portrait-heart{top:0;transform:translate(-50%,-100%)}.seat-preference.matched .portrait-heart{border-color:#b4cf87;box-shadow:0 0 8px #d7eb9c}.controls{right:auto;width:45%;left:1%;bottom:3%}.controls button{padding:7px 10px}#owner-portrait{width:55px;height:55px;image-rendering:pixelated;flex:none}#ledger-title{font-size:15px}#notice{z-index:7}.event-hit{z-index:6}
.orange-portrait{display:block;width:130px;height:130px;margin:16px auto 0;image-rendering:pixelated}#active-buffs .empty-seal{font-size:36px;margin-top:5px}
#orange-status{position:absolute;left:50%;top:8%;transform:translateX(-50%);padding:7px 12px;background:#ffdb89;border:2px solid #bc7a30;border-radius:12px;color:#70411d;font-size:13px;font-weight:bold;z-index:6;box-shadow:0 0 18px #ffd66988;pointer-events:none}.orange-active .meter i{background:repeating-linear-gradient(110deg,#ffc853 0 8px,#fff0a6 8px 14px);background-size:28px 100%;animation:orange-flow .7s linear infinite}.orange-active .meter{height:8px;box-shadow:0 0 9px #ffe091}.rush-mark{left:33.333%;width:33.333%}@keyframes orange-flow{to{background-position:28px 0}}#qte-panel{border:3px solid #b98358;max-width:420px}#qte-cat{display:block;width:200px;height:122px;margin:0 auto;image-rendering:pixelated}#qte-story{min-height:60px;font-size:13px}#qte-time{width:100%;height:12px;accent-color:#d59b60}#qte-options{display:grid;gap:9px;margin-top:12px}#qte-options button{text-align:left;border:1px solid #c1a881;background:#f7e7c8;color:#6d5238;padding:10px;border-radius:8px;font-size:14px}#qte-options small{display:block;font-size:10px;margin-top:4px;color:#967b5b}#qte-pause{font-size:20px}@media(prefers-reduced-motion:reduce){.orange-active .meter i{animation:none}}
/* Approved four-room background. The book is painted into its bottom-right corner. */
.z0,.z1{top:18%;height:24%}.z2{top:64%;height:30%}
#counter{left:auto;top:auto;right:1%;bottom:.7%;width:9%;height:5%;min-width:36px;min-height:38px;padding:0;transform:none;border-radius:8px;z-index:6}
#counter .book{display:none}#counter:hover{box-shadow:0 0 10px #ffe4a6}
.controls{left:1%;bottom:1.2%;width:29%;gap:4px;justify-content:flex-start;z-index:5}.controls button{padding:6px;font-size:11px}
.guest-hit{top:87%;height:11.7%;width:12%}.guest-hit .portrait-heart{top:-17px}
.cat-hit{height:10%;width:14%}.meter{bottom:3%}
#orange-status{top:8%;font-size:11px}#notice{bottom:18%}
/* Queue portraits clear even the tallest waiting guest at every viewport ratio. */
.guest-hit{top:83.2%;height:15.5%}
.guest-hit .portrait-heart{top:0;transform:translate(-50%,-115%)}
/* Detailed art is downsampled smoothly, not enlarged with nearest-neighbour pixels. */
#scene>img,#actors,#closeup,.profile canvas,.portrait-heart canvas,#owner-portrait,.orange-portrait,#qte-cat{image-rendering:auto}
.energy{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:58px;gap:3px;padding:4px;overflow:hidden}
.energy i{width:auto;min-width:0;max-width:100%;height:8px}
#qte-panel{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:clamp(18px,5vw,40px);background:radial-gradient(ellipse at 50% 30%,#624338,#201d29 70%);color:#fff2de;display:none;overflow:auto}
#qte-panel[open]{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:10px}
#qte-panel>*{width:min(100%,540px);margin-left:auto;margin-right:auto}#qte-panel .dialog-head h2{font-size:clamp(24px,6vw,34px);color:#ffd09a;text-shadow:2px 3px #3b1515}
#qte-panel .dialog-head button{color:#ffe3b6}#qte-cat{width:min(100%,440px);height:auto;max-height:33dvh;object-fit:contain;filter:drop-shadow(0 0 18px #e0a96955)}
#qte-story{font-size:16px;line-height:1.8;min-height:0}#qte-time{height:18px;accent-color:#ef975d;flex-shrink:0}
#qte-options{gap:10px;margin-top:0}#qte-options button{font-size:16px;padding:14px;background:#f4dfbd;border:2px solid #d89961;min-height:65px}#qte-options small{font-size:12px;color:#785642}#qte-panel .ink-note{color:#dec7b1}
#qte-panel[data-pose=hostile]{background:radial-gradient(ellipse at 50% 35%,#793a35,#201d29 75%)}#qte-panel[data-pose=calm]{background:radial-gradient(ellipse at 50% 35%,#435d4d,#201d29 75%)}
#qte-panel.shock .dialog-head{animation:shock-hit .35s ease-out}@keyframes shock-hit{0%{transform:translateX(-10px) scale(1.06)}40%{transform:translateX(9px)}70%{transform:translateX(-4px)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){#qte-panel.shock .dialog-head{animation:none}}
@media(max-height:650px){#qte-panel{gap:3px;padding:12px}#qte-cat{max-height:22dvh}#qte-options button{padding:8px;min-height:48px}#qte-story{font-size:13px}}
#soil-panel{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;background:#f5ead7;color:#65513e;text-align:center;padding:24px;overflow:auto}
#soil-panel[open]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}#soil-panel>*{max-width:460px;margin:0}#soil-panel p{font-size:15px;line-height:1.8}#soil-panel .soil-icon{font-size:40px;color:#b1a188}#soil-cat{width:210px;max-height:25dvh;object-fit:contain;image-rendering:auto}#soil-panel .soil-cost{padding:12px 24px;background:#e9dbc4;border-radius:12px}#soil-confirm{margin-top:10px;background:#85775f;color:white;padding:13px 20px;border:0;border-radius:9px}
/* Opening scroll and end-of-day receipt, isolated from gameplay. */
#start{display:none}#return-intro{position:absolute;bottom:2%;left:3%;z-index:7;background:#584333;color:#fff0cb;border:1px solid #d3b275;border-radius:8px;padding:10px}
#intro{width:min(96vw,600px);max-width:600px;height:94dvh;max-height:94dvh;margin:auto;padding:12px 10px;border:0;background:transparent;box-shadow:none;overflow:auto;color:#644731}#intro::backdrop{background:#201727ed;backdrop-filter:blur(5px)}.scroll-rod{position:relative;z-index:2;height:22px;margin:0 -8px;border:3px solid #503124;border-radius:9px;background:linear-gradient(#ce9e5d,#9a6439 65%,#dda866);box-shadow:0 3px 7px #160e1580}.intro-paper{padding:25px clamp(18px,5vw,42px) 22px;background:linear-gradient(90deg,#d4b67d,#f7e6bd 8%,#fff0cf 50%,#ecd3a3 93%,#cfab70);border-inline:2px solid #b68c56;box-shadow:inset 0 0 50px #9c774728;text-align:center}.intro-kicker{letter-spacing:.16em;color:#946740;font-size:11px}#intro-title{font-size:clamp(25px,7vw,38px);color:#684633;text-shadow:1px 2px #ffefd4;margin:12px 0;font-weight:900}.intro-owner{position:relative;width:100%;height:215px;border-bottom:1px dashed #ba9760;margin-bottom:22px}#intro-owner{height:215px;width:230px;object-fit:contain}.intro-owner blockquote{position:absolute;right:0;bottom:12px;margin:0;background:#fcf0d3;border:1px solid #c6a36f;border-radius:12px;padding:12px;color:#694c35;font-weight:bold}.key-charm{position:absolute;left:10%;bottom:30px;color:#a87632;font-size:52px;transform:rotate(-25deg)}.intro-story{text-align:left;font-size:14px;line-height:1.95}.intro-story p{font-size:inherit;margin:0 0 17px}.intro-story strong{font-size:20px;color:#855340}.intro-last{text-align:center;font-weight:bold}#launch{width:100%;padding:15px;border:2px solid #aa7b49;border-radius:8px;background:#654837;color:#ffedbc;font-size:16px;box-shadow:0 4px #b59866}.intro-hint{display:block;color:#94734f;margin-top:12px;font-size:11px}.bottom{margin-top:-1px}
#result.receipt-dialog{background:#49392f;border:0;max-width:390px;padding:18px;text-align:center}#result.receipt-dialog h2{color:#f7e9ce;font-size:18px}#receipt{background:#fff8e7;color:#554a3c;padding:20px 18px 25px;text-align:left;clip-path:polygon(0 0,100% 0,100% 98%,96% 100%,92% 98%,88% 100%,84% 98%,80% 100%,76% 98%,72% 100%,68% 98%,64% 100%,60% 98%,56% 100%,52% 98%,48% 100%,44% 98%,40% 100%,36% 98%,32% 100%,28% 98%,24% 100%,20% 98%,16% 100%,12% 98%,8% 100%,4% 98%,0 100%);font-family:Consolas,'Microsoft YaHei',monospace;min-height:90px}.receipt-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:7px 0}.receipt-row:nth-child(2){border-bottom:1px dashed #a6997d;margin-bottom:8px}.receipt-row:nth-child(9){border-top:1px dashed #a6997d;margin-top:8px}.receipt-total{font-weight:bold}.receipt-row:last-child{font-size:10px;color:#8e7b61;text-align:center}#result.receipt-dialog>button{margin:8px 3px 0;font-size:12px}#receipt-skip{background:transparent!important;color:#f1dcbb!important;border:0!important;font-size:11px!important}
#soil-panel{background:radial-gradient(ellipse at center,#fff5d4,#ead6ae)}#soil-title{font-size:clamp(28px,8vw,45px);color:#86563d;letter-spacing:-.04em;transform:rotate(-2deg);text-shadow:2px 3px #fff8dc}#soil-panel .soil-icon{display:flex;align-items:center;gap:18px}.soil-stamp{font-size:12px;border:2px solid #a46951;border-radius:4px;padding:5px 10px;transform:rotate(-9deg);color:#a46951}.soil-doodle{font-size:40px;filter:sepia(.3)}#soil-cause{border-left:3px solid #c99861;padding:6px 12px;background:#fff8e5;border-radius:6px;text-align:left}#soil-confirm{box-shadow:0 4px #c7b28e}#soil-panel #soil-cat{transform:rotate(3deg)}
#campaign-panel{border-top:1px dashed #b99869;margin-top:20px;padding-top:16px}#campaign-panel h2{font-size:20px}#roster-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}#roster-options label{display:flex;flex-direction:column;align-items:center;gap:7px;background:#fff4dc;border:1px solid #ba9869;border-radius:8px;padding:10px 4px;font-size:12px}#roster-options canvas{width:54px;height:54px;border-radius:50%}#campaign-panel p{font-size:12px;line-height:1.7}#borrow,#manage-save,#storage-panel button{border:1px solid #af956e;border-radius:5px;background:#eee0c6;color:#604933;padding:8px;margin:4px;font-size:12px}#storage-panel{border-top:1px dashed #bca985;margin-top:22px;padding-top:12px}#save-status{font-size:11px}#save-reset{color:#9b4740!important}.receipt-cats{display:flex;justify-content:center;gap:12px;border-bottom:1px dashed #bba98d;padding-bottom:10px}.receipt-cats canvas{width:52px;height:52px;border-radius:50%}
.locked-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:18px}.locked-grid span{display:grid;place-items:center;aspect-ratio:1;background:#eee2c9;border:1px dashed #c4b291;border-radius:8px;color:#b09b78;font-size:20px}
#ledger{padding-top:100px}#ledger>.dialog-head{position:absolute;left:50px;right:12px;top:12px;height:44px;z-index:5;gap:6px}#ledger-close{min-width:40px;min-height:40px;background:#efe0be!important;border-radius:50%;flex:none}#ledger>.book-note{position:absolute;top:56px;left:53px;right:14px;font-size:10px;line-height:1.6;margin:0}#ledger .paper{padding-top:12px}#ledger .tabs{top:115px}#ledger .tabs button{writing-mode:vertical-rl;letter-spacing:4px;padding:12px 6px}#ledger #owner-portrait{width:36px;height:36px}#ledger #ledger-title{font-size:16px;margin:0;flex:1}#page-business p{font-size:12px;line-height:1.9}#receipt-skip{display:none!important}#save-settings{max-width:450px}#save-settings #storage-panel{margin-top:4px}#rescue{text-align:center;background:#f7e7c4}#rescue-owner{width:160px;height:170px;object-fit:contain}#rescue blockquote{margin:10px;font-size:15px;line-height:1.9}#rescue-action button{padding:12px 22px;background:#76553e;color:#fff2d0}
.rush-mark{left:30.56%;width:31.67%}
