@font-face{font-family:Bodoni Moda Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./bodoni-moda-latin-opsz-normal-X2BzlAjV.woff2) format("woff2-variations"),url(./bodoni-moda-latin-opsz-normal-X2BzlAjV.woff2) format("woff2")}@font-face{font-family:Bodoni Moda Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(./bodoni-moda-latin-opsz-italic-BCRrlh7t.woff2) format("woff2-variations"),url(./bodoni-moda-latin-opsz-italic-BCRrlh7t.woff2) format("woff2")}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./jost-latin-wght-normal-ObQm3Zd1.woff2) format("woff2-variations"),url(./jost-latin-wght-normal-ObQm3Zd1.woff2) format("woff2")}:root{--velvet: #1f0a10;--velvet-raised: #2a1017;--oxblood: #5c1424;--gilt: #b8893a;--ivory: #ede4d3;--ivory-2: rgba(237, 228, 211, .7);--ivory-3: rgba(237, 228, 211, .5);--line: rgba(184, 137, 58, .3);--parchment: #f1eadb;--walnut: #2a1a12;--walnut-2: #6e5a48;--patina: #7fa392;--display: "Bodoni Moda Variable", "Bodoni 72", Didot, Georgia, serif;--ui: "Jost Variable", "Futura", "Century Gothic", system-ui, sans-serif;--t-xs: .8125rem;--t-sm: .875rem;--t-md: 1rem;--t-lg: 1.125rem;--t-xl: 1.5rem;--t-2xl: 2.25rem;--t-3xl: 3rem;--r-ui: 3px;--ease: cubic-bezier(.22, 1, .36, 1);--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px)}.app-root{position:fixed;inset:0;overflow:hidden;background:var(--velvet);font-family:var(--ui)}.gallery-canvas{position:absolute!important;inset:0;touch-action:none}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--patina);outline-offset:2px}kbd{display:inline-block;min-width:1.6em;padding:.05em .45em;margin-right:.25em;font-family:var(--ui);font-size:.85em;font-weight:500;line-height:1.5;text-align:center;color:var(--ivory);background:var(--velvet-raised);border:1px solid var(--line);border-bottom-width:2px;border-radius:var(--r-ui)}.btn-icon{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border-radius:50%;background:#1f0a10db;color:var(--ivory);border:1px solid var(--line);cursor:pointer;transition:background-color .2s,border-color .2s;touch-action:manipulation;user-select:none;-webkit-user-select:none}.btn-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:currentColor;stroke-linecap:round;stroke-linejoin:round}.btn-icon svg [fill=none]{fill:none}.btn-icon:hover{background:var(--velvet-raised);border-color:var(--gilt)}.btn-icon.is-on{border-color:var(--gilt)}.btn-icon:disabled{opacity:.35;cursor:default}.btn-icon.small{width:34px;height:34px;background:transparent;border-color:transparent}.btn-icon.small:hover{border-color:var(--line)}.btn-text{height:40px;padding:0 16px;border-radius:var(--r-ui);background:#1f0a10db;color:var(--ivory);border:1px solid var(--line);font-family:var(--ui);font-size:var(--t-sm);font-weight:500;letter-spacing:.01em;cursor:pointer;transition:background-color .2s,border-color .2s}.btn-text:hover{background:var(--velvet-raised);border-color:var(--gilt)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px 0 14px;border-radius:var(--r-ui);background:var(--parchment);color:var(--walnut);border:1px solid var(--parchment);font-family:var(--ui);font-size:var(--t-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .2s,transform .15s}.btn-primary svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round}.btn-primary:hover{background:#fff8ea}.btn-primary:active{transform:translateY(1px)}.btn-primary.wide{flex:1;height:44px}.btn-link{background:none;border:none;padding:0;color:var(--ivory);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}.topbar{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:calc(14px + var(--safe-t)) calc(20px + var(--safe-r)) 28px calc(24px + var(--safe-l));background:linear-gradient(to bottom,rgba(20,6,10,.7),transparent);pointer-events:none}.topbar>*{pointer-events:auto}.topbar-name{font-family:var(--display);font-style:italic;font-size:var(--t-xl);font-weight:500;color:var(--ivory);text-shadow:0 1px 12px rgba(0,0,0,.6)}.topbar-actions{display:flex;gap:8px}.help-card{position:fixed;z-index:41;top:calc(68px + var(--safe-t));right:calc(20px + var(--safe-r));width:340px;padding:20px 22px 8px;background:var(--velvet);border:1px solid var(--line);border-radius:var(--r-ui);box-shadow:0 18px 50px #00000080}.help-close{position:absolute;top:10px;right:10px}.help-card h2{font-family:var(--display);font-style:italic;font-weight:500;font-size:var(--t-lg);color:var(--ivory);margin-bottom:8px}.help-card section+section{margin-top:14px;padding-top:14px;border-top:1px solid rgba(184,137,58,.18)}.help-card dl div{display:grid;grid-template-columns:112px 1fr;gap:10px;align-items:baseline;padding:4px 0}.help-card dt{white-space:nowrap}.help-card dd{font-size:var(--t-sm);color:var(--ivory-2);line-height:1.4}.nav-hint{position:fixed;z-index:30;left:50%;bottom:calc(28px + var(--safe-b));transform:translate(-50%);max-width:calc(100vw - 240px);padding:11px 18px;background:var(--velvet);border:1px solid var(--line);border-radius:var(--r-ui);font-size:var(--t-sm);color:var(--ivory-2);text-align:center;pointer-events:none;animation:hintOut .8s ease 11s forwards}.focus-bar{position:fixed;z-index:35;left:50%;bottom:calc(22px + var(--safe-b));transform:translate(-50%);display:flex;align-items:center;gap:18px;padding:8px;background:#1f0a10eb;border:1px solid var(--line);border-radius:var(--r-ui);box-shadow:0 12px 40px #00000073}.focus-bar.with-panel{left:calc((100vw - min(420px,36vw))/2)}.focus-bar .btn-icon{background:transparent;border-color:transparent}.focus-bar .btn-icon:hover{border-color:var(--line);background:var(--velvet-raised)}.fb-nav,.fb-tools{display:flex;align-items:center;gap:4px}.fb-tools{padding-left:18px;border-left:1px solid rgba(184,137,58,.2)}.fb-tools .btn-primary{margin:0 4px}.fb-caption{display:flex;flex-direction:column;align-items:center;min-width:120px;max-width:300px;padding:0 6px;text-align:center}.fb-title{font-family:var(--display);font-style:italic;font-size:var(--t-lg);line-height:1.2;color:var(--ivory);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fb-artist{font-size:var(--t-xs);color:var(--ivory-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fb-pos{font-size:var(--t-xs);color:var(--ivory-3);font-variant-numeric:tabular-nums}.info-panel{position:fixed;top:0;right:0;bottom:0;z-index:45;width:min(420px,36vw);display:flex;flex-direction:column;padding:calc(18px + var(--safe-t)) calc(22px + var(--safe-r)) calc(20px + var(--safe-b)) 36px;background:var(--velvet);border-left:1px solid var(--line);box-shadow:-24px 0 60px #00000073;animation:panelIn .45s var(--ease) both}.info-panel.mobile{width:100vw;border-left:none;padding-left:calc(28px + var(--safe-l))}.ip-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.ip-where{font-size:var(--t-xs);color:var(--ivory-3);font-variant-numeric:tabular-nums}.ip-scroll{flex:1;overflow-y:auto;padding-right:14px;scrollbar-width:thin;scrollbar-color:rgba(184,137,58,.4) transparent}.ip-artist{font-size:var(--t-lg);font-weight:500;color:var(--ivory)}.ip-life{font-size:var(--t-sm);color:var(--ivory-3);margin-top:2px;font-variant-numeric:tabular-nums}.ip-title{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.9rem,2.6vw,var(--t-2xl));line-height:1.1;color:var(--ivory);margin-top:22px;text-wrap:balance}.ip-orig{font-family:var(--display);font-style:italic;font-size:var(--t-md);color:var(--ivory-2);margin-top:6px}.ip-year{font-family:var(--display);font-size:var(--t-lg);color:var(--ivory);margin-top:8px}.ip-tombstone{list-style:none;margin-top:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}.ip-tombstone li{font-size:var(--t-sm);line-height:1.6;color:var(--ivory-2)}.ip-desc{font-family:var(--display);font-size:1.0625rem;line-height:1.7;color:var(--ivory);opacity:.9;margin-top:22px;max-width:58ch}.ip-actions{display:flex;gap:8px;align-items:center;padding-top:16px;margin-top:12px;border-top:1px solid rgba(184,137,58,.16)}.hd-viewer{position:fixed;inset:0;z-index:60;background:#120609;animation:fadeIn .3s ease both}.hd-stage{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:zoom-in;user-select:none;-webkit-user-select:none}.hd-stage.is-zoomed{cursor:grab}.hd-stage.is-zoomed:active{cursor:grabbing}.hd-layer{position:absolute;left:50%;top:50%;box-shadow:0 24px 90px #000000b3}.hd-img{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.hd-img.full{opacity:0;transition:opacity .5s ease}.hd-img.full.on{opacity:1}.hd-top,.hd-bottom{position:absolute;left:0;right:0;z-index:2;display:flex;align-items:center;transition:opacity .4s ease}.hd-top{top:0;justify-content:space-between;gap:16px;padding:calc(16px + var(--safe-t)) calc(20px + var(--safe-r)) 36px calc(24px + var(--safe-l));background:linear-gradient(to bottom,rgba(18,6,9,.85),transparent)}.hd-bottom{bottom:0;flex-direction:column;gap:10px;padding:36px 20px calc(18px + var(--safe-b));background:linear-gradient(to top,rgba(18,6,9,.85),transparent);pointer-events:none}.hd-bottom>*{pointer-events:auto}.hd-caption{display:flex;flex-direction:column;gap:2px;min-width:0}.hd-title{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.15rem,2vw,var(--t-xl));color:var(--ivory)}.hd-artist{font-size:var(--t-sm);color:var(--ivory-2)}.hd-zoom{display:flex;align-items:center;gap:2px;padding:4px;background:var(--velvet);border:1px solid var(--line);border-radius:var(--r-ui)}.hd-zoom .btn-icon{background:transparent;border-color:transparent}.hd-zoom .btn-icon:hover:not(:disabled){background:var(--velvet-raised)}.hd-pct{min-width:56px;text-align:center;font-size:var(--t-sm);font-weight:500;color:var(--ivory);font-variant-numeric:tabular-nums}.hd-note{display:flex;align-items:center;gap:10px;font-size:var(--t-sm);color:var(--ivory-2);text-shadow:0 1px 8px rgba(0,0,0,.8)}.spinner{width:14px;height:14px;border:1.5px solid var(--line);border-top-color:var(--ivory);border-radius:50%;animation:spin .9s linear infinite}.hd-arrow{position:absolute;top:50%;z-index:2;width:48px;height:48px;margin-top:-24px;transition:opacity .4s ease}.hd-arrow svg{width:22px;height:22px}.hd-arrow.left{left:calc(16px + var(--safe-l))}.hd-arrow.right{right:calc(16px + var(--safe-r))}.hd-mini{position:absolute;z-index:2;right:calc(18px + var(--safe-r));bottom:calc(92px + var(--safe-b));width:140px;max-height:180px;overflow:hidden;border:1px solid var(--line);transition:opacity .4s ease}.hd-mini img{width:100%;height:100%;object-fit:fill;display:block;opacity:.55}.hd-mini span{position:absolute;border:1.5px solid var(--parchment);box-shadow:0 0 0 999px #12060959}.hd-viewer.ui-hidden .hd-top,.hd-viewer.ui-hidden .hd-bottom,.hd-viewer.ui-hidden .hd-arrow,.hd-viewer.ui-hidden .hd-mini{opacity:0}.hd-viewer.ui-hidden .hd-arrow,.hd-viewer.ui-hidden .hd-mini{pointer-events:none}.catalogue{position:fixed;inset:0;z-index:55;display:flex;justify-content:center;padding:calc(28px + var(--safe-t)) calc(28px + var(--safe-r)) calc(28px + var(--safe-b)) calc(28px + var(--safe-l));background:#0c0407b8;animation:fadeIn .25s ease both}.cat-sheet{width:min(980px,100%);display:flex;flex-direction:column;background:var(--velvet);border:1px solid var(--line);border-radius:var(--r-ui);box-shadow:0 30px 100px #0009}.cat-head{display:flex;align-items:center;gap:14px;padding:18px 20px 18px 28px;border-bottom:1px solid rgba(184,137,58,.18)}.cat-head h2{flex:1;font-family:var(--display);font-style:italic;font-weight:500;font-size:var(--t-xl);color:var(--ivory)}.cat-search{width:min(300px,40vw);height:40px;padding:0 14px;border-radius:var(--r-ui);background:#0003;border:1px solid var(--line);color:var(--ivory);font-family:var(--ui);font-size:var(--t-sm);outline:none}.cat-search::placeholder{color:var(--ivory-3)}.cat-search:focus-visible{border-color:var(--patina);outline:none;box-shadow:0 0 0 1px var(--patina)}.cat-main{flex:1;min-height:0;display:grid;grid-template-columns:170px 1fr}.cat-plan{padding:22px 18px 22px 28px;border-right:1px solid rgba(184,137,58,.12);display:flex;justify-content:center}.plan{height:100%;max-height:560px;width:auto;overflow:visible}.plan-hall{fill:#5c142459;stroke:#b8893a73;stroke-width:.12}.plan-feature{fill:none;stroke:#ede4d32e;stroke-width:.08;stroke-dasharray:.3 .3}.plan-statue{fill:#ede4d359}.plan-door{stroke:var(--velvet);stroke-width:.3}.plan-label{font-family:var(--ui);font-size:1.05px;fill:var(--ivory-3)}.plan-mark{stroke:#ede4d38c;stroke-width:.42;stroke-linecap:butt;cursor:pointer;transition:stroke .15s}.plan-mark:hover,.plan-mark.on{stroke:var(--gilt);stroke-width:.6}.cat-list{overflow-y:auto;padding:8px 20px 24px 22px;scrollbar-width:thin;scrollbar-color:rgba(184,137,58,.4) transparent}.cat-list section{margin-top:18px}.cat-list h3{font-size:var(--t-sm);font-weight:500;color:var(--ivory);padding:0 8px 8px;border-bottom:1px solid rgba(184,137,58,.16)}.cat-list h3 span{font-weight:400;color:var(--ivory-3);margin-left:8px}.cat-list ul{list-style:none}.cat-row{width:100%;display:flex;align-items:center;gap:14px;padding:8px;text-align:left;background:none;border:none;border-radius:var(--r-ui);cursor:pointer}.cat-row:hover,.cat-row.on{background:#5c14248c}.cat-thumb{flex:none;width:56px;height:56px;display:grid;place-items:center}.cat-thumb img{max-width:56px;max-height:56px;display:block;box-shadow:0 0 0 2px #9c7632,0 4px 10px #00000080}.cat-text{display:flex;flex-direction:column;min-width:0}.cat-title{font-family:var(--display);font-style:italic;font-size:var(--t-lg);line-height:1.25;color:var(--ivory)}.cat-artist{font-size:var(--t-sm);color:var(--ivory-2);margin-top:2px}.cat-empty{padding:40px 8px;font-size:var(--t-md);color:var(--ivory-2)}.dpad{position:fixed;z-index:30;left:calc(24px + var(--safe-l));bottom:calc(20px + var(--safe-b));width:132px;height:132px;border-radius:50%;background:#1f0a1099;border:1px solid var(--line);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.dpad-btn{position:absolute;width:44px;height:44px;display:grid;place-items:center;padding:0;border:none;border-radius:50%;background:transparent;color:var(--ivory-2);font-size:.8rem;touch-action:none}.dpad-btn.pressed{background:#ede4d329;color:var(--ivory)}.dpad-btn.up{top:4px;left:44px}.dpad-btn.down{bottom:4px;left:44px}.dpad-btn.left{left:4px;top:44px}.dpad-btn.right{right:4px;top:44px}.dpad-core{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--line)}.rotate-overlay{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center;background:var(--velvet)}.rotate-phone{width:72px;height:72px;margin-bottom:8px}.rotate-phone rect{fill:none;stroke:var(--ivory-2);stroke-width:2.5;transform-origin:50px 50px;animation:rotatePhone 3s var(--ease) infinite}.ro-name{font-family:var(--display);font-style:italic;font-size:var(--t-md);color:var(--ivory-3)}.rotate-overlay h2{max-width:16em;font-family:var(--display);font-weight:500;font-size:var(--t-xl);line-height:1.25;color:var(--ivory);text-wrap:balance}.rotate-overlay .btn-text{margin-top:12px}.loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;overflow:hidden}.curtain{position:absolute;top:0;bottom:0;width:50.5%;transition:transform 1.9s cubic-bezier(.7,0,.2,1) .25s;background:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 25%,transparent 70%,rgba(0,0,0,.55)),repeating-linear-gradient(90deg,#3a0c17 0 18px,#561322 30px,#6a1a2b 38px,#4a1020 52px,#2c0911 68px)}.curtain-left{left:0;box-shadow:inset -18px 0 30px #00000073}.curtain-right{right:0;box-shadow:inset 18px 0 30px #00000073}.loader-card{position:relative;z-index:1;width:min(400px,100%);padding:34px 36px 28px;background:var(--parchment);color:var(--walnut);border-radius:2px;box-shadow:0 2px #0000001f,0 30px 80px #0000008c;transition:opacity .45s ease,transform .45s var(--ease)}.loader-name{font-family:var(--display);font-style:italic;font-weight:500;font-size:var(--t-2xl);line-height:1.05}.loader-intro{font-family:var(--display);font-size:var(--t-lg);line-height:1.5;color:#4a3a2c;margin-top:10px;max-width:28ch}.loader-line{position:relative;height:2px;margin:26px 0 12px;background:#2a1a1224;overflow:hidden}.loader-line span{position:absolute;inset:0;transform-origin:left;background:var(--oxblood)}.loader-status{font-size:var(--t-sm);color:var(--walnut-2);font-variant-numeric:tabular-nums}.loader-enter{width:100%;height:46px;margin-top:6px;background:var(--oxblood);border-color:var(--oxblood);color:var(--parchment);font-size:var(--t-md)}.loader-enter:hover{background:#721a2d}.loader-enter:focus-visible{outline-color:var(--walnut)}.loader-note{font-size:var(--t-xs);color:var(--walnut-2);margin-top:12px;line-height:1.5}.phase-opening .loader-card,.phase-gone .loader-card{opacity:0;transform:translateY(8px);pointer-events:none}.phase-opening .curtain-left,.phase-gone .curtain-left{transform:translate(-102%)}.phase-opening .curtain-right,.phase-gone .curtain-right{transform:translate(102%)}.phase-opening,.phase-gone{pointer-events:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes panelIn{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@keyframes hintOut{to{opacity:0;visibility:hidden}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rotatePhone{0%,25%{transform:rotate(0)}50%,75%{transform:rotate(90deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}}@media (max-width: 900px),(max-height: 520px){.topbar{padding-top:calc(10px + var(--safe-t))}.topbar-name{font-size:var(--t-lg)}.btn-icon{width:38px;height:38px}.btn-text{height:38px}.focus-bar{bottom:calc(12px + var(--safe-b));gap:10px;padding:6px}.fb-tools{padding-left:10px}.fb-caption{min-width:0;max-width:220px}.fb-title{font-size:var(--t-md)}.nav-hint{max-width:calc(100vw - 340px);bottom:calc(20px + var(--safe-b));font-size:var(--t-xs);left:auto;right:calc(20px + var(--safe-r));transform:none;text-align:left}.catalogue{padding:0}.cat-sheet{border-radius:0;border:none}.cat-head{padding:calc(10px + var(--safe-t)) calc(12px + var(--safe-r)) 10px calc(18px + var(--safe-l))}.cat-main{grid-template-columns:1fr}.cat-plan{display:none}.cat-list{padding:0 calc(12px + var(--safe-r)) 20px calc(10px + var(--safe-l))}.hd-mini{display:none}.hd-arrow{width:42px;height:42px;margin-top:-21px}.loader-card{padding:24px 26px 20px}.loader-name{font-size:1.75rem}.loader-intro{font-size:var(--t-md)}.loader-line{margin:18px 0 10px}.info-panel.mobile .ip-title{font-size:1.75rem;margin-top:12px}.info-panel.mobile .ip-head{margin-bottom:12px}}@media (max-width: 560px){.cat-search{width:100%;order:3}.cat-head{flex-wrap:wrap}}
