/* Qinghe 0.5: tactile work, recurring people, a home that holds memories. */
.scene-controls{flex-wrap:wrap}.scene-controls #open-neighbors.has-letter{background:#f8e8be;color:#7f602f;border-color:#d2b77c}.scene-controls #open-neighbors.has-letter span{background:#bc8747;color:#fff9e9}
#place-extras{display:grid;gap:10px;margin:18px 0}.workbench-invite{display:grid;gap:8px;background:#e9eddc;border:1px solid #b7c49e;border-radius:13px;padding:18px;text-align:left;box-shadow:0 4px 0 #d3dbbd}.workbench-invite>span{font-size:11px;font-weight:700;color:#6f8655;letter-spacing:1px}.workbench-invite>strong{font:21px/1.65 var(--display);color:#365742}.workbench-invite small{font-size:11px;line-height:1.7;color:#788467}.workbench-invite:disabled{opacity:.55;box-shadow:none}.work-mode-hint{font-size:10px!important;color:#8b9580!important;line-height:1.7!important;margin:0 3px!important}.place-story-invite{display:grid;gap:6px;text-align:left;border:1px solid #ddcaa2;background:#f9f0da;border-radius:10px;padding:15px;color:#80623b}.place-story-invite>span,.place-story-invite small{font-size:10px;color:#a08a63}.place-story-invite strong{font-size:15px}
#game-dialog:has(.workbench-inner),#game-dialog:has(.neighbors-inner),#game-dialog:has(.home-inner){width:min(780px,94vw);max-width:94vw}.workbench-inner{padding:30px 34px 24px}.workbench-inner h2{font-size:31px;margin:16px 0}.bench-intro{font-size:13px!important;line-height:1.9!important;color:#718064!important;margin:12px 0 20px!important}.bench-button{border:1px solid #d4dcc2;background:#faf9f0;border-radius:9px;padding:13px 15px;text-align:left;transition:transform 70ms ease,background 140ms ease,border-color 140ms ease}.bench-button:hover{background:#f0f2e4;border-color:#9eb68b}.bench-button:active{transform:translateY(2px);filter:brightness(.97)}.bench-button.primary{display:block;width:100%;text-align:center;background:#3e6a50;color:#fff9e9;border-color:#3e6a50;margin-top:16px;font-weight:600;min-height:46px}.bench-button.selected{border-color:#829f6e;background:#e7ecd8;box-shadow:inset 0 0 0 1px #829f6e}.bench-feedback{font-size:12px;line-height:1.85;padding:12px 15px;border-left:3px solid #cab887;background:#f3efdf;margin-top:17px;color:#82714e;min-height:48px;white-space:normal}.bench-feedback.complete{background:#e9efdf;border-color:#86a270;color:#51734e}.bench-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px}.bench-reset{padding:10px 12px;background:transparent;border:1px solid #d5d7c4;border-radius:7px;color:#859077;min-height:44px;font-size:11px}.bench-bottom .activity-cancel{margin:0;font-size:11px}.bench-complete{display:flex;align-items:center;flex-direction:column;padding:24px 0 0;text-align:center;gap:10px;animation:bench-arrive 420ms cubic-bezier(.34,1.56,.64,1)}.bench-complete>span{color:#b79750;font-size:35px}.bench-complete>strong{font:23px/1.5 var(--display);color:#436143}.bench-complete>small{font-size:11px;color:#8a9479}.bench-complete .button{margin-top:8px;width:100%;justify-content:center}
.route-map{position:relative;height:250px;border:1px solid #d4dec2;border-radius:12px;background:radial-gradient(ellipse at 75% 10%,#cedbb8 0,transparent 43%),#e7ead7;overflow:hidden}.route-map svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.route-map .road{stroke:#c8c4a8;stroke-width:5;fill:none}.route-map .planned-route{stroke:#9caa68;stroke-width:1.5;stroke-dasharray:3 1;fill:none}.route-map circle{fill:#b3a377;stroke:#fff5d7;stroke-width:1}.route-map circle.visited{fill:#5b8252}.route-start{position:absolute;left:2%;bottom:13%;font-size:10px;color:#8a7d5b}.map-stop{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;background:#faf5dfed;padding:9px 10px;min-width:80px;box-shadow:0 3px 7px #6c77521a;z-index:1}.map-stop b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#dbd4ae;color:#76673e}.map-stop:active{transform:translate(-50%,-48%)}.map-stop.chosen{background:#ebf0d5;border-color:#9aaa70}.map-stop.chosen b{background:#78945b;color:#fff8df}.route-orders{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.route-orders>div{display:flex;flex-direction:column;border:1px solid #e0e2ce;border-radius:8px;padding:12px 10px;gap:5px}.route-orders strong{font-size:12px}.route-orders span{font-size:10px;color:#9c9474}.route-orders b{font-size:11px;color:#728b58}.route-orders b.late{color:#af745a}.route-sequence{font-size:11px!important;color:#899275!important;line-height:1.9!important;margin:14px 0!important;padding:10px 12px;background:#f0f0e2;border-radius:7px}
.parcel-belt{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px;background:#e5e4d1;border:1px solid #d4d1b7;border-radius:10px}.parcel{position:relative;display:flex;flex-direction:column;gap:8px;min-height:115px;background:linear-gradient(90deg,transparent 44%,#e8d4a3 44%,#e8d4a3 55%,transparent 55%),#d0ae7e;border:1px solid #b89966;box-shadow:0 3px 0 #b6a081;padding:12px;color:#5f6149}.parcel small{font-size:9px;background:#fbf1d8;padding:3px}.parcel strong{font-size:16px}.parcel span{font-size:9px}.parcel.selected{border-color:#496d49;outline:3px solid #769c65;outline-offset:2px;background-color:#ddc094}.parcel.sorted{opacity:.5;box-shadow:none}.parcel.sorted>b{position:absolute;inset:0;display:grid;place-items:center;border-radius:8px;background:#eaedddc9;color:#4c7147;font-size:15px}.sorting-bins{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}.sorting-bin{display:flex;align-items:center;flex-direction:column;gap:5px;text-align:center;border:2px dashed #abb895;background:#edf0e1;min-height:100px}.sorting-bin>span{font-size:32px;line-height:1;color:#8ea174}.sorting-bin strong{font-size:14px}.sorting-bin small{font-size:10px;color:#8c997b}.bench-meter{display:flex;justify-content:space-between;padding:10px 3px;color:#7a8b63;font-size:12px}
.dispatch-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dispatch-stats>div{display:flex;flex-direction:column;padding:16px;background:#e9eddd;border:1px solid #d7dec3;border-radius:9px;gap:6px}.dispatch-stats small{font-size:10px;color:#8d9a7a}.dispatch-stats strong{font-size:24px;font-weight:500;color:#55734d}.shift-timeline{display:flex;gap:7px;margin:20px 0}.shift-timeline>span{flex:1;background:#f0efdf;border:1px solid #d8d9c0;border-radius:5px;padding:7px;text-align:center;font-size:11px;color:#b5b696}.shift-timeline>span.filled{background:#8ca376;color:#fff9e2;border-color:#8ca376}.dispatch-offers{display:grid;gap:10px}.dispatch-offers>.bench-button{display:grid;gap:6px}.dispatch-offers strong{display:flex;justify-content:space-between;font-size:15px}.dispatch-offers strong b{color:#9a8352;font-size:15px}.dispatch-offers span{font-size:12px;color:#778466}.dispatch-offers small{font-size:10px;color:#99a08c}
.debug-console{background:#344c42;border:1px solid #455d4b;border-radius:10px;padding:17px;color:#ccd6b4;font:11px/1.8 Consolas,monospace}.debug-console>span{font-size:9px;letter-spacing:2px;color:#92aa8a}.debug-console p{display:flex;gap:12px;font:inherit!important;color:inherit!important;margin:8px 0!important}.debug-console p>b{color:#8a9f7e;font-weight:400}.patch-list{display:grid;gap:9px;margin-top:17px}.patch-list>.bench-button{display:flex;gap:12px;align-items:center}.patch-check{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border:1px solid #c7cfb4;border-radius:5px;color:#71925d}.patch-list strong{display:block;font-size:13px;font-weight:600}.patch-list code{display:block;font:10px/1.8 Consolas,monospace;white-space:normal;overflow-wrap:anywhere;color:#95a080;margin-top:4px}.test-results{display:grid;gap:6px;margin-top:14px}.test-results>div{display:flex;align-items:center;gap:9px;font-size:11px;padding:9px 12px;border-radius:5px}.test-results>div.pass{background:#e5ecd9;color:#5d7b50}.test-results>div.fail{background:#f0e4d8;color:#ab7d5e}.test-results>div span{margin-left:auto;font:10px Consolas,monospace}.service-counter{padding:18px;border:1px solid #d4dec4;background:#e9eddd;border-radius:9px}.queue-ticket{font-size:10px;letter-spacing:1px;color:#8d9b76}.service-counter h3{font:22px/1.5 var(--display);margin:10px 0;color:#4e684a}.service-counter p{font-size:11px!important;color:#889476!important;margin:8px 0 0!important}.document-desk{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:17px 0}.document-desk>section{display:grid;align-content:start;gap:10px;padding:15px;border:1px solid #e0dfc9;border-radius:8px;background:#faf8ee}.document-desk small{font-size:10px;color:#989c81}.document-desk p{font-size:12px!important;color:#7d896c!important;margin:4px 0!important}.document-desk .bench-button{font-size:12px}.service-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-actions .bench-button{font-size:11px;line-height:1.7;text-align:center;padding:12px 8px}
.story-art{display:block;width:100%;height:auto;object-fit:cover}.story-inner,.home-inner,.neighbors-inner{padding:28px 32px}.story-inner>.story-art{width:calc(100% + 64px);max-width:none;margin:-28px -32px 24px;height:245px;object-fit:cover}.story-body{font:21px/1.95 var(--display)!important;color:#596f4f!important;margin:20px 0!important}.story-options{display:grid;gap:11px;margin-top:24px}.story-option{display:flex;flex-direction:column;text-align:left;gap:8px;border:1px solid #d4ddc0;background:#f6f7eb;border-radius:10px;padding:17px 18px;min-height:74px}.story-option:hover{border-color:#9eaf7f;background:#edf1df}.story-option strong{font-size:14px;color:#57704c}.story-option span{font-size:10px;line-height:1.8;color:#8d987b}.story-option small{font-size:10px;color:#a18a5a;line-height:1.8}.story-option:disabled{opacity:.5}.story-list{display:grid;gap:14px;margin:20px 0}.story-list-card{display:grid;grid-template-columns:150px 1fr;gap:19px;align-items:stretch;padding:0;border:1px solid #d5ddc2;border-radius:11px;background:#f7f7ed;overflow:hidden;text-align:left}.story-list-card:disabled{cursor:default;background:#eeeee1;opacity:.68}.story-list-card>.story-art{height:100%;min-height:154px;object-fit:cover}.story-list-copy{display:flex;flex-direction:column;gap:8px;padding:17px 15px 17px 0}.story-list-copy small{font-size:10px;color:#939d7e}.story-list-copy strong{font:21px/1.5 var(--display);color:#4f6946}.story-list-copy>span{font-size:11px;color:#7f8b6e;line-height:1.8}.story-list-copy>b{font-size:11px;color:#a0854e;font-weight:500;margin-top:auto}.story-empty{padding:30px 20px;border:1px dashed #d4d8bd;border-radius:10px;font-size:13px;line-height:1.9;color:#8e997d}.story-result{text-align:center}.story-result .dialog-top{text-align:left}.story-result-symbol{display:block;color:#ad9258;font-size:62px;line-height:1.4;animation:bench-arrive 420ms cubic-bezier(.34,1.56,.64,1)}.story-result .story-body{text-align:left}.keepsake-earned{display:grid;gap:9px;background:#f4ecd3;border:1px solid #dcc794;border-radius:10px;padding:20px;margin:18px 0}.keepsake-earned>strong{font:22px var(--display);color:#937345}.keepsake-earned>span{font-size:12px;line-height:1.8;color:#9b8c62}.keepsake-earned button,.shelf-empty button{padding:11px;background:transparent;color:#6f8658;font-size:12px;text-decoration:underline;text-underline-offset:5px}.home-scene{position:relative;overflow:hidden;border-radius:12px;margin:19px 0 12px;background:#d5ceb3}.home-scene>.story-art{max-height:370px;object-fit:cover}.home-scene.better-rental>.story-art{filter:brightness(1.05)}.home-scene.owned{outline:2px solid #bba372;outline-offset:4px}.home-doorplate{position:absolute;top:14px;left:14px;background:#fcf5e2eb;border:1px solid #d0c195;border-radius:5px;padding:6px 12px;font-size:10px;color:#8b764a;letter-spacing:2px}.home-owned-stamp{position:absolute;bottom:20px;right:17px;transform:rotate(-7deg);padding:9px 11px;border:2px solid #b17d53;background:#fbefd6dc;color:#a77751;font:15px var(--display);letter-spacing:2px}.room-detail{position:absolute;border-radius:5px;padding:7px 10px;background:#edf2ddee;color:#587146;font-size:10px;box-shadow:0 3px 12px #5f6c3a2b}.room-work{left:3%;bottom:12%}.room-lamp{left:24%;top:44%;background:#fff0c4f5;color:#aa8142}.room-book{right:10%;bottom:7%}.home-caption{font:18px/1.7 var(--display)!important;color:#728264!important;text-align:center;margin:18px 0!important}.home-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.home-facts>div{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid #e1e3d2;padding:12px 3px}.home-facts small{font-size:10px;color:#98a086}.home-facts strong{font-size:13px;font-weight:500;color:#69805c}.shelf-heading{display:flex;align-items:baseline;justify-content:space-between;margin:26px 0 14px;gap:10px}.shelf-heading h3{font:21px var(--display);color:#526c48;margin:0}.shelf-heading span{font-size:10px;color:#a49d7d}.keepsake-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:25px}.keepsake{display:flex;flex-direction:column;align-items:center;gap:11px;min-height:170px;padding:20px 13px 15px;border:1px solid #dcd7bd;border-bottom:5px solid #c1ab83;border-radius:8px;background:#f7f2e2;text-align:center}.keepsake>b{font-size:38px;line-height:1;color:#b2935b;font-weight:400}.keepsake>strong{font-size:12px;color:#7c744d}.keepsake>span{font-size:10px;line-height:1.8;color:#9e997e}.shelf-empty{grid-column:1/-1;text-align:center;padding:25px;background:#efefe1;border:1px dashed #d1d5bb;border-radius:10px}.shelf-empty>span{font-size:32px;color:#9ca67b}.shelf-empty p{font-size:12px!important;color:#909a7e!important;line-height:1.9!important}.home-inner>.button{width:100%;justify-content:center}
@keyframes bench-arrive{from{opacity:0;transform:translateY(9px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:640px){.workbench-inner,.story-inner,.home-inner,.neighbors-inner{padding:23px 18px}.workbench-inner h2{font-size:24px}.bench-intro{font-size:12px!important}.route-map{height:230px}.map-stop{min-width:65px;font-size:9px;padding:8px 5px}.route-orders{gap:6px}.route-orders>div{padding:9px 7px}.route-orders strong{font-size:10px}.route-orders span,.route-orders b{font-size:9px}.parcel-belt{padding:10px;gap:8px;grid-template-columns:1fr 1fr}.parcel{min-height:100px;padding:10px}.sorting-bins{gap:7px}.sorting-bin{min-height:89px;padding:10px 4px}.sorting-bin strong{font-size:12px}.dispatch-stats{gap:7px}.dispatch-stats>div{padding:12px 8px}.dispatch-stats strong{font-size:20px}.dispatch-stats small{font-size:9px}.document-desk{gap:9px}.document-desk>section{padding:11px 9px}.service-actions{grid-template-columns:1fr}.service-actions .bench-button{min-height:44px}.story-inner>.story-art{margin:-23px -18px 20px;width:calc(100% + 36px);height:200px}.story-body{font-size:19px!important;line-height:1.95!important}.story-list-card{grid-template-columns:91px 1fr;gap:12px}.story-list-copy{padding:13px 10px 13px 0}.story-list-copy strong{font-size:18px}.story-list-copy>span{font-size:10px}.story-list-card>.story-art{min-height:155px}.story-option{padding:15px 13px}.story-option strong{font-size:13px}.home-scene>.story-art{min-height:230px;object-fit:cover}.home-facts{gap:8px}.home-facts strong{font-size:12px}.shelf-heading{flex-wrap:wrap}.keepsake-shelf{grid-template-columns:1fr 1fr}.keepsake{min-height:165px}.bench-bottom{align-items:flex-start}.bench-bottom .activity-cancel{max-width:190px;text-align:right;font-size:10px}.scene-controls{gap:6px!important}.scene-controls button{font-size:10px!important;padding:8px 10px!important}.room-detail{font-size:8px;max-width:150px}.home-doorplate{top:9px;left:9px}.home-owned-stamp{font-size:12px}}
@media(prefers-reduced-motion:reduce){.bench-complete,.story-result-symbol{animation:none}.bench-button{transition:none}}

.home-parking{position:relative;border-radius:10px;overflow:hidden;margin:20px 0;background:#e3e8d6}.home-parking .story-art{max-height:230px;object-fit:cover}.home-parking>span{position:absolute;bottom:10px;left:10px;right:10px;background:#f9f3e2e8;padding:8px 12px;border-radius:5px;color:#7e805a;font-size:10px;line-height:1.7}
