:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#294139;background:#eeeee6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{display:grid;grid-template-columns:300px 1fr;height:100dvh}aside{padding:30px 25px;background:#fafaf4;border-right:1px solid #d9ded3;overflow-y:auto;z-index:2}header .eyebrow{font-size:10px;letter-spacing:2px;color:#768478}h1{margin:20px 0 9px;font-size:32px;letter-spacing:3px;font-weight:500}h1 span{display:block;font-size:18px;letter-spacing:1px;margin-top:7px}header p{font-size:13px;color:#7c877c}.status{font-size:11px;margin:23px 0 25px;color:#5d7561;display:flex;align-items:center;gap:7px}.status i{width:6px;height:6px;border-radius:50%;background:#729474}h2{font-size:11px;font-weight:500;letter-spacing:1.5px;color:#7e8c80;margin:0 0 13px}section{margin:25px 0}button{font:inherit;cursor:pointer;border:1px solid #dce1d6;color:#3b5547;background:transparent;transition:background .15s}button:hover{background:#e6ebe1}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #a88340;outline-offset:3px}button[aria-pressed=true]{background:#2e4e3e;color:#f5f7f0;border-color:#2e4e3e}.floor-buttons{display:grid;gap:5px}.floor-buttons button{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:4px;font-size:13px}.floor-buttons span{font-size:10px;opacity:.68}.view-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.view-buttons button{padding:8px 0;border-radius:4px;font-size:12px}.check{display:flex;align-items:center;gap:7px;font-size:12px;margin:17px 0}.check input{accent-color:#3a6049}.slider{display:flex;justify-content:space-between;font-size:12px;margin:18px 0 8px}input[type=range]{width:100%;accent-color:#46634d}.dimensions{border-top:1px solid #dde1d5;padding-top:22px}.dimensions div{display:flex;justify-content:space-between;font-size:12px;margin:11px 0}.dimensions strong{font-weight:500;font-variant-numeric:tabular-nums}.dimensions p,.roof-note{font-size:11px;line-height:1.8;color:#7a877c}.roof-note{border-left:2px solid #b68c3c;padding-left:10px}footer{display:flex;justify-content:space-between;gap:8px;margin-top:25px}a{font-size:11px;color:#52755c;text-decoration:none}.viewport{position:relative;overflow:hidden;min-width:0;background:#e8ece4}#canvas-host,#labels{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}#labels{pointer-events:none}.label{position:absolute;font-size:12px;white-space:nowrap;transform:translate(-50%,-50%);background:#fafbf3dd;padding:4px 8px;border-radius:3px;color:#385641}.label.room{font-size:11px;background:#f5f6eacc}.view-caption{position:absolute;left:28px;top:28px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.view-caption span{font-size:16px}.view-caption small{font-size:11px;color:#7b897c}.help{position:absolute;bottom:24px;left:28px;color:#768575;font-size:11px;pointer-events:none}.legend{position:absolute;right:24px;bottom:24px;font-size:11px;display:flex;align-items:center;gap:7px;color:#74836f}.legend span{width:9px;height:9px;margin-left:8px;background:#a6b6a1}.legend .amber{background:#c19b50}.load-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:14px;background:#fafbf3;padding:15px 22px;border-radius:5px;max-width:85%}.load-status[hidden]{display:none}@media(max-width:760px){main{display:flex;flex-direction:column;height:auto}aside{padding:20px;overflow:visible;border-right:0;order:2}.viewport{height:66dvh;min-height:390px;order:1}.floor-buttons{grid-template-columns:repeat(5,1fr)}.floor-buttons button{display:block;padding:10px 4px;font-size:12px}.floor-buttons span{display:none}header h1{font-size:24px;margin-top:9px}h1 span{display:inline;font-size:16px;margin-left:15px}.status{margin:15px 0}.dimensions{max-width:400px}.help{left:15px;bottom:15px;font-size:10px}.legend{right:10px;bottom:36px;font-size:10px}.view-caption{top:18px;left:18px}section{margin:20px 0}}

.enter-button{width:100%;padding:12px;background:#365944;color:#fff;border-radius:4px}#inside-panel{font-size:12px;line-height:1.8;margin-top:12px}#inside-panel select{display:block;width:100%;margin:8px 0;padding:9px;background:#fff;border:1px solid #ccc;color:#294139}#inside-panel button{padding:8px;width:100%}

.enter-button:hover{background:#294734;color:#fff}

#walk-pad{position:absolute;bottom:52px;left:24px;display:flex;flex-direction:column;align-items:center;gap:8px;user-select:none;-webkit-user-select:none;z-index:3}#walk-pad[hidden],#inside-panel[hidden],#exit-walk[hidden]{display:none}#move-stick{position:relative;width:136px;height:136px;border-radius:50%;background:#f5f7edd9;border:1px solid #788f7955;touch-action:none;cursor:grab;overscroll-behavior:contain;-webkit-touch-callout:none}#move-stick.active{cursor:grabbing;background:#e9f0e3ed}#move-stick>span{position:absolute;pointer-events:none}#move-stick .stick-n{top:9px;left:calc(50% - 6px)}#move-stick .stick-s{bottom:9px;left:calc(50% - 6px)}#move-stick .stick-w{left:11px;top:calc(50% - 7px)}#move-stick .stick-e{right:11px;top:calc(50% - 7px)}#move-stick span{font-size:12px;color:#667d65}#stick-thumb{width:48px;height:48px;left:calc(50% - 24px);top:calc(50% - 24px);border-radius:50%;background:#44694de8;box-shadow:0 2px 8px #243b2820;will-change:transform}.stick-caption{font-size:11px;color:#4d674e}#exit-walk{position:absolute;top:20px;right:20px;padding:10px 14px;background:#fafbf2e8;border-radius:5px;z-index:3;min-height:44px}.help{max-width:calc(100% - 40px)}@media(max-width:760px){#walk-pad{left:18px;bottom:55px}#move-stick{width:128px;height:128px}#exit-walk{top:15px;right:15px}.legend{pointer-events:none}.view-caption{max-width:calc(100% - 125px)}}

#door-status{position:absolute;right:20px;top:78px;font-size:12px;color:#35563d;background:#fafbf2e8;border-radius:4px;padding:7px 10px;pointer-events:none}#door-status:empty{display:none}

#door-status:has(button){padding:0;pointer-events:auto;background:none}
#door-status button{min-height:44px;padding:12px 16px;background:#35563d;color:#fff;border:1px solid #55755a;border-radius:6px;cursor:pointer;box-shadow:0 3px 12px #0002;font:inherit}
#door-status button:hover{background:#28452f}
#door-status button:focus-visible{outline:3px solid #cfad67;outline-offset:3px}

#compass{position:absolute;right:20px;top:132px;padding:8px 12px;background:#fafbf2ed;color:#35563d;border-radius:5px;font-size:12px;pointer-events:none}

#wifi-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d8ddcf;border-radius:18px;background:#fafbf6;color:#263b2b;padding:30px;box-shadow:0 24px 90px #0004}
#wifi-dialog::backdrop{background:#18231dc0}#wifi-dialog h2{font-size:25px;margin:12px 0 24px}.wifi-kicker{font-size:12px;color:#657860;letter-spacing:.08em}.wifi-close{position:absolute;right:12px;top:10px;font-size:26px;border:0;background:none;color:#52604e;width:44px;height:44px;cursor:pointer}
#wifi-dialog dl{background:#edf1e7;padding:18px;border-radius:10px}#wifi-dialog dt{font-size:12px;color:#61745c;margin-bottom:6px}#wifi-dialog dd{margin:0 0 18px;font:600 24px ui-monospace,monospace;user-select:text;overflow-wrap:anywhere}#wifi-dialog dd:last-child{margin-bottom:0}
#copy-wifi{width:100%;padding:13px;border:0;border-radius:8px;background:#294936;color:white;font-size:16px;cursor:pointer}.wifi-note,#wifi-copy-status{font-size:14px;line-height:1.7}#wifi-copy-status{color:#346541;min-height:1.5em}#show-wifi{margin-bottom:12px}

#menu-dialog{box-sizing:border-box;width:min(900px,calc(100vw - 24px));height:calc(100dvh - 28px);max-height:none;max-width:none;padding:0;border:1px solid #d8ddcf;border-radius:14px;background:#fafbf6;color:#263b2b;overflow:hidden}
#menu-dialog[open]{display:flex;flex-direction:column}#menu-dialog::backdrop{background:#18231dd4}.menu-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;flex:none}.menu-header h2{font-size:20px;margin:0}.menu-close{width:44px;height:44px;font-size:28px;border:0;background:none;color:#263b2b;cursor:pointer}.menu-pages{display:flex;gap:8px;padding:0 18px 10px;flex:none}.menu-pages button{flex:1;padding:10px 5px;border:1px solid #b9c8b6;border-radius:7px;background:white;color:#294936;cursor:pointer}.menu-pages button[aria-pressed=true]{background:#294936;color:white}.menu-tools{display:flex;justify-content:space-between;align-items:center;padding:0 18px 10px;font-size:13px;gap:8px;flex:none}.menu-tools select{padding:7px;border:1px solid #b9c8b6;border-radius:5px;background:white}.menu-tools span{color:#657860}#menu-scroll{flex:1;min-height:0;overflow:auto;background:#dfe3dc;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain}#menu-image{display:block;width:100%;max-width:none;height:auto;background:white}#show-menu{margin-bottom:10px}
@media(max-width:500px){.menu-header{padding:6px 10px}.menu-header h2{font-size:17px}.menu-pages{padding:0 10px 8px}.menu-pages button{font-size:12px}.menu-tools{padding:0 10px 8px}}

#board-dialog{box-sizing:border-box;width:min(780px,calc(100vw - 24px));height:calc(100dvh - 28px);max-height:none;max-width:none;padding:0;border:1px solid #d8ddcf;border-radius:14px;background:#fafbf6;color:#263b2b;overflow:hidden}#board-dialog[open]{display:flex;flex-direction:column}#board-dialog::backdrop{background:#18231dd4}#board-scroll{flex:1;min-height:0;overflow:auto;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain;background:#e2e4da}#board-image{display:block;width:100%;max-width:none;height:auto}#board-item{max-width:45vw}
