:root{--bg:#050508;--fg:#ededed;--accent:#3b82f6;--accent-hover:#2563eb;--accent-glow:rgba(59,130,246,0.25);--action:#356B49;--action-hover:#2F5C40;--action-fg:#E9E4D8;--surface:#111114;--surface-hover:#18181c;--border:#1e1e24;--border-hover:#2a2a32;--muted:#8a8a93}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);min-height:100vh;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}.toggle-row{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.toggle-row label{font-size:.85rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle{position:relative;width:36px;height:20px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-track{position:absolute;inset:0;background:var(--border);border-radius:999px;cursor:pointer;transition:background .2s}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--fg);border-radius:50%;transition:transform .2s}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track:after{transform:translateX(16px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--accent);outline-offset:2px}.landing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:1.5rem;gap:1.5rem}.landing h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em}.landing p{color:var(--muted);font-size:1.1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.75rem;width:100%;max-width:420px}.card h2{font-size:1.15rem;letter-spacing:-.01em}.card h2,.field{margin-bottom:1rem}.field{display:flex;flex-direction:column;gap:.5rem}.field label{font-size:.8rem;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.field input{padding:.65rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.2rem;border-radius:10px;border:none;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;width:100%;-webkit-tap-highlight-color:transparent}.btn-primary{background:var(--action);color:var(--action-fg)}.btn-primary:hover{background:var(--action-hover)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-primary:disabled:hover{background:var(--action)}.btn-secondary{background:var(--border);color:var(--fg)}.btn-secondary:hover{background:var(--border-hover)}.error{color:#ef4444;font-size:.85rem;margin-top:.5rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(a,button,summary,[role=button],input[type=checkbox]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:480px){.card{padding:1rem;border-radius:10px}.btn{min-height:44px}}::view-transition-old(root){animation:vt-fade-out .18s ease both}::view-transition-new(root){animation:vt-fade-in .26s ease both}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){::view-transition-new(root),::view-transition-old(root){animation:none!important}html{scroll-behavior:auto!important}}.btn:active{transform:scale(.98)}.invite-actions{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:.5rem}.invite-actions .btn{font-size:.85rem;padding:.5rem}.prejoin-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:1rem;gap:1rem}.prejoin-page h1{font-size:1.5rem;letter-spacing:-.02em}.prejoin-page-top{justify-content:flex-start;padding-top:clamp(1.5rem,6vh,4rem)}.prejoin-page-top>:not(.prejoin-brand){width:min(100%,480px)}.prejoin-brand{display:inline-flex;padding:.5rem}.prejoin-brand img{display:block;height:20px;width:auto}.prejoin-page-top .prejoin-title{margin:0;font-size:1.5rem;text-align:center}.prejoin-page-top .prejoin-sub{margin:-.5rem 0 0;text-align:center}.prejoin-status{margin:0;padding:.75rem 1rem;border-radius:10px;font-size:.9rem;line-height:1.5}.prejoin-status-ok{background:rgba(53,107,73,.22);color:var(--fg)}.prejoin-status-warn{background:rgba(146,64,14,.35);color:#fde68a}.prejoin-note{margin:0;font-size:.9rem;color:var(--muted)}.invite-panel{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;border-radius:14px;background:var(--surface)}.invite-panel h2{margin:0;font-size:.95rem;font-weight:600}.invite-url{margin:0;padding:.6rem .75rem;border-radius:8px;background:var(--bg);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.6;word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all}.invite-key{padding:0 .2em;border-radius:4px;background:rgba(53,107,73,.5);color:#E9E4D8}.invite-actions{display:flex;gap:.5rem}.invite-actions .btn{flex:1 1}.invite-note{margin:0;color:var(--muted);font-size:.85rem;line-height:1.5}.room-page{height:100vh;height:100dvh;width:100vw;position:relative;overflow:hidden}.room-toolbar{position:fixed;bottom:5rem;right:1rem;z-index:50;display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 2rem)}[data-lk-theme=default] .lk-control-bar{flex-wrap:wrap;justify-content:center;row-gap:.4rem}.room-toolbar button{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border-radius:8px;border:1px solid var(--border);background:rgba(17,17,20,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--muted);font-size:.8rem;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent;white-space:nowrap}.room-toolbar button:hover{background:rgba(24,24,28,.95);color:var(--fg);border-color:var(--border-hover)}.btn-noise.active{color:#4ade80;border-color:#16a34a33}.btn-blur.active{color:#a78bfa;border-color:rgba(167,139,250,.2)}.btn-pip.active{color:var(--accent);border-color:rgba(59,130,246,.2)}.btn-receipt{color:var(--muted)}.btn-receipt:hover{color:#fbbf24!important}.free-tier-timer{position:fixed;top:1rem;right:1rem;z-index:50;padding:.5rem .8rem;border-radius:8px;border:1px solid var(--border);background:rgba(17,17,20,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--muted);font-size:.8rem;font-family:monospace}.free-tier-timer.urgent{color:#ef4444;border-color:#ef444433}.waiting-room{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);gap:1rem;text-align:center;padding:1.5rem}.waiting-room h2{font-size:1.5rem;font-weight:600}.waiting-room p{color:var(--muted);max-width:400px}.waiting-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.admit-bar{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.6rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);font-size:.85rem}.admit-bar span{color:var(--muted)}.admit-btn{padding:.3rem .8rem;border-radius:6px;border:none;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s}.admit-btn.allow{background:var(--action);color:var(--action-fg)}.admit-btn.allow:hover{background:var(--action-hover)}.admit-btn.deny{background:var(--border);color:var(--muted)}.admit-btn.deny:hover{background:var(--border-hover)}@media (max-width:480px){.invite-actions{grid-template-columns:1fr;gap:.5rem}.prejoin-page{padding:.75rem}.room-toolbar{bottom:4.5rem;right:.5rem;left:.5rem;flex-wrap:wrap;justify-content:center}.room-toolbar button{font-size:.7rem;padding:.4rem .6rem}.free-tier-timer{top:.5rem;right:.5rem;font-size:.7rem}.admit-bar{flex-wrap:wrap;gap:.5rem;padding:.5rem;font-size:.8rem}[data-lk-theme=default] .lk-prejoin{width:100%;max-width:100%;padding:.5rem}[data-lk-theme=default] .lk-video-conference{height:100%}}.meetings-page{max-width:800px;margin:0 auto;padding:2rem 1rem}.meetings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.meetings-header h1{font-size:1.5rem}.meetings-create{display:flex;gap:.75rem;align-items:center;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem}.meetings-empty{text-align:center;padding:3rem 1rem;color:var(--muted)}.meetings-list{display:flex;flex-direction:column;gap:.75rem}.meeting-card{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:border-color .15s}.meeting-card:hover{border-color:var(--border-hover)}.meeting-info h3{font-size:1rem;margin-bottom:.25rem}.meeting-meta{font-size:.8rem;color:var(--muted);font-family:monospace}.meeting-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.btn-sm{padding:.4rem .75rem!important;font-size:.8rem!important}.btn-delete{display:inline-flex;align-items:center;padding:.4rem;border-radius:6px;border:1px solid transparent;background:none;color:var(--muted);cursor:pointer;transition:all .15s}.btn-delete:hover{color:#ef4444;border-color:rgba(239,68,68,.2);background:rgba(239,68,68,.05)}@media (max-width:768px){.meetings-create{flex-direction:column;align-items:stretch}.meeting-card{flex-direction:column;gap:.75rem;align-items:flex-start}.meeting-actions{width:100%;flex-wrap:wrap}.meeting-actions .btn-sm{flex:1 1;text-align:center}}@supports (padding-bottom:env(safe-area-inset-bottom)){.room-page{padding-bottom:env(safe-area-inset-bottom)}.room-toolbar{bottom:calc(1rem + env(safe-area-inset-bottom))}@media (max-width:480px){.room-toolbar{bottom:calc(4.5rem + env(safe-area-inset-bottom))}}}body[data-page=meetings]{--bg:#ffffff;--fg:#000000;--accent:#23432F;--accent-hover:#1B3524;--accent-glow:rgba(35,67,47,0.18);--danger:#d40000;--surface:#ffffff;--surface-hover:#fafafa;--border:#000000;--border-hover:#23432F;--muted:#555555;--hairline:#e6e6e6;--action:#23432F;--action-hover:#1B3524;--action-fg:#FFFFFF;background:var(--bg);color:var(--fg);font-family:NHG Display,Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:-.005em}html[data-theme=dark] body[data-page=meetings]{--bg:#000000;--fg:#ffffff;--accent:#5B9A70;--accent-hover:#7FB894;--accent-glow:rgba(91,154,112,0.22);--danger:#ff3333;--surface:#000000;--surface-hover:#0d0d0d;--border:#ffffff;--border-hover:#5B9A70;--muted:#aaaaaa;--hairline:#1a1a1a;--action:#356B49;--action-hover:#2F5C40;--action-fg:#E9E4D8}body[data-page=meetings] .meetings-page,body[data-page=meetings] .prejoin-page{background:var(--bg);color:var(--fg)}body[data-page=meetings] .meetings-header{border-bottom:4px solid var(--fg);padding-bottom:10px;margin-bottom:24px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}body[data-page=meetings] .meetings-header h1{font-size:22px;font-weight:700;letter-spacing:-.01em;text-transform:uppercase;color:var(--fg)}body[data-page=meetings] .meetings-header-right{display:flex;gap:8px;margin-left:auto;align-items:center}body[data-page=meetings] .btn{border-radius:0!important;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:11px;padding:8px 14px;border:1px solid var(--fg);background:var(--bg);color:var(--fg);box-shadow:none;font-family:inherit;transition:background-color .12s linear,color .12s linear}body[data-page=meetings] .btn:hover{background:var(--fg);color:var(--bg);box-shadow:none}body[data-page=meetings] .btn-primary{background:var(--action);color:var(--action-fg);border-color:var(--action)}body[data-page=meetings] .btn-primary:hover{background:var(--action-hover);color:var(--action-fg);border-color:var(--action-hover);box-shadow:none}body[data-page=meetings] .btn-primary:disabled,body[data-page=meetings] .btn-primary:disabled:hover{opacity:.4;background:var(--action);color:var(--action-fg);border-color:var(--action)}body[data-page=meetings] .btn-secondary{background:var(--bg);color:var(--fg)}body[data-page=meetings] .btn-secondary:hover{background:var(--fg);color:var(--bg)}body[data-page=meetings] .btn-sm{font-size:12px;padding:8px 12px}body[data-page=meetings] .btn-delete{background:var(--bg);color:var(--danger);border:1px solid var(--danger);border-radius:0!important;padding:6px 10px;cursor:pointer}body[data-page=meetings] .btn-delete:hover{background:var(--danger);color:var(--bg)}body[data-page=meetings] .error{color:var(--danger)}body[data-page=meetings] .card{background:var(--bg);border:1px solid var(--fg);border-radius:0!important;padding:24px;box-shadow:none}body[data-page=meetings] .card h1,body[data-page=meetings] .card h2{font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:-.01em;color:var(--fg)}body[data-page=meetings] .field label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;display:block}body[data-page=meetings] .field input{background:var(--bg);color:var(--fg);border:0;border-bottom:1px solid var(--fg);border-radius:0!important;padding:8px 0;font-family:inherit;font-size:14px;font-feature-settings:"tnum"}body[data-page=meetings] .field input:focus{outline:0;border-bottom-color:var(--accent);box-shadow:none}body[data-page=meetings] .toggle-track{background:var(--hairline);border:1px solid var(--fg)}body[data-page=meetings] .toggle input:checked+.toggle-track{background:var(--fg)}body[data-page=meetings] .toggle input:checked+.toggle-track:after,body[data-page=meetings] .toggle-track:after{background:var(--bg)}body[data-page=meetings] .meetings-create{border:0;border-radius:0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:18px 0;margin-bottom:24px}body[data-page=meetings] .meeting-card{background:var(--bg);border:0;border-bottom:1px solid var(--hairline);border-radius:0!important;padding:14px 0;box-shadow:none}body[data-page=meetings] .meeting-card:hover{background:var(--surface-hover);border-color:var(--hairline)}body[data-page=meetings] .meeting-info h3{font-size:14px;font-weight:700;color:var(--fg);letter-spacing:-.005em}body[data-page=meetings] .meeting-meta{font-size:12px;color:var(--muted);letter-spacing:.18em;text-transform:uppercase}body[data-page=meetings] .meetings-empty{border:1px solid var(--hairline);padding:36px 20px;text-align:left}body[data-page=meetings] .meetings-empty p{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}body[data-page=meetings] .theme-toggle{background:var(--bg);color:var(--fg);border:1px solid var(--fg);border-radius:0!important;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background-color .12s linear,color .12s linear}body[data-page=meetings] .theme-toggle:hover{background:var(--fg);color:var(--bg)}body[data-page=meetings] input[type=datetime-local]{color-scheme:light}html[data-theme=dark] body[data-page=meetings] input[type=datetime-local]{color-scheme:dark}.room-notice{position:fixed;top:4.5rem;left:50%;transform:translateX(-50%);z-index:70;max-width:min(560px,calc(100vw - 2rem));display:flex;gap:.75rem;align-items:center;padding:.6rem .9rem;border-radius:10px;font-size:.85rem;color:var(--fg,#fafafa);background:var(--surface);border:1px solid var(--border-hover)}.room-notice button{background:none;border:0;color:inherit;font-size:1.1rem;min-width:32px;min-height:32px;cursor:pointer}.prejoin-title{font-size:1.25rem;margin-bottom:.75rem}.prejoin-sub{color:var(--muted);line-height:1.5}.room-e2ee-ok{color:#E9E4D8;background:rgba(53,107,73,.55)}.room-e2ee-ok,.room-e2ee-warning{align-self:center;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:600}.room-e2ee-warning{color:#fde68a;background:rgba(146,64,14,.45);border:1px solid rgba(251,191,36,.5);white-space:nowrap}html [data-lk-theme]{--lk-accent-bg:var(--action);--lk-accent-fg:var(--action-fg);--lk-accent2:var(--action-hover);--lk-accent3:var(--action-hover);--lk-accent4:#23432F}a{color:var(--accent)}.meetings-brand{display:inline-flex;margin-bottom:1.25rem}.meetings-brand img{display:block;height:20px;width:auto}.meetings-brand .brand-on-dark,html[data-theme=dark] .meetings-brand .brand-on-light{display:none}html[data-theme=dark] .meetings-brand .brand-on-dark{display:block}.meeting-calendar-note{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;width:100%;margin-top:.75rem;font-size:.85rem}.meeting-calendar-note p{flex:1 1 16rem;margin:0;color:var(--muted)}.meetings-undo{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:1rem;padding:.6rem .75rem .6rem 1rem;background:var(--fg);color:var(--bg);font-size:.9rem;box-shadow:0 6px 24px rgba(0,0,0,.25)}.meetings-undo .btn{width:auto}.meetings-undo{width:max-content;max-width:calc(100vw - 2rem)}.meeting-info{flex:1 1 16rem;min-width:0}.meeting-actions{flex-wrap:wrap}.meeting-actions .btn-sm,.meetings-create .toggle-row{white-space:nowrap}.meeting-actions .btn-sm{width:auto}@media (max-width:768px){.meeting-info{flex:none;width:100%}.meeting-actions .btn-sm{flex:1 1 auto}}@media (max-width:480px){.admit-btn,.btn-delete,.btn-sm,.room-toolbar button,.theme-toggle{min-height:44px}.btn-delete{min-width:44px}}