/* A warm paper chapter, using the original illustrated cards. */
.visitors-chapter{margin:24px 0 32px}.visitors-heading{position:relative;padding:22px 22px 20px;background:linear-gradient(130deg,#f1e4cf,#f7eee2 58%,#e7e8e0);border:1px solid #dcc9a7;border-radius:18px;color:#534838}.visitors-heading>span{font-size:calc(11px * var(--text-scale, 1));letter-spacing:.12em;color:#897355}.visitors-heading h2{font-family:serif;font-size:calc(29px * var(--text-scale, 1));letter-spacing:.1em;margin:8px 0}.visitors-heading p{font-size:calc(12px * var(--text-scale, 1));margin:0;color:#7a725f}.visitors-heading>b{position:absolute;right:20px;bottom:20px;font:32px Georgia,serif}.visitors-heading>b small{font-size:calc(14px * var(--text-scale, 1));color:#968970}.visitor-intro,.visitor-note{font-size:calc(12px * var(--text-scale, 1));line-height:1.9;color:#817365;margin:20px 2px}.visitors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 14px}.visitor-item{font:inherit;color:#514436;text-align:left;display:flex;flex-direction:column;background:transparent;border:0;padding:0;cursor:pointer;min-width:0;align-items:stretch}.visitor-item:disabled{cursor:default;opacity:1}.visitor-item:focus-visible{outline:3px solid #97846a;outline-offset:5px;border-radius:8px}.visitor-number{font-size:calc(9px * var(--text-scale, 1));letter-spacing:.1em;color:#98836b;margin-bottom:6px}.visitor-art{display:block;position:relative;aspect-ratio:2/3;width:100%;border-radius:10px;overflow:hidden;background:#e5ddca;box-shadow:0 3px 12px #3e302819}.visitor-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.visitor-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;border:7px double #c5b492;border-radius:10px;font:22px/2 serif;color:#8e7959}.visitor-placeholder:first-line{font-size:calc(55px * var(--text-scale, 1))}.visitor-shadow img{filter:grayscale(1) contrast(.28) brightness(1.2);opacity:.6}.visitor-shadow:after{content:'';position:absolute;inset:0;background:#c2b7a029;pointer-events:none}.visitor-name{font-family:serif;font-size:calc(21px * var(--text-scale, 1));font-weight:bold;margin:12px 0 7px}.visitor-name small{display:block;font:10px/1.8 sans-serif;letter-spacing:.08em;color:#99876f}.visitor-condition{font-size:calc(11px * var(--text-scale, 1));line-height:1.8;min-height:58px}.visitor-status{font-size:calc(10px * var(--text-scale, 1));color:#85663e;background:#f0e8d9;border-radius:5px;padding:7px;margin-top:8px;line-height:1.6}.visitor-owned .visitor-status{background:#e8ede4;color:#687454}.visitor-wait{font-size:calc(10px * var(--text-scale, 1));line-height:1.8;color:#8b662c;margin-top:6px}.visitor-note{border-top:1px solid #e4d9c8;padding-top:16px}.visitor-detail-art{width:min(330px,80%);margin:20px auto}.visitor-card-back{background:#f7f0e0;border:5px double #bda67a;border-radius:18px;padding:25px 22px;margin:24px auto;max-width:440px;position:relative;box-shadow:0 8px 30px #5c462319}.visitor-card-back h2{font:30px serif;margin:12px 0 24px}.visitor-card-back h2 small{display:block;font:11px/2 sans-serif;color:#928064}.visitor-card-back dl{display:grid;grid-template-columns:1fr 1.15fr;font-size:calc(12px * var(--text-scale, 1));gap:13px 10px}.visitor-card-back dt{color:#938067}.visitor-card-back dd{margin:0;overflow-wrap:anywhere}.visitor-card-back p{font-size:calc(13px * var(--text-scale, 1));line-height:1.9}.visitor-card-back>small{font-size:calc(10px * var(--text-scale, 1));color:#a0907b}.visitor-back-seal{position:absolute;right:25px;top:22px;border:1px solid #ac715b;color:#ac715b;padding:5px;font:24px serif}.visitor-reveal{text-align:center;max-width:460px;margin:auto;padding:22px 16px 42px;background:radial-gradient(ellipse at 50% 30%,#fff7d9,transparent 65%)}.visitor-reveal-kicker{color:#96805a;font-size:calc(12px * var(--text-scale, 1));letter-spacing:.15em}.visitor-reveal-art{width:min(255px,68vw);margin:25px auto;animation:visitorArrival 2s ease-out both}.visitor-reveal-name{animation:visitorWords .8s 1.8s both}.visitor-reveal-name>span{font-size:calc(10px * var(--text-scale, 1));letter-spacing:.12em;color:#a4906d}.visitor-reveal-name h1{font:36px serif;letter-spacing:.2em;margin:9px 0}.visitor-reveal-name p{font-size:calc(12px * var(--text-scale, 1));color:#9b876c;letter-spacing:.2em}.visitor-reveal-lore{animation:visitorWords .8s 2.5s both;font:15px/2 serif}.visitor-reveal-reason{animation:visitorWords .8s 3.2s both;background:#f2e8d6;padding:16px;border-radius:10px;font-size:calc(13px * var(--text-scale, 1));line-height:1.8;margin:18px 0}.visitor-reveal-button{animation:visitorWords .8s 3.9s both}.visitor-home{margin:15px 0;border:1px solid #dfceb1;border-radius:14px;padding:14px 16px;background:linear-gradient(115deg,#eee0c9,#f9f3e8);display:flex;gap:14px;align-items:center;text-align:left;width:100%;font:inherit;color:#735d42;cursor:pointer}.visitor-home .visitor-home-seal{font:32px serif;border:1px solid #ad946b;border-radius:50%;width:56px;height:56px;display:grid;place-items:center;flex-shrink:0}.visitor-home strong{display:block;font:18px serif}.visitor-home small{display:block;font-size:calc(11px * var(--text-scale, 1));margin-top:6px;line-height:1.7}.visitor-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.visitor-actions button{padding:14px 9px;background:#f4ebdb;border:1px solid #ddc8a3;border-radius:12px;font:13px inherit;color:#725e43;cursor:pointer}.visitor-actions small{display:block;font-size:calc(10px * var(--text-scale, 1));color:#96836b;margin-top:4px}.visitor-ritual{background:#f7f0e4;border:1px solid #e3d4bc;border-radius:16px;padding:22px;margin:20px 0}.visitor-ritual label{display:block;margin:14px 0;font-size:calc(13px * var(--text-scale, 1))}.visitor-ritual input,.visitor-ritual select{display:block;margin-top:9px;width:100%;box-sizing:border-box;padding:13px;border:1px solid #d7cbb7;background:#fffcf6;border-radius:8px;font:16px inherit;color:#554a39}.visitor-ritual .clock-secondary{margin:10px 0}.visitor-ritual .visitor-light-set{color:#537249;border-color:#aabd9b;background:#edf2e7}.visitor-timer-number{text-align:center;font:64px Georgia,serif;color:#9e8354;margin:25px 0;letter-spacing:.03em}.visitor-timer-message{text-align:center;font-size:calc(12px * var(--text-scale, 1));line-height:1.9;color:#8a795e;min-height:42px}.visitor-tabs{display:flex;justify-content:center;gap:10px;margin:18px}.visitor-tabs button{border:1px solid #cdbda2;border-radius:20px;background:#faf3e6;padding:9px 25px;color:#775f3e;cursor:pointer}.visitor-tabs button[aria-pressed=true]{background:#806d50;color:#fff}.visitor-dev{max-width:800px;margin:20px auto;padding:20px}.visitor-dev textarea{width:100%;box-sizing:border-box;min-height:130px;font:12px monospace}.visitor-dev-controls{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.visitor-dev-controls button,.visitor-dev-controls input,.visitor-dev-controls select{padding:9px}.visitor-dev pre{white-space:pre-wrap;font-size:calc(11px * var(--text-scale, 1));background:#eee7da;padding:12px;max-height:220px;overflow:auto}
@keyframes visitorArrival{0%,30%{filter:grayscale(1) brightness(.15);opacity:.35;transform:translateY(12px) scale(.94)}100%{filter:none;opacity:1;transform:none}}@keyframes visitorWords{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:540px){.visitors-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 13px}.visitors-heading h2{font-size:calc(26px * var(--text-scale, 1))}.visitor-name{font-size:calc(21px * var(--text-scale, 1))}.visitor-condition{min-height:60px}.visitor-card-back{padding:25px 16px}.visitor-card-back dl{grid-template-columns:1fr 1fr}.visitor-reveal{padding-left:5px;padding-right:5px}.visitor-number{font-size:calc(8px * var(--text-scale, 1))}}
@media(prefers-reduced-motion:reduce){.visitor-reveal *{animation:none!important}}

.visitor-art:has(img:not([hidden])) .visitor-placeholder{visibility:hidden}
