@font-face{font-family:Silkscreen;src:url('fonts/silkscreen.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:dark;--void:#0B0E14;--hall:#141A24;--shelf:#1B2330;--stone:#2A3344;--frost:#8FA3B8;--ink:#E8EEF5;--ember:#F0A030;--ember-deep:#C45C18;--paper:#E9DFC7;--paper-ink:#302D2B;--paper-muted:#625849;--brass:#A98B56;--overlay:rgba(7,12,20,.78);--pixel:Silkscreen,monospace;--ease:cubic-bezier(.22,1,.36,1);--fast:160ms;--select:320ms;--turn:520ms;--arrival:800ms;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s20:80px;--meta:11px;--small:13px;--body:16px;--lead:18px;--title:clamp(24px,3vw,40px);--header:76px}
*{box-sizing:border-box}body{margin:0;background:var(--void);color:var(--ink);font:var(--body)/1.65 system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-underline-offset:4px}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--ember);outline-offset:5px}button:disabled{cursor:default;opacity:.42}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}button{color:inherit}main:focus{outline:none}.skip{position:fixed;top:8px;left:8px;z-index:100;padding:12px 20px;background:var(--ember);color:var(--void);transform:translateY(-150%)}.skip:focus{transform:none}
.world-header{height:var(--header);padding:0 var(--s8);display:flex;align-items:center;gap:var(--s8);border-bottom:1px solid var(--stone);background:var(--void);position:relative;z-index:5}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;font:14px/1.4 var(--pixel);white-space:nowrap}.wordmark img{width:48px;height:48px;image-rendering:pixelated}.wordmark small{display:block;color:var(--frost);font:9px/1.8 system-ui;letter-spacing:.16em;margin-top:4px}.quick-nav{display:flex;align-items:center;justify-content:center;gap:var(--s6);margin-left:auto}.quick-nav a{display:flex;gap:8px;align-items:center;text-decoration:none;white-space:nowrap;font-size:var(--small);min-height:44px;border-bottom:1px solid transparent}.quick-nav a span{font:10px var(--pixel);color:var(--brass)}.quick-nav a:hover,.quick-nav a[aria-current]{color:var(--ember);border-color:var(--ember)}.control,.icon-button{background:var(--hall);border:1px solid var(--stone);padding:12px 16px;min-height:44px;color:var(--ink);font-size:var(--small);transition:transform var(--fast),border-color var(--fast)}.control:hover,.icon-button:hover{border-color:var(--brass);transform:translateY(-2px)}.control:active,.icon-button:active{transform:translateY(1px)}.sound-toggle{display:flex;align-items:center;gap:8px;white-space:nowrap;min-width:124px;justify-content:center}.sound-toggle[aria-pressed=true]{border-color:var(--brass);color:var(--ember)}
.scene{position:relative;height:calc(100svh - var(--header) - 100px);min-height:620px;isolation:isolate;overflow:hidden;background:var(--hall)}.scene-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;z-index:-3;transform:scale(1.025);transition:transform var(--arrival) var(--ease),opacity var(--select)}.scene-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,12,20,.58),transparent 65%),linear-gradient(0deg,rgba(7,12,20,.76),transparent 28%,transparent 80%,rgba(7,12,20,.3));pointer-events:none}.scene[data-room=entrance] .scene-shade{background:linear-gradient(90deg,rgba(7,12,20,.88),rgba(7,12,20,.25) 45%,transparent 72%),linear-gradient(0deg,rgba(7,12,20,.5),transparent 26%)}.scene-foreground{position:absolute;inset:0;animation:arrive var(--arrival) var(--ease)}.entrance-copy{position:absolute;left:7%;top:50%;transform:translateY(-50%);max-width:570px}.eyebrow{font:var(--meta)/1.5 var(--pixel);color:var(--brass);letter-spacing:.12em}.tiny-star{color:var(--ember);font-size:16px;margin-right:8px}.hero-logo{width:168px;height:168px;object-fit:contain;image-rendering:pixelated;margin:12px 0;mix-blend-mode:screen}.entrance-copy h1{font:clamp(24px,2.9vw,42px)/1.35 var(--pixel);letter-spacing:-.04em;max-width:600px}.intro{color:var(--frost);font-size:var(--body);line-height:1.8;margin-top:20px}.entrance-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.primary-action{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:52px;padding:16px 24px;background:var(--ember);color:var(--void);font:12px var(--pixel);text-decoration:none;box-shadow:4px 4px 0 var(--ember-deep);transition:transform var(--fast) var(--ease),box-shadow var(--fast)}.primary-action:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ember-deep)}.primary-action:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ember-deep)}.quiet-action{font-size:var(--small);color:var(--ink);min-height:44px;display:inline-flex;align-items:center}.scene-link{position:absolute;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:140px;min-height:72px;justify-content:end;transition:transform var(--select) var(--ease);font:10px var(--pixel);color:var(--ink)}.scene-link>span:last-child{padding:12px 16px;border:1px solid var(--brass);background:var(--overlay);box-shadow:0 4px 20px #0008}.scene-link:hover{transform:translateY(-6px)}.scene-link:hover>span:last-child{color:var(--ember)}.hotspot-dot{width:12px;height:12px;border:1px solid var(--ember);transform:rotate(45deg);box-shadow:0 0 20px var(--ember);background:var(--hall)}.entrance-door{left:71%;top:49%}.scene-corner{position:absolute;width:28px;height:28px;border-color:var(--brass);border-style:solid;opacity:.65;pointer-events:none}.corner-top{left:24px;top:24px;border-width:1px 0 0 1px}.corner-bottom{right:24px;bottom:24px;border-width:0 1px 1px 0}.room-coordinate{position:absolute;right:32px;top:28px;font:10px var(--pixel);color:var(--ink);letter-spacing:.1em;text-shadow:0 2px 8px #000}.room-caption{position:absolute;left:5%;top:6%;max-width:480px;text-shadow:0 2px 16px #000}.room-caption h1{font:var(--title)/1.3 var(--pixel);letter-spacing:-.04em;margin:12px 0}.room-caption .room-description{font-size:14px;color:var(--ink);max-width:370px;line-height:1.7}.room-caption .eyebrow{color:var(--ember)}
.room-ledger{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:12px 32px;border-block:1px solid var(--stone);font-size:var(--small);background:var(--hall)}.room-ledger p{color:var(--frost);display:flex;align-items:center;gap:12px}.ledger-dot{width:5px;height:5px;background:var(--ember);flex-shrink:0}.ledger-links{display:flex;gap:20px;flex-wrap:wrap}.ledger-links button{border:0;background:none;padding:8px 0;font-size:var(--small);text-decoration:underline;text-underline-offset:4px;min-height:44px}.room-ledger a{min-height:36px;display:inline-flex;align-items:center}.world-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:8px 32px;font-size:10px;letter-spacing:.05em;color:var(--frost)}.world-footer p{font-style:italic;letter-spacing:0}.world-footer a{text-decoration:none}
@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.actor{position:absolute;left:var(--x);bottom:var(--y,12%);transform:translateX(-50%);padding:0;background:none;border:0;display:flex;align-items:center;flex-direction:column;width:clamp(130px,15vw,220px);z-index:3}.actor::before{content:'';position:absolute;bottom:26px;width:80%;height:22px;border-radius:50%;background:#0009;filter:blur(5px);z-index:-1}.actor img{height:clamp(200px,30vh,330px);width:100%;object-fit:contain;object-position:bottom;image-rendering:pixelated;filter:drop-shadow(2px 3px 0 #0007);transition:transform var(--select) var(--ease),filter var(--select)}.actor .actor-plaque{padding:8px 20px;background:var(--overlay);border:1px solid var(--brass);font:12px var(--pixel);margin-top:4px;min-width:112px;box-shadow:0 4px 14px #0007}.actor .actor-plaque small{display:block;font:9px/1.4 system-ui;letter-spacing:.12em;color:var(--frost);text-transform:uppercase;margin-top:4px}.actor:hover img,.actor:focus-visible img{transform:translateY(-5px);filter:drop-shadow(0 0 12px #F0A03055)}.actor:hover .actor-plaque{color:var(--ember)}.talk-symbol{position:absolute;right:18%;top:5%;width:28px;height:25px;background:var(--paper);color:var(--paper-ink);font:bold 14px monospace;border:2px solid var(--void);opacity:0;transform:translateY(8px);transition:opacity var(--fast),transform var(--fast)}.actor:hover .talk-symbol,.actor:focus-visible .talk-symbol{opacity:1;transform:none}.room-path{left:var(--x);top:var(--y);transform:translateX(-50%);min-height:80px}.room-path:hover{transform:translate(-50%,-6px)}.room-path span:last-child{white-space:nowrap}.back-path{position:absolute;left:32px;bottom:28px;z-index:4;color:var(--ink);font-size:var(--small);padding:8px 16px;background:var(--overlay);border:1px solid var(--stone);text-decoration:none;min-height:44px;display:flex;align-items:center}
.rune-control{position:absolute;left:50%;bottom:13%;transform:translateX(-50%);width:150px;height:110px;background:none;border:0;color:var(--frost);z-index:2}.rune{display:block;width:108px;height:70px;margin:auto;position:relative;transform:perspective(200px) rotateX(40deg);filter:drop-shadow(0 0 8px #8FA3B888)}.rune i{position:absolute;inset:0;border:2px solid var(--frost);border-radius:50%;border-top-color:transparent;border-left-color:transparent;transform:rotate(35deg);transition:transform .8s var(--ease),border-color .3s}.rune i:nth-child(2){inset:12px;transform:rotate(110deg)}.rune i:nth-child(3){inset:24px;transform:rotate(-90deg);border-radius:0}.rune-control.active .rune i{transform:rotate(0);border-color:var(--ember);filter:drop-shadow(0 0 6px var(--ember))}.rune-control>span:last-child{font:9px var(--pixel);display:block;margin-top:12px;padding:6px;background:var(--overlay)}.tool{position:absolute;left:var(--x);top:var(--y);z-index:4;padding:10px 12px;background:var(--overlay);border:1px solid var(--brass);font:10px var(--pixel);display:flex;align-items:center;gap:8px;min-height:44px}.tool svg{width:24px;height:24px;fill:none;stroke:var(--ember);stroke-width:1.5}.tool.active{color:var(--ember)}.tool-marks{position:absolute;bottom:100%;left:0;display:flex;gap:4px;pointer-events:none}.tool-marks i{width:8px;height:8px;background:var(--ember);animation:mark 1.2s var(--ease) both}.tool-marks i:nth-child(2){animation-delay:80ms}.tool-marks i:nth-child(3){animation-delay:160ms}@keyframes mark{0%{opacity:0;transform:translateY(8px) rotate(0)}25%,65%{opacity:1}100%{opacity:0;transform:translateY(-36px) rotate(90deg)}}
.library-books{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);display:flex;gap:64px;perspective:1200px;z-index:4}.volume{position:relative;width:178px;height:236px;background:none;border:0;padding:0;perspective:1000px;color:var(--paper);text-align:center}.volume-cover{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;justify-content:space-between;padding:20px 16px 24px;border:2px solid var(--brass);border-left:10px solid #302D2B;background:linear-gradient(120deg,var(--hall),var(--stone));box-shadow:5px 4px 0 var(--paper-muted),8px 8px 0 #0007,inset 0 0 0 5px var(--hall);transform:rotateY(-12deg) rotateZ(-3deg);transform-origin:left center;transition:transform var(--select) var(--ease),box-shadow var(--select);z-index:2}.volume:nth-child(2) .volume-cover{transform:rotateY(-12deg) rotateZ(3deg);background:linear-gradient(125deg,#3c3430,#1e292b)}.volume:hover .volume-cover,.volume:focus-visible .volume-cover,.volume.selected .volume-cover{transform:translateY(-14px) rotateY(-20deg) rotateZ(0);box-shadow:5px 4px 0 var(--paper-muted),14px 22px 20px #0009,inset 0 0 0 5px var(--hall)}.volume-cover .volume-number{font:9px var(--pixel);letter-spacing:.15em;color:var(--brass)}.volume-cover strong{font:17px/1.45 var(--pixel);letter-spacing:-.04em}.volume-cover small{font:9px/1.4 system-ui;letter-spacing:.12em;text-transform:uppercase;color:var(--paper)}.book-ribbon{position:absolute;right:22px;top:5px;width:20px;height:50px;background:var(--ember);clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);transition:transform var(--select) var(--ease)}.volume:hover .book-ribbon,.volume:focus-visible .book-ribbon,.volume.selected .book-ribbon{transform:translateY(-36px)}.cover-sigil{width:64px;height:64px;color:var(--brass);fill:none;stroke:currentColor;stroke-width:1.3}.volume-caption{position:absolute;top:calc(100% + 18px);left:-20px;right:-20px;font:10px var(--pixel);text-shadow:0 2px 5px #000;color:var(--ink)}.volume-caption span{color:var(--ember)}
.portal-row{position:absolute;inset:35% 10% 23% 9%;display:grid;grid-template-columns:repeat(4,1fr);gap:4%;z-index:2}.outbound-portal{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-decoration:none;position:relative;transition:transform var(--select) var(--ease)}.portal-glyph{height:44px;width:44px;display:grid;place-items:center;border:1px solid var(--brass);background:var(--overlay);transform:rotate(45deg);box-shadow:0 0 26px #F0A03022}.portal-glyph svg{width:22px;height:22px;fill:none;stroke:var(--ember);stroke-width:1.4;transform:rotate(-45deg)}.outbound-portal strong{font:12px var(--pixel);padding:10px 16px;background:var(--overlay);border:1px solid var(--brass)}.outbound-portal small{font:10px system-ui;color:var(--ink);background:var(--overlay);padding:4px 8px}.outbound-portal:hover{transform:translateY(-6px)}.outbound-portal:hover .portal-glyph{box-shadow:0 0 40px #F0A03088}.outbound-portal:hover strong{color:var(--ember)}
dialog{border:1px solid var(--brass);padding:0;color:var(--ink);background:var(--hall);max-height:92svh;box-shadow:0 24px 100px #000b}dialog::backdrop{background:rgba(7,12,20,.82);backdrop-filter:blur(5px)}dialog[open]{animation:arrive var(--select) var(--ease)}#book-dialog{width:min(1120px,94vw);max-width:1120px;overflow:auto;border:0;background:transparent;box-shadow:none}.reader-shell{padding:4px}.reader-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 4px 20px}.reader-top h2{font:clamp(18px,2.4vw,28px)/1.4 var(--pixel);margin-top:4px}.reader-top .page-section{color:var(--brass)}.icon-button{min-width:44px;font-size:24px;line-height:1}.reader-tabs{display:flex;gap:8px;padding-left:28px;position:relative;z-index:4}.reader-tabs .control{background:var(--shelf);border-color:var(--brass);border-bottom:0;min-width:136px;padding:12px 20px}.reader-tabs .active{background:var(--ember);color:var(--void);transform:translateY(-6px);box-shadow:0 6px 0 var(--ember)}.book-spread{display:flex;position:relative;perspective:1400px;background:var(--paper);border:6px solid var(--paper-muted);box-shadow:0 5px 0 var(--brass),0 9px 0 var(--paper-muted),0 20px 50px #0007;min-height:430px;color:var(--paper-ink)}.book-page{position:relative;width:50%;flex-shrink:0;min-height:430px;padding:32px 40px 56px;background:linear-gradient(90deg,#d3c7ac,var(--paper) 8%,var(--paper) 92%,#d3c7ac);font:16px/1.7 Georgia,serif;display:flex;flex-direction:column;gap:16px}.book-page.left-page{border-right:1px solid #a99e87;background:linear-gradient(90deg,var(--paper) 86%,#c4b79a)}.book-page.right-page{background:linear-gradient(90deg,#bcb096,var(--paper) 12%)}.page-section{font:10px/1.5 var(--pixel);letter-spacing:.08em;color:var(--paper-muted)}.page-title{font:clamp(23px,2.5vw,32px)/1.2 Georgia,serif;font-weight:normal;letter-spacing:-.03em}.page-body p+p{margin-top:12px}.page-note{font:italic 12px/1.6 Georgia,serif;color:var(--paper-muted);border-top:1px solid #bdb196;padding-top:12px;margin-top:auto}.page-number{position:absolute;bottom:18px;left:40px;font:10px var(--pixel);color:var(--paper-muted)}.right-page .page-number{left:auto;right:40px}.page-link{font:13px/1.6 system-ui;color:var(--paper-ink);font-weight:600;min-height:44px;display:flex;align-items:center}.book-diagram{list-style:none;margin:0;padding:14px 0;display:flex;gap:16px;border-block:1px solid #bdb196}.book-diagram li{flex:1;display:flex;flex-direction:column;gap:8px;position:relative}.book-diagram li+li:before{content:'→';position:absolute;left:-16px;top:8px;color:var(--paper-muted)}.diagram-mark{font:16px var(--pixel);color:var(--paper-muted)}.diagram-label{font:10px/1.5 system-ui}.reader-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 4px 4px}.page-progress{font:10px var(--pixel);color:var(--frost)}.page-nav{display:flex;gap:8px}.page-nav .control{min-width:108px}.turning-leaf{box-shadow:12px 0 32px #0004}
#staff-dialog{width:min(860px,94vw);max-width:860px}.conversation{display:grid;grid-template-columns:38% 1fr;position:relative;min-height:350px}.conversation-close{position:absolute;right:12px;top:12px;z-index:2}.conversation-portrait{background:radial-gradient(ellipse at bottom,var(--stone),var(--void));display:flex;align-items:end;overflow:hidden;border-right:1px solid var(--brass)}.conversation-portrait img{width:100%;height:100%;object-fit:contain;object-position:bottom;image-rendering:pixelated}.conversation-content{padding:48px 32px 32px;display:flex;flex-direction:column;align-items:start}.conversation-content h2{font:28px var(--pixel);margin:12px 0 24px}.conversation-line{font-size:16px;line-height:1.8;color:var(--ink);min-height:86px}.conversation-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.conversation-options button,.conversation-options a{font-size:12px;min-height:44px;text-decoration:none}.conversation-options a{display:inline-flex;align-items:center}.notice{position:fixed;bottom:32px;left:50%;transform:translate(-50%,16px);opacity:0;pointer-events:none;z-index:30;padding:16px 24px;border:1px solid var(--brass);background:var(--hall);font-size:13px;max-width:calc(100% - 32px);width:max-content;transition:opacity var(--select),transform var(--select);box-shadow:0 8px 32px #0009}.notice.visible{opacity:1;transform:translate(-50%,0)}.noscript-records{padding:32px;display:flex;flex-wrap:wrap;gap:24px}.page-hidden *{animation-play-state:paused!important}
@media(max-width:1050px){.world-header{padding:0 20px;gap:16px}.quick-nav{gap:16px}.wordmark small{display:none}.wordmark{font-size:11px}.sound-toggle{min-width:44px;padding:12px}.sound-toggle span{display:none}.entrance-copy{left:5%;max-width:480px}.room-coordinate{font-size:8px}.actor{width:160px}.library-books{gap:36px}.volume{width:150px;height:206px}.book-page{padding:28px 28px 52px}.room-ledger{padding:12px 20px}.portal-row{inset-inline:3% 12%}.outbound-portal strong{font-size:10px;padding:10px}.outbound-portal small{max-width:120px;text-align:center}}
@media(max-width:700px){:root{--header:116px}.world-header{height:var(--header);padding:12px 16px 0;display:grid;grid-template-columns:1fr auto;gap:4px 16px}.wordmark{font-size:12px}.wordmark img{width:36px;height:36px}.quick-nav{grid-column:1/-1;grid-row:2;margin:0;justify-content:space-between;gap:8px}.quick-nav a{font-size:11px;gap:5px}.quick-nav a span{font-size:8px}.sound-toggle{grid-column:2;grid-row:1;min-height:40px;padding:8px}.scene{min-height:680px;height:calc(100svh - var(--header));max-height:900px}.scene[data-room=entrance]{min-height:700px}.scene-art{object-position:center}.scene[data-room=entrance] .scene-art{object-position:60% center}.scene[data-room=entrance] .scene-shade{background:linear-gradient(0deg,rgba(7,12,20,.95),rgba(7,12,20,.66) 45%,transparent 90%)}.entrance-copy{left:24px;right:24px;top:auto;bottom:52px;transform:none;max-width:none}.entrance-copy .eyebrow{font-size:8px}.hero-logo{width:100px;height:100px;margin:12px 0}.entrance-copy h1{font-size:25px;line-height:1.4}.intro{font-size:14px;margin-top:16px}.entrance-actions{gap:20px;align-items:start;flex-direction:column;margin-top:24px}.primary-action{font-size:10px;min-height:48px;padding:16px 20px;gap:24px}.quiet-action{font-size:12px;min-height:32px}.entrance-door{display:none}.room-coordinate{right:20px;top:20px;font-size:7px}.scene-corner{width:16px;height:16px}.corner-top{left:12px;top:12px}.corner-bottom{right:12px;bottom:12px}.room-caption{left:24px;top:60px;right:24px;max-width:none}.room-caption h1{font-size:26px;margin:8px 0}.room-caption .eyebrow{font-size:9px}.room-caption .room-description{font-size:13px;max-width:270px}.actor{width:130px;bottom:15%;left:var(--mobile-x,var(--x))}.actor img{height:225px}.actor .actor-plaque{font-size:11px;min-width:104px;padding:8px 12px}.actor .actor-plaque small{font-size:8px}.room-path{top:35%;left:var(--mobile-x,var(--x));min-width:0}.room-path span:last-child{font-size:8px;padding:10px}.room-path .hotspot-dot{width:8px;height:8px}.room-path{min-height:64px}.rune-control{bottom:7%;width:108px;height:76px}.rune{width:80px;height:46px}.rune-control>span:last-child{font-size:7px}.tool{left:var(--mobile-x,var(--x));top:var(--mobile-y,var(--y));font-size:8px;padding:8px;gap:4px}.tool svg{width:16px;height:16px}.back-path{left:16px;bottom:18px;font-size:11px;padding:8px 12px}.room-ledger{display:block;padding:16px 20px;font-size:12px}.ledger-links{gap:20px;margin-top:4px}.ledger-links button{font-size:12px}.world-footer{padding:16px 20px;flex-wrap:wrap;font-size:9px;gap:12px}.world-footer p{display:none}.library-books{left:43%;bottom:15%;gap:24px}.volume{width:116px;height:172px}.volume-cover{padding:12px 8px 16px;border-left-width:6px}.volume-cover strong{font-size:12px}.volume-cover small{font-size:7px}.volume-cover .volume-number{font-size:7px}.cover-sigil{width:44px;height:44px}.volume-caption{font-size:7px;top:calc(100% + 16px)}.scene[data-room=library] .actor{left:78%;bottom:42%;width:115px}.scene[data-room=library] .actor img{height:170px}.scene[data-room=library] .tool{top:39%;left:8%}.portal-row{inset:31% 24% 26% 6%;grid-template-columns:1fr 1fr;gap:16px 8px}.outbound-portal{gap:8px}.portal-glyph{width:32px;height:32px}.portal-glyph svg{width:18px;height:18px}.outbound-portal strong{font-size:8px}.outbound-portal small{font-size:9px}.scene[data-room=doors] .actor{left:84%;bottom:8%;width:106px}.scene[data-room=doors] .actor img{height:190px}#book-dialog{width:calc(100vw - 20px);max-height:95svh}.reader-top{padding-bottom:16px}.reader-top h2{font-size:17px}.reader-top .page-section{font-size:8px}.reader-tabs{padding-left:12px}.reader-tabs .control{min-width:116px;font-size:11px;padding:10px 16px}.book-spread{min-height:430px;border-width:4px}.book-page{width:100%;min-height:430px;padding:28px 24px 48px;gap:16px;font-size:16px}.book-page.left-page{background:var(--paper);border:0}.page-title{font-size:27px}.page-note{font-size:12px}.page-number{left:24px;bottom:16px}.reader-bottom{padding-top:20px;flex-wrap:wrap}.page-progress{font-size:8px}.page-nav .control{min-width:84px;padding:10px;font-size:11px}.conversation{grid-template-columns:1fr}.conversation-portrait{height:190px;border-right:0;border-bottom:1px solid var(--brass)}.conversation-portrait img{height:240px;object-fit:contain;object-position:center top}.conversation-content{padding:24px}.conversation-content h2{font-size:24px;margin:8px 0 16px}.conversation-line{min-height:0;font-size:15px}.conversation-options{margin-top:20px}.notice{bottom:16px;font-size:12px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scene-art{transform:none!important}.volume:hover .volume-cover,.volume:focus-visible .volume-cover,.actor:hover img,.actor:focus-visible img{transform:none}.scene-link:hover,.outbound-portal:hover,.control:hover,.primary-action:hover{transform:none}.room-path:hover{transform:translateX(-50%)}}
@keyframes open-book{from{opacity:0;transform:perspective(1400px) rotateX(12deg) scale(.88)}to{opacity:1;transform:perspective(1400px) rotateX(0) scale(1)}}#book-dialog[open] .book-spread{animation:open-book var(--turn) var(--ease);transform-origin:center bottom}
.world-header{position:sticky;top:0}#room-title{scroll-margin-top:calc(var(--header) + 24px)}
@media(max-width:700px){.conversation-portrait{align-items:center}.conversation-portrait img{height:190px;object-position:center}}
@media(min-width:701px){.portal-row{right:22%}.scene[data-room=doors] .actor{width:clamp(120px,14vw,180px);left:90%}}
@font-face{font-family:NeoDunggeunmo;src:url('fonts/neodgm.woff2') format('woff2');font-weight:400;font-display:swap}
.header-controls,.reader-actions{display:flex;align-items:center;gap:8px}.language-toggle{font-size:12px;min-width:76px;white-space:nowrap}.conversation-language{position:absolute;left:12px;top:12px;z-index:2}.scene-weather{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-2;display:none}.scene[data-room=entrance] .scene-weather{display:block}.snowflake{position:absolute;top:-5%;left:var(--left);height:var(--size);width:var(--size);background:var(--ink);opacity:.65;animation:snow-drift var(--cycle) linear var(--delay) infinite}.snowflake:nth-child(3n){opacity:.28}.aurora-veil{position:absolute;left:-15%;top:-16%;width:85%;height:70%;background:repeating-linear-gradient(105deg,transparent 0 10%,rgba(72,164,164,.14) 12%,rgba(83,140,160,.22) 16%,transparent 23%);filter:blur(18px);transform-origin:top left;mask-image:linear-gradient(black,transparent);animation:aurora-drift 16s ease-in-out infinite alternate;mix-blend-mode:screen}.hearth-glow{position:absolute;left:72%;top:45%;width:14%;height:28%;background:radial-gradient(ellipse,rgba(240,160,48,.22),transparent 65%);mix-blend-mode:screen;animation:hearth-breath 4s ease-in-out infinite alternate}.motion-toggle{position:absolute;right:24px;bottom:20px;z-index:4;font-size:11px;background:var(--overlay)}.motion-toggle[hidden]{display:none}.motion-paused .scene-weather *{animation-play-state:paused!important}
@keyframes snow-drift{from{transform:translate(0,-20px)}to{transform:translate(-180px,115vh)}}@keyframes aurora-drift{from{transform:translateX(-2%) skewX(-9deg);opacity:.35}to{transform:translateX(7%) skewX(6deg);opacity:.9}}@keyframes hearth-breath{from{opacity:.35;transform:scale(.94)}to{opacity:.8;transform:scale(1.04)}}
html:lang(ko){--pixel:NeoDunggeunmo,monospace}html:lang(ko) body{word-break:keep-all;overflow-wrap:break-word}html:lang(ko) .entrance-copy h1{font-size:clamp(28px,3.4vw,46px);letter-spacing:0;line-height:1.45}html:lang(ko) .eyebrow,html:lang(ko) .room-coordinate{letter-spacing:.03em}html:lang(ko) .book-page{font-family:system-ui,'Malgun Gothic',sans-serif;line-height:1.85}html:lang(ko) .page-title{font-family:var(--pixel);font-size:28px;line-height:1.4;letter-spacing:0}html:lang(ko) .page-note{font-family:inherit;font-style:normal;line-height:1.75}html:lang(ko) .page-section,html:lang(ko) .volume-number{font-size:12px}html:lang(ko) .actor-plaque small{font-size:11px;letter-spacing:0}html:lang(ko) .wordmark small{font-size:11px}html:lang(ko) .volume-cover strong{font-size:20px;letter-spacing:0}html:lang(ko) .volume-cover small{font-size:11px}
@media(max-width:1050px){.world-header{gap:16px}.language-toggle{min-width:70px;padding:10px}.header-controls{gap:6px}}
@media(max-width:700px){.header-controls{grid-column:2;grid-row:1}.header-controls .sound-toggle{min-height:40px}.header-controls .language-toggle{min-height:40px;font-size:11px;padding:8px;min-width:64px}.reader-actions{gap:6px}.reader-actions .language-toggle{min-width:64px;padding:10px 8px;font-size:11px}.reader-top h2{font-size:16px}.motion-toggle{bottom:12px;right:20px;font-size:10px;padding:8px 12px;min-height:36px}.entrance-copy{bottom:68px}.entrance-actions{margin-top:20px}.aurora-veil{height:50%;width:120%;left:-35%}.hearth-glow{left:68%;top:44%;width:28%;height:20%}html:lang(ko) .entrance-copy h1{font-size:30px;line-height:1.45}html:lang(ko) .room-caption .eyebrow{font-size:11px}html:lang(ko) .actor-plaque small{font-size:10px}html:lang(ko) .volume-cover strong{font-size:16px}html:lang(ko) .volume-cover small{font-size:9px}html:lang(ko) .volume-number{font-size:10px}html:lang(ko) .volume-caption{font-size:10px}html:lang(ko) .room-path span:last-child{font-size:11px}html:lang(ko) .tool{font-size:11px}html:lang(ko) .reader-top .page-section{font-size:10px}html:lang(ko) .page-title{font-size:26px}html:lang(ko) .page-progress{font-size:11px}html:lang(ko) .rune-control>span:last-child{font-size:10px}html:lang(ko) .outbound-portal strong{font-size:11px}html:lang(ko) .outbound-portal small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.scene-weather *{animation:none!important}.snowflake{display:none}.aurora-veil{opacity:.3}.hearth-glow{opacity:.3}.motion-toggle{display:block}}
.scene.motion-opt-in .snowflake{display:block;animation:snow-drift var(--cycle) linear var(--delay) infinite!important}.scene.motion-opt-in .aurora-veil{animation:aurora-drift 16s ease-in-out infinite alternate!important}.scene.motion-opt-in .hearth-glow{animation:hearth-breath 4s ease-in-out infinite alternate!important}.scene.motion-paused .scene-weather *,.page-hidden .scene .scene-weather *{animation-play-state:paused!important}
