.login.svelte-1fg9a3x.svelte-1fg9a3x{min-height:100vh;display:grid;place-items:center;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.card.svelte-1fg9a3x.svelte-1fg9a3x{width:100%;max-width:360px;background:#111827;border:1px solid #374151;border-radius:12px;padding:1.5rem;box-shadow:0 10px 25px #0006}h1.svelte-1fg9a3x.svelte-1fg9a3x{margin:0 0 .25rem;font-size:1.5rem}.sub.svelte-1fg9a3x.svelte-1fg9a3x{margin:0 0 1rem;color:#9ca3af}.repair-notice.svelte-1fg9a3x.svelte-1fg9a3x{margin:0 0 1rem;padding:.75rem .9rem;background:#064e3b;border:1px solid #10b981;border-radius:8px;color:#d1fae5;font-size:.875rem}.repair-notice.svelte-1fg9a3x strong.svelte-1fg9a3x{display:block;margin-bottom:.35rem;color:#ecfdf5}.repair-notice.svelte-1fg9a3x p.svelte-1fg9a3x{margin:0}form.svelte-1fg9a3x.svelte-1fg9a3x{display:grid;gap:.75rem}label.svelte-1fg9a3x.svelte-1fg9a3x{display:grid;gap:.25rem;font-size:.875rem;color:#d1d5db}input.svelte-1fg9a3x.svelte-1fg9a3x{padding:.6rem .75rem;background:#1f2937;color:#f3f4f6;border:1px solid #374151;border-radius:8px;font-size:1rem}input.svelte-1fg9a3x.svelte-1fg9a3x:focus{outline:2px solid #10b981;outline-offset:1px}button.svelte-1fg9a3x.svelte-1fg9a3x{padding:.6rem .75rem;background:#10b981;color:#04221a;font-weight:600;border:none;border-radius:8px;font-size:1rem}.remember.svelte-1fg9a3x.svelte-1fg9a3x{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.remember.svelte-1fg9a3x input.svelte-1fg9a3x{width:auto;margin-top:.15rem;padding:0;flex:none;accent-color:#10b981}.remember.svelte-1fg9a3x small.svelte-1fg9a3x{display:block;color:#9ca3af;font-size:.8rem}.error.svelte-1fg9a3x.svelte-1fg9a3x{margin:0;color:#fca5a5;font-size:.875rem}.text-link.svelte-1fg9a3x.svelte-1fg9a3x{background:none;border:none;color:#9ca3af;font-size:.85rem;text-decoration:underline;cursor:pointer;padding:0;justify-self:start}.text-link.svelte-1fg9a3x.svelte-1fg9a3x:hover{color:#d1d5db}.forgot.svelte-1fg9a3x.svelte-1fg9a3x{display:inline-block;margin-top:.9rem;color:#6ee7b7;font-size:.85rem;text-decoration:none}.forgot.svelte-1fg9a3x.svelte-1fg9a3x:hover{text-decoration:underline}.sl-backdrop.svelte-1fg9a3x.svelte-1fg9a3x{position:fixed;inset:0;background:#0009;display:grid;place-items:center;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom));z-index:50}.sl-dialog.svelte-1fg9a3x.svelte-1fg9a3x{width:100%;max-width:420px;background:#111827;border:1px solid #374151;border-radius:12px;padding:1.25rem;display:grid;gap:.75rem;box-shadow:0 10px 25px #00000080}.sl-dialog.svelte-1fg9a3x h2.svelte-1fg9a3x{margin:0;font-size:1.1rem}.sl-dialog.svelte-1fg9a3x p.svelte-1fg9a3x{margin:0;color:#d1d5db;font-size:.9rem}.sl-dialog.svelte-1fg9a3x .hint.svelte-1fg9a3x{color:#fcd34d;font-size:.8rem}.sl-list.svelte-1fg9a3x.svelte-1fg9a3x{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;max-height:50vh;overflow-y:auto}.sl-item.svelte-1fg9a3x label.svelte-1fg9a3x{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .6rem;background:#1f2937;border:1px solid #374151;border-radius:8px;cursor:pointer}.sl-item.svelte-1fg9a3x input.svelte-1fg9a3x{margin-top:.15rem;accent-color:#10b981}.sl-meta.svelte-1fg9a3x.svelte-1fg9a3x{font-size:.7rem;line-height:1.3;color:#9ca3af;word-break:break-word}.sl-actions.svelte-1fg9a3x.svelte-1fg9a3x{display:flex;gap:.5rem;justify-content:flex-end}.sl-actions.svelte-1fg9a3x button.svelte-1fg9a3x{font-size:.9rem;padding:.5rem .8rem}.sl-cancel.svelte-1fg9a3x.svelte-1fg9a3x{background:#374151;color:#e5e7eb}.sl-confirm.svelte-1fg9a3x.svelte-1fg9a3x:disabled{opacity:.5;cursor:not-allowed}.login.svelte-5dfyic{min-height:100vh;display:grid;place-items:center;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.card.svelte-5dfyic{width:100%;max-width:360px;background:#111827;border:1px solid #374151;border-radius:12px;padding:1.5rem;box-shadow:0 10px 25px #0006}h1.svelte-5dfyic{margin:0 0 .25rem;font-size:1.5rem}.sub.svelte-5dfyic{margin:0 0 1rem;color:#9ca3af}.note.svelte-5dfyic{margin:0 0 1rem;padding:.5rem .65rem;background:#fcd34d1a;border:1px solid #b45309;border-radius:8px;color:#fcd34d;font-size:.8rem}form.svelte-5dfyic{display:grid;gap:.75rem}label.svelte-5dfyic{display:grid;gap:.25rem;font-size:.875rem;color:#d1d5db}input.svelte-5dfyic{padding:.6rem .75rem;background:#1f2937;color:#f3f4f6;border:1px solid #374151;border-radius:8px;font-size:1rem}input.svelte-5dfyic:focus{outline:2px solid #10b981;outline-offset:1px}button.svelte-5dfyic{padding:.6rem .75rem;background:#10b981;color:#04221a;font-weight:600;border:none;border-radius:8px;font-size:1rem}.error.svelte-5dfyic{margin:0;color:#fca5a5;font-size:.875rem}.avatar.svelte-i2eq2m.svelte-i2eq2m{display:inline-grid;place-items:center;width:var(--size);height:var(--size);border-radius:50%;overflow:hidden;flex:0 0 auto;background:hsl(var(--hue),45%,45%);color:#fff;box-shadow:0 0 0 2px #ffffff40;user-select:none}.avatar.svelte-i2eq2m img.svelte-i2eq2m{width:100%;height:100%;object-fit:cover;display:block}.fallback.svelte-i2eq2m.svelte-i2eq2m{font-weight:700;font-size:calc(var(--size) * .42);line-height:1;letter-spacing:.02em}.overlay.svelte-l4t5aw{position:fixed;inset:0;display:grid;place-items:center;background:#0f172ab3;z-index:60;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.card.svelte-l4t5aw{width:min(26rem,100%);background:#1f2937;color:#f3f4f6;border-radius:1rem;padding:1.5rem;box-shadow:0 10px 40px #0006;text-align:center}.title.svelte-l4t5aw{margin:0 0 1rem;font-size:1.25rem}video.svelte-l4t5aw,.shot.svelte-l4t5aw{width:100%;max-width:320px;aspect-ratio:1 / 1;object-fit:cover;border-radius:.75rem;background:#000;margin:0 auto 1rem;display:block}.error.svelte-l4t5aw{color:#fca5a5;margin:0 0 1rem;font-size:.9rem}.actions.svelte-l4t5aw{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.btn.svelte-l4t5aw{appearance:none;border:1px solid rgba(255,255,255,.18);background:#374151;color:#f3f4f6;border-radius:.6rem;padding:.6rem 1rem;font-size:.95rem;cursor:pointer}.btn.ghost.svelte-l4t5aw{background:transparent}.btn.primary.svelte-l4t5aw{background:#2563eb;border-color:#2563eb}.btn.svelte-l4t5aw:disabled{opacity:.5;cursor:not-allowed}.overlay.svelte-1jq8wnz{position:fixed;inset:0;display:grid;place-items:center;background:#0f172ab3;z-index:50;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.card.svelte-1jq8wnz{width:min(26rem,100%);background:#1f2937;color:#f3f4f6;border-radius:1rem;padding:1.5rem;box-shadow:0 10px 40px #0006;text-align:center}.title.svelte-1jq8wnz{margin:0 0 .25rem;font-size:1.25rem}.help.svelte-1jq8wnz{margin:0 0 1rem;color:#cbd5e1;font-size:.95rem}.preview.svelte-1jq8wnz{display:grid;place-items:center;margin-bottom:1rem}.error.svelte-1jq8wnz{color:#fca5a5;margin:0 0 .75rem;font-size:.9rem}.file.svelte-1jq8wnz{display:none}.actions.svelte-1jq8wnz{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.btn.svelte-1jq8wnz{appearance:none;border:1px solid rgba(255,255,255,.18);background:#374151;color:#f3f4f6;border-radius:.6rem;padding:.6rem 1rem;font-size:.95rem;cursor:pointer}.btn.ghost.svelte-1jq8wnz{background:transparent}.btn.primary.svelte-1jq8wnz{background:#2563eb;border-color:#2563eb}.btn.svelte-1jq8wnz:disabled{opacity:.5;cursor:not-allowed}.e2ee-lock.svelte-5mshyu{display:inline-flex;align-items:center;justify-content:center;line-height:0}.e2ee-lock.enc.svelte-5mshyu{color:#2ecc71}.e2ee-lock.partial.svelte-5mshyu{color:#e0a800}.e2ee-lock.plain.svelte-5mshyu{color:#d6b400;opacity:.85}.banner.svelte-1uuyisd.svelte-1uuyisd{position:fixed;top:calc(env(safe-area-inset-top) + .75rem);left:50%;transform:translate(-50%);z-index:80;display:flex;align-items:center;gap:.6rem;max-width:min(94vw,560px);color:#fff;padding:.6rem 1rem;border-radius:10px;box-shadow:0 6px 24px #00000073}.banner-warning.svelte-1uuyisd.svelte-1uuyisd{background:#7c2d12;border:1px solid #f59e0b}.banner-info.svelte-1uuyisd.svelte-1uuyisd{background:#0b3a67;border:1px solid #2563eb}.banner-icon.svelte-1uuyisd.svelte-1uuyisd{font-size:1.3rem;line-height:1}.banner-text.svelte-1uuyisd.svelte-1uuyisd{display:flex;flex-direction:column;gap:.15rem;font-size:.85rem}.banner-text.svelte-1uuyisd strong.svelte-1uuyisd{font-size:.95rem}.banner-hint.svelte-1uuyisd.svelte-1uuyisd{opacity:.85;font-size:.8rem}.banner-close.svelte-1uuyisd.svelte-1uuyisd{background:transparent;border:none;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .25rem;opacity:.85;align-self:flex-start}.banner-close.svelte-1uuyisd.svelte-1uuyisd:hover{opacity:1}.banner-pill.svelte-1uuyisd.svelte-1uuyisd{position:fixed;top:calc(env(safe-area-inset-top) + .75rem);left:50%;transform:translate(-50%);z-index:80;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-size:1.1rem;border-radius:999px;color:#fff;box-shadow:0 4px 16px #0006;cursor:pointer}.banner-pill-warning.svelte-1uuyisd.svelte-1uuyisd{background:#7c2d12;border:1px solid #f59e0b}.banner-pill-info.svelte-1uuyisd.svelte-1uuyisd{background:#0b3a67;border:1px solid #2563eb}.class-preview.svelte-19hmt71{display:flex;flex-direction:column;gap:.4rem;width:100%;height:100%;box-sizing:border-box;color:#e2e8f0;font-family:inherit}.cp-header.svelte-19hmt71{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .25rem}.cp-title.svelte-19hmt71{font-size:.85rem;font-weight:600;color:#cbd5e1;letter-spacing:.01em}.led.svelte-19hmt71{width:12px;height:12px;border-radius:50%;flex:0 0 auto;background:var(--led);box-shadow:0 0 8px var(--led)}.led.blink.svelte-19hmt71{animation:svelte-19hmt71-cp-blink 1s steps(2,end) infinite}@keyframes svelte-19hmt71-cp-blink{50%{opacity:.2}}.cp-stage.svelte-19hmt71{position:relative;flex:1 1 auto;min-height:220px;background:#000;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.cp-handbanner.svelte-19hmt71{position:absolute;top:0;left:0;right:0;padding:.5rem .75rem;background:#d97706;color:#fff;font-weight:700;text-align:center;font-size:.95rem;z-index:3}.cp-status.svelte-19hmt71{position:absolute;left:8px;top:8px;z-index:2;display:flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border-radius:999px;background:#0000008c;color:#fff;font-size:.8rem}.cp-status-name.svelte-19hmt71{font-weight:600;white-space:nowrap}.cp-icon.svelte-19hmt71{display:inline-flex;align-items:center;line-height:0}.cp-icon.off.svelte-19hmt71{opacity:.45}.cp-tile.svelte-19hmt71{display:flex;flex-direction:column;align-items:center;gap:.4rem;z-index:1}.cp-tile-name.svelte-19hmt71{font-size:.85rem;font-weight:600;color:#f8fafc}.cp-camera.svelte-19hmt71{font-size:.7rem;color:#94a3b8;letter-spacing:.02em}.cp-message.svelte-19hmt71{position:absolute;left:50%;bottom:10px;transform:translate(-50%);z-index:2;max-width:90%;display:flex;flex-direction:column;gap:.2rem;padding:.6rem .9rem;background:#000000c7;border-radius:12px;text-align:center}.cp-message-name.svelte-19hmt71{font-size:.75rem;color:#cbd5e1}.cp-message-text.svelte-19hmt71{font-size:1.15rem;font-weight:600;color:#fff;word-break:break-word}.qr-scanner.svelte-41jtln{display:flex;flex-direction:column;gap:.5rem;align-items:center}video.svelte-41jtln{width:100%;max-width:320px;border-radius:8px;background:#000}.qr-error.svelte-41jtln{color:#d33;font-size:.9rem}.qr-actions.svelte-41jtln{display:flex;gap:.5rem}.class.svelte-1dlqxfe.svelte-1dlqxfe{display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden}@supports (height: 100dvh){.class.svelte-1dlqxfe.svelte-1dlqxfe{height:var(--app-height, 100dvh)}}.class.svelte-1dlqxfe>.svelte-1dlqxfe{min-width:0}header.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;padding-top:max(.75rem,env(safe-area-inset-top));background:#111827;border-bottom:1px solid #374151;position:relative;z-index:41}.header-actions.svelte-1dlqxfe.svelte-1dlqxfe{display:contents}.menu-toggle.svelte-1dlqxfe.svelte-1dlqxfe{display:none}@media (max-width: 640px){.header-actions.svelte-1dlqxfe.svelte-1dlqxfe{display:none;position:absolute;top:100%;right:.5rem;z-index:50;flex-direction:column;align-items:stretch;gap:.5rem;min-width:12rem;max-width:min(16rem,calc(100vw - 1rem));margin-top:.4rem;padding:.5rem;background:#111827;border:1px solid #374151;border-radius:10px;box-shadow:0 10px 24px #00000080}.header-actions.open.svelte-1dlqxfe.svelte-1dlqxfe{display:flex}.header-actions.svelte-1dlqxfe>button.svelte-1dlqxfe,.header-actions.svelte-1dlqxfe .camera-select.svelte-1dlqxfe{width:100%;max-width:none;text-align:center}.header-actions.svelte-1dlqxfe .clean-view-btn.svelte-1dlqxfe{justify-content:center}.menu-toggle.svelte-1dlqxfe.svelte-1dlqxfe{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:36px;padding:0}.menu-bars.svelte-1dlqxfe.svelte-1dlqxfe,.menu-bars.svelte-1dlqxfe.svelte-1dlqxfe:before,.menu-bars.svelte-1dlqxfe.svelte-1dlqxfe:after{display:block;width:18px;height:2px;background:#f3f4f6;border-radius:1px}.menu-bars.svelte-1dlqxfe.svelte-1dlqxfe{position:relative}.menu-bars.svelte-1dlqxfe.svelte-1dlqxfe:before,.menu-bars.svelte-1dlqxfe.svelte-1dlqxfe:after{content:"";position:absolute;left:0}.menu-bars.svelte-1dlqxfe.svelte-1dlqxfe:before{top:-6px}.menu-bars.svelte-1dlqxfe.svelte-1dlqxfe:after{top:6px}}.who.svelte-1dlqxfe.svelte-1dlqxfe{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;padding:.2rem .4rem;margin:-.2rem -.4rem;background:none;border:none;border-radius:999px;color:inherit;font-size:inherit;cursor:pointer;max-width:45vw}.who.svelte-1dlqxfe.svelte-1dlqxfe:hover{background:#1f2937}.who.svelte-1dlqxfe.svelte-1dlqxfe:focus-visible{outline:2px solid #10b981;outline-offset:1px}.who-name.svelte-1dlqxfe.svelte-1dlqxfe{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 480px){.who-name.svelte-1dlqxfe.svelte-1dlqxfe{display:none}}.test-mode-badge.svelte-1dlqxfe.svelte-1dlqxfe{padding:.15rem .6rem;font-size:.72rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#04221a;background:#fbbf24;border-radius:999px;white-space:nowrap}.demo-class-screen.svelte-1dlqxfe.svelte-1dlqxfe{position:absolute;inset:0;z-index:2;display:flex;padding:46px 12px 12px;background:#0b1220;box-sizing:border-box}.demo-class-screen.svelte-1dlqxfe .class-preview{flex:1 1 auto}.status.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;align-items:center;gap:.5rem;color:#d1d5db;margin-left:auto;margin-right:.5rem}.dot.svelte-1dlqxfe.svelte-1dlqxfe{width:10px;height:10px;border-radius:50%;background:#f59e0b}.dot.on.svelte-1dlqxfe.svelte-1dlqxfe{background:#10b981}button.svelte-1dlqxfe.svelte-1dlqxfe{padding:.4rem .75rem;background:#374151;color:#f3f4f6;border:1px solid #4b5563;border-radius:6px}button.svelte-1dlqxfe.svelte-1dlqxfe:disabled{opacity:.4;cursor:not-allowed}.room-gate.svelte-1dlqxfe.svelte-1dlqxfe{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0009}.room-gate-card.svelte-1dlqxfe.svelte-1dlqxfe{background:#1c1c1e;color:#fff;padding:1.5rem;border-radius:14px;max-width:520px;width:min(520px,92vw);box-shadow:0 10px 30px #00000080}.gate-msg.svelte-1dlqxfe.svelte-1dlqxfe{color:#d1d5db;margin:0;text-align:center}.room-picker.svelte-1dlqxfe.svelte-1dlqxfe{width:100%;display:grid;gap:1rem}.room-picker.svelte-1dlqxfe h2.svelte-1dlqxfe{margin:0;font-size:1.15rem;text-align:center}.room-list.svelte-1dlqxfe.svelte-1dlqxfe{display:grid;gap:.5rem}.room-option.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#1f2937;border:1px solid #4b5563;border-radius:10px;text-align:left}.room-name.svelte-1dlqxfe.svelte-1dlqxfe{font-weight:600}.room-visibility.svelte-1dlqxfe.svelte-1dlqxfe{font-size:.8rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.no-rooms.svelte-1dlqxfe.svelte-1dlqxfe{display:grid;gap:.75rem;justify-items:center;text-align:center;color:#d1d5db}.no-rooms.svelte-1dlqxfe p.svelte-1dlqxfe{margin:0}.error-inline.svelte-1dlqxfe.svelte-1dlqxfe{color:#fca5a5}.device-offline.svelte-1dlqxfe.svelte-1dlqxfe{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:1.5rem;background:#0b1220;text-align:center}.device-offline-card.svelte-1dlqxfe.svelte-1dlqxfe{width:min(560px,94vw);display:grid;gap:.6rem;justify-items:center}.device-offline-icon.svelte-1dlqxfe.svelte-1dlqxfe{font-size:clamp(3rem,14vw,6rem);line-height:1;color:#f59e0b}.device-offline-title.svelte-1dlqxfe.svelte-1dlqxfe{margin:0;font-size:clamp(1.5rem,6vw,2.5rem);color:#f3f4f6}.device-offline-room.svelte-1dlqxfe.svelte-1dlqxfe{margin:0;font-weight:600;font-size:clamp(1.1rem,4vw,1.5rem);color:#93c5fd}.device-offline-line.svelte-1dlqxfe.svelte-1dlqxfe{margin:0;font-size:clamp(.95rem,3.5vw,1.15rem);color:#d1d5db}.paused-overlay.svelte-1dlqxfe.svelte-1dlqxfe{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1.5rem;background:#0b1220;text-align:center}.paused-card.svelte-1dlqxfe.svelte-1dlqxfe{width:min(560px,94vw);display:grid;gap:.75rem;justify-items:center}.paused-icon.svelte-1dlqxfe.svelte-1dlqxfe{font-size:clamp(3rem,14vw,6rem);line-height:1;color:#f59e0b}.paused-title.svelte-1dlqxfe.svelte-1dlqxfe{margin:0;font-size:clamp(1.5rem,6vw,2.5rem);color:#f3f4f6}.paused-message.svelte-1dlqxfe.svelte-1dlqxfe{margin:0;font-size:clamp(1.05rem,4vw,1.5rem);color:#93c5fd}.stage.svelte-1dlqxfe.svelte-1dlqxfe{position:relative;background:#000;display:grid;place-items:center;overflow:hidden;min-height:0}video.svelte-1dlqxfe.svelte-1dlqxfe{width:100%;height:100%;max-height:100%;object-fit:contain;background:#000}.stream-placeholder.svelte-1dlqxfe.svelte-1dlqxfe{position:absolute;inset:0;display:grid;place-items:center;z-index:1;pointer-events:none}.viewer-strip.svelte-1dlqxfe.svelte-1dlqxfe{position:absolute;left:12px;bottom:12px;display:flex;flex-flow:row wrap;gap:6px;max-width:60%;z-index:7;pointer-events:none}.e2ee-hud.svelte-1dlqxfe.svelte-1dlqxfe{display:inline-flex;align-items:center;background:transparent;border:none;padding:0;cursor:pointer;color:inherit;pointer-events:auto}.e2ee-hud.svelte-1dlqxfe.svelte-1dlqxfe:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:4px}.e2ee-blocked.svelte-1dlqxfe.svelte-1dlqxfe{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#000c;padding:1rem}.e2ee-blocked-card.svelte-1dlqxfe.svelte-1dlqxfe{background:#1c1c1e;color:#fff;padding:1.75rem;border-radius:14px;max-width:440px;width:100%;text-align:center}.e2ee-blocked-icon.svelte-1dlqxfe.svelte-1dlqxfe{font-size:2.5rem}.e2ee-blocked-title.svelte-1dlqxfe.svelte-1dlqxfe{margin:.5rem 0}.e2ee-blocked-detail.svelte-1dlqxfe.svelte-1dlqxfe{opacity:.9}.e2ee-blocked-steps.svelte-1dlqxfe.svelte-1dlqxfe{text-align:left;margin:1rem auto;max-width:360px;line-height:1.5}.e2ee-blocked-retry.svelte-1dlqxfe.svelte-1dlqxfe{background:#2563eb;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:8px;cursor:pointer;margin-top:.5rem}.e2ee-rekey.svelte-1dlqxfe.svelte-1dlqxfe{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#000c;padding:1rem}.e2ee-rekey-card.svelte-1dlqxfe.svelte-1dlqxfe{background:#1c1c1e;color:#fff;padding:1.75rem;border-radius:14px;max-width:420px;width:100%;text-align:center}.e2ee-rekey-icon.svelte-1dlqxfe.svelte-1dlqxfe{font-size:2.5rem}.e2ee-rekey-title.svelte-1dlqxfe.svelte-1dlqxfe{margin:.5rem 0}.e2ee-rekey-detail.svelte-1dlqxfe.svelte-1dlqxfe{opacity:.9}.e2ee-rekey-scan.svelte-1dlqxfe.svelte-1dlqxfe{background:#2563eb;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:8px;cursor:pointer}.e2ee-rekey-actions.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;flex-flow:row wrap;gap:.5rem;justify-content:center;margin-top:.75rem}.e2ee-rekey-help.svelte-1dlqxfe.svelte-1dlqxfe{background:transparent;color:#fff;border:1px solid #4b5563;padding:.5rem 1.25rem;border-radius:8px;cursor:pointer}.e2ee-modal.svelte-1dlqxfe.svelte-1dlqxfe{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#0009}.e2ee-modal-card.svelte-1dlqxfe.svelte-1dlqxfe{background:#1c1c1e;color:#fff;padding:1.25rem;border-radius:12px;max-width:360px;width:90%}.e2ee-modal-card.svelte-1dlqxfe h2.svelte-1dlqxfe{margin:0 0 .5rem;font-size:1.1rem}.e2ee-modal-help.svelte-1dlqxfe.svelte-1dlqxfe{font-size:.9rem;opacity:.8;margin:0 0 .75rem}.e2ee-help.svelte-1dlqxfe.svelte-1dlqxfe{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#000000b3;padding:1rem}.e2ee-help-card.svelte-1dlqxfe.svelte-1dlqxfe{background:#1c1c1e;color:#fff;padding:1.5rem;border-radius:14px;max-width:560px;width:100%;max-height:80dvh;overflow-y:auto;text-align:left}.e2ee-help-title.svelte-1dlqxfe.svelte-1dlqxfe{margin:0 0 .75rem;font-size:1.25rem}.e2ee-help-current.svelte-1dlqxfe.svelte-1dlqxfe{background:#0b3a67;border:1px solid #2563eb;border-radius:10px;padding:.6rem .85rem;margin-bottom:1rem;font-size:.95rem}.e2ee-help-current-label.svelte-1dlqxfe.svelte-1dlqxfe{display:block;opacity:.8;font-size:.8rem;margin-bottom:.15rem}.e2ee-help-intro.svelte-1dlqxfe.svelte-1dlqxfe{opacity:.9;line-height:1.5;margin:0 0 1rem}.e2ee-help-section.svelte-1dlqxfe.svelte-1dlqxfe{border-top:1px solid #374151;padding:.85rem 0}.e2ee-help-section.svelte-1dlqxfe h3.svelte-1dlqxfe{margin:0 0 .3rem;font-size:1rem}.e2ee-help-section.svelte-1dlqxfe p.svelte-1dlqxfe{margin:0;opacity:.9;line-height:1.5;font-size:.92rem}.e2ee-help-section.is-current.svelte-1dlqxfe.svelte-1dlqxfe{background:#2563eb1f;border-left:3px solid #2563eb;padding-left:.75rem;border-radius:6px}.e2ee-help-actions.svelte-1dlqxfe.svelte-1dlqxfe{margin-top:1.25rem;display:flex;justify-content:flex-end}.e2ee-help-close.svelte-1dlqxfe.svelte-1dlqxfe{background:#2563eb;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:8px;cursor:pointer}.e2ee-modal-msg.svelte-1dlqxfe.svelte-1dlqxfe{margin-top:.5rem;font-size:.9rem}.e2ee-recovery-input.svelte-1dlqxfe.svelte-1dlqxfe{width:100%;margin:.75rem 0;padding:.6rem .75rem;border-radius:8px;border:1px solid #4b5563;background:#111827;color:#fff;font-size:1rem;box-sizing:border-box}.e2ee-keymissing-repair.svelte-1dlqxfe.svelte-1dlqxfe{background:#2563eb;color:#fff;border:none;padding:.45rem .9rem;border-radius:8px;cursor:pointer;white-space:nowrap;align-self:center}.e2ee-manual.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0}.e2ee-manual-label.svelte-1dlqxfe.svelte-1dlqxfe{font-size:.85rem;opacity:.85}.e2ee-manual-input.svelte-1dlqxfe.svelte-1dlqxfe{width:100%;padding:.6rem .75rem;border-radius:8px;border:1px solid #4b5563;background:#111827;color:#fff;font-size:.95rem;box-sizing:border-box;resize:vertical}.e2ee-manual-toggle.svelte-1dlqxfe.svelte-1dlqxfe{background:transparent;border:none;color:#93c5fd;text-decoration:underline;cursor:pointer;font-size:.85rem;padding:.25rem 0;align-self:flex-start}.e2ee-toast.svelte-1dlqxfe.svelte-1dlqxfe{position:fixed;top:calc(env(safe-area-inset-top) + .75rem);left:50%;transform:translate(-50%);z-index:90;max-width:min(92vw,420px);background:#1c1c1e;color:#fff;padding:.6rem 1rem;border-radius:10px;border:1px solid #374151;box-shadow:0 6px 24px #0006;font-size:.9rem;text-align:center;pointer-events:none}.e2ee-toast-success.svelte-1dlqxfe.svelte-1dlqxfe{background:#16a34a;color:#fff}.e2ee-settings-status.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem}.e2ee-settings-status-line.svelte-1dlqxfe.svelte-1dlqxfe{font-size:.95rem}.e2ee-settings-actions.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;flex-flow:row wrap;gap:.5rem}.e2ee-spinner.svelte-1dlqxfe.svelte-1dlqxfe{display:inline-block;width:.9em;height:.9em;margin-right:.4em;vertical-align:-.1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:svelte-1dlqxfe-e2ee-spin .9s linear infinite}@keyframes svelte-1dlqxfe-e2ee-spin{to{transform:rotate(360deg)}}.clean-view-btn.svelte-1dlqxfe.svelte-1dlqxfe{display:inline-flex;align-items:center;justify-content:center;padding:.4rem}.top-hud.svelte-1dlqxfe.svelte-1dlqxfe{position:absolute;top:12px;left:12px;display:flex;flex-direction:row;align-items:center;gap:8px;z-index:7;pointer-events:none}.clock.svelte-1dlqxfe.svelte-1dlqxfe{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:#f3f4f6;background:#0000008c;border-radius:6px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.clock-icon.svelte-1dlqxfe.svelte-1dlqxfe{width:.95em;height:.95em;flex:0 0 auto;opacity:.9}.session-time.svelte-1dlqxfe.svelte-1dlqxfe{padding:2px 8px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:#cbd5e1;background:#00000073;border-radius:6px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.camera-select.svelte-1dlqxfe.svelte-1dlqxfe{min-height:36px;max-width:min(40vw,220px);padding:4px 28px 4px 32px;font-size:14px;font-weight:600;color:#f3f4f6;background:#374151;border:1px solid #4b5563;border-radius:8px;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f3f4f6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 7a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2Z'/><path d='M17 9l5-3v12l-5-3Z'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f3f4f6' stroke-width='3'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat,no-repeat;background-position:left 8px center,right 8px center}.camera-select.svelte-1dlqxfe.svelte-1dlqxfe:focus-visible{outline:2px solid #10b981;outline-offset:2px}.vu-meter.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;flex-direction:row;gap:2px;padding:4px 6px;background:#0000008c;border-radius:6px}.vu-cell.svelte-1dlqxfe.svelte-1dlqxfe{width:6px;height:18px;background:#1f2937;border-radius:1px;transition:background 60ms linear}.vu-cell.lit[data-color=green].svelte-1dlqxfe.svelte-1dlqxfe{background:#10b981;box-shadow:0 0 4px #10b98199}.vu-cell.lit[data-color=yellow].svelte-1dlqxfe.svelte-1dlqxfe{background:#f59e0b;box-shadow:0 0 4px #f59e0b99}.vu-cell.lit[data-color=red].svelte-1dlqxfe.svelte-1dlqxfe{background:#ef4444;box-shadow:0 0 4px #ef444499}.raise-hand-popup.svelte-1dlqxfe.svelte-1dlqxfe{position:absolute;top:52px;left:12px;display:flex;flex-direction:column;align-items:stretch;gap:8px;width:min(180px,60%);padding:12px;background:#111827eb;border:1px solid rgba(255,255,255,.18);border-radius:12px;box-shadow:0 6px 18px #00000080;z-index:8}.raise-hand-popup-count.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;align-items:baseline;justify-content:center;gap:2px;color:#f3f4f6}.raise-hand-popup-num.svelte-1dlqxfe.svelte-1dlqxfe{font-size:40px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.raise-hand-popup-unit.svelte-1dlqxfe.svelte-1dlqxfe{font-size:18px;font-weight:600;color:#9ca3af}.raise-hand-popup-stop.svelte-1dlqxfe.svelte-1dlqxfe{width:100%;min-height:48px;padding:.6rem .75rem;font-size:1.05rem;font-weight:700;color:#fff;background:#ef4444;border:1px solid #dc2626;border-radius:8px}.raise-hand-popup-stop.svelte-1dlqxfe.svelte-1dlqxfe:hover{background:#dc2626}.audio-hud.svelte-1dlqxfe.svelte-1dlqxfe{position:absolute;top:12px;right:12px;display:flex;flex-direction:row;align-items:center;gap:8px;z-index:7;pointer-events:none}.audio-hud-btn.svelte-1dlqxfe.svelte-1dlqxfe{pointer-events:auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:56px;min-height:56px;padding:6px 8px;font:inherit;color:#f3f4f6;background:#0000008c;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.audio-hud-btn.svelte-1dlqxfe svg{width:1.6em;height:1.6em}.audio-hud-btn[data-muted=true].svelte-1dlqxfe.svelte-1dlqxfe{color:#fecaca;background:#7f1d1dd9;border-color:#ef4444}.audio-hud-btn[data-muted=false].svelte-1dlqxfe.svelte-1dlqxfe{color:#d1fae5;background:#065f46d9;border-color:#10b981}.audio-hud-btn.svelte-1dlqxfe.svelte-1dlqxfe:hover{filter:brightness(1.1)}.audio-hud-btn.svelte-1dlqxfe.svelte-1dlqxfe:focus-visible{outline:2px solid #10b981;outline-offset:2px}.audio-hud-label.svelte-1dlqxfe.svelte-1dlqxfe{font-size:11px;font-weight:700;line-height:1;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.8)}.self-preview.svelte-1dlqxfe.svelte-1dlqxfe{position:absolute;right:12px;bottom:12px;width:22%;max-width:220px;max-height:30%;object-fit:cover;border:2px solid #10b981;border-radius:8px;background:#111;box-shadow:0 4px 12px #0006;display:none;z-index:5}.self-preview.visible.svelte-1dlqxfe.svelte-1dlqxfe{display:block}.self-preview-tag.svelte-1dlqxfe.svelte-1dlqxfe{position:absolute;right:16px;bottom:18px;padding:2px 6px;font-size:11px;font-weight:700;color:#fff;background:#ef4444d9;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;pointer-events:none;z-index:6}.error.svelte-1dlqxfe.svelte-1dlqxfe{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);max-width:min(92vw,420px);text-align:center;z-index:100;color:#fca5a5;background:#0009;padding:.5rem .75rem;border-radius:6px}.error-text.svelte-1dlqxfe.svelte-1dlqxfe{margin:0}.error-code.svelte-1dlqxfe.svelte-1dlqxfe{margin:.35rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;opacity:.75}.error-details-toggle.svelte-1dlqxfe.svelte-1dlqxfe{margin-top:.25rem;background:none;border:none;padding:0;color:inherit;font-size:.72rem;text-decoration:underline;cursor:pointer;opacity:.7}.error-detail.svelte-1dlqxfe.svelte-1dlqxfe{margin:.25rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;text-align:left;word-break:break-word;opacity:.7}.admin-msg.svelte-1dlqxfe.svelte-1dlqxfe{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;max-width:min(560px,90%);padding:.6rem .75rem .6rem 1rem;background:#1d4ed8;color:#fff;font-weight:600;border-radius:10px;box-shadow:0 6px 18px #00000073;z-index:9}.admin-msg-text.svelte-1dlqxfe.svelte-1dlqxfe{flex:1;word-break:break-word}.admin-msg-close.svelte-1dlqxfe.svelte-1dlqxfe{flex:none;width:28px;height:28px;padding:0;line-height:1;font-size:1.2rem;color:#fff;background:#ffffff2e;border:1px solid rgba(255,255,255,.3);border-radius:6px}.controls.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;gap:.5rem;padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));background:#111827;border-top:1px solid #374151;flex-wrap:wrap}.controls.invisible-only.svelte-1dlqxfe.svelte-1dlqxfe{justify-content:center;padding:1.25rem 1rem;padding-bottom:max(1.25rem,env(safe-area-inset-bottom))}.ctl.svelte-1dlqxfe.svelte-1dlqxfe{display:inline-flex;align-items:center;gap:.4rem;position:relative}.ctl.svelte-1dlqxfe svg{flex:0 0 auto}.controls.svelte-1dlqxfe .ctl[data-on=true].svelte-1dlqxfe,.controls.svelte-1dlqxfe .ctl[data-active=true].svelte-1dlqxfe{background:#065f46;border-color:#10b981;color:#ecfdf5}.controls.svelte-1dlqxfe .ctl[data-on=false].svelte-1dlqxfe{background:#3f2937;border-color:#7f1d1d;color:#fecaca}.ctl[data-tip].svelte-1dlqxfe.svelte-1dlqxfe:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:max-content;max-width:240px;white-space:normal;text-align:center;padding:.4rem .6rem;font-size:.8rem;font-weight:500;line-height:1.25;color:#f9fafb;background:#1f2937;border:1px solid #4b5563;border-radius:8px;box-shadow:0 4px 14px #00000073;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:30}.ctl[data-tip].svelte-1dlqxfe.svelte-1dlqxfe:hover:after,.ctl[data-tip].svelte-1dlqxfe.svelte-1dlqxfe:focus-visible:after{opacity:1}.ctl[data-tip].svelte-1dlqxfe.svelte-1dlqxfe:disabled:after{display:none}.go-visible-big.svelte-1dlqxfe.svelte-1dlqxfe{width:min(420px,100%);min-height:64px;padding:1rem 1.5rem;font-size:1.4rem;font-weight:800;color:#fff;background:#10b981;border:1px solid #059669;border-radius:12px}.go-visible-big.ctl.svelte-1dlqxfe.svelte-1dlqxfe{justify-content:center}.go-visible-big.svelte-1dlqxfe.svelte-1dlqxfe:hover:not(:disabled){background:#059669}@media (max-width: 480px){.controls.svelte-1dlqxfe .ctl .label.svelte-1dlqxfe{display:none}.controls.svelte-1dlqxfe .ctl.svelte-1dlqxfe:not(.go-visible-big){padding:.5rem;min-width:44px;justify-content:center}.controls.svelte-1dlqxfe .go-visible-big .label.svelte-1dlqxfe{display:inline}}.text-overlay.svelte-1dlqxfe.svelte-1dlqxfe{position:fixed;left:50%;bottom:4rem;transform:translate(-50%);background:#1f2937;border:1px solid #4b5563;border-radius:10px;padding:.75rem;display:grid;gap:.5rem;width:min(520px,90vw);z-index:30}.text-overlay.svelte-1dlqxfe textarea.svelte-1dlqxfe{background:#111827;color:#f3f4f6;border:1px solid #374151;border-radius:6px;padding:.5rem;font:inherit;resize:vertical}.row.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;gap:.5rem;justify-content:flex-end}.video-dialog-backdrop.svelte-1dlqxfe.svelte-1dlqxfe{position:fixed;inset:0;background:#000000b3;display:grid;place-items:center;z-index:40}.video-dialog.svelte-1dlqxfe.svelte-1dlqxfe{background:#1f2937;border:1px solid #4b5563;border-radius:12px;padding:1rem;width:min(420px,92vw);display:grid;gap:.75rem;color:#f3f4f6}.video-dialog.svelte-1dlqxfe h2.svelte-1dlqxfe{margin:0;font-size:1.1rem}.video-dialog.svelte-1dlqxfe .muted.svelte-1dlqxfe{margin:0;color:#9ca3af;font-size:.9rem}.video-dialog-preview.svelte-1dlqxfe.svelte-1dlqxfe{position:relative;background:#000;border-radius:8px;overflow:hidden;aspect-ratio:4 / 3;display:grid;place-items:center}.video-dialog-preview.svelte-1dlqxfe video.svelte-1dlqxfe{width:100%;height:100%;object-fit:cover}.video-dialog-preview.svelte-1dlqxfe .error.svelte-1dlqxfe,.video-dialog-preview.svelte-1dlqxfe .muted.svelte-1dlqxfe{position:absolute;color:#f3f4f6;padding:.25rem .5rem;z-index:1}.video-dialog-preview.svelte-1dlqxfe .error.svelte-1dlqxfe{color:#fca5a5}.video-dialog-camera.svelte-1dlqxfe.svelte-1dlqxfe{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.video-dialog-camera.svelte-1dlqxfe .camera-select.svelte-1dlqxfe{max-width:none;width:100%}.video-dialog.svelte-1dlqxfe button.primary.svelte-1dlqxfe{background:#10b981;border-color:#059669;font-weight:600}.video-dialog.svelte-1dlqxfe button.primary.svelte-1dlqxfe:disabled{background:#374151;border-color:#4b5563}.login.svelte-1m95m{min-height:100vh;display:grid;place-items:center;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.card.svelte-1m95m{width:100%;max-width:360px;background:#111827;border:1px solid #374151;border-radius:12px;padding:1.5rem;box-shadow:0 10px 25px #0006}h1.svelte-1m95m{margin:0 0 .25rem;font-size:1.5rem}.sub.svelte-1m95m{margin:0 0 1rem;color:#9ca3af}form.svelte-1m95m{display:grid;gap:.75rem;margin-bottom:1rem}label.svelte-1m95m{display:grid;gap:.25rem;font-size:.875rem;color:#d1d5db}input.svelte-1m95m{padding:.6rem .75rem;background:#1f2937;color:#f3f4f6;border:1px solid #374151;border-radius:8px;font-size:1rem}button.svelte-1m95m{padding:.6rem .75rem;background:#10b981;color:#04221a;font-weight:600;border:none;border-radius:8px;font-size:1rem}.error.svelte-1m95m{margin:0;color:#fca5a5;font-size:.875rem}.forgot.svelte-1m95m{display:inline-block;color:#6ee7b7;font-size:.85rem;text-decoration:none}.forgot.svelte-1m95m:hover{text-decoration:underline}.login.svelte-11b8op2.svelte-11b8op2{min-height:100vh;display:grid;place-items:center;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.card.svelte-11b8op2.svelte-11b8op2{width:100%;max-width:360px;background:#111827;border:1px solid #374151;border-radius:12px;padding:1.5rem;box-shadow:0 10px 25px #0006}h1.svelte-11b8op2.svelte-11b8op2{margin:0 0 .25rem;font-size:1.5rem}.sub.svelte-11b8op2.svelte-11b8op2{margin:0 0 1rem;color:#9ca3af}form.svelte-11b8op2.svelte-11b8op2{display:grid;gap:.75rem;margin-bottom:1rem}label.svelte-11b8op2.svelte-11b8op2{display:grid;gap:.25rem;font-size:.875rem;color:#d1d5db}input.svelte-11b8op2.svelte-11b8op2{padding:.6rem .75rem;background:#1f2937;color:#f3f4f6;border:1px solid #374151;border-radius:8px;font-size:1rem}button.svelte-11b8op2.svelte-11b8op2{padding:.6rem .75rem;background:#10b981;color:#04221a;font-weight:600;border:none;border-radius:8px;font-size:1rem}.error.svelte-11b8op2.svelte-11b8op2{margin:0;color:#fca5a5;font-size:.875rem}.ok.svelte-11b8op2.svelte-11b8op2{margin:0;color:#6ee7b7;font-size:.875rem}.warn.svelte-11b8op2.svelte-11b8op2{margin:0 0 1rem;padding:.6rem .7rem;background:#fcd34d1a;border:1px solid #b45309;border-radius:8px;color:#fcd34d;font-size:.8rem}.hint.svelte-11b8op2.svelte-11b8op2{margin:0 0 .5rem;color:#9ca3af;font-size:.82rem}.recovery.svelte-11b8op2.svelte-11b8op2{display:grid;gap:.5rem;margin:1rem 0;padding-top:1rem;border-top:1px solid #374151}.recovery.svelte-11b8op2 h2.svelte-11b8op2{margin:0;font-size:1rem}.recovery.svelte-11b8op2 .ghost.svelte-11b8op2{background:transparent;border:1px solid #374151;color:#f3f4f6}.continue.svelte-11b8op2.svelte-11b8op2{margin-top:.5rem;background:#10b981;color:#04221a}.forgot.svelte-11b8op2.svelte-11b8op2{display:inline-block;color:#6ee7b7;font-size:.85rem;text-decoration:none}.forgot.svelte-11b8op2.svelte-11b8op2:hover{text-decoration:underline}.login.svelte-1ia3daf{min-height:100vh;display:grid;place-items:center;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.card.svelte-1ia3daf{width:100%;max-width:360px;background:#111827;border:1px solid #374151;border-radius:12px;padding:1.5rem;box-shadow:0 10px 25px #0006}h1.svelte-1ia3daf{margin:0 0 .25rem;font-size:1.5rem}.sub.svelte-1ia3daf{margin:0 0 1rem;color:#9ca3af}.ok.svelte-1ia3daf{color:#6ee7b7}.error.svelte-1ia3daf{color:#fca5a5}.forgot.svelte-1ia3daf{display:inline-block;color:#6ee7b7;font-size:.85rem;text-decoration:none}.forgot.svelte-1ia3daf:hover{text-decoration:underline}.profile.svelte-1bcig0u.svelte-1bcig0u{max-width:640px;margin:0 auto;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(2rem,env(safe-area-inset-bottom));display:grid;gap:1rem;max-height:100dvh;overflow-y:auto}.bar.svelte-1bcig0u.svelte-1bcig0u{display:flex;align-items:center;gap:1rem}.bar.svelte-1bcig0u h1.svelte-1bcig0u{margin:0;font-size:1.4rem}.back.svelte-1bcig0u.svelte-1bcig0u{color:#6ee7b7;text-decoration:none;font-size:.9rem}.back.svelte-1bcig0u.svelte-1bcig0u:hover{text-decoration:underline}.panel.svelte-1bcig0u.svelte-1bcig0u{background:#111827;border:1px solid #374151;border-radius:12px;padding:1.25rem;display:grid;gap:.6rem}.panel.svelte-1bcig0u h2.svelte-1bcig0u{margin:0 0 .25rem;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.panel.svelte-1bcig0u h3.svelte-1bcig0u{margin:.75rem 0 0;font-size:.95rem;color:#e5e7eb}label.svelte-1bcig0u.svelte-1bcig0u{display:grid;gap:.25rem;font-size:.85rem;color:#d1d5db}input.svelte-1bcig0u.svelte-1bcig0u,select.svelte-1bcig0u.svelte-1bcig0u,textarea.svelte-1bcig0u.svelte-1bcig0u{padding:.55rem .7rem;background:#1f2937;color:#f3f4f6;border:1px solid #374151;border-radius:8px;font-size:1rem}textarea.svelte-1bcig0u.svelte-1bcig0u{font-family:inherit;resize:vertical;word-break:break-all}input.svelte-1bcig0u.svelte-1bcig0u:focus,select.svelte-1bcig0u.svelte-1bcig0u:focus,textarea.svelte-1bcig0u.svelte-1bcig0u:focus{outline:2px solid #10b981;outline-offset:1px}.photo-row.svelte-1bcig0u.svelte-1bcig0u{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.hidden-file.svelte-1bcig0u.svelte-1bcig0u{display:none}.actions.svelte-1bcig0u.svelte-1bcig0u{display:flex;gap:.5rem;flex-wrap:wrap}.btn.svelte-1bcig0u.svelte-1bcig0u{appearance:none;border:1px solid rgba(255,255,255,.18);background:#374151;color:#f3f4f6;border-radius:.6rem;padding:.55rem 1rem;font-size:.95rem;cursor:pointer}.btn.ghost.svelte-1bcig0u.svelte-1bcig0u{background:transparent}.btn.primary.svelte-1bcig0u.svelte-1bcig0u{background:#10b981;color:#04221a;border-color:#10b981;font-weight:600}.btn.svelte-1bcig0u.svelte-1bcig0u:disabled{opacity:.5;cursor:not-allowed}.hint.svelte-1bcig0u.svelte-1bcig0u{margin:0;color:#9ca3af;font-size:.82rem}.current.svelte-1bcig0u.svelte-1bcig0u{margin:0;color:#d1d5db;font-size:.9rem}.pending.svelte-1bcig0u.svelte-1bcig0u{margin:0;color:#fcd34d;font-size:.85rem}.notice.svelte-1bcig0u.svelte-1bcig0u{margin:0;padding:.6rem .75rem;background:#fcd34d1f;border:1px solid #b45309;border-radius:8px;color:#fcd34d;font-size:.85rem}.msg.svelte-1bcig0u.svelte-1bcig0u{margin:0;font-size:.85rem}.msg.ok.svelte-1bcig0u.svelte-1bcig0u{color:#6ee7b7}.msg.error.svelte-1bcig0u.svelte-1bcig0u{color:#fca5a5}.recovery-code.svelte-1bcig0u.svelte-1bcig0u{background:#0b1220;border:1px dashed #4b5563;border-radius:8px;padding:.75rem;text-align:center}.recovery-code.svelte-1bcig0u code.svelte-1bcig0u{font-size:1.1rem;letter-spacing:1px;color:#6ee7b7;word-break:break-all}.warn.svelte-1bcig0u.svelte-1bcig0u{margin:.5rem 0 0;color:#fcd34d;font-size:.8rem}.teacher-list.svelte-1bcig0u.svelte-1bcig0u{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}.teacher-list.svelte-1bcig0u a.svelte-1bcig0u{color:#6ee7b7}.tname.svelte-1bcig0u.svelte-1bcig0u{color:#d1d5db;margin-right:.4rem}.pw-dialog-backdrop.svelte-1bcig0u.svelte-1bcig0u{position:fixed;inset:0;background:#0009;display:grid;place-items:center;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom));z-index:50}.pw-dialog.svelte-1bcig0u.svelte-1bcig0u{width:100%;max-width:400px;background:#111827;border:1px solid #374151;border-radius:12px;padding:1.25rem;display:grid;gap:.75rem;box-shadow:0 10px 25px #00000080}.pw-dialog.svelte-1bcig0u h2.svelte-1bcig0u{margin:0;font-size:1.1rem}.pw-dialog.svelte-1bcig0u p.svelte-1bcig0u{margin:0;color:#d1d5db;font-size:.9rem}.pw-dialog.svelte-1bcig0u .warn.svelte-1bcig0u{color:#fcd34d}.demo.svelte-1klxgyk{min-height:100vh;display:grid;place-items:center;padding:1rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}.card.svelte-1klxgyk{width:100%;max-width:360px;display:grid;gap:.75rem;justify-items:center;background:#111827;border:1px solid #374151;border-radius:12px;padding:1.5rem;text-align:center}.badge.svelte-1klxgyk{padding:.25rem .75rem;font-weight:700;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;color:#04221a;background:#fbbf24;border-radius:999px}.sub.svelte-1klxgyk{margin:0;color:#9ca3af}.error.svelte-1klxgyk{margin:0;color:#fca5a5}.install.svelte-1l7j7pv{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:.875rem 1rem calc(.875rem + env(safe-area-inset-bottom));background:#1e3a8a;color:#eef2ff;border-top:1px solid rgba(255,255,255,.15);box-shadow:0 -8px 24px #00000059}.row.svelte-1l7j7pv{display:flex;align-items:flex-start;gap:.75rem}.icon.svelte-1l7j7pv{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#ffffff1f;color:#fff}.body.svelte-1l7j7pv{flex:1 1 auto;min-width:0}.title.svelte-1l7j7pv{margin:0 0 .25rem;font-weight:700;font-size:1rem}.step.svelte-1l7j7pv{margin:.1rem 0;font-size:.875rem;color:#dbe3ff;line-height:1.3}.close.svelte-1l7j7pv{flex:0 0 auto;width:32px;height:32px;border:none;border-radius:8px;background:#ffffff1f;color:#eef2ff;font-size:1.25rem;line-height:1;display:grid;place-items:center}.gotit.svelte-1l7j7pv{margin-top:.75rem;width:100%;padding:.55rem .75rem;border:none;border-radius:8px;background:#fff;color:#1e3a8a;font-weight:700;font-size:.95rem}main.svelte-3ad15t{min-height:100%}.boot.svelte-3ad15t{position:fixed;inset:0;display:grid;place-items:center;background:#1f2937;color:#f3f4f6;z-index:10}:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;height:100%;overflow:hidden;background:#1f2937;color:#f3f4f6}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}
