
:root{color-scheme:dark;--gold:#e0bb80;--line:#38505b;--text:#eff6fa;--secondary:#a8b9c3}*{box-sizing:border-box}body{margin:0;background:#08131c;color:var(--text);font:13px/1.5 system-ui,"Segoe UI",Arial,sans-serif;overflow:hidden}
#stage{position:fixed;inset:0;overflow:hidden}#nh-canvas{width:100%;height:100%;display:block;outline:0;touch-action:none}button,select{background:#1a303e;color:var(--text);font:inherit;cursor:pointer;border:1px solid var(--line);padding:7px 9px;border-radius:7px;min-height:34px}button:hover:not(:disabled),select:hover{background:#284656}button[aria-pressed="true"]{background:#9f7138;border-color:var(--gold)}button:focus-visible,select:focus-visible{outline:2px solid var(--gold)}button:disabled{opacity:.5;cursor:not-allowed}
.panel{position:fixed;z-index:5;left:14px;top:14px;width:min(365px,calc(100vw - 28px));max-height:min(94vh,770px);overflow-y:auto;background:#102331ec;border:1px solid #47616b;border-radius:12px;box-shadow:0 15px 35px #0008;padding:17px;backdrop-filter:blur(10px)}.panel h1{font-size:19px;line-height:1.25;margin:4px 0 8px}.eyebrow{font-size:10px;letter-spacing:.16em;color:var(--gold);font-weight:750}#message{font-size:12px;min-height:40px;margin:7px 0 10px;color:#e7f1ee}.g{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0 12px}.g button{flex:1;white-space:nowrap}.primary{display:block;width:100%;background:#ab7d42;font-weight:700;border-color:var(--gold)}.section{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#95b4c1;font-weight:700;margin-top:16px}.small{font-size:11px;color:var(--secondary)}.option{display:flex;align-items:center;gap:9px;font-size:12px;margin:8px 0}.option input{accent-color:#c69b5e}.option select{margin-left:auto;min-height:26px;padding:3px}
.state{position:fixed;z-index:4;bottom:14px;left:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#102331e8;border:1px solid var(--line);border-radius:10px;padding:9px 12px;max-width:calc(100vw - 28px);font-size:11px;color:#cbdde4}.state strong{color:var(--gold)}
.minimap-box{position:fixed;z-index:4;right:16px;top:16px;width:230px;background:#0b202dcf;border:1px solid #4d6d77;border-radius:12px;padding:8px}.minimap-box canvas{width:100%;height:160px;display:block}.minimap-box small{display:block;font-size:10px;color:#b8c6cd;text-align:center}
#cross{position:fixed;left:calc(50% - 6px);top:calc(50% - 6px);width:12px;height:12px;border:2px solid #f4f4eb;border-radius:100%;box-shadow:0 0 3px #0009;pointer-events:none;z-index:3}
#loading{position:fixed;inset:0;display:grid;place-items:center;background:#0b1921;z-index:20;text-align:center;padding:30px}#loading h2{color:var(--gold)}#loading p{max-width:520px;font-size:12px;color:#b8cbd2}
#plan{position:fixed;inset:0;z-index:12;background:#071116e9;display:grid;place-items:center;padding:32px}#plan[hidden],#loading[hidden],#cross[hidden]{display:none}.plan-body{position:relative;max-width:min(96vw,1200px);max-height:82vh;border-radius:8px;box-shadow:0 10px 40px #000;overflow:auto}.plan-body img{display:block;width:100%;height:auto}.plan-marker{position:absolute;width:14px;height:14px;border-radius:100%;border:3px solid #fff4a6;background:#c89b39;transform:translate(-50%,-50%);box-shadow:0 0 10px #000;pointer-events:none}.plan-close{position:absolute;top:12px;right:12px;background:#233c4d}
.notice{margin-top:13px;padding-top:10px;border-top:1px solid #4b5e67;color:#b7c9d2;font-size:10.5px}.notice strong{color:#efc188}
@media(max-width:760px){.minimap-box{display:none}.panel{top:6px;left:6px;width:min(330px,calc(100vw - 12px));max-height:45vh;padding:12px}.panel h1{font-size:15px}.state{bottom:7px;left:7px}.section{margin-top:10px}}
.plan-sheet{position:relative;width:min(78vw,540px)}.plan-sheet img{display:block;width:100%;height:auto}

[hidden]{display:none!important}.panel{width:min(410px,calc(100vw - 28px));max-height:calc(100dvh - 28px)}.panel h1{margin-top:5px}.visit-tag{display:inline-block;padding:2px 8px;border:1px solid #8d754e;border-radius:5px;font-size:10px;color:var(--gold);margin:3px 0 7px}.state-title{font-size:14px;margin:7px 0 3px}.notice{font-size:11px}.g{margin:6px 0 9px}.g button{flex:initial}.section{margin-top:12px}.help{margin-top:12px;border-top:1px solid var(--line);padding-top:8px;font-size:11px;color:var(--secondary)}.help summary{cursor:pointer;color:var(--text);font-weight:650}.pause-bar{position:fixed;top:14px;left:14px;z-index:8;display:flex;align-items:center;gap:7px;flex-wrap:wrap;max-width:calc(100vw - 270px);background:#102331ed;border:1px solid #47616b;backdrop-filter:blur(10px);box-shadow:0 8px 24px #0004;padding:7px 10px;border-radius:10px;font-size:11px}.pause-bar button{min-height:30px;padding:5px 8px;font-size:12px}.side-panel{position:fixed;z-index:14;right:16px;top:208px;width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 224px);overflow:auto;background:#102331f5;border:1px solid #47616b;border-radius:12px;padding:16px;box-shadow:0 15px 35px #0008;backdrop-filter:blur(10px)}.side-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}.side-head h2{font-size:16px;margin:0}.side-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 ui-monospace,monospace}.furniture-row{border-bottom:1px solid var(--line);padding:9px 0}.furniture-row strong{font-size:12px}.furniture-row .g{margin-bottom:3px}.furniture-row p{font-size:10.5px;color:var(--secondary);margin:4px 0}.state{bottom:12px;max-width:calc(100vw - 28px);font-size:10.5px}.message-bar{position:fixed;bottom:58px;left:14px;max-width:min(630px,calc(100vw - 28px));z-index:8;pointer-events:none;padding:7px 11px;border-radius:8px;background:#102331e8;border:1px solid var(--line);font-size:11px}#message{min-height:0;margin:0}.plan-close{position:fixed}.plan-sheet{width:min(78vw,540px)}#e7-measure-panel{right:16px!important;top:208px;bottom:auto!important;max-height:calc(100dvh - 224px);overflow:auto}#technical-controls{display:none!important}.primary{margin:9px 0 10px}a{color:var(--gold)}@media(max-width:760px){.pause-bar{top:6px;left:6px;max-width:calc(100vw - 12px)}.side-panel{top:auto;bottom:68px;max-height:65dvh}.panel{max-height:63dvh}.message-bar{bottom:58px;left:7px}.minimap-box{display:none}#e7-measure-panel{top:auto;bottom:68px!important}}
