*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{--ink: #14121f;--canvas: #fff6ec;--surface: #ffffff;--surface-sunken: #fff0d9;--blue: #2b4bff;--red: #ff4b3e;--yellow: #ffd23f;--green: #17c964;--purple: #8b5cf6;--fg: var(--ink);--fg-muted: #524c66;--fg-faint: #7a7291;--border-width: 3px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--lift: 5px 5px 0 var(--ink);--lift-sm: 3px 3px 0 var(--ink);--lift-lg: 8px 8px 0 var(--ink);--spring: cubic-bezier(.34, 1.56, .64, 1);--ease: cubic-bezier(.2, 0, .2, 1);font-family:ui-rounded,SF Pro Rounded,-apple-system,BlinkMacSystemFont,Segoe UI Variable Display,Segoe UI,system-ui,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.45;color-scheme:light dark;-webkit-font-smoothing:antialiased}body{min-height:100dvh;background-color:var(--canvas);background-image:radial-gradient(color-mix(in srgb,var(--ink) 8%,transparent) 1.5px,transparent 1.5px);background-size:22px 22px;color:var(--fg);font-weight:500}code,.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.85em;font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.page{max-width:60ch;margin-inline:auto;padding:4rem 1.5rem}.page h1{font-size:clamp(2.2rem,7vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}.shell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;min-height:100dvh;padding:clamp(1rem,4vw,2.5rem)}.shell--lobby{justify-content:flex-start;gap:1.1rem;padding-block:clamp(1.1rem,3vw,1.8rem)}.shell__aside{color:var(--fg-muted);font-size:.9rem;font-weight:600}.link{color:var(--blue);font-weight:700;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:3px}.link:hover{color:var(--purple)}.hero{width:min(100%,52rem);text-align:center}.card{width:min(100%,32rem);padding:clamp(1.5rem,4vw,2rem);border:var(--border-width) solid var(--ink);border-radius:var(--radius-lg);background-color:var(--surface);box-shadow:var(--lift);animation:pop .32s var(--spring) both}.card--status{text-align:center}.card--error{box-shadow:6px 6px 0 var(--red),6px 6px 0 3px var(--ink)}.card__actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.5rem}.eyebrow{display:inline-block;margin-bottom:.6rem;padding:.2rem .7rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-pill);background-color:var(--yellow);color:var(--ink);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.eyebrow--danger{background-color:var(--red);color:#fff}.display{font-size:clamp(1.7rem,4.5vw,2.3rem);font-weight:800;line-height:1.05;letter-spacing:-.03em}.display--sm{font-size:clamp(1.35rem,3vw,1.7rem)}.display--hero{font-size:clamp(1.9rem,6vw,2.7rem)}.lede{margin-top:.75rem;color:var(--fg-muted);font-size:1rem;font-weight:500}.lede--hero{margin-top:.35rem;margin-inline:auto;max-width:62ch;font-size:clamp(.9rem,1.9vw,1rem)}.lede--mono{margin-inline:auto;padding:.8rem .9rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-md);background-color:var(--surface-sunken);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.85rem;color:var(--ink);text-align:left}.fineprint{margin-top:1.5rem;color:var(--fg-faint);font-size:.85rem;font-weight:600}.fineprint code,.envlist__name,.room__code{padding:.15rem .45rem;border:2px solid var(--ink);border-radius:var(--radius-sm);background-color:var(--surface-sunken);color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:3rem;padding:0 1.25rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-pill);background-color:var(--surface);color:var(--ink);box-shadow:var(--lift-sm);font-family:inherit;font-size:1rem;font-weight:800;text-decoration:none;cursor:pointer;transition:translate .22s var(--spring),box-shadow .22s var(--spring),background-color .15s var(--ease)}.btn:hover{translate:-2px -2px;box-shadow:5px 5px 0 var(--ink)}.btn:active{translate:2px 2px;box-shadow:0 0 0 var(--ink)}.btn--primary{background-color:var(--blue);color:#fff}.btn--accent{background-color:var(--yellow);color:var(--ink)}.btn--danger{background-color:var(--red);color:#fff}.btn--ghost{border-color:transparent;background-color:transparent;box-shadow:none;color:var(--fg-muted)}.btn--ghost:hover{translate:none;border-color:var(--ink);background-color:var(--surface-sunken);box-shadow:var(--lift-sm);color:var(--ink)}.btn--sm{min-height:2.4rem;padding:0 .9rem;font-size:.85rem}.btn--block{width:100%;margin-top:1.25rem}.btn--toggle{min-width:7rem;background-color:var(--green);color:var(--ink)}.btn--toggle-off{background-color:var(--surface-sunken);color:var(--fg-muted)}.btn:disabled{translate:none;box-shadow:var(--lift-sm);opacity:.4;cursor:not-allowed}.btn:focus-visible,.joinform__input:focus-visible,.pollform__input:focus-visible,.roomcard__open:focus-visible,.roomcard__forget:focus-visible,.roomcard__delete:focus-visible,.chip:focus-visible,.reactions__option:focus-visible,.poll__option:focus-visible,.message__action:focus-visible,.replying__cancel:focus-visible,.link:focus-visible{outline:var(--border-width) solid var(--purple);outline-offset:3px}.joinform__label{display:block;margin-top:1.25rem;margin-bottom:.4rem;color:var(--ink);font-size:.85rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.joinform__input,.pollform__input{width:100%;min-height:3rem;padding:0 1rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-md);background-color:var(--surface);color:var(--ink);font-size:1rem;font-weight:600;font-family:inherit;transition:translate .2s var(--spring),box-shadow .2s var(--spring)}.joinform__input::placeholder,.lobbyform__input::placeholder,.composer__input::placeholder,.pollform__input::placeholder{color:var(--fg-faint);font-weight:500}.joinform__input:focus,.pollform__input:focus{translate:-1px -1px;box-shadow:var(--lift-sm);outline:none}.joinform__warning{margin-top:.5rem;color:var(--red);font-size:.85rem;font-weight:700}.joinform{margin-top:.5rem}.joinform__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}.joinform__actions .btn--primary{flex:1 1 12rem}.lobby__forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:.7rem;width:min(100%,52rem)}.lobbyform{padding:.6rem .7rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-md);background-color:var(--surface);box-shadow:var(--lift-sm);animation:pop .32s var(--spring) both}.lobbyform--make{box-shadow:4px 4px 0 var(--blue),4px 4px 0 3px var(--ink)}.lobbyform--find{background-color:var(--surface-sunken)}.lobbyform__title{font-size:.95rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}.lobbyform__row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.lobbyform__input{flex:1 1 7rem;min-width:0;min-height:2.7rem;padding:0 .7rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--ink);font-family:inherit;font-size:.95rem;font-weight:600;transition:translate .2s var(--spring),box-shadow .2s var(--spring)}.lobbyform__input:focus{translate:-1px -1px;box-shadow:var(--lift-sm);outline:none}.lobbyform__input:focus-visible{outline:var(--border-width) solid var(--purple);outline-offset:3px}.lobbyform__go{flex:0 0 auto;min-height:2.7rem;padding:0 .9rem;font-size:.9rem}.lobbyform__hint,.lobbyform__warning{margin-top:.35rem;font-size:.8rem;font-weight:600;line-height:1.3}.lobbyform__hint{color:var(--fg-muted)}.lobbyform__warning{color:var(--red)}.lobby__notice{width:min(100%,52rem);padding:.75rem 1rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-md);background-color:color-mix(in srgb,var(--red) 22%,var(--surface));box-shadow:var(--lift-sm);font-size:.9rem;font-weight:600}.rooms{width:min(100%,52rem)}.rooms__heading{font-size:1.15rem;font-weight:800;letter-spacing:-.01em}.rooms__hint{margin-top:.2rem;color:var(--fg-muted);font-size:.875rem;font-weight:500}.rooms__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.8rem;margin-top:.7rem;padding:0;list-style:none}.roomcard{position:relative;display:flex;border:var(--border-width) solid var(--ink);border-radius:var(--radius-lg);background-color:var(--surface);box-shadow:var(--lift-sm);animation:pop .32s var(--spring) both;transition:translate .22s var(--spring),box-shadow .22s var(--spring),rotate .22s var(--spring)}.roomcard:hover{translate:-3px -3px;rotate:-1deg;box-shadow:var(--lift-lg)}.roomcard--house{background-color:var(--yellow)}.roomcard--public{background-color:color-mix(in srgb,var(--purple) 18%,var(--surface))}.roomcard__open{flex:1;display:flex;flex-direction:column;gap:.3rem;padding:1.1rem 1.2rem;border:0;border-radius:inherit;background:none;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.roomcard__name{font-size:1.1rem;font-weight:800;letter-spacing:-.01em;overflow-wrap:anywhere}.roomcard__code{color:var(--fg-muted);font-size:.8rem;overflow-wrap:anywhere}.roomcard__note{align-self:flex-start;margin-top:.2rem;padding:.1rem .55rem;border:2px solid var(--ink);border-radius:var(--radius-pill);background-color:var(--surface);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.roomcard__forget{align-self:flex-start;width:2rem;height:2rem;margin:.6rem .6rem 0 0;border:2px solid var(--ink);border-radius:50%;background-color:var(--surface);color:var(--ink);font-size:1rem;font-weight:800;font-family:inherit;line-height:1;cursor:pointer;transition:background-color .15s var(--ease),rotate .22s var(--spring)}.roomcard__forget:hover{rotate:90deg;background-color:var(--red);color:#fff}.roomcard__delete{align-self:flex-start;margin:.7rem .7rem 0 0;padding:.25rem .7rem;border:2px solid var(--ink);border-radius:var(--radius-pill);background-color:var(--surface);color:var(--ink);font-size:.7rem;font-weight:800;font-family:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease)}.roomcard__delete:hover{background-color:var(--red);color:#fff}.roomcard__confirm{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:.7rem;padding:1rem;border-radius:inherit;background-color:color-mix(in srgb,var(--red) 20%,var(--surface));animation:pop .22s var(--spring) both}.roomcard__confirmtext{font-size:.85rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.roomcard__confirmrow{display:flex;flex-wrap:wrap;gap:.5rem}.envlist{display:flex;flex-direction:column;gap:.6rem;margin-top:1.5rem;padding:0;list-style:none}.envlist__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.8rem .9rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-md);background-color:var(--surface-sunken)}.envlist__hint{color:var(--fg-muted);font-size:.85rem;font-weight:500}.badge{margin-left:auto;padding:.15rem .55rem;border:2px solid var(--ink);border-radius:var(--radius-pill);background-color:var(--surface);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.badge--danger{background-color:var(--red);color:#fff}.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem;border:2px solid var(--ink);border-radius:var(--radius-pill);background-color:var(--surface);color:var(--ink);font-size:.8rem;font-weight:800;white-space:nowrap}.pill--live{background-color:var(--green)}.pill--muted{background-color:var(--surface-sunken);color:var(--fg-muted)}.pill--room code{padding:0;border:0;background:none;color:inherit}.pill__dot{width:.5rem;height:.5rem;border:2px solid var(--ink);border-radius:50%;background-color:var(--surface);animation:throb 1.6s var(--spring) infinite}.banner{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.7rem .9rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-md);background-color:color-mix(in srgb,var(--red) 22%,var(--surface));color:var(--ink);font-size:.875rem;font-weight:600}.banner__close{margin-left:auto;padding:.2rem .7rem;border:2px solid var(--ink);border-radius:var(--radius-pill);background-color:var(--surface);color:var(--ink);font-size:.8rem;font-weight:800;font-family:inherit;cursor:pointer}.banner__close:hover{background-color:var(--yellow)}.room{display:flex;flex-direction:column;gap:.55rem;width:min(100%,52rem);height:min(60rem,88dvh)}@media(min-width:48rem){.shell:has(.room){padding-block:.9rem}.room{height:min(60rem,calc(100dvh - 2.4rem))}}.room__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.room__title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;min-width:0}.room__code{font-size:.8rem}.room__actions{display:flex;flex-wrap:wrap;gap:.5rem}.room__bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.stream{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;margin:0;padding:.7rem .8rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-lg);background-color:var(--surface);box-shadow:var(--lift);list-style:none;overscroll-behavior:contain}.stream--empty{display:grid;place-items:center;color:var(--fg-muted);font-size:1rem;font-weight:700;text-align:center}.message{display:flex;gap:.5rem;align-items:flex-start;animation:bounce-in .34s var(--spring) both}.message--grouped{margin-top:-.22rem}.message__avatar{flex:0 0 auto;display:grid;place-items:center;width:1.9rem;height:1.9rem;border:2px solid var(--ink);border-radius:50%;background-color:var(--purple);color:#fff;font-size:.68rem;font-weight:800}.message--you .message__avatar{background-color:var(--blue)}.message__gutter{flex:0 0 auto;width:1.9rem;padding-top:.2rem;color:var(--fg-faint);font-size:.6rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;opacity:0;transition:opacity .15s var(--ease)}.message:hover .message__gutter,.message:focus-within .message__gutter{opacity:1}.message__body{min-width:0;padding:.28rem .6rem;border:2px solid var(--ink);border-radius:var(--radius-md);background-color:var(--surface-sunken)}.message--you .message__body{background-color:color-mix(in srgb,var(--blue) 14%,var(--surface))}.message__meta{display:flex;align-items:baseline;gap:.4rem;line-height:1.2}.message__author{font-size:.78rem;font-weight:800}.message__time{color:var(--fg-faint);font-size:.65rem;font-weight:600;font-variant-numeric:tabular-nums}.message__text{color:var(--ink);font-size:.95rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere;white-space:pre-wrap}.quote{display:flex;flex-direction:column;gap:.05rem;margin:.2rem 0;padding:.25rem .5rem;border-left:var(--border-width) solid var(--purple);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background-color:color-mix(in srgb,var(--purple) 12%,var(--surface))}.quote__author{color:var(--fg-muted);font-size:.7rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.quote__text{display:-webkit-box;overflow:hidden;color:var(--fg-muted);font-size:.82rem;font-weight:500;line-height:1.3;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.media{display:flex;flex-wrap:wrap;gap:.35rem;margin:.3rem 0 .05rem;padding:0;list-style:none}.media__item{display:flex;flex-direction:column;gap:.25rem;max-width:100%}.media__item--loading{min-width:8rem;min-height:5rem;border:2px dashed color-mix(in srgb,var(--ink) 35%,transparent);border-radius:var(--radius-sm);background-color:color-mix(in srgb,var(--purple) 10%,transparent)}.media__open{display:block;line-height:0}.media__image,.media__video{display:block;max-width:100%;max-height:13rem;border:2px solid var(--ink);border-radius:var(--radius-sm);background-color:var(--surface);object-fit:cover}.media__video{width:min(20rem,100%);max-height:14rem;object-fit:contain}.media__note{color:var(--fg-faint);font-size:.75rem;font-weight:700}.media__failed{padding:.4rem .6rem;border:2px dashed var(--red);border-radius:var(--radius-sm);background-color:color-mix(in srgb,var(--red) 10%,transparent);color:var(--fg-muted);font-size:.8rem;font-weight:700}.media__link{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px}.message__actions{flex:0 0 auto;display:flex;align-items:center;gap:.2rem;margin-top:.1rem;opacity:0;transition:opacity .15s var(--ease)}.message__action{display:grid;place-items:center;width:1.6rem;height:1.6rem;padding:0;border:2px solid var(--ink);border-radius:50%;background-color:var(--surface);color:var(--fg-muted);cursor:pointer;transition:color .15s var(--ease),background-color .15s var(--ease)}.message__actionicon{width:.9rem;height:.9rem}.message:hover .message__actions,.message:focus-within .message__actions,.message__actions:has([aria-expanded=true]){opacity:1}.message__action:hover{border-color:var(--ink);background-color:var(--purple);color:#fff}@media(hover:none){.message__actions{opacity:1}}.picker{position:relative;display:flex}.reactions{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.22rem}.chip{display:inline-flex;align-items:center;gap:.2rem;min-height:1.4rem;padding:0 .4rem;border:2px solid var(--ink);border-radius:var(--radius-pill);background-color:var(--surface);color:var(--ink);font-size:.72rem;font-weight:800;font-family:inherit;cursor:pointer;transition:translate .15s var(--spring),background-color .15s var(--ease)}.chip:hover{translate:0 -1px}.chip--mine{background-color:color-mix(in srgb,var(--blue) 22%,var(--surface))}.chip__count{font-size:.65rem;font-variant-numeric:tabular-nums}.reactions__picker{position:absolute;top:50%;right:calc(100% + .25rem);translate:0 -50%;z-index:2;display:flex;gap:.15rem;padding:.2rem;border:2px solid var(--ink);border-radius:var(--radius-pill);background-color:var(--surface);box-shadow:var(--lift-sm);animation:bounce-in .24s var(--spring) both}.reactions__option{min-width:1.8rem;min-height:1.8rem;border:none;border-radius:50%;background:none;font-size:1rem;cursor:pointer;transition:scale .15s var(--spring)}.reactions__option:hover{scale:1.25;background-color:var(--surface-sunken)}.poll{display:flex;flex-direction:column;gap:.4rem;margin-top:.35rem;padding:.55rem;border:2px solid var(--ink);border-radius:var(--radius-md);background-color:var(--surface)}.poll__question{font-size:.95rem;font-weight:800;overflow-wrap:anywhere}.poll__options{display:flex;flex-direction:column;gap:.35rem;list-style:none}.poll__option{position:relative;display:flex;align-items:center;gap:.5rem;width:100%;min-height:1.95rem;padding:0 .6rem;overflow:hidden;border:2px solid var(--ink);border-radius:var(--radius-sm);background-color:var(--surface-sunken);color:var(--ink);font-size:.9rem;font-weight:700;font-family:inherit;text-align:left;cursor:pointer}.poll__fill{position:absolute;inset:0 auto 0 0;width:var(--share, 0%);background-color:color-mix(in srgb,var(--purple) 30%,transparent);transition:width .35s var(--spring)}.poll__option--mine{border-color:var(--blue)}.poll__option--mine .poll__fill{background-color:color-mix(in srgb,var(--blue) 30%,transparent)}.poll__option:disabled{cursor:default}.poll__text,.poll__count{position:relative;overflow-wrap:anywhere}.poll__count{margin-left:auto;font-size:.8rem;font-variant-numeric:tabular-nums}.poll__total{color:var(--fg-faint);font-size:.75rem;font-weight:700}.pollform{display:flex;flex-direction:column;gap:.5rem;padding:.85rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-md);background-color:var(--surface);box-shadow:var(--lift-sm);animation:bounce-in .28s var(--spring) both}.pollform__label{color:var(--ink);font-size:.75rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.pollform__options{display:flex;flex-direction:column;gap:.4rem;list-style:none}.pollform__actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.15rem}.pollform__actions .btn--primary{margin-left:auto}.pollform__hint{color:var(--fg-faint);font-size:.75rem;font-weight:600}.typing{display:flex;align-items:center;gap:.4rem;min-height:.95rem;color:var(--fg-muted);font-size:.75rem;font-weight:700;line-height:1}.typing__dots{display:inline-flex;gap:.15rem}.typing__dots span{width:.3rem;height:.3rem;border-radius:50%;background-color:var(--purple);animation:throb 1.2s var(--ease) infinite}.typing__dots span:nth-child(2){animation-delay:.15s}.typing__dots span:nth-child(3){animation-delay:.3s}.replying{display:flex;align-items:center;gap:.4rem}.replying .quote{flex:1;min-width:0;margin:0}.replying__cancel{display:grid;place-items:center;width:2rem;height:2rem;border:2px solid var(--ink);border-radius:50%;background-color:var(--surface);color:var(--ink);font-size:1.1rem;font-weight:800;font-family:inherit;cursor:pointer}.replying__cancel:hover{background-color:var(--red)}.tray{display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none}.tray__item{display:flex;align-items:center;gap:.55rem;padding:.35rem .5rem;border:2px solid var(--ink);border-radius:var(--radius-sm);background-color:var(--surface);animation:bounce-in .28s var(--spring) both}.tray__item--failed{border-color:var(--red);background-color:color-mix(in srgb,var(--red) 10%,var(--surface))}.tray__thumb{flex:0 0 auto;display:grid;place-items:center;overflow:hidden;width:2.6rem;height:2.6rem;border:2px solid var(--ink);border-radius:var(--radius-sm);background-color:var(--surface-sunken)}.tray__image{width:100%;height:100%;object-fit:cover}.tray__glyph{font-size:1rem}.tray__detail{display:flex;flex-direction:column;flex:1;min-width:0}.tray__name{overflow:hidden;font-size:.85rem;font-weight:800;white-space:nowrap;text-overflow:ellipsis}.tray__status{color:var(--fg-muted);font-size:.72rem;font-weight:700}.tray__item--failed .tray__status{color:var(--red)}.tray__remove{flex:0 0 auto;display:grid;place-items:center;width:1.8rem;height:1.8rem;border:2px solid var(--ink);border-radius:50%;background-color:var(--surface);color:var(--ink);font-size:1rem;font-weight:800;font-family:inherit;cursor:pointer}.tray__remove:hover{background-color:var(--red)}.composer__problem{color:var(--red);font-size:.8rem;font-weight:700}.composer{display:flex;flex-direction:column;gap:.3rem}.composer__bubble{display:flex;align-items:center;gap:.25rem;padding:.2rem .4rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-pill);background-color:var(--surface);box-shadow:var(--lift-sm);transition:translate .2s var(--spring),box-shadow .2s var(--spring)}.composer__bubble:focus-within{translate:-1px -1px;box-shadow:var(--lift)}.composer__bubble:has(.composer__input:focus-visible){outline:var(--border-width) solid var(--purple);outline-offset:3px}.composer__tools{flex:0 0 auto;display:flex;align-items:center;gap:.25rem}.composer__tools:empty{display:none}.composer__tool,.composer__send{flex:0 0 auto;display:grid;place-items:center;width:2.2rem;height:2.2rem;padding:0;border:2px solid var(--ink);border-radius:50%;background-color:var(--surface-sunken);color:var(--ink);font-family:inherit;cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease),scale .2s var(--spring)}.composer__tool:hover{background-color:var(--yellow)}.composer__send{margin-left:auto;background-color:var(--blue);color:#fff}.composer__send:hover:not(:disabled){scale:1.1}.composer__send:disabled{opacity:.4;cursor:not-allowed}.composer__tool:focus-visible,.composer__send:focus-visible{outline:var(--border-width) solid var(--purple);outline-offset:2px}.composer__toolicon{width:1.1rem;height:1.1rem}.composer__input{flex:1;min-width:0;min-height:2.2rem;padding:0 .4rem;border:none;background-color:transparent;color:var(--ink);font-size:1rem;font-weight:600;font-family:inherit}.composer__input:focus{outline:none}@media(max-width:26rem){.composer__bubble{gap:.2rem;padding:.18rem .28rem}.composer__tools{gap:.2rem}.composer__tool,.composer__send{width:2.1rem;height:2.1rem}.composer__input{min-height:2.1rem}.composer__toolicon{width:1.05rem;height:1.05rem}}@media(min-width:48rem){.composer{gap:.25rem}.composer__bubble{gap:.22rem;padding:.13rem .35rem}.composer__tools{gap:.22rem}.composer__tool,.composer__send{width:1.9rem;height:1.9rem}.composer__toolicon{width:.95rem;height:.95rem}.composer__input{min-height:1.9rem}}.stage{display:flex;flex-direction:column;gap:1rem;width:min(100%,72rem)}.stage__bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.stage__empty,.stage__overflow{padding:2rem 1rem;border:var(--border-width) dashed var(--ink);border-radius:var(--radius-lg);background-color:var(--surface);color:var(--fg-muted);font-size:1rem;font-weight:700;text-align:center}.stage__overflow{padding:.8rem;font-size:.85rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.9rem;padding:0;list-style:none}.tile{position:relative;aspect-ratio:4 / 3;overflow:hidden;display:grid;place-items:center;border:var(--border-width) solid var(--ink);border-radius:var(--radius-lg);background-color:var(--surface-sunken);box-shadow:var(--lift-sm)}.tile--speaking{box-shadow:var(--lift-sm),0 0 0 6px var(--green)}.tile__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tile__video--hidden{opacity:0}.tile__initials{color:var(--ink);font-size:2.2rem;font-weight:800;letter-spacing:-.02em}.tile__name{position:absolute;bottom:.6rem;left:.6rem;display:inline-flex;align-items:center;gap:.35rem;max-width:calc(100% - 1.2rem);padding:.2rem .6rem;border:2px solid var(--ink);border-radius:var(--radius-pill);background-color:var(--surface);color:var(--ink);font-size:.775rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile__you{color:var(--fg-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.controls{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;padding:.9rem;border:var(--border-width) solid var(--ink);border-radius:var(--radius-lg);background-color:var(--surface);box-shadow:var(--lift)}.spinner{display:block;width:2rem;height:2rem;margin:0 auto 1rem;border:var(--border-width) solid var(--ink);border-top-color:var(--yellow);border-radius:50%;animation:spin .8s var(--spring) infinite}@keyframes spin{to{rotate:360deg}}@keyframes pop{0%{opacity:0;scale:.94;translate:0 8px}70%{opacity:1;scale:1.02}to{opacity:1;scale:1;translate:0 0}}@keyframes bounce-in{0%{opacity:0;scale:.9;translate:0 10px}60%{opacity:1;scale:1.03;translate:0 -2px}to{opacity:1;scale:1;translate:0 0}}@keyframes throb{0%,to{scale:1}50%{scale:1.5}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.btn:hover,.roomcard:hover,.roomcard__forget:hover,.chip:hover{translate:none;rotate:none}.composer__bubble:focus-within{translate:none}.reactions__option:hover,.composer__send:hover:not(:disabled){scale:none}}@media(prefers-color-scheme:dark){:root{--ink: #f7f3ff;--canvas: #17142b;--surface: #221d3d;--surface-sunken: #2c2551;--blue: #5b78ff;--red: #ff6f63;--yellow: #ffd83f;--green: #2ee07c;--purple: #a98bff;--fg: var(--ink);--fg-muted: #bdb3dd;--fg-faint: #9186b8}.btn--primary,.btn--danger,.btn--accent,.btn--toggle,.eyebrow,.badge--danger,.message__avatar,.message__action:hover,.composer__send,.composer__tool:hover,.pill--live,.roomcard--house,.roomcard--house .roomcard__code,.roomcard--house .roomcard__note{color:#17142b}.roomcard--house .roomcard__note,.roomcard--house .roomcard__forget{background-color:var(--yellow)}.roomcard__forget:hover,.roomcard__delete:hover,.replying__cancel:hover,.tray__remove:hover{color:#17142b}}
