:root{font-family:Arial,Helvetica,sans-serif;color:#23372e;background:#deded4;font-synthesis:none;--paper:#faf8f1;--green:#294536;--muted:#657367}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,input{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #b88d46;outline-offset:3px}#viewport{position:fixed;inset:0;outline:none;touch-action:none}#viewport canvas{display:block;width:100%;height:100%}.topbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:20px;padding:17px 24px;background:linear-gradient(#faf8f1f2,#faf8f1e8);border-bottom:1px solid #c9d0c4;z-index:4}.back{color:var(--green);text-decoration:none;white-space:nowrap;font-size:22px;display:flex;gap:16px;align-items:center}.back span{font-size:12px;letter-spacing:.16em}.back b{font-size:14px;letter-spacing:.02em}.title{margin-right:auto;border-left:1px solid #c9cfc5;padding-left:20px}.title span{display:block;font-family:Georgia,serif;font-size:20px}.title small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.icon-button{border:1px solid #c3ccbf;background:transparent;color:var(--green);border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-size:19px;flex-shrink:0}.explore-panel{position:fixed;top:103px;left:24px;width:250px;padding:19px;background:#faf8f1ee;border:1px solid #d4d9cf;box-shadow:0 7px 26px #24362915;z-index:3;border-radius:3px;max-height:calc(100dvh - 195px);overflow:auto;backdrop-filter:blur(12px)}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading .icon-button{width:23px;height:23px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:700;color:#6c795e}.panel-content{padding-top:13px}.panel-content>label,#pano-panel>label{font-size:11px;font-weight:600;display:block;margin:12px 0 7px}select{width:100%;padding:10px 9px;background:#fffdf7;color:#2a4133;border:1px solid #c7cec0;border-radius:2px;font-size:12px}.mode-switch{display:flex;margin:16px 0 12px;gap:4px}.mode-switch button{padding:9px 5px;flex:1;border:1px solid #c4cdbd;background:transparent;color:#41533d;font-size:11px;border-radius:2px}.mode-switch button.active{background:var(--green);color:white;border-color:var(--green)}.switch-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:15px 0}.switch-row input{accent-color:var(--green);width:16px;height:16px}.model-note{font-size:11px;color:var(--muted);line-height:1.6;padding-top:10px;border-top:1px solid #d5dacd}.model-note summary{cursor:pointer;color:#42583e}.model-note a{color:var(--green)}.minimap{position:fixed;right:24px;bottom:100px;width:230px;padding:12px;background:#faf8f1ed;border:1px solid #d4d9cf;box-shadow:0 7px 26px #24362915;border-radius:3px;z-index:3;backdrop-filter:blur(12px)}.minimap>button{border:0;background:transparent;padding:0 0 9px;display:flex;justify-content:space-between;width:100%;color:#65735b;font-size:9px;letter-spacing:.14em}.minimap canvas{width:100%;height:auto;display:block;cursor:crosshair}.minimap small{font-size:9px;color:var(--muted);display:block;text-align:center;margin-top:8px}.bottom-bar{position:fixed;bottom:22px;left:24px;right:24px;display:flex;gap:20px;align-items:center;z-index:4}.bottom-bar button{border:1px solid #d0d6c8;border-radius:3px;background:#faf8f1ed;color:#294536;padding:12px 15px;font-size:12px;box-shadow:0 4px 20px #0001}#start-walk{background:var(--green);color:#fff;border-color:var(--green)}#start-walk span{display:block;letter-spacing:.14em;font-size:8px;opacity:.7;margin-top:5px}#movement-hint{font-size:11px;color:#264133;background:#faf8f1df;padding:10px 12px;border-radius:2px}#reset-view{margin-left:auto}.touch-pad{display:none;position:fixed;bottom:95px;left:24px;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:5px;z-index:4}.touch-pad button{border:1px solid #c6cdbd;background:#faf8f1e8;border-radius:5px;color:var(--green);font-size:21px;touch-action:none;user-select:none}.touch-pad button:nth-child(1){grid-column:2}.touch-pad button:nth-child(2){grid-column:1;grid-row:2}.touch-pad button:nth-child(3){grid-column:2;grid-row:2}.touch-pad button:nth-child(4){grid-column:3;grid-row:2}.crosshair{position:fixed;left:50%;top:50%;color:#ffffffa0;font-size:18px;pointer-events:none;text-shadow:0 1px 2px #000;z-index:2}#toast{position:fixed;left:50%;bottom:95px;transform:translateX(-50%);padding:11px 18px;border-radius:3px;background:#294536ed;color:white;font-size:12px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:6}#toast.show{opacity:1}dialog{border:1px solid #d1d6c8;background:var(--paper);color:#2a3e31;border-radius:4px;padding:36px;max-width:560px;width:calc(100% - 36px);max-height:85dvh;line-height:1.6;box-shadow:0 18px 90px #0004}dialog::backdrop{background:#12251c88;backdrop-filter:blur(5px)}dialog h1{font:32px Georgia,serif;margin:10px 0}dialog p{font-size:13px}dialog dl{font-size:12px}dialog dl div{padding:10px 0;border-top:1px solid #d8ddcf}dialog dt{font-weight:bold}dialog dd{margin:3px 0 0;color:var(--muted)}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:25px;color:#63715a}.quiet{font-size:11px;line-height:1.6;color:var(--muted)}.primary{border:0;background:var(--green);color:white;padding:12px 18px;border-radius:2px}#view-hotspots{position:fixed;inset:0;pointer-events:none;z-index:2}.pano-hotspot{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);border:1px solid #ffffffbb;background:#294536dc;color:white;border-radius:30px;padding:8px 12px;font-size:11px;box-shadow:0 3px 12px #0003}.pano-hotspot:before{content:'↗';margin-right:7px}.fallback{position:fixed;inset:25% 10%;background:var(--paper);padding:30px;text-align:center;color:#2a4133;z-index:10}.fallback a{color:#294536}[hidden]{display:none!important}
@media(pointer:coarse){.touch-pad{display:grid}#movement-hint{display:none}#start-walk{display:none}}@media(max-width:760px){.topbar{padding:13px 14px;gap:10px}.back{gap:9px}.back span{font-size:10px;letter-spacing:.1em}.title{padding-left:10px}.title span{font-size:16px}.title small{font-size:9px;max-width:190px}.explore-panel{top:86px;left:12px;width:210px;padding:13px;max-height:calc(100dvh - 230px)}.minimap{right:12px;bottom:91px;width:155px;padding:9px}.minimap small{display:none}.bottom-bar{left:12px;right:12px;bottom:13px;gap:8px}.bottom-bar button{padding:11px;font-size:10px}#movement-hint{display:none}.touch-pad{left:12px;bottom:90px}#toast{font-size:11px;max-width:80%;text-align:center}.title small{max-width:170px}.topbar>.icon-button{width:27px;height:27px}.minimap canvas{max-height:150px}.model-note{font-size:10px}}@media(max-height:600px){.explore-panel{top:83px;max-height:calc(100dvh - 155px)}.minimap{bottom:85px;width:170px}.topbar{padding-top:10px;padding-bottom:10px}.touch-pad{bottom:85px;left:290px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
