:root{font-family:Segoe UI,Arial,sans-serif;color:#23343a;background:#e5e9e9;font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex;height:100vh;overflow:hidden}aside{width:292px;flex-shrink:0;background:#fafbfa;border-right:1px solid #cbd4d5;overflow:auto;padding:25px 22px}h1{font-size:25px;font-weight:600;margin:0 0 5px}h2{font-size:13px;font-weight:650;margin:0 0 12px}p{font-size:12px;color:#65777b;line-height:1.6;margin:9px 0}section{border-top:1px solid #dde3e3;margin-top:20px;padding-top:18px}button{font:500 12px Segoe UI,Arial,sans-serif;padding:10px 12px;border:1px solid #c6d1d2;background:#fff;color:#294149;border-radius:5px;cursor:pointer}button:hover{background:#e7eeee}button.active{background:#245563;color:white;border-color:#245563}button:focus-visible,input:focus-visible{outline:3px solid #dfad42;outline-offset:2px}button:disabled{cursor:default;opacity:.55}.modes{display:flex;gap:5px}.modes button{flex:1}.locations{display:grid;grid-template-columns:1fr 1fr;gap:7px;text-align:left}.locations button{text-align:left}label{display:flex;gap:9px;align-items:center;margin:12px 0;font-size:13px}input{accent-color:#245563}dl{margin:0}dt{font-size:11px;color:#687a7d;margin-top:9px}dd{margin:3px 0;font-size:13px}#export,#xr{width:100%;margin-bottom:8px}footer{font-size:11px;line-height:1.6;color:#78878a;margin-top:20px}main{position:relative;flex:1;min-width:0}canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}#heading{position:absolute;top:20px;left:25px;font-size:11px;letter-spacing:1.7px;color:#32515a;pointer-events:none}#heading span{margin-left:20px;color:#788b91;letter-spacing:0}#status{position:absolute;bottom:18px;left:20px;background:#fafbfbe8;border:1px solid #d6dfe0;border-radius:5px;padding:9px 12px;font-size:12px;pointer-events:none}#walk-tools{position:absolute;top:55px;left:20px;background:#fafbfbe8;padding:8px;border-radius:5px;max-width:90%;font-size:12px}#walk-tools span{padding:0 10px}#error{position:absolute;inset:20%;padding:25px;background:white;color:#9b3030}#selection{white-space:pre-line}@media(max-width:760px){aside{width:220px;padding:18px 13px}.locations{grid-template-columns:1fr}#walk-tools span{display:block;margin-top:8px}#heading{left:15px}#status{font-size:10px;max-width:85%}}

#expand-view{width:100%;margin-top:12px}body.room-expanded #sidebar{display:none}#restore-sidebar{position:absolute;top:16px;right:16px;z-index:5;background:#fafbfbee;box-shadow:0 2px 8px #0002}#restore-sidebar[hidden]{display:none}

.officer-hear{padding:5px 7px;margin-left:4px}#officer-list label{flex:1;min-width:0}
#officer-title-card{position:absolute;z-index:7;bottom:76px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 48px);box-sizing:border-box;padding:17px 38px;border:1px solid #a68a50;border-radius:2px;background:linear-gradient(110deg,#160e09eb,#322016dc 48%,#130d09ed),url('assets/walnut.webp') center/420px;color:#ead7a3;box-shadow:0 5px 20px #0008,inset 0 1px 0 #d0b67555,inset 0 -2px 5px #0009;font:400 20px Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:.065em;text-align:center;text-shadow:0 1px 2px #000;pointer-events:none}
#officer-title-card::before{content:'';position:absolute;inset:5px;border:1px solid #a68a505c;pointer-events:none}
#officer-title-card[hidden]{display:none}
@media(max-width:760px){#officer-title-card{bottom:76px;max-width:calc(100% - 24px);padding:13px 22px;font-size:16px}}
#ritual-card{position:absolute;z-index:8;right:24px;bottom:150px;width:360px;max-width:calc(100% - 48px);box-sizing:border-box;padding:25px 28px 22px;border:1px solid #a68a50;border-radius:2px;background:linear-gradient(110deg,#160e09f5,#322016ed 48%,#130d09f5),url('assets/walnut.webp') center/420px;color:#ead7a3;box-shadow:0 5px 20px #0008,inset 0 1px 0 #d0b67555;font:16px/1.55 Georgia,'Times New Roman',serif;max-height:calc(100% - 180px);overflow:auto}
#ritual-card::before{content:'';position:absolute;inset:5px;border:1px solid #a68a505c;pointer-events:none}
#ritual-card h2{font:400 21px/1.3 Georgia,'Times New Roman',serif;font-variant:small-caps;letter-spacing:.035em;color:#ead7a3;margin:0 16px 12px 0}
#ritual-card p{font:inherit;color:#e7dcc4;margin:0}
#ritual-card button{position:absolute;right:9px;top:8px;border:0;background:transparent;color:#ead7a3;font:24px Georgia;padding:2px 7px;cursor:pointer}
#ritual-card button:focus-visible{outline:2px solid #ead7a3}
#ritual-card[hidden]{display:none}
@media(max-width:760px){#ritual-card{right:12px;bottom:148px;max-width:calc(100% - 24px);padding:22px;font-size:15px}}
