:root{font-family:DM Sans,sans-serif;color:#f6f0e6;background:#17252a;font-synthesis:none}*{box-sizing:border-box}html,body,#app,#scene{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid #f7c674;outline-offset:4px}#app{position:relative;isolation:isolate}#scene{position:absolute;inset:0}#scene canvas{display:block;touch-action:none}.vignette,.grain{position:absolute;inset:0;pointer-events:none}.vignette{background:radial-gradient(ellipse at 52% 43%,transparent 28%,rgba(8,20,25,.38) 100%)}.grain{opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.23'/%3E%3C/svg%3E")}.site-header{position:absolute;z-index:5;top:0;left:0;right:0;height:104px;padding:26px clamp(30px,4.2vw,76px);display:flex;align-items:center;gap:25px;background:linear-gradient(180deg,rgba(13,31,36,.7),transparent);pointer-events:none}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border:1px solid #e4b777;border-radius:50%;display:grid;place-items:center;color:#e6bb7d;font-family:Playfair Display,Georgia,serif;font-size:14px;letter-spacing:-.08em;transform:rotate(-15deg)}.brand-mark span{transform:rotate(15deg)}.brand-name{font-weight:700;font-size:14px;line-height:1.03;letter-spacing:.075em}.brand-period{color:#e1ad68}.header-divider{height:29px;width:1px;background:#ffffff4a;margin:0 1px 0 7px}.header-location,.header-right{font-size:10px;letter-spacing:.15em;font-weight:700;white-space:nowrap}.header-location{display:flex;align-items:center;gap:9px}.header-location-muted{color:#ffffff94}.location-dot,.map-caption-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e5b273;box-shadow:0 0 10px #ecb977;flex:none}.header-right{margin-left:auto;display:flex;align-items:center;gap:14px}.header-star{font-size:21px;color:#e6b270;line-height:1}.intro{position:absolute;inset:0;z-index:4;background:linear-gradient(90deg,#0b1b1ff7,#0e1e22e8 25%,#1120238c 43%,#11202314 77%);transition:opacity .55s ease,visibility .55s ease}.intro.hidden{opacity:0;visibility:hidden;pointer-events:none}.intro-inner{position:absolute;top:51%;left:clamp(32px,7.3vw,132px);width:min(560px,45vw);transform:translateY(-45%)}.eyebrow{display:flex;align-items:center;gap:12px;color:#eac493;font-weight:700;font-size:10px;letter-spacing:.18em}.eyebrow-line{display:block;width:26px;height:1px;background:#eac493}.eyebrow-index{color:#ffffff78;margin-left:10px}h1{font-family:Playfair Display,Georgia,serif;font-weight:500;font-size:clamp(58px,5.6vw,105px);line-height:.98;letter-spacing:-.055em;margin:31px 0 23px;text-wrap:nowrap}h1 em{color:#e8b774;font-weight:500}.intro-description{max-width:400px;font-size:14px;line-height:1.8;color:#f6f0e6c2;margin:0 0 29px}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:275px;height:56px;padding:0 7px 0 22px;background:#e6b87b;color:#17272a;border:1px solid #e6b87b;font-size:11px;font-weight:700;letter-spacing:.13em;transition:background .2s,transform .2s}.primary-button:hover{background:#f4d19d;transform:translateY(-2px)}.button-arrow{width:41px;height:41px;border:1px solid rgba(23,39,42,.32);display:grid;place-items:center;font-size:20px;font-weight:400}.intro-footnote{margin:16px 0 0;color:#f6f0e675;font-size:11px}.intro-bottom{position:absolute;left:clamp(32px,7.3vw,132px);bottom:42px;display:flex;align-items:center;gap:17px;color:#f8efdc94;font-size:10px;font-weight:700;letter-spacing:.12em}.intro-bottom-line{height:1px;width:38px;background:#f8efdc80}.hud{position:absolute;inset:0;z-index:3;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}.hud.visible{opacity:1;visibility:visible}.crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.65}.crosshair span{position:absolute;display:block;background:#fff5df}.crosshair span:first-child{width:1px;height:10px;top:-5px}.crosshair span:last-child{width:10px;height:1px;left:-5px}.hud-bottom{position:absolute;bottom:28px;left:clamp(25px,4.2vw,76px);right:clamp(25px,4.2vw,76px);display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.map-card,.controls-card{background:#0e2024d4;border:1px solid rgba(245,230,207,.24);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.map-card{width:220px;padding:14px 14px 12px}.map-heading,.map-caption,.controls-title{font-size:9px;font-weight:700;letter-spacing:.14em}.map-heading{display:flex;justify-content:space-between}.map-north{color:#e6bd82}#minimap{width:100%;height:103px;display:block;margin:8px 0 5px}.map-caption{color:#f2d8b3;display:flex;align-items:center;gap:7px;font-size:8px}.map-caption-dot{width:5px;height:5px}.map-caption-right{color:#ffffff73;margin-left:auto}.controls-card{width:212px;padding:15px 15px 12px}.controls-title{color:#e6bd82;margin-bottom:13px}.control-row{display:flex;justify-content:space-between;align-items:center;margin:8px 0;font-size:10px;color:#ffffffba}.control-row>span:last-child{display:flex;gap:3px}kbd{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 3px;border:1px solid rgba(255,255,255,.32);color:#f8efe0;font-family:inherit;font-size:9px}kbd.wide-key{padding:0 6px}.walk-message{position:absolute;left:50%;bottom:4px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:11px 16px;background:#0e2024d1;border:1px solid rgba(245,230,207,.22);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;color:#f9f0e2;font-size:11px}.message-symbol{color:#eabf83;font-size:16px}.interact-button{position:absolute;bottom:209px;left:50%;transform:translate(-50%);background:#e7ba7e;border:0;color:#1c292a;padding:13px 18px;font-size:10px;letter-spacing:.12em;font-weight:700;pointer-events:auto;white-space:nowrap}.interact-button[hidden]{display:none}.interact-button span{margin-left:14px;font-size:16px}.look-tip{position:absolute;top:105px;left:50%;transform:translate(-50%);background:#122327b8;color:#fff0d5;border:1px solid rgba(255,255,255,.2);padding:9px 13px;font-weight:700;font-size:9px;letter-spacing:.14em;opacity:0;transition:opacity .25s}.look-tip.visible{opacity:1}.place-panel{position:absolute;z-index:7;right:0;top:0;bottom:0;width:min(480px,100%);padding:clamp(80px,13vh,150px) clamp(32px,4vw,64px) 50px;background:#102528;border-left:1px solid rgba(230,186,126,.42);transform:translate(105%);transition:transform .45s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;pointer-events:none}.place-panel.open{transform:translate(0);pointer-events:auto}.panel-close{position:absolute;top:31px;right:41px;width:37px;height:37px;color:#f8eee0;background:transparent;border:1px solid rgba(255,255,255,.4);font-size:24px;font-weight:300;line-height:1}.panel-index{font-size:9px;font-weight:700;letter-spacing:.16em;color:#efbf82;display:flex;justify-content:space-between}.panel-index span{font-size:17px}.panel-rule{width:100%;height:1px;background:#ffffff40;margin:24px 0 auto;max-height:1px}.panel-category{color:#ecbf85;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:35px 0 15px}.place-panel h2{font-family:Playfair Display,Georgia,serif;font-size:clamp(45px,4vw,67px);line-height:1.06;letter-spacing:-.04em;font-weight:500;margin:0 0 27px}.place-panel p{font-size:15px;line-height:1.85;color:#ffffffbf;margin:0;max-width:365px}.panel-bottom{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:28px;border-top:1px solid rgba(255,255,255,.22);font-size:10px;font-weight:700;letter-spacing:.13em}.panel-back{margin-top:25px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:17px 19px;background:#e5b77b;color:#1a292b;border:0;font-size:11px;font-weight:700;letter-spacing:.13em}.panel-back span{font-size:19px}.mobile-joystick,.mobile-tip{display:none}@media(max-width:900px){.site-header{padding:19px 25px;height:85px}.header-right{display:none}.intro-inner{left:45px;width:min(500px,70vw)}.intro-bottom{left:45px}h1{font-size:clamp(61px,8vw,82px)}.controls-card{display:none}.walk-message{left:auto;right:0;transform:none}}@media(max-width:600px){.site-header{padding:18px 20px;height:75px;gap:14px}.brand-mark{width:39px;height:39px}.brand-name{font-size:11px}.header-divider,.header-location-muted{display:none}.header-location{margin-left:auto;font-size:8px;letter-spacing:.06em;gap:5px}.intro{background:linear-gradient(0deg,#0b1b1ff0,#0e1e22d1 48%,#0e1e2238)}.intro-inner{inset:auto 25px 82px 27px;width:auto;transform:none}.eyebrow{font-size:9px}.eyebrow-index{display:none}h1{font-size:clamp(53px,12vw,76px);margin:20px 0 15px}.intro-description{font-size:12px;line-height:1.6;max-width:340px;margin-bottom:20px}.primary-button{height:51px;min-width:250px}.button-arrow{width:37px;height:37px}.intro-footnote{font-size:10px}.intro-bottom{left:27px;bottom:26px;font-size:8px}.hud-bottom{left:15px;right:15px;bottom:17px}.map-card{width:175px;padding:10px}.map-heading{font-size:8px}#minimap{height:83px;margin:4px 0}.map-caption{font-size:7px}.map-caption-right,.walk-message{display:none}.crosshair{opacity:.45}.mobile-joystick{position:absolute;display:block;bottom:164px;left:24px;width:105px;height:105px;border:1px solid rgba(255,255,255,.46);background:#0f23264d;border-radius:50%;pointer-events:auto;touch-action:none}#joystick-thumb{position:absolute;width:46px;height:46px;left:29px;top:29px;background:#eabe84cc;border:1px solid #f4d0a0;border-radius:50%}.mobile-tip{display:block;position:absolute;right:19px;bottom:174px;color:#fffc;font-size:9px;font-weight:700;letter-spacing:.1em;text-shadow:0 1px 6px #091d20}.interact-button{bottom:298px}.look-tip{display:none}.place-panel{padding:95px 30px 35px}}@media(max-height:730px)and (min-width:601px){.intro-inner{top:52%}h1{font-size:clamp(52px,5vw,79px);margin:18px 0 14px}.intro-description{margin-bottom:17px}.intro-bottom{bottom:22px}}@media(pointer:coarse)and (min-width:601px){.mobile-joystick{position:absolute;display:block;bottom:199px;left:clamp(25px,4.2vw,76px);width:105px;height:105px;border:1px solid rgba(255,255,255,.46);background:#0f23264d;border-radius:50%;pointer-events:auto;touch-action:none}#joystick-thumb{position:absolute;width:46px;height:46px;left:29px;top:29px;background:#eabe84cc;border:1px solid #f4d0a0;border-radius:50%}.mobile-tip{display:block;position:absolute;right:clamp(25px,4.2vw,76px);bottom:205px;color:#fffc;font-size:9px;font-weight:700;letter-spacing:.1em;text-shadow:0 1px 6px #091d20}.look-tip{display:none}}@media(max-width:600px)and (max-height:700px){.intro-inner{bottom:43px}.intro-bottom,.intro-footnote{display:none}h1{font-size:clamp(42px,10vw,58px);margin:12px 0 10px}.intro-description{font-size:11px;line-height:1.5;margin-bottom:13px}.primary-button{height:46px}.button-arrow{width:33px;height:33px}}
