:root{--ink:#0a1014;--panel:#101a21;--gold:#c8aa73;--paper:#f0e6d0;--muted:#a7b1b5;--line:#c8aa733b;--blue:#75b6c1;font-family:Lato,sans-serif;color:var(--paper);background:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #f1cf83;outline-offset:5px}button{border:1px solid var(--line);background:transparent;border-radius:3px;padding:11px 17px}button:hover{border-color:var(--gold);background:#c8aa7310}header{height:104px;padding:0 3.5%;display:flex;align-items:center;gap:30px;background:#0c141bec;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;gap:14px;align-items:center;flex-shrink:0;font:500 18px Cinzel,serif}.brand img{width:58px;height:64px;object-fit:contain}.brand small{display:block;font:11px Lato,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:7px}.brand span{white-space:nowrap}nav{display:flex;gap:25px;align-items:center;margin-left:auto;font-size:13px}nav a{padding:12px 0;color:#c9ced0;border-bottom:1px solid transparent}nav a:hover,nav a.active{color:#edd7ad;border-color:var(--gold)}nav a span{color:var(--gold);margin-left:4px}.login{font-size:13px;white-space:nowrap}.login span{margin-left:12px;color:var(--gold)}[hidden]{display:none!important}.skip{position:absolute;left:15px;top:-60px;z-index:20;background:var(--panel);padding:12px}.skip:focus{top:12px}.scene{position:relative;height:calc(100svh - 104px);min-height:570px;overflow:hidden;background:#12171a}.scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none}.scene:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#06101810 45%,#030b12c9);pointer-events:none}.scene.entering .scene-image{animation:enter 1.15s ease-in forwards}@keyframes enter{to{transform:scale(1.32);filter:blur(4px) brightness(.3)}}.scene.arrive .scene-image{animation:arrive .9s ease-out}@keyframes arrive{from{transform:scale(1.07);opacity:.3}to{transform:scale(1);opacity:1}}.scene-top{position:absolute;left:4%;right:4%;top:29px;display:flex;align-items:start;justify-content:space-between;z-index:2}.back{font-size:12px;letter-spacing:.06em;background:#09131a99;backdrop-filter:blur(10px)}.scene-title{text-align:right;text-shadow:0 2px 20px black}.scene-title small,.eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}.scene-title h1{font:400 25px Cinzel;margin:9px 0}.entry{position:absolute;top:56%;left:50%;transform:translate(-50%,-50%);z-index:3}.entry button{min-width:190px;padding:16px 28px;background:#101612db;border:1px solid #cfb17d;color:#f0dfb8;box-shadow:0 7px 30px #0009;font:500 15px Cinzel;letter-spacing:.12em}.entry button span{margin-left:28px}.bottom-note{position:absolute;bottom:68px;left:20px;right:20px;text-align:center;z-index:2;color:#ddd7c6;font-size:12px;letter-spacing:.12em;text-shadow:0 2px 10px #000}.bottom-note:before{content:'◇';display:block;color:var(--gold);font-size:18px;margin-bottom:13px}.spot{position:absolute;z-index:3;transform:translate(-50%,-50%);text-align:center;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='32'%3E%3Cpath fill='%23efe1be' stroke='%23453521' d='M9 28 3 17q-1-4 3-2l3 3V5q1-5 4-1v10q2-4 4 0 3-3 4 1 4-2 4 3l-3 10Z'/%3E%3C/svg%3E") 10 4,pointer}.sign{background:linear-gradient(90deg,#16191bd9,#382b1fd9);border:1px solid #bf9e67a6;padding:16px 28px;box-shadow:0 5px 25px #0008;font:16px Cinzel;min-width:240px;backdrop-filter:blur(5px)}.sign small{display:block;font:10px Lato;letter-spacing:.13em;margin-top:6px;color:#c7b896}.book{height:38%;width:8%;min-width:64px;border:1px solid transparent;background:linear-gradient(90deg,#060e1480,#4d291d33);writing-mode:vertical-rl;text-orientation:mixed;font:16px Cinzel;color:#f6dfac;text-shadow:0 1px 3px #000;display:flex;align-items:center;justify-content:center;letter-spacing:.08em;padding:10px}.book:hover{background:#e3b86224;box-shadow:0 0 30px #e3b86233;border-color:#e3c990}.object{border:0;width:23%;height:24%;background:transparent;display:grid;place-items:center}.object .object-label{position:absolute;top:100%;white-space:nowrap;border-bottom:1px solid var(--gold);padding:12px 16px;background:#0b1115cf;backdrop-filter:blur(8px);font:14px Cinzel}.object .glint{font-size:26px;color:#f6e3b5;text-shadow:0 0 20px #e5cb80;transition:transform .2s}.object:hover{background:radial-gradient(ellipse,#e5cb8020,transparent 65%)}.object:hover .glint{transform:scale(1.3)}.locked .object-label{color:#b1aa9b}.previewbar{position:fixed;bottom:0;left:0;right:0;height:35px;z-index:9;background:#071018e8;border-top:1px solid #ffffff13;display:flex;align-items:center;gap:18px;padding:0 20px;color:#9da9af;font-size:10px;letter-spacing:.06em;backdrop-filter:blur(12px)}.previewbar button{font-size:10px;padding:4px 0;border:0;border-radius:0}.previewbar button:first-child{color:#ddc397}.previewbar button:last-child{margin-left:auto}.page{padding:30px max(5vw,20px) 85px;min-height:calc(100svh - 104px);background:radial-gradient(ellipse at 80% 0,#21394466,transparent 55%),#0c151c}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:28px 0}.page h1{font:400 clamp(27px,3.5vw,46px) Cinzel;margin:10px 0}.page h2{font:400 22px Cinzel}.lede{font-size:14px;color:var(--muted);line-height:1.8;margin:0;max-width:650px}.tag{font-size:10px;letter-spacing:.09em;text-transform:uppercase;border:1px solid var(--line);padding:7px 10px;border-radius:2px;color:var(--gold);white-space:nowrap}.timeline-panel{padding:20px 25px;border:1px solid var(--line);background:#121f27}.timeline-head{display:flex;justify-content:space-between;align-items:center;font-size:13px}.timeline-head strong{font:18px Cinzel}.timeline-head small{display:block;color:var(--muted);margin-top:6px}.timeline-panel input{width:100%;accent-color:var(--gold);margin:20px 0 10px}.timeline-labels{display:flex;justify-content:space-between;color:#9aafb8;font-size:11px}.map-frame{height:490px;background:#d1c49e;position:relative;overflow:hidden;border:1px solid #c8aa7355;margin-top:16px;cursor:grab;touch-action:none}.map-canvas{width:100%;height:100%;transform-origin:center;position:relative}.map-canvas>svg{width:100%;height:100%;display:block}.map-tools{position:absolute;right:15px;top:15px;z-index:3;display:flex;gap:6px}.map-tools button{background:#101c23ed;color:#ead6b0;font-size:18px;min-width:40px;padding:7px}.map-credit{position:absolute;bottom:8px;right:12px;background:#101a21d9;color:#e6ddc5;font-size:10px;padding:6px 9px;z-index:2;max-width:90%}.map-info{font-size:12px;color:var(--muted);margin:15px 0}.map-pin{position:absolute;transform:translate(-50%,-50%);background:#153340;color:#e1c18b;border:2px solid #ead09c;border-radius:50%;width:34px;height:34px;padding:0;box-shadow:0 2px 10px #0007;z-index:1}.map-pin:hover{background:#29576c}.tabs{display:flex;border-bottom:1px solid var(--line);gap:30px;margin:28px 0}.tabs button{border:0;border-radius:0;padding:15px 0;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{border-color:var(--gold);color:#e7cfa4}.knowledge-layout{display:grid;grid-template-columns:220px 1fr;gap:40px}.index-links{border-right:1px solid var(--line);padding-right:24px}.index-links button{display:block;border:0;width:100%;text-align:left;padding:12px;color:var(--muted);font-size:13px}.index-links button.active{background:#c8aa730c;color:#e7cfa4;border-left:2px solid var(--gold)}.search{width:100%;background:#071119;border:1px solid var(--line);padding:12px 14px;color:var(--paper);font:14px Lato;margin-bottom:24px}.entry-card{padding:0 0 23px;margin-bottom:24px;border-bottom:1px solid var(--line)}.entry-card h3{font:20px Cinzel;margin:12px 0}.entry-card p,.dialog-copy{font-size:15px;line-height:1.8;color:#bbc5c8;max-width:850px}.source{font-size:11px;color:#839eaa}.chronicle{max-width:850px;padding-left:25px;border-left:1px solid var(--gold);margin-left:10px}.chronicle article{position:relative;margin-bottom:32px;padding-left:18px}.chronicle article:before{content:'';position:absolute;width:9px;height:9px;background:var(--gold);border:4px solid #10212a;box-sizing:content-box;left:-34px;top:3px;border-radius:50%}.chronicle p{color:#b5c4c9;line-height:1.8}.chronicle small{color:var(--gold)}.world-frame{height:510px;background:#b7a077}.world-map{position:relative;width:100%;aspect-ratio:6500/3502;overflow:hidden}.world-map img{width:136.4154%;height:auto;max-width:none;display:block}.world-canvas{height:auto;min-height:100%}.form-panel{max-width:750px;border:1px solid var(--line);padding:25px;background:#13212b70}.form-panel label{display:block;font-size:13px;margin:0 0 18px;color:#d7c5a3}.form-panel input,.form-panel textarea,.form-panel select,.admin-user{display:block;width:100%;margin-top:9px;border:1px solid var(--line);background:#0a151d;color:#eee5d2;padding:12px;font:15px Lato}.form-panel textarea{min-height:140px;resize:vertical}.primary{background:#c7a978;color:#10191d;border:1px solid #c7a978;font-weight:700}.primary:hover{background:#e0c390;color:#10191d}.subtle{color:var(--muted);font-size:12px;line-height:1.7}.admin-layout{display:grid;grid-template-columns:260px minmax(0,650px);gap:40px}.checks{display:grid;gap:0;border:1px solid var(--line);margin:22px 0}.checks label{display:flex;align-items:center;gap:15px;padding:18px;border-bottom:1px solid var(--line);font-size:14px}.checks label:last-child{border-bottom:0}.checks input{accent-color:var(--gold);width:18px;height:18px}.checks label small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.status-box{background:#151f25;border-left:2px solid var(--gold);padding:15px 18px;font-size:13px;color:#c6c7c1;line-height:1.7;margin:20px 0}.empty{padding:35px;border:1px dashed var(--line);color:var(--muted);line-height:1.8}dialog{max-width:560px;width:calc(100% - 36px);background:#14212a;border:1px solid #c8aa7370;padding:35px;color:var(--paper);box-shadow:0 20px 120px black;max-height:85svh;overflow:auto}dialog::backdrop{background:#030b12be;backdrop-filter:blur(6px)}dialog h2{font:25px Cinzel;margin:10px 30px 20px 0}.close{position:absolute;right:12px;top:8px;border:0;font-size:28px;padding:3px 8px}.demo-options{display:grid;gap:10px;margin-top:20px}.demo-options button{text-align:left}.demo-options small{display:block;color:var(--muted);margin-top:5px;line-height:1.5}.toast-show{opacity:1!important;transform:translate(-50%,0)!important}#toast{position:fixed;z-index:30;bottom:55px;left:50%;max-width:90%;width:max-content;background:#223944;color:#f4e6cb;border:1px solid var(--gold);padding:14px 22px;font-size:13px;opacity:0;pointer-events:none;transform:translate(-50%,10px);transition:.2s}.actions-list article{border-bottom:1px solid var(--line);padding:20px 0;overflow-wrap:anywhere}.actions-list p{white-space:pre-wrap;color:#bbc5c8;line-height:1.7}.reduced *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(min-width:1500px){.scene-image{object-fit:cover}.entry{top:56%}}@media(max-width:1100px){header{padding:0 20px;gap:18px}.brand{font-size:14px}.brand img{width:45px}.brand small{font-size:8px}nav{gap:15px;font-size:12px}.login{padding:10px}.sign{min-width:210px;font-size:14px}}@media(max-width:760px){header{height:125px;flex-wrap:wrap;padding:12px 16px;gap:5px 12px;align-content:center}.brand{font-size:13px}.brand img{height:44px;width:39px}.brand small{font-size:8px;letter-spacing:.12em}.login{margin-left:auto;font-size:11px}nav{order:3;width:100%;margin:0;gap:0;justify-content:space-between;overflow:auto;font-size:11px}nav a{padding:13px 5px;white-space:nowrap}.scene{height:calc(100svh - 125px);min-height:530px}.scene-image{object-fit:cover}.scene.hub .scene-image,.scene.maps .scene-image,.scene.events .scene-image{object-position:center}.scene-title h1{font-size:18px}.scene-title small{font-size:8px}.sign{min-width:0;width:43%;padding:15px 8px;font-size:12px}.sign small{font-size:8px}.book{width:14%;font-size:13px;height:35%}.object{width:28%}.object .object-label{font-size:10px;white-space:normal;width:120px;padding:10px 5px}.bottom-note{font-size:10px;bottom:60px;letter-spacing:.06em}.previewbar{padding:0 10px;gap:10px;letter-spacing:0}.page{padding:22px 18px 70px}.page-head{display:block}.page-head .tag{display:inline-block;margin-top:15px}.tabs{gap:20px;overflow:auto;white-space:nowrap}.tabs button{font-size:12px}.knowledge-layout,.admin-layout{grid-template-columns:1fr;gap:20px}.index-links{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow:auto;padding:0}.index-links button{white-space:nowrap;width:auto}.map-frame{height:380px}.timeline-panel{padding:16px}.timeline-labels{font-size:9px}.world-frame{height:360px}.world-map{min-width:680px}.form-panel{padding:18px}.entry button{min-width:165px;font-size:13px}.scene-top{top:18px}.back{font-size:10px;padding:9px}.scene-title{max-width:55%}}
@media(max-width:760px){.scene:not(.door){min-height:640px}.scene:not(.door) .scene-image{height:58%;object-fit:cover}.scene:not(.door):after{background:linear-gradient(180deg,transparent 30%,#071018 58%)}.scene.hub>.sign,.scene.events>.book,.scene.maps>.object,.scene.plots>.object{left:50%!important;width:calc(100% - 40px);height:60px;min-width:0;transform:translate(-50%,-50%);writing-mode:horizontal-tb;display:flex;align-items:center;justify-content:center;background:#15202ae6;border:1px solid var(--line);padding:12px}.scene.hub>.sign{display:block}.scene.hub>.sign:nth-of-type(1),.scene.events>.book:nth-of-type(1),.scene.maps>.object:nth-of-type(1){top:59%!important}.scene.hub>.sign:nth-of-type(2),.scene.events>.book:nth-of-type(2),.scene.maps>.object:nth-of-type(2){top:70%!important}.scene.hub>.sign:nth-of-type(3),.scene.events>.book:nth-of-type(3),.scene.maps>.object:nth-of-type(3){top:81%!important}.scene.plots>.object{top:68%!important}.scene .object .object-label{position:static;width:auto;white-space:normal;font-size:14px;border:0;background:none}.scene .object .glint{font-size:20px}.scene:not(.door) .bottom-note{bottom:46px;font-size:10px;padding:0 8px}.scene:not(.door) .bottom-note:before{display:none}.scene.door .scene-image{object-position:center}.timeline-head{gap:12px}.timeline-head button{font-size:10px;padding:10px}.timeline-head strong{font-size:16px}}
#region-map #map-canvas{width:100%;min-width:760px;height:auto;aspect-ratio:2}
.scene.hub>.sign{width:28%;max-width:400px;min-width:230px;height:auto;aspect-ratio:4/1;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;display:grid;place-items:center;filter:drop-shadow(0 10px 14px #0009);transition:filter .2s}
.scene.hub>.sign:hover{background:none;border:0;filter:brightness(1.2) drop-shadow(0 10px 16px #000a)}
.sign img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.sign-right img{transform:scaleX(-1)}
.sign span{position:relative;z-index:1;font:500 clamp(13px,1.18vw,20px) Cinzel,serif;color:#ebd4a3;text-shadow:0 2px 2px #000,0 -1px 1px #382511;letter-spacing:.035em;pointer-events:none}
.sign-left span{margin-left:9%}.sign-right span{margin-right:9%}
@media(max-width:760px){.scene.hub>.sign{width:calc(100% - 36px);max-width:370px;min-width:0;height:auto;aspect-ratio:4/1;padding:0;border:0;background:none;display:grid}.scene.hub>.sign span{font-size:15px}.scene.hub>.sign:nth-of-type(1){top:59%!important}.scene.hub>.sign:nth-of-type(2){top:73%!important}.scene.hub>.sign:nth-of-type(3){top:87%!important}}

/* Actual Magnific footage, with controls kept above the scene. */
.scene.walking{animation:none}.scene.walking>:not(.walk-layer){visibility:hidden}.scene.walking:after{display:none}
.walk-layer{position:absolute;inset:0;z-index:20;background:#071018}
.walk-video{width:100%;height:100%;object-fit:cover;display:block}
.walk-controls{position:absolute;top:26px;left:3%;right:3%;display:flex;justify-content:space-between;gap:16px}
.walk-controls .back{background:#08131ce8;min-height:44px;color:#f2e4c9}
@media(max-width:760px){.walk-video{object-fit:contain}.walk-controls{top:18px}.walk-controls .back{font-size:12px}}

.form-panel label{display:block;margin:16px 0}.form-panel input{display:block;width:100%;margin-top:8px;padding:12px;background:#0b1822;color:#eee;border:1px solid #6d746b}.form-panel fieldset{border:0;padding:0;margin:0}.form-panel fieldset:disabled{opacity:.65}.account-admin{display:inline-block;margin:0 16px 16px 0}#login-error{color:#ffb5a3}.previewbar{justify-content:flex-end}.checks label{min-height:56px}
