:root{--blue: #0071e3;--blue-hover: #0077ed;--blue-dark: #0a84ff;--red: #ff3b30;--red-dark: #ff453a;--green: #34c759;--green-dark: #30d158;--orange: #ff9f0a;--yellow: #ffd60a;--label: #1d1d1f;--label-2: #6e6e73;--label-3: #86868b;--fill: rgba(120, 120, 128, .12);--fill-2: rgba(120, 120, 128, .2);--separator: rgba(60, 60, 67, .14);--bg: #f5f5f7;--d-bg: #000;--d-elev: #1c1c1e;--d-elev-2: #2c2c2e;--d-elev-3: #3a3a3c;--d-label: #f5f5f7;--d-label-2: rgba(235, 235, 245, .62);--d-label-3: rgba(235, 235, 245, .34);--d-sep: rgba(84, 84, 88, .5);--glass: rgba(30, 30, 32, .68);--glass-light: rgba(255, 255, 255, .72);--blur: saturate(180%) blur(24px);--r-sm: 10px;--r: 14px;--r-lg: 20px;--r-xl: 28px;--ease: cubic-bezier(.25, .1, .25, 1);--spring: cubic-bezier(.32, .72, 0, 1);--bounce: cubic-bezier(.34, 1.56, .64, 1);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Helvetica Neue,Inter,Segoe UI,Roboto,sans-serif;font-size:15px;letter-spacing:-.01em;color:var(--label);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden;overflow-x:clip;max-width:100%}#root{max-width:100%}img,video,canvas,svg{max-width:100%}.room{height:100dvh}button{font:inherit;letter-spacing:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.4}h1,h2,h3{margin:0;letter-spacing:-.02em}.muted{color:var(--label-2)}.small{font-size:12.5px}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.hidden{visibility:hidden}.mirror{transform:scaleX(-1)}:focus-visible{outline:3px solid rgba(0,125,250,.6);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}input,textarea,select{font:inherit;letter-spacing:inherit;width:100%;padding:11px 14px;border:1px solid transparent;border-radius:12px;background:var(--fill);color:var(--label);outline:none;transition:background .2s var(--ease),box-shadow .2s var(--ease)}input::placeholder,textarea::placeholder{color:var(--label-3)}input:focus,textarea:focus,select:focus{background:#fff;box-shadow:0 0 0 4px #0071e338,inset 0 0 0 1px var(--blue)}textarea{resize:none;line-height:1.4}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2386868b' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 22px;border:0;border-radius:980px;background:var(--fill);color:var(--label);font-size:15px;font-weight:500;transition:background .2s var(--ease),transform .12s var(--ease)}.btn:hover:not(:disabled){background:var(--fill-2)}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover:not(:disabled){background:var(--blue-hover)}.btn.danger{background:var(--red);color:#fff}.btn.danger:hover{background:#ff4d42}.btn.ghost{background:transparent;color:var(--blue)}.btn.ghost:hover:not(:disabled){background:#0071e314}.btn.small{min-height:32px;padding:0 14px;font-size:13px}.btn.icon{padding:0;width:40px;min-height:40px;height:40px;flex:none}.mini{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--label-3);transition:background .15s,color .15s}.mini:hover{background:var(--fill);color:var(--label)}.mini.active{color:#fff;background:var(--blue)}.mini.danger:hover{color:#fff;background:var(--red)}.pill{display:inline-flex;align-items:center;gap:4px;margin-left:6px;vertical-align:middle;padding:2px 8px;border-radius:980px;font-size:11px;font-weight:600;background:#0071e31f;color:var(--blue)}.error{color:var(--red);font-size:14px;text-align:center}.warn{background:#ff9f0a24;color:#b25000;padding:10px 14px;border-radius:12px;font-size:13px}.empty{color:var(--label-3);font-size:13.5px;padding:28px 12px;line-height:1.55;text-align:center}.toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400}.toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;position:relative;cursor:pointer;width:51px;height:31px;padding:0;border-radius:31px;background:var(--fill-2);transition:background .25s var(--ease);box-shadow:none}.toggle input:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029;transition:transform .25s var(--ease)}.toggle input:checked{background:var(--green)}.toggle input:checked:after{transform:translate(20px)}.toggle input:focus{box-shadow:none}.toggle.small input{width:38px;height:23px}.toggle.small input:after{width:19px;height:19px}.toggle.small input:checked:after{transform:translate(15px)}.home{min-height:100%;background:var(--bg);overflow-x:clip}.home-head{position:sticky;top:0;z-index:10;height:52px;padding:0 max(22px,calc(50% - 540px));display:flex;align-items:center;background:#f5f5f7cc;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-bottom:1px solid var(--separator)}.logo{display:flex;align-items:center;gap:9px;font-weight:600;font-size:17px;letter-spacing:-.02em}.logo-mark{display:block;flex:none;border-radius:23%;filter:drop-shadow(0 2px 6px rgba(255,77,125,.35));transition:transform .35s var(--bounce)}.logo:hover .logo-mark{transform:rotate(-8deg) scale(1.06)}.logo-mark .logo-sparkle{transform-origin:47.5px 13.5px;animation:sparkle 3.2s var(--ease) infinite}@keyframes sparkle{0%,70%,to{transform:scale(1);opacity:.95}80%{transform:scale(1.5) rotate(45deg);opacity:1}90%{transform:scale(.8);opacity:.7}}.home-main{max-width:1080px;margin:0 auto;padding:96px 22px 120px;display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:start}.home-hero h1{font-size:64px;line-height:1.04;font-weight:700;letter-spacing:-.035em}.home-hero h1 em{font-style:normal;background:linear-gradient(90deg,#0071e3,#8e44ec 55%,#e5447a);-webkit-background-clip:text;background-clip:text;color:transparent}.home-hero p{font-size:21px;line-height:1.45;color:var(--label-2);margin:24px 0 32px;letter-spacing:-.015em}.home-features{list-style:none;padding:0;margin:0;display:grid;gap:14px}.home-features li{display:flex;gap:12px;align-items:center;font-size:17px}.home-features svg{flex:none;box-sizing:content-box;padding:7px;border-radius:9px;color:var(--blue);background:#0071e31a}.home-cards{display:grid;gap:18px}.card{display:grid;gap:16px;padding:28px;background:#fff;border-radius:var(--r-lg);box-shadow:0 2px 6px #00000008,0 12px 40px #0000000f}.card h2{font-size:24px;font-weight:600}.card label{display:grid;gap:8px;font-size:13px;font-weight:500;color:var(--label-2)}.card .btn{width:100%}.card.center{text-align:center;justify-items:center;max-width:420px;padding:40px}.card.center .btn{width:auto}.prejoin{min-height:100%;display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;padding:40px;background:var(--bg)}.prejoin-preview{position:relative;width:min(680px,100%);aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--r-xl);background:#000;box-shadow:0 30px 80px #00000038}.prejoin-preview video{width:100%;height:100%;object-fit:cover}.preview-off{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--d-label-2);font-size:17px}.preview-controls{position:absolute;bottom:18px;left:0;right:0;display:flex;justify-content:center;gap:14px}.round{width:52px;height:52px;border:0;border-radius:50%;display:grid;place-items:center;background:#3c3c438c;color:#fff;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);transition:background .2s var(--ease),transform .12s}.round:active{transform:scale(.94)}.round.off{background:#fff;color:#1d1d1f}.prejoin-form{width:380px}.prejoin-form h2{font-size:28px}.room{--pw: 0px;height:100%;display:grid;overflow:hidden;background:var(--d-bg);color:var(--d-label);grid-template-columns:minmax(0,1fr) var(--pw);grid-template-rows:60px 1fr 96px;grid-template-areas:"top top" "stage panel" "controls panel";transition:grid-template-columns .46s var(--spring);animation:fade .45s var(--ease)}.room.with-panel{--pw: 380px}.room .muted,.viewer .muted{color:var(--d-label-2)}.room input,.viewer input,.room textarea,.viewer textarea,.room select,.viewer select{background:#7676803d;color:var(--d-label)}.room input::placeholder,.viewer input::placeholder,.room textarea::placeholder,.viewer textarea::placeholder{color:var(--d-label-3)}.room input:focus,.viewer input:focus,.room textarea:focus,.viewer textarea:focus,.room select:focus,.viewer select:focus{background:#7676804d;box-shadow:0 0 0 4px #0a84ff4d,inset 0 0 0 1px var(--blue-dark)}.room .btn,.viewer .btn{background:#7676803d;color:var(--d-label)}.room .btn:hover:not(:disabled),.viewer .btn:hover:not(:disabled){background:#7676805c}.room .btn.primary,.viewer .btn.primary{background:var(--blue-dark);color:#fff}.room .btn.primary:hover:not(:disabled),.viewer .btn.primary:hover:not(:disabled){background:#3395ff}.room .btn.danger,.viewer .btn.danger{background:var(--red-dark)}.room .btn.danger:hover:not(:disabled),.viewer .btn.danger:hover:not(:disabled){background:#ff5a50}.room .btn.ghost,.viewer .btn.ghost{background:transparent;color:var(--blue-dark)}.room .btn.ghost:hover:not(:disabled),.viewer .btn.ghost:hover:not(:disabled){background:#0a84ff24}.room .mini,.viewer .mini{color:var(--d-label-3)}.room .mini:hover,.viewer .mini:hover{background:#7676803d;color:var(--d-label)}.room .mini.active,.viewer .mini.active{background:var(--blue-dark);color:#fff}.room .pill,.viewer .pill{background:#0a84ff33;color:#64b0ff}.topbar{grid-area:top;min-width:0;display:flex;align-items:center;gap:14px;padding:0 20px}.room-title{display:flex;flex-direction:column;min-width:0;line-height:1.25}.room-title b{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{margin-left:auto;flex:none;display:flex;gap:6px;align-items:center}.topbar .btn.ghost{color:var(--d-label);background:#76768033}.topbar .btn.ghost:hover{background:#76768052}.pill.warn{margin:0;padding:6px 12px;font-size:12px;background:#ff9f0a2e!important;color:var(--orange)!important}.timer-slot{flex:1}.topbar.has-tools .timer-slot{display:none}.topbar.has-tools .timer{flex:none;max-width:200px;margin:0}.topbar.has-tools .timer-label{display:none}.topbar.has-tools .room-title{flex:none;max-width:220px}.topbar-tools{flex:1;min-width:0;display:flex;justify-content:center}.topbar-tools .board-toolbar{flex-wrap:nowrap;justify-content:flex-start;max-width:100%;overflow-x:auto;scrollbar-width:none;padding:3px 4px;border-radius:14px;gap:4px}.topbar-tools .board-toolbar::-webkit-scrollbar{display:none}.topbar-tools .tb-group{flex:none}.topbar-tools .tb-btn{min-width:32px;height:32px}.topbar-tools .swatch{width:22px;height:22px}.topbar-tools .board-toolbar select{height:32px}.timer{position:relative;overflow:hidden;flex:1;max-width:340px;margin:0 auto;display:flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:980px;background:var(--d-elev);font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 .5px #ffffff14}.timer svg{color:var(--orange)}.timer-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--d-label-2);font-size:13px}.timer b{font-size:17px;font-weight:600;letter-spacing:0}.timer-bar{position:absolute;left:0;bottom:0;height:2px;background:var(--orange);transition:width .25s linear}.timer.soon{background:#ff9f0a38}.timer.soon b{color:var(--orange)}.timer.done{background:var(--red-dark);animation:pulse 1s var(--ease) 4}.timer.done svg,.timer.done .timer-label{color:#fff}@keyframes pulse{50%{transform:scale(1.04)}}.stage{grid-area:stage;position:relative;display:flex;flex-direction:column;gap:10px;padding:4px 16px 0;min-height:0;min-width:0}.banner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:5;padding:8px 16px;border-radius:980px;font-size:13px;font-weight:500;background:var(--glass);color:var(--d-label);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.grid{flex:1;display:grid;gap:10px;min-height:0;align-content:center}.grid.n1{grid-template-columns:minmax(0,1100px);justify-content:center}.grid.n2,.grid.n3,.grid.n4{grid-template-columns:repeat(2,1fr)}.grid.n5,.grid.n6,.grid.n7,.grid.n8,.grid.n9{grid-template-columns:repeat(3,1fr)}.grid .tile{aspect-ratio:16 / 9;max-height:100%}.grid.n3 .tile,.grid.n4 .tile,.grid.n5 .tile,.grid.n6 .tile{max-height:calc((100vh - 190px)/2);justify-self:center;width:100%}.grid.n7 .tile,.grid.n8 .tile,.grid.n9 .tile{max-height:calc((100vh - 200px) / 3)}.stage-focus{flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center}.stage-focus .tile{width:100%;height:100%}.strip{display:flex;gap:10px;overflow-x:auto;flex:none;height:116px;scrollbar-width:none}.strip .tile{flex:none;width:196px;height:110px;border-radius:var(--r)}.stage.with-strip{flex-direction:row;padding-bottom:4px}.stage.with-strip .strip{flex-direction:column;height:auto;width:188px;overflow-x:hidden;overflow-y:auto}.stage.with-strip .strip .tile{width:188px;height:106px}.tile{position:relative;overflow:hidden;border-radius:var(--r-lg);background:linear-gradient(160deg,#2c2c2e,#1c1c1e);box-shadow:0 0 0 0 transparent;transition:box-shadow .2s var(--ease)}.tile.speaking{box-shadow:inset 0 0 0 3px var(--green-dark),0 0 24px #30d15840}.tile video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.tile.sharing video,.tile.big video{object-fit:contain}.avatar{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:36px;font-weight:500;letter-spacing:0;background-image:linear-gradient(180deg,#ffffff38,#0000001f)!important;background-color:#636366}.strip .avatar{width:52px;height:52px;font-size:20px}.avatar.small{position:static;width:38px;height:38px;font-size:15px;flex:none;margin:0}.tile-label{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:5px 11px 5px 8px;border-radius:980px;font-size:13px;font-weight:500;background:#1e1e208c;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.tile-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mic-dot{display:inline-grid;place-items:center;color:var(--red-dark)}.mic-dot.on{color:var(--d-label)}.badge.teacher{color:var(--yellow);display:inline-grid}.tile-hand{position:absolute;top:10px;left:10px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-size:22px;background:#ffffffe6;box-shadow:0 4px 14px #0000004d;animation:hand-pop .45s var(--bounce),wave 1.2s var(--ease) .45s infinite}@keyframes wave{50%{transform:rotate(14deg)}}.tile-pin{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;opacity:0;background:#1e1e208c;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);transition:opacity .2s var(--ease)}.tile:hover .tile-pin,.tile-pin.active{opacity:1}.tile-pin.active{background:var(--blue-dark)}.panel{grid-area:panel;display:flex;flex-direction:column;min-height:0;margin:0 12px 12px 0;width:368px;justify-self:start;border-radius:var(--r-lg);color:var(--d-label);background:var(--d-elev);box-shadow:inset 0 0 0 .5px #ffffff14;overflow:hidden;opacity:0;transform:translate(28px) scale(.98);transform-origin:right center;transition:opacity .28s var(--ease),transform .46s var(--spring)}.panel.is-open{opacity:1;transform:none}.panel-content{flex:1;min-height:0;display:flex;flex-direction:column;animation:content-in .32s var(--spring)}.panel-title{animation:content-in .32s var(--spring)}.panel .muted{color:var(--d-label-2)}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:16px 12px 12px 20px}.panel-head b{font-size:20px;font-weight:700;letter-spacing:-.02em}.panel-body{flex:1;min-height:0;overflow-y:auto;padding:4px 16px 16px;display:flex;flex-direction:column;gap:10px}.panel .empty{color:var(--d-label-3)}.chat{padding:0;gap:0;overflow:hidden}.chat-list{flex:1;overflow-y:auto;padding:4px 16px 12px;display:flex;flex-direction:column;gap:10px}.chat-input{display:flex;gap:8px;padding:10px 12px 12px;align-items:flex-end;border-top:.5px solid var(--d-sep)}.chat-input textarea{border-radius:20px;padding:10px 16px}.chat-input .btn.icon{border-radius:50%}.msg{align-self:flex-start;max-width:92%;padding:9px 14px 10px;border-radius:20px 20px 20px 6px;background:var(--d-elev-2);font-size:15px;line-height:1.38}.msg.mine{align-self:flex-end;background:var(--blue-dark);color:#fff;border-radius:20px 20px 6px}.msg.mine .muted,.msg.mine .mini{color:#ffffffb3}.msg.from-teacher:not(.mine){box-shadow:inset 0 0 0 1px #ffd60a59}.msg-head{display:flex;align-items:center;gap:6px;margin-bottom:2px;font-size:12px}.msg-head b{font-weight:600}.msg-head .pill{margin-left:0}.msg-actions{margin-left:auto;display:flex;gap:0;opacity:0;transition:opacity .15s}.msg:hover .msg-actions,.vocab-card:hover .msg-actions{opacity:1}.msg-text{white-space:pre-wrap;word-break:break-word}.msg-corrected .wrong{text-decoration:line-through;text-decoration-color:var(--red-dark);opacity:.55;white-space:pre-wrap}.msg-corrected .right{color:var(--green-dark);font-weight:600;white-space:pre-wrap}.msg.mine .msg-corrected .right{color:#c8ffd4}.msg-corrected .note{font-size:13px;opacity:.8;margin-top:4px}.msg-edit{display:grid;gap:8px;margin-top:10px}.vocab-form{display:grid;gap:8px;padding:14px;border-radius:var(--r);background:var(--d-elev-2)}.vocab-form .narrow{width:140px;flex:none}.vocab-form .btn{width:100%}.vocab-bar{display:flex;align-items:center;gap:10px;padding:4px 0;white-space:nowrap}.vocab-bar .toggle{margin-left:auto;color:var(--d-label-2)}.vocab-list{display:grid;gap:8px}.vocab-card{padding:12px 14px;border-radius:var(--r);background:var(--d-elev-2);transition:box-shadow .35s var(--ease),background .35s var(--ease)}.vocab-card.lit{background:#ffd60a24;box-shadow:inset 0 0 0 1.5px var(--yellow),0 0 30px #ffd60a26}.vocab-top{display:flex;align-items:center;gap:6px}.vocab-top .mini:first-child{color:var(--blue-dark)}.vocab-word{font-size:18px;font-weight:600;letter-spacing:-.02em}.vocab-tr{margin:2px 0 0 34px;color:var(--d-label-2)}.hidden-tr{border:0;border-radius:980px;padding:3px 10px;font-size:12px;background:#7676803d;color:var(--d-label-2)}.vocab-example{display:flex;gap:4px;align-items:flex-start;margin:8px 0 0 6px;color:var(--d-label-2);font-size:14px}.people{gap:0}.people-bar{display:flex;justify-content:space-between;align-items:center;min-height:36px;margin-bottom:6px}.person{display:flex;align-items:center;gap:12px;padding:10px 12px;flex-wrap:wrap;background:var(--d-elev-2);border-bottom:.5px solid var(--d-sep)}.people-bar+.person{border-top-left-radius:var(--r);border-top-right-radius:var(--r)}.person:last-child{border-bottom:0;border-bottom-left-radius:var(--r);border-bottom-right-radius:var(--r)}.person.with-hand{background:#ffd60a1f}.person-info{flex:1;min-width:0}.person-name{font-weight:500;font-size:15px}.person-actions{display:flex;gap:4px;align-items:center;width:100%;padding-left:50px}.people .mic-dot{color:var(--red-dark)}.people .mic-dot.on{color:var(--green-dark)}.tools{gap:12px}.tools section{display:grid;gap:10px;padding:16px;border-radius:var(--r);background:var(--d-elev-2)}.tools h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--d-label-2)}.tools p{margin:0;line-height:1.45}.tools .narrow{width:72px}.tools .toggle{justify-content:space-between;flex-direction:row-reverse}.seg{--n: 2;position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);padding:2px;border-radius:9px;background:#7676803d}.seg:before{content:"";position:absolute;top:2px;bottom:2px;left:2px;width:calc((100% - 4px) / var(--n));border-radius:7px;transform:translate(calc(100% * var(--i, 0)));background:#636366;box-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a;transition:transform .36s var(--spring)}.seg[data-i="1"]:before{transform:translate(100%)}.seg button{position:relative;z-index:1;border:0;padding:7px;border-radius:7px;background:transparent;color:var(--d-label);font-size:13px;font-weight:500;transition:font-weight .2s}.seg button.active{font-weight:600}.controls{grid-area:controls;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 16px}.controls-group{display:flex;gap:2px;align-items:center;padding:8px 10px;border-radius:26px;background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:inset 0 0 0 .5px #ffffff1a,0 10px 30px #00000059}.controls-group:last-child{padding:8px}.ctl{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:64px;padding:0 4px;border:0;background:transparent;color:var(--d-label)}.ctl-icon{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#76768052;transition:background .2s var(--ease),color .2s,transform .12s}.ctl:hover:not(:disabled) .ctl-icon{background:#7676807a}.ctl:active:not(:disabled) .ctl-icon{transform:scale(.92)}.ctl-label{font-size:11px;color:var(--d-label-2);white-space:nowrap}.ctl.off .ctl-icon{background:#fff;color:#1d1d1f}.ctl.active .ctl-icon{background:var(--blue-dark);color:#fff}.ctl.active .ctl-label{color:var(--d-label)}.ctl-badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:grid;place-items:center;background:var(--red-dark);color:#fff;font-size:11px;font-weight:600;box-shadow:0 0 0 2px #1c1c1e}.controls .btn.danger{min-height:44px;padding:0 20px;gap:8px}.toasts{position:fixed;top:14px;left:50%;transform:translate(-50%);display:grid;gap:8px;z-index:50;justify-items:center}.toast{max-width:80vw;padding:12px 20px;border-radius:980px;font-size:14px;font-weight:500;word-break:break-word;background:#000000db;color:#fff;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:0 0 0 .5px #ffffff24,0 14px 40px #00000073;animation:drop .4s cubic-bezier(.32,1.4,.5,1)}.toast.floor{box-shadow:inset 0 0 0 1px #30d15899,0 14px 40px #00000073}.toast.error,.toast.mute{box-shadow:inset 0 0 0 1px #ff453a99,0 14px 40px #00000073}@keyframes drop{0%{transform:translateY(-14px) scale(.92);opacity:0}}.toast.leaving{animation:toast-out .3s var(--ease) forwards}@keyframes toast-out{to{transform:translateY(-10px) scale(.94);opacity:0}}.board{width:100%;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:0}.board-toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:center;padding:6px 8px;border-radius:18px;background:var(--d-elev);box-shadow:inset 0 0 0 .5px #ffffff14}.tb-group{display:flex;gap:2px;align-items:center;padding:0 6px;border-right:.5px solid var(--d-sep)}.tb-group:last-child{border-right:0}.tb-btn{position:relative;display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;gap:6px;border:0;border-radius:10px;background:transparent;color:var(--d-label);transition:background .15s var(--ease)}.tb-btn.wide{display:flex;font-size:13px;font-weight:500;padding:0 12px}.tb-btn:hover:not(:disabled){background:#7676803d}.tb-btn.active{background:var(--blue-dark);color:#fff}.tb-btn[data-confirm]{display:flex;gap:6px;padding:0 10px;background:var(--red-dark)!important;color:#fff}.tb-btn[data-confirm]:after{content:attr(data-confirm);white-space:nowrap;font-size:12.5px;font-weight:600}.tb-btn .dot{display:block;border-radius:50%;background:currentColor}.swatch{width:24px;height:24px;margin:0 2px;padding:0;border:0;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff2e;transition:transform .15s var(--ease)}.swatch:hover:not(:disabled){transform:scale(1.12)}.swatch.active{box-shadow:0 0 0 2px var(--d-elev),0 0 0 4px #fff}.board-toolbar select{width:auto;height:34px;padding:0 30px 0 12px;border-radius:10px;font-size:13px}.board-wrap{flex:1;width:100%;min-height:0;position:relative;overflow:hidden;border-radius:var(--r-lg);background:#fff;box-shadow:0 20px 60px #00000080}.board-wrap canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;display:block}.cursor-pen,.cursor-marker,.cursor-shape{cursor:crosshair}.cursor-text{cursor:text}.cursor-sticky{cursor:copy}.cursor-select{cursor:default}.cursor-eraser{cursor:cell}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.tb-popover-anchor{position:relative}.tb-btn.with-caret{padding:0 14px 0 8px}.caret{position:absolute;right:3px;bottom:6px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.7}.tb-popover{position:fixed;z-index:30;margin-top:6px;padding:6px;display:grid;gap:2px;min-width:190px;border-radius:14px;background:#2c2c2eeb;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:0 0 0 .5px #ffffff1f,0 16px 40px #00000073;opacity:0;transform:translateY(-6px) scale(.95);transform-origin:top left;transition:opacity .18s var(--ease),transform .28s var(--spring)}.tb-popover.is-open{opacity:1;transform:none}.tb-popover .tb-btn{display:flex;justify-content:flex-start;gap:10px;width:100%;padding:0 10px;font-size:14px;font-weight:500}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(-4px)}}.sel-actions{position:absolute;z-index:5;transform:translate(-50%);display:flex;gap:2px;padding:4px;border-radius:12px;background:#1c1c1ee6;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:0 8px 24px #0000004d;animation:pop .16s var(--ease)}.sel-actions button{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:#fff;font-size:13px;font-weight:500;white-space:nowrap}.sel-actions button:hover{background:#ffffff24}.sel-actions button.danger{color:#ff6961}.zoom-controls{position:absolute;right:12px;bottom:12px;z-index:4;display:flex;align-items:center;padding:3px;border-radius:12px;background:#ffffffdb;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:0 0 0 .5px #0000001f,0 6px 20px #0000001f}.zoom-controls button{display:grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border:0;border-radius:9px;background:transparent;color:#1d1d1f}.zoom-controls button:hover{background:#0000000f}.zoom-value{font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;min-width:50px!important}.board-text-input{position:absolute;z-index:4;padding:0;margin:-4px 0 0 -6px;border-radius:6px;resize:none;overflow:hidden;white-space:pre;field-sizing:content;background:#007aff0f!important;border:0!important;box-shadow:0 0 0 2px var(--blue-dark)!important;outline:none;font-family:SF Pro Text,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-weight:600;padding:4px 6px!important}.board-locked{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:6px;pointer-events:none;padding:6px 12px;border-radius:980px;font-size:12.5px;font-weight:500;background:#1e1e20b8;color:#fff;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.panel-body::-webkit-scrollbar,.chat-list::-webkit-scrollbar{width:8px}.panel-body::-webkit-scrollbar-thumb,.chat-list::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:8px;border:2px solid transparent;background-clip:content-box}.splash{height:100%;display:grid;place-items:center;background:var(--bg)}.splash .logo-mark{animation:heartbeat 1.2s var(--ease) infinite}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(.98)}45%{transform:scale(1.08)}}.auth{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:calc(32px + env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom));background:radial-gradient(1100px 520px at 50% -10%,#e3ecff 0%,transparent 60%),var(--bg)}.auth-logo{font-size:22px;gap:10px;animation:fade-up .6s var(--spring) backwards}.auth-card{width:min(400px,100%);animation:fade-up .6s var(--spring) .06s backwards}.auth-card h2{font-size:28px}.auth-sub{margin:6px 0 0;line-height:1.45}.auth-card .btn{width:100%}.field-in{animation:content-in .3s var(--spring)}.center-text{text-align:center;margin:0;line-height:1.45}.success{background:#34c75924;color:#1c7c3a;padding:10px 14px;border-radius:12px;font-size:13px;animation:content-in .3s var(--spring)}.seg.light{background:var(--fill)}.seg.light:before{background:#fff;box-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a}.seg.light button{color:var(--label)}.home-head{justify-content:space-between}.account{position:relative}.account-btn{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 4px;border:0;border-radius:980px;background:var(--fill);color:var(--label);font-size:14px;font-weight:500;transition:background .2s var(--ease),transform .2s var(--bounce)}.account-btn:hover{background:var(--fill-2)}.account-btn:active{transform:scale(.96)}.account-btn .avatar.small{width:28px;height:28px;font-size:12px}.account-name{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:250px;padding:6px;display:grid;gap:2px;border-radius:14px;background:#ffffffeb;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:0 0 0 .5px #0000001f,0 16px 40px #00000029;opacity:0;transform:translateY(-6px) scale(.96);transform-origin:top right;transition:opacity .18s var(--ease),transform .28s var(--spring)}.account-menu.is-open{opacity:1;transform:none}.account-head{display:grid;gap:2px;padding:10px 12px 12px;border-bottom:.5px solid var(--separator);margin-bottom:4px}.account-head .pill{justify-self:start;margin:6px 0 0}.account-menu button{text-align:left;border:0;background:transparent;padding:9px 12px;border-radius:9px;font-size:14px;color:var(--label)}.account-menu button:hover{background:var(--fill)}.account-menu button.danger{color:var(--red)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:16px;background:#00000052;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .25s var(--ease)}.modal-backdrop.is-open{opacity:1}.modal{width:min(420px,100%);color:var(--label);text-align:left;opacity:0;transform:translateY(16px) scale(.97);transition:opacity .25s var(--ease),transform .4s var(--spring)}.modal.is-open{opacity:1;transform:none}.modal .row{justify-content:flex-end}.modal .row .btn{width:auto}.modal-sep{margin-top:6px;padding-top:14px;border-top:.5px solid var(--separator);font-size:13px;font-weight:600;color:var(--label-2)}.prejoin{position:relative}.prejoin-account{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;z-index:5}.prejoin-me{padding:12px 14px;border-radius:12px;background:var(--fill);font-size:14px}.students-head{display:flex;align-items:baseline;justify-content:space-between}.students-list{display:grid;gap:2px;max-height:420px;overflow-y:auto;margin:0 -8px}.student{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:12px;transition:background .2s var(--ease)}.student:hover{background:var(--fill)}.student .avatar.small{position:static}.student-info{flex:1;min-width:0;display:grid;gap:2px}.student-info b{font-weight:600;font-size:15px}.student-info .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-actions{display:flex;gap:4px;flex:none}.student-actions .btn{width:auto}.new-pass{display:flex;align-items:center;gap:6px;font-size:13px;margin-top:4px;animation:content-in .3s var(--spring)}.new-pass code{padding:2px 8px;border-radius:6px;background:#34c75929;color:#1c7c3a;font-size:14px;letter-spacing:.04em}@media (max-width: 768px){.student{flex-wrap:wrap}.student-actions{width:100%;padding-left:50px}.account-name{display:none}.account-btn{padding:0 4px}.prejoin-account{position:static;align-self:flex-end}}.dash{max-width:1080px;margin:0 auto;padding:56px 22px 96px;display:grid;gap:44px}.dash-hello h1{font-size:48px;line-height:1.05;font-weight:700;letter-spacing:-.035em}.dash-hello h1 em{font-style:normal;background:linear-gradient(90deg,#0071e3,#8e44ec 55%,#e5447a);-webkit-background-clip:text;background-clip:text;color:transparent}.dash-hello{display:grid;justify-items:center;text-align:center;padding-top:8px}.motivation{max-width:640px;margin:14px auto 0;padding:4px 12px;border:0;border-radius:12px;background:transparent;font-size:19px;line-height:1.45;color:var(--label-2);cursor:pointer;transition:color .2s var(--ease)}.motivation:hover{color:var(--label)}.motivation-text{display:inline-block;animation:content-in .45s var(--spring)}.dash-hello>*{animation:fade-up .6s var(--spring) backwards}.dash-hello .motivation{animation-delay:.06s}.section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.section-head h2{font-size:24px;font-weight:700}.section-head .muted{font-size:17px}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.class-card{display:flex;flex-direction:column;gap:10px;animation:fade-up .55s var(--spring) backwards}.class-card .class-actions{margin-top:auto;padding-top:4px}.class-card:hover{transform:translateY(-3px);box-shadow:0 2px 6px #0000000a,0 20px 50px #00000017}.class-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.class-top h3{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.25;overflow-wrap:anywhere}.live-dot{flex:none;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:980px;background:#34c75924;color:#1c7c3a;font-size:12px;font-weight:600}.live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 1.6s var(--ease) infinite}.avatar-stack{display:flex;padding-left:6px}.avatar-stack .avatar.small{position:static;width:30px;height:30px;font-size:12px;margin:0 0 0 -6px;box-shadow:0 0 0 2px #fff}.avatar-stack .more{background:var(--fill-2)!important;color:var(--label);font-weight:600}.class-requests{justify-self:start;border:0;padding:5px 12px;border-radius:980px;font-size:13px;font-weight:600;background:#ff9f0a29;color:#b25000;animation:content-in .4s var(--spring)}.class-actions{display:flex;flex-wrap:wrap;gap:8px}.class-actions .btn,.class-new-form .btn{width:auto}.class-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:168px;border:1.5px dashed rgba(0,113,227,.35);background:#0071e30a;color:var(--blue);font-size:16px;font-weight:600;box-shadow:none;cursor:pointer;animation:fade-up .55s var(--spring) backwards}.class-new:hover{background:#0071e314;transform:translateY(-2px)}.class-new-plus{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--blue);color:#fff}.class-new-form{align-content:start;animation:stage-in .3s var(--spring)}.class-new-form .row{justify-content:flex-end}.class-empty{grid-column:1 / -1;justify-items:center;text-align:center;color:var(--label-2);padding:40px 24px}.class-empty p{max-width:460px;margin:0;line-height:1.5}.modal.wide{width:min(560px,100%);max-height:min(86vh,860px);overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal .students-list{max-height:none;overflow:visible}.rename input{flex:1}.rename .btn{width:auto;flex:none}.link-btn{justify-self:start;width:auto!important;padding:0 4px!important}.danger-zone{display:flex;justify-content:flex-start}.danger-text{color:var(--red)!important}.danger-zone .btn{width:auto}.gate{gap:14px}.gate p{max-width:380px;line-height:1.5;margin:0}.gate-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--fill);color:var(--label-2)}@media (max-width: 768px){.dash{padding:28px 16px calc(56px + env(safe-area-inset-bottom));gap:32px}.dash-hello h1{font-size:34px}.motivation{font-size:16px}.class-grid{grid-template-columns:1fr}.rename{flex-wrap:wrap}}.dots{position:relative;flex:none}.dots-btn{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--label-2);transition:background .2s var(--ease),color .2s,transform .2s var(--bounce)}.dots-btn:hover,.dots-btn.active{background:var(--fill);color:var(--label)}.dots-btn:active{transform:scale(.9)}.dots-menu{min-width:220px}.students .students-list{max-height:none;overflow:visible}.dots-menu button{display:flex;align-items:center;gap:10px}.confirm{display:grid;gap:14px}.confirm p{margin:0;line-height:1.5}.confirm-who{padding:10px 12px;background:var(--fill)}.confirm-who:hover{background:var(--fill)}.confirm-actions{justify-content:flex-end}.confirm-actions .btn{width:auto}.new-pass.big{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;background:#34c7591f;margin:0}.new-pass.big code{background:transparent;padding:0;font-size:22px;font-weight:600;letter-spacing:.06em}.new-pass.big .btn{width:auto}.class-top .dots{margin:-6px -8px 0 auto}.class-card:has(.dots-menu){position:relative;z-index:5}.class-top .live-dot+.dots{margin-left:0}.class-actions{flex-wrap:nowrap}.btn.enter{flex:1;min-height:46px;gap:8px;font-size:15px;font-weight:600;color:#fff;background:var(--blue);box-shadow:0 2px 8px #0071e32e;transition:transform .2s var(--bounce),box-shadow .25s var(--ease),background .2s var(--ease)}.btn.enter:hover:not(:disabled){background:#0077ed;box-shadow:0 4px 14px #0071e342}.btn.enter:active:not(:disabled){transform:scale(.97)}.btn.enter.live{background:#28b463;box-shadow:0 2px 8px #28b46338;animation:enter-glow 2.4s var(--ease) infinite}.btn.enter.live:hover:not(:disabled){background:#2fc06b;box-shadow:0 4px 14px #28b4634d}@keyframes enter-glow{50%{box-shadow:0 2px 14px #28b46361}}.btn.view-btn{flex:none;min-height:46px;padding:0 16px;gap:6px;font-size:14px}.copied-pill{align-self:flex-start;padding:4px 12px;border-radius:980px;font-size:12.5px;font-weight:600;background:#34c75924;color:#1c7c3a;animation:badge-pop .4s var(--bounce)}.rec-glyph{width:16px;height:16px;border-radius:50%;background:var(--red, #ff3b30);box-shadow:0 0 0 2.5px #ffffffe6;transition:border-radius .3s var(--spring),width .3s var(--spring),height .3s var(--spring)}.rec-ctl.recording .ctl-icon{background:#ff3b302e;box-shadow:inset 0 0 0 1.5px #ff453ab3}.rec-ctl.recording .rec-glyph{width:14px;height:14px;border-radius:4px;box-shadow:none;background:#ff453a;animation:rec-breathe 1.6s ease-in-out infinite}.rec-ctl.recording .ctl-label{color:#ff453a;font-variant-numeric:tabular-nums;font-weight:600}.room .pill.rec-pill{margin:0;padding:6px 12px;font-size:12px;display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:600;letter-spacing:.02em;background:#ff3b3029;box-shadow:inset 0 0 0 .5px #ff453a80;animation:content-in .4s var(--spring) both}.rec-pill b{font-weight:600;font-variant-numeric:tabular-nums;color:#ffffffd9}.rec-dot{width:8px;height:8px;border-radius:50%;background:#ff453a;animation:rec-blink 1.2s ease-in-out infinite}.toast.record{box-shadow:inset 3px 0 #ff453a,0 10px 30px #00000059}@keyframes rec-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes rec-breathe{0%,to{transform:scale(1)}50%{transform:scale(.82)}}.share-anchor{position:relative;display:flex}.share-menu{position:absolute;z-index:30;bottom:calc(100% + 22px);left:50%;width:430px;padding:16px;display:grid;gap:14px;border-radius:22px;color:var(--d-label);background:#242426eb;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:0 0 0 .5px #ffffff1f,0 24px 60px #0000008c;opacity:0;transform:translate(-50%,10px) scale(.96);transform-origin:50% 100%;transition:opacity .2s var(--ease),transform .34s var(--spring)}.share-menu.is-open{opacity:1;transform:translate(-50%) scale(1)}.share-menu .muted{color:var(--d-label-2)}.share-head{display:grid;gap:2px}.share-head b{font-size:17px}.share-sources{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.share-source{display:grid;justify-items:center;gap:4px;padding:14px 8px 12px;border:0;border-radius:16px;background:#76768033;color:var(--d-label);text-align:center;font-size:13px;transition:background .2s var(--ease),transform .25s var(--bounce),box-shadow .2s}.share-source:hover{background:#76768057;transform:translateY(-2px)}.share-source:active{transform:scale(.96)}.share-source.current{box-shadow:inset 0 0 0 2px var(--blue-dark)}.share-source b{font-size:14px;font-weight:600}.share-source .muted{font-size:11.5px;line-height:1.3}.share-source-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:4px;border-radius:14px;background:linear-gradient(180deg,#3d95ff,#0a6ff0);color:#fff;box-shadow:0 6px 16px #0a6ff059}.share-audio{justify-content:space-between;gap:14px;padding:12px 14px;border-radius:14px;background:#76768029}.share-audio>span{display:grid;gap:2px;text-align:left}.share-audio b{font-size:14px;font-weight:600}.share-audio.disabled{opacity:.6}.share-note{margin:-4px 0 0;text-align:center}.share-stop{width:100%}.avatar{overflow:hidden;-webkit-user-select:none;user-select:none}.avatar img{width:100%;height:100%;object-fit:cover;display:block;animation:fade .3s var(--ease)}.avatar.has-photo{background-image:none!important}.avatar.xl{position:static;width:96px;height:96px;font-size:38px;margin:0}.tile .avatar.has-photo{width:112px;height:112px;box-shadow:0 8px 30px #0006}.strip .tile .avatar.has-photo{width:56px;height:56px}.pip .avatar.has-photo{width:48px;height:48px}.profile-hero{display:grid;justify-items:center;gap:4px;text-align:center;padding-bottom:6px}.profile-photo{position:relative;border:0;padding:0;background:none;border-radius:50%;margin-bottom:8px;cursor:pointer}.profile-photo .avatar{box-shadow:0 6px 20px #0000001f;transition:transform .35s var(--bounce),filter .2s}.profile-photo:hover .avatar{transform:scale(1.04);filter:brightness(.94)}.profile-photo:active .avatar{transform:scale(.96)}.profile-photo-badge{position:absolute;right:0;bottom:2px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;box-shadow:0 0 0 3px #fff;transition:transform .3s var(--bounce)}.profile-photo:hover .profile-photo-badge{transform:scale(1.1)}.profile-name{font-size:22px;font-weight:700;letter-spacing:-.02em}.profile-photo-actions{justify-content:center;gap:2px;margin-top:4px}.profile-photo-actions .btn{width:auto;min-height:30px}.cropper{display:grid;justify-items:center;gap:18px;animation:stage-in .32s var(--spring)}.cropper-title{display:grid;gap:4px;text-align:center}.cropper-title b{font-size:20px;letter-spacing:-.02em}.cropper-frame{position:relative;overflow:hidden;border-radius:22px;background:#000;touch-action:none;cursor:grab;max-width:100%}.cropper-frame:active{cursor:grabbing}.cropper-frame img{position:absolute;left:0;top:0;max-width:none;-webkit-user-select:none;user-select:none;pointer-events:none;transform-origin:0 0}.cropper-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at center,transparent 0,transparent calc(50% - 1px),rgba(0,0,0,.55) 50%)}.cropper-mask:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffffe6}.cropper-zoom{display:flex;align-items:center;gap:12px;width:min(280px,100%)}.zoom-glyph{color:var(--label-2);font-size:20px;font-weight:300;width:14px;text-align:center}.zoom-glyph.small{font-size:16px}.cropper-zoom input[type=range]{flex:1;-moz-appearance:none;appearance:none;-webkit-appearance:none;height:4px;padding:0;border-radius:2px;background:var(--fill-2);box-shadow:none}.cropper-zoom input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 .5px 4px #0000001f,0 6px 13px #0000001f,0 0 0 .5px #0000000a}.cropper-zoom input[type=range]::-moz-range-thumb{width:26px;height:26px;border:0;border-radius:50%;background:#fff;box-shadow:0 .5px 4px #0000001f,0 6px 13px #0000001f}.cropper-actions{justify-content:space-between;width:min(280px,100%)}.cropper-actions .btn{width:auto}.sched-sub{margin:-4px 0 0;line-height:1.45}.slots{display:grid;gap:12px}.slot{display:grid;gap:14px;padding:16px;border-radius:16px;background:var(--fill);animation:stage-in .32s var(--spring)}.slot-head{display:flex;align-items:center;justify-content:space-between;min-height:20px}.slot-label{font-size:13px;font-weight:600;color:var(--label-2);text-transform:uppercase;letter-spacing:.02em}.day-chips{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day-chip{aspect-ratio:1;max-width:48px;width:100%;justify-self:center;border:0;border-radius:50%;background:#fff;color:var(--label);font-size:14px;font-weight:600;box-shadow:0 1px 2px #0000000f;transition:background .22s var(--ease),color .22s var(--ease),transform .3s var(--bounce),box-shadow .22s}.day-chip.weekend:not(.on){color:var(--red)}.day-chip:active{transform:scale(.88)}.day-chip.on{background:var(--blue);color:#fff;transform:scale(1.04);box-shadow:0 4px 12px #0071e359}.day-presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:-4px}.day-presets button{border:0;padding:5px 12px;border-radius:980px;background:#0071e314;color:var(--blue);font-size:13px;font-weight:500;transition:background .2s var(--ease)}.day-presets button:hover{background:#0071e324}.slot-time{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:end}.time-field,.duration{display:grid;gap:6px;font-size:12px;font-weight:600;color:var(--label-2);text-transform:uppercase;letter-spacing:.02em}.time-field input{width:auto;min-width:150px;padding:4px 12px;background:#fff;border-radius:12px;text-align:center;font-size:32px;font-weight:300;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--label);box-shadow:0 1px 2px #0000000f}.time-field input::-webkit-calendar-picker-indicator{opacity:.35;cursor:pointer}.duration .seg{text-transform:none;letter-spacing:0}.duration .seg button{padding:10px 4px;font-size:13px}.add-slot{justify-self:start;width:auto!important}.sched-preview{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#0071e314;color:var(--label);font-size:14px;animation:content-in .3s var(--spring)}.sched-preview svg{color:var(--blue);flex:none}.sched-preview.empty{background:var(--fill)}.sched-preview.empty svg{color:var(--label-3)}.remove-sched{margin-right:auto}.next-lesson{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:14px;background:var(--fill);color:var(--label);text-align:left;font:inherit;transition:background .2s var(--ease),transform .2s var(--bounce)}button.next-lesson:hover{background:var(--fill-2)}button.next-lesson:active{transform:scale(.98)}.next-lesson>svg{flex:none;color:var(--label-3)}.next-lesson.add{color:var(--blue);font-weight:500;font-size:14px;background:#0071e30f}.next-lesson.add svg{color:var(--blue)}.nl-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--label-3)}.nl-text{flex:1;min-width:0;display:grid;gap:1px}.nl-text b{font-size:15px;font-weight:600}.nl-text .muted{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.next-lesson.today .nl-dot{background:var(--blue)}.next-lesson.soon{background:#ff9f0a1f}.next-lesson.soon .nl-dot{background:var(--orange);animation:pulse 1.2s var(--ease) infinite}.next-lesson.soon b{color:#b25000}.next-lesson.live{background:#34c7591f}.next-lesson.live .nl-dot{background:var(--green);box-shadow:0 0 #34c75999;animation:ring 1.6s var(--ease) infinite}.next-lesson.live b{color:#1c7c3a}@keyframes ring{70%{box-shadow:0 0 0 8px #34c75900}to{box-shadow:0 0 #34c75900}}.up-next{display:inline-flex;align-items:center;gap:10px;max-width:min(520px,100%);margin:22px auto 0;padding:6px 6px 6px 8px;border-radius:980px;color:#fff;text-align:left;background:linear-gradient(135deg,#0a84ff,#5e5ce6);box-shadow:0 8px 24px #0a84ff40;animation:fade-up .6s var(--spring) .12s backwards}.up-next.soon{background:linear-gradient(135deg,#ff9f0a,#ff6b3d);box-shadow:0 8px 24px #ff8c1447}.up-next.live{background:linear-gradient(135deg,#30d158,#0fb5a8);box-shadow:0 8px 24px #30d15847}.up-next-icon{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff38}.up-next.live .up-next-icon,.up-next.soon .up-next-icon{animation:pulse 1.6s var(--ease) infinite}.up-next-text{min-width:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.up-next-text b{font-weight:600}.up-next-room{opacity:.85}.up-next-btn{flex:none;height:32px;padding:0 14px;border:0;border-radius:980px;font-size:14px;font-weight:600;background:#fff;color:#1d1d1f;transition:transform .2s var(--bounce),background .2s}.up-next-btn:hover{background:#f2f2f7}.up-next-btn:active{transform:scale(.95)}@media (max-width: 768px){.slot-time{grid-template-columns:1fr}.time-field input{width:100%}.up-next-text{font-size:14px}.confirm-actions{flex-wrap:wrap}.remove-sched{width:100%!important;order:3}}.viewer{height:100dvh;display:flex;flex-direction:column;background:var(--d-bg);color:var(--d-label);animation:fade .4s var(--ease)}.viewer .splash{background:transparent}.viewer-head{flex:none;display:flex;align-items:center;gap:14px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px}.viewer-head .room-title{flex:1}.viewer-head .back{color:var(--d-label)!important;background:#76768033!important}.viewer-tabs{width:300px;flex:none}.viewer-actions{display:flex;align-items:center;gap:8px}.viewer-actions .btn{width:auto}.viewer .account-btn{background:#7676803d;color:var(--d-label)}.viewer .account-menu{color:var(--label)}.live-dot-mini{width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.6s var(--ease) infinite}.viewer-body{flex:1;min-height:0;display:flex;padding:0 16px calc(16px + env(safe-area-inset-bottom))}.viewer-board{flex:1;min-width:0;display:flex;position:relative}.viewer-empty{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;padding:10px 18px;border-radius:980px;background:#0000000f;color:var(--label-2);font-size:14px}.viewer-vocab{flex:1;display:flex;justify-content:center;min-height:0}.viewer-vocab .panel{width:min(720px,100%);margin:0;transform:none;opacity:1}@media (max-width: 768px){.viewer-head{flex-wrap:wrap;gap:10px}.viewer-head .back span,.viewer-actions .ghost span{display:none}.viewer-tabs{order:5;width:100%}.viewer-body{padding:0 8px calc(8px + env(safe-area-inset-bottom))}.viewer .panel{position:static;height:auto;border-radius:var(--r-lg);box-shadow:none;transform:none}}@keyframes content-in{0%{opacity:0;transform:translateY(6px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}}@keyframes stage-in{0%{opacity:0;transform:scale(.985)}}@keyframes tile-in{0%{opacity:0;transform:scale(.92)}}@keyframes pip-in{0%{opacity:0;transform:scale(.6)}}@keyframes hand-pop{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}@keyframes badge-pop{0%{transform:scale(.3)}60%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes msg-in{0%{opacity:0;transform:translateY(10px) scale(.92)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}}@keyframes glow{0%{box-shadow:inset 0 0 0 1.5px var(--yellow),0 0 #ffd60a80}to{box-shadow:inset 0 0 0 1.5px var(--yellow),0 0 0 14px #ffd60a00}}.home-hero>*{animation:fade-up .7s var(--spring) backwards}.home-hero>:nth-child(2){animation-delay:.08s}.home-hero>:nth-child(3){animation-delay:.16s}.home-features li{animation:fade-up .6s var(--spring) backwards}.home-features li:nth-child(1){animation-delay:.22s}.home-features li:nth-child(2){animation-delay:.28s}.home-features li:nth-child(3){animation-delay:.34s}.home-features li:nth-child(4){animation-delay:.4s}.home-cards .card{animation:fade-up .7s var(--spring) backwards}.home-cards .card:nth-child(1){animation-delay:.12s}.home-cards .card:nth-child(2){animation-delay:.22s}.card{transition:transform .35s var(--spring),box-shadow .35s var(--ease)}.home-cards .card:hover{transform:translateY(-3px);box-shadow:0 2px 6px #0000000a,0 20px 50px #00000017}.prejoin-preview{animation:fade-up .6s var(--spring) backwards}.prejoin-form,.card.center{animation:fade-up .6s var(--spring) .08s backwards}.error,.warn{animation:content-in .3s var(--spring)}.anim-in{animation:stage-in .42s var(--spring)}.tile{animation:tile-in .45s var(--spring) backwards}.strip .tile:nth-child(2){animation-delay:.04s}.strip .tile:nth-child(3){animation-delay:.08s}.strip .tile:nth-child(4){animation-delay:.12s}.pip{animation:pip-in .5s var(--spring) backwards;transform-origin:bottom right}.tile-pin{transition:opacity .2s var(--ease),background .2s var(--ease),transform .2s var(--bounce)}.tile-pin:active{transform:scale(.88)}.banner{animation:drop .4s var(--spring)}.timer,.topbar-tools .board-toolbar{animation:slide-down .4s var(--spring)}.zoom-controls{animation:content-in .4s var(--spring) .1s backwards}.ctl-icon{transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--bounce)}.ctl:active:not(:disabled) .ctl-icon{transform:scale(.88)}.ctl-badge{animation:badge-pop .45s var(--bounce)}.tb-btn{transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--bounce)}.tb-btn:active:not(:disabled){transform:scale(.9)}.swatch{transition:transform .25s var(--bounce),box-shadow .25s var(--ease)}.swatch.active{transform:scale(1.08)}.chat-list .msg:last-child{animation:msg-in .38s var(--spring);transform-origin:bottom left}.chat-list .msg.mine:last-child{transform-origin:bottom right}.msg-edit{animation:content-in .3s var(--spring)}.msg-corrected .right{animation:content-in .4s var(--spring)}.vocab-list .vocab-card:last-child{animation:msg-in .4s var(--spring)}.vocab-card.lit{animation:glow 1.2s var(--ease) 2}.vocab-tr{animation:content-in .3s var(--ease)}.person{transition:background .35s var(--ease)}.person-actions{animation:content-in .3s var(--spring)}.tools section{animation:fade-up .45s var(--spring) backwards}.tools section:nth-child(2){animation-delay:.04s}.tools section:nth-child(3){animation-delay:.08s}.tools section:nth-child(4){animation-delay:.12s}.board-text-input{animation:content-in .2s var(--ease)}.board-text-input.sticky-input{margin:0;border-radius:3px;white-space:pre-wrap;overflow-wrap:anywhere;field-sizing:fixed;text-align:center;font-weight:500;color:#1d1d1f;caret-color:#1d1d1f;box-sizing:border-box;background:transparent!important;padding:var(--pt) var(--px) 0!important;box-shadow:0 0 0 2px var(--blue-dark),0 0 0 6px #007aff2e!important;animation:none}.board-text-input.sticky-input::placeholder{color:#1d1d1f66}.swatch.paper{border-radius:5px;box-shadow:inset 0 0 0 .5px #00000026,0 1px 3px #00000040}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important}}.sheet-backdrop,.sheet-grabber,.rotate-hint{display:none}.pip{position:absolute;z-index:3;right:18px;bottom:10px;width:100px;height:148px;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px #00000080}.pip .tile{width:100%;height:100%;border-radius:16px}.pip .tile-name,.pip .tile-pin,.pip .badge{display:none}.pip .tile-label{left:6px;bottom:6px;padding:4px}.pip .avatar{width:44px;height:44px;font-size:17px}@media (hover: none){.tile-pin{opacity:.9}.msg-actions{opacity:1}.btn:hover:not(:disabled),.ctl:hover:not(:disabled) .ctl-icon,.tb-btn:hover:not(:disabled){background:inherit}}@media (max-width: 1024px) and (min-width: 769px){.room.with-panel{--pw: 320px}.panel{width:308px}.home-main{gap:40px;padding-top:64px}.home-hero h1{font-size:48px}.ctl{min-width:54px}}@media (max-width: 768px){input,textarea,select{font-size:16px}.home-head{padding:env(safe-area-inset-top) 16px 0;height:calc(52px + env(safe-area-inset-top))}.home-main{grid-template-columns:1fr;gap:32px;padding:36px 16px calc(48px + env(safe-area-inset-bottom))}.home-hero h1{font-size:38px;letter-spacing:-.03em}.home-hero p{font-size:17px;margin:16px 0 24px}.home-features li{font-size:15px}.card{padding:22px 20px;border-radius:18px}.card h2{font-size:21px}.card.center{padding:32px 22px}.prejoin{gap:16px;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));align-content:flex-start}.prejoin-preview{border-radius:22px;aspect-ratio:4 / 3;box-shadow:0 16px 40px #0000002e}.prejoin-form{width:100%}.prejoin-form h2{font-size:24px}.room,.room.with-panel{height:100dvh;overscroll-behavior:none;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"top" "stage" "controls"}.topbar{gap:8px;padding:calc(6px + env(safe-area-inset-top)) 12px 6px;min-height:52px}.topbar .logo{display:none}.room-title{flex:1}.room-title b{font-size:15px}.room-title .muted,.timer-slot{display:none}.timer{flex:none;max-width:none;margin:0;height:32px;padding:0 12px;gap:6px}.timer-label{display:none}.timer b{font-size:15px}.topbar-right{margin-left:0;gap:6px}.topbar-right .btn{width:34px;min-height:34px;height:34px;padding:0;border-radius:50%}.topbar-right .btn span{display:none}.pill.warn{width:34px;height:34px;padding:0;justify-content:center;font-size:0;border-radius:50%}.stage{padding:0 8px;gap:8px}.grid{gap:8px;align-content:start;overflow-y:auto}.grid.n1{grid-template-columns:1fr;height:100%}.grid.n1 .tile{aspect-ratio:auto;height:100%}.grid.n2{grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:100%}.grid.n2 .tile{aspect-ratio:auto;height:100%}.grid.n3,.grid.n4,.grid.n5,.grid.n6,.grid.n7,.grid.n8,.grid.n9{grid-template-columns:repeat(2,1fr)}.grid .tile,.grid.n3 .tile,.grid.n4 .tile,.grid.n5 .tile,.grid.n6 .tile,.grid.n7 .tile,.grid.n8 .tile,.grid.n9 .tile{aspect-ratio:3 / 4;max-height:none}.tile{border-radius:18px}.avatar{width:72px;height:72px;font-size:28px}.tile-label{left:8px;bottom:8px;font-size:12px;padding:4px 9px 4px 7px}.stage.with-strip{flex-direction:column;padding-bottom:0}.stage.with-strip .strip{flex-direction:row;width:auto;height:84px;overflow-x:auto;overflow-y:hidden}.stage.with-strip .strip .tile{width:112px;height:84px}.strip{height:84px;gap:8px}.strip .tile{width:112px;height:84px;border-radius:14px}.strip .avatar{width:38px;height:38px;font-size:15px}.strip .tile-name{display:none}.strip .tile-label{left:6px;bottom:6px;padding:3px 7px 3px 5px}.sheet-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:#00000073;opacity:0;transition:opacity .32s var(--ease)}.sheet-backdrop.is-open{opacity:1}.panel{position:fixed;z-index:40;left:0;right:0;bottom:0;height:82dvh;margin:0;width:auto;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 40px #00000080;opacity:1;transform:translateY(102%);transition:transform .42s var(--spring)}.panel.is-open{transform:none}.sheet-grabber{display:block;flex:none;width:100%;height:22px;cursor:pointer;position:relative}.sheet-grabber:after{content:"";position:absolute;top:8px;left:50%;width:38px;height:5px;margin-left:-19px;border-radius:3px;background:#ebebf54d}.panel-head{padding:2px 10px 10px 18px}.panel-head b{font-size:19px}.panel-body{padding:4px 14px 14px}.chat-list{padding:4px 14px 12px}.person-actions{padding-left:0;flex-wrap:wrap}.vocab-form .row{flex-wrap:wrap}.vocab-form .narrow{width:100%}.controls{gap:0;padding:8px 6px calc(8px + env(safe-area-inset-bottom));justify-content:space-between}.controls-group,.controls-group:last-child{display:contents}.ctl{flex:1;min-width:0;padding:0}.ctl-icon{width:42px;height:42px}.ctl-label{display:none}.ctl-badge{box-shadow:0 0 0 2px #000}.controls .btn.leave{flex:none;width:42px;min-height:42px;height:42px;padding:0;margin-left:4px;border-radius:50%}.controls .btn.leave span{display:none}.board{gap:8px}.board-toolbar{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;max-width:100%;border-radius:14px;padding:4px;scrollbar-width:none}.board-toolbar::-webkit-scrollbar{display:none}.tb-group{flex:none;padding:0 4px}.tb-btn{min-width:36px;height:36px}.board-wrap{border-radius:14px}.board-locked{top:8px;left:8px;font-size:11.5px;max-width:calc(100% - 16px)}.zoom-controls{right:8px;bottom:8px}.zoom-controls button{min-width:36px;height:36px}.strip .tile-pin{display:none}.toasts{top:calc(10px + env(safe-area-inset-top));width:92vw}.toast{border-radius:20px;text-align:center;font-size:13.5px;padding:11px 16px}.banner{top:8px;font-size:12px}}@media (max-width: 950px) and (max-height: 500px) and (orientation: landscape){.room,.room.with-panel{grid-template-columns:1fr auto;grid-template-rows:1fr;grid-template-areas:"stage controls";height:100dvh}.topbar{position:fixed;z-index:6;top:6px;right:max(4px,env(safe-area-inset-right));width:58px;min-height:0;padding:0;justify-content:center}.topbar>:not(.timer){display:none}.timer{flex:none;max-width:none;margin:0;height:28px;padding:0 8px;gap:0}.timer svg,.timer-label{display:none}.timer b{font-size:13px}.stage{padding:8px 0 8px max(8px,env(safe-area-inset-left))}.strip .tile-pin{display:none}.controls{flex-direction:column;justify-content:center;gap:4px;padding:40px max(8px,env(safe-area-inset-right)) 8px 8px}.controls-group,.controls-group:last-child{display:contents}.ctl{flex:none;min-width:0;padding:0}.ctl-icon{width:38px;height:38px}.ctl-label{display:none}.controls .btn.leave{width:38px;min-height:38px;height:38px;padding:0;border-radius:50%}.controls .btn.leave span{display:none}.grid.n2{grid-template-columns:1fr 1fr}.stage.with-strip{flex-direction:row}.stage.with-strip .strip{flex-direction:column;width:96px;height:auto;overflow-y:auto;overflow-x:hidden}.stage.with-strip .strip .tile{width:96px;height:64px}.panel{position:fixed;z-index:40;top:0;right:0;bottom:0;left:auto;height:auto;width:min(380px,60vw);margin:0;border-radius:20px 0 0 20px;transform:translate(102%)}.panel.is-open{transform:none}.sheet-grabber{display:none}.pip{width:132px;height:84px;right:10px;bottom:10px}}@media (max-width: 768px) and (orientation: portrait){.rotate-hint{display:flex;align-items:center;gap:6px;flex:none;padding:7px 14px;border-radius:980px;font-size:12.5px;color:var(--d-label-2);background:var(--d-elev)}}@keyframes fade{0%{opacity:0}}.btn.enter{white-space:nowrap}.btn.enter .enter-pulse{position:relative;width:9px;height:9px;border-radius:50%;background:#fff;flex:none}.btn.enter .enter-pulse:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid rgba(255,255,255,.85);animation:live-ring 1.6s var(--ease) infinite}@keyframes live-ring{0%{transform:scale(.5);opacity:1}to{transform:scale(1.6);opacity:0}}.inline-confirm{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;animation:content-in .25s var(--spring) both}.inline-confirm .muted{margin-right:4px}.room-pick{display:grid;gap:6px;max-height:300px;overflow:auto;margin:2px -4px;padding:4px}.room-pick-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:14px;background:var(--fill);color:var(--label);text-align:left;transition:background .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--bounce)}.room-pick-item:hover:not(:disabled){background:var(--fill-2, rgba(120, 120, 128, .16))}.room-pick-item:active:not(:disabled){transform:scale(.985)}.room-pick-item.on{background:#007aff1a;box-shadow:inset 0 0 0 2px var(--blue)}.room-pick-item:disabled{opacity:.55;cursor:default}.room-pick-check{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--label-3);color:#fff;transition:background .2s var(--ease),box-shadow .2s var(--ease)}.room-pick-item.on .room-pick-check{background:var(--blue);box-shadow:none;animation:badge-pop .3s var(--spring)}.room-pick-item:disabled .room-pick-check{background:var(--label-3);box-shadow:none}.room-pick-text{display:grid;gap:1px;min-width:0}.room-pick-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-head,.dash,.auth,.prejoin,.viewer-head{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}@media (min-width: 769px){.home-head{padding-left:max(22px,calc(50% - 540px),env(safe-area-inset-left));padding-right:max(22px,calc(50% - 540px),env(safe-area-inset-right))}.dash{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}.prejoin{padding-left:max(40px,env(safe-area-inset-left));padding-right:max(40px,env(safe-area-inset-right))}}.viewer-body{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.dash-hello h1,.class-card h3,.section-head h2{overflow-wrap:anywhere}.btn.success{background:linear-gradient(180deg,#3ddc6a,#1fb350);color:#fff;box-shadow:0 4px 14px #1fb3504d}.btn.success:hover:not(:disabled){background:linear-gradient(180deg,#4ae276,#22bf57)}.field-label{font-size:12.5px;font-weight:600;color:var(--label-2);text-transform:uppercase;letter-spacing:.02em}.level-badge{display:inline-grid;place-items:center;flex:none;min-width:40px;height:26px;padding:0 9px;border:0;border-radius:8px;font-size:13px;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,var(--l1),var(--l2));box-shadow:0 2px 8px color-mix(in srgb,var(--l2) 35%,transparent);transition:transform .25s var(--bounce),box-shadow .2s var(--ease)}button.level-badge{cursor:pointer}button.level-badge:hover{transform:translateY(-1px) scale(1.04)}button.level-badge:active{transform:scale(.95)}.level-badge.sm{min-width:34px;height:22px;font-size:11.5px;border-radius:7px;padding:0 7px}.level-badge.lg{min-width:64px;height:44px;font-size:21px;border-radius:13px}.lvl-a1{--l1: #5ee08a;--l2: #28b463}.lvl-a2{--l1: #3fd6c6;--l2: #12a39a}.lvl-b1{--l1: #48a3ff;--l2: #0a6ff0}.lvl-b2{--l1: #7f7cff;--l2: #5146e6}.lvl-c1{--l1: #c27bff;--l2: #9b3ef0}.lvl-c2{--l1: #ff8aa8;--l2: #f0457a}.students .student .level-badge{margin-left:auto}.radar{display:block;margin:0 auto;overflow:visible}.radar-ring{fill:none;stroke:#7878802e;stroke-width:1}.radar-ring.outer{fill:#7878800d;stroke:#7878804d}.radar-axis{stroke:#78788033;stroke-width:1}.radar-label{font-size:15px;font-weight:500;fill:var(--label-2)}.radar-value{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}.readiness{display:grid;gap:6px}.readiness-top{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--label-2)}.readiness-top b{color:var(--label);font-size:16px;font-variant-numeric:tabular-nums}.readiness-bar{height:8px;border-radius:4px;background:var(--fill);overflow:hidden}.readiness-bar span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#0a84ff,#bf5af2 60%,#ff375f);transition:width .6s var(--spring)}.progress-editor{display:grid;gap:18px}.progress-editor .confirm-who .level-badge{margin-left:auto}.level-pick{display:grid;gap:8px}.level-pick .seg button{font-weight:600}.progress-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;align-items:center}.progress-chart,.skill-list{display:grid;gap:12px}.skill-row{display:grid;grid-template-columns:1fr 64px;grid-template-areas:"name name" "range num";gap:4px 12px;align-items:center}.skill-name{grid-area:name;display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600}.skill-name svg{color:var(--c)}.skill-dot{width:9px;height:9px;border-radius:50%;background:var(--c)}.skill-row input[type=range]{grid-area:range;-moz-appearance:none;appearance:none;-webkit-appearance:none;height:6px;padding:0;border:0;border-radius:3px;box-shadow:none;background:linear-gradient(90deg,var(--c) var(--v),var(--fill-2) var(--v))}.skill-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 .5px 4px #0000001f,0 6px 13px #0000001f,0 0 0 .5px #0000000a;transition:transform .2s var(--bounce)}.skill-row input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}.skill-row input[type=range]::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:#fff;box-shadow:0 .5px 4px #0000001f,0 6px 13px #0000001f}.skill-num{grid-area:num;padding:6px 8px!important;text-align:center;font-weight:600;font-variant-numeric:tabular-nums;border-radius:9px!important}.skill-num::-webkit-inner-spin-button{opacity:.4}.weak-hint{margin:2px 0 0}.levelup-card{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#34c75924,#30d1580f);box-shadow:inset 0 0 0 1px #34c7594d;animation:content-in .35s var(--spring) both}.levelup-card>div:first-child{display:grid;gap:2px}.level-history{display:grid;gap:8px}.level-history-row{display:flex;align-items:center;gap:8px}.levelup-done{display:grid;justify-items:center;gap:8px;padding:18px 0 6px;text-align:center}.levelup-done b{font-size:22px}.levelup-done .btn{margin-top:10px}.levelup-burst{position:relative;display:grid;place-items:center;width:140px;height:110px}.levelup-burst .level-badge{animation:burst-pop .7s var(--bounce) both}.levelup-burst i{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:2px;background:var(--c);transform:rotate(var(--a)) translateY(0);opacity:0;animation:burst-fly 1s var(--ease) .15s forwards}.levelup-burst i:nth-child(2n){border-radius:50%;width:6px;height:6px}@keyframes burst-pop{0%{transform:scale(.2) rotate(-12deg)}to{transform:scale(1) rotate(0)}}@keyframes burst-fly{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateY(-62px) scale(.6)}}.my-progress{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center;padding:26px}.my-progress-info{display:grid;gap:18px}.my-level{display:flex;align-items:center;gap:14px}.my-level>div{display:grid}.my-level b{font-size:20px}.skill-bars{display:grid;gap:9px}.skill-bar{display:grid;grid-template-columns:104px 1fr 32px;align-items:center;gap:10px;font-size:13.5px}.skill-bar b{text-align:right;font-variant-numeric:tabular-nums}.skill-bar .bar{height:6px;border-radius:3px;background:var(--fill);overflow:hidden}.skill-bar .bar i{display:block;height:100%;border-radius:3px;background:var(--c);transition:width .6s var(--spring)}.my-progress-hint{margin:0;line-height:1.45}.congrats{display:flex;align-items:center;gap:18px;margin-bottom:14px;padding:18px 22px;background:linear-gradient(135deg,#0a84ff1a,#bf5af21a,#ff375f14);animation:fade-up .6s var(--spring) both}.congrats .levelup-burst{width:100px;height:80px;flex:none}.congrats-text{display:grid;gap:4px;flex:1}.congrats-text b{font-size:18px}.congrats .btn{flex:none;width:auto;padding:0 26px}@media (max-width: 768px){.progress-grid,.my-progress{grid-template-columns:1fr}.my-progress{padding:18px;gap:18px}.congrats{flex-direction:column;text-align:center}.skill-bar{grid-template-columns:92px 1fr 28px}.level-pick .seg button{padding:7px 2px}}.modal.progress-modal{width:min(660px,100%);max-height:94dvh;overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}.progress-modal .modal-head{flex:none}.progress-modal .progress-editor{flex:1;min-height:0;display:flex;flex-direction:column;gap:0}.pe-scroll{flex:1;min-height:0;overflow-y:auto;display:grid;gap:16px;align-content:start;margin:0 -28px;padding:4px 28px 20px;overscroll-behavior:contain;scrollbar-gutter:stable}.pe-stage{display:grid}.pe-stage>*{grid-area:1 / 1}.progress-grid{transition:opacity .3s var(--ease),transform .4s var(--spring)}.progress-grid.is-hidden{opacity:0;transform:scale(.97);visibility:hidden}.levelup-done{align-self:center;animation:content-in .4s var(--spring) both}.weak-hint{min-height:2.9em;line-height:1.45}.skill-done{display:inline-grid;color:var(--c);opacity:0;transform:scale(.4);transition:opacity .2s var(--ease),transform .3s var(--bounce)}.skill-done.on{opacity:1;transform:none}.skill-name svg{color:inherit}.pe-footer{flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:72px;margin:0 -28px;padding:12px 28px calc(12px + env(safe-area-inset-bottom));border-top:.5px solid var(--separator);background:#ffffffdb;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.pe-status{flex:1;min-width:0;font-size:13.5px;line-height:1.35;color:var(--label-2);animation:fade .3s var(--ease)}.pe-status.good{color:#1f9d4c;font-weight:600}.pe-status.ask{flex:0 1 auto;padding:8px 12px;border-radius:10px;background:#ff9f0a24;color:var(--label);font-weight:600}.pe-actions{display:flex;gap:8px;flex:none}.pe-actions .btn{width:auto}@media (max-width: 768px){.modal.progress-modal{max-height:94dvh}.pe-scroll{margin:0 -20px;padding:4px 20px 18px}.pe-footer{margin:0 -20px;padding-left:20px;padding-right:20px;flex-wrap:wrap;gap:10px}.pe-status{flex:1 1 100%;min-height:2.7em;display:flex;align-items:center}.pe-status.ask,.pe-actions{flex:1 1 100%}.pe-actions .btn{flex:1}}.level-badge.unknown{--l1: #c7c7cc;--l2: #aeaeb2;box-shadow:none}.my-progress.not-assessed .my-level b{font-size:19px}.my-progress-chart.ghost{position:relative;display:grid;place-items:center}.my-progress-chart.ghost .radar{opacity:.4;filter:grayscale(1) blur(.5px)}.ghost-q{position:absolute;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;font-size:30px;font-weight:700;color:var(--label-2);background:#ffffffd9;box-shadow:0 6px 20px #00000014;animation:ghost-breathe 3s var(--ease) infinite}@keyframes ghost-breathe{50%{transform:scale(1.06)}}.skill-chips{display:flex;flex-wrap:wrap;gap:6px}.skill-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:980px;background:var(--fill);font-size:12.5px;font-weight:500}.pe-tabs{width:min(280px,100%)}.pe-chart{display:grid;gap:10px;align-content:start;animation:content-in .3s var(--ease) both}.my-progress-chart-card{margin-top:14px;padding:22px 26px}.pchart{display:grid;gap:14px}.pchart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pchart-title{display:grid;gap:2px}.pchart-title b{font-size:17px}.pchart-head .seg{width:180px}.pchart-plot{position:relative;width:100%}.pchart-plot svg{display:block;touch-action:pan-y}.pchart-band{opacity:.07;fill:var(--l2)}.pchart-grid{stroke:#78788040;stroke-width:1}.pchart-grid.soft{stroke:#7878801f;stroke-dasharray:2 4}.pchart-axis{stroke:#78788059;stroke-width:1}.pchart-level{font-size:12px;font-weight:700;fill:var(--label-2)}.pchart-tick{font-size:11.5px;fill:var(--label-3)}.pchart-tail{stroke:#bf5af2;stroke-width:2;stroke-dasharray:3 5;stroke-linecap:round;opacity:.55}.pchart-dot{fill:#fff;stroke:#6c63ff;stroke-width:2;transition:r .15s var(--ease)}.pchart-dot.active{fill:#6c63ff;stroke:#fff;stroke-width:2.5;filter:drop-shadow(0 2px 4px rgba(108,99,255,.4))}.pchart-cross{stroke:#78788073;stroke-width:1;stroke-dasharray:3 3}.pchart-empty{position:absolute;top:14px;right:14px;bottom:28px;left:44px;display:grid;place-items:center;padding:12px;text-align:center;font-size:13.5px;color:var(--label-2);background:#ffffffb3;border-radius:12px}.pchart-tip{position:absolute;z-index:3;width:196px;padding:10px 12px;display:grid;gap:4px;pointer-events:none;transform:translate(14px,-50%);border-radius:12px;background:#fffffff5;box-shadow:0 0 0 .5px #00000014,0 10px 30px #00000024;font-size:12.5px;animation:fade .15s var(--ease)}.pchart-tip.left{transform:translate(calc(-100% - 14px),-50%)}.pchart-tip-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--label-2)}.pchart-tip>b{font-size:14px}.pchart-tip-row{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px}.pchart-tip-row i{width:8px;height:8px;border-radius:50%}.pchart-tip-row b{font-variant-numeric:tabular-nums}@media (max-width: 768px){.my-progress-chart-card{padding:18px 16px}.pchart-head .seg{width:100%}}.pe-level-name{margin-left:auto;text-align:right;line-height:1.3}.progress-editor .confirm-who .pe-level-name+.level-badge{margin-left:0}.pe-controls{display:flex;gap:10px;align-items:center}.pe-levels{flex:1}.pe-controls .pe-tabs{width:210px;flex:none}.pe-scroll{scrollbar-gutter:auto}.progress-grid{align-items:start}.skill-list{gap:8px}.skill-row{gap:2px 12px}.weak-hint{min-height:2.9em;margin:4px 0 0}.pe-chart .level-history{gap:6px}@media (max-width: 768px){.pe-controls{flex-wrap:wrap}.pe-controls .pe-tabs{width:100%}.pe-level-name{display:none}}.pe-stage{margin-top:10px}.progress-editor .progress-chart{padding-top:12px}.pchart-forecast{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;font-size:14px;background:linear-gradient(135deg,#0a84ff17,#bf5af217)}.pchart-forecast b{font-weight:700}.pchart-forecast.ready{background:#34c7591f}.pchart-forecast.slow,.pchart-forecast.few{background:var(--fill);color:var(--label-2)}.pchart-forecast-icon{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;font-size:12px;color:#fff;background:linear-gradient(135deg,#0a84ff,#bf5af2)}.pchart-forecast.slow .pchart-forecast-icon,.pchart-forecast.few .pchart-forecast-icon{background:var(--label-3)}.pchart-forecast.ready .pchart-forecast-icon{background:#34c759}.pchart-pace{margin-left:auto;white-space:nowrap}.pchart-future{fill:#7878800f}.pchart-today{stroke:#78788080;stroke-width:1}.pchart-today-label{font-size:11px;font-weight:600;fill:var(--label-3)}.pchart-proj line{stroke:#bf5af2;stroke-width:2;stroke-dasharray:5 5;stroke-linecap:round;opacity:.75}.pchart-proj circle{fill:#fff;stroke:#bf5af2;stroke-width:2;stroke-dasharray:3 3}.pchart-proj text{font-size:12px;font-weight:700;fill:#9b3ef0}@media (max-width: 768px){.pchart-forecast{flex-wrap:wrap}.pchart-pace{margin-left:34px}}.progress-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px;align-items:stretch}.progress-row .my-progress-chart-card{margin-top:0}.progress-modal .pe-controls .pe-tabs{width:280px}.acal{display:grid;gap:12px;align-content:start}.acal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;min-height:42px}.acal-streak{padding:6px 11px;border-radius:980px;font-size:12.5px;font-weight:600;white-space:nowrap;background:#ff95001f;color:#c25e00}.acal-body{position:relative;display:grid;gap:6px;padding-top:4px}.acal-months{display:grid;font-size:11px;color:var(--label-3);height:14px}.acal-months span{white-space:nowrap}.acal-grid-wrap{display:flex}.acal-days{display:grid;font-size:10.5px;color:var(--label-3);align-items:center}.acal-grid{display:grid}.acal-cell{display:block;border-radius:3px;background:#7878801f;box-shadow:inset 0 0 0 .5px #0000000a;transition:transform .15s var(--ease)}.acal-grid .acal-cell:not(.future):hover{transform:scale(1.25);box-shadow:0 0 0 1.5px #00000059}.acal-cell.s1{background:#b7ebc4}.acal-cell.s2{background:#6fd88b}.acal-cell.s3{background:#34c759}.acal-cell.s4{background:#1f8f3d}.acal-cell.future{background:transparent;box-shadow:none}.acal-legend{display:flex;align-items:center;justify-content:flex-end;gap:4px}.acal-legend .acal-cell{width:11px;height:11px}.acal-legend .muted:first-child{margin-right:4px}.acal-legend .muted:last-child{margin-left:4px}.acal-tip{position:absolute;z-index:3;display:grid;gap:1px;padding:7px 10px;border-radius:10px;pointer-events:none;white-space:nowrap;transform:translate(-50%,calc(-100% - 8px));background:#1d1d1feb;color:#fff;font-size:12px;box-shadow:0 8px 24px #0003;animation:fade .12s var(--ease)}.acal-tip span{color:#ffffffb3}.acal-tip.left{transform:translate(-12px,calc(-100% - 8px))}.acal-tip.right{transform:translate(calc(-100% + 12px),calc(-100% - 8px))}@media (max-width: 900px){.progress-row{grid-template-columns:1fr}}@media (max-width: 768px){.progress-modal .pe-controls .pe-tabs{width:100%}}.acal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.acal-stats>div{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:var(--fill)}.acal-stats b{font-size:19px;font-variant-numeric:tabular-nums}.acal-stats span{font-size:11.5px;line-height:1.25;color:var(--label-2)}.progress-row .acal{height:100%;grid-template-rows:auto auto auto 1fr}.progress-row .acal-stats{align-self:end}@media (max-width: 520px){.acal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.acal-cell.today{box-shadow:0 0 0 1.5px var(--blue)}.acal-stats b small{font-size:14px;font-weight:600;color:var(--label-2)}.acal-stats b{white-space:nowrap}.pe-levels{transition:opacity .25s var(--ease)}.pe-levels.is-locked{opacity:.5}.pe-levels.is-locked button:disabled{opacity:1;cursor:default}.reminders{display:grid;gap:16px}.reminders-hero{display:flex;gap:14px;align-items:flex-start;line-height:1.45;font-size:14px}.reminders-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;color:#fff;background:linear-gradient(180deg,#ff6b5a,#ff3b30);box-shadow:0 6px 16px #ff3b3047}.reminders-icon.small{width:36px;height:36px;border-radius:10px;box-shadow:none}.reminders-toggle{justify-content:space-between;padding:12px 14px;border-radius:14px;background:var(--fill)}.reminders-toggle>span{display:grid;gap:2px}.reminders-lead{display:grid;gap:8px;transition:opacity .25s var(--ease)}.reminders-lead.is-off{opacity:.45}.reminders-lead .seg button:disabled{opacity:1}.reminders-test{justify-self:start}.reminders-howto{display:grid;gap:8px;padding:14px 16px;border-radius:14px;background:var(--fill);font-size:14px}.reminders-howto ol{margin:0;padding-left:20px;display:grid;gap:6px;line-height:1.4}.reminders-howto svg{vertical-align:-2px;color:var(--blue)}.reminders-prompt{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 12px;border-radius:18px;background:#fff;box-shadow:0 2px 6px #00000008,0 12px 40px #0000000f;animation:fade-up .6s var(--spring) .1s backwards}.reminders-prompt-text{display:grid;gap:1px;flex:1;min-width:0}.reminders-prompt .btn{flex:none;width:auto}@media (max-width: 768px){.reminders-prompt{flex-wrap:wrap}.reminders-prompt-text{flex-basis:calc(100% - 60px)}.reminders-prompt .btn{flex:1}}label.toggle.reminders-toggle{display:flex;flex-direction:row;align-items:center;font-weight:400;color:var(--label)}.reminders-toggle b{font-size:15px}.reminders-toggle.soft{background:transparent;padding:0 2px}.reminders-toggle.is-off{opacity:.45}.reminders-note{margin-top:-6px}.dash{grid-template-columns:minmax(0,1fr)}.dash>*,.dash-hello>*,.progress-row>*,.acal,.acal-body{min-width:0}.dash-hello{grid-template-columns:minmax(0,1fr)}.up-next{max-width:min(520px,100%)}@media (max-width: 900px){.progress-row{grid-template-columns:minmax(0,1fr)}}.pe-review{display:grid;gap:6px;align-content:start;animation:content-in .3s var(--spring) both}.pe-review-title{font-size:16px;margin-bottom:2px}.pe-review-row{display:grid;grid-template-columns:minmax(0,1fr) auto 64px;align-items:center;gap:12px;padding:7px 14px;border-radius:12px;background:var(--fill)}.pe-review-row.level{grid-template-columns:minmax(0,1fr) auto}.pe-review-row.level .pe-review-note{grid-column:1 / -1;margin-top:-4px}.pe-review-name .small{font-weight:400}.pe-review-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.pe-review-change{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.pe-review-change b{font-size:16px}.pe-delta{justify-self:end;padding:3px 9px;border-radius:980px;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.pe-delta.up{background:#34c75924;color:#1f8f3d}.pe-delta.down{background:#ff3b301f;color:#d70015}.pe-review-total{display:flex;justify-content:space-between;align-items:baseline;padding:6px 2px 0;color:var(--label-2);font-size:14px}.pe-review-total b{color:var(--label);font-variant-numeric:tabular-nums}.pe-review-today{margin:4px 0 0;padding:10px 12px;border-radius:12px;background:#ff9f0a1f;color:#9a5b00;line-height:1.4}:root{--lg-fill: rgba(255, 255, 255, .7);--lg-fill-strong: rgba(255, 255, 255, .88);--lg-blur: blur(28px) saturate(190%) brightness(1.04);--lg-blur-light: blur(18px) saturate(170%);--lg-rim: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 -1px 0 rgba(255, 255, 255, .35) inset, 0 0 0 .5px rgba(255, 255, 255, .55) inset;--lg-shadow: var(--lg-rim), 0 10px 40px rgba(60, 40, 120, .12), 0 2px 6px rgba(60, 40, 120, .06);--lg-inner: rgba(255, 255, 255, .55);--lg-inner-rim: 0 1px 0 rgba(255, 255, 255, .85) inset, 0 0 0 .5px rgba(255, 255, 255, .5) inset;--lg-dark-fill: rgba(36, 36, 46, .66);--lg-dark-inner: rgba(255, 255, 255, .09);--lg-dark-rim: 0 1px 0 rgba(255, 255, 255, .26) inset, 0 -1px 0 rgba(255, 255, 255, .07) inset, 0 0 0 .5px rgba(255, 255, 255, .15) inset;--lg-dark-shadow: var(--lg-dark-rim), 0 16px 50px rgba(0, 0, 0, .45);--label-2: rgba(40, 40, 52, .72);--label-3: rgba(40, 40, 52, .5);--wallpaper: radial-gradient(900px 620px at 8% 2%, rgba(255, 138, 178, .55), transparent 62%), radial-gradient(800px 600px at 96% 8%, rgba(120, 150, 255, .55), transparent 60%), radial-gradient(900px 700px at 60% 58%, rgba(190, 120, 255, .36), transparent 62%), radial-gradient(700px 600px at 6% 92%, rgba(90, 210, 220, .42), transparent 60%), radial-gradient(800px 600px at 96% 96%, rgba(255, 190, 120, .42), transparent 60%), #eef0f8;--wallpaper-dark: radial-gradient(700px 500px at 12% 18%, rgba(255, 90, 150, .3), transparent 60%), radial-gradient(800px 600px at 88% 12%, rgba(90, 120, 255, .36), transparent 60%), radial-gradient(800px 600px at 50% 100%, rgba(150, 80, 255, .28), transparent 60%), #0b0b14}html{background:#eef0f8}body{background:transparent}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:var(--wallpaper)}.home,.auth,.prejoin{background:transparent}.home{display:flow-root}.card,.reminders-prompt,.account-menu,.dots-menu,.modal{background:var(--lg-fill);backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);box-shadow:var(--lg-shadow);border:0}.card{border-radius:30px}.home-cards .card:hover,.class-card:hover{box-shadow:var(--lg-rim),0 20px 50px #3c287829}.modal{background:#ffffffdb;border-radius:34px}.modal-backdrop{background:#1e143c3d}.account-menu,.dots-menu{background:var(--lg-fill-strong);border-radius:18px}.home-head{top:12px;width:min(1080px,calc(100% - 32px));height:58px;margin:12px auto 0;padding:0 10px 0 18px;border:0;border-radius:980px;background:var(--lg-fill);backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);box-shadow:var(--lg-shadow)}.account-btn{background:#ffffff80;box-shadow:var(--lg-inner-rim)}.next-lesson,.students .student,.acal-stats>div,.pchart-forecast,.confirm-who,.reminders-toggle:not(.soft),.room-pick-item,.pe-review-row,.reminders-howto,.skill-chip,.class-requests{background:var(--lg-inner);box-shadow:var(--lg-inner-rim)}button.next-lesson:hover,.room-pick-item:hover:not(:disabled){background:#ffffff94}.readiness-bar,.skill-bar .bar{background:#ffffff80;box-shadow:var(--lg-inner-rim)}.home input:not([type=range]):not([type=checkbox]),.modal input:not([type=range]):not([type=checkbox]),.auth input,.prejoin input,.modal textarea{background:#ffffff80;box-shadow:var(--lg-inner-rim)}.btn{border-radius:980px}.home .btn:not(.primary):not(.enter):not(.danger):not(.success):not(.ghost),.modal .btn:not(.primary):not(.enter):not(.danger):not(.success):not(.ghost),.auth .btn:not(.primary):not(.ghost){background:#ffffffb3;box-shadow:0 1px #fffffff2 inset,0 0 0 .5px #fff9 inset,0 4px 14px #3c28781a}.btn.primary,.btn.enter{background:linear-gradient(180deg,#409cfff0,#0071e3eb);box-shadow:0 1px #ffffff8c inset,0 -2px 6px #00287838 inset,0 8px 22px #0071e34d}.btn.primary:hover:not(:disabled),.btn.enter:hover:not(:disabled){background:linear-gradient(180deg,#54a8fff5,#0a7aedf0)}.btn.primary:disabled{box-shadow:none}.btn.enter.live,.btn.success{background:linear-gradient(180deg,#4cd978f5,#24aa5cf0);box-shadow:0 1px #ffffff8c inset,0 -2px 6px #00501e33 inset,0 8px 22px #28b46352}.btn.enter.live:hover:not(:disabled),.btn.success:hover:not(:disabled){background:linear-gradient(180deg,#5ae284fa,#2cb666f5)}.seg.light{background:#ffffff57;box-shadow:0 0 0 .5px #fff9 inset;border-radius:980px;padding:3px}.seg.light:before{top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--n));border-radius:980px;background:#ffffffe0;box-shadow:0 1px #fff inset,0 4px 14px #3c287829}.seg.light button{border-radius:980px}.up-next{background:linear-gradient(135deg,#0a84ffcc,#8c5affbd);backdrop-filter:var(--lg-blur-light);-webkit-backdrop-filter:var(--lg-blur-light);box-shadow:0 1px #ffffff80 inset,0 -2px 8px #00288c2e inset,0 12px 36px #3c50ff42}.up-next.soon{background:linear-gradient(135deg,#ff9f0ad6,#ff6b3dcc)}.up-next.live{background:linear-gradient(135deg,#30d158d6,#0fb5a8cc)}.up-next-btn{background:#ffffffe6}.level-badge{box-shadow:0 1px #ffffff8c inset,0 4px 12px color-mix(in srgb,var(--l2) 38%,transparent)}.dash-hello h1{text-shadow:0 1px 0 rgba(255,255,255,.6)}.prejoin-preview{border-radius:30px;box-shadow:0 0 0 1px #ffffff80,0 30px 80px #3c287840}.round{box-shadow:0 1px #ffffff4d inset,0 0 0 .5px #fff3 inset}.toast{background:#1e1e28d1;backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);box-shadow:var(--lg-dark-shadow)}.room,.viewer{background:var(--wallpaper-dark);--label-2: rgba(235, 235, 245, .62);--label-3: rgba(235, 235, 245, .34)}.topbar,.viewer-head{margin:10px 14px 0;border-radius:980px;background:var(--lg-dark-fill);backdrop-filter:var(--lg-blur-light);-webkit-backdrop-filter:var(--lg-blur-light);box-shadow:var(--lg-dark-shadow);border:0}.controls-group{background:var(--lg-dark-fill);backdrop-filter:var(--lg-blur-light);-webkit-backdrop-filter:var(--lg-blur-light);box-shadow:var(--lg-dark-shadow);border-radius:980px}.ctl .ctl-icon{box-shadow:0 1px #ffffff38 inset,0 0 0 .5px #ffffff1a inset}.panel{background:var(--lg-dark-fill);backdrop-filter:var(--lg-blur-light);-webkit-backdrop-filter:var(--lg-blur-light);box-shadow:var(--lg-dark-shadow);border:0;border-radius:28px}.tile{border-radius:26px;box-shadow:0 0 0 1px #ffffff1f inset,0 1px #fff3 inset,0 18px 50px #0000006b}.tile-label,.tile-name{background:#1e1e2866;backdrop-filter:blur(14px) saturate(170%);-webkit-backdrop-filter:blur(14px) saturate(170%);box-shadow:0 1px #ffffff38 inset,0 0 0 .5px #ffffff29 inset;border-radius:980px}.board-wrap,.viewer-board{border-radius:26px;box-shadow:0 0 0 1px #ffffff24,0 18px 50px #0000006b}.msg:not(.mine),.vocab-card,.vocab-form{background:var(--lg-dark-inner);box-shadow:var(--lg-dark-rim)}.room .btn.danger,.room .btn.leave{box-shadow:0 1px #ffffff59 inset,0 8px 22px #ff3b3052}.room .seg,.viewer .seg{border-radius:980px}.room .seg:before,.viewer .seg:before{border-radius:980px}.zoom-controls,.sel-actions{border-radius:980px;box-shadow:var(--lg-rim),0 8px 24px #0000002e}@media (max-width: 768px){.home-head{width:calc(100% - 24px);top:max(8px,env(safe-area-inset-top));margin-top:max(8px,env(safe-area-inset-top));height:56px;padding:0 8px 0 14px}.card{border-radius:26px}.topbar{margin:max(6px,env(safe-area-inset-top)) 8px 0}}@media (prefers-reduced-transparency: reduce){.card,.modal,.home-head,.account-menu,.dots-menu,.reminders-prompt{background:#fffffff0}.topbar,.controls-group,.panel,.viewer-head{background:#1c1c22f5}}.pe-footer{background:#fff9;box-shadow:0 1px #ffffffb3 inset;border-top-color:#ffffff8c}.prejoin-me{background:var(--lg-inner);box-shadow:var(--lg-inner-rim)}.board-toolbar{background:var(--lg-dark-fill);backdrop-filter:var(--lg-blur-light);-webkit-backdrop-filter:var(--lg-blur-light);box-shadow:var(--lg-dark-rim);border-radius:980px}.viewer-head{position:relative;z-index:20}.home-head .account,.viewer-head .account{position:static}.home-head .account-menu,.viewer-head .account-menu{top:calc(100% + 10px);right:8px}.viewer-head{padding:8px;margin-top:max(10px,env(safe-area-inset-top))}.viewer-head .back{margin-left:0}.home-head{padding-right:11px}.viewer-body{padding-top:12px}.topbar{padding-right:9px;padding-left:14px}@media (max-width: 768px){.home-head{padding-right:10px}}.viewer-head,.topbar{box-shadow:var(--lg-dark-rim),0 4px 14px #00000038}@media (min-width: 769px){.room{grid-template-rows:auto minmax(0,1fr) 96px}.topbar{margin:10px 12px;min-height:56px}}.tile-name{background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important;padding:0}.stage{padding-top:0}.grid{align-content:start}.grid.n1{grid-template-rows:minmax(0,1fr);align-content:stretch}.grid.n1 .tile{aspect-ratio:auto;height:100%;max-height:none}.tools section,.person,.vocab-form,.panel .seg{background:var(--lg-dark-inner);box-shadow:var(--lg-dark-rim)}.tools section{border-radius:20px}.person{border-bottom-color:#ffffff0f}.people-bar+.person{border-top-left-radius:18px;border-top-right-radius:18px}.person:last-child{border-bottom-left-radius:18px;border-bottom-right-radius:18px}.person.with-hand{background:#ffd60a24}.room .seg,.viewer .seg{padding:3px;background:#ffffff14;box-shadow:var(--lg-dark-rim)}.room .seg:before,.viewer .seg:before{top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--n));background:#ffffff38;box-shadow:0 1px #ffffff4d inset,0 4px 12px #00000040}.room .seg button,.viewer .seg button{border-radius:980px}.room .btn:not(.primary):not(.danger):not(.ghost):not(.success):not(.leave),.viewer .btn:not(.primary):not(.danger):not(.ghost):not(.success){background:#ffffff1a;box-shadow:0 1px #ffffff2e inset,0 0 0 .5px #ffffff1a inset}.room .btn:not(.primary):not(.danger):not(.ghost):not(.success):not(.leave):hover:not(:disabled),.viewer .btn:not(.primary):not(.danger):not(.ghost):not(.success):hover:not(:disabled){background:#ffffff29}.room .btn.primary,.viewer .btn.primary{background:linear-gradient(180deg,#409cfff2,#0071e3eb);box-shadow:0 1px #ffffff73 inset,0 6px 18px #0071e34d}.room input,.viewer input,.room textarea,.viewer textarea{background:#ffffff14;box-shadow:var(--lg-dark-rim);border-radius:14px}.room .toggle input,.viewer .toggle input{background:#ffffff29;box-shadow:var(--lg-dark-rim);border-radius:980px}.room .toggle input:checked,.viewer .toggle input:checked{background:var(--green)}.room .pill,.viewer .pill{background:#0a84ff33;box-shadow:0 0 0 .5px #64aaff4d inset}.people{gap:8px}.people .person,.people-bar+.person,.person:last-child{border-radius:18px;border-bottom:0}.tile{--tint: #5e5ce6;background:radial-gradient(ellipse 55% 60% at 50% 50%,color-mix(in srgb,var(--tint) 22%,transparent) 0%,transparent 70%),radial-gradient(ellipse 120% 80% at 50% -10%,rgba(255,255,255,.08) 0%,transparent 60%),#1e1e2a8c;backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%)}.tile .avatar{box-shadow:0 0 0 1px #ffffff2e inset,0 10px 40px color-mix(in srgb,var(--tint) 45%,transparent)}@media (prefers-reduced-transparency: reduce){.tile{background:#24242c;backdrop-filter:none;-webkit-backdrop-filter:none}}.tile{background:radial-gradient(ellipse 60% 70% at 50% 50%,color-mix(in srgb,var(--tint) 38%,transparent) 0%,transparent 72%),radial-gradient(ellipse 120% 70% at 50% -10%,rgba(255,255,255,.14) 0%,transparent 60%),linear-gradient(160deg,#404052c7,#262634d1);box-shadow:0 0 0 1px #fff3 inset,0 1px #ffffff52 inset,0 20px 56px #0000008c}.tile.speaking{box-shadow:inset 0 0 0 3px var(--green-dark),0 0 24px #30d1584d,0 20px 56px #0000008c}.tile .avatar{box-shadow:0 0 0 1px #ffffff38 inset,0 12px 48px color-mix(in srgb,var(--tint) 65%,transparent)}.tt section{gap:12px;padding:14px}.tt-head{display:flex;gap:12px;align-items:flex-start}.tt-head h3{margin:0;font-size:15px;font-weight:600;text-transform:none;letter-spacing:0;color:#fff;line-height:30px}.tt-head p{margin:-4px 0 0;font-size:12.5px;line-height:1.4;color:#ebebf58c}.tt-ico{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;box-shadow:0 1px #ffffff59 inset,0 4px 12px #0000004d}.tt-ico.blue{background:linear-gradient(180deg,#4aa3ff,#0a6cf0)}.tt-ico.orange{background:linear-gradient(180deg,#ffb340,#f08a00)}.tt-ico.green{background:linear-gradient(180deg,#4fe07a,#1fb14a)}.tt-ico.purple{background:linear-gradient(180deg,#c97cff,#9a3fe0)}.tt-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tt-choice button{display:grid;justify-items:start;gap:3px;padding:12px;border-radius:16px;text-align:left;color:#ebebf5bf;background:#ffffff0f;box-shadow:0 0 0 1px #ffffff14 inset;transition:background .2s var(--ease),box-shadow .2s var(--ease),transform .15s var(--ease)}.tt-choice button svg{margin-bottom:4px;opacity:.8}.tt-choice button b{font-size:14px;font-weight:600;color:#fff}.tt-choice button span{font-size:12px;color:#ebebf580}.tt-choice button:hover{background:#ffffff1a}.tt-choice button:active{transform:scale(.97)}.tt-choice button.on{background:linear-gradient(180deg,#0a84ff5c,#0a84ff33);box-shadow:0 0 0 1.5px #409cffd9 inset,0 1px #ffffff40 inset,0 6px 20px #0a84ff40}.tt-choice button.on svg{color:#6cb6ff;opacity:1}.tt-choice button.on span{color:#dcebffbf}.tt-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:10px 14px;border-radius:14px;font-size:14px;font-weight:600;color:#fff;background:#ffffff1a;box-shadow:0 0 0 1px #ffffff1a inset,0 1px #ffffff29 inset;transition:background .2s var(--ease),transform .15s var(--ease)}.tt-row:hover{background:#ffffff26}.tt-row:active{transform:scale(.98)}.tt-row.danger{color:#ff6961;background:#ff453a24;box-shadow:0 0 0 1px #ff453a47 inset}.tt-row.danger:hover{background:#ff453a38}.tt-row.accent{background:linear-gradient(180deg,#a35bff,#7d2fe0);box-shadow:0 1px #ffffff4d inset,0 6px 18px #9646f059}.tt-row.accent:hover{filter:brightness(1.08)}.tt-row.active{color:#e2c2ff;background:#af52de33;box-shadow:0 0 0 1.5px #bf5af2b3 inset}.room .tt-input,.viewer .tt-input{width:100%;height:44px}.tt-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tt-presets button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;height:58px;border-radius:14px;color:#fff;background:#ff9f0a1f;box-shadow:0 0 0 1px #ff9f0a4d inset;transition:background .2s var(--ease),transform .15s var(--ease)}.tt-presets button b{font-size:20px;font-weight:700;line-height:1.1;color:#ffb340}.tt-presets button span{font-size:11px;color:#ffd296b3}.tt-presets button:hover{background:#ff9f0a38}.tt-presets button:active{transform:scale(.95)}.tt-custom{display:grid;grid-template-columns:1fr auto;gap:8px}.tt-num{display:flex;align-items:center;height:44px;padding:0 14px;border-radius:14px;background:#ffffff14;box-shadow:var(--lg-dark-rim)}.tt-num input{flex:1;min-width:0;height:100%;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;color:#fff;font-size:15px;-moz-appearance:textfield}.tt-num input::-webkit-outer-spin-button,.tt-num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tt-num span{color:#ebebf580;font-size:14px}.tt-start{height:44px;padding:0 20px;border-radius:14px;font-weight:600;font-size:14px;color:#fff;background:linear-gradient(180deg,#ffb340,#f08a00);box-shadow:0 1px #ffffff59 inset,0 6px 18px #ff95004d;transition:filter .2s var(--ease),opacity .2s var(--ease),transform .15s var(--ease)}.tt-start:hover:not(:disabled){filter:brightness(1.08)}.tt-start:active:not(:disabled){transform:scale(.97)}.tt-start:disabled{opacity:.35;box-shadow:none;cursor:default}.tt-list{border-radius:14px;background:#ffffff0f;box-shadow:0 0 0 1px #ffffff14 inset;overflow:hidden}.tt-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:0 12px 0 14px;font-size:14px;color:#fff;cursor:pointer}.tt-switch+.tt-switch{box-shadow:0 -1px #ffffff14}.tt-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;position:relative;width:50px;height:30px;margin:0;border-radius:980px;cursor:pointer;background:#7878805c;transition:background .25s var(--ease)}.tt-switch input:after{content:"";position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000004d;transition:transform .25s var(--spring)}.tt-switch input:checked{background:#30d158}.tt-switch input:checked:after{transform:translate(20px)}.tt button{border:0;font-family:inherit;cursor:pointer}.tt-row{white-space:nowrap}.board-toolbar{gap:2px;padding:4px;border-radius:980px}.topbar-tools .board-toolbar{padding:4px;gap:2px;border-radius:980px;background:#ffffff0f;box-shadow:0 0 0 1px #ffffff14 inset;backdrop-filter:none;-webkit-backdrop-filter:none}.tb-group{gap:2px;padding:0 4px;border-right:0;position:relative}.tb-group+.tb-group:before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:1px;background:#ffffff1f}.tb-btn,.topbar-tools .tb-btn{min-width:36px;height:36px;padding:0 9px;border-radius:980px;color:#ebebf5d1}.tb-btn:hover:not(:disabled){background:#ffffff1a;color:#fff}.tb-btn:disabled{opacity:.35}.tb-btn.active{color:#fff;background:linear-gradient(180deg,#3d9bff,#0a6cf0);box-shadow:0 1px #ffffff59 inset,0 4px 14px #0a84ff66}.tb-btn.open{background:#ffffff29;color:#fff}.tb-btn.with-caret{padding:0 15px 0 9px}.tb-btn .caret{right:6px;bottom:9px}.tb-btn .dot{background:currentColor}.tb-btn.lock.locked{color:#ffd60a;background:#ffd60a29;box-shadow:0 0 0 1px #ffd60a59 inset}.tb-btn.danger:hover:not(:disabled),.tb-btn.danger.open{color:#ff6961;background:#ff453a29}.swatch,.topbar-tools .swatch{width:22px;height:22px;margin:0 3px;box-shadow:0 0 0 1px #ffffff38 inset,0 2px 6px #0000004d}.swatch.active,.topbar-tools .swatch.active{box-shadow:0 0 0 2px #14141ce6,0 0 0 4px #fff;transform:scale(1.05)}.swatch[style*="#1d1d1f"]{box-shadow:0 0 0 1px #fff6 inset,0 2px 6px #0000004d}.swatch.paper{border-radius:6px}.tb-popover{position:fixed;z-index:1000;margin:0;padding:6px;min-width:200px;border-radius:18px;background:#22222ce6;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);box-shadow:0 0 0 .5px #ffffff2e inset,0 1px #ffffff2e inset,0 20px 50px #00000080;color:#fff}.tb-popover .tb-btn{height:38px;border-radius:12px;justify-content:flex-start;font-size:14px;font-weight:500;color:#fff}.tb-popover .tb-btn.active{background:#0a84ff47;box-shadow:none}.tb-menu-title{padding:6px 10px 4px;font-size:12px;font-weight:600;color:#ebebf580}.tb-menu .tb-btn>svg:last-child{margin-left:auto;color:#6cb6ff}.bg-preview{width:22px;height:22px;border-radius:6px;background-color:#fff;box-shadow:0 0 0 1px #0000001a inset;flex:none}.bg-preview.lines{background-image:repeating-linear-gradient(180deg,transparent 0 5px,#b9cdf0 5px 6px)}.bg-preview.grid{background-image:radial-gradient(#9aa3b5 1px,transparent 1.3px);background-size:5px 5px}.tb-confirm{width:260px;padding:14px}.tb-confirm b{display:block;font-size:15px;margin-bottom:4px}.tb-confirm p{margin:0 0 12px;font-size:13px;line-height:1.4;color:#ebebf599}.tb-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tb-confirm-actions button{height:38px;border:0;border-radius:12px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:#fff}.tb-cancel{background:#ffffff1f}.tb-cancel:hover{background:#ffffff2e}.tb-danger{background:linear-gradient(180deg,#ff5a4f,#e0261b);box-shadow:0 1px #ffffff4d inset,0 6px 16px #ff3b3059}.tb-btn{transition:background-color .2s var(--ease),color .2s var(--ease),filter .25s var(--ease),box-shadow .25s var(--ease),transform .2s var(--bounce)}.tb-btn.active:hover:not(:disabled){background:linear-gradient(180deg,#3d9bff,#0a6cf0);color:#fff;filter:brightness(1.1);box-shadow:0 1px #fff6 inset,0 6px 18px #0a84ff80}.tb-popover .tb-btn.active:hover:not(:disabled){background:#0a84ff5c;box-shadow:none;filter:none}.tb-btn.lock.locked:hover:not(:disabled){color:#ffd60a;background:#ffd60a3d}.board-toolbar>.tb-group:first-child{padding-left:0}.board-toolbar>.tb-group:last-of-type{padding-right:0}.board-toolbar .tb-btn:not(.with-caret):not(.wide){width:36px;min-width:36px;padding:0}.board-toolbar .tb-btn>svg{display:block}.tb-btn[title^=Выделить]>svg{transform:translate(1px)}.tb-btn[title="Заливка фигуры"]>svg{transform:translateY(2.5px)}html:has(.room,.viewer){background:#0b0b14;overscroll-behavior:none}body:has(.room,.viewer){overscroll-behavior:none}body:has(.room,.viewer):before{background:var(--wallpaper-dark)}.room,.viewer{--lg-dark-fill: rgba(36, 36, 46, .72);--lg-dark-inner: rgba(255, 255, 255, .1)}.room .tile{background:radial-gradient(ellipse 60% 70% at 50% 50%,color-mix(in srgb,var(--tint) 38%,transparent) 0%,transparent 72%),radial-gradient(ellipse 120% 70% at 50% -10%,rgba(255,255,255,.14) 0%,transparent 60%),linear-gradient(160deg,#404052d4,#262634de)}.room .tile-label{background:#1e1e287a}.room .tb-popover,.tb-popover{background:#22222ced}
