/* A small theatre, with finite performances and a quiet resting state. */
.life-hub{margin:18px 0 24px;border:1px solid var(--hair-lit);border-radius:18px;padding:20px;background:linear-gradient(145deg,var(--night-3),var(--night-2));contain:layout style}
.life-hub h2{font:24px/1.18 var(--display);margin:7px 0 12px}.life-hub h3{font:20px/1.2 var(--display);margin:8px 0}.life-hub p{color:var(--ink-2);line-height:1.5}.life-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.discovery-count{font-size:11px;white-space:nowrap;border:1px solid var(--hair-lit);border-radius:20px;padding:8px;color:var(--amber)}
.life-links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.life-links .btn{flex:1}.display-cabinet{display:flex;align-items:end;justify-content:space-evenly;min-height:145px;padding:16px 10px 4px;border:8px solid var(--wood);border-bottom-width:15px;border-radius:12px 12px 4px 4px;background:radial-gradient(ellipse at top,#ffffff0b,transparent 80%),var(--night-2);box-shadow:inset 0 8px 20px #0005}.display-cabinet>p{text-align:center;font-size:13px;padding-bottom:15px}.display-curio{width:31%;border:0;background:none;color:var(--ink);cursor:pointer;padding:6px;border-radius:8px}.display-curio:hover{background:#ffffff0a}.display-curio svg{width:70px;height:70px;color:var(--amber)}.display-curio span{display:block;font:13px var(--hand);min-height:30px}.display-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 20px;font-size:11px;color:var(--ink-2)}.display-footer .btn{font-size:11px;flex-shrink:0}.frame-brass{border-color:#b69a62!important}.frame-moon{border-color:#899cc3!important;background-color:#18253a}.frame-velvet{border-color:#8c4166!important;background-color:#291423}
.scene-preview{display:grid;grid-template-columns:125px 1fr;gap:16px;border-top:1px solid var(--hair-lit);padding-top:16px}.scene-preview p{font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0}.scene-preview .btn{font-size:11px}.scene-mini{overflow:hidden;border-radius:9px}.scene-mini .tiny-theatre{height:140px;min-height:0;border:0}.scene-mini .scene-actor{width:80px;height:90px;bottom:14px;left:5%}.scene-mini .actor-1{left:auto;right:-18%}.scene-mini .scene-object{width:28px;height:28px;bottom:20px;left:43%}.scene-mini .stage-moon{width:20px;height:20px;top:13px;right:15px}.life-footnote{font-size:10px;margin:18px 0 0;opacity:.8}.scene-empty{font:18px var(--hand);padding:10px}.chapter-intro .btn{margin:8px 8px 0 0}.settling-in #caseCard,.settling-in #visitorCard,.settling-in #schemeCard,.settling-in #dailyCard,.settling-in #needsYou{display:none}.settling-in .shelf-row.row-empty{display:none}
.sheet-life{max-width:780px}.sheet-life p{line-height:1.6;color:var(--ink-2)}.sheet-life h3{font:26px var(--display)}.tiny-theatre{height:280px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 65% 5%,#88725a33,transparent 65%),linear-gradient(#201728 75%,#5c3a47 76%,#311d2c 80%);border:1px solid var(--hair-lit);border-radius:14px;isolation:isolate}.stage-moon{position:absolute;width:36px;height:36px;border-radius:50%;background:#e8cf97;right:18%;top:22px;opacity:.7}.stage-drape{position:absolute;inset:0;background:linear-gradient(90deg,#1a1022bb,transparent 15%,transparent 85%,#1a1022bb);pointer-events:none;z-index:3}.scene-actor{position:absolute;width:155px;height:170px;bottom:40px;left:13%;animation:scene-enter 1.2s both,scene-bow 1.4s 2s both;transform-origin:50% 95%}.scene-actor .sprite{width:100%;height:100%}.actor-1{left:auto;right:11%;animation-delay:.3s,3s}.scene-object{position:absolute;left:46%;bottom:54px;width:58px;height:58px;color:var(--amber);animation:prop-arrival 1s 1s both,prop-hop 1s 3.6s both}.scene-object svg{width:100%;height:100%}.scene-script{font:24px/1.5 var(--hand);white-space:pre-line}.scene-history{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--hair-lit);padding-top:14px}.scene-history .btn{font-size:11px}.curio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.curio-tile{border:1px solid var(--hair-lit);background:var(--night-2);border-radius:12px;padding:14px;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px}.curio-tile svg{width:72px;height:72px;color:var(--amber)}.curio-tile small{color:var(--ink-2);line-height:1.4}.curio-tile.selected{border-color:var(--mint);background:#7fd8c010}.frame-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.frame-choice{white-space:normal!important;display:flex;flex-direction:column;gap:7px}.frame-choice small{font-weight:normal;opacity:.8}.frame-choice[aria-pressed=true]{outline:2px solid var(--mint);outline-offset:2px}.collection-grid article>span svg{display:block;width:64px;height:64px;margin:auto;color:var(--amber)}
.outing-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.route-card{background:var(--night-2);color:var(--ink);border:1px solid var(--hair-lit);border-radius:14px;padding:16px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:10px}.route-card svg{width:55px;height:55px;color:var(--amber)}.route-card small{line-height:1.5;color:var(--ink-2)}.route-card[aria-pressed=true]{outline:2px solid var(--mint);outline-offset:2px;background:#7fd8c010}.crew-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.crew-picker label{font-size:12px;min-width:0}.crew-picker select{width:100%;display:block;padding:10px 5px;margin-top:7px;color:var(--ink);background:var(--night-2);border:1px solid var(--hair-lit);border-radius:7px}.expedition-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.expedition-choices .btn{white-space:normal;text-align:left;padding:16px;display:flex;flex-direction:column;align-items:start;gap:10px}.expedition-choices small{font-weight:400;color:var(--ink-2);line-height:1.5}.crew-readout{font-size:12px;padding:12px;border:1px solid var(--hair-lit);border-radius:10px}.expedition-prize{text-align:center;max-width:480px;margin:18px auto}.expedition-prize svg,.court-result>svg{width:110px;height:110px;color:var(--amber);display:block;margin:10px auto;animation:prop-arrival .6s both}.expedition-prize .eyebrow{display:block;margin-top:20px}.outing-log{padding-left:22px;color:var(--ink-2);line-height:1.6}.outing-log li{margin:12px 0}.court-evidence{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:20px 0}.court-evidence article{padding:16px;background:var(--night-2);border-left:3px solid var(--amber);border-radius:6px}.court-evidence p{margin-bottom:0;font-size:14px}.court-evidence b{font-size:11px;color:var(--amber);text-transform:uppercase;letter-spacing:1px}.court-result{text-align:center}.play-roster{display:grid;grid-template-columns:1fr 1fr;gap:10px}.visitor-activity{border-top:1px solid var(--hair-lit);margin-top:18px;padding-top:16px}.visitor-activity h3{font:20px var(--display);margin:8px 0}.resident-habits{margin:18px 0;padding:14px;border:1px solid var(--hair-lit);border-radius:10px}.resident-habits summary{cursor:pointer;font-size:12px;color:var(--mint)}.resident-habits p{font-size:12px;line-height:1.5}.blueprint-tools{margin:12px 0;display:flex;gap:8px;flex-wrap:wrap}.blueprint-tools select{max-width:180px;background:var(--night-2);color:var(--ink);border:1px solid var(--hair-lit);border-radius:6px;padding:8px}
@keyframes scene-enter{from{opacity:0;translate:-20px 8px}to{opacity:1;translate:0 0}}@keyframes scene-bow{0%,100%{rotate:0deg}45%{rotate:9deg}}@keyframes prop-arrival{from{opacity:0;scale:.6}to{opacity:1;scale:1}}@keyframes prop-hop{0%,100%{translate:0 0;rotate:0deg}40%{translate:0 -16px;rotate:-12deg}70%{translate:0 -5px;rotate:8deg}}
@media(max-width:720px){.life-hub{padding:16px}.life-hub h2{font-size:21px}.life-heading{display:block}.discovery-count{display:inline-block;margin-bottom:6px}.life-links .btn{font-size:12px;min-width:100px}.scene-preview{grid-template-columns:90px 1fr;gap:10px}.scene-mini .actor-1{display:none}.scene-mini .scene-actor{left:0}.scene-mini .scene-object{left:62%}.display-footer{align-items:start}.outing-routes{grid-template-columns:1fr}.route-card{display:grid;grid-template-columns:48px 1fr;gap:7px 14px}.route-card svg{grid-row:span 2;width:48px}.route-card small{font-size:12px}.crew-picker{grid-template-columns:1fr 1fr}.crew-picker label:last-child{grid-column:1/-1}.expedition-choices{grid-template-columns:1fr}.curio-grid{grid-template-columns:1fr 1fr}.tiny-theatre{height:220px}.scene-actor{width:115px;height:140px;left:5%;bottom:28px}.actor-1{left:auto;right:3%}.scene-object{width:40px;height:40px;bottom:42px}.scene-script{font-size:22px}}
@media(prefers-reduced-motion:reduce){.tiny-theatre *,.expedition-prize svg,.court-result>svg{animation:none!important}}
body[data-effects="light"] .scene-mini .tiny-theatre *{animation:none!important}.dialog-open #lifeHub .tiny-theatre *{animation-play-state:paused!important}

/* The night market has an illustrated table, a readable shopping list and a
   persistent bag. Its decoration is static to keep older phones comfortable. */

