:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fs-label:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--bg:#f6f4f0;--bg-img:radial-gradient(60% 45% at 50% -10%, #e8874a24, transparent 70%), radial-gradient(40% 40% at 92% 0%, #6d5dfc12, transparent 70%);--panel:#fff;--glass:linear-gradient(180deg, #ffffffe0, #ffffffb3);--modal-bg:#fffffff5;--accent:#c4601f;--accent-dim:#a94f17;--accent-grad:linear-gradient(135deg, #f6c46a, #e8874a);--accent-glow:#e8874a4d;--text:#12141b;--text-dim:#6a7080;--danger:#d93a2b;--on-accent:#1a0e05;--border:#12141b14;--border-strong:#12141b24;--border-hover:#12141b3d;--field:#fff;--hover:#12141b0b;--divider:#12141b12;--collapsed:#12141b09;--collapsed-hover:#12141b11;--slot-icon:#b3b7c2;--empty-text:#8b90a0;--tint:#12141b0b;--tint-hover:#12141b16;--accent-tint:#e8874a1f;--banner:#fdf3e4;--danger-tint:#fde7e4;--danger-text:#b3261e;--warn-bg:#d9a44124;--warn-border:#d9a44173;--warn-text:#8a5a00;--success:#1f8a4c;--live:#1f9d55;--backdrop:#0a0c1273;--menu-shadow:#0000001f;--card-shadow:#12141b14;--on-video:#eceef4;--accent-on-video:#f6c46a;--video-glass:#0a0c128c;--sign-ink:#12141b;--logo-from:#e9a640;--logo-to:#d4642a}:root[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07080d;--bg-img:radial-gradient(60% 50% at 50% -10%, #f6c46a26, transparent 70%), radial-gradient(40% 45% at 90% 0%, #6d5dfc21, transparent 70%);--panel:#10121a;--glass:linear-gradient(180deg, #ffffff0e, #ffffff06);--modal-bg:#10121af0;--accent:#f6c46a;--accent-dim:#e8874a;--accent-glow:#e8874a59;--text:#eceef4;--text-dim:#8d93a5;--border:#ffffff14;--border-strong:#ffffff24;--border-hover:#ffffff3d;--field:#0c0e15;--hover:#ffffff0f;--divider:#ffffff12;--collapsed:#ffffff0a;--collapsed-hover:#ffffff14;--slot-icon:#4a5063;--empty-text:#6b7185;--tint:#ffffff0f;--tint-hover:#ffffff1f;--accent-tint:#f6c46a1f;--banner:#f6c46a14;--danger-tint:#2a1416;--danger-text:#ff8a80;--warn-bg:#d9a4411f;--warn-border:#d9a44159;--warn-text:#e0b060;--success:#5ee38f;--live:#5ee38f;--backdrop:#030408b3;--menu-shadow:#0009;--card-shadow:#00000080;--sign-ink:#eceef4;--logo-from:#f6c46a;--logo-to:#e8874a}*{box-sizing:border-box}body{background-color:var(--bg);background-image:var(--bg-img);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif}:root{accent-color:var(--accent)}:focus-visible{outline-color:var(--accent)}.caps{font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin:0;font-weight:600}.glass{background:var(--glass);border:1px solid var(--border);box-shadow:0 10px 30px -12px var(--card-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px}.text-gradient{background:var(--accent-grad);color:#0000;-webkit-background-clip:text;background-clip:text}.btn{background:var(--accent-grad);color:var(--on-accent);box-shadow:0 6px 24px var(--accent-glow), inset 0 1px 0 #fff6;font:inherit;font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;text-decoration:none;transition:filter .15s,background-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn svg{flex-shrink:0;font-size:1.125rem}.btn:hover{filter:brightness(1.07)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn-lg{font-size:var(--fs-base);padding:12px 20px}.btn-sm{font-size:var(--fs-sm);padding:7px 12px}.btn-ghost{background:var(--tint);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.btn-ghost:hover{background:var(--tint-hover);filter:none}.btn-icon{padding:10px}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 6px 20px #d93a2b4d}.btn-danger:hover{background:#a93226}.btn-kofi{color:#fff;background:#ff5e5b;box-shadow:0 6px 20px #ff5e5b47}.btn-kofi:hover{background:#e84e4b}.round-btn{background:var(--tint);width:42px;height:42px;box-shadow:inset 0 0 0 1px var(--border);color:var(--text-dim);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;place-items:center;font-size:1.25rem;display:grid}.round-btn:hover{color:var(--text);background:var(--tint-hover)}.pill{box-shadow:inset 0 0 0 1px var(--border);background:var(--tint);color:var(--text-dim);font:inherit;font-size:var(--fs-sm);white-space:nowrap;border:none;border-radius:99px;align-items:center;gap:5px;padding:5px 11px;font-weight:600;display:inline-flex}.pill svg{font-size:.875rem}button.pill{cursor:pointer}button.pill:hover{color:var(--text)}.pill-on,button.pill-on:hover{background:var(--text);color:var(--bg);box-shadow:none}.pill-soft{background:var(--accent-tint);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-tint)}.pill-group{flex-wrap:wrap;gap:8px;display:flex}.field-input{background:var(--glass);box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--text-dim);border-radius:12px;align-items:center;gap:10px;padding:0 14px;font-size:1.25rem;display:flex}.field-input:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.field-input input{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-base);background:0 0;border:none;outline:none;flex:1;padding:11px 0}.seats{color:var(--border-hover);align-items:center;gap:2px;font-size:1.375rem;display:inline-flex}.seats .seat.taken{color:var(--accent)}.switch-row{background:var(--hover);font-size:var(--fs-sm);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.switch{appearance:none;background:var(--border-hover);cursor:pointer;border-radius:12px;flex-shrink:0;width:40px;height:22px;margin:0;transition:background-color .15s;position:relative}.switch:after{content:"";background:var(--panel);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--accent-grad)}.switch:checked:after{background:var(--on-accent);transform:translate(18px)}.lobby-screen{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:clip}.lobby-backdrop{pointer-events:none;background:radial-gradient(60% 80% at 50% 0%, var(--accent-tint), transparent 70%);height:620px;position:absolute;inset:0 0 auto}.lobby-backdrop-cards{--card-line:color-mix(in srgb, var(--accent) 34%, transparent);width:1240px;height:400px;position:absolute;top:40px;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000 39%,#0000 89%);mask-image:linear-gradient(#000 39%,#0000 89%)}.lobby-backdrop-cards:before{content:"";background:radial-gradient(50% 60% at 50% 45%, var(--accent-tint), transparent 75%);height:260px;position:absolute;inset:0 110px auto}.lobby-backdrop-cards span{border:1.5px solid var(--card-line);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, transparent), color-mix(in srgb, var(--accent) 2%, transparent) 70%);width:140px;height:204px;box-shadow:0 14px 32px -18px color-mix(in srgb, var(--accent) 45%, transparent);transform-origin:50% 1500px;transform:rotate(var(--r));border-radius:10px;position:absolute;top:80px;left:calc(50% - 70px)}.lobby-backdrop-cards span:before{content:"";aspect-ratio:1;border:1px solid var(--card-line);border-radius:4px;position:absolute;top:26px;left:14px;right:14px}.lobby-backdrop-cards span:first-child{--r:-16deg}.lobby-backdrop-cards span:nth-child(2){--r:-8deg}.lobby-backdrop-cards span:nth-child(3){--r:0deg}.lobby-backdrop-cards span:nth-child(4){--r:8deg}.lobby-backdrop-cards span:nth-child(5){--r:16deg}.signboard{flex-shrink:0;width:auto;max-width:100%;height:48px;display:block}:root[data-theme=night] .signboard{filter:drop-shadow(0 10px 30px #e9b45e1f)}.lobby-logo{height:50px}.phone-camera-logo{height:44px}.joining-logo{height:52px}.lobby-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 48px;display:flex;position:relative}.lobby-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lobby-hero{text-align:center;flex-direction:column;align-items:center;padding:72px 24px 48px;display:flex;position:relative}.lobby-hero-eyebrow{color:var(--accent);font-size:var(--fs-sm)}.lobby-hero-title{letter-spacing:-.035em;margin:18px 0 0;font-size:clamp(2.5rem,5.4vw,4.25rem);font-weight:800;line-height:1.04}.lobby-hero-sub{max-width:560px;font-size:var(--fs-lg);color:var(--text-dim);margin:16px 0 0;line-height:1.5}.lobby-stats{font-size:var(--fs-sm);color:var(--text-dim);flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:24px;font-weight:500;display:flex}.lobby-stats span{align-items:center;gap:6px;display:inline-flex}.lobby-stats svg{font-size:1rem}.lobby-stats .lobby-stat-live{color:var(--live)}.lobby-stat-live svg{filter:drop-shadow(0 0 4px);font-size:.5625rem}.lobby-tables{flex-direction:column;gap:18px;width:100%;max-width:1600px;margin:0 auto 64px;padding:0 48px;display:flex;position:relative}.lobby-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.lobby-search{width:280px}.lobby-empty{color:var(--text-dim);font-size:var(--fs-base)}.lobby-grid{grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:16px;display:grid}.lobby-footer{border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:auto 48px 0;padding:24px 0 32px;display:flex}.lobby-footer-donate{color:#ff5e5b;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.lobby-footer-donate:hover{text-decoration:underline}.credits{text-align:center;font-size:var(--fs-sm);color:var(--text-dim);flex-direction:column;flex-basis:100%;align-items:center;gap:4px;display:flex}.credits a{color:inherit}@media (width<=720px){.lobby-nav,.lobby-tables{padding-left:16px;padding-right:16px}.lobby-footer{margin-left:16px;margin-right:16px}.lobby-search{width:100%}.lobby-backdrop-cards{display:none}}.table-card{flex-direction:column;gap:12px;height:100%;min-height:210px;padding:20px;transition:border-color .15s,transform .15s;display:flex}.table-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.table-card-top,.table-card-bottom{justify-content:space-between;align-items:center;gap:10px;display:flex}.table-card-bottom{flex-wrap:wrap;margin-top:auto}.table-card-age,.table-card-status{font-size:var(--fs-sm);color:var(--text-dim)}.table-card-age{white-space:nowrap;align-self:flex-start}.table-card-status{margin-top:4px}.table-card-name{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:1.1875rem;font-weight:700;line-height:1.25}.table-card-seats{font-size:var(--fs-sm);color:var(--text-dim);align-items:center;gap:10px;display:inline-flex}.table-card-new{border:1.5px dashed var(--border-strong);min-height:210px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:22px;transition:background-color .15s,border-color .15s;display:flex}.table-card-new:hover{background:var(--accent-tint);border-color:var(--accent)}.table-card-new>svg{font-size:2.125rem}.table-card-new-title{font-weight:700;font-size:var(--fs-lg);color:var(--text)}.table-card-new-hint{font-size:var(--fs-sm);color:var(--text-dim)}.error{color:var(--danger);font-size:1.375rem}.joining-screen{flex-direction:column;align-items:center;min-height:100vh;padding:0 40px 56px;display:flex}.joining-header{justify-content:space-between;align-self:stretch;align-items:center;padding:28px 4px;display:flex}.joining-back{color:var(--text-dim);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:inline-flex}.joining-back svg{font-size:1.125rem}.joining-back:hover{background:var(--hover);color:var(--text)}.joining-card{align-items:flex-start;gap:56px;width:100%;max-width:1280px;margin:auto 0;display:flex}.joining-stage{flex-direction:column;flex:1.6;gap:14px;min-width:0;display:flex}.joining-stage>.joining-source,.joining-stage>.joining-phone-hint{align-self:flex-start}.joining-devices{gap:10px;display:flex}.joining-device{min-width:0;box-shadow:inset 0 0 0 1px var(--border-strong);background:var(--field);color:var(--text-dim);border-radius:10px;flex:1;align-items:center;gap:10px;padding:0 4px 0 14px;font-size:1.125rem;display:flex}.joining-device:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.joining-device select{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-sm);text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;flex:1;padding:11px 6px 11px 0}.joining-device select:focus{outline:none}.joining-device option{background:var(--panel);color:var(--text)}.joining-source{background:var(--tint);border:1px solid var(--border);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.joining-source button{color:var(--text-dim);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.joining-source button svg{font-size:1.125rem}.joining-source button:hover:not(.active){color:var(--text)}.joining-source button.active{background:var(--accent-grad);color:var(--on-accent);box-shadow:0 2px 10px var(--accent-glow)}.joining-source-live{background:var(--live);border-radius:50%;width:8px;height:8px}.joining-phone-hint{color:var(--text-dim);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;display:inline-flex}.joining-phone-hint:hover{color:var(--accent)}.joining-video-frame{aspect-ratio:16/10;background:#000;border-radius:16px;width:100%;position:relative;overflow:hidden}.joining-video-frame video{object-fit:cover;width:100%;height:100%;display:block}.joining-video-placeholder{color:#f5ede1b3;font-size:var(--fs-sm);text-align:center;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.joining-video-controls{background:var(--video-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:40px;gap:10px;padding:8px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.joining-video-controls button{width:44px;height:44px;color:var(--on-video);cursor:pointer;background:#ffffff24;border:none;border-radius:50%;place-items:center;font-size:1.3125rem;display:grid}.joining-video-controls button:hover:not(:disabled){background:#ffffff3d}.joining-video-controls button.off{background:var(--danger);color:#fff}.joining-video-controls button:disabled{opacity:.5;cursor:default}.joining-meta{flex-direction:column;flex:1;gap:18px;min-width:300px;max-width:440px;display:flex}.joining-room-label{letter-spacing:-.03em;overflow-wrap:anywhere;margin:-8px 0 0;font-size:2.5rem;font-weight:800;line-height:1.1}.joining-pills{flex-wrap:wrap;gap:8px;display:flex}.joining-seats{background:var(--panel);box-shadow:inset 0 0 0 1px var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.joining-seat{max-width:72px;color:var(--accent);flex-direction:column;align-items:center;gap:2px;font-size:1.5rem;display:flex}.joining-seat span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--fs-label);color:var(--text-dim);overflow:hidden}.joining-seat.you span{color:var(--accent);font-weight:700}.joining-seat.empty{color:var(--border-hover)}.joining-seat-note{min-width:140px;font-size:var(--fs-sm);color:var(--text-dim);flex-direction:column;flex:1;gap:2px;display:flex}.joining-seat-count{font-size:var(--fs-base);color:var(--text)}.joining-name-field{font-size:var(--fs-sm);flex-direction:column;gap:6px;font-weight:600;display:flex}.joining-name-field input{box-shadow:inset 0 0 0 1px var(--border-strong);background:var(--field);color:var(--text);font:inherit;font-size:var(--fs-base);border:none;border-radius:10px;padding:12px 14px;font-weight:400}.joining-name-field input:focus{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.joining-name-field input.missing{box-shadow:inset 0 0 0 2px var(--danger)}.deck-picker{font-size:var(--fs-sm);flex-direction:column;gap:6px;display:flex}.deck-picker-label{font-weight:600}.deck-picker-hint,.deck-picker-summary{color:var(--text-dim);font-size:var(--fs-sm);line-height:1.45}.deck-picker-actions{align-items:center;gap:6px;display:flex}.deck-picker-paste{min-width:0;box-shadow:inset 0 0 0 1px var(--border-strong);background:var(--field);color:var(--text);font:inherit;font-size:var(--fs-sm);border:none;border-radius:8px;flex:1;padding:7px 10px}.deck-picker-paste:focus{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.deck-picker-loaded{box-shadow:inset 0 0 0 1px var(--border-strong);background:var(--field);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.deck-picker-name{font-weight:600}.joining-actions{gap:10px;display:flex}.joining-join-btn{flex:1}@media (width<=900px){.joining-card{flex-direction:column;gap:28px}.joining-stage{flex:none;width:100%}.joining-meta{width:100%;max-width:none}}@media (width<=640px){.joining-screen{padding:0 16px 32px}.joining-header{padding:16px 0}.joining-logo{height:40px}.joining-devices{flex-direction:column}.deck-picker-actions{flex-wrap:wrap}.deck-picker-paste{flex-basis:100%;order:-1}}.app-layout{box-sizing:border-box;align-items:flex-start;gap:16px;width:100%;padding:20px;display:flex}.app{flex-direction:column;flex:1;gap:20px;min-width:0;height:calc(100vh - 40px);margin:0;padding:0;display:flex}.video-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-auto-rows:1fr;gap:14px;height:100%;display:grid}.video-grid-single{grid-template-columns:minmax(260px,1fr)}.video-grid-quad{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}.video-grid-stack{grid-template-rows:repeat(2,1fr);grid-template-columns:minmax(260px,1fr)}.video-grid-stack .video-tile video{object-fit:cover;width:65%;margin:0 auto;display:block}.table-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:0 4px;display:flex}.table-header-title{align-items:center;gap:12px;min-width:0;display:flex}.table-header-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.25rem;font-weight:700;overflow:hidden}.table-header-seats{font-size:var(--fs-sm);color:var(--text-dim);align-items:center;gap:10px;display:flex}.video-area{flex:1;min-height:0;position:relative}.result-overlay{z-index:30;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;animation:2.2s forwards result-overlay-fade;display:flex;position:absolute;inset:0}.result-overlay>*{animation:2.2s forwards result-overlay-zoom}.result-overlay-text{background:var(--accent-grad);color:#1a0e05;letter-spacing:-.03em;font-variant-numeric:tabular-nums;border-radius:28px;place-items:center;min-width:150px;height:150px;padding:0 28px;font-size:4.5rem;font-weight:800;line-height:1;display:grid;box-shadow:0 24px 60px #0000008c,0 0 60px #e8874a73,inset 0 1px #ffffff73}.result-overlay-subtext{font-size:var(--fs-sm);color:var(--on-video);background:var(--video-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:7px 16px;font-weight:600}@keyframes result-overlay-fade{0%{opacity:0}10%,78%{opacity:1}to{opacity:0}}@keyframes result-overlay-zoom{0%{transform:scale(.85)}10%,78%{transform:scale(1)}to{transform:scale(1.05)}}.pip-tray{z-index:10;flex-direction:column;gap:10px;display:flex;position:absolute;bottom:16px;right:16px}.pip-thumb{transform-origin:100% 100%;width:280px;transition:transform .28s,box-shadow .28s}.pip-thumb:hover{z-index:20;transform:scale(3)}.pip-thumb .video-tile{aspect-ratio:4/3;border:none;height:auto;box-shadow:0 6px 20px #0000008c}.pip-thumb:hover .video-tile{box-shadow:0 10px 32px #000000b3}.pip-thumb .video-life-corner{transform-origin:100% 0;transition:transform .28s;top:8px;right:8px;transform:scale(.55)}.pip-thumb .video-label{transform-origin:0 100%;transition:transform .28s}.pip-thumb:hover .video-life-corner{transform:scale(.75)}.pip-thumb:hover .video-label{transform:scale(1.3)}.pip-thumb .video-tile video{object-fit:cover}.video-tile{height:100%;box-shadow:0 0 0 1px var(--border), 0 16px 40px -18px var(--card-shadow);background:#000;border-radius:18px;position:relative;overflow:hidden}.video-tile.is-local{box-shadow:0 0 0 1px var(--border), 0 0 0 2px #f6c46a8c, 0 16px 40px -18px var(--card-shadow)}.video-tile video{object-fit:contain;width:100%;height:100%}.video-tile video.flipped{transform:rotate(180deg)}.video-no-device{color:#f5ede1b3;font-size:var(--fs-sm);text-align:center;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.video-label{z-index:5;background:var(--video-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:calc(100% - 32px);color:var(--on-video);font-family:Inter,Segoe UI,system-ui,sans-serif;font-weight:600;font-size:var(--fs-base);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:12px;padding:7px 14px;position:absolute;bottom:16px;left:16px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a}.video-life-corner{z-index:5;position:absolute;top:16px;right:16px}.video-life-badge{box-sizing:border-box;background:var(--video-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:-.02em;font-variant-numeric:tabular-nums;height:60px;color:var(--accent-on-video);pointer-events:auto;border-radius:16px;align-items:center;gap:10px;padding:6px 14px;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:2.625rem;font-weight:800;line-height:1.2;display:flex;box-shadow:inset 0 0 0 1px #ffffff1a}.video-life-badge.editable button{color:var(--accent-on-video);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.875rem;font-weight:800;line-height:1}.video-life-badge.editable button:hover{color:var(--on-video)}.video-life-value{cursor:text;white-space:nowrap}.video-life-edit{display:inline-grid}.video-life-sizer,.video-life-input{font-variant-numeric:tabular-nums;grid-area:1/1;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:2.625rem;font-weight:800;line-height:1}.video-life-sizer{visibility:hidden;white-space:pre;padding:0 1px}.video-life-input{box-sizing:border-box;width:100%;min-width:0;height:100%;color:var(--accent-on-video);font-variant-numeric:tabular-nums;text-align:center;vertical-align:top;caret-color:var(--accent-on-video);background:0 0;border:none;margin:0;padding:0;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:2.625rem;font-weight:800;line-height:1}.video-life-input:focus{outline:none}.left-panel{flex-direction:column;flex-shrink:0;gap:14px;width:72px;height:calc(100vh - 40px);display:flex;position:sticky;top:20px}.left-panel .card-panel-section{flex:1;min-height:0;display:flex}.icon-button-stack{flex:1;grid-template-rows:1fr auto 1fr;display:grid}.icon-button-group{flex-direction:column;gap:8px;display:flex}.icon-button-group-main{grid-row:2}.icon-button-group-bottom{grid-row:3;align-self:end}.icon-button-stack button{width:44px;height:44px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;font-size:1.375rem;transition:background-color .15s,color .15s,transform .1s;display:flex}.icon-button-stack button svg{width:1em;height:1em}.icon-button-stack button:hover{background:var(--tint-hover);color:var(--text)}.icon-button-stack button:active{transform:scale(.92)}.icon-button-stack button.active{background:var(--accent-grad);color:var(--on-accent);box-shadow:0 4px 16px var(--accent-glow)}.icon-button-stack button.active:hover{filter:brightness(1.07)}.left-panel-mark{width:32px;height:32px;margin:0 auto 14px;display:block}.icon-button-stack button.off{background:var(--danger);color:#fff}.icon-button-stack button.off:hover{background:#ff6b6b}.icon-crossable{display:inline-flex;position:relative}.icon-crossable.crossed:after{content:"";background:currentColor;border-radius:1px;width:130%;height:2px;position:absolute;top:50%;left:-15%;transform:translateY(-50%)rotate(-45deg)}.icon-button-divider{background:var(--border);height:1px;margin:2px 4px}.video-tile-controls{z-index:6;gap:8px;display:flex;position:absolute;top:16px;left:16px}.video-tile-control{background:var(--video-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--on-video);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;padding:8px;font-size:1.375rem;display:flex;box-shadow:inset 0 0 0 1px #ffffff1a}.video-tile-control:hover{background:#0a0c12bf}.video-tile-control.active{background:var(--accent-grad);color:#1a0e05}.scan-surface{cursor:default;z-index:4;background:#00000026;position:absolute;inset:0}.scan-db-banner{background:var(--banner);border:1px solid var(--accent-dim);color:var(--text-dim);font-size:var(--fs-sm);border-radius:8px;padding:10px 14px}.scan-db-banner code{color:var(--accent);background:var(--tint);border-radius:4px;padding:1px 5px}.scan-modal-backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.scan-modal.feedback-modal{width:640px}.feedback-frame{background:var(--modal-bg);border:0;border-radius:10px;width:100%;height:min(620px,68vh);padding:20px;display:block}.scan-modal.glass{background:var(--modal-bg);border-radius:20px;box-shadow:0 30px 80px -20px #0009}.scan-modal{background:var(--panel);flex-direction:column;gap:16px;width:440px;max-width:90vw;max-height:85vh;padding:26px 28px;display:flex;overflow-y:auto}.settings-modal{width:540px}.scan-modal form{flex-direction:column;gap:16px;display:flex}.scan-modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.scan-modal-header h3{letter-spacing:0;color:var(--text);margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:1.375rem;font-weight:700}.scan-modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:4px;font-size:1.25rem;display:grid}.scan-modal-close:hover{background:var(--hover);color:var(--text)}.settings-field{flex-direction:column;gap:8px;display:flex}.settings-field label,.settings-label{font-size:var(--fs-sm);color:var(--text);font-weight:600}.settings-field select,.settings-field input,.settings-field textarea{box-shadow:inset 0 0 0 1px var(--border-strong);background:var(--field);color:var(--text);font:inherit;font-size:var(--fs-base);border:none;border-radius:10px;padding:11px 12px}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{box-shadow:inset 0 0 0 2px var(--accent);outline:none}.invite-subheader,.exit-duel-message{font-size:var(--fs-base);color:var(--text-dim);line-height:1.5}.invite-url-row{box-shadow:inset 0 0 0 1px var(--border-strong);background:var(--field);border-radius:10px;align-items:center;gap:10px;padding:6px 6px 6px 14px;display:flex}.invite-url-text{min-width:0;font-size:var(--fs-sm);color:var(--text);white-space:nowrap;flex:1;overflow-x:auto}.invite-code{align-items:center;gap:14px;display:flex}.invite-code-value{font-variant-numeric:tabular-nums;letter-spacing:.2em;color:var(--accent);font-size:1.625rem;font-weight:800}.invite-modal-footer{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.card-panel-wrapper{flex-shrink:0;height:calc(100vh - 40px);padding-left:40px;position:sticky;top:20px}.card-panel-wrapper.collapsed{width:48px;padding-left:0}.card-panel-toggle{z-index:15;width:40px;color:var(--accent);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:2.375rem;display:flex;position:absolute;top:0;bottom:0;left:0}.card-panel-toggle:hover{color:var(--text)}.card-panel{flex-direction:column;gap:14px;width:432px;height:calc(100vh - 40px);display:flex}.card-panel-section{background:var(--glass);border:1px solid var(--border);box-shadow:0 10px 30px -14px var(--card-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;padding:16px}.card-panel-heading{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin-bottom:10px;font-weight:700}.card-panel-history{flex-direction:column;gap:12px;display:flex;overflow-y:auto}.card-panel-history.board-list{padding-left:8px;padding-right:8px}.card-panel-tabs{background:var(--tint);border-radius:12px;gap:4px;padding:4px;display:flex}.card-panel-tab{color:var(--text-dim);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:8px 10px;font-weight:600}.card-panel-tab:hover{color:var(--text)}.card-panel-tab.active{background:var(--tint-hover);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.board-refresh-button{border:1px solid var(--accent-dim);width:100%;color:var(--accent);font-size:var(--fs-sm);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-bottom:10px;padding:8px 12px;font-weight:600;display:flex}.board-refresh-button:hover:not(:disabled){background:var(--hover)}.board-refresh-button:disabled{color:var(--text-dim);border-color:var(--border);cursor:default}.board-refresh-button .spinning{animation:.8s linear infinite board-refresh-spin}@keyframes board-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.board-warning-note{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);font-size:var(--fs-sm);border-radius:8px;flex-shrink:0;gap:6px;margin-top:auto;padding:10px 12px;line-height:1.4;display:flex}.board-card-row{flex-wrap:wrap;justify-content:center;gap:12px;min-height:100px;padding:0;display:flex}.board-card-row+.board-card-row{margin-top:12px}.card-panel-history .board-card-row:last-child{border-bottom:none;padding-bottom:0}.board-card-thumb{aspect-ratio:813/1185;background:var(--divider);cursor:grab;border-radius:4px;flex:0 0 calc(20% - 9.6px);position:relative;overflow:hidden}.board-card-thumb.dragging{opacity:.4}.board-card-thumb.drop-target{outline:2px solid var(--accent);outline-offset:-2px}.board-card-thumb-empty{border:1px dashed var(--border-hover);background:var(--bg);color:var(--slot-icon);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:1.375rem;display:flex}.board-card-thumb-empty:hover{border-color:var(--accent-dim);background:var(--accent-tint);color:var(--accent)}.board-slot-menu{z-index:100;border:1px solid var(--border);background:var(--panel);width:200px;box-shadow:0 8px 24px var(--menu-shadow);border-radius:8px;flex-direction:column;gap:2px;padding:5px;display:flex;position:fixed}.board-slot-menu.searching{width:340px}.board-slot-menu-item{color:var(--text);font-size:var(--fs-base);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:8px 10px}.board-slot-menu-item:hover,.board-slot-menu-item:focus-visible{background:var(--hover);color:var(--accent)}.board-slot-menu-search-header{align-items:center;gap:4px;display:flex}.board-slot-menu-back{width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;font-size:1.25rem;line-height:1}.board-slot-menu-back:hover{background:var(--hover);color:var(--text)}.board-slot-menu-results{flex-direction:column;gap:2px;max-height:260px;margin-top:4px;display:flex;overflow-y:auto}.board-slot-menu-empty{color:var(--empty-text);font-style:italic;font-size:var(--fs-sm);padding:8px 10px}.board-slot-menu-result{color:var(--text);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:4px 6px;display:flex}.board-slot-menu-result:hover{background:var(--hover)}.board-slot-menu-result img{aspect-ratio:813/1185;object-fit:cover;border-radius:3px;width:32px}.board-card-thumb.sideways{z-index:1;border:1px dashed var(--border-hover);background:var(--bg);overflow:visible}.board-card-thumb.sideways img{border-radius:4px;transform:rotate(90deg)}.board-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.board-card-remove{color:#f5ede1cc;width:18px;height:18px;font-size:var(--fs-sm);cursor:pointer;opacity:0;background:#0a0c10bf;border:none;border-radius:0 0 0 6px;line-height:1;transition:opacity .1s;position:absolute;top:0;right:0}.board-card-thumb:hover .board-card-remove{opacity:1}.board-card-remove:hover{background:var(--danger-tint);color:var(--danger-text)}.card-panel-empty{color:var(--empty-text);font-style:italic;font-size:var(--fs-sm)}.board-empty-note{text-align:center;padding:0 12px 10px}.board-accordion-section{border-bottom:1px solid var(--divider)}.card-panel-history .board-accordion-section:last-child{border-bottom:none}.board-accordion-header{width:100%;color:var(--text);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;margin:4px 0;padding:8px 10px;font-weight:600;display:flex}.board-accordion-header:hover{background:var(--hover)}.board-accordion-header.collapsed{background:var(--collapsed)}.board-accordion-header.collapsed:hover{background:var(--collapsed-hover)}.board-accordion-caret{color:var(--text-dim);flex-shrink:0;font-size:1.5rem;transition:transform .15s}.board-accordion-caret.open{transform:rotate(180deg)}.card-search-input{border:1px solid var(--border-strong);background:var(--field);width:100%;color:var(--text);font-size:var(--fs-base);border-radius:8px;padding:9px 10px}.card-search{z-index:2;background:var(--panel);margin:-14px -14px 0;padding:14px 14px 4px;position:sticky;top:-14px}.card-search-results{flex-direction:column;gap:2px;max-height:220px;margin-top:8px;display:flex;overflow-y:auto}.card-search-result{text-align:left;color:var(--text);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:none;border-radius:6px;padding:7px 8px}.card-search-result:hover{background:var(--hover)}.card-details{border-bottom:1px solid var(--divider);gap:10px;padding-bottom:12px;display:flex;position:relative}.card-details-remove{color:#f5ede1cc;cursor:pointer;opacity:0;background:#0a0c10bf;border:none;border-radius:6px;padding:4px;font-size:1rem;transition:opacity .1s;display:flex;position:absolute;top:0;right:0}.card-details:hover .card-details-remove,.card-details-remove:focus-visible{opacity:1}.card-details-remove:hover{background:var(--danger-tint);color:var(--danger-text)}.card-panel-history .card-details:last-child{border-bottom:none;padding-bottom:0}.card-details-img{object-fit:cover;background:var(--divider);border-radius:5px;flex-shrink:0;width:70px;height:102px}.card-details-body{min-width:0}.card-details-name{font-size:var(--fs-base);color:var(--accent);margin-bottom:2px;font-weight:700}.card-details-type{font-size:var(--fs-sm);color:var(--text-dim);margin-bottom:6px}.card-details-stats{font-size:var(--fs-sm);color:var(--text-dim);gap:10px;margin-bottom:6px;display:flex}.card-details-desc{font-size:var(--fs-base);color:var(--text);line-height:1.5;overflow-y:auto}.voice-heading-row{justify-content:space-between;align-items:center;display:flex}.voice-toggle{border:1px solid var(--accent-dim);color:var(--accent);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:0 0;border-radius:6px;padding:2px 10px;font-weight:700}.voice-toggle:hover{background:var(--hover)}.voice-toggle.off{border-color:var(--danger);color:var(--danger)}.voice-said-by{text-transform:none;letter-spacing:normal;color:var(--text-dim);font-weight:400}.just-mentioned{background:var(--accent-tint);border-color:#0000;animation:.2s ease-out just-mentioned-in}@keyframes just-mentioned-in{0%{opacity:0;transform:translateY(-4px)}}.voice-status-line{font-size:var(--fs-sm);margin-bottom:6px;font-weight:600}.voice-status-line.voice-status-ok{color:var(--success)}.voice-status-line.voice-status-warn{color:var(--accent)}.voice-status-line.voice-status-off{color:var(--danger)}.voice-off-note{font-size:var(--fs-sm);color:var(--text-dim)}.card-hover-preview-frame{background:var(--divider);pointer-events:none;z-index:100;border-radius:12px;width:569px;height:830px;position:fixed;overflow:hidden;transform:translateY(-50%);box-shadow:0 10px 34px #0009}.card-hover-preview-img{object-fit:contain;width:100%;height:100%}@media (width<=900px){.app-layout{flex-direction:column}.card-panel,.left-panel{width:100%;max-height:none;position:static}}.table-header-watching{color:var(--text-dim);font-size:var(--fs-sm);align-items:center;gap:4px;display:inline-flex}.video-empty-note{color:var(--empty-text);place-self:center;font-style:italic}.table-card-actions{align-items:center;gap:6px;display:inline-flex}.phone-link{color:var(--on-video);justify-content:center;align-items:center;gap:32px;padding:28px;display:flex;position:absolute;inset:0}.phone-link-qr img,.phone-link-qr-placeholder{background:#fff;border-radius:12px;width:200px;height:200px;padding:8px;display:block}.phone-link-text{flex-direction:column;gap:14px;max-width:320px;display:flex}.phone-link-notice{color:var(--accent-on-video);font-size:var(--fs-base);font-weight:600}.phone-link-instructions{color:#eceef4bf;font-size:var(--fs-base);margin:0;line-height:1.5}.phone-link .invite-url-row{background:#ffffff14;border-color:#ffffff24}.phone-link .invite-url-text{color:var(--on-video);font-size:var(--fs-sm)}.phone-link-waiting{color:#eceef4bf;font-size:var(--fs-sm);align-items:center;gap:10px;display:flex}.phone-link-pulse{background:var(--accent-on-video);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite phone-link-pulse}@keyframes phone-link-pulse{50%{opacity:.25}}@media (width<=640px){.phone-link{flex-direction:column;gap:16px;padding:20px 16px;position:static}.phone-link-text{text-align:center;width:100%;min-width:0;max-width:none}.phone-link-waiting{justify-content:center}.joining-video-frame:has(.phone-link){aspect-ratio:auto}.joining-video-frame:has(.phone-link) video{display:none}}.phone-camera{text-align:center;flex-direction:column;align-items:center;gap:16px;min-height:100vh;padding:20px 16px;display:flex}.phone-camera-preview{aspect-ratio:4/3;object-fit:cover;background:#000;border-radius:14px;width:100%;max-width:560px}.phone-camera-status{font-weight:600}.phone-camera-status.live{color:var(--success)}.phone-camera-status.expired,.phone-camera-status.noCamera{color:var(--danger-text)}.phone-camera-hint{color:var(--text-dim);font-size:var(--fs-sm);margin:0}.deck-section{flex-direction:column;gap:8px;display:flex}.deck-count{color:var(--text-dim);font-weight:400}.deck-segment{flex-direction:column;gap:2px;display:flex}.deck-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.deck-toggle .board-accordion-caret{font-size:1.25rem}.deck-toggle-section{color:var(--text-dim);font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase;padding:2px 0;font-weight:600}.deck-toggle-segment{border-bottom:1px solid var(--divider);font-size:var(--fs-sm);padding:4px 0 2px;font-weight:600}.deck-toggle:hover{color:var(--accent)}.deck-card{font-size:var(--fs-sm);border-radius:6px;align-items:center;gap:10px;padding:3px 4px;display:flex}.deck-card:hover{background:var(--hover)}.deck-card img{aspect-ratio:813/1185;object-fit:cover;border-radius:3px;width:30px}.deck-card-name{flex-direction:column;flex:1;min-width:0;display:flex}.deck-card-type{color:var(--text-dim);font-size:var(--fs-sm)}.deck-card-count{color:var(--text-dim);font-weight:600}.play-log{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.play-log-entry{border-bottom:1px solid var(--divider);font-size:var(--fs-base);align-items:center;gap:12px;padding:10px 2px;line-height:1.4;display:flex}.play-log-entry:last-child{border-bottom:none}.play-log-entry.phase .play-log-text{font-weight:600}.play-log-turn{color:var(--accent);font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;padding:14px 0 4px;font-weight:700;display:flex}.play-log-turn:first-child{padding-top:0}.play-log-turn:before,.play-log-turn:after{content:"";background:var(--divider);flex:1;height:1px}.play-log-icon,.play-log-thumb{flex-shrink:0;width:30px}.play-log-icon{background:var(--accent-tint);height:30px;color:var(--accent);border-radius:8px;place-items:center;font-size:1.125rem;display:grid}.play-log-thumb img{aspect-ratio:813/1185;object-fit:cover;border-radius:3px;width:100%;display:block}.play-log-text{flex:1;min-width:0}.play-log-time{color:var(--text-dim);font-size:var(--fs-label);font-variant-numeric:tabular-nums;flex-shrink:0}.video-domain-master{z-index:5;border-radius:6px;width:92px;position:absolute;bottom:62px;left:16px;overflow:hidden;box-shadow:0 4px 14px #00000080}.video-domain-master img{aspect-ratio:813/1185;object-fit:cover;width:100%;display:block}.pip-thumb .video-domain-master{width:37px;transition:bottom .28s;bottom:53px;left:6px}.pip-thumb:hover .video-domain-master{bottom:63px}.deck-domain-master{background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:10px;align-items:center;gap:12px;padding:8px;display:flex}.deck-domain-master img{aspect-ratio:813/1185;object-fit:cover;border-radius:4px;width:64px}.deck-domain-master-name{font-weight:700}.deck-domain-master-type{color:var(--text-dim);font-size:var(--fs-sm)}.settings-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.settings-field textarea{resize:vertical;min-height:70px;line-height:1.4}.settings-optional{color:var(--text-dim);font-weight:400}.settings-counter{color:var(--text-dim);font-size:var(--fs-label);align-self:flex-end}.table-card-description{color:var(--text-dim);font-size:var(--fs-base);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:4px;line-height:1.4;display:-webkit-box;overflow:hidden}.joining-description{color:var(--text-dim);font-size:var(--fs-base);white-space:pre-line;overflow-wrap:anywhere;margin:0;line-height:1.5}.video-overlay-draggable{pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.video-overlay-draggable:active{cursor:grabbing}.video-overlay-draggable img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}
