:root{color-scheme:dark;--wall:#121814;--cream:#ece3cf;--cream-dim:#a9a291;--brass:#c29c5c;--brass-dim:#7f6640;--paper:#f4ecdc;--paper-2:#e6dbc2;--ink:#2a2620;--ink-soft:#6a6254;--display:"Gloock", "Bodoni 72", Didot, Georgia, serif;--body:"Newsreader", Georgia, "Times New Roman", serif;--label:"Jost", "Futura", "Avenir Next", system-ui, sans-serif}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.45s}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--wall);color:var(--cream);font-family:var(--body);margin:0;padding-inline:16px;font-size:17px;line-height:1.5;overflow-x:hidden}a{color:inherit}button{font:inherit}img{max-width:100%}:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding-block:20px 12px;display:flex}.mark{align-items:center;gap:12px;text-decoration:none;display:flex}.mark svg{flex:none;width:38px;height:38px}.mark span{font-family:var(--display);letter-spacing:.01em;font-size:1.45rem;line-height:1}.top nav ul{gap:22px;margin:0;padding:0;list-style:none;display:flex}.top nav li{font-family:var(--label);text-transform:uppercase;letter-spacing:.22em;color:var(--cream-dim);font-size:.72rem}.top nav a{text-decoration:none}.top nav a:hover{color:var(--cream)}.top nav [aria-current]{color:var(--brass)}.top nav small{letter-spacing:.18em;opacity:.6;margin-top:2px;font-size:.58rem;display:block}.stage{background:#0b0f0c;max-width:1180px;height:min(80vh,780px);min-height:560px;margin:0 auto;position:relative;overflow:hidden}.stage canvas{touch-action:pan-y;width:100%;height:100%;display:block}.veil{text-align:center;z-index:8;font-family:var(--label);text-transform:uppercase;letter-spacing:.28em;color:var(--cream-dim);background:#0b0f0c;place-items:center;font-size:.7rem;transition:opacity 1.2s;display:grid;position:absolute;inset:0}.veil.gone{opacity:0;pointer-events:none}.veil p{max-width:34ch;margin:0;line-height:1.9}.fade{z-index:7;opacity:0;pointer-events:none;background:#070907;transition:opacity .55s;position:absolute;inset:0}.fade.on{opacity:1}.hint{z-index:4;font-family:var(--label);text-transform:uppercase;letter-spacing:.26em;color:var(--cream-dim);white-space:nowrap;pointer-events:none;text-shadow:0 1px 8px #000;margin:0;font-size:.62rem;transition:opacity .4s;position:absolute;top:18px;left:50%;transform:translate(-50%)}.pill{font-family:var(--label);text-transform:uppercase;letter-spacing:.2em;color:var(--cream);border:1px solid var(--brass-dim);cursor:pointer;backdrop-filter:blur(4px);background:#0a0e0bb8;padding:9px 13px 8px;font-size:.62rem;text-decoration:none;display:inline-block}.pill:hover{border-color:var(--brass);color:#fff}.pill[aria-disabled=true]{color:var(--cream-dim);border-color:#7f664073}.pills{z-index:5;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;transition:opacity .4s;display:flex;position:absolute;bottom:16px;left:18px}.corner{z-index:6;position:absolute;top:16px}.corner.left{left:16px}.corner.right{right:16px}.toast{z-index:6;font-family:var(--body);color:var(--cream);border:1px solid var(--brass-dim);opacity:0;pointer-events:none;white-space:nowrap;background:#0a0e0bcc;margin:0;padding:8px 16px;font-size:1rem;font-style:italic;transition:opacity .3s,transform .3s;position:absolute;top:52px;left:50%;transform:translate(-50%,-6px)}.toast.show{opacity:1;transform:translate(-50%)}.lede{z-index:4;max-width:30ch;font-family:var(--display);text-shadow:0 2px 18px #000000e6;pointer-events:none;text-wrap:balance;margin:0;font-size:clamp(1.3rem,2.6vw,2rem);font-weight:400;line-height:1.15;position:absolute;bottom:64px;left:22px}.lede small{font-family:var(--label);letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin-bottom:8px;font-size:.6rem;display:block}.stage.walking .hall-ui{opacity:0;pointer-events:none}#close{opacity:0;pointer-events:none;transition:opacity .4s}.stage.is-open .hint,.stage.is-open .pills{opacity:0;pointer-events:none}.stage.is-open #close{opacity:1;pointer-events:auto}.card{color:var(--ink);background:repeating-linear-gradient(180deg, transparent 0 27px, #788caa2e 27px 28px), linear-gradient(180deg, var(--paper), var(--paper-2));padding:18px 20px 16px;position:relative;box-shadow:0 30px 60px #0000008c,inset 0 2px #fff6}.card:before{content:"";background:#be504673;height:1px;position:absolute;top:46px;left:0;right:0}.card figure{margin:34px 0 0}.card figure img,.card figure svg{aspect-ratio:4/3;object-fit:cover;border:6px solid #fbf7ee;width:100%;height:auto;display:block;box-shadow:0 6px 14px #281e0f40}.tag{font-family:var(--label);text-transform:uppercase;letter-spacing:.2em;color:#7a5c2c;border:1px solid #c9ad7a;padding:3px 8px 2px;font-size:.6rem;display:inline-block}.card h2{font-family:var(--display);text-wrap:balance;margin:22px 0 6px;font-size:1.7rem;font-weight:400;line-height:1.1}.card .note{color:var(--ink-soft);margin:0 0 14px;font-size:.95rem;font-style:italic}.card .facts{grid-template-columns:1fr 1fr;gap:8px 14px;margin:0 0 16px;display:grid}.card .facts div{flex-direction:column;display:flex}.card dt{font-family:var(--label);text-transform:uppercase;letter-spacing:.2em;color:var(--ink-soft);font-size:.56rem}.card dd{font-variant-numeric:tabular-nums;margin:0;font-size:.98rem}.card .method{margin-bottom:14px;font-size:.95rem}.card .method h3{font-family:var(--label);text-transform:uppercase;letter-spacing:.2em;margin:14px 0 4px;font-size:.62rem;font-weight:500}.card .method ul,.card .method ol{margin:0;padding-left:1.2em}.card .credit{border-top:1px solid #78643c4d;padding-top:12px;font-size:.88rem}.card .credit p{margin:0 0 6px}.card .credit a,.card .also{font-family:var(--label);text-transform:uppercase;letter-spacing:.18em;color:#6d4f22;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0;font-size:.64rem;text-decoration:none}.card .also{text-align:left;margin-top:10px;display:inline-block}.plain .also{display:none}.overlay{z-index:6;opacity:0;pointer-events:none;width:min(360px,100% - 44px);max-height:calc(100% - 90px);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1);position:absolute;top:50%;right:22px;overflow-y:auto;transform:translate(40px,-50%)rotate(1.2deg)}.overlay figure{display:none}.overlay.swapping .card{opacity:0}.overlay .card{transition:opacity .3s}.stage.card-in .overlay{opacity:1;pointer-events:auto;transform:translateY(-50%)rotate(1.2deg)}.plain{max-width:1180px;margin:0 auto;padding-block:28px 12px}.plain>h2{font-family:var(--label);text-transform:uppercase;letter-spacing:.24em;color:var(--brass);margin:0 0 14px;font-size:.66rem;font-weight:500}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;display:grid}.has-3d .plain,.no-3d .stage{display:none}.door-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.door-list a,.door-list span{min-height:280px;font-family:var(--display);background:linear-gradient(#2d3b32,#1d2721);border:1px solid #0e130f;flex-direction:column;justify-content:flex-end;padding:20px;font-size:1.5rem;text-decoration:none;display:flex}.door-list a{background:radial-gradient(at 50% 0,#ffd29659,#0000 70%),linear-gradient(#34463a,#1d2721)}.door-list small{font-family:var(--label);letter-spacing:.22em;text-transform:uppercase;color:var(--brass);font-size:.6rem}.site-foot{max-width:1180px;font-family:var(--label);text-transform:uppercase;letter-spacing:.22em;color:var(--cream-dim);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 auto;padding-block:28px 36px;font-size:.62rem;display:flex}@media (width<=700px){.top nav ul{gap:14px}.stage{height:min(82svh,130vw);min-height:440px}.corner.left~.hint{top:62px}.lede{font-size:1.25rem}.overlay{width:auto;max-height:56%;inset:auto 12px 12px;transform:translateY(30px)}.stage.card-in .overlay{transform:none}.lede{bottom:104px;right:18px}}@media (prefers-reduced-motion:reduce){.overlay,.veil,.pills,.hint,#close,.fade,.toast,.overlay .card{transition:none}::view-transition-old(root),::view-transition-new(root){animation:none}}
