:root{color-scheme:dark;--bg:#101714;--panel:#18211d;--panel-2:#202b24;--ink:#eee6d3;--muted:#a7ad9b;--quiet:#778273;--gold:#d1b77b;--gold-bright:#f0d795;--line:#455045;--wine:#7e3f46;--mono:ui-monospace,'SFMono-Regular',Consolas,monospace;--serif:'Palatino Linotype',Palatino,Georgia,serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 42% -10%,#293930 0,#151f1b 38%,#0c1211 100%);color:var(--ink);font:14px/1.55 var(--sans)}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}a{color:var(--gold-bright)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}
.shell{width:min(1480px,100% - 64px);margin:auto}.topbar{display:flex;align-items:center;gap:30px;min-height:94px;border-bottom:1px solid #65705b55}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:600 20px/1.05 var(--serif);letter-spacing:3px;white-space:nowrap}.brand small{display:block;margin-top:7px;color:var(--gold);font:9px/1 var(--mono);letter-spacing:1.8px}.brand-sigil{display:grid;place-items:center;width:41px;height:46px;border:1px solid #9f8759;color:var(--gold-bright);font:34px/1 var(--serif);clip-path:polygon(50% 0,100% 18%,88% 83%,50% 100%,12% 83%,0 18%)}.edition{color:#a7a68b;font:10px var(--mono);letter-spacing:2px;white-space:nowrap}.edition b{color:var(--gold)}.top-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.nav-button{padding:10px 12px;border:1px solid transparent;border-radius:3px;background:transparent;color:#bec2ae;font-size:12px;white-space:nowrap}.nav-button:hover,.nav-button.current{border-color:#7c714f88;background:#252d23;color:var(--gold-bright)}
main{min-height:65vh}.page{padding:34px 0 12px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}.page-heading h1{margin-top:4px;font:500 clamp(34px,4vw,50px)/1.08 var(--serif);letter-spacing:-.7px}.page-heading>p{max-width:490px;font-size:13px;line-height:1.75}.eyebrow{display:block;color:#b7a672;font:10px/1.4 var(--mono);letter-spacing:1.65px}.house-layout{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(285px,.7fr);gap:18px;align-items:start}.map-card,.house-aside>*{border:1px solid #485146;background:linear-gradient(155deg,#1c2721,#151e1a 75%);box-shadow:0 14px 38px #0003}.map-card{padding:17px}.map-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}.map-heading h2,.city-map-heading h2{margin-top:4px;font:500 23px var(--serif)}.floor-tabs{display:flex;gap:5px}.floor-tabs button{border:1px solid #485244;background:#17211b;padding:8px 11px;color:#b7bba9;font-size:11px}.floor-tabs button[aria-pressed="true"]{border-color:#9b895e;background:#413725;color:#f0d997}.floor-tabs button:hover{border-color:var(--gold)}.secondary{padding:8px 11px;border:1px solid #60644c;background:#202920;color:#d8c58d;font-size:11px}.secondary:hover{border-color:var(--gold);background:#302d22}.map-frame{position:relative;overflow:hidden;aspect-ratio:3/2;border:1px solid #756649;background:#0c1515;box-shadow:inset 0 0 0 4px #111918}.map-frame:before,.map-frame:after{position:absolute;z-index:2;width:12px;height:12px;content:"";border:1px solid #b79e64;pointer-events:none}.map-frame:before{top:6px;left:6px;border-right:0;border-bottom:0}.map-frame:after{right:6px;bottom:6px;border-top:0;border-left:0}#world,#city-world{display:block;width:100%;height:100%;image-rendering:pixelated;cursor:crosshair}.map-chip{position:absolute;z-index:3;left:12px;top:12px;padding:5px 8px;border:1px solid #c6aa6870;background:#101a16df;color:#e3d39d;font:9px var(--mono);letter-spacing:1px;pointer-events:none}.scene-label{position:absolute;left:12px;right:12px;bottom:12px;padding:5px 9px;background:#101914dd;color:#e4d19a;font:9px var(--mono);letter-spacing:1.6px;pointer-events:none}.map-help{display:flex;justify-content:space-between;gap:14px;padding:12px 2px;color:#9da691;font:10px var(--mono)}kbd{display:inline-grid;place-items:center;min-width:18px;margin-right:2px;padding:2px 4px;border:1px solid #62634d;background:#283028;color:#ddd1aa;font:10px var(--mono)}.player-select-wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #404b40;padding:13px 2px 0}.player-select-wrap p{margin-top:3px;color:var(--muted);font-size:11px}.player-select{display:flex;gap:7px}.player-choice{display:grid;grid-template-rows:42px 13px;place-items:center;width:65px;height:64px;padding:3px;border:1px solid #475143;background:#111a16}.player-choice:hover,.player-choice[aria-pressed="true"]{border-color:var(--gold);background:#323626;box-shadow:0 0 0 1px #ba9f5c44}.player-choice canvas{width:31px;height:40px;image-rendering:pixelated}.player-choice small{color:#aeb39f;font:8px var(--mono)}.player-choice[aria-pressed="true"] small{color:var(--gold-bright)}
.house-aside{display:grid;gap:12px}.active-card{display:flex;align-items:center;gap:15px;padding:16px}.active-portrait{display:grid;place-items:end center;flex:0 0 78px;height:90px;border:1px solid #6d6247;background:linear-gradient(#263a35,#1b2925);overflow:hidden}.active-portrait canvas{width:72px;height:88px;image-rendering:pixelated}.active-card h2{margin-top:4px;font:500 23px/1.1 var(--serif)}.clan-line{margin-top:3px;color:var(--gold);font:10px var(--mono);letter-spacing:.6px}.muted{margin-top:8px;font-size:11px}.quick-edit{padding:16px}.quick-edit label,.form-card label{display:block;margin:0 0 6px;color:#b8bba7;font-size:11px}.quick-edit input,.form-card input,.form-card select,.form-card textarea{width:100%;border:1px solid #4a5548;border-radius:2px;background:#101814;color:var(--ink);padding:9px 10px}.quick-edit input{font-size:12px}.quick-edit input::placeholder,.form-card input::placeholder,.form-card textarea::placeholder{color:#788275}.patron-card{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:13px;border-top:1px solid #3e493f}.patron-portrait{display:grid;place-items:end center;flex:0 0 54px;height:65px;overflow:hidden;border:1px solid #6c6046;background:#29362e}.patron-portrait canvas{width:52px;height:62px;image-rendering:pixelated}.patron-card strong,.patron-card small{display:block}.patron-card strong{margin-top:4px;color:#eadbb7;font:500 16px var(--serif)}.patron-card small{margin-top:2px;color:#9da691;font-size:10px}.small-note{margin-top:12px;color:#8e9a89;font-size:10px;line-height:1.55}.house-note{display:flex;gap:10px;padding:14px;border:1px solid #544a36;background:#29291f}.pixel-dot{flex:0 0 9px;height:9px;margin-top:4px;background:#ba9d62;box-shadow:0 0 0 3px #ba9d6225}.house-note strong{font:500 14px var(--serif);color:#e7d7ae}.house-note p{margin-top:4px;color:#a9ad9b;font-size:11px;line-height:1.6}.side-link{display:flex;align-items:center;gap:12px;width:100%;padding:13px;text-align:left;border:1px solid #465145;background:#19231e}.side-link>span:first-child{color:var(--gold);font-size:20px}.side-link>span:nth-child(2){display:grid;gap:2px}.side-link strong{font:500 14px var(--serif)}.side-link small{color:#9ea691;font-size:10px}.side-link>b{margin-left:auto;color:#c9b378;font-weight:400}.side-link:hover{border-color:#a18a55;background:#242c22}
.city-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.67fr);gap:18px;align-items:start}.city-map-card,.city-aside{border:1px solid #485146;background:linear-gradient(155deg,#1c2721,#151e1a 75%);box-shadow:0 14px 38px #0003}.city-map-card{padding:17px}.city-map-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:14px}.schematic-tag{padding:5px 7px;border:1px solid #806d48;color:#d4c28e;font:8px var(--mono);letter-spacing:1px;white-space:nowrap}.city-map-frame{position:relative;overflow:hidden;aspect-ratio:3/2;border:1px solid #756649;background:#0c1515;box-shadow:inset 0 0 0 4px #111918}.city-pins{position:absolute;inset:0;pointer-events:none}.city-pin{position:absolute;display:grid;place-items:center;width:24px;height:24px;padding:0;border:2px solid #f0d795;border-radius:50%;background:#271f12d9;color:#fff0bf;box-shadow:0 0 0 4px #cba95c35,0 4px 12px #0009;transform:translate(-50%,-50%);pointer-events:auto}.city-pin:before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#f2d48b}.city-pin span{position:absolute;left:50%;top:calc(100% + 7px);padding:4px 6px;border:1px solid #a98f55;background:#101914eF;color:#f0e1ba;font:8px var(--mono);white-space:nowrap;transform:translateX(-50%)}.city-pin:hover,.city-pin[aria-pressed="true"]{z-index:2;background:#84693e;box-shadow:0 0 0 5px #e8c87055,0 6px 14px #0009}.pin-duomo{left:19%;top:25%}.pin-san-lorenzo{left:40%;top:25%}.pin-signoria{left:56%;top:41%}.pin-santa-croce{left:87.5%;top:41%}.pin-ponte-vecchio{left:66.5%;top:59%}.pin-oltrarno{left:60.5%;top:84%}.city-aside{padding:17px}.city-aside h2{margin-top:4px;font:500 23px var(--serif)}.city-aside>p{margin-top:8px;color:var(--muted);font-size:11px;line-height:1.65}.city-location-list{display:grid;gap:7px;margin-top:14px}.city-location-card{display:flex;align-items:center;gap:10px;width:100%;padding:10px;text-align:left;border:1px solid #414c40;background:#131c17;color:var(--ink)}.city-location-card:hover,.city-location-card[aria-pressed="true"]{border-color:#a18a55;background:#242c22}.city-location-card strong{font:500 15px var(--serif);color:#e9dcb7}.city-location-card small{display:block;margin-top:2px;color:#9da691;font-size:9px;line-height:1.45}.city-location-card .pin-index{display:grid;place-items:center;flex:0 0 25px;height:25px;border:1px solid #796a45;color:#d8c184;font:10px var(--mono)}.return-home{margin-top:13px}
.finds-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:16px;align-items:start}.form-card,.archive-card{padding:19px;border:1px solid #485146;background:linear-gradient(145deg,#1c2721,#141d19)}.form-card h2,.archive-card h2{margin:5px 0 15px;font:500 23px var(--serif)}.form-card label{margin-top:12px}.form-card input,.form-card select,.form-card textarea{font-size:12px}.form-card textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary{margin-top:15px;padding:10px 15px;border:1px solid #b69e65;background:#8c7043;color:#fff2ca;font-size:12px}.primary:hover{background:#a2854f}.archive-heading{display:flex;align-items:start;justify-content:space-between}.count-badge{display:grid;place-items:center;min-width:29px;height:29px;border:1px solid #7c6e4d;background:#292b22;color:var(--gold-bright);font:11px var(--mono)}.find-list{display:grid;gap:9px}.empty-state{padding:28px 16px;border:1px dashed #56604d;text-align:center;color:#9fa895;font-size:12px}.empty-state strong{display:block;margin-bottom:5px;color:#d2c6a5;font:500 17px var(--serif)}.find-item{padding:13px;border:1px solid #3e4c40;background:#121a16}.find-item-head{display:flex;justify-content:space-between;gap:10px}.find-item h3{font:500 16px var(--serif)}.find-meta{margin-top:3px;color:#b4a372;font:9px var(--mono);letter-spacing:.5px}.find-item p{margin-top:9px;color:#a7ad9b;font-size:12px;white-space:pre-wrap}.find-item a{display:inline-block;margin-top:8px;font-size:10px}.delete-button{border:1px solid #694b45;background:#2a1f1d;color:#e0aaa0;padding:5px 8px;font-size:10px;align-self:start}.delete-button:hover{background:#4d2d2a}
.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rule-card{position:relative;min-height:195px;padding:23px;border:1px solid #485146;background:linear-gradient(145deg,#1d2821,#141d19);overflow:hidden}.rule-icon{position:absolute;right:20px;top:9px;color:#baa46d44;font:59px var(--serif)}.rule-card h2{position:relative;margin:7px 0 10px;font:500 24px var(--serif)}.rule-card p{position:relative;max-width:520px;color:#aab09f;font-size:13px;line-height:1.75}.rule-card strong{color:#e0ca95;font-weight:600}.source-note{margin-top:16px;color:#929d8b;font-size:11px}
.site-footer{display:flex;justify-content:space-between;gap:12px;margin:36px 0 0;padding:18px 0 23px;border-top:1px solid #53604b66;color:#828e7d;font:9px var(--mono);letter-spacing:.6px}.site-footer span:first-child{color:#b9a875;letter-spacing:1.5px}.toast{position:fixed;z-index:10;left:50%;bottom:24px;transform:translateX(-50%);padding:10px 14px;border:1px solid #9c895a;background:#1a241d;color:#eee1ba;box-shadow:0 6px 24px #0008;font-size:12px;max-width:min(92vw,520px)}.detail-dialog{position:fixed;top:50%;left:50%;width:min(560px,calc(100% - 28px));max-width:none;margin:0;padding:22px;transform:translate(-50%,-50%);border:1px solid #a38b59;background:linear-gradient(145deg,#202c25,#111a16);color:var(--ink);box-shadow:0 24px 80px #000b}.detail-dialog::backdrop{background:#070b09c9;backdrop-filter:blur(2px)}.dialog-close{position:absolute;right:10px;top:8px;border:0;background:none;color:#d7c598;font-size:24px}.dialog-art{float:left;width:112px;height:138px;margin:0 17px 12px 0;padding:6px;border:1px solid #9e8755;background:#30291b}.dialog-art canvas{width:100%;height:100%;image-rendering:pixelated}.dialog-copy h2{margin:6px 0 9px;font:500 25px/1.1 var(--serif)}.dialog-copy p{color:#aab09f;font-size:13px;line-height:1.7;white-space:pre-line}.dialog-copy .secondary{margin-top:16px}
@media(max-width:1120px){.shell{width:min(100% - 40px,980px)}.topbar{gap:18px;flex-wrap:wrap;padding:17px 0}.top-actions{order:3;width:100%;overflow:auto;margin:0}.house-layout{grid-template-columns:minmax(0,1fr) 290px}.city-layout{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:760px){.shell{width:calc(100% - 26px)}.topbar{min-height:auto;gap:12px}.edition{margin-left:auto;font-size:8px;letter-spacing:1px}.brand{font-size:17px}.brand-sigil{width:35px;height:39px;font-size:29px}.brand small{font-size:8px}.top-actions{gap:2px}.nav-button{padding:8px 9px;font-size:11px}.page{padding-top:25px}.page-heading{display:block}.page-heading>p{margin-top:9px;font-size:12px}.house-layout,.city-layout{grid-template-columns:1fr}.house-aside{grid-template-columns:1fr 1fr}.house-aside .active-card,.house-aside .quick-edit,.house-aside .house-note,.house-aside .side-link{grid-column:auto}.map-card,.city-map-card{padding:11px}.map-heading{align-items:start}.floor-tabs{width:100%;margin-top:9px}.floor-tabs button{flex:1;padding:8px 4px;font-size:10px}.map-help{font-size:8px}.map-help span{max-width:50%}.player-select-wrap{align-items:start}.city-map-heading{align-items:start;flex-wrap:wrap}.city-aside{padding:14px}.city-pin{width:20px;height:20px}.city-pin span{font-size:7px;padding:4px}.finds-layout{grid-template-columns:1fr}.site-footer{flex-wrap:wrap;font-size:8px}.site-footer span:first-child{width:100%}}
@media(max-width:480px){.edition{display:none}.page-heading h1{font-size:37px}.house-aside{grid-template-columns:1fr}.house-aside .active-card,.house-aside .quick-edit,.house-aside .house-note,.house-aside .side-link{grid-column:1}.map-help{display:block;line-height:2}.map-help span{display:block;max-width:none}.player-select-wrap{display:block}.player-select{margin-top:9px}.player-choice{width:58px;height:60px;grid-template-rows:39px 13px}.player-choice canvas{width:28px;height:35px}.rules-grid{grid-template-columns:1fr}.rule-card{min-height:0;padding:19px}.form-row{gap:8px}.city-pin span{white-space:normal;max-width:66px;text-align:center}.detail-dialog{padding:18px}.dialog-copy h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.scene-access{display:grid;gap:13px;margin:0 0 14px;padding:12px;border:1px solid #414c40;background:linear-gradient(135deg,#141d18,#1b241d)}.scene-access-group{display:grid;gap:7px}.scene-access-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.scene-access-heading .eyebrow{font-size:8px}.scene-access-heading strong{color:#d9c99e;font:500 13px var(--serif)}.scene-access-list{display:flex;flex-wrap:wrap;gap:7px}.scene-access-button{display:flex;align-items:center;gap:8px;min-height:34px;padding:6px 9px;border:1px solid #485344;background:#1b251e;color:#d6d1bb;text-align:left}.scene-access-button:hover,.scene-access-button:focus-visible{border-color:#c4a763;background:#302d21;color:#f5dfaa}.scene-access-button .access-glyph{display:grid;place-items:center;flex:0 0 18px;height:18px;border:1px solid #806d47;background:#2b2a20;color:#e6c982;font:10px var(--mono)}.scene-access-button span:last-child{display:grid;gap:1px}.scene-access-button strong{font:500 12px var(--serif)}.scene-access-button small{color:#9da691;font:8px var(--mono);letter-spacing:.25px}.scene-access-button[aria-disabled="true"]{opacity:.58}.scene-access-button[aria-disabled="true"]:hover{border-color:#485344;background:#1b251e;color:#d6d1bb}.scene-access-empty{color:#909887;font-size:10px}.house-frame .interactive-tag{position:absolute;z-index:3;transform:translate(-50%,-50%);padding:2px 4px;border:1px solid #d0b46c;background:#101914e8;color:#f4d997;font:8px var(--mono);pointer-events:none;box-shadow:0 0 0 2px #1a19124d}.invitation-art{position:relative;margin:16px 0 14px;padding:18px 24px 20px;overflow:hidden;border:1px solid #aa8b52;background:repeating-linear-gradient(0deg,#e7d9b9 0,#e7d9b9 3px,#e4d4b0 3px,#e4d4b0 6px);color:#39261d;text-align:center;box-shadow:inset 0 0 0 5px #d2be91,0 8px 24px #0004}.invitation-art:before,.invitation-art:after{position:absolute;inset:9px;content:"";border:1px solid #99713d;pointer-events:none}.invitation-art:after{inset:13px;border-color:#b79a62}.invitation-topline,.invitation-kicker{position:relative;z-index:1;color:#614a2b;font:8px var(--mono);letter-spacing:1.25px}.invitation-sigil{position:relative;z-index:1;display:grid;place-items:center;width:37px;height:37px;margin:12px auto 9px;border:1px solid #7b5b2e;background:#58212a;color:#eedcae;font:22px var(--serif);box-shadow:0 0 0 3px #e7d9b9,0 0 0 4px #8f6c3b}.invitation-art h3{position:relative;z-index:1;margin:7px 0 10px;color:#4c2727;font:500 25px/1.1 var(--serif)}.invitation-art p{position:relative;z-index:1;max-width:420px;margin:8px auto;color:#514032;font:12px/1.6 var(--serif)}.invitation-signature{position:relative;z-index:1;margin-top:12px;color:#612b2b;font:italic 17px var(--serif)}.invitation-seal{position:absolute;right:26px;bottom:20px;z-index:2;display:grid;place-items:center;width:27px;height:27px;border:2px solid #7c1d25;border-radius:50%;background:#8b2c31;color:#e4c29a;font:14px var(--serif);box-shadow:0 1px 4px #0004}
@media(max-width:760px){.scene-access{padding:10px}.scene-access-heading{align-items:flex-start;flex-direction:column;gap:3px}.scene-access-button{padding:6px 7px}.scene-access-button strong{font-size:11px}.invitation-art{padding:16px 18px 20px}.invitation-seal{right:18px;bottom:16px}}

/* Dark charcoal and garnet interface palette. */
:root{--bg:#080709;--panel:#151013;--panel-2:#21161a;--ink:#f1e8dc;--muted:#baaaa3;--quiet:#8d7d79;--gold:#c99a61;--gold-bright:#f0cf96;--line:#572630;--wine:#982c3b}
body{background:radial-gradient(ellipse at 45% -12%,#42121b 0,#1b0d11 34%,#09080a 78%,#060608 100%)}
.topbar{border-bottom-color:#762c39}
.nav-button:hover,.nav-button.current{border-color:#a24c55;background:#32151c;color:#f4d4a2}
.map-card,.house-aside>*,.city-map-card,.city-aside,.scene-access,.form-card,.archive-card,.rule-card,.detail-dialog{border-color:#612a33;background:linear-gradient(150deg,#1c1216,#100b0e 78%)}
.map-frame,.city-map-frame{border-color:#9c5d52;background:#09070a;box-shadow:inset 0 0 0 4px #130b0e}
#world,#city-world{image-rendering:auto}
.dialog-art canvas{image-rendering:auto}
.map-chip,.scene-label{border-color:#8e3944;background:#10090df0;color:#f1d3a3}
.floor-tabs button,.secondary,.scene-access-button,.side-link,.city-location-card,.player-choice{border-color:#593039;background:#160e11;color:#d8c8bb}
.floor-tabs button[aria-pressed="true"],.floor-tabs button:hover,.secondary:hover,.scene-access-button:hover,.scene-access-button:focus-visible,.side-link:hover,.city-location-card:hover,.city-location-card[aria-pressed="true"],.player-choice:hover,.player-choice[aria-pressed="true"]{border-color:#b2525a;background:#3b171f;color:#f4d7a6}
.light-toggle{border-color:#bb5960;background:#451720;color:#f7d5ae;font-weight:650;letter-spacing:.2px}
.light-toggle:hover{border-color:#e27979;background:#67212a}
.light-toggle[aria-pressed="false"]{border-color:#6d4850;background:#181014;color:#d2bbb1}
.house-note,.count-badge,.city-location-card .pin-index{border-color:#66303a;background:#2b141a}
.quick-edit input,.form-card input,.form-card select,.form-card textarea{border-color:#65323b;background:#100b0e;color:#f2e6d8}
.active-portrait,.patron-portrait{border-color:#88454a;background:linear-gradient(#281419,#120c0f)}
.scene-access-button .access-glyph{border-color:#8f474c;background:#33151b;color:#f0cc98}
.interactive-tag{border-color:#bc5560;background:#13090cf0;color:#ffe2bc}
.toast{border-color:#a74a56;background:#190b10;color:#f7dfbd}
.dialog-close{color:#f0c990}
.wardrobe-control{display:grid;gap:7px;margin:16px 0 4px;padding:13px;border:1px solid #73333d;background:#1d0f14}
.wardrobe-control label{color:#ead8bd;font:500 14px var(--serif)}
.wardrobe-control select{width:100%;padding:10px;border:1px solid #92505a;background:#11090d;color:#f2e6d8}
.wardrobe-control small{color:#b7a19a;font-size:11px}
.site-footer{border-top-color:#642b35}
button.open-find-button{margin-top:8px;padding:8px 12px;border:1px solid #94515a;background:#3b171f;color:#f3d8b2;font-size:12px;cursor:pointer}
button.open-find-button:hover,button.open-find-button:focus-visible{border-color:#d27979;background:#5a1e28}
#world:focus-visible,#city-world:focus-visible{outline:2px solid #d87979;outline-offset:4px}
@media(max-width:760px){.light-toggle{flex:1;text-align:center}}

/* Version 15: full city atlas, direct district lookup, and player handouts. */
.page-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.page-heading>p{max-width:760px;margin:0;text-align:left}
.scene-access-heading{justify-content:flex-start;align-items:flex-start;flex-direction:column;text-align:left;gap:3px}
.scene-access-heading strong{align-self:flex-start;text-align:left}
.map-zoom-controls{display:flex;align-items:center;gap:5px}
.map-zoom-controls button{min-width:42px;min-height:40px;padding:8px 11px;border:1px solid #74404a;background:#1b0f13;color:#f0d4a6;font:12px var(--mono)}
.map-zoom-controls button[data-map-zoom="reset"]{min-width:98px;font:10px var(--mono);letter-spacing:.3px}
.map-zoom-controls button:hover,.map-zoom-controls button:focus-visible{border-color:#c16a73;background:#3b171f}
.map-zoom-controls button:disabled{opacity:.45;cursor:not-allowed}
.city-map-viewport{position:relative;aspect-ratio:16/9;overflow:auto;border:1px solid #815251;background:#09070a;scrollbar-color:#8b4b51 #160e11;overscroll-behavior:contain;touch-action:pan-x pan-y}
.city-map-viewport:focus-visible{outline:2px solid #db9a70;outline-offset:3px}
.urban-map-board{position:relative;min-width:100%;min-height:100%;width:100%;height:100%;overflow:hidden}
.urban-map-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;image-rendering:pixelated;user-select:none}
.city-district-pins{position:absolute;inset:0}
.city-building-pins{position:absolute;inset:0;pointer-events:none}
.city-building-pin{z-index:4;pointer-events:auto}
.city-building-pin .pin-index{border-color:#ffe7a8;border-radius:4px;background:#491c22;color:#fff0c4;box-shadow:0 0 0 5px #e7c26855,0 3px 14px #000c}
.city-building-pin.is-selected .pin-index{background:#a13b3f;box-shadow:0 0 0 8px #f1d38477,0 4px 18px #000c}
.city-building-pin:hover .pin-index,.city-building-pin:focus-visible .pin-index{background:#a13b3f;box-shadow:0 0 0 7px #f1d38477,0 4px 16px #000c}
.city-pin{position:absolute;z-index:1;display:grid;place-items:center;min-width:46px;min-height:46px;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);cursor:pointer}
.city-pin .pin-index{display:grid;place-items:center;width:30px;height:30px;border:2px solid #f3d89d;border-radius:50%;background:#1a0c10eF;color:#fff0c7;box-shadow:0 0 0 4px #c650583a,0 3px 10px #000b;font:11px var(--mono)}
.city-pin .pin-name{position:absolute;top:calc(100% - 1px);left:50%;max-width:170px;padding:4px 6px;border:1px solid #98545a;background:#12090dee;color:#fff0d2;font:9px var(--mono);line-height:1.2;text-align:center;white-space:nowrap;transform:translateX(-50%);box-shadow:0 2px 8px #0008}
.city-pin:hover,.city-pin:focus-visible,.city-pin[aria-pressed="true"]{z-index:3;outline:none}
.city-pin:hover .pin-index,.city-pin:focus-visible .pin-index,.city-pin[aria-pressed="true"] .pin-index{border-color:#fff0bf;background:#8b2935;box-shadow:0 0 0 6px #e5907455,0 4px 16px #000c}
.urban-map-stamp{position:absolute;right:12px;bottom:10px;padding:5px 7px;border:1px solid #c78e6a;background:#12090de8;color:#f4d9aa;font:9px var(--mono);letter-spacing:1.2px;pointer-events:none}
.city-route-link{position:absolute;z-index:2;top:49%;right:8px;max-width:170px;min-height:44px;padding:8px;border:1px solid #e3bb82;background:#211018eF;color:#ffebc7;font:10px var(--mono);line-height:1.3;text-align:left;box-shadow:0 3px 12px #0009}
.city-route-link:hover,.city-route-link:focus-visible{border-color:#fff0c1;background:#692331}
.city-map-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px 0}
.city-map-footer p{max-width:580px;color:var(--muted);font-size:11px;line-height:1.55}
.city-aside{display:grid;gap:10px;padding:17px}
.city-aside>h2{margin-top:0;text-align:left;font-size:26px}
.city-aside>p{margin-top:0;text-align:left;font-size:12px;line-height:1.65}
.city-subhead{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:3px 0 8px;text-align:left}
.city-subhead strong{color:#dfc392;font:500 12px var(--mono);text-align:left}
.district-points,.district-directory{padding-top:10px;border-top:1px solid #47222a}
.city-location-list{gap:6px;margin-top:7px}
.city-location-card{min-height:48px;padding:8px 9px}
.city-location-card small{font-size:10px;line-height:1.5}
.city-point-button{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:8px 10px;border:1px solid #4d2930;background:#150d10;color:var(--ink);text-align:left}
.city-point-button:hover,.city-point-button:focus-visible{border-color:#c36a71;background:#30141a}
.city-point-button .point-marker{display:grid;place-items:center;flex:0 0 26px;height:26px;border:1px solid #94616a;background:#31151c;color:#f5d6a4;font:15px var(--serif)}
.city-point-button span:last-child{display:grid;gap:2px}
.city-point-button strong{font:500 14px var(--serif)}
.city-point-button small{color:#baa9a2;font-size:10px}
.city-empty-state{padding:13px;border:1px dashed #6b3540;background:#170d11;color:#c7b5a9;font-size:11px;line-height:1.6;text-align:left}
.urban-map-image.is-regional{image-rendering:auto}
.city-region-pin{pointer-events:auto}
.city-region-pin .pin-index{width:32px;height:32px;border-color:#f3d89d;border-radius:4px;background:#190d12eF;color:#ffeec9;box-shadow:0 0 0 3px #4ca9b84a,0 3px 10px #000c;font-size:15px}
.city-region-pin[data-city-territory-point="virenza"] .pin-index{width:40px;height:40px;border:2px solid #ffe7a8;border-radius:50%;background:#671c28;color:#fff0c4;box-shadow:0 0 0 6px #e7c26866,0 4px 16px #000c}
.city-region-pin.is-selected .pin-index,.city-region-pin:hover .pin-index,.city-region-pin:focus-visible .pin-index{border-color:#fff0bf;background:#8b2935;box-shadow:0 0 0 7px #e5907466,0 4px 16px #000c}
.city-map-feature-label{position:absolute;z-index:1;pointer-events:none;color:#d7f0e8;font:600 clamp(10px,.85vw,16px) var(--mono);letter-spacing:.22em;text-shadow:0 2px 7px #001117,0 0 12px #001117;text-align:center}
.river-label{left:13%;top:40%;transform:rotate(-9deg)}
.adriatic-label{right:2.5%;top:46%;max-width:10%;color:#a8e6f3;letter-spacing:.2em;line-height:1.5}
.handouts-intro{display:flex;align-items:flex-start;gap:12px;max-width:720px;margin:0 0 17px;padding:13px 15px;border:1px solid #5d2933;background:#170e12;color:#c5b6ab}
.handouts-intro .pixel-dot{margin-top:5px;background:#d7a76d;box-shadow:0 0 0 3px #d7a76d24}
.handouts-intro p{font-size:12px;line-height:1.6}
.handout-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.handout-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:17px;border:1px solid #5b2831;background:linear-gradient(145deg,#211217,#120b0f);box-shadow:0 12px 30px #0004}
.handout-card-mark{display:grid;place-items:center;width:50px;height:62px;border:1px solid #bb8b59;background:linear-gradient(155deg,#5a1a24,#210c12);color:#f0d7a5;font:25px var(--serif);box-shadow:inset 0 0 0 4px #361018}
.handout-card-copy h2{margin:5px 0 8px;font:500 21px/1.2 var(--serif)}
.handout-card-copy p{color:#b9aaa2;font-size:12px;line-height:1.65}
.handout-open{grid-column:2;display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 12px;border:1px solid #a25760;background:#36151c;color:#f0d5a7;font-size:12px;text-align:left}
.handout-open:hover,.handout-open:focus-visible{border-color:#e08d84;background:#551d27}
.handout-document{clear:both;max-height:min(68vh,680px);margin:16px 0 2px;padding:22px 24px;overflow:auto;border:1px solid #987c5c;background:#e7dac0;color:#31271f;box-shadow:inset 0 0 0 4px #d1bc94;font:14px/1.7 var(--serif)}
.handout-document h2,.handout-document h3,.handout-document h4,.handout-document h5{margin:20px 0 7px;color:#4e2025;line-height:1.25}
.handout-document h2{font-size:22px}.handout-document h3{font-size:18px}.handout-document h4,.handout-document h5{font-size:15px}
.handout-document p{margin:8px 0;color:#40362d;font-size:13px;line-height:1.7}
.handout-document strong{color:#521e25}
.handout-document ul{margin:7px 0 12px 20px;padding:0}
.handout-document li{margin:4px 0;font-size:13px;line-height:1.6}
.handout-document hr{margin:17px 0;border:0;border-top:1px solid #b5a07b}
.handout-table-wrap{max-width:100%;overflow:auto}
.handout-document table{width:100%;margin:10px 0;border-collapse:collapse;font-size:12px}
.handout-document th,.handout-document td{padding:7px 9px;border:1px solid #b5a07b;text-align:left;vertical-align:top}
.handout-document th{background:#d4c19e;color:#51242a}
.document-loading{font-style:italic}
#detail-dialog:has(#handout-document:not([hidden])){width:min(780px,calc(100% - 24px))}
@media(max-width:900px){.handout-list{grid-template-columns:1fr}.city-layout{grid-template-columns:1fr}.city-aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.city-aside>.eyebrow,.city-aside>h2,.city-aside>p,.city-aside>.return-home{grid-column:1/-1}.district-points,.district-directory{min-width:0}}
@media(max-width:760px){.city-map-card{padding:11px}.city-map-heading{align-items:flex-start}.map-zoom-controls button{min-width:44px;min-height:44px}.city-map-viewport{aspect-ratio:16/9;max-height:70vh}.urban-map-board{min-width:100%;min-height:100%}.city-pin .pin-name{display:none}.city-pin .pin-index{width:32px;height:32px;font-size:11px}.city-route-link{right:3px;max-width:105px;padding:6px;font-size:8px}.city-map-footer{align-items:flex-start;flex-direction:column}.city-map-footer .secondary{min-height:44px}.city-aside{grid-template-columns:1fr}.city-aside>.eyebrow,.city-aside>h2,.city-aside>p,.city-aside>.return-home{grid-column:1}.district-points,.district-directory{width:100%}.handout-card{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:13px}.handout-card-mark{width:42px;height:54px}.handout-card-copy h2{font-size:19px}.handout-open{grid-column:1/-1}.handout-document{max-height:65vh;padding:17px 15px}.handout-document p,.handout-document li{font-size:12px}}
@media(max-width:480px){.city-map-heading{display:grid}.map-zoom-controls{width:100%}.map-zoom-controls button[data-map-zoom="reset"]{flex:1}.city-map-viewport{aspect-ratio:16/9}.urban-map-stamp{right:7px;bottom:7px;font-size:7px}.city-location-card{min-height:52px}.handouts-intro p{font-size:11px}}

/* Version 16: steady room controls, mirror actions, and scene animation. */
.map-heading{display:grid;grid-template-columns:minmax(0,1fr) auto 42px 154px;align-items:center;gap:10px;min-height:46px;margin-bottom:14px;flex-wrap:nowrap}
.map-heading-title{min-width:0}
.map-heading-title h2{line-height:1.15}
.floor-tabs{gap:4px;white-space:nowrap}
.floor-tabs button{min-height:40px;padding:7px 9px}
.light-toggle{display:grid;place-items:center;width:42px;height:42px;min-width:42px;padding:0}
.light-toggle svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:square}
.floor-exit-slot{display:flex;align-items:center;justify-content:flex-end;width:154px;min-height:42px}
.return-floor{width:100%;min-height:42px;padding:7px 8px;white-space:nowrap}
.detail-dialog.mirror-dialog .dialog-art{position:relative;overflow:hidden;width:128px;height:152px;border:2px solid #b28b54;border-radius:46% 46% 4px 4px;background:linear-gradient(125deg,#425353 0,#132229 39%,#304546 65%,#12191b 100%);box-shadow:inset 0 0 0 4px #191214,inset 0 0 0 6px #997243,0 6px 20px #0008}
.detail-dialog.mirror-dialog .dialog-art:after{position:absolute;inset:9px 11px;content:"";border-right:1px solid #d7e8df55;border-left:1px solid #d7e8df20;background:linear-gradient(110deg,#d8e6dc13 0 18%,transparent 19% 69%,#e2e7db13 70% 76%,transparent 77%);pointer-events:none}
.detail-dialog.mirror-dialog .dialog-art canvas{position:relative;z-index:1}
.city-return-room{min-height:40px;white-space:nowrap}
@media(max-width:1120px){.map-heading{grid-template-columns:minmax(0,1fr) 42px 145px;grid-template-areas:"title light exit" "tabs tabs tabs";row-gap:8px;min-height:unset}.map-heading-title{grid-area:title}.floor-tabs{grid-area:tabs;width:100%;margin-top:0}.light-toggle{grid-area:light}.floor-exit-slot{grid-area:exit;width:145px}}
@media(max-width:760px){.map-heading{align-items:center}.floor-tabs button{flex:1;padding:8px 4px;font-size:10px}.floor-exit-slot{width:145px}.return-floor{font-size:10px}.city-return-room{min-height:44px}.detail-dialog.mirror-dialog .dialog-art{float:none;width:154px;height:166px;margin:12px 0}}
@media(max-width:390px){.map-heading{grid-template-columns:minmax(0,1fr) 40px 116px;column-gap:7px}.light-toggle{width:40px;height:40px;min-width:40px}.floor-exit-slot{width:116px}.return-floor{font-size:9px;padding-inline:4px}.floor-tabs button{font-size:9px}}

/* Version 17: larger play area, reachable doorways, and in-scene map controls. */
.house-layout{grid-template-columns:minmax(0,3.4fr) minmax(255px,.8fr);gap:16px}
.map-card{padding:18px}
.scene-access-group>summary{display:flex;cursor:pointer;list-style:none}
.scene-access-group>summary::-webkit-details-marker{display:none}
.scene-access-group>summary::after{content:"+";margin-left:auto;padding-left:10px;color:#d8bd82;font:18px var(--mono)}
.scene-access-group[open]>summary::after{content:"−"}
.scene-access-heading{align-items:center;flex-direction:row;justify-content:flex-start;text-align:left}
.scene-access-heading strong{align-self:auto;text-align:left}
.city-map-viewport{touch-action:none;cursor:grab;user-select:none}
.city-map-viewport:active{cursor:grabbing}
.city-place-detail{padding:13px;border:1px solid #81434a;background:#1d0f13;text-align:left}
.city-place-detail h3{margin:5px 0 7px;color:#ead6b6;font:500 20px var(--serif)}
.city-place-detail p{color:#bcaca2;font-size:12px;line-height:1.65}
.handout-view-controls{display:flex;align-items:center;gap:6px;margin:12px 0 8px;padding:7px;border:1px solid #5c3034;background:#160d10}
.handout-view-controls>span{margin-right:auto;color:#d5c4ab;font:10px var(--mono);text-transform:uppercase;letter-spacing:.8px}
.handout-view-controls button{min-width:42px;min-height:36px;border:1px solid #75424a;background:#271218;color:#f0d5a7;font:12px var(--mono)}
.handout-view-controls button:disabled{opacity:.45}
@media(max-width:1120px){.house-layout{grid-template-columns:minmax(0,2.2fr) minmax(245px,.85fr)}}
@media(max-width:760px){.house-layout{grid-template-columns:minmax(0,1fr)}.map-card{padding:11px}.scene-access-heading{align-items:flex-start;flex-direction:row}.scene-access-heading strong{font-size:12px}.scene-access-group>summary{min-height:36px}.city-map-viewport{max-height:72vh}.handout-view-controls button{min-height:44px}}

/* City atlas r6: domain selector and stepped, named map levels. */
.city-map-navigation{display:grid;grid-template-columns:minmax(190px,.9fr) auto minmax(130px,1fr);align-items:end;gap:12px;margin:12px 0;padding:10px;border:1px solid #61333a;background:#150c10}
.city-domain-select{display:grid;gap:5px;min-width:0}
.city-domain-select select{width:100%;min-height:42px;padding:8px 32px 8px 10px;border:1px solid #75424a;border-radius:0;background:#211217;color:#f0d8b5;font:12px var(--serif)}
.city-domain-select select:focus-visible,.city-map-stages button:focus-visible{outline:2px solid #d9a268;outline-offset:2px}
.city-map-stages{display:flex;gap:4px;min-width:0}
.city-map-stages button{min-width:66px;min-height:42px;padding:7px 9px;border:1px solid #65353d;background:#1c1014;color:#d6c3ae;font:10px var(--mono);letter-spacing:.25px}
.city-map-stages button[aria-pressed="true"]{border-color:#d08a62;background:#462027;color:#ffe5ae}
.city-map-stages button:disabled{opacity:.42;cursor:not-allowed}
.city-map-level{align-self:center;color:#c4ae87;font:10px var(--mono);letter-spacing:.8px;text-align:right}
.city-map-viewport{transition:aspect-ratio .18s ease}
@media(max-width:1000px){.city-map-navigation{grid-template-columns:minmax(180px,1fr) auto}.city-domain-select{grid-column:1/-1}.city-map-level{grid-column:1/-1;text-align:left}}
@media(max-width:600px){.city-map-navigation{grid-template-columns:minmax(0,1fr);gap:8px;padding:9px}.city-domain-select,.city-map-stages,.city-map-level{grid-column:1}.city-map-stages{overflow-x:auto;padding:2px}.city-map-stages button{flex:1;min-width:58px;padding-inline:5px}.city-map-level{font-size:9px}.city-domain-select select{min-height:46px;font-size:13px}.city-map-viewport{max-height:70vh}}
@media(max-width:760px){.city-map-viewport{max-height:none}}

/* Immersive play surface with translucent scene HUD and full-screen city maps. */
body[data-page="house"],body[data-page="city"]{overflow:hidden;overscroll-behavior:none}
body[data-page="house"] .shell,body[data-page="city"] .shell{width:100%;max-width:none;height:100dvh;margin:0}
body[data-page="house"] .topbar,body[data-page="city"] .topbar{position:fixed;z-index:30;top:0;left:0;right:0;display:flex;flex-wrap:nowrap;gap:18px;min-height:62px;height:62px;padding:6px clamp(12px,2.4vw,42px);border-bottom:1px solid #9d4b55a8;background:#10090de8;backdrop-filter:blur(12px)}
body[data-page="house"] .topbar .top-actions,body[data-page="city"] .topbar .top-actions{order:initial;width:auto;margin-left:auto;overflow:visible}
body[data-page="house"] main{position:fixed;z-index:1;inset:62px 0 0;min-height:0;overflow:hidden}
body[data-page="city"] main{position:fixed;z-index:1;inset:0;min-height:0;overflow:hidden}
body[data-page="house"] .page,body[data-page="city"] .page{position:absolute;inset:0;margin:0;padding:0;overflow:hidden}
body[data-page="house"] .page-heading,body[data-page="city"] .page-heading{display:none}
body[data-page="house"] .house-layout{position:absolute;inset:0;display:block}
body[data-page="house"] .map-card{position:absolute;inset:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
body[data-page="house"] .map-frame{position:absolute;z-index:1;left:50%;top:50%;width:min(100vw,calc((100dvh - 62px)*1.5));height:min(66.6667vw,calc(100dvh - 62px));aspect-ratio:3/2;transform:translate(-50%,-50%);border-color:#a25a57;background:#09070a;box-shadow:0 0 0 1px #120a0d,0 14px 72px #0009}
body[data-page="house"] #world{image-rendering:auto}
body[data-page="house"] .map-heading{position:absolute;z-index:12;top:8px;left:50%;display:flex;width:max-content;max-width:calc(100vw - 20px);align-items:center;justify-content:center;gap:10px;margin:0;padding:7px 9px;border:1px solid #98505a;background:#160a0dcc;box-shadow:0 6px 22px #0008;backdrop-filter:blur(10px);transform:translateX(-50%)}
body[data-page="house"] .map-heading-title{min-width:115px}
body[data-page="house"] .map-heading-title .eyebrow{font-size:8px}
body[data-page="house"] .map-heading h2{font-size:17px;white-space:nowrap}
body[data-page="house"] .floor-tabs{gap:3px}
body[data-page="house"] .floor-tabs button{min-height:38px;padding:6px 9px;font-size:10px}
body[data-page="house"] .light-toggle{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:6px}
body[data-page="house"] .light-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
body[data-page="house"] .floor-exit-slot:empty{display:none}
body[data-page="house"] .return-floor{min-height:38px;padding:6px 8px;white-space:nowrap}
body[data-page="house"] .map-chip{z-index:3;background:#10090ddc;backdrop-filter:blur(5px)}
body[data-page="house"] .scene-label{z-index:3;background:#10090dd9;backdrop-filter:blur(5px)}
body[data-page="house"] .scene-access{position:absolute;z-index:14;top:75px;bottom:92px;left:12px;display:block;width:min(300px,24vw);max-height:none;margin:0;padding:0;overflow:hidden;border:1px solid #91434dcc;background:#170b10c9;box-shadow:0 10px 34px #0009;backdrop-filter:blur(10px)}
body[data-page="house"] .scene-access-shell-heading{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:1fr auto;gap:3px;padding:12px;border-bottom:1px solid #85414a;background:#1a0b10ed;cursor:pointer;list-style:none}
body[data-page="house"] .scene-access-shell-heading::-webkit-details-marker,body[data-page="house"] .active-card::-webkit-details-marker{display:none}
body[data-page="house"] .scene-access-shell-heading>span:first-child{grid-column:1/-1;color:#c8aa78;font:9px var(--mono);letter-spacing:1.3px}
body[data-page="house"] .scene-access-shell-heading strong{color:#f0dfbd;font:500 16px var(--serif)}
body[data-page="house"] .panel-chevron{align-self:center;color:#e1bd83;font:18px/1 var(--mono);transition:transform .16s ease}
body[data-page="house"] details:not([open])>.scene-access-shell-heading .panel-chevron,body[data-page="house"] .house-aside:not([open])>.active-card .panel-chevron{transform:rotate(-90deg)}
body[data-page="house"] .scene-access-content{display:grid;gap:12px;max-height:calc(100% - 56px);padding:11px;overflow:auto;scrollbar-color:#80434b #190d11}
body[data-page="house"] .scene-access-group{display:grid;gap:7px;padding-bottom:10px;border-bottom:1px solid #69343c}
body[data-page="house"] .scene-access-heading{align-items:flex-start;flex-direction:column;gap:3px;cursor:pointer;list-style:none}
body[data-page="house"] .scene-access-heading::-webkit-details-marker{display:none}
body[data-page="house"] .scene-access-heading strong{font-size:13px}
body[data-page="house"] .scene-access-list{display:grid;grid-template-columns:1fr;gap:6px}
body[data-page="house"] .scene-access-button{width:100%;min-height:42px;padding:7px 8px;background:#160b0fe8}
body[data-page="house"] .scene-access-button strong{font-size:12px}
body[data-page="house"] .scene-access-button small{font-size:8px}
body[data-page="house"] .scene-access-empty{font-size:10px}
body[data-page="house"] .house-aside{position:absolute;z-index:14;top:75px;right:12px;bottom:92px;display:block;width:min(292px,23vw);max-height:none;margin:0;padding:0;overflow:auto;border:1px solid #91434dcc;background:#170b10c9;box-shadow:0 10px 34px #0009;scrollbar-color:#80434b #190d11;backdrop-filter:blur(10px)}
body[data-page="house"] .active-card{position:sticky;z-index:2;top:0;display:flex;align-items:center;gap:9px;padding:10px;border:0;border-bottom:1px solid #85414a;background:#1a0b10ed;text-align:left;cursor:pointer;list-style:none}
body[data-page="house"] .active-card .active-portrait{flex-basis:52px;height:60px}
body[data-page="house"] .active-card .active-portrait canvas{width:49px;height:58px}
body[data-page="house"] .active-card h2{font-size:18px}
body[data-page="house"] .active-card .eyebrow{font-size:8px}
body[data-page="house"] .active-card .clan-line{font-size:8px}
body[data-page="house"] .active-card .muted{margin-top:3px;font-size:9px}
body[data-page="house"] .house-aside-body{display:grid;gap:8px;padding:9px}
body[data-page="house"] .house-aside-body>*{border-color:#783640;background:#1a0c10d9;box-shadow:none}
body[data-page="house"] .quick-edit{padding:11px}
body[data-page="house"] .patron-card{margin-top:10px;padding-top:9px}
body[data-page="house"] .small-note{font-size:9px}
body[data-page="house"] .house-note{padding:10px}
body[data-page="house"] .house-note p{font-size:10px}
body[data-page="house"] .side-link{padding:9px}
body[data-page="house"] .player-select-wrap{position:absolute;z-index:12;bottom:10px;left:50%;display:flex;gap:10px;width:max-content;max-width:calc(100vw - 24px);align-items:center;justify-content:center;padding:7px 9px;border:1px solid #86434b;background:#15090dc9;box-shadow:0 5px 22px #0008;backdrop-filter:blur(8px);transform:translateX(-50%)}
body[data-page="house"] .player-select-wrap>div:first-child .eyebrow{font-size:8px;white-space:nowrap}
body[data-page="house"] .player-select-wrap>div:first-child p{display:none}
body[data-page="house"] .player-choice{grid-template-rows:34px 12px;width:50px;height:51px;padding:2px}
body[data-page="house"] .player-choice canvas{width:26px;height:34px}
body[data-page="house"] .player-choice small{font-size:7px}
body[data-page="house"] .map-help{position:absolute;z-index:12;right:12px;bottom:12px;display:grid;gap:3px;max-width:310px;padding:7px 9px;border:1px solid #793d45;background:#12080cc9;color:#f0d9b2;font-size:8px;box-shadow:0 5px 18px #0008;backdrop-filter:blur(6px)}
body[data-page="house"] .map-help span{max-width:none}
body[data-page="city"] .city-layout{position:absolute;inset:0;display:block}
body[data-page="city"] .city-map-card{position:absolute;inset:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
body[data-page="city"] .city-map-heading{position:absolute;z-index:8;top:70px;left:14px;right:14px;display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:0;padding:8px 11px;border:1px solid #91454dcc;background:#170b10d9;box-shadow:0 6px 22px #0008;backdrop-filter:blur(9px)}
body[data-page="city"] .city-map-heading .eyebrow{font-size:8px}
body[data-page="city"] .city-map-heading h2{font-size:17px}
body[data-page="city"] .city-map-heading .map-zoom-controls{margin-left:auto}
body[data-page="city"] .city-aside-toggle{min-height:36px;padding:5px 9px;font-size:9px;white-space:nowrap}
body[data-page="city"] .city-map-heading .map-zoom-controls button{min-height:36px;min-width:38px;padding:5px 9px}
body[data-page="city"] .city-map-heading .map-zoom-controls button[data-map-zoom="reset"]{min-width:88px}
body[data-page="city"] .city-map-viewport{position:absolute;z-index:1;inset:0;width:100%;height:100%;aspect-ratio:auto;max-width:none;max-height:none;margin:0;border:0;background:#09070a;box-shadow:none;transform:none;scrollbar-width:none}
body[data-page="city"] .city-map-viewport::-webkit-scrollbar{display:none}
body[data-page="city"] .urban-map-board{overflow:visible}
body[data-page="city"] .urban-map-image{image-rendering:auto}
body[data-page="city"] .city-district-pins{z-index:2;pointer-events:none}
body[data-page="city"] .city-district-pins .city-pin{pointer-events:auto}
body[data-page="city"] .city-building-pins{z-index:3}
body[data-page="city"] .city-route-link{z-index:5}
body[data-page="city"] .urban-map-stamp{z-index:5}
body[data-page="city"] .city-map-navigation{position:absolute;z-index:9;top:122px;left:50%;display:flex;width:max-content;max-width:calc(100vw - 24px);align-items:center;gap:8px;margin:0;padding:7px 9px;border:1px solid #91434dcc;background:#170b10dc;box-shadow:0 6px 22px #0008;transform:translateX(-50%);backdrop-filter:blur(9px)}
body[data-page="city"] .city-domain-select{display:flex;align-items:center;gap:7px;min-width:0}
body[data-page="city"] .city-domain-select .eyebrow{white-space:nowrap;font-size:8px}
body[data-page="city"] .city-domain-select select{min-height:34px;width:190px;padding:5px 25px 5px 8px;font-size:11px}
body[data-page="city"] .city-map-stages button{min-width:52px;min-height:34px;padding:5px 7px;font-size:8px}
body[data-page="city"] .city-map-level{font-size:8px;white-space:nowrap}
body[data-page="city"] .city-map-footer{position:absolute;z-index:8;right:12px;bottom:10px;left:12px;display:flex;max-width:720px;align-items:center;justify-content:flex-start;gap:8px;margin:0;padding:8px 10px;border:1px solid #85414acc;background:#160a0ed9;box-shadow:0 5px 20px #0008;backdrop-filter:blur(8px)}
body[data-page="city"] .city-map-footer p{max-width:510px;font-size:9px}
body[data-page="city"] .city-map-footer .secondary{min-height:34px;white-space:nowrap}
body[data-page="city"] .city-aside{position:absolute;z-index:7;top:170px;right:12px;bottom:65px;width:min(310px,23vw);display:grid;align-content:start;gap:8px;margin:0;padding:12px;overflow:auto;border:1px solid #91434dcc;background:#170b10dc;box-shadow:0 9px 30px #0009;backdrop-filter:blur(10px);scrollbar-color:#80434b #190d11}
body[data-page="city"] .city-aside>h2{font-size:20px}
body[data-page="city"] .city-aside>p{font-size:10px}
body[data-page="city"] .city-location-list{gap:4px;margin-top:6px}
body[data-page="city"] .city-location-card{min-height:39px;padding:6px}
body[data-page="city"] .city-location-card strong{font-size:12px}
body[data-page="city"] .city-location-card small{font-size:8px}
body[data-page="city"] .city-place-detail{padding:8px;border-color:#784049;background:#211016e8}
body[data-page="city"] .city-place-detail h3{font-size:15px}
body[data-page="city"] .city-place-detail p{font-size:10px}
body[data-page="city"] .city-aside .return-home{margin-top:0}
body[data-page="city"] .city-aside .return-home small{display:none}
@media(max-width:900px){body[data-page="house"] .scene-access{width:255px}body[data-page="house"] .house-aside{width:250px}body[data-page="city"] .city-aside{width:260px}}
@media(max-width:760px){
 body[data-page="house"] .topbar,body[data-page="city"] .topbar{height:58px;min-height:58px;gap:7px;padding:4px 8px}
 body[data-page="house"] main{inset:58px 0 0}
 body[data-page="house"] .brand,body[data-page="city"] .brand{gap:6px;font-size:12px;letter-spacing:1px}
 body[data-page="house"] .brand small,body[data-page="city"] .brand small,body[data-page="house"] .edition,body[data-page="city"] .edition{display:none}
 body[data-page="house"] .brand-sigil,body[data-page="city"] .brand-sigil{width:27px;height:31px;font-size:22px}
 body[data-page="house"] .topbar .top-actions,body[data-page="city"] .topbar .top-actions{gap:1px}
 body[data-page="house"] .nav-button,body[data-page="city"] .nav-button{padding:7px 8px;font-size:10px}
 body[data-page="house"] .map-frame{width:min(100vw,calc((100dvh - 58px)*1.5));height:min(66.6667vw,calc(100dvh - 58px))}
 body[data-page="house"] .map-heading{top:7px;gap:5px;padding:5px}
 body[data-page="house"] .map-heading-title{min-width:0}
 body[data-page="house"] .map-heading-title .eyebrow{display:none}
 body[data-page="house"] .map-heading h2{font-size:13px}
 body[data-page="house"] .floor-tabs button{min-height:34px;padding:4px 5px;font-size:8px}
 body[data-page="house"] .light-toggle{flex-basis:34px;width:34px;height:34px}
 body[data-page="house"] .return-floor{min-height:34px;padding:4px 6px;font-size:8px}
 body[data-page="house"] .scene-access{top:auto;bottom:76px;left:7px;width:min(290px,calc(100vw - 14px));max-height:44vh}
 body[data-page="house"] .scene-access:not([open]){width:max-content;max-width:calc(100vw - 14px)}
 body[data-page="house"] .scene-access-shell-heading{padding:8px 10px}
 body[data-page="house"] .scene-access-content{max-height:calc(44vh - 44px);padding:8px}
 body[data-page="house"] .house-aside{top:67px;right:7px;bottom:auto;width:min(244px,calc(100vw - 14px));max-height:52vh}
 body[data-page="house"] .house-aside:not([open]){width:min(205px,calc(100vw - 14px))}
 body[data-page="house"] .active-card{gap:6px;padding:6px}
 body[data-page="house"] .active-card .active-portrait{flex-basis:39px;height:45px}
 body[data-page="house"] .active-card .active-portrait canvas{width:36px;height:43px}
 body[data-page="house"] .active-card h2{font-size:14px}
 body[data-page="house"] .active-card .muted{font-size:8px}
 body[data-page="house"] .house-aside-body{padding:7px}
 body[data-page="house"] .player-select-wrap{bottom:6px;gap:4px;padding:4px}
 body[data-page="house"] .player-select-wrap>div:first-child{display:none}
 body[data-page="house"] .player-select{gap:3px}
 body[data-page="house"] .player-choice{grid-template-rows:28px 10px;width:42px;height:42px}
 body[data-page="house"] .player-choice canvas{width:22px;height:28px}
 body[data-page="house"] .player-choice small{font-size:6px}
 body[data-page="house"] .map-help{right:7px;bottom:65px;max-width:180px;padding:5px;font-size:7px}
 body[data-page="house"] .scene-label{font-size:7px}
 body[data-page="city"] .city-map-heading{top:64px;left:6px;right:6px;gap:5px;padding:5px 7px}
 body[data-page="city"] .city-map-heading>div:first-child .eyebrow{display:none}
 body[data-page="city"] .city-map-heading h2{font-size:13px}
 body[data-page="city"] .city-map-heading .map-zoom-controls{gap:3px}
 body[data-page="city"] .city-map-heading .map-zoom-controls button{min-width:34px;min-height:34px;padding:4px 7px;font-size:10px}
 body[data-page="city"] .city-aside-toggle{min-height:32px;padding:4px 7px;font-size:8px}
 body[data-page="city"] .city-map-heading .map-zoom-controls button[data-map-zoom="reset"]{min-width:65px}
 body[data-page="city"] .city-map-navigation{top:108px;gap:4px;padding:5px;max-width:calc(100vw - 12px)}
 body[data-page="city"] .city-domain-select{gap:4px}
 body[data-page="city"] .city-domain-select .eyebrow{display:none}
 body[data-page="city"] .city-domain-select select{width:132px;min-height:34px;font-size:9px}
 body[data-page="city"] .city-map-stages{gap:2px}
 body[data-page="city"] .city-map-stages button{min-width:39px;min-height:32px;padding:3px;font-size:7px}
 body[data-page="city"] .city-map-level{display:none}
 body[data-page="city"] .city-aside{top:auto;right:6px;bottom:63px;width:min(222px,62vw);max-height:39vh;padding:8px}
 body[data-page="city"] .city-aside>h2{font-size:16px}
 body[data-page="city"] .city-aside>p{font-size:9px}
 body[data-page="city"] .city-map-footer{right:6px;bottom:6px;left:6px;max-width:none;padding:5px}
 body[data-page="city"] .city-map-footer p{display:none}
 body[data-page="city"] .city-map-footer .secondary{min-height:34px;padding:5px 8px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){body[data-page="house"] .panel-chevron{transition:none}}

.wallet-handout-intro{margin:0 0 18px;padding:12px 14px;border:1px solid #b39a70;background:#dfcfad}
.wallet-handout-intro p{margin:0 0 7px;color:#40342b;font-size:13px;line-height:1.65}
.wallet-handout-intro strong{color:#5c2229;font:600 13px var(--mono)}
.wallet-evidence-gallery{display:grid;gap:16px}
.wallet-evidence-gallery figure{margin:0;padding:8px;border:1px solid #b39a70;background:#d7c5a1;box-shadow:0 4px 14px #30221530}
.wallet-evidence-gallery img{display:block;width:100%;height:auto;border:1px solid #6d5840;background:#201813;user-select:none}
.wallet-evidence-gallery figcaption{padding:7px 3px 1px;color:#51252a;font:11px/1.4 var(--mono);letter-spacing:.3px}

/* r10: full-screen game surface with compact, collapsible scene drawers. */
body[data-page="house"] .map-frame:before,body[data-page="house"] .map-frame:after{display:none}
body[data-page="house"] .map-frame{inset:0;left:0;top:0;right:0;bottom:0;display:grid;place-items:center;width:auto;height:auto;aspect-ratio:auto;transform:none;overflow:hidden;border:0;background:#080609;box-shadow:none}
body[data-page="house"] .house-art-stage{position:relative;width:min(100vw,calc((100dvh - 62px)*1.5));height:min(66.6667vw,calc(100dvh - 62px));aspect-ratio:3/2;overflow:hidden;border:1px solid #a25a57;background:#09070a;box-shadow:0 0 0 1px #120a0d,0 14px 72px #0009}
body[data-page="house"] .house-art-stage:before,body[data-page="house"] .house-art-stage:after{position:absolute;z-index:4;width:12px;height:12px;content:"";border:1px solid #b79e64;pointer-events:none}
body[data-page="house"] .house-art-stage:before{top:6px;left:6px;border-right:0;border-bottom:0}
body[data-page="house"] .house-art-stage:after{right:6px;bottom:6px;border-top:0;border-left:0}
body[data-page="house"] #world{display:block;width:100%;height:100%;image-rendering:auto}
body[data-page="house"] .scene-access{position:absolute;z-index:14;top:76px;bottom:88px;left:12px;width:min(280px,calc(100vw - 24px));margin:0;padding:0;overflow:hidden;border:1px solid #91434dcc;background:#170b10d9;box-shadow:0 10px 34px #0009;backdrop-filter:blur(10px)}
body[data-page="house"] .scene-access:not([open]){top:78px;bottom:auto;width:58px;height:58px}
body[data-page="house"] .scene-access-shell-heading{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;height:58px;padding:8px 11px;border-bottom:1px solid #85414a;background:#1a0b10ed;cursor:pointer;list-style:none}
body[data-page="house"] .scene-access-shell-heading::-webkit-details-marker{display:none}
body[data-page="house"] .scene-access-shell-heading>span:first-child{grid-column:auto;color:#e4c68c;font:20px/1 var(--mono);letter-spacing:0}
body[data-page="house"] .scene-access-shell-heading strong{color:#f0dfbd;font:500 15px var(--serif)}
body[data-page="house"] .scene-access:not([open]) .scene-access-shell-heading{display:grid;grid-template-columns:1fr;place-items:center;height:56px;padding:0;border:0;background:transparent}
body[data-page="house"] .scene-access:not([open]) .scene-access-shell-heading strong,body[data-page="house"] .scene-access:not([open]) .panel-chevron{display:none}
body[data-page="house"] .scene-access:not([open]) .scene-access-shell-heading>span:first-child{font-size:23px}
body[data-page="house"] .scene-access-content{display:grid;gap:0;max-height:calc(100% - 58px);padding:5px 9px 10px;overflow:auto;scrollbar-color:#80434b #190d11}
body[data-page="house"] .scene-access-group{display:grid;gap:7px;padding:7px 0 10px;border-bottom:1px solid #69343c}
body[data-page="house"] .scene-access-group[hidden]{display:none}
body[data-page="house"] .scene-access-list{display:grid;grid-template-columns:1fr;gap:5px}
body[data-page="house"] .scene-access-button{width:100%;min-height:44px;padding:7px 8px;background:#160b0fe8}
body[data-page="house"] .scene-access-button strong{font-size:13px;line-height:1.25}
body[data-page="house"] .scene-access-button small{display:none}
body[data-page="house"] .house-aside{position:absolute;z-index:14;top:78px;right:12px;bottom:auto;width:min(280px,calc(100vw - 24px));height:auto;max-height:calc(100dvh - 170px);margin:0;padding:0;overflow:auto;border:1px solid #91434dcc;background:#170b10d9;box-shadow:0 10px 34px #0009;scrollbar-color:#80434b #190d11;backdrop-filter:blur(10px)}
body[data-page="house"] .house-aside:not([open]){width:62px;height:62px;overflow:hidden}
body[data-page="house"] .active-card{position:sticky;z-index:2;top:0;display:flex;min-height:60px;align-items:center;gap:9px;padding:8px;border:0;border-bottom:1px solid #85414a;background:#1a0b10ed;text-align:left;cursor:pointer;list-style:none}
body[data-page="house"] .active-card::-webkit-details-marker{display:none}
body[data-page="house"] .house-aside:not([open]) .active-card{width:60px;height:60px;min-height:60px;justify-content:center;padding:4px;border:0;background:transparent}
body[data-page="house"] .active-card .active-portrait{flex:0 0 45px;height:52px}
body[data-page="house"] .active-card .active-portrait canvas{width:43px;height:50px}
body[data-page="house"] .house-aside:not([open]) .active-card>div:not(.active-portrait),body[data-page="house"] .house-aside:not([open]) .active-card .panel-chevron{display:none}
body[data-page="house"] .active-card h2{font-size:17px}
body[data-page="house"] .house-aside-body{display:grid;gap:8px;padding:9px}
body[data-page="house"] .house-aside-body>*{border-color:#783640;background:#1a0c10e8;box-shadow:none}
body[data-page="house"] .player-select-wrap{bottom:9px}
body[data-page="house"] .map-help{bottom:10px}
@media(max-width:760px){
 body[data-page="house"] .map-frame{inset:0;width:auto;height:auto;aspect-ratio:auto;transform:none}
 body[data-page="house"] .house-art-stage{width:min(100vw,calc((100dvh - 58px)*1.5));height:min(66.6667vw,calc(100dvh - 58px))}
 body[data-page="house"] .scene-access{top:auto;bottom:72px;left:7px;width:min(280px,calc(100vw - 14px));max-height:45vh}
 body[data-page="house"] .scene-access:not([open]){top:auto;bottom:72px;left:7px;width:54px;height:54px}
 body[data-page="house"] .scene-access-shell-heading{height:54px;padding:7px 9px}
 body[data-page="house"] .scene-access:not([open]) .scene-access-shell-heading{height:52px}
 body[data-page="house"] .scene-access-content{max-height:calc(45vh - 54px);padding:5px 7px 8px}
 body[data-page="house"] .scene-access-button{min-height:46px}
 body[data-page="house"] .house-aside{top:66px;right:7px;width:min(244px,calc(100vw - 14px));max-height:52vh}
 body[data-page="house"] .house-aside:not([open]){top:66px;right:7px;width:54px;height:54px}
 body[data-page="house"] .house-aside:not([open]) .active-card{width:52px;height:52px;min-height:52px}
 body[data-page="house"] .active-card .active-portrait{flex-basis:40px;height:46px}
 body[data-page="house"] .active-card .active-portrait canvas{width:38px;height:44px}
 body[data-page="house"] .player-select-wrap{bottom:5px}
 body[data-page="house"] .map-help{right:7px;bottom:60px;max-width:180px}
}

.clod-hand-evidence{margin:0;padding:8px;border:1px solid #b39a70;background:#d7c5a1;box-shadow:0 4px 14px #30221530}
.clod-hand-evidence img{display:block;width:100%;max-height:58vh;object-fit:contain;border:1px solid #6d5840;background:#252323;user-select:none}
.clod-hand-evidence figcaption{padding:7px 3px 1px;color:#51252a;font:11px/1.4 var(--mono);letter-spacing:.3px}

/* r11: full-bleed house maps at the viewport's 16:9 canvas size. */
body[data-page="house"] .house-art-stage{width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;aspect-ratio:auto;border:0;box-shadow:none}
body[data-page="house"] #world{display:block;width:100%;height:100%;image-rendering:auto}
