:root{--bg-deep:#160e09;--ink:#1e1009;--ink-soft:#352010;--parchment:#dcc48e;--parchment-light:#ede0bb;--parchment-letter:#eadaaa;--parchment-map:#d6bc82;--parchment-card:#e4d09c;--gold:#c9a05e;--gold-bright:#e4b96a;--ember:#f5a83c;--line:#371f1042;--font-display:"EB Garamond", Baskerville, "Palatino Linotype", Georgia, serif;--font-body:"EB Garamond", "Palatino Linotype", Georgia, serif;--font-label:"Cinzel", "Trajan Pro", "Palatino Linotype", Georgia, serif}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;height:100%;overflow:hidden}body{color:#f0e2c8;height:100%;min-height:100vh;font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:radial-gradient(at 50% -10%,#f0b4501a 0%,#0000 48%),radial-gradient(at 12% 88%,#dc783212 0%,#0000 42%),linear-gradient(175deg,#2a1910 0%,#1a0f08 48%,#0c0704 100%);margin:0;font-size:1rem;line-height:1.65}a{color:inherit}button,input,textarea,select{font:inherit}.stackShell{flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;min-height:100vh;padding:3rem 1.25rem;display:flex;position:relative;overflow:hidden}.stackShell__vignette{pointer-events:none;z-index:0;background:radial-gradient(#0000 38%,#0000008c 80%,#000000c7 100%);position:absolute;inset:0}.stack{z-index:1;aspect-ratio:3/4;width:min(100%,32rem);max-height:min(72vh,36rem);margin:0 auto;position:relative}.paperCard{color:var(--ink);transform-origin:50% 40%;will-change:transform;border-radius:2px;flex-direction:column;padding:2rem 2rem 1.75rem;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 .4rem .9rem #0c060338,0 1.2rem 2rem #0a050252,0 2.6rem 4.2rem #00000042,inset 0 0 0 .5px #fff4d78c,inset 0 1px #fffce6b3}.paperCard__bg{z-index:0;filter:url(#paper-full);background:linear-gradient(160deg,#ece1ba 0%,#dcc48e 100%);position:absolute;inset:0}.paperCard--letter .paperCard__bg{background:linear-gradient(162deg, #efe4be 0%, var(--parchment-letter) 100%)}.paperCard--card .paperCard__bg{background:linear-gradient(162deg, #e9dab4 0%, var(--parchment-card) 100%)}.paperCard--map .paperCard__bg{background:radial-gradient(circle at 20% 74%, #6e8a4c1a, transparent 26%), radial-gradient(circle at 78% 26%, #64804614, transparent 22%), linear-gradient(162deg, #ddd4a4 0%, var(--parchment-map) 100%)}.paperCard__header,.paperCard__body,.paperCard__action{z-index:1;position:relative}.paperCard__header{margin-bottom:.9rem}.paperCard__eyebrow{font-family:var(--font-label);letter-spacing:.22em;text-transform:uppercase;color:#341f10a3;margin:0 0 .35rem;font-size:.66rem;font-weight:400}.paperCard__title{font-family:var(--font-display);color:var(--ink-soft);margin:0;font-size:clamp(1.8rem,5vw,2.4rem);font-style:italic;font-weight:600;line-height:1.02}.paperCard__rule{background:var(--line);height:1px;margin-top:.85rem}.paperCard__body{flex-direction:column;flex:auto;gap:.75rem;font-size:1.02rem;line-height:1.72;display:flex;overflow:hidden}.paperCard__body p{margin:0}.paperCard__lede{color:var(--ink-soft);font-size:1.08rem;font-style:italic;line-height:1.6}.paperCard__caption{color:#3a2212ad;font-size:.92rem;font-style:italic;line-height:1.55}.paperCard__action{color:#f5e5c2;font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(#6a3d20,#4e2c15);border-radius:999px;align-self:flex-start;margin-top:1rem;padding:.78rem 1.2rem;font-size:.74rem;text-decoration:none;transition:filter .16s,transform .16s;box-shadow:0 .3rem .8rem #0000004d,inset 0 1px #ffdca024}.paperCard__action:hover{filter:brightness(1.12)}.paperCard__action:focus-visible{outline-offset:3px;outline:2px solid #e8c070}.detailList{gap:0;display:grid}.detailList div{border-bottom:1px solid var(--line);padding:.5rem 0 .55rem}.detailList div:last-child{border-bottom:none}.detailList dt{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.18em;color:#3a221294;font-size:.62rem;font-weight:400}.detailList dd{margin:.2rem 0 0;font-size:1.02rem;font-style:italic}.mapSvg{filter:url(#paper-map);background:linear-gradient(162deg,#e8d9a8 0%,#d4bc82 100%);border:1px solid #5a3e2338;border-radius:.25rem;width:100%;height:auto;margin:.25rem 0 .5rem;display:block}.stackNav{z-index:2;justify-content:center;align-items:center;gap:1.2rem;width:min(100%,32rem);display:flex;position:relative}.stackNav__btn{color:#edd9a8;font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c10088c;border:1px solid #dcb9733d;border-radius:999px;padding:.6rem 1.1rem;font-size:.72rem;transition:background .18s,border-color .18s,transform .18s}.stackNav__btn:hover{background:#321e0eb8;border-color:#dcb97373}.stackNav__btn:focus-visible{outline-offset:3px;outline:2px solid #e8c070}.stackNav__btn:active{transform:translateY(1px)}.stackNav__dots{gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.stackNav__dot{background:#dcb97338;border-radius:50%;width:.4rem;height:.4rem;transition:background .2s,transform .2s}.stackNav__dot--active{background:var(--gold-bright);transform:scale(1.3)}.stackHint{z-index:2;font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:#dcb97373;text-align:center;margin:0;font-size:.62rem;position:relative}@media (width<=759px){.stackShell{gap:1.2rem;padding:2rem 1rem}.stack{aspect-ratio:4/5;max-height:68vh}.paperCard{padding:1.6rem 1.5rem 1.4rem}.paperCard__body{font-size:.98rem;line-height:1.65}.stackNav{flex-wrap:wrap;gap:.7rem}.stackNav__btn{padding:.55rem .9rem;font-size:.68rem}}.stackBare{flex-direction:column;align-items:center;gap:1.6rem;width:100%;padding:1.5rem 1.25rem 1rem;display:flex}.roomScene{background:#0c0704;width:100vw;height:100vh;position:relative;overflow:hidden}.roomScene__bg{filter:brightness(.92);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;width:auto;min-width:100vw;height:100vh;display:block}.roomScene__panLayer{cursor:grab;isolation:isolate;touch-action:pan-x;width:max-content;height:100vh;position:absolute;top:0;left:0}.panTutorial{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;white-space:nowrap;cursor:pointer;background:#0a0602d1;border:1px solid #f5d98b59;border-radius:2rem;align-items:center;gap:.6rem;padding:.55rem 1.1rem;display:flex;position:fixed;bottom:2.5rem;left:50%}.panTutorial__hand{flex-shrink:0;align-items:center;display:flex}.panTutorial__text{font-family:var(--font-body);color:#f5d98be6;letter-spacing:.02em;font-size:.95rem;font-style:italic}.panTutorial__arrows{font-family:var(--font-body);color:#f5d98b99;letter-spacing:.1em;font-size:.9rem}.roomScene__legend{z-index:20;color:#f0e2c8d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#0a060294;border:1px solid #f5d98b2e;border-radius:.75rem;max-width:min(22rem,100vw - 6rem);padding:.65rem .9rem;font-size:.95rem;font-style:italic;line-height:1.4;position:fixed;bottom:1rem;left:1rem}.hotspot{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='13' cy='13' r='9' stroke='%23f5d98b' stroke-width='2.5' fill='none'/%3E%3Cline x1='20' y1='20' x2='28' y2='28' stroke='%23f5d98b' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") 13 13,zoom-in;background:0 0;border:none;padding:0;position:absolute}.hotspot:focus-visible{outline-offset:-2px;border-radius:4px;outline:2px solid #f5d98bcc}.hotspot__label{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sparkle{pointer-events:none;line-height:0;display:block;position:absolute}.roomModal{z-index:50;-webkit-backdrop-filter:blur(2px)brightness(.65);backdrop-filter:blur(2px)brightness(.65);background:#080402c7;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.roomModal__content{flex-direction:column;align-items:center;gap:0;width:100%;display:flex;position:relative}.roomModal__close{z-index:60;color:#edd9a8;font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#120a05b8;border:1px solid #dcb9734d;border-radius:999px;padding:.55rem 1rem;font-size:.7rem;transition:background .16s,border-color .16s;position:fixed;top:1.25rem;right:1.25rem}.roomModal__close:hover{background:#321e0ed9;border-color:#dcb9738c}.roomModal__close:focus-visible{outline-offset:3px;outline:2px solid #e8c070}.mapModal{justify-content:center;align-items:center;width:100%;padding:3rem 1.25rem 1.5rem;display:flex}.mapModal__paper{border-radius:2px;width:min(100%,36rem);position:relative;overflow:hidden;box-shadow:0 .5rem 1.2rem #0000005c,0 2rem 4rem #0000006b,inset 0 0 0 .5px #fff4d78c,inset 0 1px #fffce6b3}.mapModal__paperBg{z-index:0;filter:url(#paper-full);background:linear-gradient(158deg,#efe4be 0%,#d8be88 100%);position:absolute;inset:0}.mapModal__inner{z-index:1;color:var(--ink);padding:2rem 2rem 1.75rem;position:relative}.mapModal__eyebrow{font-family:var(--font-label);letter-spacing:.22em;text-transform:uppercase;color:#341f10a3;margin:0 0 .3rem;font-size:.66rem}.mapModal__title{font-family:var(--font-display);color:var(--ink-soft);margin:0;font-size:clamp(1.8rem,5vw,2.4rem);font-style:italic;font-weight:600;line-height:1.02}.mapModal__rule{background:var(--line);height:1px;margin:.8rem 0 .6rem}.mapModal__address{color:#3a2212b8;margin:.5rem 0 1rem;font-size:.96rem;font-style:italic}.mapModal__actions{flex-wrap:wrap;gap:.75rem;display:flex}.costumeModal{justify-content:center;align-items:center;width:100%;padding:3rem 1.25rem 1.5rem;display:flex}.costumeModal__paper{border-radius:2px;width:min(100%,56rem);position:relative;overflow:hidden;box-shadow:0 .5rem 1.2rem #0000005c,0 2rem 4rem #0000006b,inset 0 0 0 .5px #fff4d78c,inset 0 1px #fffce6b3}.costumeModal__paperBg{z-index:0;filter:url(#paper-full);background:linear-gradient(158deg,#efe4be 0%,#d8be88 100%);position:absolute;inset:0}.costumeModal__inner{z-index:1;color:var(--ink);padding:2rem 2rem 1.75rem;position:relative}.costumeModal__eyebrow{font-family:var(--font-label);letter-spacing:.22em;text-transform:uppercase;color:#341f10a3;margin:0 0 .3rem;font-size:.66rem}.costumeModal__title{font-family:var(--font-display);color:var(--ink-soft);margin:0;font-size:clamp(1.8rem,5vw,2.4rem);font-style:italic;font-weight:600;line-height:1.02}.costumeModal__rule{background:var(--line);height:1px;margin:.8rem 0}.costumeModal__lede,.costumeModal__note{margin:0 0 1rem;font-size:1rem;line-height:1.65}.costumeModal__note{color:#3a2212b8;margin-top:1rem;font-style:italic}.costumeGallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.costumeSketch{flex-direction:column;align-items:center;gap:.55rem;margin:0;display:flex}.costumeSketch__image,.costumeSketch__placeholder{aspect-ratio:4/5;background:#fffdf9;border:1px solid #6e6e6e2e;border-radius:.4rem;width:100%;overflow:hidden;box-shadow:0 .35rem .9rem #28180c1f,inset 0 0 0 1px #ffffffbf}.costumeSketch__image{object-fit:cover;display:block}.costumeSketch__placeholder{color:#3a2212b8;font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;text-align:center;place-items:center;padding:1rem;font-size:.72rem;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}@media (width<=699px){.roomScene__legend{max-width:none;font-size:.9rem;bottom:.75rem;left:.75rem;right:.75rem}.roomModal{justify-content:flex-start;align-items:stretch;padding:0}.roomModal__content{justify-content:flex-start;min-height:100dvh;overflow-y:auto}.roomModal__close{top:.75rem;right:.75rem}.stackBare{gap:1.2rem;padding:1rem .75rem .75rem}.stack{max-height:64vh}.paperCard{padding:1.4rem 1.25rem 1.2rem}.paperCard__title{font-size:clamp(1.5rem,8vw,2rem)}.paperCard__body{font-size:.96rem;line-height:1.62}.stackNav{flex-wrap:wrap;gap:.6rem}.stackNav__btn{padding:.55rem .9rem;font-size:.68rem}.mapModal{align-items:flex-start;min-height:100dvh;padding:3.5rem .75rem 1rem}.mapModal__paper{width:100%}.mapModal__inner{padding:1.5rem 1.25rem}.costumeModal{align-items:flex-start;min-height:100dvh;padding:3.5rem .75rem 1rem}.costumeModal__paper{width:100%}.costumeModal__inner{padding:1.5rem 1.25rem}.costumeGallery{grid-template-columns:1fr}}
