@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-ext-wght-normal-DiMfzA-V.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-wght-normal-D5lnP6kL.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-ext-wght-normal-Byk3UhVp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-wght-normal-C1hSzPvX.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fff;--bg-subtle:#f5f5f5;--bg-hover:#ededed;--ink:#000;--ink-2:#333;--muted:#737373;--line:#e5e5e5;--line-strong:#d4d4d4;--dark:#000;--dark-tile:#111;--dark-line:#262626;--danger:#d92d20;--danger-soft:#fef3f2;--success:#067647;--focus:0 0 0 2px #fff, 0 0 0 4px #000;--radius-tile:6px;--radius-input:12px;--pill:999px;--highlight:#ffe45c;--hand:"Caveat Variable", "Comic Sans MS", cursive;--gutter:clamp(1.25rem, 5vw, 4.5rem);--max:1296px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;font-family:Geist Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}h1,h2,h3{letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:400;line-height:1.08}h1{font-size:clamp(2.25rem,4.5vw,3.5rem)}h2{font-size:clamp(1.75rem,3.5vw,2.75rem)}h3{letter-spacing:-.02em;font-size:1.5rem;line-height:1.2}p{margin:0 0 1rem}a{color:inherit}code{background:var(--bg-subtle);word-break:break-all;border-radius:6px;padding:.15rem .45rem;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.85em}.muted{color:var(--muted)}.label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);font-size:.75rem;font-weight:500;display:block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border-radius:var(--pill);border:1px solid var(--line-strong);background:var(--bg);height:42px;color:var(--ink);font:inherit;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:0 1.4rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.35;cursor:default;transform:none}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-primary:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn-primary:disabled:hover{background:var(--ink)}.btn-invert{color:var(--ink);background:#fff;border-color:#fff}.btn-invert:hover{background:var(--bg-hover);border-color:var(--bg-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:#b42318;border-color:#b42318}.btn-small{height:34px;padding:0 1rem;font-size:.875rem}.btn-large{height:52px;padding:0 1.9rem;font-size:1.05rem}.btn-block{width:100%}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-hover);border-color:#0000}.btn-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0}:is(.btn,.btn-link,summary,a,input):focus-visible{box-shadow:var(--focus);outline:none}.tag{border:1px solid var(--line-strong);border-radius:var(--pill);height:24px;color:var(--ink-2);background:var(--bg);align-items:center;padding:0 .6rem;font-size:.8rem;display:inline-flex}.field{margin-bottom:1.25rem}.field label{margin-bottom:.45rem;font-size:.875rem;font-weight:500;display:block}input{border-radius:var(--radius-input);border:1px solid var(--line-strong);background:var(--bg);width:100%;height:48px;color:var(--ink);font:inherit;padding:0 1rem;transition:border-color .15s}input::placeholder{color:#a3a3a3}input:hover{border-color:#a3a3a3}input:focus{border-color:var(--ink);outline:none}input:focus-visible{box-shadow:none}input[aria-invalid=true]{border-color:var(--danger)}.field-hint{color:var(--muted);margin:.45rem 0 0;font-size:.85rem}.field-error{color:var(--danger);margin:.45rem 0 0;font-size:.85rem}.form-error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-input);margin:0 0 1.25rem;padding:.75rem 1rem;font-size:.9rem}.form-success{color:var(--success);margin:0 0 1.25rem;font-size:.9rem}.notice{background:var(--bg-subtle);border-radius:var(--radius-input);color:var(--ink-2);margin-bottom:1.5rem;padding:.85rem 1rem;font-size:.9rem}.app-header{z-index:20;height:80px;padding:0 var(--gutter);background:var(--bg);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid;position:sticky;top:0}.app-header .header-end{justify-self:end;align-items:center;gap:.5rem;display:flex}.wordmark{letter-spacing:-.05em;color:var(--ink);white-space:nowrap;flex-shrink:0;font-size:1.6rem;font-weight:450;text-decoration:none}.wordmark sup{margin-left:1px;font-size:.55em}.main-nav{gap:2rem;display:flex}.nav-link{letter-spacing:-.02em;color:var(--ink);font-size:1.1rem;text-decoration:none;position:relative}.nav-link:after{content:"";background:currentColor;height:1px;transition:transform .2s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.app-main{max-width:var(--max);padding:3.5rem var(--gutter) 6rem;margin:0 auto}.page-loading{text-align:center;color:var(--muted);padding:5rem}.split{grid-template-columns:minmax(160px,22%) 1fr;gap:2rem;display:grid}.split>.label{padding-top:.6rem}.page-head{margin-bottom:3rem}.page-head p{color:var(--muted);margin:1rem 0 0;font-size:1.1rem}.auth-page{flex-direction:column;min-height:100vh;display:flex}.auth-page .app-header{grid-template-columns:1fr auto}.auth-body{flex:1;place-items:start center;padding:clamp(2rem,8vh,5rem) 1.25rem 4rem;display:grid}.auth-card{width:100%;max-width:420px}.auth-card h1{margin-bottom:2rem;font-size:2.5rem}.auth-switch{color:var(--muted);margin:1.75rem 0 0;font-size:.95rem}.auth-switch a{color:var(--ink)}.hero{max-width:980px;padding:clamp(4rem, 12vh, 7.5rem) var(--gutter) 5rem;text-align:center;margin:0 auto}.hero h1{letter-spacing:-.04em;font-size:clamp(2.75rem,7vw,4.75rem);line-height:1.02}.hero p{color:var(--ink-2);letter-spacing:-.01em;max-width:600px;margin:1.75rem auto 0;font-size:1.2rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2.5rem;display:flex}.section{padding:clamp(4rem, 10vw, 7.5rem) var(--gutter)}.section-inner{max-width:var(--max);margin:0 auto}.section-dark{background:var(--dark);color:#fff}.section-dark .label{color:#fff}.section h2{max-width:720px}.tiles{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:3.5rem;display:grid}.tile{background:var(--dark-tile);border-radius:2px;flex-direction:column;justify-content:space-between;min-height:240px;padding:2rem;display:flex}.tile-num{color:#8a8a8a;font-size:.85rem}.tile h3{margin-bottom:.6rem}.tile p{color:#a3a3a3;margin:0}.feature-list{flex-wrap:wrap;gap:.6rem;margin:3rem 0 0;padding:0;list-style:none;display:flex}.feature-list .tag{height:40px;color:var(--ink);padding:0 1.1rem;font-size:1rem}.site-footer{padding:2.5rem var(--gutter);border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.9rem;display:flex}.create-room{gap:.6rem;max-width:640px;margin-bottom:3rem;display:flex}.create-room input{border-radius:var(--pill);flex:1;height:52px;padding:0 1.4rem}.create-room .btn{height:52px}.room-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.room-card{background:var(--bg-subtle);border-radius:var(--radius-tile);flex-direction:column;justify-content:space-between;gap:2.5rem;min-height:210px;padding:1.5rem;transition:background .15s;display:flex}.room-card:hover{background:var(--bg-hover)}.room-info{min-width:0}.room-info h3{overflow-wrap:anywhere;margin-top:.85rem}.room-actions{align-items:center;gap:.4rem;display:flex}.room-actions .btn:not(.btn-ghost):not(.btn-primary){background:var(--bg)}.room-actions .btn-primary{background:var(--ink);color:#fff}.room-card .form-error{margin:0}.rename-form{flex-wrap:wrap;gap:.4rem;display:flex}.rename-form input{flex:100%}.empty{background:var(--bg-subtle);border-radius:var(--radius-tile);color:var(--muted);max-width:640px;padding:4rem 1.5rem}.empty h3{color:var(--ink);margin-bottom:.5rem}.empty p{margin:0}.menu{position:relative}.menu summary{list-style:none}.menu summary::-webkit-details-marker{display:none}.menu-items{z-index:10;background:var(--bg);border:1px solid var(--line);border-radius:14px;min-width:170px;padding:.35rem;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 40px -12px #00000038}.menu-items button{text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.6rem .8rem;font-size:.95rem}.menu-items button:hover{background:var(--bg-subtle)}.menu-items .danger{color:var(--danger)}.menu-items .danger:hover{background:var(--danger-soft)}.settings-section{border-top:1px solid var(--line);padding:2.5rem 0}.settings-section .split>div:first-child h3{margin-bottom:.5rem}.settings-section .split>div:first-child p{color:var(--muted);max-width:260px;font-size:.95rem}.settings-section form{max-width:460px}.danger-zone h3{color:var(--danger)}.placeholder{background:var(--bg-subtle);border-radius:var(--radius-tile);margin-bottom:1.5rem;padding:3rem}.placeholder h1{margin-bottom:1rem}@media (width<=860px){.split{grid-template-columns:1fr;gap:1rem}.tiles{grid-template-columns:1fr}.tile{min-height:180px}}@media (width<=640px){.app-header{grid-template-columns:auto 1fr;height:68px}.main-nav{justify-self:end;gap:1.1rem}.nav-link{font-size:1rem}.app-header .header-end{display:none}.create-room{flex-direction:column}.create-room input{flex:none}.home .main-nav{display:none}.home .app-header .header-end{display:flex}}.pricing-note{color:#a3a3a3;margin:1.25rem 0 2rem;font-size:1.1rem}.tiles-6{grid-template-columns:repeat(3,1fr)}.tiles-6 .tile{min-height:260px}.section-subtle{background:var(--bg-subtle)}.section-subtle .tag{background:var(--bg)}.steps{grid-template-columns:repeat(3,1fr);gap:2.5rem;margin:3.5rem 0 0;padding:0;list-style:none;display:grid}.steps li{border-top:1px solid var(--ink);flex-direction:column;gap:1.25rem;padding-top:1.5rem;display:flex}.step-num{color:var(--muted);font-size:.85rem}.steps h3{margin-bottom:.5rem}.steps p{color:var(--muted);margin:0}@media (width<=1080px){.tiles-6{grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.tiles-6,.steps{grid-template-columns:1fr}.steps{gap:1.5rem}}.hand{font-family:var(--hand);letter-spacing:0;font-weight:500}.hero{max-width:none;position:relative}.home{overflow-x:clip}.hero>:not(.hero-doodles){z-index:1;position:relative}.hero-doodles{pointer-events:none;width:min(1320px,100%);color:var(--ink);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.doodle{opacity:.9;transform:rotate(var(--r,0deg));animation:7s ease-in-out infinite bob;position:absolute}.doodle.hand{font-size:2.3rem;line-height:1}.d-pencil{--r:-8deg;width:68px;top:12%;left:4%}.d-ruler{--r:4deg;width:96px;animation-delay:-2s;top:10%;right:5%}.d-protractor{--r:-6deg;width:88px;animation-delay:-4s;bottom:16%;left:7%}.d-setsquare{--r:10deg;width:60px;animation-delay:-1s;bottom:12%;right:9%}.d-sparkle-1{width:22px;animation-delay:-3s;top:42%;left:15%}.d-sparkle-2{width:28px;animation-delay:-5s;top:50%;right:17%}.d-wave{opacity:.45;width:64px;top:4%;left:34%}.d-plus{opacity:.6;width:18px;bottom:5%;left:44%}.d-x2{--r:6deg;animation-delay:-2.5s;top:30%;right:3%}.d-half{--r:-10deg;animation-delay:-1.5s;bottom:34%;left:2%;font-size:2.4rem!important}.d-pi{--r:8deg;animation-delay:-6s;top:64%;right:3%;font-size:2.4rem!important}@keyframes bob{0%,to{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-7px) rotate(calc(var(--r,0deg) + 2deg))}}.underlined{white-space:nowrap;display:inline-block;position:relative}.underline-doodle{width:106%;height:.3em;color:var(--ink);position:absolute;bottom:-.16em;left:-3%}.section-dark .underline-doodle{color:#fff}mark.highlight{color:var(--ink);background:linear-gradient(100deg, transparent 1%, var(--highlight) 3%, var(--highlight) 96%, transparent 99%);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.2em .5em .3em .6em;margin:0 -.04em;padding:0 .12em}.circled{margin:0 .3em 0 .15em;padding:0 .1em;display:inline-block;position:relative}.circle-doodle{width:160%;height:148%;color:var(--highlight);position:absolute;top:-24%;left:-30%}.price-heading{display:inline-block;position:relative}.price-sparkle{width:.55em;color:var(--highlight);vertical-align:super;margin-left:.15em}.hero-actions{display:inline-flex;position:relative}.hero-note{width:190px;color:var(--ink);pointer-events:none;flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:-2.6rem;right:calc(100% + .5rem)}.hero-note .hand{white-space:nowrap;font-size:1.8rem;transform:rotate(-6deg)}.hero-note-arrow{width:74px;margin-top:-2px;margin-right:-18px}.tile-icon{color:#fff;width:46px;height:46px}.step-num{width:58px;height:46px;color:var(--ink);place-items:center;font-size:1.9rem;display:inline-grid;position:relative}.step-circle{width:100%;height:100%;position:absolute;inset:0}.steps li{border-top:none;padding-top:0}.footer-hand{color:var(--ink-2);font-size:1.55rem}@media (width<=1100px){.d-x2,.d-pi,.d-half,.d-wave{display:none}}@media (width<=900px){.hero-note,.d-sparkle-1,.d-sparkle-2,.d-plus{display:none}.d-pencil{width:44px;top:2%;left:2%}.d-ruler{width:60px;top:2%;right:2%}.d-protractor{width:56px;bottom:2%;left:3%}.d-setsquare{width:40px;bottom:2%;right:4%}}@media (prefers-reduced-motion:reduce){.doodle{animation:none}}.faq{border-top:1px solid var(--line);max-width:760px;margin-top:2.5rem}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 0;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary h3{font-size:1.25rem}.faq-icon{flex-shrink:0;width:22px;transition:transform .2s}.faq details[open] .faq-icon{transform:rotate(45deg)}.faq details p{color:var(--ink-2);max-width:640px;margin:-.4rem 0 1.5rem}.footer-note{flex-basis:100%;order:3;font-size:.85rem}.signup-intro{margin:-1.25rem 0 1.5rem}.hero h1{max-width:900px;margin-inline:auto}.eyebrow{border:1px solid var(--line-strong);border-radius:var(--pill);background:var(--bg);margin-bottom:1.75rem;padding:.4rem .95rem;font-size:.9rem;font-weight:500;display:inline-block}.centered-card{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:480px;display:flex}.centered-card h1{margin-bottom:1rem;font-size:clamp(2rem,5vw,2.6rem)}.centered-card .eyebrow{margin-bottom:1.25rem}.lead{color:var(--ink-2);margin-bottom:2rem;font-size:1.1rem}.button-row{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.join-form{text-align:left;width:100%}.fineprint{color:var(--muted);margin-top:1.5rem;font-size:.85rem}.waiting-doodle{width:200px;height:90px;margin-bottom:.5rem;position:relative}.waiting-doodle .hand{font-size:1.8rem;position:absolute;top:4px;left:0;transform:rotate(-6deg)}.wd-arrow{width:64px;position:absolute;top:18px;right:18px}.wd-sparkle{width:22px;animation:5s ease-in-out infinite bob;position:absolute;top:0;right:0}.waiting-dots{gap:8px;margin:-.5rem 0 2rem;display:flex}.waiting-dots span{background:var(--ink);border-radius:50%;width:9px;height:9px;animation:1.2s ease-in-out infinite dot}.waiting-dots span:nth-child(2){animation-delay:.15s}.waiting-dots span:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.room{background:var(--bg);grid-template-rows:auto auto 1fr;height:100dvh;display:grid;overflow:hidden}.room-bar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;height:64px;padding:0 1.25rem;display:grid}.room-bar .wordmark{font-size:1.3rem}.room-bar-start{align-items:center;gap:1rem;min-width:0;display:flex}.room-name{border-left:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;padding-left:1rem;font-weight:500;overflow:hidden}.room-bar-end{justify-self:end;align-items:center;gap:.4rem;display:flex}.room-bar-end .btn{gap:.35rem}.room-bar-middle{justify-content:center;align-items:center;gap:.4rem;min-width:0;display:flex}.board-controls{justify-content:center;gap:.4rem;display:flex}.book-btn{background:var(--ink);color:#fff;border-color:var(--ink);gap:.4rem}.book-btn:hover{background:var(--ink-2);border-color:var(--ink-2)}.book-btn[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--ink)}.book-btn svg{width:16px;height:16px}.report-btn{color:var(--danger);border-color:#f5c2bd;gap:.35rem}.report-btn:hover{background:var(--danger-soft)}.report-btn svg{width:15px;height:15px}.board-controls .chip{box-shadow:none;border-color:var(--line-strong)}.person-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.person-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.65rem}.person-remove{border-radius:var(--pill);background:var(--bg);height:22px;color:var(--danger);font:inherit;cursor:pointer;border:1px solid #f5c2bd;flex-shrink:0;padding:0 8px;font-size:.7rem;font-weight:600;line-height:1}.person-remove:hover{background:var(--danger-soft)}.avatar{background:var(--ink);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:.75rem;font-weight:600;display:grid}.room-banner{background:var(--highlight);color:var(--ink);text-align:center;grid-row:2;padding:.45rem;font-size:.9rem;font-weight:500}.knock-stack{z-index:30;gap:.6rem;width:min(340px,100vw - 2.5rem);display:grid;position:fixed;top:80px;right:1.25rem}.knock{background:var(--bg);border:1px solid var(--line);border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:.75rem .7rem;padding:1rem;animation:.25s ease-out knock-in;display:grid;box-shadow:0 16px 40px -12px #00000040}.knock p{margin:0}.knock-actions{grid-column:1/-1;justify-content:flex-end;gap:.4rem;display:flex}@keyframes knock-in{0%{opacity:0;transform:translateY(-8px)}}@media (width<=860px){.room-bar{grid-template-columns:1fr auto;row-gap:.5rem;height:auto;padding:.6rem 1rem}.room-bar-middle{grid-area:2/1/auto/-1;justify-content:flex-start;overflow-x:auto}.room-bar .wordmark{display:none}.room-name{border-left:none;padding-left:0}}@media (prefers-reduced-motion:reduce){.waiting-dots span,.wd-sparkle,.knock{animation:none}}.billing-buttons{justify-content:flex-start}.billing-body p{margin-bottom:1rem}.terms-check{color:var(--ink-2);align-items:flex-start;gap:10px;margin:.25rem 0 1.25rem;font-size:.9rem;display:flex}.terms-check input{width:18px;height:18px;accent-color:var(--ink);flex-shrink:0;margin-top:2px}.terms-check a{color:var(--ink)}.legal-page{min-height:100vh}.legal-main{max-width:720px;padding:2rem var(--gutter) 5rem;margin:0 auto;line-height:1.65}.legal-main h1{margin-bottom:.5rem}.legal-main h2{margin:2.25rem 0 .75rem;font-size:1.35rem}.legal-main ul{gap:.4rem;margin:0 0 1rem;padding-left:1.2rem;display:grid}.legal-main a{text-decoration:underline}.legal-links{color:var(--muted);margin-top:3rem;font-size:.9rem}.footer-links{gap:1rem;display:flex}.footer-links a{color:inherit}.tag-warn{color:var(--danger);background:var(--danger-soft);border-color:#f5c2bd;margin-left:6px}.room-count{align-items:center;gap:.6rem;margin:0 0 1.25rem;font-size:.9rem;font-weight:500;display:inline-flex}.room-count-dots{gap:4px;display:inline-flex}.room-count-dots span{border:1.5px solid var(--ink);border-radius:50%;width:10px;height:10px}.room-count-dots span.on{background:var(--ink)}.room-count.full{color:var(--danger)}.room-count.full .room-count-dots span{border-color:var(--danger);background:var(--danger)}.room-full-note{color:var(--muted);margin:-.75rem 0 1.25rem;font-size:.85rem}.book-readers{min-width:18px;height:18px;color:var(--ink);background:#fff;border-radius:9px;place-items:center;margin-left:2px;padding:0 5px;font-size:.7rem;font-weight:700;display:inline-grid}.room-bar .btn svg{flex-shrink:0;width:15px;height:15px}.room-bar .bar-text{white-space:nowrap;vertical-align:bottom;max-width:16em;transition:max-width .2s,opacity .2s;display:inline-block;overflow:hidden}@media (width<=1280px){.room-bar .bar-text{opacity:0;max-width:0}:is(.room-bar .chip:has(.bar-text),.room-bar .btn:has(.bar-text)){gap:0;padding:0 .6rem}.room-bar :is(.chip,.btn):is(:hover,:focus-visible) .bar-text{opacity:1;max-width:16em;margin-left:.35rem}.room-name{max-width:200px}}@media (prefers-reduced-motion:reduce){.room-bar .bar-text{transition:none}}.admin-toolbar{justify-content:flex-end;gap:.5rem;margin-bottom:.75rem;display:flex}.row-actions{justify-content:flex-end;align-items:center;gap:.3rem;display:inline-flex}.restricted-banner{background:var(--danger-soft);border-color:#f5c2bd}.password-link{margin-top:1rem;font-size:.9rem}.dialog{width:min(480px,100vw - 32px);color:var(--ink);background:var(--bg);border:none;border-radius:18px;padding:0;box-shadow:0 30px 80px -20px #00000073}.dialog::backdrop{background:#00000059}.dialog-body{gap:1rem;padding:1.75rem;display:grid}.dialog-body h2{font-size:1.6rem}.dialog-body p{margin:0}.dialog-urgent{background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:.6rem .85rem;font-size:.9rem;font-weight:500}.report-options{border:none;gap:4px;margin:0;padding:0;display:grid}.report-options legend{margin-bottom:.4rem;font-size:.9rem;font-weight:550}.report-options label{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:.55rem .7rem;font-size:.95rem;display:flex}.report-options label:has(input:checked){border-color:var(--ink);background:var(--bg-subtle)}.report-options input{accent-color:var(--ink);width:17px;height:17px}.dialog-field{gap:.4rem;font-size:.9rem;font-weight:550;display:grid}.dialog-field textarea{resize:vertical;border:1px solid var(--line-strong);width:100%;min-height:110px;font:inherit;color:var(--ink);border-radius:12px;padding:.7rem .85rem;font-weight:400}.dialog-field textarea:focus{border-color:var(--ink);outline:none}.dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.pdf-viewer{flex-direction:column;height:100%;min-height:0;display:flex}.pdf-viewer-bar{border-bottom:1px solid var(--line);align-items:center;gap:4px;padding:6px 8px;font-size:.8rem;display:flex}.pdf-viewer-bar .icon-btn{width:30px;height:30px;font-size:1.1rem}.pdf-zoom{text-align:center;font-variant-numeric:tabular-nums;min-width:44px}.pdf-pages{color:var(--muted);margin-left:auto}.pdf-scroll{background:#e9e9e9;flex:1;place-content:start center;gap:12px;padding:12px;display:grid;overflow:auto}.pdf-page{background:#fff;box-shadow:0 1px 3px #00000026}.pdf-message{color:var(--muted);text-align:center;padding:2rem 1rem}.book-panel{z-index:14;background:var(--bg);border-right:1px solid var(--line);visibility:hidden;flex-direction:column;width:min(clamp(380px,36vw,760px),92%);transition:transform .25s;display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:16px 0 40px -20px #00000059}.book-panel.open{visibility:visible;transform:none}.book-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 10px 10px 14px;display:flex}.book-head select{border:1px solid var(--line-strong);min-width:0;height:34px;font:inherit;background:var(--bg);border-radius:10px;flex:1;padding:0 .5rem;font-size:.9rem}.book-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:550;overflow:hidden}.book-body{flex-direction:column;flex:1;min-height:0;display:flex}.book-empty{color:var(--ink-2);padding:2rem 1.5rem}.book-empty p{margin-bottom:1rem}.attach-list{padding:1rem 1.25rem;overflow:auto}.attach-list ul{gap:4px;margin:0 0 1rem;padding:0;list-style:none;display:grid}.attach-list label{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:.55rem .6rem;display:flex}.attach-list label:hover{background:var(--bg-subtle)}.attach-list input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink)}.attach-list .btn svg{width:15px;height:15px}@media (prefers-reduced-motion:reduce){.book-panel{transition:none}}.resources-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.resources-layout{gap:1.5rem;display:grid}.resources-layout.with-preview{grid-template-columns:minmax(260px,1fr) minmax(320px,1.3fr);align-items:start}.resource-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.resource-item{background:var(--bg-subtle);border-radius:var(--radius-tile);justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .5rem .4rem 0;display:flex}.resource-item.current{outline:2px solid var(--ink)}.resource-open{text-align:left;min-width:0;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;flex:1;gap:2px;padding:.75rem 1rem;display:grid}.resource-open strong{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.resource-open .muted{font-size:.8rem}.resource-buttons{gap:2px;display:flex}.danger-text{color:var(--danger)}.resource-preview{border:1px solid var(--line);border-radius:var(--radius-tile);height:70vh;position:sticky;top:96px;overflow:hidden}@media (width<=860px){.resources-layout.with-preview{grid-template-columns:1fr}}.board-area{background:#ececec;grid-row:3;min-height:0;display:flex;position:relative;overflow:hidden}.room-note{z-index:5;background:var(--ink);color:#fff;border-radius:var(--pill);padding:.45rem 1rem;font-size:.875rem;position:absolute;top:64px;left:50%;transform:translate(-50%)}.whiteboard{flex:1;min-width:0;display:flex;position:relative}.board-main{flex:1;min-width:0;position:relative;overflow:hidden}.board-loading{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.canvas{position:absolute;inset:0}.canvas-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.page-shadow{fill:#fff;filter:drop-shadow(0 1px 2px #00000014)drop-shadow(0 8px 24px #00000014)}.board-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:Geist Variable,system-ui,sans-serif;line-height:1.35}.board-math{white-space:nowrap;line-height:1.2}.board-math-raw{font-family:ui-monospace,Consolas,monospace;font-size:.8em}.board-text-editor{z-index:12;outline-offset:4px;resize:none;white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:none;border-radius:0;outline:1.5px dashed #2563eb;height:auto;min-height:1.35em;margin:0;padding:0;font-family:Geist Variable,system-ui,sans-serif;line-height:1.35;position:absolute;overflow:hidden}.board-text-editor.math{background:#ffffffeb;font-family:ui-monospace,Consolas,monospace}.board-text-editor:focus{box-shadow:none;border-color:#0000}.tool-palette,.style-bar,.bar-group,.selection-bar,.chip,.icon-btn.floating{background:var(--bg);border:1px solid var(--line);box-shadow:0 6px 24px -10px #00000040}.tool-palette{z-index:10;border-radius:14px;flex-direction:column;align-items:center;gap:3px;height:fit-content;margin:auto 0;padding:5px;display:flex;position:absolute;top:64px;bottom:64px;left:12px}.tool-group{flex-direction:column;align-items:center;gap:2px;width:100%;display:flex}.tool-group+.tool-group{border-top:1px solid var(--line);padding-top:3px}.tool-btn svg{width:19px;height:19px}.color-dot{width:20px;height:20px}.tool-btn{width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.tool-btn:hover{background:var(--bg-subtle)}.tool-btn.active{background:var(--ink);color:#fff}.tool-btn:disabled{opacity:.3;cursor:default;background:0 0}.board-top{z-index:10;pointer-events:none;justify-content:center;align-items:flex-start;gap:8px;display:flex;position:absolute;top:12px;left:60px;right:12px}.board-top>*{pointer-events:auto}.style-bar{border-radius:var(--pill);align-items:center;gap:10px;padding:6px 10px;display:flex}.swatches{gap:6px;display:flex}.swatch{cursor:pointer;border:1px solid #00000026;border-radius:50%;width:24px;height:24px;padding:0;box-shadow:inset 0 0 0 2px #fff}.swatch.active{outline:2px solid var(--ink);outline-offset:1px}.sizes{border-left:1px solid var(--line);gap:2px;padding-left:10px;display:flex}.size-btn{cursor:pointer;width:30px;height:30px;color:var(--ink);background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.size-btn:hover{background:var(--bg-subtle)}.size-btn.active{background:var(--bg-hover)}.size-dot{background:var(--ink);border-radius:50%;display:block}.fill-btn{border-radius:var(--pill);border:1px solid var(--line-strong);background:var(--bg);height:30px;font:inherit;cursor:pointer;padding:0 .75rem;font-size:.8rem}.fill-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.selection-bar{border-radius:var(--pill);align-items:center;gap:4px;padding:4px 6px 4px 14px;font-size:.85rem;display:flex}.chip{border-radius:var(--pill);height:34px;font:inherit;color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 .85rem;font-size:.8rem;font-weight:500;display:inline-flex}.chip svg{width:15px;height:15px}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}span.chip{cursor:default}.bottom-bar{z-index:10;align-items:center;gap:8px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.bar-group{border-radius:var(--pill);align-items:center;gap:2px;padding:3px;display:flex}.icon-btn{width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.icon-btn:hover:not(:disabled){background:var(--bg-subtle)}.icon-btn:disabled{opacity:.3;cursor:default}.page-count{white-space:nowrap;font-variant-numeric:tabular-nums;padding:0 .4rem;font-size:.8rem}.zoom-label{font:inherit;border-radius:var(--pill);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;min-width:48px;height:34px;font-size:.8rem}.zoom-label:hover{background:var(--bg-subtle)}.board-toast{z-index:20;background:var(--ink);color:#fff;border-radius:var(--pill);padding:.55rem 1rem;font-size:.875rem;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.page-strip{background:var(--bg);border-right:1px solid var(--line);z-index:11;flex-direction:column;flex-shrink:0;width:220px;display:flex}.page-strip.collapsed{align-items:center;gap:4px;width:44px;padding:6px 0}.page-rail{flex:1;align-content:start;gap:4px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.page-rail-btn{border:1px solid var(--line-strong);background:var(--bg);width:30px;height:30px;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--ink);border-radius:8px;font-size:.75rem}.page-rail-btn:hover{border-color:#a3a3a3}.page-rail-btn.current{background:var(--ink);color:#fff;border-color:var(--ink)}.page-strip-head{align-items:center;gap:6px;padding:8px 6px 4px 14px;display:flex}.page-strip-head .label{flex:1}.page-import{gap:4px;height:30px;padding:0 .6rem;font-size:.78rem}.page-import svg{width:14px;height:14px}.page-list{flex:1;align-content:start;gap:12px;margin:0;padding:6px 12px 12px;list-style:none;display:grid;overflow-y:auto}.page-thumb-item{grid-template-columns:18px 1fr;align-items:start;gap:6px;display:grid;position:relative}.page-thumb-item.drop-before:before{content:"";background:#2563eb;border-radius:2px;height:3px;position:absolute;top:-7px;left:24px;right:0}.page-num{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;grid-area:1/1;padding-top:2px;font-size:.75rem}.page-thumb{border:1.5px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:6px;grid-column:2;width:100%;padding:0;display:block;overflow:hidden}.page-thumb:hover{border-color:#a3a3a3}.page-thumb.current{border-color:var(--ink);box-shadow:0 0 0 1.5px var(--ink)}.thumb-svg{pointer-events:none;width:100%;height:auto;display:block}.page-menu{position:absolute;top:4px;right:4px}.page-menu-btn{border:1px solid var(--line);cursor:pointer;opacity:0;background:#ffffffeb;border-radius:50%;place-items:center;width:26px;height:26px;transition:opacity .15s;display:grid}.page-menu-btn svg{width:16px;height:16px}.page-thumb-item:hover .page-menu-btn,.page-menu-btn[aria-expanded=true],.page-menu-btn:focus-visible{opacity:1}.page-menu-items{z-index:20;background:var(--bg);border:1px solid var(--line);border-radius:14px;width:176px;padding:.35rem;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 16px 40px -12px #00000038}.page-menu-items>button{text-align:left;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:8px;padding:.5rem .7rem;font-size:.875rem}.page-menu-items>button:hover:not(:disabled){background:var(--bg-subtle)}.page-menu-items>button:disabled{opacity:.4;cursor:default}.page-menu-items .danger{color:var(--danger)}.menu-sub{color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:.25rem 0;padding:.4rem .7rem;font-size:.75rem}.bg-options{grid-template-columns:1fr 1fr;gap:4px;margin-top:.35rem;display:grid}.bg-options button{border:1px solid var(--line-strong);background:var(--bg);font:inherit;cursor:pointer;color:var(--ink);border-radius:8px;padding:.3rem;font-size:.75rem}.bg-options button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.page-strip-add{border-top:1px solid var(--line);padding:8px 12px 12px}.page-strip-add .btn{gap:4px}.page-strip-add svg{width:16px;height:16px}.remote-cursor{transition:transform 80ms linear}@media (width<=760px){.page-strip:not(.collapsed){position:absolute;inset:0 auto 0 0;box-shadow:8px 0 24px -12px #0000004d}.board-top{justify-content:flex-start;left:56px;right:8px;overflow-x:auto}.style-bar{gap:6px}.swatch{width:20px;height:20px}.bottom-bar{gap:4px}}.upload-menu{z-index:20;background:var(--bg);border:1px solid var(--line);border-radius:14px;width:300px;padding:.35rem;display:grid;position:absolute;bottom:60px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px -12px #00000040}.upload-menu button{text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:10px;gap:2px;padding:.6rem .75rem;display:grid}.upload-menu button:hover{background:var(--bg-subtle)}.upload-menu strong{font-size:.9rem;font-weight:550}.upload-menu span{color:var(--muted);font-size:.78rem}.upload-progress{z-index:20;border-radius:var(--pill);background:var(--ink);color:#fff;white-space:nowrap;align-items:center;gap:12px;padding:.55rem 1rem;font-size:.85rem;display:flex;position:absolute;top:60px;left:50%;transform:translate(-50%)}.upload-progress .btn-link{color:#fff;font-size:.85rem;text-decoration:underline}.progress-bar{background:#ffffff40;border-radius:2px;width:120px;height:4px;overflow:hidden}.progress-bar>span{background:#fff;height:100%;transition:width .2s;display:block}.math-editor{z-index:12;background:var(--bg);border:1.5px dashed #2563eb;border-radius:10px;min-width:320px;max-width:min(680px,100% - 24px);padding:8px;position:absolute;box-shadow:0 12px 32px -14px #0000004d}.math-editor math-field{background:0 0;border:none;outline:none;width:100%;min-height:1.6em;padding:4px 6px;display:block}.math-editor math-field:focus-within{outline:none}.math-editor-actions{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.math-editor-hint{color:var(--muted);flex:1;font-size:.75rem}.graph-range{color:var(--muted);align-items:center;gap:6px;padding:0 4px;font-size:.75rem;display:inline-flex}.graph-range label{align-items:center;gap:4px;display:inline-flex}.graph-range input{border-radius:8px;width:52px;height:28px;padding:0 6px;font-size:.8rem}.tool-palette{overflow:visible}.popout-group{position:relative}.tool-btn.has-popout:after{content:"";opacity:.6;border-bottom:4px solid;border-left:4px solid #0000;width:0;height:0;position:absolute;bottom:4px;right:4px}.tool-btn{position:relative}.tool-popout{z-index:12;background:var(--bg);border:1px solid var(--line);border-radius:14px;gap:2px;padding:6px;display:flex;position:absolute;top:-6px;left:calc(100% + 10px);box-shadow:0 10px 30px -10px #0000004d}.tool-popout:before{content:"";width:12px;position:absolute;top:0;bottom:0;left:-12px}.print-root{display:none}@page landscape{size:A4 landscape;margin:8mm}@page portrait{size:A4 portrait;margin:8mm}@media print{body>:not(.print-root){display:none!important}body{background:#fff}.print-root{display:block}.print-page{break-after:page;break-inside:avoid;justify-content:center;align-items:center;display:flex}.print-page:last-child{break-after:auto}.print-page.landscape{page:landscape;width:281mm;height:194mm}.print-page.portrait{page:portrait;width:194mm;height:281mm}.print-page svg{width:100%;height:100%}.print-page foreignObject{overflow:visible}}.board-menu{z-index:20;background:var(--bg);border:1px solid var(--line);border-radius:14px;width:290px;padding:.35rem;display:grid;position:absolute;bottom:60px;right:50%;transform:translate(50%);box-shadow:0 16px 40px -12px #00000040}.board-menu button{text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:10px;gap:2px;padding:.6rem .75rem;display:grid}.board-menu button:hover:not(:disabled){background:var(--bg-subtle)}.board-menu button:disabled{opacity:.4;cursor:default}.board-menu strong{font-size:.9rem;font-weight:550}.board-menu span{color:var(--muted);font-size:.78rem}.color-dot{border:1px solid #0000002e;border-radius:50%;box-shadow:inset 0 0 0 2px #fff}.tool-btn.color-face.active,.tool-btn.color-face[aria-expanded=true]{background:var(--bg-subtle)}.color-popout{flex-direction:column;gap:8px;width:176px;padding:10px}.color-popout .swatches{grid-template-columns:repeat(4,1fr);justify-items:center;gap:8px;display:grid}.color-wheel{cursor:pointer;border-top:1px solid var(--line);align-items:center;gap:8px;padding:8px 2px 0;font-size:.8rem;display:flex}.color-wheel input{cursor:pointer;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);border:none;border-radius:50%;width:28px;height:28px;padding:0}.color-wheel input::-webkit-color-swatch-wrapper{padding:3px}.color-wheel input::-webkit-color-swatch{border:2px solid #fff;border-radius:50%}.color-wheel input::-moz-color-swatch{border:2px solid #fff;border-radius:50%}.style-bar .sizes{border-left:none;padding-left:0}.size-slider{align-items:center;gap:10px;padding:0 2px;display:flex}.size-slider input[type=range]{appearance:none;cursor:pointer;width:150px;height:22px;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.size-slider input[type=range]:focus{box-shadow:none;outline:none}.size-slider input[type=range]:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:4px}.size-slider input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--ink) var(--fill,50%), var(--line-strong) var(--fill,50%));border-radius:2px;height:4px}.size-slider input[type=range]::-moz-range-track{background:var(--line-strong);border-radius:2px;height:4px}.size-slider input[type=range]::-moz-range-progress{background:var(--ink);border-radius:2px;height:4px}.size-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ink);width:16px;height:16px;box-shadow:0 0 0 1px var(--ink);border:2px solid #fff;border-radius:50%;margin-top:-6px}.size-slider input[type=range]::-moz-range-thumb{background:var(--ink);width:14px;height:14px;box-shadow:0 0 0 1px var(--ink);border:2px solid #fff;border-radius:50%}.size-preview{place-items:center;width:28px;height:28px;display:grid}.video-side{background:var(--bg);border-left:1px solid var(--line);flex-direction:column;flex-shrink:0;width:48px;min-height:0;display:flex;position:relative}.video-side.open{width:clamp(260px,24vw,400px)}.side-head{justify-content:space-between;align-items:center;padding:6px 4px 2px 12px;display:flex}.side-head .icon-btn{width:30px;height:30px}.side-head .icon-btn svg{width:16px;height:16px}.side-people-list{gap:1px;margin:0;padding:2px 8px 6px;font-size:.8rem;list-style:none;display:grid}.side-people-list li{border-radius:8px;align-items:center;gap:6px;height:26px;padding:0 4px;display:flex}.side-people-list li:hover{background:var(--bg-subtle)}.side-people-list .avatar{width:20px;height:20px;font-size:.6rem}.side-people-list .person-name{flex:1}.side-people-list .video-muted svg{width:12px;height:12px}.side-people-list .video-muted{color:var(--danger)}.video-side .video-tiles{flex:1;place-content:start center;gap:6px;min-height:0;padding:0 8px 8px;display:grid;overflow:hidden}.video-side .video-tiles[hidden]{display:none}.side-toggle{width:100%;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:10px;padding:10px 0;display:flex}.side-toggle:hover{background:var(--bg-subtle)}.side-toggle>svg{flex-shrink:0;width:18px;height:18px}.side-people{flex-direction:column;gap:10px;display:flex}.side-media{border-top:1px solid var(--line);justify-content:center;padding:8px;display:flex}.side-media.compact{padding:8px 0}.media-controls.compact{flex-direction:column}.mini-person{background:var(--ink);color:#fff;text-transform:none;letter-spacing:0;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.65rem;display:grid;position:relative}.mini-muted{background:var(--danger);border-radius:50%;place-items:center;width:14px;height:14px;display:grid;position:absolute;bottom:-5px;right:-5px}.mini-muted svg{color:#fff;width:9px;height:9px}.video-tiles{gap:4px;padding:0 4px 4px;display:grid}.video-tile{aspect-ratio:4/3;background:#1a1a1a;border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.video-tile video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.video-tile.self video{transform:scaleX(-1)}.video-avatar{color:#fff;z-index:1;background:#3a3a3a;border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.2rem;font-weight:600;display:grid}.video-name{z-index:2;border-radius:var(--pill);color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#0000008c;align-items:center;gap:4px;max-width:calc(100% - 12px);padding:2px 8px;font-size:.75rem;display:inline-flex;position:absolute;bottom:6px;left:6px;overflow:hidden}.video-muted{color:#ff8a80;display:inline-grid}.video-muted svg{width:13px;height:13px}.video-status{z-index:2;border-radius:var(--pill);color:#fff;background:#0000008c;padding:2px 8px;font-size:.7rem;position:absolute;top:6px;right:6px}.video-alone{color:var(--muted);margin:0;padding:0 12px 6px;font-size:.8rem}.sound-btn{width:calc(100% - 8px);margin:0 4px 6px}.media-controls{align-items:center;gap:.4rem;display:flex;position:relative}.media-btn{width:34px;padding:0}.media-btn svg{width:17px;height:17px}.media-btn.off{background:var(--danger-soft);color:var(--danger);border-color:#f5c2bd}.media-menu-wrap{position:relative}.side-media .media-controls{position:static}.side-media{position:relative}.side-media .media-menu,.side-media .media-error{width:auto;left:8px;right:8px}.video-side:not(.open) .media-error{width:280px;bottom:8px;left:auto;right:calc(100% + 8px)}.media-menu{z-index:40;background:var(--bg);border:1px solid var(--line);border-radius:14px;gap:.8rem;width:280px;padding:1rem;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 16px 40px -12px #00000040}.media-menu label{gap:.3rem;font-size:.8rem;font-weight:500;display:grid}.media-menu select{border:1px solid var(--line-strong);width:100%;height:36px;font:inherit;background:var(--bg);border-radius:10px;padding:0 .5rem;font-size:.85rem}.media-error{z-index:39;background:var(--danger-soft);width:300px;color:var(--danger);border:1px solid #f5c2bd;border-radius:12px;padding:.8rem 1rem;font-size:.8rem;position:absolute;bottom:calc(100% + 8px);right:0}.media-error .btn-link{color:var(--danger);margin-top:.4rem;text-decoration:underline;display:block}@media (width<=860px){.video-side.open{width:200px}}.media-error{padding-right:2.2rem}.media-error-close{width:24px;height:24px;color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:1.1rem;line-height:1;position:absolute;top:6px;right:8px}.media-error-close:hover{background:#d92d201a}.call-join{gap:8px;padding:4px 12px 10px;display:grid}.call-join p{color:var(--ink-2);margin:0;font-size:.8rem}.call-join .btn svg{width:16px;height:16px}.call-join .btn-primary{gap:6px}.device-selects{gap:8px;padding-top:2px;display:grid}.device-selects label{gap:4px;font-size:.75rem;font-weight:500;display:grid}.device-selects select{border:1px solid var(--line-strong);width:100%;height:32px;font:inherit;background:var(--bg);border-radius:8px;padding:0 .4rem;font-size:.8rem}.mic-level{background:var(--bg-subtle);border-radius:3px;height:6px;margin-top:-2px;overflow:hidden}.mic-level span{background:#16a34a;border-radius:3px;width:0;height:100%;transition:width 60ms linear;display:block}.media-menu .device-selects{padding:0}.side-media{align-items:center;gap:6px}.leave-call{color:var(--danger);margin-left:auto}.in-call-icon{color:#16a34a;display:inline-grid}.in-call-icon svg{width:13px;height:13px}.mini-incall{border:2px solid var(--bg);background:#16a34a;border-radius:50%;width:9px;height:9px;position:absolute;top:-3px;left:-3px}.video-side>.media-controls .media-error{width:auto;margin:0 8px 8px;position:static}.sound-btn.compact{border-radius:50%;width:36px;height:36px;margin:0 auto 8px;padding:0}.sound-btn.compact svg{width:16px;height:16px}.side-media .media-menu-wrap{position:static}.device-selects,.device-selects label,.media-menu label{min-width:0}.device-selects select,.media-menu select{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.reading-icon{color:var(--ink);display:inline-grid}.reading-icon svg{width:13px;height:13px}.mini-reading{background:var(--bg);border:1px solid var(--ink);width:15px;height:15px;color:var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;top:-5px;right:-6px}.mini-reading svg{width:9px;height:9px}.call-timer{font-variant-numeric:tabular-nums;color:var(--ink);align-items:center;gap:5px;margin-left:8px;font-size:.75rem;display:inline-flex}.call-timer-dot{background:#16a34a;border-radius:50%;width:7px;height:7px}.mini-timer .call-timer{flex-direction:column;gap:2px;margin:0;font-size:.6rem}.side-head .label{align-items:center;display:inline-flex}
