*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{display:flex;flex-direction:column;height:100%;background:#101828;color:#1f2937}.banner{z-index:10;padding:8px 14px;background:#fff7ed;border-bottom:1px solid #f59e0b;font-size:13px;text-align:center}.banner.task{background:#ede9fe;border-color:#7c3aed;font-weight:600}.layout{display:flex;flex:1;min-height:0}.sidebar{width:220px;flex-shrink:0;padding:12px;display:flex;flex-direction:column;gap:8px;background:#ffffffeb;overflow-y:auto}.sidebar h2{margin:2px 0 4px;font-size:16px}.sidebar small{color:#6b7280}.floor-btn{border:1px solid #e5e7eb;background:#ffffffd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:9px 12px;text-align:left;cursor:pointer}.floor-btn.active{background:#111827;color:#fff}.floor-btn strong{display:block;font-size:13px}.floor-btn span{font-size:11px;opacity:.75}.mock-btn{margin-top:8px;border:0;border-radius:999px;padding:11px 12px;background:#7c3aed;color:#fff;font-weight:700;cursor:pointer}.mock-btn:disabled{opacity:.6}.task-select{width:100%;padding:8px;border-radius:8px;border:1px solid #d1d5db}.task-panel{margin-top:10px;padding:10px;border-radius:10px;background:#f3f4f6;font-size:12px}.scene-wrap{position:relative;flex:1;min-width:0;background:#1e2a4a}.scene-wrap canvas{display:block}.legend{position:absolute;left:10px;bottom:10px;background:#ffffffeb;border-radius:10px;padding:8px 10px;font-size:11px;z-index:5}@media (max-width: 760px){html,body,#root{height:auto;min-height:100%;overflow:visible;overflow-x:hidden}.app{height:auto;min-height:100dvh}.layout{flex-direction:column;flex:none}.sidebar{width:100%;flex:none;flex-direction:row;flex-wrap:wrap;overflow:visible}.sidebar h2,.sidebar small,.sidebar label{flex:1 1 100%}.floor-btn{flex:1 1 45%}.banner{font-size:12px}.scene-wrap{flex:none;width:100%;height:78dvh;min-height:520px}.scene-wrap>div{height:100%}.scene-wrap canvas{height:100%}.legend{font-size:10px;left:8px;right:8px}}
