:root{--ink: #07070a;--deep: #0d0c10;--surface: #13121a;--muted: #1e1c28;--paper: #f0e6d3;--paper-dim: #c8bba8;--paper-ghost: rgba(240,230,211,.07);--paper-ghost2: rgba(240,230,211,.04);--vermillion: #bf2929;--vermillion-text: #da5252;--vermillion-text-on-tint: #de6161;--vermillion-soft: rgba(191,41,41,.18);--vermillion-glow: rgba(191,41,41,.35);--gold: #c9a356;--gold-soft: rgba(201,163,86,.15);--teal: #3a8c8c;--teal-soft: rgba(58,140,140,.15);--violet: #7a5cbf;--violet-soft: rgba(122,92,191,.15);--violet-text: #8b72c7;--violet-text-on-tint: #957ecc;--room-1: #bf2929;--room-2: #c9a356;--room-3: #3a8c8c;--room-4: #7a5cbf;--border: rgba(240,230,211,.09);--border-strong: rgba(240,230,211,.2);--serif: "EB Garamond", Georgia, serif;--cjk: "Noto Serif SC", "EB Garamond", serif;--mono: "Space Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--ink);color:var(--paper);font-family:var(--serif);font-size:18px;line-height:1.7;cursor:crosshair}::selection{background:var(--vermillion);color:var(--paper)}section{position:relative}@keyframes fillBar{to{width:100%}}@keyframes fadeIn{to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseChar{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}@keyframes entryRingPulse{0%,to{opacity:0;transform:scale(.97)}50%{opacity:1;transform:scale(1.02)}}@keyframes shakeGlyph{0%,to{transform:translate(0)}15%{transform:translate(-8px) rotate(-2deg)}30%{transform:translate(8px) rotate(2deg)}45%{transform:translate(-6px)}60%{transform:translate(6px)}75%{transform:translate(-3px)}}@keyframes pulseGold{0%{text-shadow:0 0 0 rgba(201,163,86,0)}50%{text-shadow:0 0 40px rgba(201,163,86,.6)}to{text-shadow:0 0 0 rgba(201,163,86,0)}}@keyframes scanDown{0%{top:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal.delay-1{transition-delay:.12s}.reveal.delay-2{transition-delay:.24s}.reveal.delay-3{transition-delay:.36s}@media (prefers-reduced-motion: reduce){.reveal,.timeline-item{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}.section-label{font-family:var(--mono);font-size:.58rem;letter-spacing:.35em;text-transform:uppercase;color:var(--vermillion-text);margin-bottom:1.5rem;display:flex;align-items:center;gap:.8rem}.section-label:before{content:"";display:block;width:20px;height:1px;background:var(--vermillion)}.section-label.gold{color:var(--gold)}.section-label.gold:before{background:var(--gold)}.section-label.teal{color:var(--teal)}.section-label.teal:before{background:var(--teal)}.section-label.violet{color:var(--violet-text)}.section-label.violet:before{background:var(--violet)}:focus-visible{outline:2px solid var(--vermillion);outline-offset:3px}.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}#loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .8s ease,visibility .8s ease}#loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-chars{font-family:var(--cjk);font-size:clamp(2rem,6vw,4rem);color:var(--paper);letter-spacing:.2em;opacity:0;animation:fadeIn 3s ease forwards .5s}.loader-sub{font-family:var(--mono);font-size:.65rem;color:var(--paper-dim);letter-spacing:.35em;text-transform:uppercase;margin-top:1.5rem;opacity:0;animation:fadeIn 1s ease forwards 2.5s}.loader-bar{width:200px;height:1px;background:var(--border);margin-top:2rem;overflow:hidden;opacity:0;animation:fadeIn .5s ease forwards 1.5s}.loader-bar-fill{height:100%;background:var(--vermillion);width:0%;animation:fillBar 2s ease forwards 1.5s}.cursor-dot{position:fixed;width:6px;height:6px;background:var(--vermillion);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .1s,background .2s}.cursor-dot.on-entry{background:var(--paper);transform:translate(-50%,-50%) scale(2.5)}#progress-bar{position:fixed;top:0;left:0;height:2px;background:var(--vermillion);z-index:500;width:0%;transition:width .1s}.context-back-link-wrap{display:flex;align-items:center;margin:0 0 1.5rem}.context-back-link-wrap .back-btn{border-color:var(--border-strong);background:var(--paper-ghost2)}nav#nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:1.2rem 2.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:linear-gradient(to bottom,rgba(7,7,10,.95) 0%,transparent 100%);transition:background .3s}nav#nav.scrolled{background:#07070af7;border-bottom:1px solid var(--border)}.nav-brand{font-family:var(--cjk);font-size:1rem;letter-spacing:.08em;color:var(--paper);text-decoration:none;display:flex;align-items:center;gap:.8rem}.nav-brand-mark{width:28px;height:28px;border:1px solid var(--vermillion);display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--vermillion-text);font-family:var(--cjk)}.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}.nav-links a{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-dim);text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--paper)}.nav-right{display:flex;justify-content:flex-end;align-items:center}#nav-room-indicator{display:flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;padding:.35rem .8rem;border:1px solid var(--vermillion);color:var(--vermillion-text);opacity:0;transition:opacity .4s,border-color .4s,color .4s;white-space:nowrap}#nav-room-indicator.visible{opacity:1}#nav-room-indicator:before{content:"→";font-size:.5rem;opacity:.7}#minimap{position:fixed;right:1.5rem;top:50%;transform:translateY(-50%);z-index:300;display:flex;flex-direction:column;gap:20px;align-items:center}.mm-dot{width:5px;height:5px;border-radius:50%;background:var(--border-strong);transition:all .3s;cursor:crosshair;position:relative}.mm-dot.active{background:var(--vermillion);transform:scale(1.6)}.mm-dot[data-target=room-sky].active{background:var(--room-1)}.mm-dot[data-target=room-english].active{background:var(--room-2)}.mm-dot[data-target=room-square].active{background:var(--room-3)}.mm-dot[data-label]:hover:after{content:attr(data-label);position:absolute;right:14px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:.48rem;letter-spacing:.1em;color:var(--paper-dim);white-space:nowrap;background:var(--deep);padding:.2rem .5rem;border:1px solid var(--border);pointer-events:none}.breadcrumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.15em;color:var(--paper-dim);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;opacity:1}.breadcrumb a{color:var(--paper-dim);text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:var(--paper)}.breadcrumb-sep{opacity:.4}.breadcrumb-current{color:var(--paper)}.back-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--paper-dim);text-decoration:none;border:1px solid var(--border);padding:.5rem 1rem;transition:all .2s;cursor:crosshair;min-height:44px;margin-bottom:2rem}.back-btn:hover{border-color:var(--border-strong);color:var(--paper)}.glyph-btn{background:none;border:1px solid var(--border-strong);color:var(--paper-dim);font-family:var(--mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:.7rem 1.2rem;cursor:crosshair;transition:all .2s;min-height:44px}.glyph-btn:hover,.glyph-btn.active{background:var(--paper-ghost);border-color:var(--paper);color:var(--paper)}.glyph-btn.danger{border-color:var(--vermillion);color:var(--vermillion-text)}.glyph-btn.danger:hover{background:var(--vermillion-soft);color:var(--vermillion-text-on-tint)}.glyph-btn.success{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}.glyph-btn.fail{border-color:var(--vermillion);color:var(--vermillion-text-on-tint);background:var(--vermillion-soft)}blockquote{border-left:2px solid var(--vermillion);padding:1.5rem 2rem;margin:2rem 0;background:var(--paper-ghost);font-style:italic;font-size:1.1rem;line-height:1.8;color:var(--paper)}blockquote cite{display:block;font-style:normal;font-family:var(--mono);font-size:.6rem;letter-spacing:.15em;color:var(--paper-dim);margin-top:1rem}.artwork-tag{display:inline-block;font-family:var(--mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--border);padding:.35rem .7rem;margin:.3rem .3rem 0 0;color:var(--paper-dim)}.artwork-card{border:1px solid var(--border);overflow:hidden;background:var(--surface)}.artwork-visual{min-height:260px;background:var(--muted);display:flex;align-items:center;justify-content:center;overflow:hidden}.char-matrix{display:grid;grid-template-columns:repeat(8,1fr);width:100%;padding:1rem;gap:0}.char-matrix span{font-family:var(--cjk);font-size:clamp(1rem,2vw,1.3rem);color:#f0e6d359;display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid rgba(240,230,211,.05);transition:all .3s;cursor:crosshair}.char-matrix span:hover{color:var(--paper);background:var(--paper-ghost)}.char-matrix span.dim{opacity:.25}.char-matrix span.highlight{color:var(--vermillion-text);border-color:#bf292933}.artwork-info{padding:1.5rem}.artwork-title{font-family:var(--cjk);font-size:.95rem;margin-bottom:.5rem}.artwork-meta-line{font-family:var(--mono);font-size:.55rem;letter-spacing:.1em;color:var(--paper-dim);margin-bottom:.8rem}.artwork-desc{font-size:.85rem;color:var(--paper-dim);line-height:1.7}.glyph-stage{background:var(--surface);border:1px solid var(--border);padding:3rem 2rem;margin-bottom:2rem;position:relative;overflow:hidden}.glyph-stage-meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:2rem}.glyph-display{font-family:var(--cjk);font-size:clamp(4rem,12vw,8rem);color:var(--paper);line-height:1;margin-bottom:1.5rem;transition:opacity .3s,transform .3s,color .4s;min-height:1em;display:flex;align-items:center;justify-content:center}.glyph-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;max-width:400px;margin:0 auto}.glyph-option-btn{background:#f0e6d306;border:1px solid var(--border-strong);color:var(--paper-dim);font-family:var(--mono);font-size:.7rem;letter-spacing:.15em;padding:1rem;cursor:crosshair;transition:all .2s;min-height:56px}.glyph-option-btn:hover{background:var(--paper-ghost);border-color:var(--paper);color:var(--paper)}.glyph-option-btn:disabled{cursor:not-allowed}.glyph-option-btn.correct{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}.glyph-option-btn.wrong{border-color:var(--vermillion);color:var(--vermillion-text-on-tint);background:var(--vermillion-soft)}.glyph-option-btn.reveal{border-color:var(--border-strong);color:var(--paper-dim)}.glyph-status{font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;margin-top:1.5rem;min-height:1.2em;transition:color .4s}.glyph-status.neutral{color:var(--paper-dim)}.glyph-status.success{color:var(--gold)}.glyph-status.failure{color:var(--vermillion-text)}.glyph-status.resolved{color:var(--teal)}.glyph-result{background:var(--paper-ghost);border:1px solid var(--border);padding:1.2rem;margin-top:1rem;font-size:.88rem;color:var(--paper-dim);text-align:left;opacity:0;transition:opacity .4s;font-style:italic;line-height:1.7}.glyph-result.visible{opacity:1}.glyph-result strong{color:var(--paper);font-style:normal}.glyph-next-wrap{margin-top:2rem}.glyph-score{font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;color:var(--paper-dim);text-transform:uppercase}.glyph-display.shake{animation:shakeGlyph .5s ease}.glyph-display.correct{animation:pulseGold .8s ease;color:var(--gold)}.timeline-inner{max-width:900px;margin:0 auto}.timeline-header{margin-bottom:4rem}.timeline-header h2{font-family:var(--cjk);font-size:clamp(2rem,4vw,3rem);font-weight:300;margin-top:.8rem}.timeline-track{position:relative;padding-left:2.5rem}.timeline-track:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--border)}.timeline-item{position:relative;padding-bottom:3rem;padding-left:1.5rem;opacity:0;transform:translate(-20px);transition:opacity .6s ease,transform .6s ease}.timeline-item.visible{opacity:1;transform:translate(0)}.timeline-dot{position:absolute;left:-2.5rem;top:.4rem;width:8px;height:8px;border-radius:50%;background:var(--vermillion)}.timeline-dot.gold{background:var(--gold)}.timeline-dot.teal{background:var(--teal)}.timeline-year{font-family:var(--mono);font-size:.65rem;letter-spacing:.2em;color:var(--vermillion-text);margin-bottom:.5rem}.timeline-event{font-family:var(--cjk);font-size:1.1rem;margin-bottom:.4rem}.timeline-detail{font-size:.88rem;color:var(--paper-dim);line-height:1.7}.timeline-theory-link{display:inline-block;font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-text);border:1px solid rgba(122,92,191,.3);padding:.2rem .5rem;margin-top:.4rem;text-decoration:none;transition:all .2s}.timeline-theory-link:hover{background:var(--violet-soft);color:var(--violet-text-on-tint)}.authorship-tag{display:inline-block;font-family:var(--mono);font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;border:1px solid rgba(201,163,86,.3);color:var(--gold);opacity:.85;padding:.2rem .65rem;margin-bottom:.9rem;margin-top:.2rem}#nav-guard-notice{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--deep);border:1px solid var(--border-strong);font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-dim);padding:.6rem 1.6rem;z-index:9000;opacity:0;transition:opacity .35s ease;pointer-events:none;white-space:nowrap}#nav-guard-notice.visible{opacity:1}.theory-inner{max-width:800px;margin:0 auto}.theory-inner h2{font-family:var(--cjk);font-size:clamp(2rem,4vw,3rem);font-weight:300;margin:1rem 0 2.5rem}.theory-inner p{font-size:.95rem;color:var(--paper-dim);line-height:1.9;margin-bottom:1.2rem}.concept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);margin-top:3rem}.concept-cell{background:var(--deep);padding:2rem 1.5rem;opacity:0;transform:translateY(16px);transition:background .3s,opacity .5s ease,transform .5s ease}.concept-cell.revealed{opacity:1;transform:translateY(0)}.concept-cell:hover{background:var(--surface)}.concept-icon{font-family:var(--cjk);font-size:2rem;margin-bottom:1rem;display:block}.concept-name{font-family:var(--mono);font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--vermillion-text);margin-bottom:.6rem}.concept-def{font-size:.88rem;color:var(--paper-dim);line-height:1.7}.concept-timeline-link{display:inline-block;font-family:var(--mono);font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-top:.8rem;text-decoration:none;transition:color .2s}.concept-timeline-link:hover{color:var(--paper)}.concept-timeline-link:after{content:" →"}.theory-continue-wrap{margin-top:2rem;text-align:center}.theory-continue-btn{background:none;border:1px solid var(--border-strong);color:var(--paper-dim);font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:.8rem 2rem;cursor:crosshair;transition:all .2s;min-height:44px}.theory-continue-btn:hover{background:var(--paper-ghost);color:var(--paper);border-color:var(--paper)}.theory-meta-panel{margin-top:3rem;padding:2rem;border:1px solid var(--violet-soft);background:#7a5cbf0a;opacity:0;transition:opacity .6s ease}.theory-meta-panel.visible{opacity:1}.theory-meta-q{font-family:var(--cjk);font-size:1.2rem;font-weight:400;margin-bottom:1.2rem;color:var(--paper);font-style:italic}.theory-meta-body{font-size:.85rem;color:var(--paper-dim);line-height:1.8;margin-bottom:1.5rem}.theory-meta-checks{display:flex;gap:1rem;flex-wrap:wrap}.theory-check{font-family:var(--mono);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;padding:.5rem 1rem;min-height:44px;display:flex;align-items:center;gap:.5rem;text-decoration:none;transition:all .2s}.theory-check.done{border:1px solid var(--gold);color:var(--gold)}.theory-check.done:hover{background:var(--gold-soft)}.theory-check.pending{border:1px solid var(--border);color:var(--paper-dim)}.theory-check:before{content:"✓";font-size:.8em}.ar-sim-note{font-family:var(--mono);font-size:.48rem;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim);opacity:.62;margin-top:.7rem}.ar-preview{aspect-ratio:16/10;background:var(--surface);border:1px solid var(--border);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.ar-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr)}.ar-cell{border:1px solid rgba(240,230,211,.06);display:flex;align-items:center;justify-content:center;font-family:var(--cjk);font-size:1.2rem;color:#f0e6d326;transition:all .4s}.ar-cell.lit{background:#bf29291f;color:#bf2929b3;border-color:#bf292933}.ar-badge{position:absolute;top:1rem;left:1rem;font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);border:1px solid var(--teal);padding:.3rem .7rem}.ar-scan-line{position:absolute;width:100%;height:2px;background:linear-gradient(to right,transparent,rgba(58,140,140,.6),transparent);animation:scanDown 3s ease-in-out infinite;pointer-events:none}.ar-text h2{font-family:var(--cjk);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:300;margin:1rem 0 1.5rem}.ar-text p{font-size:.95rem;color:var(--paper-dim);line-height:1.9;margin-bottom:1rem}.ar-feature{display:flex;align-items:flex-start;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.ar-feature-icon{font-family:var(--cjk);font-size:1.5rem;flex-shrink:0;width:40px;text-align:center}.ar-feature-text{font-size:.88rem;color:var(--paper-dim);line-height:1.7}.ar-feature-text strong{color:var(--paper);font-style:italic}.prov-inner{max-width:900px;margin:0 auto}.prov-inner h2{font-family:var(--cjk);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:300;margin:1rem 0 2.5rem}.prov-table{width:100%;border-collapse:collapse;font-size:.85rem}.prov-table th{font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-dim);text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--border-strong)}.prov-table td{padding:1rem;border-bottom:1px solid var(--border);color:var(--paper-dim);line-height:1.5;vertical-align:top}.prov-table td:first-child{color:var(--paper);font-family:var(--cjk);font-size:.95rem}.prov-table tr:hover td{background:var(--paper-ghost2)}footer{padding:4rem 2rem;border-top:1px solid var(--border);background:var(--deep)}.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end}.footer-brand{font-family:var(--cjk);font-size:1.5rem;font-weight:300;margin-bottom:.8rem}.footer-meta{font-family:var(--mono);font-size:.58rem;color:var(--paper-dim);letter-spacing:.1em;line-height:1.9}.footer-right{text-align:right}.footer-note{font-family:var(--mono);font-size:.55rem;color:var(--paper-dim);line-height:1.7}#hero{min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:6rem 2rem 4rem}.pseudo-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));opacity:.03;pointer-events:none;overflow:hidden}.pseudo-char{font-family:var(--cjk);font-size:1.4rem;color:var(--paper);display:flex;align-items:center;justify-content:center;padding:10px;animation:pulseChar var(--dur,4s) ease-in-out infinite;animation-delay:var(--delay,0s)}.hero-inner{position:relative;z-index:2;text-align:center;max-width:900px}.hero-eyebrow{font-family:var(--mono);font-size:.6rem;letter-spacing:.4em;text-transform:uppercase;color:var(--vermillion-text);margin-bottom:2.5rem;display:flex;align-items:center;justify-content:center;gap:1rem}.hero-eyebrow:before,.hero-eyebrow:after{content:"";display:block;width:40px;height:1px;background:var(--vermillion);opacity:.6}.hero-title{font-family:var(--cjk);font-size:clamp(3.5rem,8vw,7rem);font-weight:300;line-height:1.05;letter-spacing:-.01em;margin-bottom:1rem}.hero-title span{display:block;font-size:clamp(1.2rem,3vw,2rem);font-weight:400;letter-spacing:.5em;margin-top:.8rem;color:var(--paper-dim);font-family:var(--mono)}.hero-subtitle{font-family:var(--serif);font-size:clamp(1rem,1.8vw,1.2rem);font-style:italic;color:var(--paper-dim);max-width:560px;margin:2.5rem auto;line-height:1.9}.hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.entry-rupture-wrap{position:relative;display:inline-flex;flex-direction:column;align-items:center}.entry-btn-pseudo{display:inline-flex;align-items:center;justify-content:center;min-width:80px;min-height:80px;border:1px solid var(--vermillion);background:var(--vermillion);font-family:var(--cjk);font-size:2.4rem;color:var(--paper);cursor:crosshair;text-decoration:none;transition:background .3s,transform .2s,box-shadow .3s;position:relative;overflow:hidden}.entry-btn-pseudo:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f0e6d31f;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.entry-btn-pseudo:hover:before{transform:scaleX(1)}.entry-btn-pseudo:hover{box-shadow:0 0 32px var(--vermillion-glow);transform:scale(1.04)}.entry-btn-pseudo:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid rgba(191,41,41,.28);animation:entryRingPulse 3.8s ease-in-out infinite;pointer-events:none}.entry-tooltip{font-family:var(--mono);font-size:.52rem;letter-spacing:.2em;color:var(--paper-dim);margin-top:.8rem;text-transform:uppercase;opacity:0;transition:opacity .8s ease}.entry-tooltip.revealed{opacity:1}.hero-cta-secondary{display:inline-flex;align-items:center;gap:.8rem;border:1px solid var(--border-strong);padding:.9rem 2rem;font-family:var(--mono);font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--paper);text-decoration:none;transition:all .3s;cursor:crosshair;min-height:44px}.hero-cta-secondary:hover{background:var(--paper-ghost);border-color:var(--paper)}.hero-scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:.55rem;letter-spacing:.3em;color:var(--paper-dim);text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.8rem}.scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--paper-dim),transparent);animation:scrollPulse 2s ease-in-out infinite}#artist{padding:8rem 2rem;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.artist-portrait{position:relative;aspect-ratio:3/4;background:var(--surface);border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center}.artist-portrait-inner{font-family:var(--cjk);font-size:8rem;color:#f0e6d35e;line-height:1;-webkit-user-select:none;user-select:none}.portrait-caption{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(to top,rgba(7,7,10,.95),transparent);font-family:var(--mono);font-size:.58rem;letter-spacing:.15em;color:var(--paper-dim)}.portrait-year{position:absolute;top:1rem;right:1rem;font-family:var(--mono);font-size:.58rem;color:var(--vermillion-text);letter-spacing:.15em;border:1px solid var(--vermillion);padding:.3rem .6rem}.artist-text h2{font-family:var(--cjk);font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.2;margin-bottom:1.5rem}.artist-text p{font-size:1rem;color:var(--paper-dim);line-height:1.9;margin-bottom:1.2rem}.artist-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:3rem;border:1px solid var(--border)}.stat{background:var(--deep);padding:1.2rem;text-align:center}.stat-number{font-family:var(--mono);font-size:1.6rem;color:var(--paper);display:block;line-height:1}.stat-label{font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;color:var(--paper-dim);text-transform:uppercase;margin-top:.4rem;display:block}#foyer{padding:6rem 2rem;background:var(--deep);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.foyer-inner{max-width:1200px;margin:0 auto}.foyer-header{text-align:center;margin-bottom:4rem}.foyer-header h2{font-family:var(--cjk);font-size:clamp(2rem,4vw,3rem);font-weight:300;margin-top:.8rem}.foyer-header p{font-style:italic;color:var(--paper-dim);max-width:500px;margin:1.2rem auto 0;font-size:.95rem}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.room-card{background:var(--ink);padding:2.5rem 2rem;cursor:crosshair;transition:background .4s;position:relative;overflow:hidden;text-decoration:none;display:block;color:var(--paper)}.room-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-accent, var(--vermillion));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.room-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--card-accent-soft, transparent) 0%,transparent 60%);opacity:0;transition:opacity .4s}.room-card:hover{background:var(--surface)}.room-card:hover:before{transform:scaleX(1)}.room-card:hover:after{opacity:1}.room-card[data-room=sky]{--card-accent: var(--room-1);--card-accent-soft: rgba(191,41,41,.06)}.room-card[data-room=english]{--card-accent: var(--room-2);--card-accent-soft: rgba(201,163,86,.06)}.room-card[data-room=square]{--card-accent: var(--room-3);--card-accent-soft: rgba(58,140,140,.06)}.room-card[data-room=games]{--card-accent: var(--room-4);--card-accent-soft: rgba(122,92,191,.06)}.room-num{font-family:var(--mono);font-size:.55rem;letter-spacing:.3em;color:var(--paper-dim);margin-bottom:1.5rem}.room-glyph{font-family:var(--cjk);font-size:3.5rem;line-height:1;margin-bottom:1.2rem;display:block;opacity:.7;transition:opacity .3s,transform .3s}.room-card:hover .room-glyph{opacity:1;transform:scale(1.05)}.room-title{font-family:var(--cjk);font-size:1.15rem;font-weight:400;margin-bottom:.6rem}.room-years{font-family:var(--mono);font-size:.6rem;color:var(--card-accent);letter-spacing:.1em;margin-bottom:1rem}.room-card[data-room=sky] .room-years{color:var(--vermillion-text)}.room-card[data-room=games] .room-years{color:var(--violet-text)}.room-desc{font-size:.88rem;color:var(--paper-dim);line-height:1.7;position:relative;z-index:1}.room-arrow{position:absolute;bottom:1.5rem;right:1.5rem;font-family:var(--mono);font-size:.7rem;color:var(--paper-dim);transition:color .3s,transform .3s;z-index:1}.room-card:hover .room-arrow{color:var(--paper);transform:translate(3px,-3px)}.gallery-room{padding:8rem 2rem;border-bottom:1px solid var(--border);position:relative;overflow:hidden}#room-english{background:var(--deep)}.gallery-room:after{content:"";position:absolute;top:0;left:0;width:2px;height:100%;opacity:.5}#room-sky:after{background:var(--room-1)}#room-english:after{background:var(--room-2)}#room-square:after{background:var(--room-3)}.room-bg-char{position:absolute;right:-2rem;top:50%;transform:translateY(-50%);font-family:var(--cjk);font-size:clamp(15rem,30vw,28rem);color:#f0e6d305;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.room-inner{max-width:1200px;margin:0 auto;position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start}.room-meta h2{font-family:var(--cjk);font-size:clamp(2rem,4vw,3rem);font-weight:300;line-height:1.2;margin:1rem 0 1.5rem}.tagline{font-style:italic;font-size:1rem;padding-left:1.2rem;border-left:2px solid var(--vermillion);color:var(--paper-dim);margin-bottom:2rem;display:block}.tagline.gold{border-color:var(--gold);color:var(--gold)}.tagline.teal{border-color:var(--teal);color:var(--teal)}.room-meta p{font-size:.95rem;color:var(--paper-dim);line-height:1.9;margin-bottom:1.2rem}#glyph-tool{padding:8rem 2rem;background:var(--deep);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.tool-inner{max-width:800px;margin:0 auto;text-align:center}.tool-inner h2{font-family:var(--cjk);font-size:clamp(2rem,4vw,3rem);font-weight:300;margin:1rem 0}.tool-intro{font-size:.95rem;color:var(--paper-dim);font-style:italic;margin-bottom:3rem}#timeline{padding:8rem 2rem;overflow:hidden}#theory{padding:8rem 2rem;background:var(--deep);border-top:1px solid var(--border)}#ar-panel{padding:10rem 2rem;border-top:1px solid var(--border);overflow:hidden}.ar-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}#provenance{padding:6rem 2rem;border-top:1px solid var(--border)}@media (max-width: 900px){.room-inner{grid-template-columns:1fr;gap:3rem}}@media (max-width: 768px){#artist{grid-template-columns:1fr;gap:3rem}nav#nav{padding:1rem 1.2rem;grid-template-columns:auto 1fr}.nav-links{gap:1rem;justify-content:flex-end}.nav-right,#nav-room-indicator{display:none}.ar-inner{grid-template-columns:1fr}.glyph-options{grid-template-columns:1fr 1fr}.char-matrix{grid-template-columns:repeat(6,1fr)}#minimap{display:none}}@media (max-width: 600px){.footer-inner{grid-template-columns:1fr}.hero-ctas{flex-direction:column;align-items:center}.theory-meta-checks{flex-direction:column}}
