:root{color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}html,body,#root{margin:0;height:100%;background:#0f172a;color:#0f172a}button{font:inherit;padding:10px 16px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}button.primary{background:#2f6fdb;border-color:#2f6fdb;color:#fff}button.secondary{background:#f1f5f9}button:disabled{opacity:.5;cursor:default}.screen{height:100%;display:flex;align-items:center;justify-content:center;color:#e2e8f0}.card{background:#fff;color:#0f172a;border-radius:18px;padding:28px;width:min(420px,92vw);text-align:center;box-shadow:0 20px 60px #0006}.card h1{margin:0 0 8px;font-size:24px}.code{font-size:40px;letter-spacing:.12em;font-weight:700;margin:12px 0;font-variant-numeric:tabular-nums}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.keypad button{font-size:28px;padding:16px 0}.code-input{margin-top:12px;width:100%;padding:10px;font-size:18px;border-radius:10px;border:1px solid #cbd5e1;text-align:center}.error{color:#dc2626}.hint{color:#64748b;font-size:13px}.office{position:relative;height:100%}.office canvas{touch-action:none}.bar{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:12px;align-items:center;padding:8px 12px;border-radius:14px;background:#ffffffeb;box-shadow:0 4px 20px #0003;flex-wrap:wrap}.bar .grow{flex:1}.bottom{position:absolute;bottom:8px;left:0;right:0;text-align:center;color:#e2e8f0;text-shadow:0 1px 2px #000;margin:0}.stats{position:fixed;bottom:30px;left:12px;padding:4px 10px;border-radius:8px;background:#0f172acc;color:#fff;font:13px ui-monospace,monospace;z-index:10}.note{position:absolute;top:72px;left:50%;transform:translate(-50%);padding:8px 14px;border-radius:10px;background:#0f172a;color:#fff;font-size:14px}.call-tiles{position:absolute;right:12px;bottom:36px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:60vw}.call-tile{position:relative;width:200px;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;background:#334155;display:flex;align-items:center;justify-content:center;border:2px solid transparent}.call-tile.speaking{border-color:#22c55e}.call-tile video{width:100%;height:100%;object-fit:cover}.call-initials{color:#fff;font-size:28px;font-weight:700}.call-name{position:absolute;left:6px;bottom:4px;color:#fff;font-size:12px;text-shadow:0 1px 2px #000}.hof-panel{position:absolute;inset:0;display:grid;place-items:center;background:#0f172a73;cursor:pointer}.hof-panel img{max-width:min(720px,92vw);max-height:80vh}.hof-panel-row{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;max-width:96vw}.hof-panel-model{width:min(480px,92vw)}.hof-presenting{position:absolute;top:80px;left:50%;transform:translate(-50%);background:#1e3a8a;color:#fff;padding:6px 14px;border-radius:16px;font-weight:600}.hof-model{position:relative;width:100%;height:360px;border-radius:10px;overflow:hidden;background:#e8edf3}.hof-model-loading{position:absolute;inset:0;display:grid;place-items:center;color:#64748b}.hof-model-hint{position:absolute;right:10px;bottom:8px;font-size:11px;color:#475569;background:#fffc;padding:2px 6px;border-radius:6px}.pc-overlay{position:absolute;inset:64px 12px 36px;display:flex;flex-direction:column;gap:8px;z-index:5}.pc-overlay-frame{position:relative;flex:1;min-height:0;background:#000;border-radius:12px;overflow:hidden}.pc-overlay-frame video{width:100%;height:100%;object-fit:contain;display:block}.pc-overlay-bar{display:flex;gap:12px;align-items:center;padding:8px 12px;border-radius:12px;background:#ffffffeb}.pc-overlay-bar span{flex:1}.rc-surface{position:absolute;inset:0;z-index:2;cursor:crosshair;outline:3px solid #dc2626;outline-offset:-3px}.guest-code{margin-top:18px;padding-top:14px;border-top:1px solid #e2e8f0;display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left}.guest-code label{grid-column:1 / -1;font-weight:600;font-size:14px}.guest-code input{padding:10px;font-size:18px;letter-spacing:.12em;border-radius:10px;border:1px solid #cbd5e1;text-transform:uppercase;min-width:0}.guest-code .hint{grid-column:1 / -1;margin:0}.guest-welcome p{line-height:1.45}.call-tile.me{border-color:#2563eb}.call-chat{position:absolute;left:12px;bottom:36px;width:min(340px,calc(100vw - 24px));background:#fffffff5;color:#0f172a;border-radius:12px;box-shadow:0 8px 30px #0000004d;display:flex;flex-direction:column;max-height:45vh;overflow:hidden}.call-chat.closed{max-height:none}.call-chat-head{border:0;background:#1e3a8a;color:#fff;padding:8px 12px;text-align:left;font-weight:600;cursor:pointer}.call-chat-head .count{background:#fff;color:#1e3a8a;border-radius:9px;padding:0 7px;margin-left:6px;font-size:12px}.call-chat-list{overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:6px;font-size:14px;min-height:60px}.call-chat-msg{overflow-wrap:anywhere}.call-chat-msg.mine b{color:#2563eb}.call-chat-form{display:flex;gap:6px;padding:8px;border-top:1px solid #e2e8f0}.call-chat-form input{flex:1;min-width:0;padding:8px;border-radius:8px;border:1px solid #cbd5e1;font-size:14px}.call-chat .hint{padding:0 12px 10px;margin:0}@media(max-width:640px){.call-chat{bottom:auto;top:56px;max-height:35vh}.call-tile{width:140px}}.joystick{position:absolute;left:20px;bottom:44px;border-radius:50%;background:#0f172a59;border:2px solid rgba(255,255,255,.6);touch-action:none;user-select:none;-webkit-user-select:none;display:grid;place-items:center;z-index:4}.joystick-thumb{width:52px;height:52px;border-radius:50%;background:#ffffffe6;box-shadow:0 2px 8px #00000059;pointer-events:none}.name-input{margin-top:10px;width:100%;padding:10px;font-size:16px;border-radius:10px;border:1px solid #cbd5e1;box-sizing:border-box}.code-input{box-sizing:border-box}@media(max-width:640px){.bar{gap:6px;padding:6px 8px;top:8px;left:8px;right:8px;font-size:14px}.bar button{padding:8px 10px}.bottom{font-size:12px;padding:0 12px}}.game-overlay{position:absolute;inset:64px 12px 36px;z-index:6;display:flex;padding:12px;border-radius:14px;background:#fffffff7;color:#0f172a;box-shadow:0 10px 40px #0006}.game-overlay .muted-text{color:#64748b}.game-overlay .small-text,.game-overlay .small{font-size:13px}.game-overlay .pill{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:#f1f5f9;font-size:13px}.pool{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.pool-top,.pool-bottom{flex-shrink:0}.pool-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pool-player{display:flex;flex-direction:column;gap:1px;padding:6px 12px;border-radius:10px;border:1px solid #cbd5e1;min-width:140px}.pool-player.active{border-color:#2f6fdb;box-shadow:0 0 0 3px #2f6fdb40}.pool-player .pool-wins{font-size:12px;font-weight:600}.pool-turn{flex:1;text-align:center;font-weight:600}.pool-clock.warn{color:#92400e;background:#fef3c7}.pool-table{position:relative;flex:1;min-height:120px;border-radius:14px;overflow:hidden;background:#14181f}.pool-table.my-turn{cursor:crosshair}.pool-table.holding{cursor:grab}.pool-over{position:absolute;inset:0;margin:auto;width:min(380px,80%);height:fit-content;padding:18px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;background:#fff;border-radius:14px}.pool-over .row{display:flex;gap:8px}.pool-bottom{display:flex;align-items:center;gap:12px;min-height:40px;flex-wrap:wrap}.pool-news{flex:1;display:flex;flex-direction:column;gap:2px;min-width:160px}.pool-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pool-power{display:flex;align-items:center;gap:6px}.pool-bar{width:100px;height:8px;border-radius:4px;background:#e2e8f0;overflow:hidden}.pool-bar i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#f59e0b,#ef4444)}.pool-spin{display:flex;align-items:center;gap:6px}.pool-spin input{width:80px}.pool-dots{display:flex;gap:3px;margin:2px 0}.pool-dots i{width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.35)}.pool-dots i.down{opacity:.22}.pool-assist,.pool-watchers{display:inline-flex;align-items:center;gap:6px}.guest-lobby{background:radial-gradient(ellipse at 50% 30%,#1e3a5f,#0f172a 70%)}.lobby-card{display:flex;flex-direction:column;align-items:center;gap:6px}.lobby-card .lobby-line{font-size:17px;margin:10px 0 4px}.lobby-pulse{width:64px;height:64px;border-radius:50%;background:#e0a43a22;display:grid;place-items:center;margin-bottom:6px}.lobby-pulse span{width:22px;height:22px;border-radius:50%;background:#e0a43a;animation:lobby-breathe 2.6s ease-in-out infinite}@keyframes lobby-breathe{0%,to{transform:scale(.8);opacity:.7}50%{transform:scale(1.25);opacity:1}}@media(prefers-reduced-motion:reduce){.lobby-pulse span{animation:none}}.bar.guest-bar{gap:8px;padding:6px 10px}.bar button.small,.guest-panel button.small{padding:5px 10px;font-size:13px}.view-toggle{display:inline-flex;border:1px solid #cbd5e1;border-radius:10px;overflow:hidden}.view-toggle button{border:0;border-radius:0;padding:6px 12px;font-size:13px}.view-toggle button.on{background:#14213d;color:#fff}.guest-panel{position:absolute;top:calc(var(--bar-h, 64px) + 12px);left:12px;width:280px;max-height:calc(100% - var(--bar-h, 64px) - 260px);overflow:auto;display:flex;flex-direction:column;gap:8px}.guest-panel section{background:#fffffff2;border-radius:12px;box-shadow:0 4px 16px #0000002e;overflow:hidden}.guest-panel .guest-meeting{padding:10px;display:flex;flex-direction:column;gap:6px}.guest-panel .kicker{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#b7791f;font-weight:700}.panel-head{width:100%;text-align:left;border:0;border-radius:0;background:transparent;font-weight:700;padding:10px 12px;display:flex;justify-content:space-between}.panel-head .count{color:#64748b;font-weight:400}.guest-rooms,.guest-find ul{list-style:none;margin:0;padding:0 8px 8px;display:flex;flex-direction:column;gap:4px}.guest-rooms li{display:flex;align-items:center;gap:8px;padding:6px 4px;border-top:1px solid #f1f5f9;font-size:14px}.guest-rooms .grow,.person-row .grow{flex:1;display:flex;flex-direction:column;min-width:0}.guest-rooms .dot{width:10px;height:10px;border-radius:50%;flex:none}.guest-rooms .busy{color:#b45309}.guest-rooms .free{color:#15803d}.guest-find input{margin:0 8px 8px;width:calc(100% - 16px);box-sizing:border-box;padding:8px 10px;border-radius:8px;border:1px solid #cbd5e1;font:inherit}.person-row{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:6px;border:0;background:transparent}.person-row:hover{background:#f1f5f9}.avatar{width:30px;height:30px;border-radius:50%;background:#64748b;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}.avatar.big{width:48px;height:48px;font-size:17px}.person-card{position:absolute;left:50%;bottom:60px;transform:translate(-50%);width:min(380px,calc(100vw - 32px));background:#fff;border-radius:16px;padding:14px;box-shadow:0 12px 40px #00000059;display:flex;flex-direction:column;gap:12px}.person-card-head{display:flex;gap:12px;align-items:center}.person-card-head .grow{flex:1}.person-card .state{font-size:13px;margin-top:2px}.person-card .state.free{color:#15803d}.person-card .state.busy{color:#b45309}.person-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.room-stage{position:absolute;inset:0;background:#0b1220;display:grid;grid-template-rows:auto 1fr auto;gap:10px;padding:calc(var(--bar-h, 64px) + 12px) 16px 34px}.office>.bar{z-index:3}.room-stage~.call-chat{bottom:34px;left:16px}.room-stage-bar{padding-left:360px;padding-right:360px}.room-stage~.bottom{display:none}@media(max-width:900px){.room-stage-bar{padding:0}}.room-stage.with-screen{grid-template-rows:auto minmax(0,3fr) minmax(90px,1fr) auto}.room-stage-title{color:#e2e8f0;display:flex;gap:12px;align-items:baseline}.room-stage-title .hint{color:#94a3b8}.room-stage-screen{min-height:0;border-radius:12px;overflow:hidden;background:#000}.room-stage-screen video{width:100%;height:100%}.room-stage-grid{display:grid;gap:10px;min-height:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));grid-auto-rows:minmax(0,1fr)}.room-stage.with-screen .room-stage-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.stage-tile{position:relative;border-radius:12px;overflow:hidden;background:#334155;display:grid;place-items:center;border:2px solid transparent;min-height:0}.stage-tile.speaking{border-color:#22c55e}.stage-tile video{width:100%;height:100%;position:absolute;inset:0}.stage-initials{color:#fff;font-size:40px;font-weight:700}.stage-name{position:absolute;left:10px;bottom:8px;color:#fff;font-size:14px;text-shadow:0 1px 2px #000}.room-stage-bar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.room-stage-bar button.danger,button.danger{background:#dc2626;border-color:#dc2626;color:#fff}@media(max-width:640px){.guest-panel{width:calc(100vw - 24px);max-height:40vh}}.vr-credits{margin-top:14px;font-size:11px;color:#64748b;text-align:start}.vr-credits summary{cursor:pointer;text-align:center}.vr-credits ul{max-height:180px;overflow:auto;padding-inline-start:16px}.vr-credits a{color:inherit}
