@font-face{font-family:Vazirmatn;src:url(/fonts/Vazirmatn.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--ym-bg:#f3f4f2;--ym-bg-elevated:#ffffff;--ym-surface:#ffffff;--ym-surface-2:#eef1ef;--ym-ink:#1a211e;--ym-muted:#5c6762;--ym-line:#d7ddd9;--ym-primary:#0c5c4c;--ym-primary-hover:#0a4d40;--ym-primary-ink:#f7fffc;--ym-primary-soft:#e3f3ed;--ym-success:#1b6b43;--ym-warning:#8a5a10;--ym-danger:#a32018;--ym-info:#1d567c;--ym-live:#b42318;--ym-locked:#6b6258;--ym-focus:#0c5c4c;--ym-disabled:#9aa39e;--ym-shadow:0 1px 2px rgba(26,33,30,0.06);--ym-radius:8px;--ym-radius-sm:6px;--ym-control-h:44px;--ym-icon:44px;--ym-space-1:4px;--ym-space-2:8px;--ym-space-3:12px;--ym-space-4:16px;--ym-space-5:24px;--ym-space-6:32px;--ym-space-7:40px;--ym-space-8:48px;--ym-font:Vazirmatn,"Segoe UI",Tahoma,sans-serif;--ym-font-display:var(--ym-font);--ym-font-body:var(--ym-font);--ym-text-display:2rem;--ym-text-h1:1.5rem;--ym-text-h2:1.125rem;--ym-text-h3:1rem;--ym-text-body:0.975rem;--ym-text-small:0.875rem;--ym-text-caption:0.8125rem;--ym-leading:1.75;--ym-stage:#121816;--ym-transition:0.15s ease}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--ym-ink);background:var(--ym-bg);font-family:var(--ym-font);font-size:var(--ym-text-body);font-weight:400;line-height:var(--ym-leading)}.ym-ltr{direction:ltr;unicode-bidi:isolate;text-align:left}a{color:inherit}button,input,select{font:inherit}:focus-visible{outline:2px solid var(--ym-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.ym-boot{min-height:100vh;display:grid;place-content:center;gap:var(--ym-space-3);color:var(--ym-muted)}.ym-spinner{width:1.1rem;height:1.1rem;border:2px solid var(--ym-line);border-top-color:var(--ym-primary);border-radius:50%;display:inline-block;animation:ym-spin .8s linear infinite}@keyframes ym-spin{to{transform:rotate(1turn)}}.ym-brand{font-family:var(--ym-font);font-size:var(--ym-text-display);font-weight:700;letter-spacing:0;line-height:1.35;margin:0}.ym-eyebrow{margin:0 0 var(--ym-space-2);color:var(--ym-primary);font-weight:600;letter-spacing:0;font-size:.78rem}.ym-lead{margin:var(--ym-space-4) 0 0;max-width:28rem;color:var(--ym-muted);line-height:1.7;font-size:1.05rem}.ym-logo{font-family:var(--ym-font-display);font-size:1.35rem}.ym-caption,.ym-help,.ym-muted{color:var(--ym-muted);font-size:.9rem}.ym-help,.ym-inline-error{margin:var(--ym-space-3) 0 0}.ym-inline-error{color:var(--ym-danger)}.ym-api-chip{display:inline-flex;margin-top:var(--ym-space-5);padding:.35rem .75rem;border-radius:999px;border:1px solid var(--ym-line);font-size:.85rem}.ym-api-chip.is-ok{color:var(--ym-success);border-color:rgba(31,122,76,.35);background:rgba(31,122,76,.08)}.ym-api-chip.is-bad{color:var(--ym-danger);border-color:rgba(180,35,24,.3)}.ym-auth{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;gap:var(--ym-space-6);align-items:center;padding:clamp(1.25rem,4vw,3rem);max-width:1100px;margin:0 auto}.ym-auth-card,.ym-class-card,.ym-ended-card,.ym-panel,.ym-prejoin-card{background:var(--ym-surface);border:1px solid var(--ym-line);border-radius:var(--ym-radius);box-shadow:var(--ym-shadow)}.ym-auth-card{padding:var(--ym-space-5)}.ym-tabs{display:flex;gap:var(--ym-space-1);margin-bottom:var(--ym-space-4);padding:var(--ym-space-1);background:var(--ym-surface-2);border-radius:var(--ym-radius-sm)}.ym-tabs button{flex:1;border:0;background:transparent;color:var(--ym-muted);border-radius:var(--ym-radius-sm);min-height:40px;cursor:pointer}.ym-tabs button.active,.ym-tabs button.is-active{background:var(--ym-surface);color:var(--ym-ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06)}.ym-tabs-compact{width:auto;margin:0}.ym-field,.ym-form{display:grid;gap:var(--ym-space-2)}.ym-form{gap:var(--ym-space-4)}.ym-field-label{font-size:.9rem;color:var(--ym-muted)}.ym-field-error,.ym-field-hint{font-size:.82rem}.ym-field-error{color:var(--ym-danger)}.chat-peer select,.ym-compose input,.ym-input{width:100%;min-height:var(--ym-control-h);border:1px solid var(--ym-line);background:var(--ym-bg-elevated);color:var(--ym-ink);border-radius:var(--ym-radius-sm);padding:.7rem .85rem;font-size:16px}.ym-stage-play{position:absolute;inset:0;margin:auto;width:max-content;height:var(--ym-control-h);padding:0 var(--ym-space-4);border:0;border-radius:var(--ym-radius-sm);background:var(--ym-primary);color:var(--ym-primary-ink);font:inherit;font-weight:600;cursor:pointer}.ym-input-wrap{position:relative}.ym-input-wrap .ym-input{padding-inline-end:2.8rem}.ym-input-affix{position:absolute;inset-inline-end:.35rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--ym-muted);width:2.4rem;height:2.4rem;display:grid;place-items:center;cursor:pointer;border-radius:8px}.ym-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:var(--ym-control-h);padding:0 1rem;border-radius:var(--ym-radius-sm);border:1px solid transparent;cursor:pointer;font-weight:600;transition:background .15s ease,color .15s ease,border-color .15s ease}.ym-btn:disabled{opacity:.55;cursor:not-allowed}.ym-btn-sm{min-height:36px;padding:0 .8rem;font-size:.9rem}.ym-btn-lg{min-height:48px;padding:0 1.2rem}.ym-btn-primary{background:var(--ym-primary);color:var(--ym-primary-ink)}.ym-btn-primary:hover:not(:disabled){background:var(--ym-primary-hover)}.ym-btn-secondary{background:var(--ym-surface);border-color:var(--ym-line);color:var(--ym-ink)}.ym-btn-ghost{background:transparent;color:var(--ym-ink);border-color:transparent}.ym-btn-ghost:hover:not(:disabled){background:var(--ym-surface-2)}.ym-btn-danger{background:transparent;color:var(--ym-danger);border-color:rgba(180,35,24,.35)}.ym-btn-danger-solid{background:var(--ym-danger);color:#fff}.ym-icon-btn{width:var(--ym-icon);height:var(--ym-icon);border-radius:12px;border:1px solid var(--ym-line);background:var(--ym-surface);color:var(--ym-ink);display:inline-grid;place-items:center;cursor:pointer}.ym-icon-btn.is-active{background:var(--ym-primary-soft);border-color:rgba(15,106,86,.35);color:var(--ym-primary)}.ym-icon-btn.is-danger{color:var(--ym-danger)}.ym-icon-btn.is-locked,.ym-icon-btn:disabled{color:var(--ym-disabled);cursor:not-allowed}.ym-badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.18rem .65rem;font-size:.78rem;border:1px solid var(--ym-line);background:var(--ym-surface-2)}.ym-badge-live{color:var(--ym-live);border-color:rgba(194,65,12,.35);background:rgba(194,65,12,.08)}.ym-badge-live.is-pulse:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:ym-pulse 1.6s infinite}@keyframes ym-pulse{70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.ym-badge-ok{color:var(--ym-success);border-color:rgba(31,122,76,.3);background:rgba(31,122,76,.08)}.ym-badge-warn{color:var(--ym-warning);border-color:rgba(154,107,18,.3);background:rgba(154,107,18,.08)}.ym-badge-danger{color:var(--ym-danger)}.ym-badge-muted,.ym-badge-neutral,.ym-status{color:var(--ym-muted)}.ym-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem}.ym-status-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--ym-disabled)}.ym-status-ok .ym-status-dot{background:var(--ym-success)}.ym-status-warn .ym-status-dot{background:var(--ym-warning)}.ym-status-danger .ym-status-dot{background:var(--ym-danger)}.ym-avatar{width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;background:var(--ym-primary-soft);color:var(--ym-primary);font-size:.8rem;font-weight:700;flex:0 0 auto}.ym-topbar{justify-content:space-between;min-height:64px;padding:var(--ym-space-3) var(--ym-space-4);background:var(--ym-surface);border-bottom:1px solid var(--ym-line);position:sticky;top:0;z-index:20}.ym-topbar,.ym-topbar-end,.ym-topbar-start{display:flex;align-items:center;gap:var(--ym-space-3)}.ym-userchip{display:flex;align-items:center;gap:.65rem}.ym-userchip span,.ym-userchip strong{display:block}.ym-userchip span{color:var(--ym-muted);font-size:.8rem}.ym-home-main,.ym-prejoin{max-width:960px;margin:0 auto;padding:var(--ym-space-5) var(--ym-space-4) var(--ym-space-6)}.ym-ended-card h1,.ym-home-hero h1,.ym-prejoin-card h1,.ym-room-title{font-family:var(--ym-font);font-size:var(--ym-text-h1);font-weight:700;line-height:1.4;margin:0}.ym-home-hero p{color:var(--ym-muted);max-width:36rem}.ym-panel{padding:var(--ym-space-4);margin-top:var(--ym-space-4)}.ym-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--ym-space-3);margin-bottom:var(--ym-space-3)}.ym-dialog-head h2,.ym-panel-head h2,.ym-sheet-head h2{margin:0;font-size:var(--ym-text-h2);font-weight:600;font-family:var(--ym-font);line-height:1.45}.ym-inline-form{grid-template-columns:1fr auto;align-items:end}.ym-class-list,.ym-inline-form{display:grid;gap:var(--ym-space-3)}.ym-class-list{list-style:none;margin:0;padding:0}.ym-class-card{display:flex;justify-content:space-between;gap:var(--ym-space-4);padding:var(--ym-space-4);align-items:center}.ym-class-card h3{margin:0 0 var(--ym-space-2);font-size:1.05rem}.ym-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.ym-card-actions,.ym-prejoin-actions,.ym-stack-actions{display:flex;flex-wrap:wrap;gap:.45rem}.ym-prejoin-card{padding:var(--ym-space-5);margin-top:var(--ym-space-5)}.ym-kv{display:grid;gap:var(--ym-space-3);margin:var(--ym-space-5) 0}.ym-kv div{display:grid;gap:.2rem;padding-bottom:var(--ym-space-3);border-bottom:1px solid var(--ym-line)}.ym-kv dt{color:var(--ym-muted);font-size:.82rem}.ym-kv dd{margin:0}.ym-room{min-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--ym-bg)}.ym-room-body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--ym-space-3);padding:var(--ym-space-3);min-height:0;align-items:stretch}.ym-room-body:has(.ym-room-side){grid-template-columns:minmax(0,1fr) minmax(16rem,22rem)}.ym-room-main{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:var(--ym-space-3);min-width:0;min-height:0}.ym-stage{position:relative;background:var(--ym-stage);border-radius:var(--ym-radius);overflow:hidden;min-height:0;height:100%;border:1px solid #1c2421}.ym-video{display:block;width:100%;height:100%;min-height:280px;object-fit:contain;background:#000}.ym-stage .ym-loading,.ym-stage-empty{min-height:min(52vh,520px);display:grid;place-content:center;color:#d7e0db;text-align:center;padding:var(--ym-space-5);gap:var(--ym-space-3)}.ym-stage-overlay{position:absolute;inset-inline:0;bottom:0;padding:.55rem .85rem;background:rgba(0,0,0,.55);color:#fff;font-size:.9rem}.ym-quality{position:absolute;top:.75rem;inset-inline-start:.75rem;display:grid;gap:.2rem;color:#d7e0db;font-size:.75rem}.ym-quality select{border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.45);color:#fff;min-height:34px}.ym-controlbar{gap:var(--ym-space-3);justify-content:space-between;padding:var(--ym-space-2) var(--ym-space-3);background:var(--ym-surface);border:1px solid var(--ym-line);border-radius:var(--ym-radius)}.ym-control-group,.ym-controlbar{display:flex;flex-wrap:wrap;align-items:center}.ym-control-group{gap:.45rem}.ym-room-side{display:grid;gap:var(--ym-space-3);align-content:start;min-height:0;overflow:auto}.ym-room-side:has(>.ym-panel:only-child){overflow:hidden}.ym-room-side>.ym-panel:only-child{height:100%;min-height:0;display:flex;flex-direction:column}.ym-room-side>.ym-panel:only-child .ym-chat-list{flex:1 1 auto;max-height:none;min-height:0}.ym-room-drawer{min-height:0;overflow:auto;background:var(--ym-surface);border:1px solid var(--ym-line);border-radius:var(--ym-radius)}.ym-room-drawer .ym-chat-list{max-height:none}.ym-room .ym-panel{box-shadow:none;margin-top:0}.ym-chat-list{list-style:none;margin:0;padding:0;max-height:min(42vh,22rem);overflow:auto;display:grid;gap:var(--ym-space-2)}.ym-chat-item{font-size:.92rem;line-height:1.45;padding:.55rem .65rem;border-radius:10px;background:var(--ym-surface-2)}.ym-chat-item.is-mine{background:var(--ym-primary-soft)}.ym-chat-actions{display:inline-flex;gap:.4rem;margin-inline-start:.5rem}.ym-chat-actions button{border:0;background:transparent;color:var(--ym-muted);cursor:pointer;font-size:.8rem}.ym-compose{display:grid;grid-template-columns:1fr auto;gap:.45rem;margin-top:var(--ym-space-3)}.ym-compose button{min-height:var(--ym-control-h);border:0;border-radius:var(--ym-radius-sm);background:var(--ym-primary);color:var(--ym-primary-ink);padding:0 1rem;cursor:pointer;font-weight:600}.ym-compose button:disabled{opacity:.55;cursor:not-allowed}.ym-people{list-style:none;margin:0;padding:0;max-height:18rem;overflow:auto}.ym-people,.ym-person{display:grid;gap:.65rem}.ym-person{grid-template-columns:auto 1fr auto;align-items:start}.ym-person-main{display:grid;gap:.15rem;min-width:0}.ym-person-menu{grid-column:1/-1}.ym-empty,.ym-loading{display:grid;gap:.35rem;place-items:center;text-align:center;color:var(--ym-muted);padding:var(--ym-space-5) var(--ym-space-3)}.ym-empty strong{color:var(--ym-ink)}.ym-room-ended{place-items:center;padding:var(--ym-space-6) var(--ym-space-4)}.ym-ended-card{width:min(28rem,100%);padding:var(--ym-space-5);display:grid;gap:var(--ym-space-3);text-align:center}.ym-dialog-root,.ym-sheet-root{position:fixed;inset:0;z-index:40;display:grid;place-items:center}.ym-dialog-backdrop{position:absolute;inset:0;border:0;background:rgba(20,24,22,.45);cursor:pointer}.ym-dialog{position:relative;width:min(28rem,calc(100vw - 2rem));background:var(--ym-surface);border-radius:var(--ym-radius);border:1px solid var(--ym-line);box-shadow:var(--ym-shadow);padding:var(--ym-space-4);display:grid;gap:var(--ym-space-3)}.ym-dialog-head{display:flex;justify-content:space-between;gap:var(--ym-space-3)}.ym-dialog-head h2{margin:0}.ym-dialog-body,.ym-dialog-head p{margin:.35rem 0 0;color:var(--ym-muted)}.ym-dialog-foot{display:flex;justify-content:flex-end;gap:.5rem}.ym-sheet-root{place-items:stretch end}.ym-sheet{position:relative;width:min(28rem,100%);max-height:88vh;margin-top:auto;background:var(--ym-surface);border-start-start-radius:12px;border-start-end-radius:12px;border:1px solid var(--ym-line);display:grid;grid-template-rows:auto 1fr;overflow:hidden}.ym-sheet-head{display:flex;justify-content:space-between;align-items:center;padding:var(--ym-space-3) var(--ym-space-4);border-bottom:1px solid var(--ym-line)}.ym-sheet-head h2{margin:0}.ym-sheet-body{overflow:auto;padding:var(--ym-space-3);display:grid;gap:var(--ym-space-3)}.ym-toasts{position:fixed;inset-inline-end:1rem;bottom:1rem;z-index:50;display:grid;gap:.5rem;width:min(22rem,calc(100vw - 2rem))}.ym-toast{background:var(--ym-ink);color:#fff;border-radius:12px;padding:.8rem .95rem;box-shadow:var(--ym-shadow)}.ym-toast-success{background:var(--ym-success)}.ym-toast-warn{background:var(--ym-warning)}.ym-toast-danger{background:var(--ym-danger)}.ym-room-side-desktop .ym-panel{margin-top:0}@media (max-width:960px){.ym-auth{grid-template-columns:1fr}.ym-room-body,.ym-room-body:has(.ym-room-side){grid-template-columns:1fr}.ym-room-side-desktop{display:none}.ym-class-card,.ym-inline-form{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.ym-stage,.ym-video{min-height:42vh;height:auto}.ym-room-main{grid-template-rows:auto auto}.ym-room-main:has(.ym-room-drawer){grid-template-rows:minmax(8rem,1fr) minmax(0,1fr) auto}.ym-room-main:has(.ym-room-drawer) .ym-stage,.ym-room-main:has(.ym-room-drawer) .ym-video{min-height:0;height:100%}.ym-video{height:42vh}}@media (max-width:640px){.ym-topbar{flex-wrap:wrap}.ym-userchip span{display:none}.ym-compose{grid-template-columns:1fr}.ym-controlbar{position:sticky;bottom:.5rem}}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .65rem;border:1px solid var(--ym-line);background:transparent;color:inherit;cursor:pointer}.muted{color:var(--ym-muted)}.error{color:var(--ym-danger)}.ok{color:var(--ym-success)}.mode-row{display:flex;gap:.4rem}.room-scroll{max-height:14rem;overflow:auto}.room-actions{display:flex;flex-wrap:wrap;gap:.4rem}.chat-peer{display:grid;gap:.35rem;margin:.75rem 0;color:var(--ym-muted);font-size:.9rem}