:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}.preparing{color:#666;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;font-size:1.1rem;display:flex}.preparing-progress{color:#999;font-variant-numeric:tabular-nums;font-size:.9rem}.office-floor{box-sizing:border-box;background:#202124;height:100%;padding:8px;position:relative;overflow:auto}.floor-zoom-wrapper{position:relative}.floor-canvas{transform-origin:0 0;background-color:#c2c6cc;background-image:repeating-linear-gradient(0deg,#00000012 0 1px,#0000 1px 64px),repeating-linear-gradient(90deg,#00000012 0 1px,#0000 1px 64px);position:absolute;top:0;left:0}.zoom-control{z-index:950;background:#202124d9;border-radius:8px;align-items:center;gap:2px;padding:4px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 2px 8px #0006}.zoom-control-button{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;width:32px;height:32px;font-size:1.1rem;line-height:1}.zoom-control-button:hover:not(:disabled){background:#ffffff26}.zoom-control-button:disabled{color:#ffffff59;cursor:default}.zoom-control-value{color:#fff;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;border-radius:6px;min-width:52px;height:32px;font-size:.8rem}.zoom-control-value:hover{background:#ffffff26}.room{box-sizing:border-box;isolation:isolate;background:#d9d9d9;border:1px solid #0006;border-radius:6px;position:absolute;overflow:hidden;box-shadow:0 1px 3px #00000040}.room-cafe{background:#d8c3a5}.room-nameplate{box-sizing:border-box;color:#fff;white-space:nowrap;background:#0000008c;border-radius:6px;align-items:center;gap:6px;height:28px;padding:0 8px;font-size:.8rem;font-weight:600;display:flex;position:absolute;overflow:hidden}.room-icon{object-fit:cover;border-radius:4px;flex:none;width:24px;height:24px}.room-nameplate-icon{object-fit:cover;border-radius:4px;flex:none;width:20px;height:20px}.room-nameplate-name{text-overflow:ellipsis;overflow:hidden}.room-nameplate-active-count{color:#ddd;flex:none;margin-left:auto;font-size:.7rem;font-weight:400}.seat{justify-content:center;align-items:center;display:flex;position:absolute}.seat-desk,.seat-chair,.seat-item{image-rendering:pixelated;position:absolute}.seat-desk{object-fit:contain;width:100%;height:100%;inset:0}.seat-item,.seat-chair{object-fit:contain;z-index:1;width:100%;height:100%;inset:0}.seat-avatar{z-index:2;margin-bottom:10px;position:relative}.cafe-counter,.cafe-rug,.cafe-table,.cafe-plant{image-rendering:pixelated;position:absolute}.cafe-counter{z-index:1}.cafe-rug{z-index:0}.cafe-table,.cafe-plant{z-index:1}.room-standing{box-sizing:border-box;align-items:flex-end;gap:8px;height:64px;padding:4px 8px;display:flex;position:absolute;left:0;overflow:hidden}.standing-avatar{position:relative}.walker{z-index:1;justify-content:center;align-items:center;transition:left 1s linear,top 1s linear;display:flex;position:absolute}.walker-walking .avatar-icon{animation:.4s ease-in-out infinite alternate walker-bob}.corridor-walker{z-index:2;justify-content:center;align-items:center;transition:left .5s linear,top .5s linear;display:flex;position:absolute}@keyframes walker-bob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.confetti{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.confetti-piece{top:-8px;left:var(--confetti-x);background:var(--confetti-color);width:5px;height:5px;transform:rotate(var(--confetti-rotate));animation:3s linear infinite confetti-fall;animation-delay:var(--confetti-delay);position:absolute}@keyframes confetti-fall{0%{transform:translate(0, 0) rotate(var(--confetti-rotate));opacity:1}50%{transform:translate(6px, 32px) rotate(calc(var(--confetti-rotate) + 180deg))}to{transform:translate(-4px, 72px) rotate(calc(var(--confetti-rotate) + 360deg));opacity:.7}}@media (prefers-reduced-motion:reduce){.confetti-piece{top:var(--confetti-static-top);transform:rotate(var(--confetti-rotate));opacity:1;animation:none}}.overflow-badge{z-index:2;color:#fff;cursor:pointer;background:#0009;border:none;border-radius:10px;padding:3px 8px;font-size:.7rem;position:absolute;bottom:4px;right:4px}.overflow-list{flex-direction:column;gap:8px;max-height:50vh;margin-top:12px;display:flex;overflow-y:auto}.overflow-list-item{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:4px;display:flex}.overflow-list-item:hover{background:#0000000f}.avatar{width:48px;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;padding:0;display:flex}.avatar-icon{object-fit:cover;border:2px solid #fff;border-radius:50%;width:40px;height:40px;box-shadow:0 1px 2px #0006}.avatar-label{box-sizing:border-box;background:#0000008c;border-radius:8px;flex-direction:column;align-items:center;max-width:56px;margin-top:2px;padding:1px 5px;display:flex}.avatar-name{text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#fff;max-width:46px;font-size:.6rem;overflow:hidden}.avatar-project-label{opacity:.8;white-space:nowrap;text-overflow:ellipsis;color:#fff;max-width:46px;font-size:.55rem;overflow:hidden}.modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{color:#111;background:#fff;border-radius:8px;width:90%;max-width:480px;max-height:80vh;padding:24px;position:relative;overflow-y:auto}.modal-close{cursor:pointer;color:inherit;background:0 0;border:none;font-size:1.5rem;line-height:1;position:absolute;top:8px;right:8px}.speech-bubble{z-index:900;color:#111;background:#fff;border-radius:10px;padding:12px 14px 10px;font-size:.8rem;position:absolute;box-shadow:0 4px 16px #00000059}.speech-bubble:after{content:"";left:var(--tail-left,20px);background:#fff;width:14px;height:14px;position:absolute;transform:translate(-50%)rotate(45deg)}.speech-bubble-above:after{bottom:-6px;box-shadow:3px 3px 3px -2px #00000026}.speech-bubble-below:after{top:-6px;box-shadow:-3px -3px 3px -2px #0000001f}.bubble-close{cursor:pointer;color:#888;background:0 0;border:none;font-size:1.1rem;line-height:1;position:absolute;top:2px;right:6px}.bubble-header{border-bottom:1px solid #eee;align-items:center;gap:8px;margin:0 0 6px;padding-bottom:6px;display:flex}.bubble-header .avatar-icon{flex-shrink:0;width:32px;height:32px}.bubble-header-text{flex-direction:column;gap:1px;min-width:0;display:flex}.bubble-header-name{overflow-wrap:break-word;font-weight:600}.bubble-header-time{color:#888;font-size:.7rem}.bubble-project{color:#666;align-items:center;gap:6px;margin-bottom:4px;font-size:.7rem;display:flex}.bubble-project .room-icon{width:16px;height:16px}.bubble-project span{overflow-wrap:break-word;min-width:0}.bubble-title{margin-bottom:6px;padding-right:16px;font-weight:700}.bubble-excerpt{white-space:pre-wrap;max-height:200px;margin:0 0 8px;overflow-y:auto}.bubble-footer{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bubble-star{align-items:center;gap:6px;display:flex}.bubble-star-button{cursor:pointer;color:#999;background:#fff;border:1px solid #ccc;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:.85rem;display:inline-flex}.bubble-star-button:disabled{cursor:default;opacity:.7}.bubble-star-glyph{font-size:1rem;line-height:1}.bubble-star-count{color:#333;font-weight:700}.bubble-star-yellow .bubble-star-glyph{color:#f5b400}.bubble-star-green .bubble-star-glyph{color:#2eaf5e}.bubble-star-blue .bubble-star-glyph{color:#2b7de9}.bubble-star-red .bubble-star-glyph{color:#e04b3a}.bubble-star-black .bubble-star-glyph{color:#222}.bubble-star-failed{color:#c0392b;font-size:.8rem}.login-page{color:#eee;background:#222;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.login-title{margin:0;font-size:1.6rem}.login-lead{color:#bbb;margin:0 0 12px}.login-button{color:#123;background:#42ce9f;border-radius:6px;padding:10px 20px;font-weight:600;text-decoration:none}.login-button:hover{background:#5fdcb3}.user-menu{z-index:20;color:#fff;background:#0000008c;border-radius:20px;align-items:center;gap:8px;padding:4px 6px 4px 4px;display:flex;position:fixed;top:12px;right:12px}.user-menu-icon{object-fit:cover;border:2px solid #fff;border-radius:50%;width:28px;height:28px}.user-menu-logout{color:#fff;font:inherit;cursor:pointer;background:0 0;border:none;font-size:.8rem}.user-menu-logout:hover{text-decoration:underline}
