:root{font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e4e8e7;background:#121817;color-scheme:dark}*{box-sizing:border-box}body{margin:0}header{height:96px;padding:20px 30px;border-bottom:1px solid #33403c;display:flex;align-items:center;gap:30px}.brand{font-size:30px;letter-spacing:-2px;font-weight:750;color:#fff;text-decoration:none}.brand span{font-size:10px;letter-spacing:2px;color:#9fb6aa;display:block}small,.eyebrow{font-size:10px;letter-spacing:2px;color:#b7d1bf}h1{font-size:20px;font-weight:500;margin:4px 0}h2{font-size:24px;line-height:1.2;margin:12px 0}h3{font-size:15px;margin-top:28px}.status{margin-left:auto;font-size:12px;padding:8px 12px;border:1px solid #526259;border-radius:4px;max-width:280px}main{display:grid;grid-template-columns:minmax(0,1fr) 340px;height:calc(100vh - 96px)}.stage{position:relative;min-height:500px;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none}aside{padding:26px;overflow:auto;border-left:1px solid #33403c;background:#19211e}p{color:#b5c0b9;font-size:13px}.toolbar{position:absolute;left:20px;right:20px;top:18px;display:flex;gap:8px;align-items:end;flex-wrap:wrap;background:#19211ef2;border:1px solid #435149;border-radius:8px;padding:10px;box-shadow:0 8px 28px #0003}.toolbar label{display:flex;flex-direction:column;font-size:10px;color:#b2c2b8;gap:3px}.toolbar .check{flex-direction:row;align-items:center;height:32px}select,button{font:inherit;font-size:12px;padding:8px;border:1px solid #56675e;background:#26332d;border-radius:4px;color:#f5f7f4}button{cursor:pointer}button:hover{background:#435b4d}#hint,#selection{position:absolute;left:24px;bottom:22px;color:#eff5f0;background:#16241ed9;padding:10px 14px;border-radius:4px;max-width:70%;font-size:12px}#selection{bottom:66px;white-space:pre-line;max-width:500px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#3a4c40;margin:24px 0}.facts div{padding:12px;background:#202b25}.facts strong{font-size:24px;display:block}.facts span{color:#aabdac;font-size:11px}#plan{width:100%;background:white;border-radius:4px}.room{border-bottom:1px solid #35483c;padding:8px 0;font-size:12px;display:flex;justify-content:space-between;gap:10px}.muted{font-size:11px;color:#92a399}a{color:#b9d8bf}.warning{padding:12px;background:#57483144;border:1px solid #80663f;color:#ebcc98;font-size:12px}pre{white-space:pre-wrap;font-size:10px}#notes{font-size:12px;color:#c4cfc7}@media(max-width:900px){header{height:auto;padding:15px;gap:16px}header .status{display:none}main{display:block;height:auto}.stage{height:65vh}aside{border:0}.toolbar{left:10px;right:10px;top:10px}h1{font-size:15px}}

#loading{position:absolute;inset:0;background:#19211ef5;display:grid;place-content:center;text-align:center;padding:30px;font-size:18px;z-index:4;color:#e4e8e7}#loading[hidden]{display:none}button:disabled{opacity:.5;cursor:wait}

#move-pad{display:none;position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(28px,env(safe-area-inset-bottom));width:108px;height:108px;border-radius:50%;background:#14251dab;border:1px solid #c3d6c680;touch-action:none;user-select:none;z-index:3}#move-pad span{position:absolute;left:34px;top:34px;width:40px;height:40px;border-radius:50%;background:#dce7dea8;transform:translate(var(--thumb-x,0px),var(--thumb-y,0px))}#move-pad small{position:absolute;bottom:8px;width:100%;text-align:center;font-size:9px}#move-pad[hidden]{display:none!important}
@media(pointer:coarse){#move-pad{display:block}.toolbar button,.toolbar select{min-height:44px}.stage{height:82svh;min-height:420px}.toolbar{gap:5px;padding:7px}.toolbar label{flex:1;min-width:100px}.toolbar .check{min-width:80px}#selection{display:none}#hint{left:140px;bottom:max(25px,env(safe-area-inset-bottom));font-size:11px;max-width:calc(100% - 155px);pointer-events:none}header{padding:12px}.brand{font-size:25px}.toolbar #save-view{display:none}}

@media(pointer:coarse)and(orientation:landscape){header{display:none}.stage{height:100svh;min-height:300px}.toolbar{top:5px}.toolbar label{min-width:80px;flex:0 1 auto}.toolbar .check{min-width:65px}}

/* Public showcase presentation: retain the viewer controls and hide review diagnostics. */
header,aside{display:none}main{display:block;height:100svh}.stage{height:100svh;min-height:420px}.toolbar{max-width:850px;margin:auto;left:12px;right:12px;top:12px;background:#17131fe8;border-color:#ffffff33;border-radius:12px}.toolbar #save-view{display:none}#selection{display:none}#hint{max-width:calc(100% - 35px)}@media(max-width:900px){.stage{height:100svh}.toolbar{left:8px;right:8px;top:8px}.toolbar label{min-width:100px}}
