*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#dfe7ec;color:#1d2329}.notfound{padding:48px 24px}.viewer{position:fixed;top:0;right:0;bottom:0;left:0}.title-card{position:absolute;top:12px;left:12px;background:#ffffffeb;border-radius:10px;padding:10px 14px;box-shadow:0 2px 10px #0000001f;max-width:calc(100vw - 24px)}.title-card h1{margin:0;font-size:17px}.title-card p{margin:2px 0 0;font-size:13px;color:#56606a}.room-label{pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;text-align:center;font-size:11px;line-height:1.25;color:#1d2329;background:#ffffffd9;border-radius:4px;padding:2px 6px}.room-label small{display:block;color:#56606a;font-size:10px}.panel{position:absolute;left:12px;bottom:12px;right:12px;margin:0 auto;max-width:860px;background:#fffffff0;border-radius:12px;padding:10px 12px;box-shadow:0 2px 12px #00000024;display:flex;flex-direction:column;gap:8px}.panel.collapsed{left:auto;padding:4px}.panel .collapse{position:absolute;top:4px;right:6px;border:0;background:none;cursor:pointer;font:inherit;font-size:13px;color:#56606a;padding:4px 6px}.panel.collapsed .collapse{position:static}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-right:24px}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button,button.small{font:inherit;font-size:13px;padding:6px 12px;border-radius:8px;cursor:pointer;border:1px solid #c9d1d8;background:#fff;color:#1d2329}.seg button.on{background:#1d2329;color:#fff;border-color:#1d2329}.sun input[type=range]{flex:1 1 160px;min-width:120px;accent-color:#e08a1e}.sun input[type=date]{font:inherit;font-size:13px;padding:4px 6px;border:1px solid #c9d1d8;border-radius:8px}.sun-icon{color:#e08a1e;font-size:16px}.time{font-variant-numeric:tabular-nums;font-weight:600;font-size:14px;min-width:42px}.sun-info,.hint{font-size:12px;color:#56606a}.joystick{position:absolute;left:24px;bottom:190px;width:112px;height:112px;border-radius:50%;background:#ffffff59;border:2px solid rgba(255,255,255,.8);touch-action:none;display:flex;align-items:center;justify-content:center}.joystick .knob{width:48px;height:48px;border-radius:50%;background:#ffffffe6;box-shadow:0 1px 6px #00000040}canvas{touch-action:none}@media(max-width:600px){.title-card h1{font-size:15px}.title-card p{font-size:12px}.panel{left:8px;right:8px;bottom:8px;padding:8px;gap:6px}.seg button,button.small{padding:5px 9px;font-size:12px}.sun-info,.hint{display:none}.joystick{bottom:170px;left:16px}}.dim-label{pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:12px;font-weight:600;color:#fff;background:#c2185b;border-radius:4px;padding:1px 6px}
