/* Symbioverse 0.8.0 (restored v0.7.9 visual design).
   Only guest news, compact wallet/logout and their responsive rules come from v0.8.1. */
:root{--sv-kept-accent:#61e2d0;--sv-kept-ink:#eaf5f8;--sv-kept-muted:#a6bdca;
 --sv-kept-surface:#102331;--sv-kept-soft:#173d40;--sv-kept-border:#32596a}
.topbar .top-right{gap:14px;min-width:0}
.topbar .sv-coin-pill{display:inline-flex;align-items:center;gap:10px;min-height:45px;padding:5px 15px 5px 8px;
 background:linear-gradient(135deg,#172f3b,#152533);border:1px solid #366477;
 border-radius:15px;text-decoration:none;white-space:nowrap;box-shadow:inset 0 1px #ffffff12}
.topbar .sv-coin-pill:hover{border-color:#61e2d0;background:#183a40}
.sv-coin-icon{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:23px;font-weight:bold;
 color:#f5d28e;background:linear-gradient(135deg,#765123,#352b25);border:1px solid #c7a05f;box-shadow:0 0 12px #d9ae4740}
.sv-coin-amount{display:grid;gap:0;line-height:1.25;color:#eaf5f8}
.sv-coin-amount strong{font-size:14px;font-weight:850;font-variant-numeric:tabular-nums}
.sv-coin-amount small{font-size:10px;color:#a6bdca;letter-spacing:.3px}
.topbar .sv-logout{display:inline-flex;gap:7px;align-items:center;justify-content:center;height:43px;min-width:43px;
 border:1px solid #345a6a;border-radius:12px;padding:9px 13px;
 background:#162d3b;color:#eaf5f8;font-size:12px;font-weight:750;cursor:pointer;box-shadow:none}
.topbar .sv-logout:hover{color:#81efdf;background:#194139;border-color:#61e2d0}
.sv-logout span:first-child{font-size:19px;line-height:1}
.sv-logout:focus-visible,.sv-coin-pill:focus-visible,.sv-auth-news-feature:focus-visible{outline:2px solid #85f0dd;outline-offset:3px}

/* v0.8.1 news entry remains in the informational area of the login screen. */
.auth-story{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.auth-story>.brand,.auth-story>.eyebrow,.auth-story>h1,.auth-story>p{flex:none}
.sv-auth-news-feature{display:flex;gap:15px;align-items:center;max-width:490px;width:100%;box-sizing:border-box;
 margin-top:33px;padding:17px 19px;position:relative;border:1px solid #34667a;border-radius:19px;
 background:linear-gradient(135deg,#173d40,#182e42);color:#eaf5f8;text-decoration:none;box-shadow:inset 0 1px #ffffff1a,0 12px 35px #0002}
.sv-auth-news-feature:hover{border-color:#61e2d0;transform:translateY(-2px)}
.sv-auth-news-feature>.sv-auth-news-icon{flex:none;width:45px;height:45px;border:1px solid #34766d;border-radius:14px;
 background:#1b4845;color:#7af0de;display:grid;place-items:center;font-size:27px}
.sv-auth-news-feature>span:nth-child(2){display:grid;gap:2px;min-width:0}
.sv-auth-news-feature small{font-size:10px;letter-spacing:1.3px;font-weight:800;color:#7ae9d9;margin:0}
.sv-auth-news-feature strong{font-size:17px;color:#eaf5f8;line-height:1.35}
.sv-auth-news-feature em{font-style:normal;font-size:11px;color:#a6bdca;line-height:1.4}
.sv-auth-news-arrow{margin-left:auto;color:#7ae9d9;font-size:22px}
.sv-role-news-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 17px;margin-top:18px;
 color:#eaf5f8;border:1px solid #34667a;border-radius:15px;background:#173d40;text-decoration:none;box-shadow:inset 0 1px #ffffff12}
.sv-role-news-link>span:first-child{font-size:24px;color:#7ae9d9}
.sv-role-news-link>span:nth-child(2){display:grid;text-align:left;gap:1px}
.sv-role-news-link b{color:#eaf5f8;font-size:13px}
.sv-role-news-link small{color:#a6bdca;font-size:11px}
.sv-role-news-link>span:last-child{font-size:18px;color:#7ae9d9}

/* Public news remains readable without signing in, always in the original dark design. */
.public-news{min-height:100vh;background:radial-gradient(circle at 70% 5%,#243957,#0a1522 50%);color:#e9f5fb;
 padding:26px max(22px,calc((100vw - 1150px)/2))}
.public-news-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.public-top-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.public-top-actions .button{font-size:12px}
.public-news-hero{background:linear-gradient(125deg,#143d42,#172946 65%,#2c3254);border:1px solid #527886;
 border-radius:24px;padding:38px;margin:28px 0;box-shadow:0 26px 65px #01081455}
.public-news-hero>span{font-weight:850;letter-spacing:2px;font-size:11px;color:#81f2d8}
.public-news-hero h1{font-size:clamp(29px,4vw,44px);letter-spacing:-1.2px;margin:10px 0}
.public-news-hero p{color:#b5cfdd;margin:0 0 20px;line-height:1.7}
.public-news-list{display:grid;gap:19px;max-width:1000px}
.public-news-card{border:1px solid #37576b;border-radius:19px;background:linear-gradient(145deg,#142f3c,#0d1c2e);
 padding:28px 30px;color:#e9f7fb;min-width:0}
.public-news-byline{display:flex;gap:16px;align-items:center;justify-content:space-between;color:#a2becb;font-size:11px}
.public-news-byline>span{color:#6ce6cd;font-weight:800;letter-spacing:1px}
.public-news-card h2{font-size:26px;color:inherit;margin:14px 0 5px}
.public-news-card>small{display:block;margin-bottom:19px;color:#91aab7}
.public-news-card>img{max-width:100%;width:auto;max-height:480px;object-fit:contain;display:block;border-radius:12px;margin:10px 0 20px}
.public-news-card .blog-rich{color:inherit}
.public-news-empty{color:#a9cbd8;padding:30px}
/* Restore the v0.7.9 news editor appearance while keeping stored EN drafts intact. */
.sv-news-translation{display:none!important}
@media(max-width:950px) and (min-width:761px){.topbar>span{display:none}.topbar .top-right{margin-left:auto}}
@media(max-width:760px){
 .topbar{height:auto;min-height:65px;display:flex;align-items:center;flex-wrap:wrap;padding:9px 12px}
 .topbar>span{display:none}
 .topbar .top-right{width:100%;display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
 .topbar .sv-coin-pill{min-height:40px;padding:3px 9px 3px 5px}
 .sv-coin-icon{width:29px;height:29px;font-size:20px}
 .sv-coin-amount strong{font-size:13px}
 .topbar .sv-logout{height:38px;min-width:38px;padding:6px 9px}
 .auth-story{padding:24px 25px;min-height:0}
 .sv-auth-news-feature{margin-top:17px;max-width:none}
 .auth-story .orbit{display:none}
 .public-news{padding:17px}.public-news-hero{padding:27px 21px}.public-news-card{padding:23px 18px}
}
@media(max-width:390px){.sv-logout span:last-child{display:none}.sv-auth-news-feature{padding:12px;gap:10px}
 .sv-auth-news-feature em{font-size:10px}.sv-auth-news-feature strong{font-size:15px}
 .sv-auth-news-feature>.sv-auth-news-icon{width:37px;height:37px}}
/* v0.8.0 experience leaderboard — retain the classic dark visual language. */
.sv-leaderboard{margin-top:26px;overflow-x:auto}
.sv-leaderboard .sv-panel-heading{align-items:flex-start}
.sv-leaderboard .sv-panel-heading p{margin:4px 0 0;color:#9fb8c5;font-size:12px;line-height:1.55}
.sv-leaderboard table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0 14px}
.sv-leaderboard thead th{font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:#7fa4b4;padding:0 14px 4px;border:0}
.sv-leaderboard tbody td{vertical-align:middle;padding:0 14px;border:0}
.sv-leaderboard tbody tr{background:linear-gradient(135deg,rgba(17,39,51,.98),rgba(16,31,44,.98));box-shadow:0 16px 30px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.03)}
.sv-leaderboard tbody tr td:first-child{border:1px solid rgba(76,121,137,.35);border-right:0;border-radius:20px 0 0 20px}
.sv-leaderboard tbody tr td:not(:first-child):not(:last-child){border-top:1px solid rgba(76,121,137,.35);border-bottom:1px solid rgba(76,121,137,.35)}
.sv-leaderboard tbody tr td:last-child{border:1px solid rgba(76,121,137,.35);border-left:0;border-radius:0 20px 20px 0}
.sv-leaderboard td a:not(.button){color:var(--cyan,#52e7d2);font-weight:750}
.sv-rank-chip{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:44px;padding:0 14px;border-radius:15px;font-weight:900;font-size:16px;letter-spacing:.3px;color:#eaf5f8;background:linear-gradient(135deg,#183846,#12313f);border:1px solid rgba(83,136,154,.44);box-shadow:inset 0 1px rgba(255,255,255,.08)}
.sv-rank-chip.is-gold{background:linear-gradient(135deg,#5c4b1b,#7e6127 60%,#3f3420);border-color:#ba9451;color:#fff3d6}
.sv-rank-chip.is-silver{background:linear-gradient(135deg,#49596a,#6d7f94 55%,#394756);border-color:#9eb8d2;color:#eff8ff}
.sv-rank-chip.is-bronze{background:linear-gradient(135deg,#5d3f2b,#865841 60%,#3b2a23);border-color:#c48c61;color:#ffe1d1}
.sv-rank-student{display:flex;align-items:center;gap:14px;min-width:220px;padding:14px 0}
.sv-rank-student-link{text-decoration:none;display:inline-flex}
.sv-rank-student .avatar-cosmetic{width:56px;height:56px;font-size:24px;border-width:3px;box-shadow:0 0 0 1px rgba(255,255,255,.04),0 10px 20px rgba(0,0,0,.18)}
.sv-rank-student-meta{display:grid;gap:4px;min-width:0}
.sv-rank-name{display:block;font-size:15px;font-weight:850;color:#eff9fb;text-decoration:none;line-height:1.3}
.sv-rank-subline{font-size:12px;color:#8eadbc;line-height:1.45}
.sv-rank-statcard{min-width:180px;background:linear-gradient(180deg,rgba(20,47,61,.88),rgba(15,32,43,.96));border:1px solid rgba(84,135,151,.26);border-radius:17px;padding:13px 14px;box-shadow:inset 0 1px rgba(255,255,255,.05)}
.sv-rank-statcard strong{display:flex;align-items:baseline;gap:5px;font-size:24px;font-weight:900;color:#f1fbff;line-height:1.1}
.sv-rank-statcard strong span{font-size:12px;font-weight:700;color:#8eadbc}
.sv-rank-statcard small{display:block;color:#8eadbc;font-size:11px;line-height:1.4}
.sv-rank-stathead,.sv-rank-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sv-rank-badge{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(89,232,206,.4);background:rgba(88,228,201,.12);color:#98f5e5;font-size:11px;font-weight:900;letter-spacing:1px}
.sv-rank-kicker{font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:#79dccc;font-weight:800;margin-bottom:7px}
.sv-rank-meter{height:8px;border-radius:999px;background:#203543;overflow:hidden;margin:10px 0 8px}
.sv-rank-meter.compact{height:7px;margin-top:12px;margin-bottom:0}
.sv-rank-meter>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#31cfc3,#74f4d2);box-shadow:0 0 16px rgba(98,237,220,.35)}
.sv-rank-foot{font-size:11px;color:#8eadbc}
.sv-rank-statcard.is-xp strong{justify-content:flex-start}
.sv-rank-statcard.is-missions strong{margin-bottom:6px}
.sv-rank-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0}
.sv-leaderboard .button,.sv-leaderboard .sv-rank-friend,.sv-rank-self{font-size:.82rem;padding:8px 11px;white-space:nowrap}
.sv-rank-friend,.sv-rank-self{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-weight:800}
.sv-rank-friend{border:1px solid rgba(73,214,192,.45);background:rgba(73,214,192,.12);color:#a4f8e9;cursor:pointer}
.sv-rank-friend:hover{background:rgba(73,214,192,.18);border-color:#61e2d0}
.sv-rank-friend:disabled{opacity:.65;cursor:default}
.sv-rank-self{border:1px solid rgba(89,150,170,.35);background:rgba(63,94,111,.18);color:#c4dae4}
.sv-rank-friend-state{font-size:11px;color:#8eadbc}
@media(max-width:1024px){.sv-leaderboard table{min-width:900px}.sv-rank-statcard{min-width:160px}}
@media(max-width:640px){.sv-leaderboard{padding-inline:12px}.sv-leaderboard .sv-panel-heading{padding-inline:8px}.sv-leaderboard table{min-width:860px}.sv-rank-student{min-width:200px}.sv-rank-chip{min-width:58px;height:40px;font-size:14px}.sv-rank-student .avatar-cosmetic{width:48px;height:48px;font-size:21px}.sv-rank-statcard strong{font-size:20px}}

/* v0.8.5 teacher-only free profile cosmetics */
.sv-teacher-style{padding:22px}.sv-teacher-style-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;color:#d2e7ea}
.sv-teacher-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 22px}
.sv-teacher-tabs button{border:1px solid #345b68;background:#142c3a;color:#bbd2dc;padding:10px 15px;border-radius:12px;font-weight:750;cursor:pointer}
.sv-teacher-tabs button.active{color:#0b2429;background:#67e2d1;border-color:#67e2d1}
.sv-teacher-items .sv-product-bottom{display:flex;flex-direction:column;gap:12px;padding:16px}
.sv-style-free{display:inline-flex;align-self:flex-start;border-radius:20px;padding:6px 12px;background:#174b42;color:#9bf5db;font-weight:800;font-size:12px}
.sv-teacher-remove{border:1px solid #446474;background:#142633;color:#e0eff5;border-radius:11px;padding:9px;cursor:pointer}

/* v0.8.8 – password recovery occupies its own line beneath registration. */
.auth-box .sv-password-recovery-link{display:block;clear:both;margin:4px 0 0;padding:0;line-height:1.55}
.auth-box .sv-password-recovery-link a{display:inline-block;color:#91b3c3;font-size:13px;font-weight:500;text-decoration:none;padding:5px 0}
.auth-box .sv-password-recovery-link a:hover{color:#61e2d0;text-decoration:underline;text-underline-offset:3px}
.auth-box .sv-password-recovery-link a:focus-visible{outline:2px solid #61e2d0;outline-offset:3px}
/* v0.8.10: email verification lives inside the existing profile editor. */
.sv-email-change{grid-column:1/-1}
.sv-email-change form[hidden]{display:none!important}
.sv-email-change form{max-width:560px}
.sv-email-change form+form{margin-top:15px;padding-top:15px;border-top:1px solid #355160}
.sv-email-change strong{color:#eaf5f8;overflow-wrap:anywhere}

/* v0.8.15: minimal red neon notification numerals, without badge background. */
.sidebar a[data-nav]{position:relative}
.sv-nav-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:auto;
  padding:0;
  margin-left:auto;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:#ff4159;
  font:900 14px/1.2 system-ui,sans-serif;
  letter-spacing:.01em;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  -webkit-text-stroke:0;
  text-shadow:0 0 3px rgba(255,39,66,.95),0 0 9px rgba(255,39,66,.80),0 0 18px rgba(255,39,66,.48);
}
.sv-nav-count[hidden]{display:none!important}
.sidebar a[data-nav]:has(.sv-nav-count:not([hidden])){display:flex;align-items:center;gap:9px}
.sidebar a[data-nav] .sv-nav-count{flex-shrink:0}

/* v0.9.0.0: canonical username label and editor */
.sv-profile-handle{display:inline-block;color:#64e4d8;font-size:14px;font-weight:700;letter-spacing:.02em;text-decoration:none;margin:3px 0 10px}.sv-profile-handle:hover{text-decoration:underline}.sv-username-editor a{color:#64e4d8}.sv-username-editor small{display:block;margin:7px 0 12px}

/* 0.9.1.3 — seamless repeat ticker with administrator-controlled color and neon glow */
.sv-announcement[hidden]{display:none!important}
.sv-announcement{--sv-announcement-color:#6FFCE4;height:35px;background:#132e38;color:var(--sv-announcement-color);overflow:hidden;border-bottom:1px solid #285461;display:flex;align-items:center;font-weight:750;letter-spacing:.045em;position:relative}
.sv-announcement-run{white-space:nowrap;display:flex;flex:none;width:max-content;animation:sv-marquee var(--sv-marquee-duration,18s) linear infinite;transform:translate3d(0,0,0);will-change:transform}
.sv-announcement-segment{white-space:nowrap;flex:none;padding-right:48px;color:var(--sv-announcement-color)}
.sv-announcement[data-glow="none"] .sv-announcement-segment{text-shadow:none}
.sv-announcement[data-glow="soft"] .sv-announcement-segment{text-shadow:0 0 6px currentColor,0 0 13px color-mix(in srgb,currentColor 40%,transparent)}
.sv-announcement[data-glow="strong"] .sv-announcement-segment{text-shadow:0 0 4px currentColor,0 0 12px currentColor,0 0 24px currentColor}
@keyframes sv-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-1 * var(--sv-marquee-distance,100px)),0,0)}}
.sv-announcement-admin-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sv-announcement-admin-options input[type="color"]{min-height:44px;padding:5px;width:100%;cursor:pointer}
.sv-announcement-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:620px){.sv-announcement-admin-options{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sv-announcement-run{animation:none;transform:none}.sv-announcement-segment:nth-child(2){display:none}}
.sv-admin-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px;margin-top:22px}
.sv-admin-tools .card{min-width:0}.sv-promo-list{max-height:220px;overflow:auto;margin-top:16px}.sv-promo-list .row{gap:8px;padding:8px;border-top:1px solid #294957;flex-wrap:wrap}
.sv-promo-redeem{margin-top:24px}

/* Symbioverse 0.9.2.0 — conversation composer and rich messages. */
.sv-chat-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.sv-chat-toolbar button{min-height:38px;border:1px solid #315968;border-radius:10px;background:#142e3b;color:#d4f6f4;padding:7px 11px;font-size:13px;font-weight:650;cursor:pointer}
.sv-chat-toolbar button:hover,.sv-chat-toolbar button:focus-visible{border-color:#48ddc9;background:#1c4349}
.sv-chat-toolbar button.primary{margin-left:auto;background:#3fe0cc;color:#10232c}
.sv-chat-picker{margin:10px 0 0;border:1px solid #326375;border-radius:12px;background:#102532;padding:12px;max-height:250px;overflow-y:auto}
.sv-chat-picker[hidden]{display:none}
.sv-chat-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:7px}
.sv-chat-picker-grid button{padding:5px;min-width:0;min-height:46px;border:1px solid #345666;border-radius:8px;background:#193441;color:white;font-size:23px;cursor:pointer}
.sv-chat-picker-grid button img{width:100%;height:72px;object-fit:contain}
.sv-chat-gif-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.sv-chat-gif-grid button{min-height:75px}
.sv-chat-photo{max-width:min(100%,340px);max-height:300px;border-radius:12px;display:block;object-fit:contain}
.sv-chat-gif{width:210px;max-width:100%;border-radius:12px;display:block}
.sv-chat-sticker{width:135px;height:135px;max-width:100%;object-fit:contain}
.sv-chat-emoji{font-size:42px;line-height:1.5}
.chat-bubble audio{display:block;width:min(100%,280px);margin:10px 0}
.sv-chat-delete{font-size:12px!important;padding:2px 6px!important;background:transparent!important;opacity:.7;border:none!important}
.sv-chat-delete:hover{opacity:1;color:#ff7e83!important}
.sv-chat-deleted{opacity:.65;font-style:italic}
@media(max-width:550px){.sv-chat-toolbar{gap:5px}.sv-chat-toolbar button{font-size:12px;padding:7px 8px}.sv-chat-photo{max-width:100%}}

/* v0.9.2.1 — Symbioverse messenger, Telegram-inspired layout */
#content.sv-restyled .sv-chat-telegram{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:0;min-height:min(75vh,740px);border:1px solid #315261;border-radius:18px;overflow:hidden;background:#0d1c28;box-shadow:0 18px 48px #0004}
#content.sv-restyled .sv-chat-telegram>.card{margin:0;border:0;border-radius:0;box-shadow:none;min-width:0}
#content.sv-restyled .sv-chat-telegram .sv-chat-sidebar{background:#0c1b26;border-right:1px solid #28495a;padding:0;display:flex;flex-direction:column;gap:0}
.sv-chat-sidebar-heading{padding:20px 20px 15px;border-bottom:1px solid #234052}
.sv-chat-sidebar-heading h2{margin:0 0 6px;font-size:22px}
.sv-chat-sidebar-heading small{color:#8baebb}
.sv-chat-sidebar nav{display:flex;flex-direction:column;gap:5px;padding:12px;max-height:52vh;overflow-y:auto}
#content.sv-restyled .sv-chat-telegram .chat-link{display:flex;gap:12px;align-items:center;margin:0;border:none;border-radius:13px;padding:11px 12px;background:transparent;text-decoration:none}
#content.sv-restyled .sv-chat-telegram .chat-link.active{background:#17463f;color:#f3fff9}
#content.sv-restyled .sv-chat-telegram .chat-link:hover{background:#1b3544}
.sv-chat-telegram .person-photo,.sv-chat-initial{width:43px;height:43px;min-width:43px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#234d57;color:#b3fff1}
.sv-chat-contact{min-width:0;display:flex;flex-direction:column;gap:3px}
.sv-chat-contact strong,.sv-chat-contact small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sv-chat-contact small{color:#95aebd;font-size:11px}
.sv-chat-sidebar-new{padding:15px;border-top:1px solid #234052;margin-top:auto;max-height:195px;overflow-y:auto}
.sv-chat-sidebar-new h3{font-size:12px;text-transform:uppercase;color:#8aafbb;letter-spacing:.1em;margin:0 0 10px}
.sv-chat-new-list{display:flex;gap:6px;flex-wrap:wrap}
.sv-chat-new-list button{font-size:12px;min-height:30px;border-radius:50px;background:#1b3844;border:1px solid #36616a;color:#c7e7e8;padding:6px 12px}
#content.sv-restyled .sv-chat-telegram .sv-chat-conversation{display:flex;flex-direction:column;min-height:520px;padding:0;background:#0d1e2b}
.sv-chat-conversation-header{min-height:72px;display:flex;align-items:center;gap:13px;background:#112b39;border-bottom:1px solid #2c5160;padding:10px 20px}
.sv-chat-conversation-header h2{margin:0 0 5px!important;font-size:17px!important;color:#e8f8ff}
.sv-chat-conversation-header small{font-size:11px;color:#75c9b7}
#content.sv-restyled .sv-chat-telegram .chat-messages{flex:1;min-height:270px;max-height:58vh;height:auto;overflow-y:auto;border:0;border-radius:0;margin:0;padding:20px;display:flex;flex-direction:column;align-items:stretch;gap:11px;background-color:#0b1c28;background-image:radial-gradient(circle at 15% 20%,#1c435333,transparent 45%),radial-gradient(circle at 90% 80%,#16473c33,transparent 48%)}
#content.sv-restyled .sv-chat-telegram .chat-bubble{position:relative;align-self:flex-start;max-width:min(78%,580px);margin:0;background:#1d3443;border:1px solid #355465;border-radius:16px 16px 16px 5px;padding:9px 13px 8px;color:#eff7fb;box-shadow:0 4px 12px #0002;overflow-wrap:anywhere}
#content.sv-restyled .sv-chat-telegram .chat-bubble.mine{align-self:flex-end;margin-left:auto;background:#1a4b43;border-color:#2d7364;border-radius:16px 16px 5px 16px}
.sv-chat-telegram .chat-bubble .row{gap:8px;align-items:center}
.sv-chat-telegram .chat-bubble b{color:#91e7d1;font-size:12px}
.sv-chat-telegram .chat-bubble p{margin:7px 0 4px;white-space:pre-wrap;font-size:14px;line-height:1.5}
.sv-chat-telegram .chat-bubble small{font-size:10px;opacity:.66;display:block;text-align:right;margin-top:4px}
.sv-chat-telegram .chat-bubble img,.sv-chat-telegram .chat-bubble audio{margin-top:8px}
.sv-chat-composer{border-top:1px solid #315261;background:#112934;padding:10px 15px 12px;position:relative}
.sv-chat-composer-row{display:flex;align-items:end;gap:9px;width:100%}
.sv-chat-composer-row textarea{resize:none;flex:1;min-width:0;max-height:110px;min-height:43px;padding:11px 14px;margin:0;border-radius:21px;border:1px solid #34626c;background:#09202a;color:#ebffff;font-size:14px;line-height:20px}
.sv-chat-composer-row textarea:focus{border-color:#54dcc8;outline:1px solid #35baa6}
.sv-chat-composer-row .sv-chat-icon-button{border:0;background:transparent;color:#96d6cf;font-size:25px;width:39px;height:43px;padding:0;flex-shrink:0;border-radius:50%;cursor:pointer}
.sv-chat-composer-row .sv-chat-icon-button:hover{background:#214651;color:#9effe6}
.sv-chat-composer-row .sv-chat-icon-button.is-recording{background:#9a2038;color:#fff;animation:sv-record-pulse 1.1s infinite alternate}
@keyframes sv-record-pulse{to{box-shadow:0 0 15px #ff405b;transform:scale(1.05)}}
.sv-chat-composer-row .sv-chat-send{flex-shrink:0;margin:0;width:43px;height:43px;border-radius:50%;font-size:20px;font-weight:800;padding:0;display:grid;place-items:center}
#content.sv-restyled .sv-chat-telegram .sv-chat-toolbar{margin-top:7px;gap:8px;padding-left:4px}
#content.sv-restyled .sv-chat-telegram .sv-chat-toolbar button{background:transparent;border:0;color:#88d5c7;min-height:29px;padding:4px 8px}
#content.sv-restyled .sv-chat-telegram .sv-chat-toolbar button:hover{background:#1a4146}
.sv-chat-compose-hint{margin-left:auto;align-self:center;font-size:10px;color:#7698a7}
.sv-chat-telegram .sv-chat-picker{position:relative;max-height:310px;border-radius:14px;margin:0 0 12px;background:#132c39}
.sv-chat-picker-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.sv-chat-picker-header button{background:transparent;border:0;color:#a3d4d5;font-size:22px;padding:1px 8px;cursor:pointer}
.sv-chat-emoji-grid{grid-template-columns:repeat(auto-fill,minmax(43px,1fr));gap:4px}
.sv-chat-emoji-grid button{font-size:25px;border:0;background:transparent;border-radius:9px;padding:3px;min-height:42px}
.sv-chat-emoji-grid button:hover{background:#285468}
.sv-giphy-search{display:flex;gap:8px;margin-bottom:12px}
.sv-giphy-search input{flex:1;min-width:0;margin:0;padding:10px;border:1px solid #376172;border-radius:10px;background:#081c25;color:#e6f6f8}
.sv-giphy-search button{padding:8px 13px;border-radius:10px;background:#2cd6bc;color:#09232d;border:0;cursor:pointer}
.sv-giphy-credit{display:block;text-align:right;color:#9cacbd;font-size:11px;margin-top:10px}
@media(max-width:760px){#content.sv-restyled .sv-chat-telegram{grid-template-columns:1fr;min-height:0}#content.sv-restyled .sv-chat-telegram .sv-chat-sidebar{border-right:0;border-bottom:1px solid #2e5362}#content.sv-restyled .sv-chat-telegram .sv-chat-sidebar nav{flex-direction:row;overflow-x:auto;max-height:115px;padding:9px;gap:9px}#content.sv-restyled .sv-chat-telegram .chat-link{min-width:140px}#content.sv-restyled .sv-chat-telegram .sv-chat-sidebar-heading{padding:12px}#content.sv-restyled .sv-chat-telegram .sv-chat-sidebar-new{padding:9px}#content.sv-restyled .sv-chat-telegram .sv-chat-conversation{min-height:480px}#content.sv-restyled .sv-chat-telegram .chat-messages{max-height:45vh;height:370px}#content.sv-restyled .sv-chat-telegram .chat-bubble{max-width:92%}.sv-chat-compose-hint{display:none}.sv-chat-composer{padding:8px}.sv-chat-composer-row{gap:4px}.sv-chat-conversation-header{min-height:55px;padding:7px 12px}}
@media(max-width:360px){.sv-chat-composer-row .sv-chat-icon-button{width:33px;font-size:22px}.sv-chat-composer-row .sv-chat-send{width:38px;height:38px}.sv-chat-composer-row textarea{padding:10px;min-height:40px}}

/* 0.9.3.3: identical numeral counter for received friend invitations and chats. */
.sidebar a[data-nav] > .sv-nav-count{
 width:auto;min-width:0;max-width:none;height:auto;flex:0 0 auto;
 font-size:14px;line-height:1.2;margin-inline-start:auto;text-align:right;
}
@media (max-width:760px){
 .sidebar a[data-nav] > .sv-nav-count{display:inline-flex;font-size:14px;min-width:0}
}
/* A legible initial is always behind the image, never the broken-image icon. */
.person-photo{position:relative}
.person-photo > .sv-person-photo-initial{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}
.person-photo > img[data-sv-person-photo]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}


/* Symbioverse 0.9.3.4: unobtrusive live notifications (friends / chats / school mail). */
.sv-live-notifications{
 position:fixed;bottom:22px;right:22px;z-index:12000;
 display:flex;flex-direction:column;gap:11px;width:min(365px,calc(100vw - 32px));
 pointer-events:none;
}
.sv-live-notification{
 position:relative;display:flex;align-items:flex-start;min-width:0;
 border:1px solid #3b6f80;border-left:3px solid #55e0ca;border-radius:16px;
 background:#102732;box-shadow:0 14px 45px #0009,0 0 22px #34dcc022;
 color:#e9fcff;overflow:hidden;pointer-events:auto;
 animation:sv-live-in .25s ease-out both;
}
.sv-live-notification-open{
 all:unset;box-sizing:border-box;display:flex;gap:13px;align-items:center;
 flex:1;min-width:0;cursor:pointer;padding:15px 34px 15px 14px;
}
.sv-live-notification-open:hover{background:#1d4550}
.sv-live-notification-open:focus-visible,.sv-live-notification-close:focus-visible{outline:2px solid #67ffe7;outline-offset:-3px}
.sv-live-notification-symbol{
 width:39px;height:39px;flex:none;display:grid;place-items:center;
 border:1px solid #4c9eaa;border-radius:12px;background:#184753;
 color:#75f6df;font-size:22px;font-weight:700;
}
.sv-live-notification-copy{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px;line-height:1.4}
.sv-live-notification-label{color:#77e8d7;font-size:11px;font-weight:800;letter-spacing:.3px}
.sv-live-notification-copy strong{font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sv-live-notification-preview{color:#b4d3dd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}
.sv-live-notification-close{
 position:absolute;top:7px;right:7px;min-width:24px;width:24px;height:24px;
 padding:0;display:grid;place-items:center;border:0;border-radius:6px;
 background:transparent;color:#b4d3dd;font-size:20px;line-height:1;cursor:pointer;
}
.sv-live-notification-close:hover{background:#315361;color:white}
@keyframes sv-live-in{from{opacity:0;transform:translate(24px,7px)}to{opacity:1;transform:translate(0,0)}}
@media(max-width:600px){.sv-live-notifications{right:12px;bottom:12px;width:min(355px,calc(100vw - 24px))}.sv-live-notification-open{padding:12px 34px 12px 12px}}
@media(prefers-reduced-motion:reduce){.sv-live-notification{animation:none}}

/* Symbioverse 0.9.3.8: separate second registration step for teacher code. */
.sv-teacher-code-page{min-height:100vh;padding:38px 22px;display:flex;flex-direction:column;align-items:center;gap:26px;background:radial-gradient(ellipse at 50% 10%,#16423965,transparent 55%),#09141c}
.sv-teacher-code-page>.brand{align-self:flex-start;max-width:1160px;width:100%;margin:0 auto}
.sv-teacher-code-card{max-width:560px;width:100%;padding:30px;display:block}
.sv-teacher-code-card h1{font-size:clamp(24px,4.2vw,34px);line-height:1.22;margin:15px 0 10px}
.sv-teacher-code-card>.muted{line-height:1.7}
.sv-auth-steps{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:4px 0 22px;color:#80a39c;font-size:12px}
.sv-auth-step{border:1px solid #28464b;border-radius:20px;padding:5px 10px;color:#90a3b2}
.sv-auth-step.active{border-color:#47d9c9;color:#80f0dd;background:#123932}
.sv-auth-step.done{color:#a0efce;border-color:#3b7965}
.sv-teacher-code-summary{display:grid;gap:10px;border:1px solid #27535a;border-radius:12px;background:#0b2830;padding:17px;margin:20px 0}
.sv-teacher-code-summary>div{display:grid;gap:6px;min-width:0}
.sv-teacher-code-summary small{font-size:12px;color:#91a9b5}
.sv-teacher-code-summary strong{font-size:14px;color:#e0f7f7;overflow-wrap:anywhere}
.sv-teacher-code-card form{max-width:none;margin:18px 0}
.sv-teacher-code-card form label{margin:10px 0}
.sv-teacher-code-card form input{font-size:17px;letter-spacing:.03em}
.sv-teacher-code-hint{display:block;color:#8eaabb;font-size:12px;line-height:1.5;margin:-5px 0 18px}
.sv-teacher-code-status{font-size:13px;color:#a7e8db;line-height:1.5;overflow-wrap:anywhere;min-height:1.3em;margin:12px 0}
.sv-teacher-code-card .text-button{margin-top:4px}
@media(max-width:600px){.sv-teacher-code-page{padding:18px 14px;gap:18px}.sv-teacher-code-card{padding:20px 17px}.sv-auth-steps{font-size:11px;gap:6px}}

/* 0.9.7.9 — leaderboard: aligned headings, readable levels, equipped avatar frames. */
.sv-leaderboard table{border-collapse:separate;border-spacing:0 12px;table-layout:fixed;min-width:1040px}
.sv-leaderboard thead{position:relative}
.sv-leaderboard thead th{background:linear-gradient(180deg,rgba(30,66,79,.88),rgba(20,49,62,.88));color:#b5d6df;font-size:11px;font-weight:850;letter-spacing:.085em;padding:13px 14px;text-align:left;border-top:1px solid rgba(102,179,193,.28);border-bottom:1px solid rgba(102,179,193,.24);vertical-align:middle}
.sv-leaderboard thead th:first-child{border-left:1px solid rgba(102,179,193,.28);border-radius:14px 0 0 14px;width:8%}
.sv-leaderboard thead th:nth-child(2){width:24%}
.sv-leaderboard thead th:nth-child(3){width:20%}
.sv-leaderboard thead th:nth-child(4){width:17%}
.sv-leaderboard thead th:nth-child(5){width:18%}
.sv-leaderboard thead th:last-child{width:13%;border-right:1px solid rgba(102,179,193,.28);border-radius:0 14px 14px 0}
.sv-leaderboard thead th span{display:block;white-space:nowrap}
.sv-leaderboard tbody td{padding:0 10px}
.sv-leaderboard .sv-rank-statcard{min-width:0;min-height:116px;box-sizing:border-box}
.sv-rank-level-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sv-rank-level-label{color:#85d8d0;font-size:10px;letter-spacing:.09em;font-weight:850}
.sv-rank-statcard .sv-rank-level-number{display:block;font-size:27px;font-weight:900;color:#e9fffa;line-height:1;letter-spacing:-.03em}
.sv-rank-level-next{color:#aac6d2;font-size:11px;line-height:1.35;margin-top:7px;min-height:15px}
.sv-rank-statcard .sv-rank-meter{margin:9px 0 8px}
.sv-rank-student-link{padding:8px; margin:-8px; flex-shrink:0;overflow:visible}
.sv-rank-student .avatar-cosmetic{overflow:visible!important;isolation:isolate}
.sv-rank-student .avatar-cosmetic>.sv-frame-overlay{inset:-14%!important;width:128%!important;height:128%!important;z-index:5}
.sv-rank-student .avatar-cosmetic>.sv-emoji-ring{z-index:6}
@media(max-width:640px){.sv-leaderboard table{min-width:990px}.sv-leaderboard thead th{padding:11px 10px}.sv-leaderboard tbody td{padding:0 8px}}
