:root{color-scheme:light;--paper: #f8f6f1;--ink: #292824;--muted: #69655f;--accent: #9e5f47;--line: rgba(41,40,36,.17);--serif: "Iowan Old Style", "Baskerville", Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{font-family:var(--sans);background:#e5e2dc;color:var(--ink);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #9e5f47;outline-offset:4px}.skip-link{position:fixed;z-index:50;top:-70px;left:20px;padding:12px 16px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{position:relative;isolation:isolate;width:100%;height:100vh;height:100svh;min-height:550px;overflow:hidden}.room,.room canvas,.room-vignette,.room-grain{position:absolute;inset:0;width:100%;height:100%}.room canvas{display:block;cursor:grab}.room canvas:active{cursor:grabbing}.room-vignette{pointer-events:none;background:radial-gradient(ellipse at 55% 47%,transparent 34%,rgba(37,35,31,.12) 100%),linear-gradient(90deg,rgba(248,246,240,.22),transparent 38%)}.room-grain{pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.site-header{position:absolute;z-index:15;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;min-height:95px;padding:24px clamp(28px,4vw,70px)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;line-height:1.35;text-decoration:none}.brand-symbol{display:grid;place-items:center;width:39px;height:39px;border:1px solid currentColor;border-radius:50%;color:var(--accent);transition:transform .6s ease}.asterisk-glyph{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.brand:hover .brand-symbol{transform:rotate(60deg)}.header-actions{display:flex;align-items:center;gap:clamp(20px,3vw,50px)}.edition{color:#625d57;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em}.room-controls{display:flex;align-items:center;padding:3px;border:1px solid rgba(41,40,36,.26);border-radius:28px;background:#faf8f3f7}.icon-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:9px 12px;border:0;border-radius:23px;background:transparent;color:var(--ink);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.09em}.icon-button:hover,.icon-button[aria-pressed=true]{background:#e8dfd2}.sound-glyph{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sound-waves,.icon-button[aria-pressed=true] .sound-muted{display:none}.icon-button[aria-pressed=true] .sound-waves{display:inline}.welcome{position:absolute;z-index:5;top:20%;left:clamp(28px,6vw,105px);width:min(430px,34vw);padding:28px 18px 30px 0;transition:opacity .65s ease,transform .65s ease,visibility .65s}.welcome:before{position:absolute;z-index:-1;inset:-35px -70px -35px -35px;background:radial-gradient(ellipse at 40% 50%,rgba(250,248,243,.86),rgba(250,248,243,.54) 55%,transparent 80%);content:"";pointer-events:none}.welcome-kicker{display:flex;align-items:center;gap:10px;margin-bottom:25px;color:#675e55;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.17em}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#a6654d;box-shadow:0 0 0 5px #a6654d21;animation:pulse 3s ease-in-out infinite}.welcome h1{margin:0 0 22px;font-family:var(--serif);font-size:clamp(62px,5.7vw,94px);font-weight:400;letter-spacing:-.07em;line-height:.94;white-space:nowrap}.welcome h1 em{color:#8a7164;font-weight:400}.welcome p{max-width:355px;margin:0 0 39px;color:#514f4b;font-size:17px;line-height:1.65}.welcome-hint{display:inline-flex;align-items:center;gap:11px;color:#665f57;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.1em;white-space:nowrap}.welcome-hint span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #8e8377;border-radius:50%;font-family:var(--sans);font-size:16px;font-weight:400}.entered[data-view=home] .welcome{visibility:hidden;opacity:0;transform:translateY(-14px);pointer-events:none}.enter-button{display:none}.object-markers{position:absolute;z-index:6;inset:0;pointer-events:none;transition:opacity .35s ease,visibility .35s}.object-marker{position:absolute;display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid rgba(255,255,255,.8);border-radius:30px;background:#faf8f3f7;box-shadow:0 6px 20px #2a262129;color:var(--ink);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.1em;line-height:1.1;text-align:left;transform:translate(-50%,-50%);pointer-events:auto;white-space:nowrap;transition:box-shadow .25s,scale .25s}.object-marker:hover{scale:1.07;box-shadow:0 8px 25px #2a262140}.marker-pin{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:18px;font-weight:400;line-height:1}.object-marker small{display:block;margin-top:3px;color:#68635d;font-size:8px;letter-spacing:.04em}.room-zoom{display:flex;margin-left:4px;padding-left:4px;border-left:1px solid var(--line)}.room-zoom button{display:grid;place-items:center;width:40px;height:40px;padding:10px;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}.room-zoom button:hover:not(:disabled){background:#e8dfd2}.room-zoom button:disabled{opacity:.35;cursor:default}.room-zoom svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.no-webgl .room-zoom{display:none}.room-footer{position:absolute;z-index:5;right:clamp(28px,4vw,70px);bottom:26px;left:clamp(28px,4vw,70px);display:flex;justify-content:space-between;color:#504b45;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;pointer-events:none}.room-tip span{margin-left:4px;font-size:15px}.section-dock{position:absolute;z-index:20;bottom:43px;left:50%;display:flex;gap:2px;padding:6px;border:1px solid rgba(244,240,232,.78);border-radius:60px;background:#272522f0;box-shadow:0 14px 34px #2a262140;transform:translate(-50%)}.section-dock button{display:flex;align-items:center;gap:8px;min-width:106px;justify-content:center;padding:12px 17px;border:0;border-radius:40px;background:transparent;color:#f4f0e8;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;white-space:nowrap;transition:color .25s,background .25s,transform .25s}.section-dock button span{display:block;line-height:1}.section-dock button .dock-index{color:#cba98e;font-size:9px}.section-dock button:hover{background:#ffffff1f;transform:translateY(-2px)}.section-dock button[aria-current=page]{background:#e8d8c8;color:var(--ink)}.section-dock button[aria-current=page] .dock-index{color:#835f4b}.back-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1;position:absolute;z-index:16;top:122px;left:clamp(28px,4vw,70px);padding:12px 17px;border:1px solid rgba(41,40,36,.26);border-radius:25px;background:#faf8f3f5;color:var(--ink);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .4s,transform .4s}.back-button svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.back-button span{display:block}.back-button:hover{background:var(--paper)}.section-panel{position:absolute;z-index:12;top:17%;right:clamp(28px,5vw,95px);bottom:16%;width:min(430px,37vw);display:flex;flex-direction:column;overflow:hidden;padding:clamp(26px,3vw,46px);border:1px solid rgba(255,255,255,.85);border-radius:8px;background:#faf8f3f9;box-shadow:0 25px 60px #2a262133;opacity:0;pointer-events:none;transform:translate(44px) rotate(1.5deg);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1);scrollbar-color:#b9ada1 transparent}#panel-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#b9ada1 transparent}.section-panel:before{position:absolute;inset:8px;border:1px solid rgba(128,111,97,.24);border-radius:3px;content:"";pointer-events:none}.panel-index{display:block;margin-bottom:34px;color:#89523c;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.18em}.section-panel h2{margin:0 0 23px;font-family:var(--serif);font-size:clamp(47px,4vw,66px);font-weight:400;letter-spacing:-.07em;line-height:.98}.section-panel h2:focus{outline:none}.section-panel h2 em{color:#8a7164;font-weight:400}.section-panel p{color:#534f49;font-size:15px;line-height:1.68}.section-panel .panel-lede{margin-bottom:25px;color:var(--ink);font-family:var(--serif);font-size:22px;line-height:1.37}.section-panel .panel-small{margin-top:27px;color:#686158;font-size:12px;line-height:1.6}.work-list{margin-top:28px;border-top:1px solid var(--line)}.work-list>div{display:grid;grid-template-columns:28px 1fr;column-gap:12px;padding:14px 0 10px;border-bottom:1px solid var(--line)}.work-list span{grid-row:span 2;padding-top:5px;color:#89523c;font-family:var(--mono);font-size:10px}.work-list strong{font-family:var(--serif);font-size:23px;font-weight:400;letter-spacing:-.03em}.work-list p{margin:2px 0 0;font-size:12px}.note-paper{position:relative;margin-top:30px;padding:22px 23px 20px;background:#fffefa;box-shadow:0 7px 23px #2a262117;transform:rotate(-1deg)}.note-paper:before{position:absolute;inset:7px;border:1px solid #e4dbd0;content:"";pointer-events:none}.note-paper p{position:relative;margin-bottom:16px;font-family:var(--serif);font-size:17px;line-height:1.6}.note-date{position:relative;display:block;margin:3px 0 18px;color:#89523c;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.16em}.note-sign{position:relative;color:#89523c;font-family:var(--serif);font-size:26px;font-style:italic}.about-mark{margin-top:15px;color:#a97761}.about-mark .asterisk-glyph{width:44px;height:44px;stroke-width:1.3}.breath{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:12px;margin:24px 0 16px;line-height:1.6;color:#665f57;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em}.breath-visual{display:grid;place-items:center;width:128px;height:128px;overflow:clip}.breath-ring{width:62px;height:62px;border:2px solid #aa9888;border-radius:50%;box-shadow:0 0 0 8px #a8907c21;animation:breathe 6s ease-in-out infinite}.app:not([data-view=home]) .welcome{visibility:hidden;opacity:0;transform:translateY(-14px);pointer-events:none}.app:not([data-view=home]) .object-markers{visibility:hidden;opacity:0;pointer-events:none}.app:not([data-view=home]) .back-button{opacity:1;pointer-events:auto;transform:translateY(0)}.app:not([data-view=home]) .section-panel{opacity:1;pointer-events:auto;transform:translate(0) rotate(0)}.no-webgl .object-markers{display:none}.fallback{position:absolute;z-index:10;top:23%;left:8%;max-width:420px;padding:25px;background:var(--paper)}.fallback[hidden]{display:none}.fallback h1{font-family:var(--serif);font-size:50px;font-weight:400}@keyframes pulse{50%{box-shadow:0 0 0 9px #a6654d0f}}@keyframes breathe{50%{transform:scale(1.23);box-shadow:0 0 0 18px #a8907c0a}}@media(max-width:950px){.welcome{top:17%;width:330px}.welcome h1{font-size:64px}.section-panel{width:min(400px,45vw)}.section-panel h2{font-size:49px}.edition{display:none}}@media(max-width:700px){.app{min-height:480px}.site-header{min-height:75px;padding:14px 18px}.brand{gap:8px;font-size:9px}.brand-symbol{width:34px;height:34px}.brand-symbol .asterisk-glyph{width:18px;height:18px}.header-actions{gap:0}.site-header{gap:6px}.icon-button{width:40px;min-height:40px;padding:9px}.welcome{top:91px;left:20px;width:min(330px,calc(100% - 40px));padding:21px;border:1px solid rgba(255,255,255,.8);border-radius:8px;background:#faf8f3f7;box-shadow:0 12px 30px #2a26211f}.welcome:before{display:none}.welcome-kicker{margin-bottom:13px;font-size:9px}.welcome h1{margin-bottom:13px;font-size:clamp(48px,12vw,68px)}.welcome p{max-width:250px;margin-bottom:18px;font-size:13px;line-height:1.5}.welcome-hint{gap:6px;font-size:8px;white-space:normal}.welcome-hint span{width:26px;height:26px;flex:0 0 auto;font-size:13px}.enter-button{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:21px;padding:13px 15px;border:0;border-radius:3px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em}.enter-button span{font-family:var(--sans);font-size:18px;font-weight:400}.app[data-view=home]:not(.entered) .object-markers{visibility:hidden;opacity:0;pointer-events:none}.app[data-view=home]:not(.entered) .object-marker{visibility:hidden!important;pointer-events:none}.object-marker{gap:4px;padding-right:7px;font-size:7px}.marker-pin{width:24px;height:24px;font-size:15px}.object-marker small{font-size:7px}.room-footer{right:18px;bottom:83px;left:18px;font-size:7px}.room-tip{display:none}.section-dock{right:10px;bottom:12px;left:10px;justify-content:space-between;width:auto;padding:4px;transform:none}.section-dock button{min-width:0;flex:1;gap:4px;padding:10px 3px;font-size:9px;letter-spacing:0}.section-dock button .dock-index{font-size:8px}.room-zoom button{width:38px;height:40px}.back-button{top:77px;left:18px;padding:9px 12px;font-size:9px}.section-panel{inset:auto 12px 75px;width:auto;max-height:min(52svh,460px);min-height:290px;padding:28px 27px 24px;transform:translateY(30px)}.app:not([data-view=home]) .section-panel{transform:translateY(0)}.section-panel h2{font-size:clamp(43px,11vw,59px)}.section-panel .panel-lede{font-size:19px}.section-panel p{font-size:14px}.panel-index{margin-bottom:22px}}@media(max-width:370px){.section-dock button{font-size:8px}.object-marker{font-size:6px}.welcome h1{font-size:46px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
