:root{--ink: #e8dfcd;--ink-dim: #8d8474;--night: #0a0b0f;--night-soft: #12141b;--lamp: #f0b96b;--lamp-deep: #b8702c;--paper: #e4d9bf;--paper-ink: #2a241c;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: ui-sans-serif, -apple-system, "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--night);color:var(--ink);font-family:var(--serif);overscroll-behavior:none;cursor:default;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}input,textarea,.selectable{user-select:text;-webkit-user-select:text}input,textarea{cursor:text}button,.room,.act{cursor:pointer}::selection{background:#f0b96b38;color:var(--ink)}img,canvas{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}#app{height:100%;display:flex;align-items:center;justify-content:center}.gate{width:min(30rem,88vw);text-align:center;animation:arrive 1.6s ease-out both}@keyframes arrive{0%{opacity:0;transform:translateY(.5rem)}}.gate h1{font-weight:400;font-size:2rem;letter-spacing:.14em;text-transform:lowercase;margin:0 0 .25rem;color:var(--ink);text-shadow:0 0 2.5rem rgb(240 185 107 / 22%)}.gate .sub{color:var(--ink-dim);font-size:.95rem;font-style:italic;margin-bottom:2.5rem}.gate form{display:flex;flex-direction:column;gap:.75rem}.gate input{background:var(--night-soft);border:1px solid #23262f;border-radius:2px;color:var(--ink);font-family:var(--serif);font-size:1rem;padding:.7rem .9rem;text-align:center;transition:border-color .25s,box-shadow .25s}.gate input::placeholder{color:#4d5260}.gate input:focus{outline:none;border-color:var(--lamp-deep);box-shadow:0 0 1.5rem #f0b96b1f}.gate button,.act{background:none;border:1px solid #2c303b;border-radius:2px;color:var(--ink-dim);font-family:var(--serif);font-size:1rem;padding:.7rem;cursor:pointer;transition:color .25s,border-color .25s,background .25s}.act{font-size:.85rem;padding:.45rem .9rem;letter-spacing:.04em}.gate button:hover,.act:hover{color:var(--lamp);border-color:var(--lamp-deep);background:#f0b96b0d}.gate .refusal{color:#a8674f;font-size:.9rem;font-style:italic;min-height:1.4em;margin-top:.9rem}.house-view{position:fixed;top:0;right:0;bottom:0;left:0}.house-view canvas{display:block;width:100%;height:100%}.chrome{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;font-size:.85rem;letter-spacing:.06em}.chrome>*{position:absolute}.chrome .clock{top:1.6rem;left:2rem;color:var(--ink-dim)}.chrome .prompt{bottom:5.2rem;left:0;right:0;text-align:center;color:var(--ink);opacity:.55;font-style:italic;transition:opacity .4s}.chrome .foot{bottom:1.6rem;left:2rem;right:2rem;display:flex;justify-content:space-between;align-items:center;color:var(--ink-dim)}.chrome .acts{display:flex;gap:.5rem;pointer-events:auto}.chrome .refusal-line{bottom:3.4rem;left:0;right:0;text-align:center;color:#a8674f;font-style:italic}.house{width:min(60rem,92vw);padding:2rem 0}.house h2{font-weight:400;font-size:1.1rem;letter-spacing:.1em;color:var(--ink-dim);margin:0 0 1.5rem}.rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem}.room{border:1px solid #1c1f27;border-radius:2px;padding:.9rem 1rem;background:var(--night-soft);transition:background .6s,box-shadow .6s}.room.lit{background:linear-gradient(160deg,#f0b96b17,#b8702c08);box-shadow:inset 0 0 2.5rem #f0b96b12}.room .name{letter-spacing:.08em}.room .detail{color:var(--ink-dim);font-size:.8rem;font-style:italic;margin-top:.3rem}.room .who{color:var(--lamp);font-size:.85rem;margin-top:.5rem}.status{display:flex;justify-content:space-between;color:var(--ink-dim);font-size:.85rem;margin-top:1.5rem;letter-spacing:.05em}.refusal-line{color:#a8674f;font-style:italic;font-size:.85rem;min-height:1.4em;margin-top:.75rem;transition:opacity .6s}.notice{color:var(--lamp);font-style:italic;text-align:center}.paper-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#0405089e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:paper-in .35s ease-out both}@keyframes paper-in{0%{opacity:0}}.paper{width:min(30rem,86vw);max-height:78vh;overflow-y:auto;padding:2.4rem 2.6rem 2rem;color:var(--paper-ink);font-family:var(--serif);line-height:1.55;border-radius:1px;background:radial-gradient(120% 90% at 12% 8%,rgb(160 120 60 / 13%),transparent 55%),radial-gradient(100% 80% at 92% 96%,rgb(120 90 50 / 15%),transparent 60%),repeating-linear-gradient(92deg,rgb(0 0 0 / 1.5%) 0 1px,transparent 1px 3px),linear-gradient(175deg,#ece1c7,var(--paper) 55%,#d9ccae);box-shadow:0 1.4rem 3rem #0000008c,inset 0 0 4rem #785a321f;animation:paper-rise .4s cubic-bezier(.2,.9,.3,1) both}@keyframes paper-rise{0%{transform:translateY(.9rem) rotate(-.3deg);opacity:0}}.paper h2{font-weight:400;font-size:1.5rem;letter-spacing:.06em;margin:0 0 1.4rem;text-align:center;font-variant:small-caps}.paper hr{border:none;border-top:1px solid rgb(42 36 28 / 22%);margin:1rem 0}.paper .line{display:flex;justify-content:space-between;gap:1rem;margin:.3rem 0}.paper .line>span:first-child:after{content:" ........................................";color:#2a241c4d;white-space:nowrap;overflow:hidden}.paper .line>span:last-child{white-space:nowrap;font-variant-numeric:oldstyle-nums}.paper .rooms{display:flex;flex-direction:column;margin:0}.paper .foot{margin:1.4rem 0 0;font-style:italic;text-align:center;color:#2a241cad}.house-view:has(.speech) .chrome .prompt{opacity:0}.speech{position:absolute;bottom:7.5rem;left:50%;transform:translate(-50%);width:min(38rem,84vw);pointer-events:auto;cursor:pointer;text-align:center;animation:speak-in .5s ease-out both}@keyframes speak-in{0%{opacity:0;transform:translate(-50%) translateY(.4rem)}}.speech .who{color:var(--lamp);font-size:.8rem;letter-spacing:.14em;margin-bottom:.6rem;opacity:.75}.speech p{margin:.45rem 0;font-size:1.05rem;line-height:1.5;color:var(--ink);text-shadow:0 .15rem 1.5rem rgb(0 0 0 / 90%)}.speech .dismiss{margin-top:.9rem;font-size:.72rem;letter-spacing:.1em;color:var(--ink-dim);opacity:.45}.paper h3{font-weight:400;font-size:.9rem;letter-spacing:.1em;font-variant:small-caps;margin:1.2rem 0 .6rem;color:#2a241cb3}.paper .choices{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.9rem}.paper .act{color:var(--paper-ink);border-color:#2a241c47;font-size:.85rem}.paper .act:hover{color:#6b3a20;border-color:#6b3a2099;background:#6b3a200f}.paper .act.warn:hover{color:#7d2f22;border-color:#7d2f228c;background:#7d2f2212}.paper .entry{margin:.55rem 0;line-height:1.5}.paper .entry .hand{display:block;font-size:.72rem;letter-spacing:.08em;color:#2a241c7f;font-variant:small-caps}.paper .entry.faded{color:#2a241c73;font-style:italic}.paper .entry .act{margin-left:.6rem;padding:.15rem .5rem;font-size:.75rem;vertical-align:middle}.paper .fineprint{margin:1.2rem 0 0;font-size:.75rem;font-style:italic;text-align:center;color:#2a241c8c}.paper.note{text-align:center;font-style:italic;line-height:2.05;padding-top:3rem;padding-bottom:3rem}.paper.note p{margin:.15rem 0}.paper.note .signature{margin-top:1.6rem;font-style:normal;font-variant:small-caps;letter-spacing:.12em}.chrome .sound{pointer-events:auto;background:none;border:none;color:var(--ink-dim);font-family:var(--serif);font-size:.78rem;letter-spacing:.08em;opacity:.55;cursor:pointer;padding:.3rem 0;margin-left:1.2rem}.chrome .sound:hover{opacity:1;color:var(--lamp)}.paper .doc-title{font-size:1.05rem;font-style:italic;font-variant:normal;color:#2a241ca6;margin-bottom:1.6rem}.paper .doc-line{margin:.8rem 0;line-height:1.7}.paper .act[disabled]{opacity:.45;cursor:default}
