:root{--ink: #0e0c0a;--panel: rgba(18, 15, 12, .82);--line: rgba(201, 162, 90, .28);--gold: #d2a95c;--gold2: #f0d9a0;--text: #e9e0cf;--dim: #a89c86;--serif: "EB Garamond", Georgia, "Times New Roman", serif;--display: "Cinzel", "Trajan Pro", Georgia, serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#07090c;color:var(--text);font-family:var(--serif);font-size:16px;-webkit-font-smoothing:antialiased}#gl{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#gl:active{cursor:grabbing}.hidden{display:none!important}button{font:inherit;color:inherit;cursor:pointer}#top{position:fixed;top:0;left:0;right:0;height:54px;display:flex;align-items:center;gap:18px;padding:0 18px;z-index:20;background:linear-gradient(180deg,#080706db,#08070600);pointer-events:none}#top>*{pointer-events:auto}.brand{font-family:var(--display);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:15px;color:var(--gold2);white-space:nowrap;text-shadow:0 1px 8px #000}.sigil{color:var(--gold);margin-right:6px}#crumbs{display:flex;gap:8px;align-items:center;font-family:var(--display);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);white-space:nowrap;overflow:hidden}#crumbs a{color:var(--dim);cursor:pointer;text-decoration:none}#crumbs a:hover{color:var(--gold2)}#crumbs b{color:var(--text);font-weight:500}#crumbs i{color:var(--gold);font-style:normal;opacity:.6}.spacer{flex:1}.btn,.seg button{background:#14110dc7;border:1px solid var(--line);color:var(--gold2);padding:7px 14px;font-family:var(--display);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;border-radius:3px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,border-color .2s}.btn:hover,.seg button:hover{background:#3c2e1ad9;border-color:var(--gold)}.seg{display:flex}.seg button{border-radius:0;margin-left:-1px}.seg button:first-child{border-radius:3px 0 0 3px}.seg button:last-child{border-radius:0 3px 3px 0}.seg button.on{background:linear-gradient(180deg,#7a5c2a,#4a3616);color:#fff3d6;border-color:var(--gold)}#panel{position:fixed;top:64px;left:16px;width:318px;max-height:calc(100vh - 120px);overflow-y:auto;z-index:15;background:var(--panel);border:1px solid var(--line);border-radius:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 40px #00000080;padding:16px 16px 12px;scrollbar-width:thin;scrollbar-color:#5a4628 transparent;transition:transform .35s ease,opacity .35s}#panel.collapsed{transform:translate(-340px);opacity:0;pointer-events:none}#panel h2{font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:.06em;margin:0 0 2px;color:#f6ead0;line-height:1.2}#panel .tag{font-style:italic;color:var(--gold2);margin:0 0 10px;font-size:15.5px;line-height:1.35}#panel .lore{color:#d2c8b4;font-size:15px;line-height:1.5;margin:0 0 12px}#panel h3{font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:14px 0 6px;border-top:1px solid var(--line);padding-top:11px;font-weight:500}#panel .kicker{font-family:var(--display);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}.row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:0;border-radius:3px;padding:6px 8px;font-size:15.5px;color:var(--text)}.row:hover{background:#d2a95c24;color:#fff}.row .dot{width:9px;height:9px;border-radius:50%;flex:none;box-shadow:0 0 0 1px #00000080}.row .ico{color:var(--gold);width:14px;text-align:center;flex:none}.row small{color:var(--dim);margin-left:auto;font-size:12px;font-style:italic}.row.soon{opacity:.4;cursor:default}.region{border-bottom:1px solid rgba(201,162,90,.12)}.region>.row{font-family:var(--display);font-size:13px;letter-spacing:.08em;padding:8px}.region .sub{font-size:12.5px;color:var(--dim);font-style:italic;margin:-4px 0 4px 27px}.region .locs{margin:0 0 6px 16px;display:none}.region.open .locs{display:block}.poi-text{font-size:14.5px;color:#cfc4ae;line-height:1.45;margin:2px 8px 8px 31px;display:none}.poi-open+.poi-text{display:block}#labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;overflow:hidden}.lbl{position:absolute;left:0;top:0;transform:translate(-50%,-100%);white-space:nowrap;pointer-events:auto;cursor:pointer;font-family:var(--display);text-shadow:0 1px 3px #000,0 0 10px rgba(0,0,0,.9);will-change:transform;-webkit-user-select:none;user-select:none}.lbl.loc{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#f4ead4;padding:3px 9px 3px 7px;background:#0e0c09a8;border:1px solid var(--line);border-radius:2px;transition:background .2s,border-color .2s}.lbl.loc:before{content:"◆";color:var(--c, var(--gold));margin-right:6px;font-size:9px}.lbl.loc:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:16px;background:linear-gradient(var(--gold),transparent)}.lbl.loc:hover{background:#5a421eeb;border-color:var(--gold);z-index:5}.lbl.loc.soon{opacity:.45}.lbl.region{font-size:19px;letter-spacing:.5em;text-transform:uppercase;color:#f6ead080;font-weight:700;pointer-events:none}.lbl.region:hover{color:#fff}.lbl.door{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#1a1206;background:linear-gradient(180deg,#f0d08a,#c99a46);padding:4px 10px;border-radius:2px;box-shadow:0 2px 12px #0009,0 0 18px #f0be5a59;text-shadow:none;font-weight:700}.lbl.door:before{content:"▸ "}.lbl.door.exit:before{content:"◂ "}.lbl.door:hover{background:#fff0c4}.lbl.poi{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#efe6d2;padding:2px 7px;background:#0e0c0980;border-left:2px solid var(--gold)}.lbl.poi:hover{background:#3c2e1ae6}#hint{position:fixed;bottom:14px;left:50%;transform:translate(-50%);z-index:12;font-size:13.5px;color:#d8cdb6;background:#0c0a0899;padding:6px 14px;border-radius:20px;border:1px solid rgba(201,162,90,.16);pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#hint kbd{font-family:var(--display);font-size:10.5px;color:var(--gold2);border:1px solid var(--line);border-radius:3px;padding:1px 5px;margin:0 2px}#prompt{position:fixed;bottom:64px;left:50%;transform:translate(-50%);z-index:13;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:#1a1206;background:linear-gradient(180deg,#f0d08a,#c99a46);padding:8px 18px;border-radius:3px;cursor:pointer;box-shadow:0 4px 24px #0009}#stats{position:fixed;right:12px;bottom:12px;z-index:12;font:11px/1.4 ui-monospace,Consolas,monospace;color:#b8d8b0;background:#0000008c;padding:6px 9px;border-radius:3px;white-space:pre}#fade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:radial-gradient(ellipse at center,#17120c,#050404 75%);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s ease}#fade.on{opacity:1;pointer-events:auto}#fade .card{text-align:center;max-width:640px;padding:0 24px}#fade .over{font-family:var(--display);letter-spacing:.4em;text-transform:uppercase;font-size:11.5px;color:var(--gold);margin-bottom:14px}#fade h1{font-family:var(--display);font-weight:700;font-size:clamp(30px,5vw,56px);letter-spacing:.1em;margin:0 0 12px;color:#f6ead0;text-shadow:0 0 40px rgba(210,169,92,.3)}#fade p{font-style:italic;color:#cbbf a6;color:#cbbfa6;font-size:18px;margin:0 0 26px;min-height:1.4em}#fade .bar{width:180px;height:1px;margin:0 auto;background:#c9a25a33;overflow:hidden}#fade .bar i{display:block;width:40%;height:100%;background:var(--gold);animation:slide 1.3s ease-in-out infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}#quality button{padding:7px 9px;font-size:10.5px}@media (max-width: 760px){#quality button{padding:6px;font-size:9.5px}#modes button{padding:7px 9px}#panel{width:calc(100vw - 32px);max-height:38vh;top:auto;bottom:52px}.brand{font-size:12px}#crumbs{display:none}}
