:root{--bg: #eef4ec;--bg-2: #f7f1e3;--bg-sink: #efe6d2;--sky-top: #cfe3ec;--sky-mid: #e6ecdf;--sky-horizon:#fbf4e4;--sun-bloom: #fff3cf;--sun-core: #fffaf0;--sun-gold: #ffe9a8;--sun-glow: #fffaf0;--leaf-deep: #2f5233;--leaf-mid: #4e7a43;--leaf-near: #5a9e57;--leaf-fresh:#7cae5b;--leaf-hi: #bcd98a;--leaf-far: #a9c79a;--leaf: #4e7a43;--leaf-2: #7cae5b;--rose: #e58fa6;--rose-deep: #d46a86;--coral: #f0906b;--cream: #fff6ea;--lavender: #9b7ec8;--lavender-soft:#c3b0e6;--butter: #f4d06a;--hollyhock: #cf5b83;--delph: #7fa6d6;--poppy: #e05a4d;--table-top: #f3ead6;--table-hi: #fffaf0;--table-shadow:#d8c7a6;--table-iron:#8a7a5e;--grass: #8bbf63;--grass-shadow:#4e7a43;--grass-hi: #c7e59a;--stone: #e7ddc9;--ink: #3a4a33;--ink-soft: #4c5f42;--muted: #6f7f63;--line: #d8cdb6;--accent: #5a9e57;--accent-ink:#c05f7d;--bark: #f3ead6;--bark-2: #efe6d2;--bark-hi: #fffaf0;--bark-shadow:#d8c7a6;--bark-eye: #3a4a33;--glade-bloom:#fffaf0;--glade-core: #fff3cf;--serif: Georgia, "Times New Roman", serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--measure: 68ch;--gutter: clamp(1rem, 4vw, 3rem);--radius: 14px;--shadow: 0 1px 2px rgba(58,74,51,.06), 0 12px 40px rgba(47,82,51,.12)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--sky-horizon);color:var(--ink);font-family:var(--sans);font-size:clamp(15px,1rem + .15vw,18px);line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow:hidden}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:-.01em}a{color:var(--accent-ink);text-underline-offset:2px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:where(button){font:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}html{scroll-behavior:auto}}:root{--paper-plate-letter: url(/assets/papers/letter.jpg);--paper-plate-map: url(/assets/papers/map.jpg);--paper-plate-notes: url(/assets/papers/notes.jpg);--paper-plate-card: url(/assets/papers/card.jpg);--paper-plate-scroll: url(/assets/papers/scroll.jpg);--paper-plate-book-cover: url(/assets/papers/book-cover.jpg);--paper-plate-book-page: url(/assets/papers/book-page.jpg)}:root{--obj-book: url(/assets/objects/book.webp);--obj-book-open: url(/assets/objects/bookOpen.webp);--obj-scroll: url(/assets/objects/scroll.webp);--obj-map: url(/assets/objects/map.webp);--obj-notes: url(/assets/objects/notes.webp);--obj-letter: url(/assets/objects/letter.webp);--obj-seal: url(/assets/objects/seal.webp);--obj-card: url(/assets/objects/card.webp);--objbook-ar: 1.7599;--objbook-open-ar: 1.7599;--objscroll-ar: 1.7562;--objmap-ar: 1.2203;--objnotes-ar: 1.1495;--objletter-ar: 1.317;--objseal-ar: 1.4439;--objcard-ar: 1.4358}.world__stage{position:absolute;inset:0;z-index:1;transform-origin:50% 50%;transition:transform .9s cubic-bezier(.22,.61,.36,1);will-change:transform}.world{position:fixed;inset:0;overflow:hidden;background:#0e0f0c;cursor:default;user-select:none;-webkit-user-select:none}.world__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}.world__fallback-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:0;opacity:1;transition:opacity .5s ease}.world.is-dom .world__fallback-img{z-index:2}.world__fallback-img.is-fading{opacity:0}.world__fallback-img.is-blank{display:none}.world__veil{position:absolute;inset:0;z-index:60;display:grid;place-items:center;background:radial-gradient(120% 120% at 50% 40%,#2b3a26b8,#0e0f0cf5);transition:opacity .7s ease,visibility .7s ease}.world__veil.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.world__veil-inner{display:flex;flex-direction:column;align-items:center;gap:.6rem;color:var(--cream, #fff6ea);font-family:var(--serif);letter-spacing:.02em}.world__veil-mark{font-size:2.4rem;animation:world-breathe 2.4s ease-in-out infinite}.world__veil-text{font-size:.95rem;opacity:.85}@keyframes world-breathe{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.12);opacity:1}}.world__hotspots{position:absolute;inset:0;z-index:20;pointer-events:none}.world__hotspots{opacity:1;transition:opacity .42s ease .14s}.world.is-moving .world__hotspots,.world.is-table .world__hotspots{opacity:0;pointer-events:none;transition:opacity .17s ease}.world__hotspot{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;min-width:44px;border:0;background:transparent;border-radius:50%;padding:0;cursor:pointer;pointer-events:auto;display:grid;place-items:center;-webkit-tap-highlight-color:transparent}.world__hotspot-dot{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle,rgba(255,246,234,.95) 0%,rgba(255,246,234,.25) 55%,transparent 72%);box-shadow:0 0 0 2px #fff6ea8c,0 4px 14px #0006;position:relative;transition:transform .25s ease,box-shadow .25s ease;animation:world-pulse 2.6s ease-in-out infinite}.world__hotspot.is-back .world__hotspot-dot{background:radial-gradient(circle,rgba(200,220,200,.85) 0%,rgba(200,220,200,.2) 55%,transparent 72%);animation:none;opacity:.7}.world__hotspot:hover .world__hotspot-dot,.world__hotspot:focus-visible .world__hotspot-dot{transform:scale(1.35);box-shadow:0 0 0 3px #fff6eae6,0 6px 20px #00000080}@keyframes world-pulse{0%,to{box-shadow:0 0 0 2px #fff6ea80,0 4px 14px #0006}50%{box-shadow:0 0 0 6px #fff6ea24,0 4px 18px #00000073}}.world__hotspot-label{position:absolute;top:calc(50% + 22px);left:50%;transform:translate(-50%);white-space:nowrap;font-family:var(--serif);font-size:.82rem;color:#fff;background:#1e261ac7;padding:.22rem .6rem;border-radius:999px;opacity:0;transition:opacity .2s ease;pointer-events:none;backdrop-filter:blur(2px)}.world__hotspot:hover .world__hotspot-label,.world__hotspot:focus-visible .world__hotspot-label{opacity:1}.world__controls{display:flex;align-items:center;gap:.6rem;margin-left:.5rem}.world__nav--sound .ic-sound-off,.world__nav--full .ic-full-out,.world__nav--sound[aria-pressed=false] .ic-sound-on,.world__nav--full[aria-pressed=true] .ic-full-in{display:none}.world__nav--sound[aria-pressed=false] .ic-sound-off,.world__nav--full[aria-pressed=true] .ic-full-out{display:block}.world__nav--sound[aria-pressed=false]{opacity:.62}@media(hover:none){.world__hotspot-label{opacity:.92;font-size:.78rem;background:#1e261aa8;width:max-content;max-width:min(46vw,12rem);white-space:normal;text-align:center;line-height:1.25}.world__reticle{display:none}.world__controls{position:fixed;top:clamp(.8rem,3vh,1.6rem);right:max(clamp(.8rem,3vw,1.6rem),env(safe-area-inset-right,0px));margin-left:0;z-index:56}}.world__tilt-ask{position:absolute;z-index:40;left:50%;bottom:calc(1.1rem + env(safe-area-inset-bottom,0px));transform:translate(-50%);border:0;border-radius:999px;padding:.5rem 1rem;min-height:44px;font-family:var(--serif);font-size:.82rem;letter-spacing:.02em;color:var(--cream, #fff6ea);background:#1e261ab8;backdrop-filter:blur(3px);box-shadow:0 2px 12px #0006;-webkit-tap-highlight-color:transparent;animation:world-tilt-in .5s ease both 1.2s}@keyframes world-tilt-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.world__hotspot.is-invisible{background:none;border:0;box-shadow:none;cursor:pointer}.world__hotspot.is-invisible:before,.world__hotspot.is-invisible:after{content:none}.world__hotspot.is-invisible:hover{background:none;box-shadow:none}.world__hotspot.is-invisible:focus{outline:none}.world__hotspot.is-invisible:focus-visible{outline:2px dashed rgba(214,231,246,.9);outline-offset:-8px;border-radius:50%}.world__wisp{position:absolute;width:var(--wisp-size, 5px);height:var(--wisp-size, 5px);border-radius:50%;pointer-events:none;opacity:0;will-change:transform,opacity;animation:world-wisp var(--wisp-dur, 3.2s) ease-in-out var(--wisp-delay, 0ms) both}.world__wisp:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#fff,#e8f6ffeb 26%,#badaff73 55%,#a0c8ff00 76%);box-shadow:0 0 14px 4px #c4e2ff73,0 0 3px 1px #ffffff8c;animation:world-wisp-twinkle var(--wisp-twinkle, 1.1s) ease-in-out infinite alternate}@keyframes world-wisp-twinkle{0%{opacity:.55;transform:scale(.86)}to{opacity:1;transform:scale(1.16)}}@keyframes world-wisp{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}18%{opacity:var(--wisp-peak, .6)}55%{opacity:var(--wisp-peak, .6);transform:translate(calc(-50% + var(--wisp-dx, 0px)),calc(-50% + var(--wisp-dy, -30px) * .55)) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--wisp-dx, 0px) * -.35),calc(-50% + var(--wisp-dy, -30px))) scale(.8)}}.world__reticle{position:absolute;z-index:30;width:64px;height:64px;transform:translate(-50%,-60%) scale(.55);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;color:#fff6ea;perspective:240px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55))}.world__reticle.is-active{opacity:1;transform:translate(-50%,-60%) scale(1)}.world.has-hotspot{cursor:pointer}.world__reticle-tilt{width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(58deg) rotate(var(--ret-dir, 0deg));transition:transform .14s ease-out}.world__reticle svg{width:100%;height:100%;overflow:visible}.ret-shadow{fill:#00000047}.ret-arrow{fill:none;stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.ret-arrow--far{opacity:.55}.ret-arrow--near{opacity:1}.world__reticle .ret-arrow--near{animation:ret-step 1.5s ease-in-out infinite}.world__reticle .ret-arrow--far{animation:ret-step 1.5s ease-in-out infinite .2s}@keyframes ret-step{0%,to{transform:translateY(2px);opacity:.5}50%{transform:translateY(-2px);opacity:1}}.world__reticle[data-kind=back]{color:#d7e4d5}.world__reticle[data-invisible="1"]{color:#dceaf8;filter:drop-shadow(0 3px 8px rgba(10,22,40,.75))}.world__reticle:after{content:attr(data-label);position:absolute;top:52px;left:50%;transform:translate(-50%);white-space:nowrap;font-family:var(--serif);font-size:.82rem;color:#fff6ea;background:#1e261ad1;padding:.18rem .55rem;border-radius:999px;opacity:0;transition:opacity .16s ease;pointer-events:none;backdrop-filter:blur(2px)}.world__reticle.is-active:after{opacity:1}.world__minimap{position:absolute;right:clamp(.8rem,3vw,1.6rem);bottom:clamp(.8rem,3vh,1.6rem);z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.world__minimap-toggle{width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,246,234,.32);background:#1e261a8c;color:#fff6ea;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s ease,transform .15s ease}.world__minimap-toggle:hover{background:#2d3a26d9;transform:translateY(-1px)}.world__minimap-panel{width:252px;padding:.7rem .75rem .55rem;border-radius:14px;border:1px solid rgba(255,246,234,.34);background:#10140de6;backdrop-filter:blur(8px);box-shadow:0 10px 30px #0000008c;opacity:0;visibility:hidden;transform:translateY(6px) scale(.98);transform-origin:bottom right;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.world__minimap.is-open .world__minimap-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.world__minimap-title{font-family:var(--sans);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#c6d3ba;margin-bottom:.45rem;text-align:center}.world__minimap-svg{width:100%;height:232px;display:block;overflow:visible}.mini-edge{stroke:#fff6ea80;stroke-width:.9}.mini-dot{fill:#fff6ead1;stroke:#fff6eaf2;stroke-width:.6;transition:fill .2s ease,r .2s ease;cursor:pointer}.mini-node{cursor:pointer}.mini-node:hover .mini-dot{fill:#fff}.mini-label{fill:#fff6eae6;font-family:var(--sans);font-size:3.4px;opacity:0;transition:opacity .15s ease;pointer-events:none}.mini-node:hover .mini-label,.mini-node.is-current .mini-label{opacity:1}.mini-node.is-current .mini-dot{fill:#ffd77a;stroke:#fff2c8;stroke-width:1;r:4.6;filter:drop-shadow(0 0 5px rgba(255,200,90,1)) drop-shadow(0 0 9px rgba(255,180,60,.7))}.mini-node.is-current .mini-label{fill:#fff2c8;font-weight:700;font-size:4.2px;opacity:1}.world__ui{position:absolute;top:clamp(.8rem,3vh,1.6rem);left:clamp(.8rem,3vw,1.6rem);z-index:55;display:flex;align-items:center;gap:.6rem}.world__nav{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,246,234,.35);background:#1e261a8c;color:#fff6ea;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s ease,transform .15s ease,opacity .2s ease}.world__nav:hover{background:#2d3a26d9;transform:translateY(-1px)}.world__nav[hidden]{display:none}.world__nav--mode{width:auto;height:34px;border-radius:17px;gap:.35rem;padding:0 .7rem 0 .6rem;grid-auto-flow:column;opacity:.72;font-family:var(--serif);font-size:.82rem;letter-spacing:.02em}.world__nav--mode:hover{opacity:1}.world__nav-label{line-height:1}.world__nav--lang{width:auto;min-width:34px;height:34px;border-radius:17px;padding:0 .62rem;font-family:var(--serif);font-size:.8rem;letter-spacing:.06em;text-decoration:none;opacity:.62}.world__nav--lang:hover{opacity:1}.world__crumb{font-family:var(--serif);font-size:.95rem;color:#fff6ea;text-shadow:0 1px 4px rgba(0,0,0,.6);padding:.2rem .5rem;letter-spacing:.02em;transition:opacity .3s ease}.world.is-table .world__crumb{opacity:0}.world__table{position:absolute;inset:0;z-index:50;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,visibility .16s ease;background:radial-gradient(120% 90% at 50% 46%,transparent 34%,rgba(30,20,8,.42) 100%);display:grid;place-items:center;overflow:hidden}.world__table.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .55s ease .2s,visibility .55s ease .2s}.world.is-moving .world__table{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,visibility .16s ease}.world__field{--lit: 146deg;position:relative;width:min(1180px,95vw,138vh);aspect-ratio:1.5;container-type:inline-size}.obj{position:absolute;left:var(--x);top:var(--y);width:var(--w);aspect-ratio:var(--ar);border:0;padding:0;background:none;font-family:var(--serif);color:#34291a;text-align:left;transform:rotate(var(--tilt, 0deg));transition:transform .28s cubic-bezier(.22,.61,.36,1),filter .28s ease;filter:drop-shadow(2px 4px 3px rgba(24,14,4,.42)) drop-shadow(10px 18px 16px rgba(20,12,3,.4))}.obj__art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}.obj:hover,.obj:focus-visible{transform:rotate(0) translateY(-1.1cqw) scale(1.03);filter:drop-shadow(3px 6px 4px rgba(24,14,4,.4)) drop-shadow(16px 28px 26px rgba(20,12,3,.46));outline:none;z-index:6}.obj__text{position:absolute;left:var(--tx, 10%);top:var(--ty, 10%);width:var(--tw, 80%);height:var(--th, 80%);display:flex;flex-direction:column;overflow:hidden}.obj__h{margin:0 0 .45em;font-size:.76cqw;text-transform:uppercase;letter-spacing:.14em;color:#7a5a2a;font-family:var(--sans)}.obj ul{margin:0;padding-left:1.1em}.obj li{margin-bottom:.18em}.obj--letter{--x: 0%;--y: 1%;--w: 43%;--ar: 1.317;--tilt: -1deg;--tx: 9%;--ty: 9%;--tw: 82%;--th: 82%}.obj__name{font-size:2.5cqw;line-height:1.05;margin:0 0 .12em;color:#2c2213}.obj__title{font-style:italic;color:#6a4f24;margin:0 0 .5em;font-size:1.15cqw}.obj__summary{margin:0;line-height:1.5;font-size:1.02cqw}.obj__ph{align-self:flex-start;margin-top:.5em;font-family:var(--sans);font-size:.78cqw;color:#9a7638;border:1px dashed #c2a25f;padding:.1em .5em;border-radius:4px}.obj--map{--x: 45.5%;--y: 0%;--w: 27%;--ar: 1.22;--tilt: 1.4deg;--tx: 12%;--ty: 17%;--tw: 73%;--th: 58%}.obj--map ul{font-size:.82cqw;line-height:1.5;color:#3a3320}.obj--scroll{--x: 74%;--y: 2%;--w: 26%;--ar: 1.756;--tilt: -1.2deg;--tx: 24%;--ty: 27%;--tw: 52%;--th: 44%;color:#f2e8cf}.obj--scroll .obj__h{color:#d8c48c}.obj--scroll ul{font-size:.62cqw;line-height:1.35;padding-left:.8em;text-shadow:0 1px 2px rgba(24,14,4,.6)}.obj--notes{--x: 1%;--y: 54%;--w: 27%;--ar: 1.15;--tilt: .9deg;--tx: 15%;--ty: 29%;--tw: 63%;--th: 47%}.obj--notes ul{font-size:.72cqw;line-height:1.45}.obj--notes strong{color:#2c2213}.obj--notes span{color:#6a5836;font-style:italic}.obj--card{--x: 66%;--y: 40%;--w: 19%;--ar: 1.436;--tilt: -2deg;--tx: 11%;--ty: 15%;--tw: 78%;--th: 70%;justify-content:center}.obj--card .obj__text{gap:.35em}.card__cta{margin:0;font-weight:600;color:#2c2213;font-size:.78cqw;line-height:1.35}.card__email{color:#7a5a2a;text-decoration:none;font-size:.7cqw;word-break:break-all}.card__email:hover{text-decoration:underline}.card__pdf{align-self:flex-start;background:#5a4021;color:#fdf3dc;text-decoration:none;padding:.3em .9em;border-radius:999px;font-family:var(--sans);font-size:.66cqw;transition:background .2s ease}.card__pdf:hover{background:#6d4e28}.obj--seal{--x: 86%;--y: 42%;--w: 13.5%;--ar: 1.444;--tilt: 3deg;--tx: 7%;--ty: 60%;--tw: 45%;--th: 28%;cursor:pointer;text-align:center}.obj--seal .obj__text{align-items:center;justify-content:center}.seal__label{font-size:.68cqw;line-height:1.25;color:#4a2018;font-weight:600;text-shadow:0 1px 0 rgba(255,246,226,.5)}.obj--book{--x: 31%;--y: 55%;--w: 33%;--ar: 1.7599;--tilt: -1.6deg;--tx: 16%;--ty: 26%;--tw: 46%;--th: 44%;cursor:pointer;color:#efe6cf}.obj--book .obj__text{justify-content:center}.book__title{margin:0;font-size:1.25cqw;letter-spacing:.03em;color:#f2e9d2;text-shadow:0 1px 3px rgba(16,10,2,.85)}.book__sub{margin:.2em 0 0;font-family:var(--sans);font-size:.72cqw;letter-spacing:.14em;text-transform:uppercase;color:#c3b489;text-shadow:0 1px 3px rgba(16,10,2,.85)}@media(max-width:760px){.world__table{overflow-y:auto}.world__field{width:94vw;aspect-ratio:auto;container-type:inline-size;display:flex;flex-direction:column;align-items:center;gap:3vw;padding:4vw 0}.obj{position:relative;left:auto;top:auto;width:min(88vw,420px);--tilt: 0deg;flex:0 0 auto}.obj__h{font-size:2.6cqw}.obj__name{font-size:7cqw}.obj__title{font-size:3.3cqw}.obj__summary{font-size:2.9cqw}.obj--map ul{font-size:2.7cqw}.obj--notes ul{font-size:2.5cqw}.obj--scroll ul{font-size:2.1cqw}.card__cta{font-size:2.6cqw}.card__email{font-size:2.4cqw}.card__pdf{font-size:2.2cqw}.seal__label{font-size:2.4cqw}.book__title{font-size:3.6cqw}.book__sub{font-size:2.1cqw}}@media(prefers-reduced-motion:reduce){.world__veil-mark,.world__hotspot-dot,.world__reticle .ret-arrow--near,.world__reticle .ret-arrow--far{animation:none!important}.world__reticle .ret-arrow{transform:none!important}.world__wisp{display:none!important}.obj,.world__nav,.card__pdf,.world__fallback-img,.world__hotspots{transition:none!important}}.world.is-book .obj:not(.obj--book){pointer-events:none}.world.is-book .obj:not(.obj--book):hover{transform:rotate(var(--tilt, 0deg));filter:none}.world.is-book .obj--book{cursor:default}.world.is-book .obj--book:hover,.world.is-book .obj--book:focus-visible{transform:rotate(var(--tilt, 0deg))}.world.is-book .obj--book>.obj__text{opacity:0;transition:opacity .25s ease}.book-read{position:absolute;left:var(--x);top:var(--y);width:var(--w);aspect-ratio:var(--ar);--x: 31%;--y: 55%;--w: 33%;--ar: 1.7599;--tilt: -1.6deg;transform:rotate(var(--tilt));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease .12s,visibility .45s ease .12s;z-index:7}.world.is-book-read .book-read{opacity:1;visibility:visible}.book-read__marks{display:block;width:100%;height:100%}.book-read__marks path{fill:none;stroke:#4a3a22;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linecap:round;opacity:.28}.book-read__marks path.is-head{stroke-width:2.4;opacity:.38}.book-read__turn{position:absolute;left:31%;top:55%;width:33%;aspect-ratio:1.7599;transform:rotate(-1.6deg);object-fit:contain;pointer-events:none;z-index:8;filter:drop-shadow(2px 4px 3px rgba(24,14,4,.42)) drop-shadow(10px 18px 16px rgba(20,12,3,.4))}.book-holo{position:absolute;inset:0;z-index:40;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s ease;--src-x: 50%;--src-y: 70%;--holo-w: min(560px, 46vw)}.world.is-holo .book-holo{opacity:1;visibility:visible}.world.is-holo-busy .book-holo__panel{opacity:.6}.world.is-holo-busy .book-holo__body{filter:blur(.6px)}.world.is-holo-busy .book-holo__scan{animation-duration:1.1s}.book-holo__beams{position:absolute;left:var(--src-x);top:var(--src-y);width:1px;height:1px;pointer-events:none}.book-holo__cone{position:absolute;left:50%;bottom:0;width:var(--holo-w);height:var(--cone-h, 220px);transform:translate(-50%);background:linear-gradient(to top,#82ffb485,#82ffb429 55%,#82ffb400);clip-path:polygon(48.5% 100%,51.5% 100%,100% 0,0 0);filter:blur(.5px);animation:holo-cone 5.5s ease-in-out infinite}.book-holo__ray{position:absolute;bottom:0;left:50%;width:1px;height:var(--cone-h, 220px);transform-origin:50% 100%;background:linear-gradient(to top,#afffcdf2,#afffcd00);opacity:.75}.book-holo__ray:nth-child(2){transform:rotate(-26deg) scaleY(.94)}.book-holo__ray:nth-child(3){transform:rotate(-13deg)}.book-holo__ray:nth-child(4){transform:rotate(2deg) scaleY(.9)}.book-holo__ray:nth-child(5){transform:rotate(15deg)}.book-holo__ray:nth-child(6){transform:rotate(27deg) scaleY(.92)}.book-holo__panel{transition:opacity .3s ease;position:absolute;left:var(--src-x);top:var(--src-y);width:var(--holo-w);max-height:min(var(--panel-max, 42vh),42vh);transform:translate(-50%,calc(-100% - var(--cone-h, 220px)));display:flex;flex-direction:column;pointer-events:auto;color:#c8ffdd;font-family:var(--sans);background:linear-gradient(180deg,#0a342299,#041a12b8);border:1px solid rgba(140,255,190,.75);border-radius:6px;box-shadow:0 0 0 1px #7effb21a inset,0 0 30px #6effaf57,0 0 90px #46f09133;backdrop-filter:blur(3px) saturate(1.2);overflow:hidden;animation:holo-flicker 7s steps(1,end) infinite}.book-holo__panel:before,.book-holo__panel:after{content:"";position:absolute;width:14px;height:14px;border:1px solid rgba(150,255,190,.9);pointer-events:none}.book-holo__panel:before{top:5px;left:5px;border-right:0;border-bottom:0}.book-holo__panel:after{bottom:5px;right:5px;border-left:0;border-top:0}.book-holo__grid{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(140,255,190,.085) 0 1px,transparent 1px 3px);mix-blend-mode:screen}.book-holo__scan{position:absolute;left:0;right:0;top:0;height:38%;pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(160,255,200,.1),transparent);animation:holo-scan 4.2s linear infinite}.book-holo__head{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem .4rem;border-bottom:1px solid rgba(126,255,178,.28);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#9dffc6;flex:none}.book-holo__dot{width:6px;height:6px;border-radius:50%;background:#7dffb2;box-shadow:0 0 8px #7dffb2;animation:holo-pulse 2.2s ease-in-out infinite}.book-holo__title{flex:1}.book-holo__meta{opacity:.7;font-variant-numeric:tabular-nums}.book-holo__tabs{display:flex;gap:1px;flex:none;background:#7effb229}.book-holo__tab{position:relative;flex:1;overflow:hidden;border:0;background:#0a281c8c;color:#9dffc6;font-family:inherit;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.45rem .35rem;cursor:pointer;transition:background .2s ease,color .2s ease}.book-holo__tab:hover{background:#184e34bf}.book-holo__tab[aria-pressed=true]{background:#28784ecc;color:#eafff2}.book-holo__tab-i{display:block;opacity:.55;font-size:.55rem}.book-holo__tab .ripple{position:absolute;border-radius:50%;border:1px solid rgba(190,255,215,.9);transform:translate(-50%,-50%) scale(0);animation:holo-ripple .55s ease-out forwards;pointer-events:none}.book-holo__body{padding:.7rem .85rem .9rem;overflow-y:auto;overscroll-behavior:contain;font-size:.78rem;line-height:1.55;color:#d6ffe7;scrollbar-width:thin;scrollbar-color:rgba(126,255,178,.5) transparent}.book-holo__body:focus-visible{outline:1px solid rgba(160,255,200,.8);outline-offset:-2px}.book-holo__body::-webkit-scrollbar{width:6px}.book-holo__body::-webkit-scrollbar-thumb{background:#7effb273;border-radius:3px}.book-holo__sec>*+*{margin-top:.6em}.book-holo__sec p{margin:0;text-shadow:0 0 10px rgba(90,255,160,.25)}.book-holo__h{margin:0;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#8dffbe}.book-holo__todo{display:inline-block;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;border:1px dashed rgba(126,255,178,.6);border-radius:3px;padding:.1em .5em;opacity:.8}.book-holo__sec.is-in{animation:holo-in .45s ease-out}.book-holo__foot{flex:none;padding:0 .75rem .6rem}.book-holo__bar{display:block;height:2px;background:#7effb233}.book-holo__bar i{display:block;height:100%;width:33%;background:#7dffb2;box-shadow:0 0 8px #7dffb2;transition:width .4s ease,transform .4s ease}@keyframes holo-scan{0%{transform:translateY(-100%)}to{transform:translateY(320%)}}@keyframes holo-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes holo-cone{0%,to{opacity:.9}45%{opacity:.62}}@keyframes holo-ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}@keyframes holo-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes holo-flicker{0%,96%,to{opacity:1}97%{opacity:.82}98%{opacity:1}98.5%{opacity:.9}}.book-ui{position:absolute;left:50%;bottom:clamp(.9rem,3vh,2.2rem);transform:translate(-50%) translateY(.6rem);z-index:56;display:flex;align-items:center;gap:.8rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease .3s,visibility .35s ease .3s,transform .35s ease .3s}.world.is-book .book-ui{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(0)}.book-nav{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:#1812089e;color:#fff6ea;cursor:pointer;backdrop-filter:blur(3px);box-shadow:0 2px 10px #00000073;transition:background .2s ease,transform .2s ease,opacity .2s ease}.book-nav:hover:not(:disabled){background:#2c210dd9;transform:scale(1.08)}.book-nav:disabled{opacity:.24;cursor:default}.book-count{font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;color:#e6dcc4;text-shadow:0 1px 4px rgba(0,0,0,.8);min-width:3.4rem;text-align:center}.book-close{margin-left:.4rem;border:0;background:#1812089e;color:#fff6ea;border-radius:999px;padding:.4rem .95rem;font-family:var(--sans);font-size:.78rem;cursor:pointer;backdrop-filter:blur(3px);transition:background .2s ease}.book-close:hover{background:#2c210dd9}@media(max-width:760px){.book-read__page .book-page__h{font-size:1.5cqw;letter-spacing:.1em;margin-bottom:.4em}.book-read__page .book-page__body{font-size:1.7cqw;line-height:1.4}.book-read__page .book-page__todo,.book-read__page .book-page__no{font-size:1.3cqw}.book-nav{width:38px;height:38px}.book-holo__beams{display:none}.book-holo__panel{left:50%;top:auto;bottom:4.6rem;transform:translate(-50%);--holo-w: 92vw;width:var(--holo-w);max-height:42vh}}@media(prefers-reduced-motion:reduce){.book-holo__scan{display:none}.book-holo__panel,.book-holo__cone,.book-holo__dot{animation:none!important}.book-holo__sec.is-in{animation:none}.book-holo__tab .ripple{display:none}.world__field,.book-read,.book-ui,.book-nav,.book-close{transition:none!important}}.sr-only[data-astro-cid-cexstz2y]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.chat[data-astro-cid-cexstz2y]{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:flex-end;pointer-events:none}.chat[data-astro-cid-cexstz2y][hidden]{display:none}.chat-scrim[data-astro-cid-cexstz2y]{position:absolute;inset:0;background:#2b2a272e;opacity:0;transition:opacity .28s ease;pointer-events:auto}.chat[data-astro-cid-cexstz2y].open .chat-scrim[data-astro-cid-cexstz2y]{opacity:1}.chat-sheet[data-astro-cid-cexstz2y]{position:relative;pointer-events:auto;width:min(440px,100%);height:min(680px,100dvh);margin:clamp(0px,2vh,24px) clamp(0px,2vw,24px);display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transform:translateY(18px) scale(.99);opacity:0;transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .28s ease}.chat[data-astro-cid-cexstz2y].open .chat-sheet[data-astro-cid-cexstz2y]{transform:translateY(0) scale(1);opacity:1}.chat-head[data-astro-cid-cexstz2y]{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);background:var(--bg-2)}.chat-titles[data-astro-cid-cexstz2y]{flex:1;min-width:0}.chat-titles[data-astro-cid-cexstz2y] h2[data-astro-cid-cexstz2y]{font-family:var(--serif);font-size:1.1rem;margin:0;line-height:1.2}.chat-sub[data-astro-cid-cexstz2y]{margin:.1rem 0 0;font-size:.78rem;color:var(--muted)}.chat-mode[data-astro-cid-cexstz2y]{display:inline-flex;background:var(--bg-sink);border:1px solid var(--line);border-radius:999px;padding:2px;font-size:.72rem}.mode-btn[data-astro-cid-cexstz2y]{border:0;background:transparent;color:var(--ink-soft);padding:.28rem .6rem;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .18s ease,color .18s ease}.mode-btn[data-astro-cid-cexstz2y][aria-pressed=true]{background:var(--accent);color:#fff}.chat-close[data-astro-cid-cexstz2y]{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:.35rem;border-radius:8px;display:grid;place-items:center;transition:color .18s ease,background .18s ease}.chat-close[data-astro-cid-cexstz2y]:hover{color:var(--ink);background:var(--bg-sink)}.chat-log[data-astro-cid-cexstz2y]{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem;scroll-behavior:smooth}.msg[data-astro-cid-cexstz2y]{display:flex}.msg-user[data-astro-cid-cexstz2y]{justify-content:flex-end}.msg-assistant[data-astro-cid-cexstz2y]{justify-content:flex-start}.bubble[data-astro-cid-cexstz2y]{max-width:84%;padding:.6rem .8rem;border-radius:14px;font-size:.95rem;line-height:1.55;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.msg-assistant[data-astro-cid-cexstz2y] .bubble[data-astro-cid-cexstz2y]{background:var(--bg-2);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px}.msg-user[data-astro-cid-cexstz2y] .bubble[data-astro-cid-cexstz2y]{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.bubble[data-astro-cid-cexstz2y].thinking{display:inline-flex;gap:4px;align-items:center}.bubble[data-astro-cid-cexstz2y].thinking span[data-astro-cid-cexstz2y]{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:birch-blink 1.2s infinite ease-in-out both}.bubble[data-astro-cid-cexstz2y].thinking span[data-astro-cid-cexstz2y]:nth-child(2){animation-delay:.18s}.bubble[data-astro-cid-cexstz2y].thinking span[data-astro-cid-cexstz2y]:nth-child(3){animation-delay:.36s}@keyframes birch-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.chat-chips[data-astro-cid-cexstz2y]{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1rem .6rem}.chat-chips[data-astro-cid-cexstz2y][hidden]{display:none}.chip[data-astro-cid-cexstz2y]{border:1px solid var(--accent);background:transparent;color:var(--accent-ink);padding:.35rem .7rem;border-radius:999px;font-size:.82rem;cursor:pointer;transition:background .18s ease,color .18s ease}.chip[data-astro-cid-cexstz2y]:hover{background:var(--accent);color:#fff}.chat-form[data-astro-cid-cexstz2y]{display:flex;gap:.5rem;padding:.75rem 1rem 1rem;border-top:1px solid var(--line);background:var(--bg-2)}.chat-input[data-astro-cid-cexstz2y]{flex:1;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:999px;padding:.6rem .95rem;font:inherit;font-size:.95rem;outline:none;transition:border-color .18s ease}.chat-input[data-astro-cid-cexstz2y]:focus{border-color:var(--accent)}.chat-input[data-astro-cid-cexstz2y]:disabled{opacity:.6}.chat-send[data-astro-cid-cexstz2y]{border:0;background:var(--accent);color:#fff;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:0 0 auto;transition:transform .12s ease,opacity .18s ease}.chat-send[data-astro-cid-cexstz2y]:hover:not(:disabled){transform:translateY(-1px)}.chat-send[data-astro-cid-cexstz2y]:disabled{opacity:.5;cursor:default}@media(max-width:640px){.chat[data-astro-cid-cexstz2y]{align-items:stretch;justify-content:stretch}.chat-sheet[data-astro-cid-cexstz2y]{width:100%;height:92dvh;margin:0;align-self:flex-end;border-radius:var(--radius) var(--radius) 0 0;border-bottom:0;transform:translateY(100%)}.chat[data-astro-cid-cexstz2y].open .chat-sheet[data-astro-cid-cexstz2y]{transform:translateY(0)}.chat-mode[data-astro-cid-cexstz2y]{font-size:.68rem}}@media(prefers-reduced-motion:reduce){.chat-sheet[data-astro-cid-cexstz2y],.chat-scrim[data-astro-cid-cexstz2y]{transition:none}.bubble[data-astro-cid-cexstz2y].thinking span[data-astro-cid-cexstz2y]{animation:none;opacity:.5}}main[data-astro-cid-j7pv25f6]{display:none}
