:root{--ground:#0e0a1c;--surface:#15102a;--raised:#1d1638;--raised-2:#272048;--line:#2a2150;--violet:#b18cff;--glow:#8fe3ff;--live:#ff5c8a;--room:#5fe0b0;--amber:#ffc65c;--good:#6fe3a5;--text:#f2eeff;--dim:#b4abd6;--ink:#120d26;--veil:#0e0a1cc7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:ui-rounded,SF Pro Rounded,Hiragino Maru Gothic ProN,Nunito,system-ui,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-height:100dvh;color:var(--text);background:var(--ground);margin:0}h1,h2,h3,p{margin:0}h2{font-size:1.125rem}h3{margin-top:.5rem;font-size:.875rem}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:3px solid var(--glow);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.boot{min-height:100dvh;color:var(--dim);place-items:center;display:grid}.note{color:var(--dim);font-size:.875rem}.icon{flex:none;width:1.25rem;height:1.25rem}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:800;display:inline-flex}button:disabled{opacity:.5;cursor:not-allowed}label.button{color:var(--text);cursor:pointer;border-radius:999px;margin:0;padding:.5rem 1rem;font-size:1rem;font-weight:800;display:inline-flex}.primary{background:var(--violet);color:var(--ink)}.primary:hover{background:#c7adff}.big{padding:.75rem 1.75rem;font-size:1.125rem}.secondary{background:var(--raised-2)}.secondary:hover{background:#352b63}.ghost{color:var(--dim);background:0 0}.ghost:hover{color:var(--text);background:var(--raised)}.small{padding:.25rem .75rem;font-size:.8125rem}.danger{background:var(--live);color:var(--ink)}.icon-button{padding:.625rem}input:not([type=checkbox],[type=radio],[type=range]),select,textarea{background:var(--ground);border:1px solid var(--raised-2);border-radius:12px;width:100%;padding:.625rem .75rem}input[type=range]{width:100%;accent-color:var(--violet)}label{color:var(--dim);margin-bottom:.5rem;font-size:.875rem;display:block}label.check{color:var(--text);align-items:center;gap:.5rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:.5rem;display:flex}.grow{flex:8rem;min-width:0}.alert{background:var(--raised);border:1px solid #ffc65c73;border-radius:14px;margin-block:.75rem;padding:.625rem .875rem;font-size:.9375rem}.npub{background:var(--ground);overflow-wrap:anywhere;border-radius:12px;margin-block:.5rem;padding:.625rem .75rem;font-size:.8125rem;display:block}.qr{border-radius:12px;margin-top:.5rem;display:block}.scanner{border-radius:12px;width:100%;max-width:20rem;margin-top:.75rem;display:block}.live-dot{background:currentColor;border-radius:50%;width:.5rem;height:.5rem;animation:2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.35}}.avatar{--size:2.75rem;width:var(--size);height:var(--size);border:3px solid #0000;border-radius:50%;flex:none;padding:2px;transition:border-color .12s,box-shadow .12s;display:inline-block}.avatar .pet{width:100%;height:100%;display:block}.avatar.sm{--size:2.25rem;border-width:2px;padding:1px}.avatar.lg{--size:4.5rem}.avatar.xl{--size:7rem;border-width:4px;padding:4px}.avatar[data-ring=live]{border-color:var(--live)}.avatar[data-ring=room]{border-color:var(--room)}.avatar[data-ring=sharing]{border-color:var(--violet)}.avatar[data-ring=talking]{border-color:var(--good);box-shadow:0 0 16px #6fe3a599}.avatar[data-ring=muted]{border-color:var(--live)}.avatar[data-ring=you]{border-color:var(--violet);box-shadow:0 0 24px #b18cff66}.lobby{gap:2rem;max-width:76rem;margin-inline:auto;padding:1rem clamp(1rem,4vw,3rem) 9rem;display:grid}.lobby-top{align-items:center;gap:.75rem;display:flex}.wordmark{letter-spacing:-.02em;align-items:center;gap:.5rem;margin-right:auto;font-size:1.5rem;font-weight:900;display:flex}.wordmark .icon{width:2rem;height:2rem;color:var(--violet)}.you-chip{background:var(--raised);text-align:left;gap:.625rem;padding:.25rem 1rem .25rem .25rem}.you-chip small{color:var(--dim);font-size:.75rem;font-weight:600;display:block}.lobby-hero h1{letter-spacing:-.02em;font-size:clamp(1.75rem,4.5vw,2.75rem);font-weight:900;line-height:1.1}.lobby-hero p{color:var(--dim);max-width:48ch;margin-top:.5rem;font-weight:600}.section-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.friends{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:.75rem;display:grid}.friend{background:var(--surface);border:1px solid var(--line);border-radius:22px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;display:flex}.friend.is-live{border-color:#ff5c8a99;box-shadow:0 0 32px -8px #ff5c8a80}.friend.in-room{border-color:#5fe0b080}.friend-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:1.0625rem;font-weight:800}.live-tag{color:var(--dim);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:700;display:flex}.is-live .live-tag.live{color:var(--live)}.in-room .live-tag.room,.is-live .live-tag.room{color:var(--room)}.friend-actions{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.25rem .5rem;display:flex}.friend-actions>:nth-last-child(2){margin-left:auto}.friend-actions .room-join-button{background:var(--room);color:var(--ink)}.friend-details{flex-basis:100%;min-width:0}.friend-details label{margin-top:.5rem}.empty{text-align:center;background:var(--surface);border:1px dashed var(--raised-2);color:var(--dim);border-radius:22px;padding:2rem}.lobby-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));align-items:start;gap:.75rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;gap:.625rem;padding:1.25rem;display:grid}.card h2{font-size:1rem}.room-join,.add-friend{flex-wrap:wrap;gap:.5rem;display:flex}.room-join input,.add-friend input{flex:12rem}.dock{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#15102aeb;border:1px solid #b18cff59;border-radius:28px;align-items:center;gap:.25rem;max-width:calc(100% - 1.5rem);padding:.5rem;transition:opacity .2s,translate .2s;display:flex;position:fixed;overflow-x:auto;translate:-50%;box-shadow:0 0 40px #b18cff38,0 16px 40px #00000080}.dock-btn{min-width:4.25rem;color:var(--dim);white-space:nowrap;background:0 0;border-radius:20px;justify-items:center;gap:.125rem;padding:.5rem .625rem;font-size:.75rem;display:grid}.dock-btn .icon{width:1.5rem;height:1.5rem}.dock-btn:hover{background:var(--raised);color:var(--text)}.dock-btn[aria-pressed=true],.dock-btn[aria-expanded=true]{background:var(--raised-2);color:var(--text)}.dock-btn.primary{background:var(--violet);color:var(--ink)}.dock-btn.danger{color:var(--live);background:0 0}.dock-btn.danger:hover,.dock-btn.danger[aria-pressed=true]{background:#ff5c8a2e}.dock-sep{background:var(--raised-2);flex:none;align-self:stretch;width:1px;margin:.25rem}.dock-person{justify-items:center;width:4rem;font-size:.75rem;font-weight:800;display:grid}@media (width<=30rem){.dock{gap:0;padding:.375rem}.dock-btn{min-width:3.25rem;padding:.375rem .25rem;font-size:.625rem}.dock-person{width:3rem;font-size:.625rem}.dock-sep{margin:.25rem .125rem}}.dock-status{color:var(--live);font-size:.6875rem;line-height:1}.dock-person span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.popover{z-index:9;background:var(--surface);border:1px solid #b18cff4d;border-radius:22px;gap:.5rem;width:min(24rem,100% - 1.5rem);max-height:calc(100dvh - 10rem);padding:1rem 1.25rem;display:grid;position:fixed;bottom:7.25rem;left:50%;overflow-y:auto;translate:-50%;box-shadow:0 20px 60px #00000080}.popover h2{font-size:1rem}.stage-shell{background:#000;grid-template-columns:minmax(0,1fr);height:100dvh;display:grid}.stage-area{min-width:0;height:100dvh;position:relative;overflow:hidden}@media (width>=64rem){.stage-shell.with-panel{grid-template-columns:minmax(0,1fr) 22rem}.with-panel .dock,.with-panel .popover{left:calc(50% - 11rem)}}.stage-top{z-index:4;pointer-events:none;flex-wrap:wrap;align-items:center;gap:.5rem;transition:opacity .2s;display:flex;position:absolute;inset:.75rem .75rem auto}.stage-top>*{pointer-events:auto}.stage-top .spacer{flex:1}.chip{background:var(--veil);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #b18cff40;border-radius:999px;align-items:center;gap:.5rem;min-height:2.5rem;padding:.375rem .875rem;font-weight:800;display:inline-flex}.chip h1{font-size:1.0625rem;line-height:1.1}.chip small{color:var(--dim);font-size:.75rem;font-weight:700;display:block}.chip.live{background:var(--live);color:var(--ink);border:0}.chip .room-link{width:14rem;padding:.25rem .5rem;font-size:.75rem}@media (width<=48rem){.chip .room-link{display:none}}.stage-shell.idle{cursor:none}.stage-shell.idle .stage-top,.stage-shell.idle .dock{opacity:0}.stage-shell.idle .dock{translate:-50% 1rem}.stage-shell.idle .stage-top:focus-within,.stage-shell.idle .dock:focus-within{opacity:1;translate:-50%}.toasts{z-index:4;gap:.5rem;width:min(36rem,100% - 1.5rem);display:grid;position:absolute;top:4.5rem;left:50%;translate:-50%}.floating-notice{z-index:6;width:min(36rem,100% - 1.5rem);margin:0;position:fixed;top:4.5rem;left:50%;translate:-50%}.toasts .alert{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#15102af0;margin:0}.screens{gap:.75rem;display:grid;position:absolute;inset:0}.screens.tiles-1>.screen{height:100%}.screens:not(.tiles-1){grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));align-content:center;padding:4.5rem .75rem 7.5rem;overflow-y:auto}.screens:fullscreen{background:#000}.screen{background:#000;position:relative;overflow:hidden}.screens:not(.tiles-1) .screen{aspect-ratio:16/9;cursor:pointer;outline:2px solid var(--line);border-radius:16px}.screens .screen.focused{outline:2px solid var(--violet);box-shadow:0 0 40px -6px #b18cff8c}.screen video{object-fit:contain;width:100%;height:100%;display:block}.tile-bar{z-index:1;background:#0e0a1cb3;justify-content:space-between;align-items:center;padding:.375rem .625rem;font-size:.875rem;font-weight:800;display:flex;position:absolute;inset:0 0 auto}.screens:not(.tiles-1) .stats{max-height:calc(100% - 3rem);top:2.5rem}.screen-message,.stage-empty{text-align:center;background:var(--ground);place-content:center;justify-items:center;gap:1rem;padding:1rem;display:grid;position:absolute;inset:0}.screen-message p,.stage-empty p{max-width:42ch}.stage-empty .icon{width:4rem;height:4rem;color:var(--violet)}.stage-empty h2{font-size:1.5rem;font-weight:900}.unmute{z-index:2;background:var(--violet);color:var(--ink);padding:.75rem 1.5rem;font-size:1.125rem;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 0 40px #b18cff99}.stats{z-index:3;font-variant-numeric:tabular-nums;background:#0e0a1ce0;border-radius:12px;min-width:13rem;max-height:calc(100% - 12rem);padding:.5rem .75rem;font-size:.8125rem;position:absolute;top:4.25rem;left:.75rem;overflow-y:auto}.quality{color:var(--text);align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.quality-bars{align-items:flex-end;gap:2px;height:.875rem;display:inline-flex}.quality-bars span{background:var(--raised-2);border-radius:1px;width:4px}.quality.good .on{background:var(--good)}.quality.warn .on{background:var(--amber)}.quality.bad .on{background:var(--live)}.quality-spark{flex:1;min-width:4rem;height:1.25rem}.quality-spark polyline{fill:none;stroke:var(--glow);stroke-width:1.5px;vector-effect:non-scaling-stroke}.stat-rows{margin:0}.stat-rows div{justify-content:space-between;gap:1rem;display:flex}.stat-rows dt{color:var(--dim)}.stat-rows dd{margin:0}.panel{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;height:100dvh;min-height:0;display:flex}@media (width<=63.99rem){.panel{z-index:10;border:1px solid var(--line);border-radius:24px 24px 0 0;height:min(62dvh,36rem);position:fixed;inset:auto 0 0;box-shadow:0 -20px 60px #00000080}}.panel-head{justify-content:space-between;align-items:center;gap:.5rem;padding:1rem .75rem .5rem 1.25rem;display:flex}.panel-head h2{font-size:1.125rem;font-weight:900}.panel-body{flex-direction:column;flex:1;gap:1.25rem;min-height:0;padding:0 1.25rem 1.25rem;display:flex;overflow-y:auto}.panel-body h3{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:0 0 .5rem;font-size:.75rem;font-weight:800}.chat{flex-direction:column;flex:1;min-height:14rem;display:flex}.chat-log{overflow-wrap:anywhere;flex:1;align-content:end;gap:.75rem;font-size:.9375rem;display:grid;overflow-y:auto}.chat-line{align-items:flex-start;gap:.625rem;display:flex}.chat-line strong{margin-right:.375rem}.chat-time{color:var(--dim);font-variant-numeric:tabular-nums;font-size:.75rem}.chat-form{gap:.5rem;margin-top:.75rem;display:flex}.chat-form input{border-radius:999px}.sofa{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.seat{background:var(--raised);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:3.5rem;padding:.5rem .625rem;display:flex}.seat-name{overflow-wrap:anywhere;flex:3rem;min-width:0;font-size:.875rem}.seat:not(.taken){border:1px dashed var(--raised-2);background:0 0}.seat:not(.taken) .seat-name{color:var(--dim)}.seat.taken .seat-name{font-weight:800}.health{border-radius:50%;width:.75rem;height:.75rem}.health.good{background:var(--good)}.health.warn{background:var(--amber)}.health.bad{background:var(--live)}.request{background:var(--raised);border:1px solid var(--violet);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.625rem .75rem;display:flex}.request span{flex:10rem}.people{gap:.5rem;display:grid}.person{background:var(--raised);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.625rem .75rem;display:flex}.person .seat-name{flex:8rem}.person .mix{flex-basis:100%;align-items:center;gap:.5rem;margin:0;display:flex}.mix input{flex:1}.backdrop{z-index:14;background:#08061299;position:fixed;inset:0}.sheet{z-index:15;background:var(--surface);border-left:1px solid var(--line);width:min(32rem,100%);position:fixed;inset:0 0 0 auto;overflow-y:auto;box-shadow:-20px 0 60px #00000080}.settings{padding:1rem 1.5rem 3rem}.settings .topbar{z-index:1;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin:-1rem -1.5rem 1rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.settings .topbar h1{font-size:1.25rem;font-weight:900}.settings section{gap:.5rem;margin-bottom:2rem;display:grid}.settings h2{font-size:1rem;font-weight:900}.avatar-grid{flex-wrap:wrap;gap:.375rem;display:flex}.avatar-choice{background:0 0;border-radius:50%;padding:0}.avatar-choice .avatar{--size:3.5rem}.avatar-choice[aria-pressed=true] .avatar{border-color:var(--violet);box-shadow:0 0 16px #b18cff80}.me-preview{align-items:center;gap:1rem;display:flex}.me-preview input{flex:1}.modal{z-index:20;background:#080612b3;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal>*{background:var(--surface);border:1px solid var(--line);border-radius:24px;width:min(60rem,100%);max-height:calc(100dvh - 2rem);padding:1.25rem;overflow-y:auto}.update-prompt{z-index:30;background:var(--raised-2);border-radius:18px;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;max-width:min(28rem,100vw - 2rem);padding:.75rem 1rem;display:flex;position:fixed;inset:1rem 1rem auto auto;box-shadow:0 8px 24px #0006}.update-prompt p{flex-basis:100%}.picker h2{font-size:1.25rem;font-weight:900}.picker h3{color:var(--dim);margin-block:1rem .5rem}.sources{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.5rem;display:grid}.source{background:var(--raised);text-align:left;border-radius:14px;gap:.375rem;width:100%;padding:.375rem;font-size:.8125rem;font-weight:700;display:grid}.source img{aspect-ratio:16/9;object-fit:contain;background:var(--ground);border-radius:10px;width:100%}.source span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--violet)}.audio-choice{border:0;margin:1.25rem 0 1rem;padding:0}.audio-choice legend{margin-bottom:.5rem;font-weight:800}.audio-choice .note{margin:-.25rem 0 .5rem 1.5rem}.audio-choice:disabled{opacity:.6}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}.dock,.stage-top,.avatar{transition:none}}
