/* Aurora v6.1 — White liquid-glass design system (blue accents, animated gradient blobs) */
@font-face{font-family:Vazirmatn;src:url('../fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../fonts/Vazirmatn-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../fonts/Vazirmatn-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../fonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('../fonts/Vazirmatn-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}

#aurora-root{
  --bg:#f4f8ff;
  --surface:#ffffff;
  --surface-2:#eef4ff;
  --ink:#0b1a3a;
  --ink-2:#4b5f88;
  --ink-3:#8ea0c4;
  --line:rgba(11,26,58,.08);
  --line-2:rgba(11,26,58,.14);
  --blue:#2563eb;
  --blue-2:#3b82f6;
  --blue-3:#60a5fa;
  --sky:#7dd3fc;
  --blue-4:#1d4ed8;
  --grad:linear-gradient(135deg,#3b82f6 0%,#3b82f6 100%);
  --grad-soft:linear-gradient(135deg,rgba(59,130,246,.14),rgba(99,102,241,.14));
  --success:#10b981; --warn:#f59e0b; --danger:#ef4444;
  --r:16px; --r-lg:22px; --r-xl:28px;
  --shadow-sm:0 2px 10px -3px rgba(15,32,79,.08);
  --shadow:0 10px 30px -12px rgba(15,32,79,.18);
  --shadow-lg:0 24px 60px -18px rgba(15,32,79,.28);
  --glass:rgba(255,255,255,.62);
  --glass-strong:rgba(255,255,255,.78);
  font-family:Vazirmatn,system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--bg);
  min-height:100vh;
  direction:rtl; text-align:right;
  padding-bottom:28px;
  position:relative;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
#aurora-root *,#aurora-root *::before,#aurora-root *::after{box-sizing:border-box}
#aurora-root button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
#aurora-root input,#aurora-root textarea,#aurora-root select{font-family:inherit;color:inherit}
#aurora-root a{color:inherit;text-decoration:none}

/* ============ Animated gradient blobs (true liquid feel) ============ */
#aurora-root::before,
#aurora-root::after{
  content:'';
  position:fixed;
  pointer-events:none;
  z-index:0;
  border-radius:50%;
  filter:blur(80px);
  opacity:.55;
  will-change:transform;
}
#aurora-root::before{
  width:520px;height:520px;
  top:-160px;right:-120px;
  background:radial-gradient(circle at 30% 30%, #60a5fa, transparent 65%);
  animation:auroraBlob1 22s ease-in-out infinite alternate;
}
#aurora-root::after{
  width:480px;height:480px;
  bottom:-140px;left:-140px;
  background:radial-gradient(circle at 60% 40%, #93c5fd, transparent 65%);
  animation:auroraBlob2 26s ease-in-out infinite alternate;
}
.au-bg-extra{
  position:fixed;pointer-events:none;z-index:0;
  width:360px;height:360px;top:40%;left:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,#7dd3fc,transparent 65%);
  filter:blur(90px);opacity:.35;
  animation:auroraBlob3 30s ease-in-out infinite alternate;
}
@keyframes auroraBlob1{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(-60px,80px) scale(1.15)}
}
@keyframes auroraBlob2{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(80px,-60px) scale(1.2)}
}
@keyframes auroraBlob3{
  0%{transform:translate(-50%,-50%) scale(1)}
  100%{transform:translate(-30%,-70%) scale(1.3)}
}

.au-app{position:relative;z-index:2;max-width:540px;margin:0 auto;padding:16px 16px 0}

/* ============ True liquid glass surface ============ */
.au-glass{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,255,255,.42));
  backdrop-filter:blur(34px) saturate(190%) contrast(108%);
  border:1px solid rgba(255,255,255,.86);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    inset 0 -1px 0 rgba(74,144,255,.16),
    var(--shadow);
}
.au-glass::before,.au-card::before,.au-hero::after,.au-tabbar::before,.au-modal-body::before,.au-auth-card::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:
    linear-gradient(145deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.18) 22%,transparent 42%),
    radial-gradient(120px 80px at 18% 12%,rgba(255,255,255,.78),transparent 64%),
    radial-gradient(180px 100px at 92% 88%,rgba(96,165,250,.22),transparent 72%);
  mix-blend-mode:screen;opacity:.95;
}
.au-card{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.48));
  backdrop-filter:blur(30px) saturate(190%) contrast(108%);
  border-radius:var(--r-lg);
  padding:18px;
  border:1px solid rgba(255,255,255,.9);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(59,130,246,.12),
    0 14px 34px -18px rgba(15,32,79,.24);
}
.au-card > *,.au-hero > *,.au-modal-body > *,.au-auth-card > *{position:relative;z-index:1}
.au-card+.au-card{margin-top:12px}

/* ============ Topbar ============ */
.au-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 6px 18px;gap:12px;position:sticky;top:0;z-index:5;
  background:transparent;
}
.au-topbar h1{font-size:22px;font-weight:800;margin:0}
.au-topbar .avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--surface-2);border:2px solid rgba(255,255,255,.9);box-shadow:var(--shadow-sm)}
.au-brand{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--blue)}
.au-brand svg{width:22px;height:22px}
.au-flex{display:flex;align-items:center;gap:8px}
.au-flex-1{flex:1;min-width:0}
.au-mt{margin-top:12px}
.au-txt-sm{font-size:13px;color:var(--ink-2)}
.au-divider{height:1px;background:var(--line);margin:16px 0}

/* ============ Hero next-class card ============ */
.au-hero{
  position:relative;
  border-radius:var(--r-xl);
  padding:22px;
  margin-bottom:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.48));
  backdrop-filter:blur(36px) saturate(200%) contrast(110%);
  border:1px solid rgba(255,255,255,.9);
  overflow:hidden;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 20px 40px -18px rgba(37,99,235,.35);
}
.au-hero::before{
  content:'';position:absolute;top:-40%;right:-20%;width:60%;height:120%;
  background:radial-gradient(circle,rgba(96,165,250,.45),transparent 65%);
  filter:blur(20px);pointer-events:none;
}
.au-hero > *{position:relative;z-index:1}
.au-hero-label{color:var(--blue);font-size:12px;font-weight:700;display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}
.au-hero-title{font-size:20px;font-weight:800;margin:0 0 10px}
.au-count{display:flex;gap:10px;justify-content:center;margin:18px 0;font-variant-numeric:tabular-nums}
.au-count-num{
  background:linear-gradient(135deg,#2563eb,#3b82f6);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-size:44px;font-weight:800;line-height:1;letter-spacing:-1px;
}
.au-count-lbl{color:var(--ink-3);font-size:11px;text-align:center;display:block;margin-top:4px}
.au-hero-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.au-hero-teacher{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.au-hero-teacher img{width:32px;height:32px;border-radius:50%;border:2px solid #fff}

/* ============ Buttons ============ */
.au-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 20px;border-radius:14px;font-weight:600;font-size:14px;
  transition:transform .15s, box-shadow .15s, background .15s;
  background:var(--glass-strong);color:var(--ink);
  border:1px solid rgba(255,255,255,.9);
  backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 2px 8px -3px rgba(15,32,79,.1);
}
.au-btn:hover{transform:translateY(-1px)}
.au-btn:active{transform:translateY(0)}
.au-btn-primary{
  background:var(--grad);color:#fff;border:1px solid rgba(255,255,255,.35);
  box-shadow:0 10px 24px -8px rgba(59,130,246,.55), inset 0 1px 0 rgba(255,255,255,.4);
}
.au-btn-ghost{background:rgba(255,255,255,.5);border:1px solid var(--line-2)}
.au-btn-danger{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 24px -8px rgba(239,68,68,.5)}
.au-btn-sm{padding:8px 14px;font-size:13px;border-radius:11px}
.au-btn-block{width:100%}

/* ============ Week strip ============ */
.au-weekstrip{display:flex;gap:8px;padding:8px 4px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.au-weekstrip::-webkit-scrollbar{display:none}
.au-day{
  flex:0 0 60px;text-align:center;padding:12px 4px;border-radius:16px;
  background:var(--glass-strong);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow-sm);
}
.au-day.today{background:var(--grad);color:#fff;border:none;box-shadow:0 12px 26px -10px rgba(59,130,246,.55)}
.au-day-name{font-size:11px;color:var(--ink-2);margin-bottom:4px;font-weight:600}
.au-day.today .au-day-name{color:rgba(255,255,255,.9)}
.au-day-num{font-size:18px;font-weight:800}

/* ============ Rows ============ */
.au-row{
  display:flex;align-items:center;gap:12px;padding:12px 14px;
  border-radius:var(--r);
  background:var(--glass-strong);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.9);margin-bottom:8px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow-sm);
  transition:transform .12s;
}
.au-row:hover{transform:translateY(-1px)}
.au-row-icon{width:42px;height:42px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--blue)}
.au-row-icon.grad{background:var(--grad);color:#fff;box-shadow:0 6px 16px -6px rgba(59,130,246,.5)}
.au-row-body{flex:1;min-width:0}
.au-row-title{font-weight:700;font-size:15px;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.au-row-meta{font-size:12px;color:var(--ink-2);display:flex;gap:8px;align-items:center}
.au-row-badge{font-size:11px;padding:4px 9px;border-radius:20px;background:var(--surface-2);color:var(--ink-2);font-weight:600}
.au-row-badge.grad{background:var(--grad);color:#fff}
.au-row-badge.warn{background:#fef3c7;color:#92400e}
.au-row-badge.success{background:#d1fae5;color:#065f46}

/* ============ Section header ============ */
.au-sec{display:flex;justify-content:space-between;align-items:center;padding:22px 4px 12px}
.au-sec h2{font-size:16px;font-weight:800;margin:0}
.au-sec-icon{width:32px;height:32px;border-radius:10px;background:var(--glass-strong);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.9);color:var(--blue)}

/* ============ Segmented ============ */
.au-seg{
  display:flex;background:var(--glass);backdrop-filter:blur(20px);
  border-radius:14px;padding:4px;border:1px solid rgba(255,255,255,.85);margin-bottom:12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow-sm);
}
.au-seg button{flex:1;padding:10px;border-radius:10px;font-weight:600;font-size:13px;color:var(--ink-2);transition:all .15s}
.au-seg button.on{background:var(--grad);color:#fff;box-shadow:0 6px 14px -6px rgba(59,130,246,.55)}

/* ============ Bottom tabbar (floating liquid glass) ============ */
.au-tabbar{
  position:fixed;bottom:14px;left:50%;transform:translateX(-50%);
  width:calc(100% - 28px);max-width:520px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.42));
  backdrop-filter:blur(36px) saturate(220%) contrast(110%);
  border:1px solid rgba(255,255,255,.9);
  border-radius:24px;
  z-index:30;
  display:flex;padding:6px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 20px 50px -15px rgba(15,32,79,.28);
}
.au-tabbar-inner{display:flex;flex:1}
.au-tab{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:8px 4px;color:var(--ink-3);font-size:10.5px;font-weight:600;
  border-radius:14px;transition:all .15s;
}
.au-tab.on{color:#fff}
.au-tab.on .au-tab-ico{background:var(--grad);color:#fff;box-shadow:0 8px 18px -6px rgba(59,130,246,.6)}
.au-tab.on{color:var(--blue)}
.au-tab-ico{width:38px;height:30px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .18s}
.au-tab svg{width:22px;height:22px;stroke-width:2}

/* ============ Inputs ============ */
.au-input,.au-textarea,.au-select{
  width:100%;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  border:1.5px solid rgba(11,26,58,.28);
  border-radius:12px;padding:12px 14px;font-size:14px;outline:none;
  color:var(--ink);
  transition:border-color .15s,box-shadow .15s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.au-input::placeholder,.au-textarea::placeholder{color:var(--ink-3)}
.au-input:focus,.au-textarea:focus,.au-select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.22)}
.au-textarea{min-height:100px;resize:vertical}
.au-label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:6px;font-weight:600}
.au-field{margin-bottom:12px}

/* ============ Search ============ */
.au-search{
  display:flex;align-items:center;gap:8px;
  background:var(--glass-strong);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.9);
  border-radius:14px;padding:11px 14px;margin-bottom:12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow-sm);
}
.au-search input{flex:1;background:transparent;border:none;outline:none;font-size:14px;text-align:right}

/* ============ Chat threads list ============ */
.au-thread{
  display:flex;gap:12px;padding:12px;border-radius:16px;
  background:var(--glass-strong);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.9);
  margin-bottom:8px;align-items:center;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow-sm);
}
.au-thread:hover{transform:translateY(-1px)}
.au-thread-avatar{width:48px;height:48px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;overflow:hidden;box-shadow:0 6px 14px -6px rgba(59,130,246,.5)}
.au-thread-avatar img{width:100%;height:100%;object-fit:cover}
.au-thread-body{flex:1;min-width:0}
.au-thread-name{font-weight:700;font-size:15px;margin:0}
.au-thread-preview{font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.au-thread-meta{text-align:left;font-size:11px;color:var(--ink-3);flex-shrink:0}
.au-unread{display:inline-block;background:var(--grad);color:#fff;font-size:11px;font-weight:700;min-width:20px;padding:2px 6px;border-radius:20px;text-align:center;margin-top:4px}

/* ============ Chat view (full screen) ============ */
.au-chatview{
  display:flex;flex-direction:column;height:100vh;
  position:fixed;inset:0;background:var(--bg);z-index:60;max-width:540px;margin:0 auto;
  backdrop-filter:blur(10px);
}
.au-chat-header{
  display:flex;align-items:center;gap:12px;padding:14px 16px;
  background:var(--glass-strong);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
}
.au-chat-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}
.au-msg{max-width:78%;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.5;word-wrap:break-word;box-shadow:var(--shadow-sm)}
.au-msg.me{align-self:flex-start;background:var(--grad);color:#fff;border-bottom-left-radius:6px}
.au-msg.them{align-self:flex-end;background:var(--glass-strong);border:1px solid rgba(255,255,255,.9);border-bottom-right-radius:6px;backdrop-filter:blur(20px)}
.au-msg-time{font-size:10px;opacity:.7;margin-top:4px}
.au-msg-file{display:flex;align-items:center;gap:8px;padding:8px;background:rgba(255,255,255,.2);border-radius:10px;margin-top:4px;text-decoration:underline}
.au-msg.them .au-msg-file{background:var(--surface-2)}
.au-chat-input{display:flex;gap:8px;padding:12px;background:var(--glass-strong);backdrop-filter:blur(20px);border-top:1px solid var(--line);align-items:flex-end}
.au-chat-input textarea{flex:1;background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:20px;padding:10px 14px;font-size:14px;resize:none;max-height:120px;outline:none}
.au-chat-input button{width:42px;height:42px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 18px -6px rgba(59,130,246,.5)}

/* ============ Live class (dark, glassy) ============ */
.au-live{position:fixed;inset:0;background:#050a1a;color:#fff;z-index:100;display:flex;flex-direction:column;overflow:hidden}
.au-live::before{content:'';position:absolute;inset:0;background:radial-gradient(600px 300px at 10% -100px,rgba(59,130,246,.25),transparent),radial-gradient(600px 300px at 100% 110%,rgba(99,102,241,.25),transparent);pointer-events:none}
.au-live-top{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(255,255,255,.06);backdrop-filter:blur(20px);z-index:2;border-bottom:1px solid rgba(255,255,255,.08)}
.au-live-title{font-weight:700;font-size:15px;flex:1}
.au-live-live{background:var(--danger);color:#fff;font-size:11px;padding:4px 10px;border-radius:8px;font-weight:800;box-shadow:0 4px 12px -4px rgba(239,68,68,.6)}
.au-live-timer{background:rgba(255,255,255,.1);padding:4px 10px;border-radius:8px;font-size:12px;font-variant-numeric:tabular-nums}
.au-live-main{position:relative;flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;gap:8px;padding:10px;overflow:hidden;z-index:2}
.au-live-teacher{position:relative;border-radius:20px;overflow:hidden;background:#0a0f22;min-height:220px;border:2px solid rgba(59,130,246,.4);box-shadow:0 20px 50px -20px rgba(59,130,246,.5)}
.au-live-teacher video{width:100%;height:100%;object-fit:cover;background:#000}
.au-live-name{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.65);backdrop-filter:blur(10px);padding:4px 10px;border-radius:10px;font-size:12px;font-weight:600}
.au-live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;max-height:180px;overflow-y:auto}
.au-live-tile{position:relative;border-radius:14px;overflow:hidden;background:#0a0f22;aspect-ratio:1;border:1px solid rgba(255,255,255,.1)}
.au-live-tile video{width:100%;height:100%;object-fit:cover}
.au-live-tile .au-live-name{font-size:10px;padding:2px 6px;bottom:4px;right:4px}
.au-live-ctrls{position:relative;display:flex;justify-content:center;gap:10px;padding:14px;background:rgba(255,255,255,.05);backdrop-filter:blur(24px);z-index:2;border-top:1px solid rgba(255,255,255,.08)}
.au-live-btn{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;flex-direction:column;gap:2px;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.au-live-btn.on{background:linear-gradient(135deg,#3b82f6,#3b82f6);box-shadow:0 8px 20px -6px rgba(59,130,246,.6)}
.au-live-btn.off{background:rgba(239,68,68,.35)}
.au-live-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 8px 20px -6px rgba(239,68,68,.6)}
.au-live-btn svg{width:20px;height:20px}
.au-live-chat{position:absolute;bottom:80px;right:10px;left:10px;max-height:220px;background:rgba(10,15,34,.85);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:10px;overflow-y:auto;z-index:2;font-size:12px;display:none}
.au-live-chat.show{display:block}
.au-live-chat-list{max-height:150px;overflow-y:auto;padding-bottom:8px}
.au-live-chat-msg{padding:5px 8px;margin:2px 0}
.au-live-chat-msg b{color:var(--blue-3)}
.au-live-chat-input{display:flex;gap:6px;border-top:1px solid rgba(255,255,255,.1);padding-top:8px}
.au-live-chat-text{flex:1;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:12px;padding:9px 12px;outline:none;text-align:right}
.au-live-chat-text::placeholder{color:rgba(255,255,255,.52)}
.au-live-chat-send{width:36px;height:36px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff}

/* ============ Modals ============ */
.au-modal{position:fixed;inset:0;background:rgba(11,26,58,.5);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:200;padding:0}
.au-modal.center{align-items:center;padding:16px}
.au-modal-body{
  position:relative;overflow:hidden;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(36px) saturate(200%) contrast(108%);
  color:var(--ink);
  border-radius:28px 28px 0 0;padding:22px;width:100%;max-width:540px;max-height:85vh;overflow-y:auto;
  animation:slideup .28s cubic-bezier(.2,.9,.3,1.2);
  border-top:1px solid rgba(255,255,255,.95);
  box-shadow:0 -20px 60px -20px rgba(15,32,79,.35);
}
.au-modal.center .au-modal-body{border-radius:24px;border:1px solid rgba(255,255,255,.9)}
@keyframes slideup{from{transform:translateY(100%)}to{transform:translateY(0)}}
.au-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.au-modal-header h3{margin:0;font-size:17px;font-weight:800}
.au-x{width:34px;height:34px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:18px;border:1px solid var(--line)}

/* Quick question */
.au-quick-opt{display:flex;align-items:center;gap:10px;padding:14px;border-radius:14px;background:var(--surface-2);margin-bottom:8px;cursor:pointer;border:2px solid transparent;transition:all .15s}
.au-quick-opt.sel{border-color:var(--blue);background:rgba(59,130,246,.1)}
.au-quick-opt.correct{background:rgba(16,185,129,.15);border-color:var(--success)}
.au-quick-opt.wrong{background:rgba(239,68,68,.15);border-color:var(--danger)}
.au-quick-radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--ink-3);flex-shrink:0}
.au-quick-opt.sel .au-quick-radio{border-color:var(--blue);background:var(--blue);box-shadow:inset 0 0 0 3px #fff}

/* ============ Profile ============ */
.au-profile-head{text-align:center;padding:24px 0;position:relative}
.au-profile-avatar{width:118px;height:118px;border-radius:50%;margin:0 auto 12px;padding:4px;background:var(--grad);position:relative;box-shadow:0 20px 40px -14px rgba(59,130,246,.5)}
.au-profile-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--surface);border:3px solid #fff}
.au-profile-avatar .edit{position:absolute;bottom:0;left:0;width:34px;height:34px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);color:var(--blue)}
.au-profile-name{font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}
.au-profile-email{color:var(--ink-2);font-size:13px;margin-top:4px}
.au-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.au-stat{background:var(--glass-strong);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.9);border-radius:16px;padding:14px;display:flex;align-items:center;gap:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow-sm)}
.au-stat-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--grad-soft);color:var(--blue)}
.au-stat-num{font-size:20px;font-weight:800}
.au-stat-lbl{font-size:11px;color:var(--ink-2)}

/* ============ Files ============ */
.au-folder{background:var(--glass-strong);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.9);border-radius:16px;margin-bottom:8px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow-sm)}
.au-folder-head{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer}
.au-folder-head .name{flex:1;font-weight:700}
.au-folder-items{padding:0 14px 10px;display:none}
.au-folder.open .au-folder-items{display:block}
.au-file{display:flex;align-items:center;gap:10px;padding:10px 4px;border-top:1px solid var(--line)}
.au-file-icon{width:38px;height:38px;border-radius:10px;background:var(--grad-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.au-file-body{flex:1;min-width:0}
.au-file-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.au-file-meta{font-size:11px;color:var(--ink-3)}
.au-file img.thumb{width:46px;height:46px;object-fit:cover;border-radius:10px}

/* ============ Dictionary ============ */
.au-dict-word{font-size:36px;font-weight:800;font-family:Georgia,serif;letter-spacing:-.5px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.au-dict-phon{color:var(--ink-2);font-family:monospace;margin-top:4px;font-size:13px}
.au-dict-play{width:54px;height:54px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px -8px rgba(59,130,246,.5)}
.au-dict-def{background:var(--grad-soft);border-radius:16px;padding:16px;margin-top:12px;border:1px solid rgba(59,130,246,.15)}
.au-dict-fa{font-size:22px;font-weight:700;line-height:1.6;text-align:center;margin:6px 0;color:var(--ink)}
.au-chip{display:inline-block;padding:6px 12px;background:var(--glass-strong);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9);border-radius:20px;font-size:13px;margin:4px 4px 4px 0}

/* ============ Calendar ============ */
.au-cal{background:var(--glass-strong);backdrop-filter:blur(24px);border-radius:20px;padding:14px;border:1px solid rgba(255,255,255,.9);margin-bottom:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow-sm)}
.au-cal-head{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 12px}
.au-cal-title{font-weight:800;font-size:16px}
.au-cal-nav{display:flex;gap:4px}
.au-cal-nav button{width:34px;height:34px;border-radius:10px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--blue)}
.au-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:12px}
.au-cal-dow{text-align:center;color:var(--ink-3);padding:6px 0;font-weight:700}
.au-cal-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;position:relative;cursor:pointer;font-weight:600;transition:all .12s}
.au-cal-cell:hover{background:var(--surface-2)}
.au-cal-cell.today{background:var(--grad-soft);color:var(--blue);font-weight:800}
.au-cal-cell.sel{background:var(--grad);color:#fff;box-shadow:0 8px 18px -6px rgba(59,130,246,.55)}
.au-cal-cell.has::after{content:'';position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--blue)}
.au-cal-cell.sel.has::after{background:#fff}

/* ============ Exam builder ============ */
.au-qbuilder{position:relative;padding:16px;border-radius:16px;background:var(--glass-strong);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.9);margin-bottom:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--shadow-sm)}
.au-qbuilder-num{position:absolute;top:12px;right:12px;background:var(--grad);color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700}
.au-qbuilder-del{position:absolute;top:10px;left:10px;width:30px;height:30px;border-radius:50%;background:#fef2f2;color:var(--danger);display:flex;align-items:center;justify-content:center}
.au-progress{height:6px;background:var(--surface-2);border-radius:8px;overflow:hidden;margin-bottom:12px}
.au-progress-bar{height:100%;background:var(--grad);transition:width .3s}

/* ============ Empty ============ */
.au-empty{padding:40px 16px;text-align:center;color:var(--ink-3);font-size:14px;background:var(--glass);backdrop-filter:blur(12px);border-radius:16px;border:1px dashed var(--line-2)}
.au-empty svg{margin-bottom:10px;opacity:.5}

/* ============ Toast ============ */
.au-toast{
  position:fixed;bottom:100px;left:50%;transform:translateX(-50%);
  background:rgba(11,26,58,.92);backdrop-filter:blur(20px);color:#fff;
  padding:12px 20px;border-radius:14px;font-size:14px;font-weight:600;z-index:500;
  box-shadow:0 20px 40px -10px rgba(0,0,0,.4);
  animation:slideup .25s;
}

/* ============ Auth screen ============ */
.au-auth{
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:32px 20px;position:relative;z-index:2;
}
.au-auth-card{
  position:relative;overflow:hidden;
  width:100%;max-width:420px;
  background:var(--glass-strong);
  backdrop-filter:blur(42px) saturate(220%) contrast(110%);
  border:1px solid rgba(255,255,255,.95);
  border-radius:28px;padding:32px 24px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 30px 80px -20px rgba(15,32,79,.35);
}
.au-auth-logo{
  width:72px;height:72px;border-radius:22px;
  background:var(--grad);color:#fff;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;
  box-shadow:0 16px 32px -10px rgba(59,130,246,.55);
}
.au-auth h1{text-align:center;font-size:24px;font-weight:800;margin:0 0 6px}
.au-auth-sub{text-align:center;color:var(--ink-2);font-size:14px;margin-bottom:24px}
.au-auth-seg{display:flex;background:var(--surface-2);border-radius:12px;padding:4px;margin-bottom:18px}
.au-auth-seg button{flex:1;padding:10px;border-radius:8px;font-weight:600;font-size:14px;color:var(--ink-2)}
.au-auth-seg button.on{background:#fff;color:var(--blue);box-shadow:var(--shadow-sm)}
.au-auth-err{background:#fef2f2;color:#991b1b;padding:10px 12px;border-radius:10px;font-size:13px;margin-bottom:12px;border:1px solid rgba(239,68,68,.2)}
.au-auth-role{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.au-auth-role button{padding:12px;border-radius:12px;background:var(--surface-2);color:var(--ink);font-weight:600;font-size:13px;border:2px solid transparent}
.au-auth-role button.on{background:var(--grad-soft);border-color:var(--blue);color:var(--blue)}

.au-quick-tally{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.au-tally-row{display:grid;grid-template-columns:64px 1fr 28px;gap:8px;align-items:center;margin-top:8px;font-size:12px;color:var(--ink-2)}
.au-tally-track{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.au-tally-bar{height:100%;border-radius:999px;background:var(--grad);transition:width .2s}

/* ============ 30u City ============ */
.au-city-entry{position:relative;overflow:hidden;border-radius:26px;min-height:220px;margin-bottom:18px;cursor:pointer;box-shadow:0 20px 44px -20px rgba(15,32,79,.32)}
.au-city-entry-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.au-city-entry-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,26,58,.08),rgba(11,26,58,.72) 68%,rgba(11,26,58,.88))}
.au-city-entry-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;min-height:220px;padding:20px;color:#fff}
.au-city-entry-badge{display:inline-flex;align-self:flex-start;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(12px);font-size:11px;font-weight:800;margin-bottom:10px}
.au-city-entry h2{font-size:24px;line-height:1.1;margin:0 0 8px;font-weight:800;color:#fff}.au-city-entry p{margin:0 0 14px;font-size:13px;line-height:1.7;color:rgba(255,255,255,.88);max-width:88%}


/* ============================================================
   v6.5 — Hamburger sidebar + 30u City fullscreen game mode
   ============================================================ */
#aurora-root .au-burger{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--glass-strong);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-sm);color:var(--ink);flex-shrink:0}
#aurora-root .au-drawer-wrap{position:fixed;inset:0;z-index:120}
#aurora-root .au-drawer-backdrop{position:absolute;inset:0;background:rgba(8,15,32,.44);backdrop-filter:blur(4px);animation:auFadeIn .2s ease}
#aurora-root .au-drawer{position:absolute;top:0;bottom:0;right:0;width:min(84vw,320px);background:rgba(255,255,255,.94);backdrop-filter:blur(30px) saturate(180%);border-left:1px solid rgba(255,255,255,.9);box-shadow:-24px 0 60px -28px rgba(15,32,79,.45);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 18px) 16px calc(env(safe-area-inset-bottom,0px) + 16px);animation:auDrawerIn .3s cubic-bezier(.22,1,.36,1)}
@keyframes auDrawerIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes auFadeIn{from{opacity:0}to{opacity:1}}
#aurora-root .au-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px}
#aurora-root .au-drawer-user{display:flex;align-items:center;gap:10px;min-width:0}
#aurora-root .au-drawer-user img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:var(--shadow-sm)}
#aurora-root .au-drawer-name{font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#aurora-root .au-drawer-mail{font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#aurora-root .au-drawer-close{width:36px;height:36px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--ink-2)}
#aurora-root .au-drawer-nav{flex:1;display:flex;flex-direction:column;gap:4px;overflow:auto;padding:2px 0}
#aurora-root .au-drawer-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;font-size:14px;font-weight:600;color:var(--ink-2);text-align:right;transition:background .15s}
#aurora-root .au-drawer-item:active{background:var(--surface-2)}
#aurora-root .au-drawer-item.on{background:var(--grad);color:#fff;box-shadow:0 10px 22px -10px rgba(59,130,246,.55)}
#aurora-root .au-drawer-ico{display:flex;flex-shrink:0}
#aurora-root .au-drawer-logout{margin-top:12px;padding:13px;border-radius:14px;background:#fef2f2;color:#dc2626;font-weight:700;font-size:14px}

/* ---- fullscreen shell ---- */
body.au-lock{overflow:hidden!important}
#aurora-root .au-cw{position:fixed;inset:0;z-index:110;background:#0a1226;overflow:hidden;direction:rtl}
#aurora-root .au-cw-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:700}
#aurora-root .au-cw-top{position:absolute;top:0;left:0;right:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 10px}
#aurora-root .au-cw-btn{width:42px;height:42px;flex-shrink:0;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(8,15,32,.55);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.16);color:#fff}
#aurora-root .au-cw-title{font-size:18px;font-weight:900;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.5);letter-spacing:.3px}
#aurora-root .au-cw-loc{flex:1;min-width:0;text-align:center;padding:9px 12px;border-radius:999px;background:rgba(8,15,32,.55);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#aurora-root .au-cw-hud{display:flex;gap:6px;flex-shrink:0}
#aurora-root .au-cw-pill{padding:9px 11px;border-radius:999px;background:rgba(8,15,32,.55);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:12px;font-weight:800;white-space:nowrap}
#aurora-root .au-cw-pill.lvl{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:transparent}
#aurora-root .au-cw-pill.xp{background:linear-gradient(135deg,#10b981,#059669);border-color:transparent;animation:auPopIn .4s cubic-bezier(.22,1.4,.36,1)}
@keyframes auPopIn{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}

/* ---- living map ---- */
#aurora-root .au-cw-mapbox{position:absolute;inset:0}
#aurora-root .au-cw-map{position:absolute;left:50%;top:50%;width:100%;height:106%;min-width:100%;min-height:106%;object-fit:cover;transform:translate(-50%,-50%);animation:auMapDrift 30s ease-in-out infinite alternate}
@keyframes auMapDrift{from{transform:translate(-50%,-51.5%) scale(1)}to{transform:translate(-50%,-48.5%) scale(1.07)}}
#aurora-root .au-cw-map-vig{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,24,.58),rgba(6,10,24,0) 24%,rgba(6,10,24,0) 70%,rgba(6,10,24,.6));pointer-events:none}
#aurora-root .au-cw-spot{position:absolute;z-index:4;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;background:none;padding:0}
#aurora-root .au-cw-spot:active .au-cw-spot-ico{transform:scale(.9)}
#aurora-root .au-cw-spot-ring{position:absolute;top:-5px;width:54px;height:54px;border-radius:50%;border:2px solid rgba(255,255,255,.7);animation:auPulse 2.4s ease-out infinite;pointer-events:none}
@keyframes auPulse{0%{transform:scale(.55);opacity:.9}70%{transform:scale(1.3);opacity:0}100%{transform:scale(1.3);opacity:0}}
#aurora-root .au-cw-spot-ico{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;background:rgba(255,255,255,.96);box-shadow:0 10px 26px -8px rgba(0,0,0,.6);border:2px solid #fff;transition:transform .12s}
#aurora-root .au-cw-spot-lbl{margin-top:5px;padding:4px 9px;border-radius:999px;background:rgba(8,15,32,.7);backdrop-filter:blur(10px);color:#fff;font-size:10.5px;font-weight:800;white-space:nowrap;box-shadow:0 4px 12px -4px rgba(0,0,0,.5)}
#aurora-root .au-cw-walker{position:absolute;z-index:3;background:none;padding:0;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%)}
#aurora-root .au-cw-walker img{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:center;border:2px solid rgba(255,255,255,.98);box-shadow:0 10px 22px -8px rgba(0,0,0,.65),0 0 0 3px rgba(59,130,246,.3);background:#fff}
#aurora-root .au-cw-walker-name{display:none}
#aurora-root .au-cw-walker.p1,#aurora-root .au-cw-walker.p2,#aurora-root .au-cw-walker.p3,#aurora-root .au-cw-walker.p4{animation:none}
@keyframes auWalk1{0%,100%{margin-left:0;margin-top:0}25%{margin-left:-38px;margin-top:22px}50%{margin-left:14px;margin-top:44px}75%{margin-left:34px;margin-top:12px}}
@keyframes auWalk2{0%,100%{margin-left:0;margin-top:0}30%{margin-left:30px;margin-top:-18px}60%{margin-left:52px;margin-top:14px}80%{margin-left:16px;margin-top:26px}}
@keyframes auWalk3{0%,100%{margin-left:0;margin-top:0}35%{margin-left:-26px;margin-top:16px}65%{margin-left:-44px;margin-top:-8px}85%{margin-left:-12px;margin-top:-20px}}
@keyframes auWalk4{0%,100%{margin-left:0;margin-top:0}28%{margin-left:22px;margin-top:20px}55%{margin-left:-16px;margin-top:34px}78%{margin-left:-30px;margin-top:8px}}
#aurora-root .au-cw-map-hint{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);left:50%;transform:translateX(-50%);z-index:5;padding:11px 18px;border-radius:999px;background:rgba(8,15,32,.66);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:12.5px;font-weight:700;white-space:nowrap;animation:auHint 3.2s ease-in-out infinite}
@keyframes auHint{0%,100%{opacity:.85}50%{opacity:1}}

/* ---- scene (closeup) ---- */
#aurora-root .au-cw-scene{position:absolute;inset:0;display:flex;flex-direction:column}
#aurora-root .au-cw-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:auKen 32s ease-in-out infinite alternate}
@keyframes auKen{from{transform:scale(1)}to{transform:scale(1.07)}}
#aurora-root .au-cw-scene-vig{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,24,.52),rgba(6,10,24,.05) 26%,rgba(6,10,24,.1) 52%,rgba(6,10,24,.55) 82%);pointer-events:none}
#aurora-root .au-cw-stage{position:relative;flex:1;min-height:0;z-index:2}
#aurora-root .au-cw-char{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);height:min(96%,50vh);max-width:88vw;object-fit:contain;object-position:bottom;filter:drop-shadow(0 22px 30px rgba(0,0,0,.55))}
#aurora-root .au-cw-char.in{animation:none}
@keyframes auCharIn{from{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
#aurora-root .au-cw-dock{position:relative;z-index:6;flex-shrink:0;background:linear-gradient(180deg,rgba(10,16,34,.92),rgba(9,14,30,.99));backdrop-filter:blur(26px) saturate(160%);border-top:1px solid rgba(255,255,255,.1);border-radius:26px 26px 0 0;padding:12px 14px calc(env(safe-area-inset-bottom,0px) + 12px);display:flex;flex-direction:column;gap:10px;box-shadow:0 -20px 50px -20px rgba(0,0,0,.6)}
#aurora-root .au-cw-dockhead{display:flex;align-items:center;justify-content:space-between;gap:10px}
#aurora-root .au-cw-speaker{display:flex;align-items:center;gap:9px;min-width:0}
#aurora-root .au-cw-speaker-av{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid rgba(255,255,255,.85);background:#fff;flex-shrink:0}
#aurora-root .au-cw-speaker-info{min-width:0}
#aurora-root .au-cw-speaker-name{font-size:14px;font-weight:800;color:#fff;line-height:1.2}
#aurora-root .au-cw-rel{display:flex;align-items:center;gap:6px;margin-top:4px}
#aurora-root .au-cw-rel-track{width:76px;height:6px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden;display:block}
#aurora-root .au-cw-rel-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f472b6,#fb7185);transition:width .6s ease}
#aurora-root .au-cw-rel-num{font-size:10px;font-weight:800;color:rgba(255,255,255,.8);white-space:nowrap}
#aurora-root .au-cw-cast{display:flex;align-items:center;gap:6px;flex-shrink:0}
#aurora-root .au-cw-cast-chip{width:38px;height:38px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.4);background:#fff;padding:0;opacity:.85}
#aurora-root .au-cw-cast-chip img{width:100%;height:100%;object-fit:cover;object-position:top}
#aurora-root .au-cw-hist{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff}
#aurora-root .au-cw-linewrap{animation:auFadeIn .3s ease}
#aurora-root .au-cw-line{color:#fff;font-size:16px;font-weight:700;line-height:1.5;direction:ltr;text-align:left}
#aurora-root .au-cw-line-fa{color:rgba(255,255,255,.72);font-size:12.5px;line-height:1.8;margin-top:4px}
#aurora-root .au-cw-typing{display:flex;gap:5px;padding:10px 4px}
#aurora-root .au-cw-typing span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.75);animation:auDot 1.1s ease-in-out infinite}
#aurora-root .au-cw-typing span:nth-child(2){animation-delay:.18s}
#aurora-root .au-cw-typing span:nth-child(3){animation-delay:.36s}
@keyframes auDot{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-6px);opacity:1}}
#aurora-root .au-cw-options{display:flex;flex-direction:column;gap:8px;min-height:184px;max-height:184px;overflow:auto;padding-right:2px;-webkit-overflow-scrolling:touch}
#aurora-root .au-cw-option{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(241,245,249,.98));border:1px solid rgba(148,163,184,.28);border-radius:14px;padding:12px 14px;text-align:left;direction:ltr;box-shadow:0 8px 22px -12px rgba(0,0,0,.55);transition:transform .1s}
#aurora-root .au-cw-option:active{transform:scale(.98)}
#aurora-root .au-cw-option-en{font-size:14px;font-weight:800;color:#0f172a;line-height:1.45}
#aurora-root .au-cw-option-fa{font-size:11.5px;color:#334155;margin-top:3px;direction:rtl;text-align:right;line-height:1.7}
#aurora-root .au-cw-compose{display:flex;gap:8px;align-items:center}
#aurora-root .au-cw-input{flex:1;height:46px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;padding:0 14px;font-size:14px;outline:none;font-family:inherit}
#aurora-root .au-cw-input:focus{border-color:rgba(125,211,252,.9);box-shadow:0 0 0 3px rgba(125,211,252,.18)}
#aurora-root .au-cw-input::placeholder{color:rgba(255,255,255,.5)}
#aurora-root .au-cw-send{width:46px;height:46px;flex-shrink:0;border-radius:14px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px -8px rgba(59,130,246,.6)}

/* ---- history bottom sheet ---- */
#aurora-root .au-cw-sheet-wrap{position:absolute;inset:0;z-index:20}
#aurora-root .au-cw-sheet-backdrop{position:absolute;inset:0;background:rgba(4,8,20,.55);animation:auFadeIn .2s ease}
#aurora-root .au-cw-sheet{position:absolute;left:0;right:0;bottom:0;max-height:72vh;background:rgba(13,20,40,.97);backdrop-filter:blur(30px);border-radius:24px 24px 0 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 14px);animation:auSheetIn .3s cubic-bezier(.22,1,.36,1)}
@keyframes auSheetIn{from{transform:translateY(100%)}to{transform:translateY(0)}}
#aurora-root .au-cw-sheet-head{display:flex;align-items:center;justify-content:space-between;color:#fff;margin-bottom:12px}
#aurora-root .au-cw-sheet-head b{font-size:15px}
#aurora-root .au-cw-sheet-reset{padding:8px 13px;border-radius:12px;background:rgba(239,68,68,.16);color:#fca5a5;font-size:12px;font-weight:700;border:1px solid rgba(239,68,68,.3)}
#aurora-root .au-cw-sheet .au-drawer-close{background:rgba(255,255,255,.1);color:#fff}
#aurora-root .au-cw-sheet-body{overflow:auto;display:flex;flex-direction:column;gap:9px;padding-bottom:6px}
#aurora-root .au-cw-sheet-empty{padding:22px;text-align:center;color:rgba(255,255,255,.5);font-size:13px}
#aurora-root .au-cw-msg{max-width:86%;padding:10px 13px;border-radius:16px}
#aurora-root .au-cw-msg.me{align-self:flex-start;background:var(--grad);color:#fff;border-bottom-left-radius:6px}
#aurora-root .au-cw-msg.npc{align-self:flex-end;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.1);border-bottom-right-radius:6px}
#aurora-root .au-cw-msg-role{font-size:10px;font-weight:800;opacity:.75;margin-bottom:4px;text-transform:uppercase}
#aurora-root .au-cw-msg-text{font-size:13.5px;line-height:1.6;direction:ltr;text-align:left}
#aurora-root .au-cw-msg-fa{font-size:11.5px;line-height:1.8;color:rgba(255,255,255,.65);margin-top:5px;direction:rtl;text-align:right}

/* ============ v6.2 REVISION: brand logo, icon buttons, chest dialogue, drop-zones, map pan ============ */

/* --- Brand logo images replacing 30U text --- */
#aurora-root .au-brand-logo{display:inline-block;height:26px;width:auto;object-fit:contain;vertical-align:middle}
#aurora-root .au-brand-logo.sm{height:20px}
#aurora-root .au-brand-logo.lg{height:44px}
#aurora-root .au-brand-logo.xl{height:64px}
#aurora-root .au-brand{gap:6px}
#aurora-root .au-brand > span:not(.au-brand-logo-wrap){display:none}
#aurora-root .au-brand svg{display:none}
#aurora-root .au-auth-logo{background:none !important;box-shadow:none !important;width:auto;height:auto;padding:0;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
#aurora-root .au-auth-logo svg{display:none}
#aurora-root .au-auth h1{display:none}
#aurora-root .au-cw-title{display:flex;align-items:center;gap:8px}
#aurora-root .au-cw-title .au-brand-logo{height:24px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.55))}

/* --- Universal icon button: transparent bg, larger icon, blue circular backing --- */
#aurora-root .au-icon-btn,
#aurora-root .au-burger,
#aurora-root .au-x,
#aurora-root .au-drawer-close,
#aurora-root .au-cw-btn,
#aurora-root .au-cw-hist{
  width:44px;height:44px;flex-shrink:0;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0;display:flex;align-items:center;justify-content:center;
  border-radius:50%;
}
#aurora-root .au-icon-btn::before,
#aurora-root .au-burger::before,
#aurora-root .au-x::before,
#aurora-root .au-drawer-close::before,
#aurora-root .au-cw-btn::before,
#aurora-root .au-cw-hist::before{
  content:'';position:absolute;width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,#3b82f6,#2563eb);
  box-shadow:0 6px 16px -6px rgba(59,130,246,.55), inset 0 1px 0 rgba(255,255,255,.28);
  z-index:0;
}
#aurora-root .au-icon-btn,
#aurora-root .au-burger,
#aurora-root .au-x,
#aurora-root .au-drawer-close,
#aurora-root .au-cw-btn,
#aurora-root .au-cw-hist{position:relative;color:#fff !important}
#aurora-root .au-icon-btn svg,
#aurora-root .au-burger svg,
#aurora-root .au-x svg,
#aurora-root .au-drawer-close svg,
#aurora-root .au-cw-btn svg,
#aurora-root .au-cw-hist svg{position:relative;z-index:1;width:22px;height:22px;stroke-width:2.4}
#aurora-root .au-icon-btn.ghost::before,
#aurora-root .au-x.ghost::before{background:rgba(59,130,246,.16);box-shadow:inset 0 0 0 1px rgba(59,130,246,.32)}
#aurora-root .au-icon-btn.ghost,
#aurora-root .au-x.ghost{color:#2563eb !important}
#aurora-root .au-icon-btn.danger::before{background:linear-gradient(135deg,#ef4444,#dc2626)}
#aurora-root .au-icon-btn:active{transform:scale(.94)}

/* --- Drop-zone (drag & drop upload container) --- */
#aurora-root .au-dropzone{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:22px 16px;border-radius:18px;
  background:rgba(59,130,246,.06);
  border:2px dashed rgba(59,130,246,.42);
  color:var(--ink-2);font-size:13px;font-weight:600;
  cursor:pointer;transition:all .16s ease;text-align:center;
}
#aurora-root .au-dropzone:hover,
#aurora-root .au-dropzone.drag{
  background:rgba(59,130,246,.14);
  border-color:#2563eb;color:#1d4ed8;
  transform:translateY(-1px);
  box-shadow:0 12px 30px -14px rgba(59,130,246,.6);
}
#aurora-root .au-dropzone-ico{
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,#3b82f6,#2563eb);
  color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 22px -8px rgba(59,130,246,.55);
}
#aurora-root .au-dropzone-hint{font-size:11.5px;color:var(--ink-3);font-weight:500}
#aurora-root .au-dropzone-preview{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 12px 26px -10px rgba(15,32,79,.35);margin-bottom:6px}

/* --- Profile avatar clickable --- */
#aurora-root .au-profile-avatar{cursor:pointer;transition:transform .15s}
#aurora-root .au-profile-avatar:hover{transform:scale(1.02)}
#aurora-root .au-profile-avatar .edit{
  background:linear-gradient(135deg,#3b82f6,#2563eb) !important;
  color:#fff !important;box-shadow:0 8px 18px -6px rgba(59,130,246,.55) !important;
  border:2px solid #fff;
}

/* --- City map: pan/drag surface — ZOOMED IN so viewport shows only a section --- */
#aurora-root .au-cw-mapbox{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;overflow:hidden}
#aurora-root .au-cw-mapbox.dragging{cursor:grabbing}
#aurora-root .au-cw-mapworld{
  position:absolute;top:0;left:0;
  width:260%;
  aspect-ratio:1920/1088;
  min-height:110%;
  transform:translate(0,0);
  will-change:transform;
  transition:transform .12s ease-out;
}
@media (max-width:640px){
  #aurora-root .au-cw-mapworld{width:320%;min-height:105%}
}
#aurora-root .au-cw-mapworld.free{transition:none}
#aurora-root .au-cw-mapworld .au-cw-map{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  animation:none;
  transform:none;left:0;top:0;
}
#aurora-root .au-cw-mapworld .au-cw-spot{position:absolute;transform:translate(-50%,-50%);z-index:5}
#aurora-root .au-cw-mapworld .au-cw-walker{position:absolute;z-index:4;transform:translate(-50%,-100%)}

/* --- City walker: static full-body marker (no sprite-sheet crop) --- */
#aurora-root .au-cw-walker{
  width:46px;height:66px;overflow:visible;
  background:none;padding:0;pointer-events:auto;
  display:block;
}
#aurora-root .au-cw-walker .au-cw-walker-sprite{
  display:block;width:100%;height:100%;
  object-fit:contain;object-position:bottom;
  transform:none !important;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.5));
  pointer-events:none;background:transparent;border:none;border-radius:0;box-shadow:none;
}
/* Legacy 4-direction crops disabled — sprite sheet not bundled */
#aurora-root .au-cw-walker[data-dir]  .au-cw-walker-sprite{transform:none !important}
#aurora-root .au-cw-walker-name{
  position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);
  margin:0;padding:2px 8px;border-radius:999px;
  background:rgba(255,255,255,.94);
  font-size:9.5px;font-weight:800;color:#0f172a;
  box-shadow:0 3px 10px -3px rgba(0,0,0,.4);
  white-space:nowrap;pointer-events:none;
}
/* subtle bob to signal movement */
@keyframes auWalkerBob{0%,100%{transform:translate(-50%,-100%) translateY(0)}50%{transform:translate(-50%,-100%) translateY(-2px)}}
#aurora-root .au-cw-walker.moving{animation:auWalkerBob .5s ease-in-out infinite}

/* --- City scene: static full-body character; dialogue bubble ABOVE the head --- */
#aurora-root .au-cw-scene{background:#0a1226}
#aurora-root .au-cw-bg{animation:none !important;transform:none !important}
#aurora-root .au-cw-char{
  animation:none !important;
  height:min(100%,72vh) !important;
  bottom:0 !important;
}
#aurora-root .au-cw-char.in{animation:none !important}

/* Head-bubble liquid-glass dialogue: positioned above the character's head */
#aurora-root .au-cw-chest.au-cw-headbubble,
#aurora-root .au-cw-chest{
  position:absolute;left:50%;top:10%;bottom:auto;transform:translateX(-50%);
  width:min(82vw,400px);max-height:22vh;overflow:auto;z-index:18;pointer-events:auto;
  background:linear-gradient(135deg,rgba(255,255,255,.32),rgba(255,255,255,.16));
  backdrop-filter:blur(30px) saturate(180%) contrast(108%);
  border:1px solid rgba(255,255,255,.55);
  border-radius:22px;
  padding:12px 14px;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.6);
  animation:auFadeIn .25s ease;
}
#aurora-root .au-cw-chest-tail{
  position:absolute;left:50%;bottom:-9px;transform:translateX(-50%) rotate(45deg);
  width:16px;height:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.16));
  border-right:1px solid rgba(255,255,255,.55);
  border-bottom:1px solid rgba(255,255,255,.55);
  backdrop-filter:blur(30px) saturate(180%);
  border-radius:3px;
}
#aurora-root .au-cw-chest-name{
  font-size:12px;font-weight:800;color:#fff;
  text-shadow:0 1px 6px rgba(0,0,0,.55);
  margin:0 0 4px;letter-spacing:.02em;
}
#aurora-root .au-cw-chest-line{
  font-size:15px;font-weight:700;line-height:1.5;color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.55);
  direction:ltr;text-align:left;
  margin:0;
}
#aurora-root .au-cw-chest-fa{
  font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.92);
  text-shadow:0 1px 6px rgba(0,0,0,.55);
  direction:rtl;text-align:right;
  margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.22);
}
#aurora-root .au-cw-chest-typing{display:flex;gap:5px;padding:4px 0}
#aurora-root .au-cw-chest-typing span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.85);animation:auDot 1.1s ease-in-out infinite}
#aurora-root .au-cw-chest-typing span:nth-child(2){animation-delay:.18s}
#aurora-root .au-cw-chest-typing span:nth-child(3){animation-delay:.36s}

/* Compact fixed options panel — anchored to viewport, never moves */
#aurora-root .au-cw-optsfixed{
  position:fixed;left:50%;transform:translateX(-50%);
  bottom:calc(env(safe-area-inset-bottom,0px) + 82px);
  width:min(92vw,520px);z-index:20;
  display:flex;flex-direction:column;gap:6px;
  padding:10px;
  background:linear-gradient(135deg,rgba(255,255,255,.32),rgba(255,255,255,.16));
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,.55);
  border-radius:20px;
  box-shadow:0 20px 50px -18px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.5);
}
#aurora-root .au-cw-optsfixed .au-cw-option{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(148,163,184,.28);
  border-radius:12px;
  padding:9px 12px;text-align:left;direction:ltr;
  box-shadow:0 4px 10px -4px rgba(0,0,0,.35);
  transition:transform .1s, background .12s;
}
#aurora-root .au-cw-optsfixed .au-cw-option:hover{background:#fff;transform:translateY(-1px)}
#aurora-root .au-cw-optsfixed .au-cw-option-en{font-size:13px;font-weight:800;color:#0f172a;line-height:1.4}
#aurora-root .au-cw-optsfixed .au-cw-option-fa{font-size:11px;color:#334155;margin-top:2px;direction:rtl;text-align:right;line-height:1.6}

/* Floating slide-up compose bar */
#aurora-root .au-cw-compose-fab{
  position:fixed;left:50%;transform:translateX(-50%);
  bottom:calc(env(safe-area-inset-bottom,0px) + 20px);
  z-index:22;
  width:min(92vw,520px);
  display:flex;gap:8px;align-items:center;
  padding:8px 8px 8px 14px;
  background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,.22));
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  box-shadow:0 20px 40px -14px rgba(0,0,0,.5);
  transition:transform .22s ease, bottom .22s ease;
}
#aurora-root .au-cw-compose-fab .au-cw-input{
  flex:1;height:40px;border-radius:999px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(148,163,184,.3);
  color:#0f172a;padding:0 14px;font-size:14px;outline:none;font-family:inherit;
}
#aurora-root .au-cw-compose-fab .au-cw-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(59,130,246,.18)}
#aurora-root .au-cw-compose-fab .au-cw-input::placeholder{color:#94a3b8}
#aurora-root .au-cw-compose-fab .au-cw-send{
  width:44px;height:44px;flex-shrink:0;border-radius:50%;
  background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 18px -6px rgba(59,130,246,.55);
  border:none;
}
#aurora-root .au-cw-compose-fab.typing{
  bottom:calc(env(safe-area-inset-bottom,0px) + 20px);
}

/* Hide old dock entirely — dialogue is on the character now */
#aurora-root .au-cw-dock{display:none !important}

/* Remove XP/coin display globally */
#aurora-root .au-cw-pill.xp,
#aurora-root .au-cw-pill.coin,
#aurora-root .au-cw-pill.coins{display:none !important}

/* --- Admin --- (bundled inside plugin, ok as it's WP admin only) */

/* =====================================================================
   LIVE CLASS v2 — Instagram-Live style, liquid glass, mobile-first
   ===================================================================== */
body.au-live-open { overflow:hidden; }

.au-live{
  position:fixed; inset:0; z-index:200; background:#000;
  color:#fff;
  display:flex; flex-direction:column;
  overscroll-behavior:contain;
  font-family: inherit;
}
.au-live *{ box-sizing:border-box; }

/* glass utility */
.au-live .glass{
  background: rgba(20,20,28,.36);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid rgba(255,255,255,.14);
  color:#fff;
}
.au-live-back{
  width:40px; height:40px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.35); color:#fff; border:1px solid rgba(255,255,255,.18);
  cursor:pointer;
}
.au-live-top{
  position:absolute; top:calc(env(safe-area-inset-top,0px) + 10px); left:12px; right:12px;
  display:flex; align-items:center; gap:10px; padding:8px 12px;
  border-radius:20px;
  z-index:5;
  transition: opacity .25s ease, transform .25s ease;
}
.au-live-titlewrap{ flex:1; min-width:0; }
.au-live-title{ font-weight:700; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.au-live-sub{ font-size:11px; opacity:.75; }
.au-live-badges{ display:flex; align-items:center; gap:6px; }
.au-live-live{ display:inline-flex; align-items:center; gap:4px; background:#ef4444; color:#fff; padding:3px 8px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.5px;}
.au-live-dot{ width:6px; height:6px; border-radius:50%; background:#fff; box-shadow:0 0 0 0 rgba(255,255,255,.7); animation:aul-p 1.6s infinite; }
@keyframes aul-p{ 0%{box-shadow:0 0 0 0 rgba(255,255,255,.9)} 70%{box-shadow:0 0 0 8px rgba(255,255,255,0)} 100%{box-shadow:0 0 0 0 rgba(255,255,255,0)} }
.au-live-timer{ font-variant-numeric:tabular-nums; font-size:12px; background:rgba(0,0,0,.4); padding:3px 8px; border-radius:999px; }
.au-live-viewers{ display:inline-flex; align-items:center; gap:4px; background:rgba(0,0,0,.4); padding:3px 8px; border-radius:999px; font-size:12px; }

/* Stage */
.au-live-stage{ position:absolute; inset:0; background:linear-gradient(180deg,#0b0b12,#0a0a10); overflow:hidden; }
.au-live-stage > video{ width:100%; height:100%; object-fit:cover; background:#000; display:block; }
.au-live-stage-empty{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; opacity:.9;}
.au-live-stage-empty.hide{ display:none; }
.au-live-avatar{
  width:88px; height:88px; border-radius:50%; background:linear-gradient(135deg,#7c3aed,#22d3ee);
  display:flex; align-items:center; justify-content:center; font-size:34px; font-weight:800;
}

/* Floating participant thumbs — placed on the RIGHT so they don't overlap the
   left-side presence stack of present students. */
.au-live-thumbs{
  position:absolute; right:10px; top:calc(env(safe-area-inset-top,0px) + 76px);
  display:flex; flex-direction:column; gap:10px; z-index:6;
  max-height:60vh; overflow:auto; padding-left:2px;
  pointer-events:auto;
}
.au-live-thumb{
  width:74px; height:100px; border-radius:16px; overflow:hidden; position:relative;
  border:2px solid rgba(255,255,255,.35);
  transition: transform .2s ease;
  box-shadow:0 10px 24px -12px rgba(0,0,0,.6);
}
.au-live-thumb > video{ width:100%; height:100%; object-fit:cover; }
.au-live-thumb.hand{ border-color:#f59e0b; box-shadow:0 0 0 3px rgba(245,158,11,.35); }
.au-live-thumb.hand::before{ content:''; }
.au-live-thumb.expanded{ transform:scale(2); transform-origin:top right; }
.au-live-thumb-name{
  position:absolute; bottom:0; left:0; right:0; font-size:10px; text-align:center;
  padding:4px; background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);
}

/* Live comments */
.au-live-comments{
  position:absolute; left:12px; bottom:120px; right:35%;
  display:flex; flex-direction:column-reverse; gap:6px; z-index:4;
  pointer-events:none;
  max-height:40vh; overflow:hidden;
}
.au-live-cmt{
  align-self:flex-start; background:rgba(0,0,0,.42); padding:6px 10px; border-radius:14px;
  font-size:13px; max-width:100%; word-break:break-word;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  opacity:1; transition: opacity .5s ease, transform .5s ease;
  transform: translateY(0);
}
.au-live-cmt.gone{ opacity:0; transform:translateY(-8px); }
.au-live-cmt.self{ background:rgba(59,130,246,.5); }
.au-live-cmt.hand{ background:rgba(245,158,11,.55); font-weight:600; }
.au-live-cmt-name{ font-weight:800; margin-inline-end:6px; opacity:.9; }

/* Comment composer */
.au-live-cmt-bar{
  position:absolute; left:12px; right:12px; bottom:calc(env(safe-area-inset-bottom,0px) + 88px);
  display:flex; align-items:center; gap:8px; padding:6px 8px 6px 14px; border-radius:999px;
  z-index:6;
  transition: opacity .25s ease, transform .25s ease;
}
.au-live-cmt-input{
  flex:1; background:transparent; border:0; outline:0; color:#fff; font-size:14px; padding:6px 0;
}
.au-live-cmt-input::placeholder{ color:rgba(255,255,255,.65); }
.au-live-cmt-send{
  width:34px; height:34px; border-radius:50%; border:0; background:#fff; color:#0f172a;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}

/* Control dock */
.au-live-ctrls{
  position:absolute; left:50%; transform:translateX(-50%);
  bottom:calc(env(safe-area-inset-bottom,0px) + 18px);
  display:flex; align-items:center; gap:8px; padding:8px;
  border-radius:999px;
  z-index:7;
  transition: opacity .25s ease, transform .25s ease;
}
.au-live-btn{
  width:48px; height:48px; border-radius:50%; border:0;
  background:rgba(255,255,255,.12); color:#fff; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  transition: background .2s ease, transform .1s ease;
}
.au-live-btn:hover{ background:rgba(255,255,255,.2); }
.au-live-btn.on{ background:#fff; color:#0f172a; }
.au-live-btn.off{ background:rgba(239,68,68,.5); }
.au-live-btn.danger{ background:#ef4444; color:#fff; }
.au-live-btn.danger:hover{ background:#dc2626; }
.au-live-btn .au-ico{ display:inline-flex; }

/* Auto-hide disabled — HUD stays visible statically */
.au-live.ui-hidden .au-live-top,
.au-live.ui-hidden .au-live-ctrls,
.au-live.ui-hidden .au-live-thumbs{
  opacity:1; transform:none; pointer-events:auto;
}

/* Chat drawer */
.au-live-chat{
  position:absolute; right:12px; left:12px; bottom:calc(env(safe-area-inset-bottom,0px) + 88px);
  border-radius:20px; padding:10px; z-index:8;
  display:none; max-height:60vh; flex-direction:column;
}
.au-live-chat.show{ display:flex; }
.au-live-chat-head{ display:flex; align-items:center; justify-content:space-between; font-weight:700; padding:2px 4px 8px; }
.au-live-chat-close{ width:28px; height:28px; border-radius:50%; border:0; background:rgba(255,255,255,.14); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.au-live-chat-list{ flex:1; overflow:auto; display:flex; flex-direction:column; gap:6px; padding:4px 2px; }
.au-live-chat-msg{ background:rgba(0,0,0,.35); padding:6px 10px; border-radius:14px; font-size:13px; }
.au-live-chat-input{ display:flex; gap:6px; padding-top:8px; }
.au-live-chat-text{ flex:1; background:rgba(255,255,255,.14); border:0; outline:0; color:#fff; border-radius:999px; padding:8px 12px; font-size:14px; }
.au-live-chat-text::placeholder{ color:rgba(255,255,255,.6); }
.au-live-chat-send{ width:38px; height:38px; border-radius:50%; border:0; background:#fff; color:#0f172a; cursor:pointer; }

/* Lobby */
.au-lobby{ position:fixed; inset:0; z-index:210; background:#050510; display:flex; align-items:center; justify-content:center; padding:16px; color:#fff; }
.au-lobby-card{
  width:100%; max-width:420px; padding:18px; border-radius:24px;
  display:flex; flex-direction:column; gap:12px; align-items:center;
  background: rgba(20,20,28,.5); -webkit-backdrop-filter: blur(30px); backdrop-filter: blur(30px);
  border:1px solid rgba(255,255,255,.14);
}
.au-lobby-title{ font-weight:800; font-size:18px; }
.au-lobby-sub{ font-size:12px; opacity:.75; }
.au-lobby-preview{ width:100%; aspect-ratio: 4/3; border-radius:18px; overflow:hidden; background:#000; position:relative; border:1px solid rgba(255,255,255,.1); }
.au-lobby-preview > video{ width:100%; height:100%; object-fit:cover; transform:scaleX(-1); }
.au-lobby-level{ position:absolute; left:8px; right:8px; bottom:8px; height:6px; background:rgba(255,255,255,.15); border-radius:999px; overflow:hidden; }
.au-lobby-level::after{ content:''; display:block; width:var(--l,0%); height:100%; background:linear-gradient(90deg,#22c55e,#22d3ee); transition:width .1s linear; }
.au-lobby-quality{ font-size:12px; opacity:.85; }
.au-lobby-quality.warn{ color:#f59e0b; }

/* =====================================================================
   WHITEBOARD — white liquid glass, mobile-first, exact-tap text
   ===================================================================== */
.au-board{
  position:fixed; inset:0; z-index:230; background:#fff;
  display:flex; flex-direction:column;
  opacity:0; pointer-events:none; transition: opacity .2s ease;
}
.au-board.open{ opacity:1; pointer-events:auto; }
.au-board-bar{
  display:flex; align-items:center; gap:8px; padding:10px; margin:10px; border-radius:20px;
  background: rgba(255,255,255,.7);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  backdrop-filter: blur(24px) saturate(160%);
  border:1px solid rgba(15,23,42,.06);
  box-shadow: 0 8px 24px rgba(15,23,42,.08);
  overflow-x:auto; overflow-y:hidden; scrollbar-width:none;
  color:#0f172a;
  position:relative; z-index:5;
}
.au-board-bar::-webkit-scrollbar{ display:none; }
.au-board-tool{
  width:40px; height:40px; border-radius:12px; border:0; background:transparent; color:#0f172a;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  flex-shrink:0;
}
.au-board-tool:hover{ background:rgba(15,23,42,.06); }
.au-board-tool.on{ background:#0f172a; color:#fff; }
.au-board-tool.warn{ color:#ef4444; }
.au-board-swatches{ display:flex; gap:6px; padding: 0 8px; border-left:1px solid rgba(15,23,42,.08); border-right:1px solid rgba(15,23,42,.08); margin: 0 4px;}
.au-board-swatch{ width:24px; height:24px; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 2px rgba(15,23,42,.08); cursor:pointer; padding:0; flex-shrink:0; }
.au-board-swatch.on{ box-shadow:0 0 0 2px #0f172a; transform:scale(1.05); }
.au-board-size{ width:100px; accent-color:#0f172a; flex-shrink:0; }
.au-board-stage{ flex:1; position:relative; background:#fff; touch-action:none; overflow:hidden; }
.au-board-canvas{ width:100%; height:100%; display:block; background:#fff; touch-action:none; }
.au-board-textin{
  position:absolute; z-index:10; min-width:80px; max-width:70%;
  background:transparent; border:1px dashed rgba(15,23,42,.35);
  border-radius:6px; padding:2px 4px; outline:0;
  font-family: Vazirmatn, Vazir, Tahoma, sans-serif;
  direction:rtl; text-align:right;
  resize:none; overflow:hidden;
  line-height:1.2;
}

/* Prevent long-press image save on live videos */
.au-live video{ pointer-events:none; }


/* ============ v6.8 FIXES ============ */
/* Latin digits everywhere (user requested English numerals) */
#aurora-root, #aurora-root *,
.au-live, .au-live *, .au-board, .au-board *{
  font-variant-numeric: tabular-nums;
}
.au-live-timer, .au-live-viewers, .au-live-title, .au-live-sub{
  font-feature-settings: "tnum";
}

/* Ensure quick-question option text is always visible on any background */
#aurora-root .au-quick-opt{color:var(--ink) !important;background:#f1f5f9 !important;font-weight:600}
#aurora-root .au-quick-opt.sel{background:rgba(59,130,246,.14) !important;color:var(--ink) !important}
#aurora-root .au-quick-opt > div:last-child{color:var(--ink);font-size:14px}
#aurora-root .au-modal-body .au-btn,
#aurora-root .au-modal-body .au-btn-ghost{color:var(--ink)}
#aurora-root .au-modal-body .au-btn-primary,
#aurora-root .au-modal-body .au-btn-danger{color:#fff}
#aurora-root .au-row{color:var(--ink)}

/* Bigger, easier-to-see close/back icons across the app */
#aurora-root .au-x,
#aurora-root .au-drawer-close,
#aurora-root .au-cw-btn,
#aurora-root .au-cw-hist,
#aurora-root .au-burger,
#aurora-root .au-live-back,
#aurora-root .au-live-chat-close{width:44px;height:44px}
#aurora-root .au-x svg,
#aurora-root .au-drawer-close svg,
#aurora-root .au-cw-btn svg,
#aurora-root .au-cw-hist svg,
#aurora-root .au-burger svg,
#aurora-root .au-live-back svg,
#aurora-root .au-live-chat-close svg{width:24px;height:24px;stroke-width:2.4}
.au-live-back{width:44px;height:44px}
.au-live-back svg{width:24px;height:24px;stroke-width:2.4}
.au-board-tool{width:44px;height:44px}
.au-board-tool svg{width:22px;height:22px;stroke-width:2.2}
.au-live-btn svg{width:24px;height:24px;stroke-width:2.2}

/* ---- Whiteboard mobile-responsive toolbar split ---- */
.au-board-bar-bottom{
  display:flex; align-items:center; gap:8px; padding:10px; margin:0 10px 10px; border-radius:20px;
  background: rgba(255,255,255,.7);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  backdrop-filter: blur(24px) saturate(160%);
  border:1px solid rgba(15,23,42,.06);
  box-shadow: 0 8px 24px rgba(15,23,42,.08);
  overflow-x:auto; overflow-y:hidden; scrollbar-width:none;
  color:#0f172a; position:relative; z-index:5; flex-wrap:wrap; justify-content:center;
}
.au-board-bar-bottom::-webkit-scrollbar{display:none}
@media (max-width:720px){
  .au-board-bar{flex-wrap:nowrap;justify-content:space-between}
  .au-board-bar-bottom{
    position:fixed; left:0; right:0;
    bottom:calc(env(safe-area-inset-bottom,0px) + 8px);
    margin:0 10px; z-index:20;
  }
  .au-board-stage{padding-bottom:96px}
  .au-board-swatches{border:none;padding:0 4px;margin:0}
  .au-board-size{width:80px}
}

/* Drop-zone visible border even at rest */
#aurora-root .au-dropzone{border-width:2.5px}

/* Auth phone input LTR digits */
#aurora-root .au-input[type=tel]{direction:ltr;text-align:left;letter-spacing:.5px}

/* ============ v6.9 FIXES ============ */
/* Centered logo topbar (3-column grid) */
.au-topbar.au-topbar-3col{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;
  padding:12px 14px;
}
.au-topbar-3col .au-topbar-left{justify-self:start;display:flex;align-items:center}
.au-topbar-3col .au-topbar-center{justify-self:center;display:flex;align-items:center;justify-content:center}
.au-topbar-3col .au-topbar-right{justify-self:end;display:flex;align-items:center;gap:8px}
#aurora-root .au-topbar-center .au-brand-logo{height:44px}

/* Global (not #aurora-root scoped) so modals/portals also get styled */
.au-dropzone{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:22px 16px;border-radius:18px;
  background:rgba(59,130,246,.06);
  border:2.5px dashed rgba(59,130,246,.5);
  color:#0b1a3a;font-size:14px;font-weight:600;
  cursor:pointer;transition:all .16s ease;text-align:center;
  font-family:Vazirmatn,system-ui,-apple-system,sans-serif;
}
.au-dropzone:hover,.au-dropzone.drag{
  background:rgba(59,130,246,.14);border-color:#2563eb;color:#1d4ed8;
  transform:translateY(-1px);box-shadow:0 12px 30px -14px rgba(59,130,246,.6);
}
.au-dropzone-ico{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 22px -8px rgba(59,130,246,.55);
}
.au-dropzone-ico svg{width:26px;height:26px}
.au-dropzone-hint{font-size:12px;color:#4b5f88;font-weight:500}
.au-dropzone-preview{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 12px 26px -10px rgba(15,32,79,.35);margin-bottom:6px}

/* Modal typography + inputs — guarantee visibility regardless of parent */
.au-modal, .au-modal *{font-family:Vazirmatn,system-ui,-apple-system,sans-serif}
.au-modal .au-modal-body{color:#0b1a3a}
.au-modal .au-btn{color:#0b1a3a !important;font-weight:700;min-height:46px;font-size:15px}
.au-modal .au-btn-primary{color:#fff !important;background:linear-gradient(135deg,#3b82f6,#2563eb) !important}
.au-modal .au-btn-danger{color:#fff !important}
.au-modal .au-btn-ghost{background:rgba(255,255,255,.7) !important;border:1px solid rgba(11,26,58,.14) !important}

/* Universally visible input borders (fallback for modal-portaled inputs) */
.au-input,.au-textarea,.au-select{
  width:100%;
  background:#fff;color:#0b1a3a;
  border:1.5px solid rgba(11,26,58,.22) !important;
  border-radius:12px;padding:12px 14px;font-size:14px;outline:none;
  font-family:Vazirmatn,system-ui,-apple-system,sans-serif;
  transition:border-color .15s, box-shadow .15s;
}
.au-input:focus,.au-textarea:focus,.au-select:focus{
  border-color:#2563eb !important;box-shadow:0 0 0 3px rgba(59,130,246,.18);
}
.au-label{display:block;font-size:13px;color:#4b5f88;margin-bottom:6px;font-weight:600}

/* Bigger icons across the board — user says icons still appear too small */
.au-tab svg{width:26px !important;height:26px !important}
.au-drawer-item .au-drawer-ico svg,
.au-drawer-ico svg{width:24px !important;height:24px !important}
.au-btn svg{width:20px;height:20px}
.au-live-btn{width:60px !important;height:60px !important}
.au-live-btn svg{width:28px !important;height:28px !important}
.au-live-back{width:48px !important;height:48px !important}
.au-live-back svg{width:26px !important;height:26px !important}
.au-x svg{width:22px !important;height:22px !important}
.au-burger svg{width:26px !important;height:26px !important}
.au-row-icon svg,.au-stat-icon svg{width:22px !important;height:22px !important}

/* Chat composer placeholder & sizing */
.au-chat-input textarea{
  font-size:15px;color:#0b1a3a;
  border:1.5px solid rgba(11,26,58,.22);
  padding:12px 16px;
}
.au-chat-input textarea::placeholder{color:#8ea0c4;opacity:1}
.au-chat-input button{width:46px;height:46px}
.au-chat-input button svg{width:22px;height:22px}

/* Placeholder color everywhere */
.au-input::placeholder,.au-textarea::placeholder{color:#8ea0c4;opacity:1}

/* =====================================================================
   v7.0 — Fullscreen overlay + universal icon normalization
   ===================================================================== */

/* ---- Fullscreen overlay: platform takes over the whole viewport ---- */
html.au-fullscreen, body.au-fullscreen{
  overflow:hidden !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  overscroll-behavior:none;
}
/* Note: we do NOT hide body children — the theme may wrap #aurora-root
   inside a page container. #aurora-root is position:fixed with the highest
   possible z-index, so it visually overlays everything regardless. */
#aurora-root.au-fullscreen-root{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  max-width:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-bottom:0 !important;
  -webkit-overflow-scrolling:touch;
  background:var(--bg);
}
/* Portaled overlays (appended to document.body) must sit above the fixed root */
.au-chatview,
.au-live,
.au-lobby,
.au-board,
.au-modal,
.au-drawer-wrap,
.au-toast{ z-index:2147483600 !important; }

/* ---- Universal icon normalization (single source of truth) ---- */
/* Icons default to a consistent size and stroke, then per-context tweaks below */
#aurora-root svg,
.au-chatview svg,
.au-live svg,
.au-lobby svg,
.au-board svg,
.au-modal svg,
.au-drawer-wrap svg,
.au-toast svg{
  width:22px; height:22px;
  stroke-width:2;
  vertical-align:middle;
  flex-shrink:0;
  color:currentColor;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  display:inline-block;
  overflow:visible;
}
/* Keep the app-brand SVG hidden (logo image is used instead) */
#aurora-root .au-brand svg,
#aurora-root .au-auth-logo svg{display:none !important}

/* ---- Bottom tab bar (Home / Chat / etc.) — icons a touch smaller & centered ---- */
#aurora-root .au-tab{padding:6px 4px;gap:3px}
#aurora-root .au-tab-ico{width:36px;height:32px;border-radius:12px}
#aurora-root .au-tab svg{width:22px !important;height:22px !important;stroke-width:2}

/* ---- Round icon buttons (back, close, burger, city HUD) ---- */
#aurora-root .au-x,
#aurora-root .au-burger,
#aurora-root .au-drawer-close,
#aurora-root .au-cw-btn,
#aurora-root .au-cw-hist,
#aurora-root .au-icon-btn,
.au-live-back,
.au-live-chat-close{
  width:42px !important; height:42px !important;
}
#aurora-root .au-x svg,
#aurora-root .au-burger svg,
#aurora-root .au-drawer-close svg,
#aurora-root .au-cw-btn svg,
#aurora-root .au-cw-hist svg,
#aurora-root .au-icon-btn svg,
.au-live-back svg,
.au-live-chat-close svg{
  width:22px !important; height:22px !important; stroke-width:2.2 !important;
}

/* ---- Section / row / stat icons ---- */
#aurora-root .au-sec-icon svg{width:18px !important;height:18px !important}
#aurora-root .au-row-icon svg{width:20px !important;height:20px !important}
#aurora-root .au-stat-icon svg{width:18px !important;height:18px !important}
#aurora-root .au-file-icon svg{width:20px !important;height:20px !important}

/* ---- Live-class control dock buttons ---- */
.au-live-btn{width:54px !important;height:54px !important}
.au-live-btn svg{width:24px !important;height:24px !important;stroke-width:2.2 !important}

/* ---- Whiteboard toolbar ---- */
.au-board-tool{width:42px !important;height:42px !important}
.au-board-tool svg{width:22px !important;height:22px !important;stroke-width:2.2 !important}

/* ---- SEND button — force a visible icon everywhere (was appearing blank on some devices) ---- */
.au-chat-input button,
.au-live-chat-send,
.au-live-cmt-send,
#aurora-root .au-cw-send,
#aurora-root .au-cw-compose-fab .au-cw-send{
  width:46px !important; height:46px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  color:#fff !important;
}
.au-live-chat-send,
.au-live-cmt-send{ color:#0f172a !important; }
.au-chat-input button svg,
.au-live-chat-send svg,
.au-live-cmt-send svg,
#aurora-root .au-cw-send svg,
#aurora-root .au-cw-compose-fab .au-cw-send svg{
  width:22px !important; height:22px !important;
  stroke-width:2.4 !important;
  stroke:currentColor !important;
  fill:none !important;
  display:inline-block !important;
  opacity:1 !important;
  visibility:visible !important;
}

/* ---- Chat header back-arrow was too small ---- */
.au-chat-header .au-x{width:42px !important;height:42px !important}
.au-chat-header .au-x svg{width:22px !important;height:22px !important;stroke-width:2.4 !important}

/* ---- Drawer nav items ---- */
#aurora-root .au-drawer-item svg{width:22px !important;height:22px !important;stroke-width:2.1 !important}

/* ---- Primary CTA icons ---- */
#aurora-root .au-btn svg{width:18px !important;height:18px !important;stroke-width:2.2 !important}
#aurora-root .au-btn-sm svg{width:16px !important;height:16px !important}

/* ---- City map: hide legacy walker sprites completely (v7.0 removes them) ---- */
#aurora-root .au-cw-walker,
#aurora-root .au-cw-walker.moving,
#aurora-root .au-cw-walker-sprite,
#aurora-root .au-cw-walker-name{ display:none !important; animation:none !important; }

/* ---- City spot icons — make them clearly readable ---- */
#aurora-root .au-cw-spot-ico{width:46px;height:46px}
#aurora-root .au-cw-spot-ico svg{width:22px !important;height:22px !important;stroke-width:2.2 !important}

/* ---- Quick-question option — icons kept modest ---- */
#aurora-root .au-quick-opt svg{width:18px !important;height:18px !important}

/* ---- Dropzone ---- */
#aurora-root .au-dropzone-ico svg,
.au-dropzone-ico svg{width:24px !important;height:24px !important;stroke-width:2.2 !important}

/* ---- Ensure emoji-in-pill still fits neatly ---- */
#aurora-root .au-cw-pill{line-height:1}


/* =====================================================================
   v7.1 — Apple-style Liquid Glass polish
   ===================================================================== */

/* ---- Header: liquid glass bar that visually separates topbar ---- */
#aurora-root .au-topbar,
#aurora-root .au-topbar.au-topbar-3col{
  position:sticky; top:0; z-index:20;
  padding:10px 12px 10px !important;
  margin:0 -16px 14px;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.42)) !important;
  -webkit-backdrop-filter:blur(28px) saturate(190%);
  backdrop-filter:blur(28px) saturate(190%);
  border-bottom:1px solid rgba(255,255,255,.7);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 10px 24px -18px rgba(15,32,79,.35);
  border-radius:0 0 22px 22px;
}
#aurora-root .au-topbar::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 60%);
  mix-blend-mode:overlay; opacity:.7;
}
#aurora-root .au-topbar-3col{grid-template-columns:auto 1fr auto}
#aurora-root .au-topbar-center .au-brand-logo{height:38px}
#aurora-root .au-burger{
  width:40px;height:40px;border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.55));
  border:1px solid rgba(255,255,255,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 6px 14px -8px rgba(15,32,79,.35);
}
#aurora-root .au-burger svg{width:22px !important;height:22px !important;stroke-width:2.2 !important}
#aurora-root .au-topbar .avatar{width:38px;height:38px}

/* ---- Chat composer: fix "empty" attach + send buttons ---- */
#aurora-root .au-chat-input{
  gap:10px; padding:10px 12px calc(env(safe-area-inset-bottom,0px) + 10px);
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.85)) !important;
  -webkit-backdrop-filter:blur(28px) saturate(190%);
  backdrop-filter:blur(28px) saturate(190%);
  border-top:1px solid rgba(255,255,255,.7);
}
#aurora-root .au-chat-input textarea{
  background:rgba(255,255,255,.9) !important;
  border:1px solid rgba(11,26,58,.12) !important;
  border-radius:22px !important; padding:11px 16px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
#aurora-root .au-chat-input button{
  width:42px !important; height:42px !important; border-radius:50% !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  flex-shrink:0;
}
/* attach = light glass, dark icon */
#aurora-root .au-chat-input .au-attach-btn{
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(240,244,255,.85)) !important;
  border:1px solid rgba(11,26,58,.12) !important;
  color:var(--ink) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 6px 14px -8px rgba(15,32,79,.35);
}
#aurora-root .au-chat-input .au-attach-btn svg{
  stroke:var(--ink) !important; color:var(--ink) !important;
  width:20px !important; height:20px !important; stroke-width:2.2 !important;
}
/* send = blue glass, white icon */
#aurora-root .au-chat-input .au-send-btn,
#aurora-root .au-chat-input button:last-of-type{
  background:linear-gradient(135deg,#3b82f6,#2563eb) !important;
  color:#fff !important;
  box-shadow:0 10px 22px -8px rgba(59,130,246,.7),inset 0 1px 0 rgba(255,255,255,.5);
}
#aurora-root .au-chat-input .au-send-btn svg,
#aurora-root .au-chat-input button:last-of-type svg{
  stroke:#fff !important; color:#fff !important;
  width:20px !important; height:20px !important; stroke-width:2.4 !important;
  opacity:1 !important; visibility:visible !important;
}

/* ---- Live room: smaller, tighter for mobile ---- */
@media (max-width:640px){
  #aurora-root .au-live-top{padding:10px 12px !important}
  #aurora-root .au-live-main{padding:8px !important; gap:6px}
  #aurora-root .au-live-teacher{min-height:180px}
  #aurora-root .au-live-grid{max-height:120px; grid-template-columns:repeat(auto-fill,minmax(72px,1fr)); gap:5px}
  #aurora-root .au-live-ctrls{
    padding:9px 10px calc(env(safe-area-inset-bottom,0px) + 9px) !important;
    gap:8px;
  }
  #aurora-root .au-live-btn{
    width:44px !important; height:44px !important; font-size:0 !important;
    gap:0 !important;
    border-radius:50% !important;
    background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06)) !important;
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    backdrop-filter:blur(20px) saturate(180%);
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 18px -8px rgba(0,0,0,.5);
  }
  #aurora-root .au-live-btn.danger{
    background:linear-gradient(135deg,#ef4444,#dc2626) !important;
  }
  #aurora-root .au-live-btn.on{
    background:linear-gradient(135deg,#3b82f6,#2563eb) !important;
  }
  #aurora-root .au-live-btn svg{width:20px !important; height:20px !important}
}
/* even on desktop keep them reasonable */
#aurora-root .au-live-btn{width:48px; height:48px}
#aurora-root .au-live-btn svg{width:20px; height:20px}

/* back button in live/chat headers — consistent glass pill */
#aurora-root .au-live-top .au-x,
#aurora-root .au-chat-header .au-x,
#aurora-root .au-x{
  width:38px !important; height:38px !important;
  border-radius:12px !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(18px) saturate(180%);
  backdrop-filter:blur(18px) saturate(180%);
}
#aurora-root .au-chat-header .au-x{
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.55));
  border-color:rgba(11,26,58,.1);
  color:var(--ink);
}
#aurora-root .au-x svg{width:20px !important; height:20px !important; stroke-width:2.2 !important}

/* ---- Bottom tabbar — refined liquid glass, smaller icons ---- */
#aurora-root .au-tabbar{
  padding:6px !important; border-radius:26px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.55)) !important;
  -webkit-backdrop-filter:blur(40px) saturate(200%);
  backdrop-filter:blur(40px) saturate(200%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 24px 50px -20px rgba(15,32,79,.35);
}
#aurora-root .au-tab{padding:6px 4px 6px; font-size:10px}
#aurora-root .au-tab-ico{width:36px; height:30px; border-radius:12px}
#aurora-root .au-tab svg{width:20px !important; height:20px !important; stroke-width:2 !important}
#aurora-root .au-tab.on .au-tab-ico{
  background:linear-gradient(135deg,#3b82f6,#2563eb) !important;
  box-shadow:0 10px 20px -8px rgba(59,130,246,.65),inset 0 1px 0 rgba(255,255,255,.5);
}

/* ---- Buttons: unified liquid-glass style ---- */
#aurora-root .au-btn{
  border-radius:16px;
  background:linear-gradient(135deg,#3b82f6,#2563eb);
  color:#fff; padding:12px 18px; font-weight:700;
  box-shadow:0 12px 26px -10px rgba(59,130,246,.6),inset 0 1px 0 rgba(255,255,255,.4);
  transition:transform .15s ease, box-shadow .15s ease;
}
#aurora-root .au-btn:hover{transform:translateY(-1px);box-shadow:0 16px 30px -10px rgba(59,130,246,.65),inset 0 1px 0 rgba(255,255,255,.45)}
#aurora-root .au-btn:active{transform:translateY(0)}
#aurora-root .au-btn.ghost,
#aurora-root .au-btn-ghost{
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.55)) !important;
  color:var(--ink) !important;
  border:1px solid rgba(11,26,58,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 6px 16px -10px rgba(15,32,79,.35);
}

/* ---- Cards & inputs — subtler radius + glossy edge ---- */
#aurora-root .au-card,
#aurora-root .au-hero,
#aurora-root .au-modal-body,
#aurora-root .au-auth-card{border-radius:22px !important}
#aurora-root .au-input,
#aurora-root .au-textarea,
#aurora-root .au-select{
  border-radius:14px !important;
  border:1px solid rgba(11,26,58,.14) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.85)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
#aurora-root .au-input:focus,
#aurora-root .au-textarea:focus,
#aurora-root .au-select:focus{
  border-color:#3b82f6 !important;
  box-shadow:0 0 0 4px rgba(59,130,246,.18), inset 0 1px 0 rgba(255,255,255,.9);
}

/* ---- Icon sizing safety net ---- */
#aurora-root svg{max-width:100%;max-height:100%}

/* ============ Live: right-side presence stack ============ */
.au-live-presence{
  position:absolute;top:80px;left:12px;display:flex;flex-direction:column;gap:10px;z-index:4;
  align-items:center;pointer-events:auto;
}
.au-pres-av,.au-pres-more{
  position:relative;width:52px;height:52px;border-radius:50%;overflow:hidden;
  background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.35);
  backdrop-filter:blur(14px);color:#fff;font-weight:700;font-size:15px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px -8px rgba(0,0,0,.5);transition:transform .15s ease,border-color .15s ease;
}
.au-pres-av:hover,.au-pres-more:hover{transform:scale(1.06)}
.au-pres-av img{width:100%;height:100%;object-fit:cover}
.au-pres-av.teacher{border-color:#3b82f6;box-shadow:0 8px 22px -6px rgba(59,130,246,.7)}
.au-pres-av.hand{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.35),0 8px 22px -6px rgba(245,158,11,.7);animation:au-hand-pulse 1.4s ease-in-out infinite}
.au-pres-hand{position:absolute;right:-4px;top:-4px;background:#f59e0b;color:#111;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 4px 10px -3px rgba(0,0,0,.5)}
.au-pres-more{background:linear-gradient(135deg,rgba(59,130,246,.35),rgba(139,92,246,.35));font-variant-numeric:tabular-nums}
@keyframes au-hand-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

/* Permission popover (teacher taps a raised-hand student) */
.au-permit-pop{
  position:fixed;z-index:250;padding:12px;border-radius:16px;
  background:rgba(10,15,34,.92);border:1px solid rgba(255,255,255,.14);color:#fff;
  backdrop-filter:blur(20px);min-width:230px;max-width:88vw;
  box-shadow:0 20px 60px -20px rgba(0,0,0,.7);
  animation:au-pop-in .18s ease-out;
}
@keyframes au-pop-in{from{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:none}}
.au-permit-name{font-size:13px;font-weight:700;margin-bottom:10px;color:#fff}
.au-permit-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.au-permit-btn{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:600;border:1px solid rgba(255,255,255,.14)}
.au-permit-btn.primary{background:linear-gradient(135deg,#3b82f6,#6366f1);border-color:transparent}
.au-permit-btn.ghost{padding:8px}

/* Modal boost when overlaying the live view */
.au-modal.au-modal-live{z-index:400}
.au-modal.au-modal-live .au-modal-body{background:rgba(15,20,40,.96);color:#fff;border:1px solid rgba(255,255,255,.12)}
.au-modal.au-modal-live .au-modal-body::before{display:none}
.au-modal.au-modal-live .au-modal-header h3{color:#fff}

/* Presence expand popup grid */
.au-pres-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:60vh;overflow-y:auto}
.au-pres-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.au-pres-tile img,.au-pres-init{width:56px;height:56px;border-radius:50%;object-fit:cover;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-weight:700}
.au-pres-tile.hand{border-color:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.25)}
.au-pres-tile.hand::after{content:'✋';position:absolute;top:6px;right:6px;font-size:14px}
.au-pres-name{font-size:12px;font-weight:600;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-pres-badge{font-size:10px;padding:2px 6px;background:#3b82f6;color:#fff;border-radius:8px}
.au-pres-actions{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:4px}
.au-pres-actions .au-btn{padding:6px 8px;font-size:11px}

/* Tablet & desktop: bigger right stack */
@media (min-width:768px){
  .au-live-presence{top:96px;left:16px;gap:12px}
  .au-pres-av,.au-pres-more{width:60px;height:60px;font-size:17px}
}
@media (min-width:1200px){
  .au-live-presence{left:24px}
  .au-pres-av,.au-pres-more{width:66px;height:66px}
}

/* ============ Live: hand-raise tray (teacher only) ============ */
.au-live-handtray{
  position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);z-index:8;
  display:none;flex-direction:column;gap:8px;padding:10px 14px;
  pointer-events:none;
}
.au-live-handtray.show{display:flex}
.au-handtray-title{
  align-self:center;display:flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:999px;
  background:rgba(245,158,11,.22);border:1px solid rgba(245,158,11,.5);
  color:#fff;font-size:12px;font-weight:700;backdrop-filter:blur(16px);
  box-shadow:0 8px 22px -8px rgba(245,158,11,.55);pointer-events:auto;
}
.au-handtray-emoji{font-size:14px}
.au-handtray-row{
  display:flex;gap:10px;overflow-x:auto;padding:4px 2px 2px;
  scrollbar-width:none;pointer-events:auto;justify-content:center;flex-wrap:wrap;
}
.au-handtray-row::-webkit-scrollbar{display:none}
.au-handtray-tile{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:8px 10px;border-radius:18px;min-width:96px;max-width:130px;
  background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.08));border:1px solid rgba(245,158,11,.45);
  backdrop-filter:blur(18px);color:#fff;
  box-shadow:0 12px 28px -12px rgba(0,0,0,.55),0 0 0 2px rgba(245,158,11,.18);
  animation:au-hand-pulse 1.6s ease-in-out infinite;
}
.au-handtray-av{
  width:42px;height:42px;border-radius:50%;overflow:hidden;
  background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:15px;border:2px solid rgba(255,255,255,.5);
}
.au-handtray-av img{width:100%;height:100%;object-fit:cover}
.au-handtray-name{
  font-size:11px;font-weight:600;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.au-handtray-actions{display:flex;gap:4px}
.au-handtray-btn{
  display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:10px;
  background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.16);
  transition:transform .12s ease,background .12s ease;
}
.au-handtray-btn:hover{transform:scale(1.08);background:rgba(255,255,255,.2)}
.au-handtray-btn.primary{background:linear-gradient(135deg,#3b82f6,#6366f1);border-color:transparent}
.au-handtray-btn.ghost{background:rgba(239,68,68,.22);border-color:rgba(239,68,68,.4)}

/* Participants grid button (same size/style as presence avatar) */
.au-pres-gridbtn{
  background:linear-gradient(135deg,rgba(59,130,246,.45),rgba(139,92,246,.45)) !important;
  border-color:rgba(255,255,255,.55) !important;
  color:#fff;
}
.au-pres-gridbtn svg{width:22px;height:22px;stroke:#fff;stroke-width:2;fill:none}

/* Participant tile with live camera */
.au-pres-tile.has-video{padding:0;overflow:hidden;background:#000;aspect-ratio:1;min-height:120px}
.au-pres-tile-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  border-radius:14px;background:#000;
}
.au-pres-tile.has-video .au-pres-name{
  position:absolute;left:6px;right:6px;bottom:6px;padding:3px 6px;border-radius:8px;
  background:rgba(0,0,0,.55);backdrop-filter:blur(6px);color:#fff;z-index:2;
}
.au-pres-tile.has-video .au-pres-badge{position:absolute;top:6px;right:6px;z-index:2}
.au-pres-tile.has-video .au-pres-actions{position:absolute;left:6px;right:6px;bottom:36px;z-index:2}

@media (max-width:600px){
  .au-live-handtray{bottom:82px;padding:8px}
  .au-handtray-tile{min-width:88px;padding:6px 8px;border-radius:14px}
  .au-handtray-av{width:36px;height:36px}
}

/* ============ Live: Quick-Question popup (stunning UI) ============ */
.au-qq{ display:flex; flex-direction:column; gap:14px; padding:4px 2px 2px; }
.au-qq-badge{
  align-self:flex-start; display:inline-flex; align-items:center; gap:8px;
  padding:5px 12px; border-radius:999px; font-size:11px; font-weight:800;
  color:#fff; background:linear-gradient(135deg,#f59e0b,#ef4444);
  box-shadow:0 6px 18px -6px rgba(245,158,11,.6); letter-spacing:.3px;
}
.au-qq-dot{
  width:8px; height:8px; border-radius:50%; background:#fff;
  box-shadow:0 0 0 0 rgba(255,255,255,.9); animation:au-qq-pulse 1.4s ease-in-out infinite;
}
@keyframes au-qq-pulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(255,255,255,.9); }
  50%{ box-shadow:0 0 0 8px rgba(255,255,255,0); }
}
.au-qq-prompt{
  font-size:19px; font-weight:800; line-height:1.55; color:var(--ink, #0f172a);
  padding:14px 16px; border-radius:16px;
  background:linear-gradient(135deg, rgba(59,130,246,.10), rgba(139,92,246,.10));
  border:1px solid rgba(59,130,246,.18);
}
.au-qq-opts{ display:flex; flex-direction:column; gap:10px; }
.au-qq-opt{
  display:flex; align-items:center; gap:12px; padding:14px 14px;
  border-radius:16px; border:2px solid transparent;
  background:#f1f5f9; color:var(--ink,#0f172a); font-weight:600; font-size:15px;
  cursor:pointer; text-align:right; width:100%;
  transition: transform .12s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.au-qq-opt:hover{ background:#e2e8f0; transform:translateY(-1px); }
.au-qq-opt.sel{
  background:linear-gradient(135deg, rgba(59,130,246,.14), rgba(139,92,246,.14));
  border-color:#3b82f6;
  box-shadow:0 10px 24px -12px rgba(59,130,246,.55);
}
.au-qq-letter{
  flex:0 0 auto; width:34px; height:34px; border-radius:12px;
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; color:#0f172a; font-weight:800; font-size:15px;
  border:1px solid rgba(15,23,42,.08); box-shadow:0 4px 10px -4px rgba(15,23,42,.15);
}
.au-qq-letter.sm{ width:28px; height:28px; border-radius:10px; font-size:13px; }
.au-qq-opt.sel .au-qq-letter{
  background:linear-gradient(135deg,#3b82f6,#6366f1); color:#fff; border-color:transparent;
}
.au-qq-text{ flex:1; }
.au-qq-hint{ font-size:12px; color:var(--ink-3,#64748b); text-align:center; margin-top:4px; }

/* Compose (teacher launcher) */
.au-qq-compose .au-qq-section-title{
  font-weight:800; font-size:13px; color:var(--ink-3,#475569); letter-spacing:.4px;
}
.au-qq-bank{ display:flex; flex-direction:column; gap:6px; max-height:180px; overflow:auto; padding:2px; }
.au-qq-empty{ padding:14px; text-align:center; color:var(--ink-3,#64748b); font-size:13px;
  background:#f8fafc; border-radius:12px; border:1px dashed rgba(15,23,42,.12); }
.au-qq-bank-row{
  display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:12px;
  background:#f8fafc; border:1px solid rgba(15,23,42,.06);
  transition:background .12s ease;
}
.au-qq-bank-row:hover{ background:#eef2f7; }
.au-qq-bank-text{ flex:1; cursor:pointer; font-weight:600; color:var(--ink,#0f172a); font-size:14px; }
.au-qq-bank-del{
  width:32px; height:32px; border-radius:10px; border:0; cursor:pointer;
  background:rgba(239,68,68,.1); color:#ef4444;
  display:inline-flex; align-items:center; justify-content:center;
}
.au-qq-bank-del:hover{ background:rgba(239,68,68,.18); }
.au-qq-divider{
  display:flex; align-items:center; gap:10px; color:var(--ink-3,#64748b); font-size:12px; margin:4px 0;
}
.au-qq-divider::before,.au-qq-divider::after{
  content:''; flex:1; height:1px; background:rgba(15,23,42,.1);
}
.au-qq-input{ font-size:15px; font-weight:600; padding:12px 14px; }
.au-qq-new-opts{ display:flex; flex-direction:column; gap:8px; }
.au-qq-opt-row{ display:flex; align-items:center; gap:10px; }
.au-qq-opt-input{ flex:1; }
.au-qq-correct-row{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-3,#475569); }
.au-qq-correct{ flex:1; }
.au-qq-actions{ display:flex; gap:8px; margin-top:6px; }

/* Modal-in-live: darker rich background so the popup pops on top of the class */
.au-modal-live .au-modal-body{
  background:#ffffff; box-shadow:0 30px 60px -20px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.06);
}

/* v7.1.6 live-class fixes */
.au-live-handtray{bottom:92px;z-index:9}
.au-handtray-tile{cursor:default}
.au-pres-grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:12px;max-height:62vh;padding:2px}
.au-pres-tile{background:#f8fafc;border:1px solid rgba(15,23,42,.08);min-height:132px;color:#0f172a;box-shadow:0 10px 26px -18px rgba(15,23,42,.35)}
.au-pres-tile img,.au-pres-init{width:62px;height:62px;background:#e2e8f0;color:#334155;font-weight:800}
.au-pres-tile.has-video{min-height:138px;color:#fff}
.au-modal.au-modal-live .au-modal-body{color:#0f172a;border-radius:24px}
.au-modal.au-modal-live .au-modal-header h3{color:#0f172a}
.au-qq-actions .au-btn{min-height:46px}
.au-qq-opt:disabled{cursor:default;opacity:1}

/* ============================================================
   v7.1.10 — Live class overhaul:
   • Horizontal hand-raise tray (matches the vertical presence
     bubbles) sits above the bottom control dock, minimal & steady.
   • Stage splits horizontally IG-Live style when a student joins.
   • Presence bubbles get a cleaner 30u treatment.
   ============================================================ */

/* --- Stage split ------------------------------------------------ */
.au-live-stage-pane{ position:absolute; inset:0; overflow:hidden; }
.au-live-stage-pane > video{ width:100%; height:100%; object-fit:cover; background:#000; display:block; }
#stage-student-pane{ display:none; }
.au-live-stage.split #stage-teacher-pane{ inset:0 0 50% 0; border-bottom:2px solid rgba(255,255,255,.14); }
.au-live-stage.split #stage-student-pane{ display:block; inset:50% 0 0 0; background:linear-gradient(180deg,#111827,#0b0b12); }
.au-live-stage.split #stage-student-pane .au-live-stage-empty{ inset:0; }
.au-stage-close{
  position:absolute; top:10px; left:10px; z-index:5; width:32px; height:32px;
  border-radius:50%; background:rgba(0,0,0,.5); color:#fff; border:1px solid rgba(255,255,255,.2);
  display:none; align-items:center; justify-content:center; backdrop-filter:blur(10px);
}
.au-live-stage.split .au-stage-close{ display:flex; }
#student-avatar{
  width:88px; height:88px; border-radius:50%; overflow:hidden;
  background:linear-gradient(135deg,#7c3aed,#22d3ee);
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:34px; font-weight:800;
}
#student-avatar img{ width:100%; height:100%; object-fit:cover; }
#student-name{ color:#fff; margin-top:8px; font-weight:600; }

/* --- Hand-raise horizontal tray (v7.1.10) ---------------------- */
/* Overrides the older card-style tray. Bubbles mirror .au-pres-av
   sizing so the two stacks feel like siblings. */
.au-live-handtray{
  position:absolute; left:0; right:0;
  bottom:calc(env(safe-area-inset-bottom,0px) + 96px);
  display:none; justify-content:center; align-items:flex-end; padding:6px 12px;
  z-index:9; pointer-events:none; background:transparent !important; border:0 !important;
  box-shadow:none !important; animation:none !important;
}
.au-live-handtray.show{ display:flex; }
.au-live-handtray > .au-handtray-title{ display:none !important; }
.au-live-handtray .au-handtray-row{
  display:flex; gap:12px; padding:8px 14px; border-radius:999px;
  background:rgba(10,12,24,.55); border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:0 12px 30px -14px rgba(0,0,0,.5);
  pointer-events:auto; animation:none;
  max-width:calc(100vw - 32px); overflow-x:auto; scrollbar-width:none;
  justify-content:center; flex-wrap:nowrap;
}
.au-live-handtray .au-handtray-row::-webkit-scrollbar{ display:none; }
.au-live-handtray .au-handtray-av{
  position:relative; width:52px; height:52px; border-radius:50%; overflow:visible;
  background:rgba(255,255,255,.14); border:2px solid rgba(255,255,255,.55);
  color:#fff; font-weight:700; font-size:16px;
  display:flex; align-items:center; justify-content:center;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
  box-shadow:0 6px 16px -6px rgba(0,0,0,.45);
  padding:0; flex:0 0 auto; cursor:pointer; animation:none;
}
.au-live-handtray .au-handtray-av img,
.au-live-handtray .au-handtray-av .au-handtray-init{
  width:100%; height:100%; border-radius:50%; object-fit:cover;
  display:flex; align-items:center; justify-content:center;
}
.au-live-handtray .au-handtray-av:hover{ transform:translateY(-2px); border-color:#fff; }
.au-live-handtray .au-handtray-av.on-stage{
  border-color:#22d3ee; box-shadow:0 0 0 3px rgba(34,211,238,.35);
}
.au-handtray-hand{
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  width:22px; height:22px; border-radius:50%; background:#fff; color:#0f172a;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 10px -3px rgba(0,0,0,.45);
}
.au-handtray-hand svg{ width:12px; height:12px; stroke:#0f172a; stroke-width:2.2; fill:none; }

/* Kill the old pulsing / orange tile look from v7.1.6 */
.au-live-handtray .au-handtray-tile,
.au-live-handtray .au-handtray-btn,
.au-live-handtray .au-handtray-name,
.au-live-handtray .au-handtray-actions{ display:none !important; }

/* --- Presence bubble polish ---------------------------------- */
.au-pres-av{
  background:linear-gradient(135deg,rgba(124,58,237,.22),rgba(34,211,238,.22));
  border:2px solid rgba(255,255,255,.6);
  box-shadow:0 8px 22px -10px rgba(0,0,0,.5);
}
.au-pres-av .au-handtray-init,
.au-pres-av > span:not(.au-pres-hand){
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#7c3aed,#22d3ee); color:#fff; font-weight:800;
}

/* --- Fullscreen [aurora] hint + [land] shortcode ------------- */
/* ---- [land] minimal fullscreen install page — liquid-glass white ---- */
.au-land-min{
  position:fixed; inset:0; z-index:2147483646;
  display:flex; align-items:center; justify-content:center;
  padding:24px; cursor:pointer; overflow:hidden;
  background:
    radial-gradient(1200px 800px at 15% 10%, rgba(147,197,253,.55), transparent 60%),
    radial-gradient(900px 700px at 85% 90%, rgba(191,219,254,.55), transparent 60%),
    linear-gradient(180deg,#f4f8ff 0%,#e6efff 100%);
  color:#0b1a3a; font-family:Vazirmatn,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  -webkit-tap-highlight-color:transparent;
}
.au-land-min .au-land-orb{
  position:absolute; border-radius:50%; filter:blur(60px); pointer-events:none;
  animation:au-land-float 14s ease-in-out infinite;
}
.au-land-min .au-land-orb-a{ width:44vmin; height:44vmin; left:-10vmin; top:-10vmin; background:radial-gradient(circle,rgba(59,130,246,.5),transparent 70%); }
.au-land-min .au-land-orb-b{ width:50vmin; height:50vmin; right:-14vmin; bottom:-14vmin; background:radial-gradient(circle,rgba(125,211,252,.55),transparent 70%); animation-delay:-6s; }
.au-land-min .au-land-orb-c{ width:36vmin; height:36vmin; left:30%; bottom:10%; background:radial-gradient(circle,rgba(196,181,253,.45),transparent 70%); animation-delay:-3s; }
@keyframes au-land-float{ 0%,100%{ transform:translate3d(0,0,0) scale(1); } 50%{ transform:translate3d(0,-24px,0) scale(1.08); } }

.au-land-card{
  position:relative; z-index:2;
  width:min(72vmin,340px); aspect-ratio:1/1;
  display:flex; align-items:center; justify-content:center;
  border-radius:44px;
  background:linear-gradient(160deg, rgba(255,255,255,.85), rgba(255,255,255,.55));
  border:1px solid rgba(255,255,255,.85);
  box-shadow:
    0 40px 100px -30px rgba(37,99,235,.35),
    0 20px 50px -20px rgba(15,32,79,.25),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(15,32,79,.06);
  backdrop-filter:blur(30px) saturate(180%); -webkit-backdrop-filter:blur(30px) saturate(180%);
  transition:transform .35s cubic-bezier(.2,.9,.3,1.2), box-shadow .3s ease;
}
.au-land-min:hover .au-land-card,
.au-land-min:focus-visible .au-land-card{ transform:translateY(-4px) scale(1.02); box-shadow:0 50px 120px -30px rgba(37,99,235,.5),inset 0 1px 0 rgba(255,255,255,1); }
.au-land-min:active .au-land-card{ transform:scale(.97); }
.au-land-logo{
  width:62%; height:auto; z-index:2;
  filter:drop-shadow(0 12px 26px rgba(37,99,235,.28));
  user-select:none; -webkit-user-drag:none;
}
.au-land-ring{
  position:absolute; inset:-2px; border-radius:inherit; pointer-events:none;
  background:conic-gradient(from 0deg, rgba(59,130,246,.0), rgba(59,130,246,.55), rgba(125,211,252,.55), rgba(59,130,246,.0));
  -webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
  -webkit-mask-composite:xor; mask-composite:exclude;
  padding:2px; opacity:0; transition:opacity .3s ease;
  animation:au-land-spin 6s linear infinite;
}
.au-land-min.ready .au-land-ring{ opacity:1; }
@keyframes au-land-spin{ to{ transform:rotate(360deg); } }
.au-land-min.installed .au-land-card{ transform:scale(1.08); box-shadow:0 60px 140px -30px rgba(16,185,129,.45); }

