:root{font-family:DM Sans,sans-serif;color:#eeeae0;background:#242923;font-synthesis:none;--paper: #eeeae0;--ink: #272d27;--muted: #aeb4a6;--line: rgba(225, 231, 213, .23);--accent: #d3d9ac}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #c4cb93;outline-offset:4px}button{border:1px solid var(--line);background:transparent;color:inherit;padding:12px 18px;transition:background .2s}button:hover{background:#d2dcbe1f}button:disabled{opacity:.4;cursor:wait}button.primary{background:var(--accent);color:var(--ink);border-color:var(--accent)}button.primary:hover{background:#e4e9c6}canvas{display:block;width:100vw;height:100vh;position:fixed;inset:0}.veil{position:fixed;inset:0;background:linear-gradient(90deg,#0f1712db,#0f171259 54%,#0f17120d);pointer-events:none;transition:opacity .6s}.walking .veil{opacity:0}.topbar{position:fixed;left:40px;right:40px;top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:2}.brand{font-size:11px;letter-spacing:.22em;text-transform:uppercase}.brand span{color:var(--muted);margin-left:16px;letter-spacing:.08em}.topbar nav{display:flex;gap:8px}.topbar button{font-size:12px;padding:10px 16px;background:#1a221bad;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.intro{position:fixed;top:50%;left:8vw;transform:translateY(-48%);max-width:540px;transition:opacity .3s;z-index:1}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:var(--accent);display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:26px;height:1px;background:currentColor}h1{font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(76px,9vw,138px);font-weight:400;line-height:.87;letter-spacing:-.055em;margin:28px 0}h1 em{font-weight:400;color:#bfc7a8}.intro .description{font-size:14px;line-height:1.8;max-width:340px;color:#c6cbbf;margin:30px 0}.enter-row{display:flex;align-items:center;gap:22px}.enter-row small{font-size:10px;line-height:1.7;color:#a5af9f;max-width:120px}.intro .footnote{font-size:10px;color:#98a48f;margin-top:44px;letter-spacing:.04em}.bottom{position:fixed;bottom:26px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:end;gap:20px;z-index:2;pointer-events:none}.location{border-left:2px solid #b8c498;padding-left:14px;font-size:10px;line-height:1.9;letter-spacing:.05em;text-transform:uppercase}.location strong{display:block;font-weight:400;font-size:12px;color:#eef0df;max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controls{font-size:10px;color:#c0c6b5;display:flex;gap:17px}kbd{font-family:inherit;border:1px solid #879079;border-radius:3px;padding:3px 5px;margin-right:5px;font-size:9px}.walking .intro{display:none}.walking .topbar{opacity:.35;pointer-events:none}.crosshair{display:none;position:fixed;left:50%;top:50%;width:5px;height:5px;border:1px solid #f5f1df;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}.walking .crosshair{display:block}.hover-label{position:fixed;left:50%;top:calc(50% + 22px);transform:translate(-50%);font-size:10px;background:#20271ed9;padding:8px 14px;pointer-events:none;display:none}.walking .hover-label:not(:empty){display:block}.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%);padding:12px 20px;background:#e3e7d1;color:#252d24;font-size:12px;z-index:10;max-width:80vw}.toast:empty{display:none}dialog{background:#252e27;color:var(--paper);border:1px solid #778069;padding:0;max-width:min(720px,94vw);width:720px;max-height:90dvh;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#0c140fcc;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.panel-head{display:flex;justify-content:space-between;align-items:start;padding:28px 32px 24px;border-bottom:1px solid var(--line)}.panel-head h2{font-family:Libre Caslon Display,Georgia,serif;font-size:42px;font-weight:400;margin:6px 0 0}.panel-head .eyebrow{font-size:9px}.close{padding:6px 12px;font-size:22px;border:0}.panel-body{padding:28px 32px}.panel-body p{font-size:13px;line-height:1.7;color:#bdc6b6;margin:0 0 24px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#c0c9b5}input,select,textarea{width:100%;padding:12px;background:#18221b;color:#f0f0dc;border:1px solid #5b6855;border-radius:0;min-width:0}textarea{resize:vertical;min-height:110px}.field small,.hint{font-size:11px;color:#9da991;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.presets{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.presets button{font-size:11px;padding:9px 12px}.result{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.result:empty{display:none}.error{color:#edba9e!important;font-size:12px;white-space:pre-wrap}.bookmark{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:16px 0}.bookmark p{margin:0;font-size:12px}.bookmark small{display:block;color:#adb79e;font-size:10px;margin-top:7px}.bookmark button{padding:7px 12px;font-size:11px}.mobile-notice{display:none}@media(max-width:700px){.topbar{left:20px;right:20px;top:18px}.brand span{display:none}.topbar nav{gap:3px}.topbar button{padding:8px;font-size:10px}.intro{left:28px;right:24px}.bottom{left:20px;right:20px;bottom:18px}.controls{display:none}.intro .description{max-width:290px}h1{font-size:85px}.panel-head,.panel-body{padding:22px}.form-grid{grid-template-columns:1fr}.mobile-notice{display:block!important;font-size:11px!important;color:#d1c391!important}.reader-sheet,.reader-footer{padding:16px}.location strong{max-width:80vw}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}#reader{width:1480px;max-width:96vw;height:96dvh;max-height:96dvh;background:#242a24;color:#dddccc;border:1px solid #5d6554;overflow:hidden}#reader[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}#reader .panel-head{padding:16px 26px;border-color:#525b49;align-items:center}#reader .eyebrow{color:#adb693;font-size:8px}#reader h2{font-size:28px;overflow-wrap:anywhere;margin:4px 0 0}#reader .reader-meta{font-size:10px;color:#9da68f;margin-top:6px}.reader-sheet{position:relative;min-width:0;min-height:0;padding:14px 18px;overflow:hidden;background:#1e251f}.book-spread{display:grid;grid-template-columns:1fr 1fr;min-width:640px;padding:5px 7px 9px;background:#65513c;border-radius:5px 5px 10px 10px;box-shadow:0 14px 24px #0007,inset 0 -3px #382d22;position:absolute;left:50%;top:50%;width:1120px;transform:translate(-50%,-50%) scale(var(--book-scale, 0));transform-origin:center}.book-spread:after{content:"";position:absolute;left:50%;top:5px;bottom:9px;width:2px;background:#94836a88;box-shadow:0 0 9px 4px #66553b22;pointer-events:none}.book-page{position:relative;min-width:0;display:flex;flex-direction:column;padding:20px clamp(16px,2vw,34px) 16px;color:#48483c;cursor:pointer;container-type:inline-size;outline-offset:-6px;box-shadow:0 3px #b9b09a,0 5px #d3cab5;border-radius:2px 6px 4px 2px}.book-page-left{background:linear-gradient(90deg,#d8d0bb,#f1ead9 3% 83%,#e9e0cc 93%,#b9ab91);border-radius:5px 1px 2px 6px;padding-right:clamp(22px,3vw,45px)}.book-page-right{background:linear-gradient(90deg,#c4b69b,#e6dcc6 4%,#f4eddd 15% 95%,#ded5bf);padding-left:clamp(22px,3vw,45px)}.book-page:focus-visible{outline:2px solid #797a4c}.book-page[aria-disabled=true]{cursor:default}.running-title{text-align:center;font-family:Georgia,serif;font-size:9px;letter-spacing:.18em;min-height:24px;color:#8c836f}.page-text{font-family:Georgia,Times New Roman,serif;font-size:2.25cqw;line-height:1.6;white-space:pre;margin:0;min-height:64em;letter-spacing:.015em;font-weight:400;font-variant-ligatures:none;text-rendering:optimizeLegibility}.page-line{display:inline-block;transform-origin:left center}.page-text:empty{display:none}.page-text mark{background:#d4d99b;color:inherit}.page-folio{display:block;margin-top:auto;padding-top:18px;text-align:center;font-family:Georgia,serif;font-size:12px;letter-spacing:.1em;color:#82765f}.book-page:hover:not([aria-disabled=true]) .page-folio{color:#282e22}.title-leaf{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:clamp(280px,35vw,610px);padding:20px}.title-leaf[hidden],.end-leaf[hidden]{display:none}.leaf-caption{font-size:9px;letter-spacing:.3em;color:#92856c}.title-leaf h3{font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(24px,3vw,48px);font-weight:400;line-height:1.1;overflow-wrap:anywhere;margin:28px 0;color:#4b4a39}.leaf-rule{width:35px;height:1px;background:#a69b7b}.title-leaf p{font:italic 14px/1.8 Georgia,serif;color:#968a73;margin-top:24px}.end-leaf{flex:1;display:grid;place-content:center;font:italic 18px Georgia,serif;color:#9a8e76}.reader-footer{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:14px 24px;border-top:1px solid #525b49;flex-wrap:wrap}.reader-footer button{border-color:#616a53;font-size:11px;padding:8px 12px}.reader-footer button:hover{background:#3d4937}.pager{display:flex;align-items:center;gap:9px;font-size:11px}.pager input{width:65px;padding:7px;background:#1d261e;color:#e6e6cf;border-color:#69735c}.reader-footer .actions{gap:6px}#reader-status{font-size:10px;color:#a7b096}@media(max-width:700px){#reader .panel-head{padding:14px 18px}#reader h2{font-size:23px}.reader-sheet{padding:12px 10px}.reader-footer{padding:12px 16px}.book-page{padding:16px 20px}.title-leaf{min-height:280px}.reader-meta{max-width:75vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:700px){.topbar .brand{font-size:9px;letter-spacing:.1em}.topbar{gap:8px}}@media(max-height:600px){#reader .panel-head{padding:8px 18px}#reader h2{font-size:21px}#reader .eyebrow{display:none}.reader-footer{padding:8px 16px;gap:6px}.reader-sheet{padding:8px 12px}}html[data-fonts=loading] #app>:not(canvas):not(.veil){visibility:hidden}html[data-fonts=ready] #app>:not(canvas):not(.veil),html[data-fonts=fallback] #app>:not(canvas):not(.veil){animation:reveal-type .3s ease-out}html[data-fonts=fallback]{font-family:Arial,sans-serif}html[data-fonts=fallback] h1,html[data-fonts=fallback] .panel-head h2,html[data-fonts=fallback] .title-leaf h3{font-family:Georgia,serif}@keyframes reveal-type{0%{opacity:0}}@media(prefers-reduced-motion:reduce){#app>:not(canvas):not(.veil){animation:none!important}}.fps-readout{position:fixed;right:40px;top:82px;z-index:3;pointer-events:none;padding:8px 12px;background:#18221be6;border:1px solid var(--line);color:var(--paper);font-size:11px;font-variant-numeric:tabular-nums}.fps-readout[hidden]{display:none}#fps-toggle[aria-pressed=true]{background:var(--accent);color:var(--ink)}@media(max-width:700px){.fps-readout{right:20px;top:64px}.topbar{flex-wrap:wrap}.topbar nav{margin-left:auto}}#flight-fade{position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;z-index:100;transition:opacity .4s ease}.flight-black #flight-fade{opacity:1;pointer-events:auto}.airborne .location,.airborne .controls,.airborne .topbar nav,.airborne .hover-label{visibility:hidden}#jump-prompt,#air-controls{position:fixed;bottom:100px;left:50%;transform:translate(-50%);color:#f0efdd;background:#141a14dd;padding:12px 18px;z-index:5;pointer-events:none}
