@font-face{font-family:LocalSans;src:local('Segoe UI')}*{box-sizing:border-box}body{margin:0;background:#eeeae1;color:#20352f;font:15px LocalSans,Arial,sans-serif}button,a,label{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none;border-radius:8px;transition:background .15s,box-shadow .15s}button:hover{background:#dce5dc}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ba7c37;outline-offset:3px}button:disabled{opacity:.4;cursor:default}header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #d9ddd3;background:#f8f7f1;gap:20px}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;letter-spacing:2.4px;font-weight:650;font-size:19px}.brandmark{font-size:32px;width:43px;height:43px;border:1px solid #95a197;border-radius:50%;display:grid;place-items:center;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:1.15px;margin-top:6px;font-weight:500;color:#7c877d}nav{display:flex;gap:5px;padding:5px;background:#e9ece4;border-radius:11px}.mode{padding:11px 20px;font-size:14px}.mode.active{background:#1b3931;color:#fff;box-shadow:0 3px 6px #172e3017}.outline{border:1px solid #b8c3b6;padding:10px 19px;font-size:14px}main{display:grid;grid-template-columns:minmax(0,1fr) 365px;height:calc(100dvh - 84px);min-height:570px}#viewport{position:relative;overflow:hidden;background:#bfd4d7}#scene{width:100%;height:100%;display:block;outline:0;touch-action:none}.scene-heading{position:absolute;left:35px;top:34px;pointer-events:none;text-shadow:0 1px 15px #e0ece8;transition:opacity .3s}.eyebrow{font-size:10px;letter-spacing:1.4px;color:#6f7d71;font-weight:650}.scene-heading .eyebrow{color:#28493e}h1{font-family:Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-1.2px;font-size:clamp(30px,3.1vw,49px);margin:14px 0}.scene-heading p{font-size:13px}.view-tools{position:absolute;left:24px;bottom:81px;display:flex;gap:7px;flex-wrap:wrap;right:20px}.view-tools button{background:#f8faf0eb;backdrop-filter:blur(10px);padding:10px 14px;box-shadow:0 3px 12px #12312312;font-size:13px}.view-tools button:hover{background:white}#quality{margin-left:auto}.scene-bottom{position:absolute;bottom:0;left:0;right:0;background:#f5f5ede8;backdrop-filter:blur(12px);padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px}#location{font-size:14px;font-weight:600}#location span{display:block;font-size:11px;color:#718074;font-weight:400;margin-top:3px}#controls{font-size:12px;color:#64746a}#fps{font-size:11px;white-space:nowrap;color:#7c877d}aside{background:#faf9f3;border-left:1px solid #d5dbcf;overflow:auto;padding:25px 22px 18px;scrollbar-width:thin;scrollbar-color:#c7d1c3 transparent}.panel-top{display:flex;align-items:center;justify-content:space-between}h2{font:400 25px Georgia,serif;letter-spacing:-.5px;margin:8px 0 18px}#map-toggle{display:none}.floors{display:flex;gap:6px;border-bottom:1px solid #dce2d7;padding-bottom:11px}.floors button{padding:8px 15px;font-size:13px}.floors .active{background:#dfe8dc;font-weight:650}.map-wrap{position:relative;margin-top:15px;border:1px solid #dfe3d9;border-radius:10px;background:#f1f0e8;overflow:hidden}#map{width:100%;display:block;touch-action:none;min-height:235px;max-height:290px}#map text{font-family:LocalSans,Arial,sans-serif;pointer-events:none}.north{position:absolute;right:12px;top:10px;font-size:11px;color:#7d887a}.map-zoom{position:absolute;bottom:8px;right:8px;display:flex;background:#fff;border-radius:5px}.map-zoom button{padding:3px 10px}.map-caption{font-size:10px;display:flex;justify-content:space-between;color:#7d877b;margin-top:10px;gap:10px}.person-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ce8043;margin-right:4px}#map-help{font-size:12px;line-height:1.5;color:#6c7a6f;margin:15px 0 12px}.rooms{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}.rooms button{background:#edf0e7;font-size:12px;padding:7px 11px}.catalog{border-top:1px solid #dce2d7;padding-top:17px}.catalog-head{display:flex;align-items:center;justify-content:space-between}.catalog-head h2{margin:0}.catalog-head button{font-size:12px}.catalog>p{font-size:12px;color:#748172;margin:8px 0 17px}#catalog-items{display:grid;grid-template-columns:1fr 1fr;gap:10px}.catalog-card{padding:9px 10px;text-align:left;border:1px solid #dfe4d8;background:#f0f1e9;border-radius:9px;position:relative;min-height:126px;overflow:hidden}.catalog-card svg{display:block;margin:0 auto;width:90%;height:64px}.catalog-card img{height:65px;width:100%;object-fit:contain;display:block;mix-blend-mode:multiply}.catalog-card b{display:block;font-size:12px;font-weight:600;line-height:1.35}.catalog-card small{font-size:10px;color:#7a8778;display:block;margin-top:4px}.catalog-card .add{position:absolute;right:8px;top:4px;font-size:21px;color:#54755c}.catalog-card:hover{border-color:#758e72;background:#e4ebde}#selection{border:1px solid #a7bba4;background:#edf3e7;border-radius:9px;padding:13px;margin:0 0 18px}.selection-header{display:flex;justify-content:space-between}.selection-header small{font-size:9px;letter-spacing:1px;color:#7c8c75}.selection-header h3{margin:6px 0;font-size:15px}.selection-header p{font-size:12px;margin:0 0 9px;color:#778873}.selection-header button{align-self:flex-start;font-size:22px}.selection-actions{display:flex;gap:5px}.selection-actions button{font-size:12px;background:white;padding:7px 9px;flex:1}#placement-status{font-size:11px;line-height:1.4;color:#667b60;margin:10px 0 0}footer{margin-top:22px;border-top:1px solid #dce2d7;padding-top:14px;display:flex;flex-wrap:wrap;gap:9px 16px;align-items:center}footer button,footer a,.import-label{font-size:11px;color:#687c64;text-decoration:none;padding:0;cursor:pointer}footer small{font-size:10px;color:#8a9585;width:100%}#crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:white;font-size:23px;text-shadow:0 1px 3px #0008;pointer-events:none}#interact{position:absolute;left:50%;top:59%;transform:translateX(-50%);background:#193a30ed;color:white;padding:12px 18px;box-shadow:0 3px 12px #0003;font-size:13px}#walktip{position:absolute;top:22px;left:50%;transform:translateX(-50%);background:#f6f7edef;padding:11px 16px;border-radius:8px;font-size:12px;text-align:center;max-width:90%}#loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e9eee4;z-index:10}#loading h2{margin:20px 0 0}#loading p{font-size:13px;color:#71806c}.loader{width:34px;height:34px;border:2px solid #c6d2bf;border-top-color:#355c44;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#1a392f;color:#fff;padding:13px 21px;border-radius:9px;opacity:0;pointer-events:none;z-index:30;font-size:13px;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}body.walk .scene-heading,body.edit .scene-heading{opacity:0}#touchcontrols{position:absolute;bottom:151px;left:22px;right:22px;pointer-events:none;justify-content:space-between;align-items:end;display:flex}#touchcontrols span{font-size:11px;color:#fff;background:#173b3277;padding:5px 9px;border-radius:6px}#joystick{width:96px;height:96px;background:#eff5e655;border:1px solid #fff8;border-radius:50%;pointer-events:auto;touch-action:none;display:grid;place-items:center}#joystick i{width:38px;height:38px;border-radius:50%;background:#fff9;pointer-events:none}
@media(max-width:1000px){header{padding:0 18px;gap:10px}.brand{font-size:16px}.brand small{font-size:8px}.mode{padding:10px 13px}main{grid-template-columns:minmax(0,1fr) 310px}aside{padding:20px 16px}.scene-heading{left:23px}#controls{max-width:150px;line-height:1.5}#quality{display:none}}
@media(max-width:720px){header{height:106px;flex-wrap:wrap;padding:12px 14px 9px;gap:8px}.brand{font-size:15px}.brandmark{width:32px;height:32px;font-size:23px}.brand small{font-size:8px;margin-top:2px}header nav{order:3;width:100%;justify-content:center;padding:3px}.mode{flex:1;padding:7px 8px;font-size:12px}header>.outline{font-size:12px;padding:7px 12px}main{height:auto;display:flex;flex-direction:column;min-height:0}#viewport{height:calc(68dvh - 40px);min-height:400px}.scene-heading{top:20px;left:21px}h1{font-size:32px}.scene-heading p{max-width:220px;font-size:11px;line-height:1.5}.view-tools{bottom:72px;left:12px;gap:5px;right:12px}.view-tools button{font-size:11px;padding:8px 11px}.scene-bottom{padding:12px;min-height:57px}#location{font-size:12px}#controls{font-size:10px;max-width:145px}aside{border-left:0;border-top:1px solid #d5dbcf;overflow:visible;padding:20px}#map{max-height:330px}#catalog-items{grid-template-columns:repeat(3,1fr)}.panel-top #map-toggle{display:block}.panel-top h2{margin-bottom:12px}aside.collapsed>:not(.panel-top){display:none}#walktip{top:12px;font-size:11px;width:260px}#fps{display:none}}

#walktip{pointer-events:none}

#walktip{pointer-events:auto;line-height:1.5}#walktip button{background:#28483b;color:white;padding:8px 12px;margin:4px;border-radius:6px}

#home-action{position:absolute;left:50%;top:61%;transform:translateX(-50%);padding:12px 18px;background:#213e32;color:#fff;border:1px solid #c7c5ab;border-radius:9px;z-index:4}

#edit-tools{position:absolute;right:18px;top:18px;z-index:3;background:#f9f8f1ed;backdrop-filter:blur(10px);padding:11px 13px;border-radius:10px;width:min(310px,calc(100% - 36px));font-size:11px;color:#496051;box-shadow:0 5px 18px #182c251c}#edit-tools div{display:flex;gap:5px;margin-top:8px}#edit-tools button{background:#e8eee4;padding:7px 8px;font-size:11px;flex:1}#map-items .rotate-handle{cursor:ew-resize}

/* Keep the title legible against bright windows and the wooded panorama. */
.scene-heading{background:rgba(250,249,242,.91);backdrop-filter:blur(11px);border:1px solid rgba(255,255,255,.72);border-radius:13px;padding:17px 22px 18px;max-width:min(440px,calc(100% - 48px));box-shadow:0 7px 26px rgba(21,43,34,.15);text-shadow:none;color:#19372d}
.scene-heading .eyebrow{color:#385348;font-size:11px}
.scene-heading h1{font-weight:500;margin:10px 0;font-size:clamp(29px,3vw,47px)}
.scene-heading p{color:#334c41;font-size:14px;line-height:1.45;margin:0}
.catalog-head{align-items:start;gap:10px}
.catalog-head h2{flex:1}
.catalog-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.catalog-actions button{font-size:11px;padding:6px 8px;white-space:nowrap}
#catalog-toggle{background:#e5ebe1;border:1px solid #c5d2c4;color:#254336;font-weight:600}
#catalog-toggle:hover{background:#d6e4d5}
#catalog-body>p{font-size:12px;color:#667869;margin:11px 0 15px}
@media(max-width:720px){.scene-heading{top:12px;left:12px;max-width:min(320px,calc(100% - 24px));padding:12px 15px}.scene-heading h1{font-size:30px}.scene-heading p{font-size:12px}.catalog-head h2{font-size:22px}.catalog-actions button{font-size:11px}}
.catalog-head{align-items:center}
.catalog-head h2{font-size:22px;white-space:nowrap}
#catalog-toggle{font-size:11px;padding:6px 8px;white-space:nowrap}
.catalog-undo{text-align:right;margin-top:8px}
.catalog-undo button{font-size:12px;color:#586d59}
