.ui-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;font-family:Georgia,Times New Roman,serif;color:#e8d5a3;z-index:10}.crosshair{position:absolute;top:50%;left:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#e8d5a3d9;box-shadow:0 0 6px #000c}.prompt{position:absolute;top:56%;left:50%;transform:translate(-50%);background:#0f0a05c7;border:1px solid rgba(201,162,39,.45);border-radius:4px;padding:8px 18px;font-size:17px;letter-spacing:.4px;white-space:nowrap}.prompt kbd{display:inline-block;border:1px solid #c9a227;border-radius:3px;padding:0 7px;margin-right:9px;font-family:inherit;color:#c9a227;font-weight:700}.note{position:absolute;bottom:90px;left:50%;transform:translate(-50%);max-width:520px;background:#1c140ae0;border:1px solid rgba(201,162,39,.5);border-radius:4px;padding:14px 22px;font-size:16px;font-style:italic;line-height:1.5;color:#e8d5a3;text-align:center;animation:book-fade .4s ease}.clue-counter{position:absolute;top:24px;right:28px;font-size:13px;letter-spacing:.6px;color:#e8d5a3bf;border:1px solid rgba(201,162,39,.35);border-radius:4px;padding:4px 10px;background:#0f0a058c}.map-tip{position:absolute;bottom:26px;right:28px;font-size:13px;letter-spacing:.3px;color:#e8d5a3a6}.map-tip kbd{display:inline-block;border:1px solid rgba(201,162,39,.7);border-radius:3px;padding:0 6px;margin-right:6px;color:#c9a227;font-weight:700}.map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0805028c;pointer-events:auto;cursor:pointer}.map-panel{position:relative;cursor:default;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 22px 14px;background:radial-gradient(ellipse at center,#1c1309f5,#0c0803fa);border:1px solid rgba(201,162,39,.45);border-radius:6px;box-shadow:0 0 30px #000000b3,inset 0 0 20px #c9a2270f}.map-close{position:absolute;top:10px;right:12px;width:26px;height:26px;padding:0;background:transparent;border:1px solid rgba(201,162,39,.5);border-radius:4px;color:#c9a227;font-size:14px;line-height:1;cursor:pointer}.map-close:hover{background:#c9a2271f}.map-title{margin:0;font-size:17px;font-weight:400;letter-spacing:1px;color:#c9a227}.map-svg{height:min(64vh,560px);width:auto}.map-floor{fill:#c9a2270d;stroke:#c9a227a6;stroke-width:.18;stroke-linejoin:round}.map-shelf{fill:#a0783c8c}.map-dot{stroke:#0a0602e6;stroke-width:.12}.map-dot-label{fill:#e8d5a3;font-size:.95px;paint-order:stroke;stroke:#080502e6;stroke-width:.35;stroke-linejoin:round}.map-player{fill:#f4e4b0;stroke:#0a0602e6;stroke-width:.12;stroke-linejoin:round}.map-hint{margin:0;font-size:12px;color:#e8d5a399;display:flex;align-items:center;gap:6px}.map-hint kbd{display:inline-block;border:1px solid rgba(201,162,39,.7);border-radius:3px;padding:0 6px;color:#c9a227;font-weight:700}.map-you{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid #f4e4b0}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse at center,#140d06e0,#050301f7);pointer-events:auto;z-index:20;font-family:Georgia,serif;color:#e8d5a3;text-align:center}.screen h1{font-size:54px;font-weight:400;letter-spacing:3px;text-shadow:0 2px 18px rgba(201,162,39,.35)}.screen h2{font-size:34px;font-weight:400;letter-spacing:2px}.screen .tagline{font-style:italic;color:#b09a6a;font-size:18px;margin-bottom:18px}.screen .ornament{color:#c9a227;font-size:22px;letter-spacing:8px}.screen button{pointer-events:auto;cursor:pointer;background:transparent;border:1px solid #c9a227;color:#e8d5a3;font-family:Georgia,serif;font-size:20px;letter-spacing:2px;padding:13px 46px;border-radius:3px;transition:background .25s,color .25s}.screen button:hover{background:#c9a227;color:#1a1108}.screen .controls-help{margin-top:26px;font-size:14.5px;color:#9a865c;line-height:1.9}.screen .controls-help kbd{border:1px solid #6e5c38;border-radius:3px;padding:1px 7px;margin:0 3px;font-family:inherit;color:#c9b07a}.world-cards{display:flex;gap:20px;margin:8px 0 18px}.world-card{display:flex;flex-direction:column;align-items:center;gap:8px;width:200px;padding:20px 18px 18px;background:#140d06b3;border:1px solid rgba(201,162,39,.4);border-radius:4px;color:#e8d5a3;font-family:Georgia,serif;cursor:pointer;transition:border-color .2s,background .2s;pointer-events:auto}.world-card:hover{border-color:#c9a227;background:#281a0ad9}.world-card-name{font-size:18px;letter-spacing:1.5px;color:#e8d5a3}.world-card-desc{font-size:13px;font-style:italic;color:#9a865c;line-height:1.5;text-align:center}.book-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#050301b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;z-index:30;animation:book-fade .45s ease}@keyframes book-fade{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.book-page{width:min(680px,92vw);max-height:84vh;overflow-y:auto;background:linear-gradient(160deg,#f2e7c9,#e6d5ac 55%,#dcc795);color:#2e2110;border-radius:4px;border:1px solid #8a7340;box-shadow:0 30px 80px #000000d9,inset 0 0 60px #785a1e2e;padding:52px 58px 44px;font-family:Georgia,serif;line-height:1.75;font-size:17px}.book-page h1{font-size:32px;font-weight:400;letter-spacing:1px;margin-bottom:2px;color:#3a2a10}.book-page .book-subtitle{font-style:italic;color:#7a6334;margin-bottom:22px;font-size:16px}.book-page p{margin-bottom:14px}.book-page ul{margin:0 0 14px 22px}.book-page li{margin-bottom:9px}.book-page a{color:#7a4a14}.book-page hr{border:none;border-top:1px solid rgba(122,99,52,.4);margin:20px 0}.book-page .book-hint{font-size:14px;color:#8a7340;font-style:italic}.book-close{position:absolute;top:26px;right:30px;background:transparent;border:1px solid #c9a227;color:#e8d5a3;font-family:Georgia,serif;font-size:15px;padding:9px 20px;border-radius:3px;cursor:pointer}.book-close:hover{background:#c9a227;color:#1a1108}.mobile-fallback{height:100%;overflow-y:auto;background-color:#0a0602;background-image:radial-gradient(ellipse at 50% 0%,rgba(80,42,10,.85) 0%,transparent 62%);color:#e8d5a3;font-family:Georgia,serif;padding-bottom:80px}.mobile-fallback-header{text-align:center;padding:52px 24px 36px;border-bottom:1px solid rgba(201,162,39,.18)}.mobile-fallback-header h1{font-size:clamp(26px,7vw,42px);font-weight:400;letter-spacing:2px;text-shadow:0 0 40px rgba(201,162,39,.35);margin-bottom:8px}.mobile-fallback-header .tagline{font-style:italic;color:#b09a6a;font-size:16px;margin-bottom:22px}.mobile-ornament{color:#c9a227;letter-spacing:8px;font-size:15px;opacity:.7}.mobile-books{padding:28px 16px 0;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.mobile-section{background:linear-gradient(150deg,#f5eacc,#e9d8aa,#ddc997);color:#2e2110;border-radius:5px;overflow:hidden;box-shadow:0 6px 28px #0000008c,0 1px #ffffff12}.mobile-section-header{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid rgba(120,90,30,.28)}.mobile-section-spine{width:5px;align-self:stretch;min-height:48px;border-radius:3px;background:var(--spine, #8a6a30);flex-shrink:0;box-shadow:0 2px 8px #0000004d}.mobile-section-titles h2{font-size:20px;font-weight:400;margin-bottom:3px;color:#2e2110}.mobile-section-titles .book-subtitle{font-style:italic;color:#7a6334;font-size:13.5px}.mobile-section-body{padding:16px 20px 20px;font-size:15.5px;line-height:1.75}.mobile-section-body p{margin-bottom:12px}.mobile-section-body p:last-child{margin-bottom:0}.mobile-section-body ul{margin:0 0 12px 20px}.mobile-section-body li{margin-bottom:8px}.mobile-section-body a{color:#7a4a14}.mobile-section-body hr{border:none;border-top:1px solid rgba(122,99,52,.35);margin:16px 0}.mobile-section-body .book-hint{font-size:13px;color:#8a7340;font-style:italic}.mobile-footer{text-align:center;padding:36px 24px 0;max-width:480px;margin:0 auto}.mobile-footer-ornament{color:#c9a227;letter-spacing:8px;font-size:14px;opacity:.5;margin-bottom:14px}.mobile-note{font-size:13.5px;color:#9a865c;font-style:italic;line-height:1.65;margin:0}
