@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../vendor/inter/InterVariable.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../vendor/inter/InterVariable-Italic.woff2") format("woff2");
}
:root {
  --rugym-font: "Inter", sans-serif;
  --bs-font-sans-serif: var(--rugym-font);
  --bs-body-font-family: var(--rugym-font);
  --rugym-bg: #f7f6fb;
  --rugym-surface: #ffffff;
  --rugym-ink: #252238;
  --rugym-muted: #716d82;
  --rugym-primary: #6852d6;
  --rugym-primary-dark: #523ebc;
  --rugym-primary-soft: #eeeafd;
  --rugym-green: #22a06b;
  --rugym-green-soft: #e7f8f0;
  --rugym-orange: #e87824;
  --rugym-orange-soft: #fff0e2;
  --rugym-red: #d84c5b;
  --rugym-red-soft: #fff0f2;
  --rugym-border: #e8e5ef;
  --rugym-shadow: 0 18px 50px rgba(49, 39, 92, .09);
  --rugym-radius: 24px;
}

* { box-sizing: border-box; }
/* Suppress accidental double-tap zoom everywhere, but retain pinch zoom and scrolling. */
html { min-width: 320px; touch-action: manipulation; }
body, body * { touch-action: manipulation; }
body {
  margin: 0;
  background: var(--rugym-bg);
  color: var(--rugym-ink);
  font-family: var(--rugym-font);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--rugym-primary); text-decoration: none; }
a:hover { color: var(--rugym-primary-dark); }
.skip-link { position: fixed; top: -60px; left: 12px; z-index: 3000; padding: 10px 16px; background: #fff; border-radius: 10px; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid rgba(104, 82, 214, .36); outline-offset: 3px; }
.text-secondary { color: var(--rugym-muted) !important; }

.topbar { background: rgba(247, 246, 251, .9); border-bottom: 1px solid rgba(232, 229, 239, .8); position: sticky; top: 0; z-index: 1020; backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--rugym-ink); }
.brand:hover { color: var(--rugym-ink); }
.brand-mark { position: relative; isolation: isolate; display: inline-grid; place-items: center; width: 38px; height: 38px; overflow: hidden; border-radius: 13px; color: #fff; background: linear-gradient(145deg, #826cf0 0%, var(--rugym-primary) 54%, #4d37b4 100%); box-shadow: 0 9px 22px rgba(104,82,214,.3); font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 800; line-height: 1; transform: rotate(-2deg); transition: transform .2s ease, box-shadow .2s ease; }
.brand-mark::before,.brand-mark::after{content:"";position:absolute;z-index:-1;width:25px;height:4px;border-radius:99px;background:rgba(255,255,255,.2);transform:rotate(-34deg)}
.brand-mark::before{top:6px;right:-7px}.brand-mark::after{bottom:5px;left:-7px}
.brand:hover .brand-mark{transform:rotate(0) translateY(-1px);box-shadow:0 11px 25px rgba(104,82,214,.36)}
.brand-word{display:inline-flex;align-items:baseline;letter-spacing:-.045em;font-size:1.22rem;font-weight:760;line-height:1}.brand-word strong{color:var(--rugym-primary);font-weight:950}.brand-word span{font-weight:760}
.nav-pill { color: var(--rugym-muted); padding: 10px 13px; border-radius: 12px; font-size: .91rem; font-weight: 650; }
.nav-pill:hover, .nav-pill.active { background: #fff; color: var(--rugym-ink); }
.nav-pill i { margin-right: 4px; }
.avatar-link { display: grid; place-items: center; width: 40px; height: 40px; margin-left: 8px; border-radius: 50%; background: var(--rugym-primary-soft); color: var(--rugym-primary); font-weight: 800; }
.page-main { padding-bottom: 40px; }

.mobile-nav { position: fixed; z-index: 1040; bottom: 0; left: 0; right: 0; height: calc(76px + env(safe-area-inset-bottom)); padding: 7px max(5px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(5px,env(safe-area-inset-left)); display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); align-items: stretch; background: rgba(255,255,255,.97); border-top: 1px solid var(--rugym-border); box-shadow: 0 -8px 28px rgba(48,37,91,.07); backdrop-filter: blur(15px); }
.mobile-nav a { position: relative; display: flex; min-width: 0; min-height: 56px; padding: 4px 2px 3px; flex-direction: column; justify-content: center; align-items: center; gap: 3px; color: #777184; font-size: clamp(.59rem,2.4vw,.68rem); font-weight: 750; line-height: 1.05; text-align: center; white-space: nowrap; transition: color .16s ease,transform .16s ease; }
.mobile-nav a i { display: grid; place-items: center; width: 32px; height: 29px; font-size: 1.25rem; line-height: 1; }
.mobile-nav a span { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.mobile-nav a.active { color: var(--rugym-primary); }
.mobile-nav a.active:not(.mobile-train)::before { content:""; position:absolute; top:-7px; width:24px; height:3px; border-radius:0 0 5px 5px; background:var(--rugym-primary); }
.mobile-nav .mobile-train { transform: translateY(-7px); }
.mobile-nav .mobile-train i { width: 46px; height: 46px; margin-bottom: -3px; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#7d67eb,var(--rugym-primary)); box-shadow: 0 8px 20px rgba(104,82,214,.28); font-size: 1.35rem; }
.mobile-nav .mobile-train.active i { box-shadow: 0 0 0 4px var(--rugym-primary-soft),0 8px 20px rgba(104,82,214,.28); }

@media (max-width:991.98px){.page-main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}

.btn { min-height: 44px; font-weight: 700; }
.btn-primary { --bs-btn-bg: var(--rugym-primary); --bs-btn-border-color: var(--rugym-primary); --bs-btn-hover-bg: var(--rugym-primary-dark); --bs-btn-hover-border-color: var(--rugym-primary-dark); --bs-btn-disabled-bg: #aaa2d3; --bs-btn-disabled-border-color: #aaa2d3; }
.btn-soft { background: var(--rugym-primary-soft); color: var(--rugym-primary); border: 1px solid transparent; }
.btn-soft:hover { background: #e2dcfa; color: var(--rugym-primary-dark); }
.form-control, .form-select { min-height: 48px; border-color: var(--rugym-border); border-radius: 13px; padding: 11px 14px; background-color: #fff; color: var(--rugym-ink); }
.form-control:focus, .form-select:focus { border-color: var(--rugym-primary); box-shadow: 0 0 0 .25rem rgba(104,82,214,.12); }
textarea.form-control { min-height: 120px; }
.form-check-input:checked { background-color: var(--rugym-primary); border-color: var(--rugym-primary); }

.container-narrow { width: min(760px, calc(100% - 28px)); margin-inline: auto; }
.container-reading { width: min(780px, calc(100% - 28px)); margin-inline: auto; }
.eyebrow { color: var(--rugym-primary); font-size: .74rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.page-title { margin: 5px 0 0; font-size: clamp(2rem, 5vw, 3rem); font-weight: 830; letter-spacing: -.045em; }
.surface-card { padding: clamp(20px, 4vw, 32px); background: var(--rugym-surface); border: 1px solid var(--rugym-border); border-radius: var(--rugym-radius); box-shadow: 0 10px 35px rgba(49,39,92,.045); }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.section-heading h2 { margin: 3px 0 0; font-size: 1.35rem; font-weight: 800; }
.section-heading > a { font-size: .9rem; font-weight: 700; }
.back-link { display: inline-flex; align-items: center; gap: 7px; color: var(--rugym-muted); font-weight: 700; }

.landing-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 80% 20%, #e8e2ff 0, transparent 32%), linear-gradient(150deg,#faf9fd,#f2f0fa); }
.landing-hero::after { content: "Я"; position: absolute; right: -4vw; bottom: -140px; color: rgba(104,82,214,.035); font: 700 28rem Georgia,serif; line-height: 1; pointer-events: none; }
.py-lg-6 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.display-title { font-size: clamp(3rem, 7vw, 5.8rem); line-height: .96; letter-spacing: -.065em; font-weight: 850; }
.display-title span { color: var(--rugym-primary); }
.landing-hero .lead { max-width: 610px; font-size: 1.18rem; }
.hero-demo-card { position: relative; z-index: 1; background: #fff; border: 1px solid var(--rugym-border); border-radius: 30px; padding: clamp(22px,5vw,38px); box-shadow: var(--rugym-shadow); transform: rotate(1deg); }
.topic-chip { display: inline-flex; align-items: center; max-width: 100%; padding: 6px 10px; border-radius: 999px; background: var(--rugym-primary-soft); color: var(--rugym-primary); font-size: .75rem; font-weight: 750; }
.demo-word { text-align: center; font-family: var(--rugym-font); font-size: clamp(2.2rem,7vw,3.7rem); }
.demo-gap { padding: 3px 8px; color: var(--rugym-primary); border-bottom: 3px solid var(--rugym-primary); }
.choice-demo { display: grid; place-items: center; min-height: 54px; border: 2px solid var(--rugym-border); border-radius: 15px; font-weight: 800; }
.choice-demo.selected { border-color: var(--rugym-primary); background: var(--rugym-primary-soft); color: var(--rugym-primary); }
.success-note { display: flex; gap: 12px; padding: 14px; background: var(--rugym-green-soft); border-radius: 16px; color: #19784f; }
.success-note i { font-size: 1.35rem; }.success-note span { font-size: .86rem; }
.feature-card { height: 100%; padding: 26px; background: #fff; border: 1px solid var(--rugym-border); border-radius: 22px; }
.feature-card > i { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--rugym-primary-soft); color: var(--rugym-primary); font-size: 1.35rem; }
.feature-card h2 { margin: 18px 0 8px; font-size: 1.15rem; font-weight: 800; }.feature-card p { margin: 0; color: var(--rugym-muted); }

.auth-shell { min-height: calc(100vh - 74px); display: grid; place-items: center; padding: 30px 14px; background: radial-gradient(circle at 20% 10%,#ebe6ff,transparent 34%); }
.auth-card { width: min(480px, 100%); padding: clamp(24px,6vw,42px); background: #fff; border: 1px solid var(--rugym-border); border-radius: 28px; box-shadow: var(--rugym-shadow); }

.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.stat-card { min-width: 0; display: flex; align-items: center; gap: 13px; padding: 18px; background: #fff; border: 1px solid var(--rugym-border); border-radius: 19px; }
.stat-icon { flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; font-size: 1.2rem; }.stat-icon.fire{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.stat-icon.xp{background:var(--rugym-primary-soft);color:var(--rugym-primary)}.stat-icon.accuracy{background:var(--rugym-green-soft);color:var(--rugym-green)}.stat-icon.due{background:#e9f3ff;color:#337fc0}
.stat-card div { min-width:0; display:flex; flex-direction:column; }.stat-card strong { font-size:1.3rem; line-height:1.1; }.stat-card span:last-child { color:var(--rugym-muted); font-size:.78rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.topic-progress-list { display:grid; gap:22px; margin-top:24px; }.topic-progress-row .progress,.progress-topic-card .progress { height:8px; margin:9px 0; background:#efedf4; border-radius:999px; }.topic-progress-row .progress-bar,.progress-topic-card .progress-bar { background:linear-gradient(90deg,var(--rugym-primary),#9a7ae9); border-radius:999px; }.topic-progress-row small{color:var(--rugym-muted)}
.focus-item { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid var(--rugym-border); }.focus-item div{display:flex;flex-direction:column}.focus-item small{color:var(--rugym-muted)}.focus-number{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-weight:800}
.empty-state { padding: 44px 18px; text-align:center; color:var(--rugym-muted); }.empty-state.compact{padding:30px 10px}.empty-state i{display:block;font-size:2rem;color:var(--rugym-primary);margin-bottom:10px}.empty-state p{margin:0}

.mode-toggle { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.mode-toggle input,.topic-select-card input,.size-options input,.answer-option input { position:absolute; opacity:0; pointer-events:none; }.mode-toggle label>span { min-height:106px; display:flex; flex-direction:column; padding:18px; border:2px solid var(--rugym-border); border-radius:19px; background:#fff; cursor:pointer; }.mode-toggle i{font-size:1.35rem;color:var(--rugym-primary);margin-bottom:7px}.mode-toggle small{color:var(--rugym-muted)}.mode-toggle input:checked+span{border-color:var(--rugym-primary);background:var(--rugym-primary-soft)}
.topic-select-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.topic-select-card{position:relative;min-width:0}.topic-select-card>span:not(.topic-check){display:block}.topic-select-card{padding:17px;background:#fff;border:2px solid var(--rugym-border);border-radius:19px;cursor:pointer}.topic-select-card:has(input:checked){border-color:var(--rugym-primary);background:var(--rugym-primary-soft)}.topic-select-card:has(input:disabled){opacity:.5}.topic-check{position:absolute;top:12px;right:12px;display:none;width:25px;height:25px;border-radius:50%;background:var(--rugym-primary);color:#fff;text-align:center}.topic-select-card:has(input:checked) .topic-check{display:grid;place-items:center}.topic-icon{display:grid!important;place-items:center;width:42px;height:42px;border-radius:13px;margin-bottom:13px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.2rem}.topic-icon.green{background:var(--rugym-green-soft);color:var(--rugym-green)}.topic-icon.orange{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.topic-select-card strong{display:block;padding-right:25px}.topic-select-card small{display:block;color:var(--rugym-muted);margin-top:3px}
.size-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.size-options label>span{display:flex;flex-direction:column;align-items:center;padding:14px 8px;background:#fff;border:2px solid var(--rugym-border);border-radius:17px;cursor:pointer}.size-options input:checked+span{border-color:var(--rugym-primary);background:var(--rugym-primary-soft);color:var(--rugym-primary)}.size-options label.disabled{opacity:.4}.size-options strong{font-size:1.25rem}.size-options small{color:var(--rugym-muted)}.availability-note{margin:12px 4px 0;color:var(--rugym-muted);font-size:.87rem}

.player-body { overflow:hidden; background:#faf9fd; }.player-main{height:100dvh}.player-shell{height:100%;display:grid;grid-template-rows:auto 1fr auto}.player-header{display:grid;grid-template-columns:48px minmax(0,680px) 48px;justify-content:center;align-items:center;gap:13px;padding:14px max(14px,env(safe-area-inset-left));background:#fff;border-bottom:1px solid var(--rugym-border)}.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--rugym-border);border-radius:14px;background:#fff;color:var(--rugym-ink);font-size:1.15rem}.player-progress-wrap{width:100%}.player-progress{height:8px;background:#efedf4}.player-progress .progress-bar{background:linear-gradient(90deg,var(--rugym-primary),#9274eb);border-radius:999px;transition:width .35s ease}.player-content{overflow-y:auto;padding:clamp(20px,5vh,48px) 14px}.question-card{width:min(720px,100%);margin:auto}.question-meta{display:flex;justify-content:space-between;gap:12px;color:var(--rugym-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:750}.difficulty{color:#e8a631;letter-spacing:2px}.question-card h1{margin:12px 0 clamp(28px,6vh,54px);font-size:clamp(1.5rem,5vw,2.35rem);font-weight:800;line-height:1.2;letter-spacing:-.035em}.interaction-area{font-size:1.05rem}.answer-list{display:grid;gap:11px}.answer-option{display:block}.answer-box{min-height:58px;display:flex;align-items:center;gap:14px;padding:13px 16px;border:2px solid var(--rugym-border);border-radius:17px;background:#fff;cursor:pointer;font-weight:700;transition:.15s ease}.answer-marker{display:grid;place-items:center;width:27px;height:27px;border:2px solid #ccc6da;border-radius:50%;color:transparent;font-size:.55rem}.answer-option input[type=checkbox]+.answer-box .answer-marker{border-radius:8px}.answer-option input:checked+.answer-box{border-color:var(--rugym-primary);background:var(--rugym-primary-soft);color:var(--rugym-primary)}.answer-option input:checked+.answer-box .answer-marker{border-color:var(--rugym-primary);background:var(--rugym-primary);color:#fff}.gap-template,.punctuation-line{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,5vw,2.3rem);line-height:1.85;text-align:center}.gap-choice{min-width:64px;min-height:48px;margin:0 4px;padding:2px 10px;border:0;border-bottom:3px solid var(--rugym-primary);background:var(--rugym-primary-soft);color:var(--rugym-primary);border-radius:10px 10px 3px 3px;font:inherit;font-size:.9em}.gap-choice:not(.filled){color:var(--rugym-muted)}.punctuation-slot{display:inline-grid;place-items:center;vertical-align:middle;width:44px;height:46px;margin:0 5px;border:2px dashed #bbb4cf;border-radius:12px;background:#fff;color:#aaa2bb;font:700 1.4rem Georgia}.punctuation-slot.selected{border-style:solid;border-color:var(--rugym-primary);background:var(--rugym-primary-soft);color:var(--rugym-primary)}.free-answer{min-height:62px;font-size:1.2rem;text-align:center}.text-gap-input{width:clamp(95px,25vw,180px);height:48px;margin:0 4px;padding:2px 8px;border:0;border-bottom:3px solid var(--rugym-primary);background:#fff;border-radius:9px 9px 2px 2px;font:inherit;font-size:.72em;text-align:center}.player-actions{padding:14px max(14px,calc((100vw - 720px)/2));padding-bottom:max(14px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--rugym-border)}.player-actions>.btn{max-width:720px;margin-inline:auto;display:block}.feedback-panel{max-width:720px;margin:0 auto 12px;padding:15px;border-radius:17px}.feedback-panel.is-correct{background:var(--rugym-green-soft);color:#176c49}.feedback-panel.is-wrong{background:var(--rugym-orange-soft);color:#7d471d}.feedback-heading{display:flex;gap:12px;align-items:flex-start}.feedback-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:currentColor;color:#fff}.feedback-icon i{color:#fff}.feedback-heading strong{font-size:1.05rem}.feedback-heading p{margin:2px 0 0}.feedback-details{display:grid;gap:6px;margin-top:10px}.feedback-detail-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px;background:rgba(255,255,255,.58);border-radius:10px;font-size:.85rem}.feedback-detail-row span{display:flex;flex-direction:column}.theory-panel{--bs-offcanvas-width:min(480px,100vw)}.theory-panel .offcanvas-header{align-items:flex-start;padding:25px}.theory-panel .offcanvas-body{padding:0 25px 35px}.player-error{max-width:720px;margin:20px auto 0}

.theory-topic-card{padding:26px;background:#fff;border:1px solid var(--rugym-border);border-radius:22px}.theory-topic-card h2{margin:16px 0 8px;font-size:1.25rem;font-weight:800}.theory-topic-card>p{color:var(--rugym-muted);min-height:48px}.rule-links{display:grid;margin-top:18px;border-top:1px solid var(--rugym-border)}.rule-links a{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--rugym-border);color:var(--rugym-ink);font-weight:650}.theory-article{padding:clamp(24px,6vw,48px);background:#fff;border:1px solid var(--rugym-border);border-radius:var(--rugym-radius)}.theory-article h1{margin:20px 0 14px;font-size:clamp(2rem,6vw,3.3rem);letter-spacing:-.045em;font-weight:830}.theory-copy{color:#3e3a4d;line-height:1.75}.theory-copy h2,.theory-copy h3{margin-top:1.7em;color:var(--rugym-ink);font-weight:800}.theory-copy blockquote{padding:16px 18px;border-left:4px solid var(--rugym-primary);border-radius:0 13px 13px 0;background:var(--rugym-primary-soft)}.theory-copy table{width:100%;margin:20px 0;border-collapse:collapse}.theory-copy th,.theory-copy td{padding:10px;border:1px solid var(--rugym-border)}
.progress-table{display:grid;gap:12px;margin-top:22px}.progress-topic-card{padding:19px;border:1px solid var(--rugym-border);border-radius:17px}.progress-topic-card small{display:block;color:var(--rugym-muted)}.mastery-pill{padding:6px 10px;border-radius:999px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-weight:800}.progress-metrics{display:flex;gap:20px;flex-wrap:wrap;color:var(--rugym-muted);font-size:.84rem}.progress-metrics b{color:var(--rugym-ink)}
.mistake-list{display:grid;gap:13px}.mistake-card{padding:21px;background:#fff;border:1px solid var(--rugym-border);border-radius:20px}.mistake-card time{color:var(--rugym-muted);font-size:.8rem}.mistake-card h2{margin:17px 0 12px;font-size:1.1rem}.mistake-card>p{color:var(--rugym-muted)}.mistake-fields{display:grid;gap:7px}.mistake-fields>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;background:var(--rugym-red-soft);border-radius:11px;font-size:.83rem}.mistake-fields span{display:flex;flex-direction:column}
.consent-card{display:flex;align-items:center;gap:15px;padding:18px;background:var(--rugym-primary);color:#fff;border-radius:20px}.consent-card>i{font-size:1.5rem}.consent-card div{flex:1}.consent-card p{margin:2px 0 0;color:rgba(255,255,255,.76);font-size:.83rem}.leaderboard-card{overflow:hidden;background:#fff;border:1px solid var(--rugym-border);border-radius:22px}.leader-row{display:grid;grid-template-columns:38px 42px 1fr auto;align-items:center;gap:10px;padding:13px 17px;border-bottom:1px solid var(--rugym-border)}.leader-row:last-child{border:0}.leader-row.is-me{background:var(--rugym-primary-soft)}.rank{text-align:center;font-weight:800;color:var(--rugym-muted)}.rank.top{color:var(--rugym-orange);font-size:1.15rem}.leader-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#efedf5;color:var(--rugym-primary);font-weight:800}.leader-row strong small{color:var(--rugym-primary)}.leader-xp{font-weight:800;color:var(--rugym-primary)}
.profile-head{display:flex;align-items:center;gap:15px}.profile-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.7rem;font-weight:850}.profile-head h2,.profile-head p{margin:0}.profile-head p{color:var(--rugym-muted)}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-top:1px solid var(--rugym-border);border-bottom:1px solid var(--rugym-border)}.setting-row p{margin:3px 0 0;color:var(--rugym-muted);font-size:.84rem}
.result-shell{min-height:80vh;display:grid;place-items:center;padding-inline:14px}.result-card{width:min(520px,100%);padding:clamp(24px,6vw,44px);background:#fff;border:1px solid var(--rugym-border);border-radius:30px;box-shadow:var(--rugym-shadow)}.result-badge{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 20px;border-radius:50%;background:var(--rugym-green-soft);color:var(--rugym-green);font-size:2.4rem}.result-card h1{font-weight:830}.result-score{display:flex;flex-direction:column;margin:25px 0}.result-score strong{font-size:3.5rem;color:var(--rugym-primary);line-height:1}.result-score span{margin-top:8px;color:var(--rugym-muted)}.mini-stat{display:flex;flex-direction:column;padding:14px;background:var(--rugym-bg);border-radius:15px}.mini-stat i{color:var(--rugym-primary)}.mini-stat small{color:var(--rugym-muted)}

.admin-nav{display:flex;gap:6px;overflow-x:auto;padding:5px;background:#fff;border:1px solid var(--rugym-border);border-radius:15px;scrollbar-width:none}.admin-nav a{flex:0 0 auto;padding:9px 12px;border-radius:10px;color:var(--rugym-muted);font-size:.86rem;font-weight:700}.admin-nav a:hover{background:var(--rugym-primary-soft);color:var(--rugym-primary)}.admin-actions{display:grid;gap:10px}.admin-actions a{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid var(--rugym-border);border-radius:14px;color:var(--rugym-ink)}.admin-actions a>i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.admin-actions span{display:flex;flex-direction:column}.admin-actions small{color:var(--rugym-muted)}.admin-list{overflow:hidden;background:#fff;border:1px solid var(--rugym-border);border-radius:20px}.admin-list>a,.admin-list-row{display:grid;grid-template-columns:45px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 17px;border-bottom:1px solid var(--rugym-border);color:var(--rugym-ink)}.admin-list>a:last-child,.admin-list-row:last-child{border:0}.admin-list .topic-icon{margin:0}.admin-list strong,.admin-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-list small{color:var(--rugym-muted)}.status-dot{width:9px;height:9px;border-radius:50%;background:#bbb}.status-dot.active{background:var(--rugym-green)}.status-published{background:var(--rugym-green-soft);color:var(--rugym-green)}.status-draft{background:#eee;color:#666}.status-archived{background:var(--rugym-red-soft);color:var(--rugym-red)}.code-field textarea{min-height:220px;font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.import-report{padding:18px;background:var(--rugym-bg);border-radius:16px}.import-report .row>div{display:flex;flex-direction:column;text-align:center;padding:12px;background:#fff;border-radius:12px}.import-report strong{font-size:1.4rem}.import-report small{color:var(--rugym-muted)}
.error-page{min-height:70vh;display:grid;place-content:center;justify-items:center;text-align:center;padding:20px}.error-page>strong{font-size:5rem;line-height:1;color:var(--rugym-primary-soft);text-shadow:0 0 0 var(--rugym-primary)}.error-page h1{font-weight:830}.error-page p{color:var(--rugym-muted)}

@media (max-width: 991.98px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .py-lg-6 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
}
@media (max-width: 575.98px) {
  .page-main { padding-bottom: 82px; }
  .landing-hero { text-align:center; }.landing-hero .eyebrow{font-size:.67rem}.display-title{font-size:3.1rem}.hero-demo-card{text-align:left;transform:none}.landing-hero .btn{width:100%}
  .stats-grid { gap:8px; }.stat-card { padding:13px 10px; gap:9px; }.stat-icon{width:36px;height:36px}.stat-card strong{font-size:1.08rem}.stat-card span:last-child{font-size:.68rem}
  .mode-toggle { grid-template-columns:1fr; }.mode-toggle label>span{min-height:88px}.topic-select-grid{grid-template-columns:1fr}.size-options label>span{padding:12px 4px}
  .player-header{grid-template-columns:44px minmax(0,1fr) 44px;padding-top:max(10px,env(safe-area-inset-top));gap:8px}.player-header .small{font-size:.7rem}.player-content{padding-top:22px}.question-card h1{font-size:1.45rem;margin-bottom:30px}.player-actions{padding-inline:14px}.feedback-detail-row,.mistake-fields>div{grid-template-columns:1fr}.gap-template,.punctuation-line{font-size:1.45rem}.theory-button{display:grid}
  .consent-card{align-items:flex-start;flex-wrap:wrap}.consent-card .btn{width:100%}.leader-row{grid-template-columns:30px 38px 1fr auto;padding:12px 10px}.leader-xp{font-size:.82rem}
  .admin-list>a,.admin-list-row{grid-template-columns:42px minmax(0,1fr) auto}.admin-list>a>i,.admin-list-row>.badge{display:none}.progress-metrics{gap:10px}.surface-card{border-radius:20px}
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}

/* Product layer: mobile shell, rich landing, teams, achievements and feedback. */
.mobile-topbar {
  display: flex;
  position: sticky;
  z-index: 1030;
  top: 0;
  min-height: calc(62px + env(safe-area-inset-top));
  padding: max(10px, env(safe-area-inset-top)) 16px 10px;
  align-items: center;
  justify-content: space-between;
  background: rgba(247,246,251,.9);
  border-bottom: 1px solid rgba(232,229,239,.82);
  backdrop-filter: blur(18px);
}
.mobile-top-actions { display:flex; align-items:center; gap:8px; }
.mobile-topbar .brand-mark { width:34px; height:34px; border-radius:11px; }
.mobile-topbar .avatar-link { width:38px; height:38px; margin-left:0; }
.xp-chip { display:flex; align-items:center; gap:5px; min-height:38px; padding:7px 11px; border-radius:999px; background:#fff; border:1px solid var(--rugym-border); color:var(--rugym-ink); font-size:.79rem; font-weight:850; box-shadow:0 5px 16px rgba(48,37,91,.07); }
.xp-chip i { color:#f2a62c; }
.xp-chip:hover { color:var(--rugym-primary); }

.landing-hero-v2 { position:relative; isolation:isolate; overflow:hidden; min-height:660px; background:linear-gradient(145deg,#faf9ff 0%,#f2efff 52%,#fcfbff 100%); }
.hero-grid-lines { position:absolute; z-index:-2; inset:0; opacity:.42; background-image:linear-gradient(rgba(115,89,230,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(115,89,230,.07) 1px,transparent 1px); background-size:46px 46px; mask-image:linear-gradient(to bottom,#000,transparent 88%); }
.hero-orb { position:absolute; z-index:-1; border-radius:50%; filter:blur(2px); pointer-events:none; }
.orb-one { top:-160px; right:-80px; width:540px; height:540px; background:radial-gradient(circle at 35% 35%,rgba(169,140,255,.45),rgba(115,89,230,.08) 62%,transparent 70%); animation:orb-drift 9s ease-in-out infinite alternate; }
.orb-two { bottom:-250px; left:-160px; width:520px; height:520px; background:radial-gradient(circle,rgba(84,213,169,.16),transparent 68%); animation:orb-drift 11s 1s ease-in-out infinite alternate-reverse; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border:1px solid rgba(115,89,230,.16); border-radius:999px; background:rgba(255,255,255,.72); box-shadow:0 8px 25px rgba(77,58,152,.06); }
.landing-hero-v2 .display-title { max-width:700px; font-size:clamp(3.1rem,7vw,5.7rem); line-height:.94; letter-spacing:-.07em; }
.landing-hero-v2 .display-title span { color:var(--rugym-primary); }
.landing-hero-v2 .lead { max-width:640px; font-size:clamp(1.05rem,2vw,1.28rem); }
.hero-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:54px; }
.magnetic-button { box-shadow:0 13px 30px rgba(115,89,230,.25); }
.hero-stage { position:relative; width:min(570px,100%); margin-inline:auto; padding:35px 42px 48px; }
.interactive-demo { transform:rotate(1.2deg); transition:transform .3s ease,box-shadow .3s ease; }
.interactive-demo:hover { transform:rotate(0) translateY(-3px); box-shadow:0 28px 70px rgba(55,39,127,.16); }
.demo-progress { height:6px; overflow:hidden; border-radius:999px; background:#eeebf4; }
.demo-progress i { display:block; width:28%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--rugym-primary),#a98cff); }
.demo-gap.solved { color:var(--rugym-green); border-color:var(--rugym-green); }
.choice-demo { width:100%; transition:transform .16s ease,border-color .16s ease,background .16s ease; }
.choice-demo:hover { transform:translateY(-2px); border-color:#bdb3eb; }
.choice-demo.wrong { border-color:#e2657c; background:var(--rugym-red-soft); color:var(--rugym-red); }
.floating-chip { position:absolute; z-index:4; display:flex; align-items:center; gap:10px; padding:10px 14px; border:1px solid rgba(255,255,255,.8); border-radius:17px; background:rgba(255,255,255,.92); box-shadow:0 16px 38px rgba(53,39,109,.15); backdrop-filter:blur(12px); animation:float-chip 4.6s ease-in-out infinite; }
.floating-chip i { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; font-size:1.15rem; }
.floating-chip span { display:flex; flex-direction:column; font-size:.7rem; color:var(--rugym-muted); }
.floating-chip b { color:var(--rugym-ink); font-size:.85rem; }
.chip-streak { top:0; left:0; }.chip-streak i{background:var(--rugym-orange-soft);color:var(--rugym-orange)}
.chip-xp { right:0; bottom:22px; animation-delay:-2s; }.chip-xp i{background:var(--rugym-primary-soft);color:var(--rugym-primary)}
.mini-achievement { position:absolute; z-index:3; left:4px; bottom:2px; display:flex; align-items:center; gap:10px; padding:10px 13px; border-radius:17px; background:#28203f; color:#fff; box-shadow:0 15px 40px rgba(38,29,69,.25); transform:rotate(-2deg); }
.mini-achievement div { display:flex; flex-direction:column; }.mini-achievement small{font-size:.65rem;color:rgba(255,255,255,.58)}.mini-achievement strong{font-size:.82rem}

.landing-section { padding-top:6rem!important; padding-bottom:6rem!important; }
.section-intro { max-width:720px; margin-inline:auto; }.section-intro h2{margin:10px 0;font-size:clamp(2rem,4vw,3.4rem);font-weight:850;letter-spacing:-.045em}.section-intro>p{color:var(--rugym-muted);font-size:1.06rem}
.bento-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:16px; }
.bento-card { --pointer-x:50%; --pointer-y:50%; position:relative; isolation:isolate; overflow:hidden; min-height:250px; padding:30px; border:1px solid var(--rugym-border); border-radius:28px; background:#fff; box-shadow:0 10px 38px rgba(45,34,91,.06); }
.bento-card::after { content:""; position:absolute; z-index:-1; width:220px; height:220px; left:calc(var(--pointer-x) - 110px); top:calc(var(--pointer-y) - 110px); border-radius:50%; background:radial-gradient(circle,rgba(115,89,230,.1),transparent 68%); opacity:0; transition:opacity .25s ease; pointer-events:none; }
.bento-card:hover::after { opacity:1; }.bento-card h3{margin:16px 0 9px;font-size:1.35rem;font-weight:830;letter-spacing:-.025em}.bento-card p{margin:0;color:var(--rugym-muted)}
.bento-large { grid-row:span 2; min-height:516px; display:grid; grid-template-rows:auto auto 1fr; }
.bento-purple { color:#fff; background:linear-gradient(145deg,#6c50db,#8f6feb); border:0; }.bento-purple p{color:rgba(255,255,255,.72)}.bento-purple .bento-icon{background:rgba(255,255,255,.15);color:#fff}
.bento-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:17px; background:var(--rugym-primary-soft); color:var(--rugym-primary); font-size:1.4rem; }.bento-icon.green{background:var(--rugym-green-soft);color:var(--rugym-green)}.bento-icon.orange{background:var(--rugym-orange-soft);color:var(--rugym-orange)}
.bento-avatars { display:flex; margin-top:35px; }.bento-avatars span{display:grid;place-items:center;width:42px;height:42px;margin-right:-8px;border:3px solid #8467e9;border-radius:50%;background:#fff;color:var(--rugym-primary);font-size:.78rem;font-weight:850}.bento-avatars span:last-child{background:#362967;color:#fff}
.learning-path-section { background:#f0edfa; }.path-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.path-steps article{position:relative;padding:28px;background:#fff;border-radius:24px;border:1px solid rgba(115,89,230,.09)}.path-steps article>span{color:#b8afcf;font-size:.75rem;font-weight:850;letter-spacing:.1em}.path-steps article>i{display:grid;place-items:center;width:48px;height:48px;margin:22px 0;border-radius:15px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.3rem}.path-steps h3{font-size:1.15rem;font-weight:830}.path-steps p{margin:0;color:var(--rugym-muted);font-size:.91rem}
.landing-cta { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:70px; padding:clamp(28px,5vw,56px); border-radius:32px; color:#fff; background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.18),transparent 25%),linear-gradient(120deg,#3f316f,#7359e6 62%,#9175ea); box-shadow:0 25px 70px rgba(67,49,137,.2); }.landing-cta h2{margin:8px 0;font-size:clamp(1.8rem,4vw,3rem);font-weight:850}.landing-cta p{margin:0;color:rgba(255,255,255,.72)}.landing-cta .btn{flex:0 0 auto}
.reveal-on-scroll { opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1); }.reveal-on-scroll.is-visible{opacity:1;transform:none}

.training-setup-hero { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; min-height:220px; padding:clamp(25px,5vw,42px); border-radius:30px; color:#fff; background:radial-gradient(circle at 86% 10%,rgba(255,255,255,.2),transparent 26%),linear-gradient(130deg,#3c2d69,#7257df 62%,#9678eb); box-shadow:0 20px 48px rgba(70,51,144,.2); }.training-setup-hero::after{content:"Я";position:absolute;right:4%;bottom:-42%;font:240px Georgia;color:rgba(255,255,255,.06)}.training-setup-hero h1{margin:8px 0;font-size:clamp(2rem,6vw,3.5rem);font-weight:850;letter-spacing:-.05em}.training-setup-hero p{max-width:450px;margin:0;color:rgba(255,255,255,.72)}
.route-visual { position:relative; z-index:1; display:flex; align-items:center; min-width:180px; }.route-visual>span{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);font-size:1.4rem;backdrop-filter:blur(8px)}.route-visual>i{flex:1;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.65) 0 7px,transparent 7px 13px)}
.training-setup-v2 .mode-toggle label>span { position:relative; min-height:132px; justify-content:center; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }.training-setup-v2 .mode-toggle label>span:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(50,38,98,.08)}
.recommended-badge { position:absolute; top:11px; right:11px; padding:4px 8px; border-radius:999px; background:var(--rugym-primary); color:#fff; font-size:.61rem; font-weight:800; letter-spacing:.03em; }
.start-session-dock { position:sticky; z-index:10; bottom:84px; margin-top:26px; padding:13px; border:1px solid rgba(230,226,239,.9); border-radius:24px; background:rgba(255,255,255,.9); box-shadow:0 18px 45px rgba(47,36,94,.13); backdrop-filter:blur(18px); }.start-session-dock .btn{min-height:56px}.start-session-dock>small{display:block;margin-top:8px;text-align:center;color:var(--rugym-muted)}

.badge-art { position:relative; display:grid; place-items:center; flex:0 0 auto; width:54px; height:54px; border-radius:18px; font-size:1.45rem; color:#fff; background:linear-gradient(145deg,#7359e6,#a78cff); box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 24px rgba(80,61,160,.2); }.badge-art::after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.24);border-radius:14px}.badge-art.green{background:linear-gradient(145deg,#21a872,#62d7ac)}.badge-art.orange{background:linear-gradient(145deg,#eb8c24,#ffc164)}.badge-art.blue{background:linear-gradient(145deg,#397fcf,#74b9f2)}
.achievement-hero { position:relative; overflow:hidden; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:clamp(28px,5vw,48px); color:#fff; border-radius:30px; background:radial-gradient(circle at 90% 20%,rgba(255,255,255,.2),transparent 25%),linear-gradient(125deg,#34265d,#7359e6); }.achievement-hero h1{margin:8px 0;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:850}.achievement-hero p{max-width:620px;margin:0;color:rgba(255,255,255,.7)}.achievement-count{display:flex;flex-direction:column;align-items:center;padding:18px 25px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}.achievement-count strong{font-size:2.1rem}.achievement-count span{font-size:.75rem;color:rgba(255,255,255,.7)}
.achievement-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.achievement-card{display:flex;align-items:center;gap:16px;min-height:132px;padding:20px;border:1px solid var(--rugym-border);border-radius:22px;background:#fff}.achievement-card div{display:flex;flex-direction:column}.achievement-card strong{font-size:1rem}.achievement-card p{margin:4px 0;color:var(--rugym-muted);font-size:.78rem}.achievement-card small{font-size:.7rem;color:var(--rugym-green);font-weight:750}.achievement-card.locked{filter:grayscale(.75);opacity:.58}.achievement-card.locked .badge-art{box-shadow:none}
.achievement-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.achievement-mini{display:flex;min-width:0;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;border-radius:16px;background:var(--rugym-bg);text-align:center}.achievement-mini>div{min-width:0;max-width:100%}.achievement-mini .badge-art{width:42px;height:42px;border-radius:14px;font-size:1.05rem}.achievement-mini strong,.achievement-mini small{display:block;overflow-wrap:anywhere}.achievement-mini strong{font-size:.7rem}.achievement-mini:not(.earned){filter:grayscale(1);opacity:.45}

.analytics-card { overflow:hidden; }.activity-chart{min-height:250px;margin:12px -5px -10px}.activity-chart svg{display:block;width:100%;height:auto;overflow:visible}.chart-grid{stroke:#ece8f4;stroke-width:1}.chart-label{fill:var(--rugym-muted);font-size:11px;text-anchor:middle}
.insight-card { display:flex;flex-direction:column;justify-content:center;padding:30px;border-radius:26px;color:#fff;background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.18),transparent 25%),linear-gradient(145deg,#5a43bd,#8265e5);box-shadow:0 18px 42px rgba(71,51,146,.18)}.insight-spark{display:grid;place-items:center;width:48px;height:48px;margin-bottom:24px;border-radius:16px;background:rgba(255,255,255,.14);font-size:1.3rem}.insight-card h2{margin:9px 0;font-size:1.8rem;font-weight:850}.insight-card p{color:rgba(255,255,255,.7)}.insight-card a{margin-top:auto;color:#fff;font-weight:750}

.leaderboard-tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:5px; border:1px solid var(--rugym-border); border-radius:16px; background:#fff; }.leaderboard-tabs a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:12px;color:var(--rugym-muted);font-weight:750}.leaderboard-tabs a.active{background:var(--rugym-primary-soft);color:var(--rugym-primary)}
.team-empty-hero { display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;overflow:hidden;padding:clamp(28px,5vw,60px);border-radius:34px;background:radial-gradient(circle at 8% 10%,rgba(255,255,255,.14),transparent 28%),linear-gradient(130deg,#34275e,#7359e6 68%,#9274e8);color:#fff;box-shadow:0 25px 70px rgba(63,46,130,.2)}.team-hero-copy h1{margin:10px 0 16px;font-size:clamp(2.3rem,5vw,4.5rem);line-height:1;letter-spacing:-.055em;font-weight:850}.team-hero-copy p{max-width:560px;color:rgba(255,255,255,.72);font-size:1.05rem}.team-avatar-stack{display:flex;align-items:center;margin-top:30px}.team-avatar-stack span{display:grid;place-items:center;width:48px;height:48px;margin-right:-9px;border:3px solid #6a51cf;border-radius:50%;background:#fff;color:var(--rugym-primary);font-weight:850}.team-avatar-stack b{margin-left:20px;font-size:.8rem}
.team-setup-card { padding:25px;border-radius:26px;background:#fff;color:var(--rugym-ink);box-shadow:0 20px 55px rgba(34,25,68,.2)}.team-setup-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;background:var(--rugym-bg);border-radius:14px}.team-setup-tabs li{width:100%}.team-setup-tabs button{width:100%;min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--rugym-muted);font-weight:750}.team-setup-tabs button.active{background:#fff;color:var(--rugym-primary);box-shadow:0 4px 12px rgba(45,35,88,.08)}
.team-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.team-benefits>div{display:grid;grid-template-columns:46px 1fr;gap:2px 12px;padding:18px;border:1px solid var(--rugym-border);border-radius:19px;background:#fff}.team-benefits i{grid-row:span 2;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.25rem}.team-benefits strong,.team-benefits span{grid-column:2}.team-benefits span{color:var(--rugym-muted);font-size:.77rem}
.team-header-card { position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;min-height:280px;padding:clamp(28px,5vw,52px);border-radius:32px;color:#fff;background:radial-gradient(circle at 90% 20%,rgba(255,255,255,.2),transparent 23%),linear-gradient(128deg,#302350,#684fd0 60%,#9678eb);box-shadow:0 20px 60px rgba(65,47,135,.2)}.team-kicker{display:inline-flex;gap:6px;padding:7px 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);font-size:.72rem}.team-header-card h1{margin:14px 0 7px;font-size:clamp(2.5rem,6vw,4.8rem);font-weight:850;letter-spacing:-.06em}.team-header-card p{max-width:590px;color:rgba(255,255,255,.68)}.team-header-stats{display:flex;gap:22px;margin-top:25px}.team-header-stats span{display:flex;flex-direction:column;color:rgba(255,255,255,.62);font-size:.73rem}.team-header-stats strong{color:#fff;font-size:1.35rem}.team-medallion{position:relative;display:grid;place-items:center;flex:0 0 auto;width:150px;height:150px;border-radius:45px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);transform:rotate(6deg);box-shadow:inset 0 0 30px rgba(255,255,255,.08)}.team-medallion span{font:850 5rem/1 Georgia}.team-medallion i{position:absolute;top:13px;right:15px;color:#ffd16f}
.challenge-list{display:grid;gap:12px}.challenge-card{padding:18px;border:1px solid var(--rugym-border);border-radius:19px;background:#fff}.challenge-card.completed{border-color:#a9dfca;background:#f5fffb}.challenge-top{display:grid;grid-template-columns:46px 1fr auto;align-items:start;gap:12px}.challenge-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.2rem}.challenge-top h3{margin:2px 0 3px;font-size:1rem;font-weight:800}.challenge-top p{margin:0;color:var(--rugym-muted);font-size:.78rem}.challenge-top>strong{color:var(--rugym-primary)}.challenge-card .progress{height:8px;margin:16px 0 8px}.challenge-card .progress-bar{background:linear-gradient(90deg,var(--rugym-primary),#a68aff)}.challenge-meta{display:flex;justify-content:space-between;color:var(--rugym-muted);font-size:.72rem}
.invite-card{display:flex;gap:18px;padding:25px;border-radius:25px;color:#fff;background:linear-gradient(130deg,#30254e,#5e49b6)}.invite-icon{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;border-radius:17px;background:rgba(255,255,255,.12);font-size:1.35rem}.invite-card>div{min-width:0;flex:1}.invite-card h2{margin:7px 0;font-size:1.35rem;font-weight:830}.invite-card p{color:rgba(255,255,255,.66);font-size:.85rem}.invite-link{display:flex;gap:7px;margin-top:16px;padding:5px;border-radius:14px;background:rgba(255,255,255,.1)}.invite-link input{min-width:0;flex:1;padding:8px;border:0;background:transparent;color:#fff;font-size:.77rem}.invite-link button{display:flex;align-items:center;gap:5px;min-height:42px;padding:8px 11px;border:0;border-radius:10px;background:#fff;color:var(--rugym-primary);font-size:.76rem;font-weight:750}.link-button{padding:0;border:0;background:transparent;font-size:.73rem}.member-row{display:grid;grid-template-columns:26px 40px 1fr auto;align-items:center;gap:10px;padding:12px 6px;border-bottom:1px solid var(--rugym-border)}.member-row:last-child{border:0}.member-row.is-me{margin-inline:-8px;padding-inline:14px;border-radius:14px;background:var(--rugym-primary-soft)}.member-rank{text-align:center;color:var(--rugym-muted);font-weight:800}.member-row>div{display:flex;min-width:0;flex-direction:column}.member-row small{color:var(--rugym-muted);font-size:.69rem}.member-row small i{color:#f0a62f}.member-row>b{color:var(--rugym-primary);font-size:.8rem}.leader-avatar.team{border-radius:13px;background:var(--rugym-primary);color:#fff}
.invite-page{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:30px 14px;background:radial-gradient(circle at 50% 10%,#e7e0ff,transparent 35%)}.invite-join-card{width:min(480px,100%);padding:clamp(26px,6vw,45px);border:1px solid var(--rugym-border);border-radius:30px;background:#fff;text-align:center;box-shadow:var(--rugym-shadow)}.team-big-icon{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 22px;border-radius:28px;background:linear-gradient(145deg,#6b50d8,#9878eb);color:#fff;font-size:2rem;box-shadow:0 18px 35px rgba(90,68,182,.25)}.invite-team-meta{display:flex;justify-content:center;gap:18px;margin:24px 0;padding:15px;border-radius:15px;background:var(--rugym-bg);color:var(--rugym-muted);font-size:.82rem}
.team-teaser{position:relative;overflow:hidden;min-height:100%;padding:28px;border-radius:25px;color:#fff;background:radial-gradient(circle at 100% 0,rgba(255,255,255,.17),transparent 28%),linear-gradient(145deg,#4a367f,#765be0)}.team-teaser h2{margin:10px 0;font-size:1.65rem;font-weight:850}.team-teaser p{max-width:380px;color:rgba(255,255,255,.68)}.team-orbit{display:flex;align-items:center;margin:30px 0 8px}.team-orbit span{display:grid;place-items:center;width:44px;height:44px;margin-right:-8px;border:3px solid #6e55ce;border-radius:50%;background:#fff;color:var(--rugym-primary);font-size:.75rem;font-weight:850}

.celebration-layer { position:fixed; z-index:1600; inset:0; overflow:hidden; pointer-events:none; }.confetti-piece{position:absolute;top:-18px;left:var(--confetti-x);width:var(--confetti-size);height:calc(var(--confetti-size) * 1.7);border-radius:2px;background:var(--confetti-color);animation:confetti-fall 1.25s var(--confetti-delay) cubic-bezier(.15,.65,.4,1) forwards}.question-card{position:relative;transition:filter .2s ease}.question-card.answer-correct{animation:correct-pulse .56s ease}.question-card.answer-wrong{animation:wrong-tint .55s ease}.xp-float{position:absolute;z-index:5;top:40%;left:50%;padding:8px 13px;border-radius:999px;background:var(--rugym-primary);color:#fff;font-size:.9rem;font-weight:900;box-shadow:0 12px 28px rgba(80,59,168,.28);animation:xp-rise 1.2s ease forwards}.achievement-toast{position:fixed;z-index:1700;top:max(16px,env(safe-area-inset-top));left:50%;display:flex;align-items:center;gap:12px;width:min(390px,calc(100vw - 24px));padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(35,27,57,.96);color:#fff;box-shadow:0 20px 55px rgba(28,20,53,.35);backdrop-filter:blur(15px);transform:translate(-50%,-140%);opacity:0;transition:transform .45s cubic-bezier(.18,.9,.28,1.2),opacity .3s ease}.achievement-toast.show{transform:translate(-50%,0);opacity:1}.achievement-toast .badge-art{width:46px;height:46px;border-radius:15px;font-size:1.15rem}.achievement-toast>div{display:flex;min-width:0;flex-direction:column}.achievement-toast small{color:#c0b4e7;font-size:.65rem}.achievement-toast strong{font-size:.88rem}.achievement-toast span:last-child{overflow:hidden;color:rgba(255,255,255,.65);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}

.feedback-panel.is-correct .feedback-icon{background:var(--rugym-green);color:#fff}.feedback-panel.is-wrong .feedback-icon{background:#d17a2d;color:#fff}.player-shell .achievement-toast{top:max(82px,calc(env(safe-area-inset-top) + 72px));transform:translate(-50%,-12px) scale(.97);pointer-events:none}.player-shell .achievement-toast.show{transform:translate(-50%,0) scale(1)}

@keyframes orb-drift { to{transform:translate(25px,18px) scale(1.06)} }
@keyframes float-chip { 50%{transform:translateY(-8px)} }
@keyframes confetti-fall { to{transform:translateY(105vh) rotate(var(--confetti-spin));opacity:.85} }
@keyframes xp-rise { 0%{transform:translate(-50%,8px) scale(.8);opacity:0} 22%{opacity:1} 100%{transform:translate(-50%,-85px) scale(1.08);opacity:0} }
@keyframes correct-pulse { 35%{filter:drop-shadow(0 0 16px rgba(53,190,132,.26));transform:scale(1.006)} }
@keyframes wrong-tint { 35%{filter:drop-shadow(0 0 15px rgba(224,90,116,.2))} }

@media (max-width: 991.98px) {
  .hero-stage{margin-top:10px}.bento-grid{grid-template-columns:1fr 1fr}.bento-large{grid-column:span 2;grid-row:auto;min-height:420px}.achievement-grid{grid-template-columns:repeat(2,1fr)}
  .team-empty-hero{grid-template-columns:1fr}.team-header-card{min-height:240px}.team-medallion{width:115px;height:115px;border-radius:34px}.team-medallion span{font-size:3.8rem}
}
@media (max-width: 767.98px) {
  .landing-cta{align-items:flex-start;flex-direction:column}.path-steps{grid-template-columns:1fr}.path-steps article{display:grid;grid-template-columns:45px 55px 1fr;align-items:center;gap:9px}.path-steps article>i{grid-column:2;grid-row:1/3;margin:0}.path-steps article>span{grid-column:1;grid-row:1/3}.path-steps h3,.path-steps p{grid-column:3}.path-steps h3{margin:0}.path-steps p{font-size:.82rem}
  .team-benefits{grid-template-columns:1fr}.route-visual{display:none}.team-medallion{display:none}.achievement-hero{align-items:flex-start;flex-direction:column}.achievement-count{align-items:flex-start;flex-direction:row;gap:7px}.achievement-count strong{font-size:1.1rem}.achievement-count span{align-self:center}
}
@media (max-width: 575.98px) {
  body{overflow-x:hidden}.page-main>.container-xl,.page-main>.container-narrow{padding-left:14px;padding-right:14px}
  .mobile-nav{height:calc(76px + env(safe-area-inset-bottom));padding-top:7px}.mobile-nav a{min-width:0;min-height:56px}.mobile-nav a>i{font-size:1.17rem}.mobile-nav .mobile-train{margin-top:0;transform:translateY(-7px)}.mobile-nav .mobile-train i{width:46px;height:46px;font-size:1.25rem}.page-main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .landing-hero-v2{min-height:auto}.landing-hero-v2 .container-xl{padding-top:3.5rem!important}.landing-hero-v2 .display-title{font-size:clamp(3rem,15vw,4.2rem);line-height:.92}.hero-copy{text-align:left}.hero-proof{justify-content:flex-start}.hero-stage{padding:34px 0 54px}.hero-demo-card{padding:20px;border-radius:24px}.floating-chip{padding:8px 10px}.floating-chip i{width:29px;height:29px}.chip-streak{left:-5px;top:2px}.chip-xp{right:-3px;bottom:18px}.mini-achievement{left:0;bottom:-4px}.mini-achievement .badge-art{width:40px;height:40px;border-radius:13px}.demo-word{font-size:2.35rem}.choice-demo{min-height:50px}.landing-section{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.section-intro{text-align:left!important}.section-intro h2{font-size:2.2rem}.bento-grid{grid-template-columns:1fr}.bento-large{grid-column:auto;min-height:430px}.bento-card{min-height:220px;padding:24px;border-radius:24px}.skill-map{padding-top:20px}.learning-path-section{padding-inline:2px}.landing-cta{margin-top:45px;border-radius:25px}.landing-cta .btn{width:100%}
  .training-setup-hero{min-height:205px;border-radius:25px}.training-setup-hero h1{font-size:2.65rem}.training-setup-v2 .mode-toggle{grid-template-columns:1fr 1fr}.training-setup-v2 .mode-toggle label>span{min-height:132px;padding:15px 12px}.training-setup-v2 .mode-toggle small{font-size:.7rem}.training-setup-v2 .mode-toggle strong{font-size:.88rem}.recommended-badge{top:8px;right:8px;font-size:.54rem}.start-session-dock{bottom:82px;margin-inline:-5px}
  .achievement-grid{grid-template-columns:1fr}.achievement-card{min-height:112px;padding:16px}.achievement-hero{border-radius:25px}.achievement-hero h1{font-size:2.35rem}.achievement-count{padding:11px 15px}.achievement-mini-grid{gap:5px}.achievement-mini{padding-inline:2px}.achievement-mini small{display:none}
  .activity-chart{min-height:190px;margin-inline:-15px}.analytics-card{padding-inline:17px}.chart-label{font-size:9px}.insight-card{min-height:280px}.progress-topic-card{padding:16px}.progress-metrics{font-size:.77rem}
  .team-empty-hero{padding:25px 16px;border-radius:26px}.team-hero-copy h1{font-size:2.7rem}.team-setup-card{padding:18px;border-radius:21px}.team-avatar-stack{margin-top:23px}.team-header-card{min-height:270px;padding:27px 22px;border-radius:26px}.team-header-card h1{font-size:3rem}.team-header-stats{gap:18px}.team-header-stats strong{font-size:1.1rem}.surface-card{padding:20px}.challenge-top{grid-template-columns:42px 1fr auto}.challenge-icon{width:42px;height:42px}.challenge-top p{display:none}.invite-card{padding:20px;gap:12px}.invite-icon{width:44px;height:44px;border-radius:14px}.invite-link{display:grid}.invite-link button{justify-content:center}.member-board{padding:18px}.invite-page{min-height:calc(100vh - 132px)}
  .player-content{padding-inline:18px}.player-actions{max-height:47dvh;overflow-y:auto}.feedback-panel{padding:13px}.feedback-heading p{font-size:.83rem}.achievement-toast{top:max(10px,env(safe-area-inset-top))}
  .btn,.nav-pill,.choice-demo,.answer-box,.topic-select-card,.size-options label>span{touch-action:manipulation}
}
@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll{opacity:1;transform:none}.hero-orb,.floating-chip,.confetti-piece,.question-card.answer-correct,.question-card.answer-wrong,.xp-float{animation:none!important}.interactive-demo:hover,.training-setup-v2 .mode-toggle label>span:hover{transform:none}
}

/* Timed sessions and the persistent learning journal. */
.dashboard-actions{display:flex;flex-wrap:wrap;gap:9px}.session-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px}.session-rules>span{display:grid;grid-template-columns:36px 1fr;gap:1px 9px;align-items:center;padding:11px;border:1px solid var(--rugym-border);border-radius:16px;background:#fff}.session-rules i{grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.session-rules b,.session-rules small{grid-column:2}.session-rules b{font-size:.75rem}.session-rules small{color:var(--rugym-muted);font-size:.64rem}.player-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;color:var(--rugym-muted)}.player-topic-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-timer{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:62px;padding:4px 8px;border-radius:999px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-variant-numeric:tabular-nums;font-weight:850;transition:background .2s ease,color .2s ease,transform .2s ease}.question-timer.is-warning{background:var(--rugym-orange-soft);color:var(--rugym-orange);animation:timer-pulse 1s ease-in-out infinite}.question-timer.is-expired{background:var(--rugym-red-soft);color:var(--rugym-red)}.timeout-notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:17px;padding:12px 14px;border:1px solid #f4d5ae;border-radius:15px;background:#fff8eb;color:#89541d;font-size:.82rem}.timeout-notice i{font-size:1.1rem}.exit-session-modal .modal-content{border:0;border-radius:26px;box-shadow:0 28px 80px rgba(35,27,65,.22)}.exit-session-modal .modal-header,.exit-session-modal .modal-body{padding:24px}.exit-session-note{display:flex;align-items:flex-start;gap:13px;padding:15px;border-radius:17px;background:var(--rugym-primary-soft)}.exit-session-note>i{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:13px;background:#fff;color:var(--rugym-primary);font-size:1.1rem}.exit-session-note p{display:flex;flex-direction:column;margin:0}.exit-session-note span{margin-top:3px;color:var(--rugym-muted);font-size:.8rem}

.history-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.history-list{display:grid;gap:14px}.history-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#f0eef5;color:var(--rugym-muted);font-size:.68rem;font-weight:800}.history-status.active{background:var(--rugym-primary-soft);color:var(--rugym-primary)}.history-status.completed{background:var(--rugym-green-soft);color:var(--rugym-green)}.history-route-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.2rem}.recent-history-list{display:grid}.recent-history-list>a{display:grid;grid-template-columns:40px minmax(0,1fr) auto 18px;align-items:center;gap:11px;min-height:68px;padding:10px 3px;border-top:1px solid var(--rugym-border);color:var(--rugym-ink)}.recent-history-list>a:first-child{border-top:0}.recent-history-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.recent-history-list>a>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.recent-history-list small{color:var(--rugym-muted);font-size:.71rem}.recent-history-list>a>b{color:var(--rugym-primary)}.recent-history-list>a>i{color:var(--rugym-muted)}

.result-page{width:min(960px,calc(100% - 28px));margin-inline:auto}.result-page>.result-card{margin-inline:auto}.result-page>.result-card>p{max-width:460px;margin-inline:auto}.result-badge.stopped{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.result-details{margin-top:24px}.attempt-history-list{display:grid}.attempt-history-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--rugym-border)}.attempt-history-row:first-child{border-top:0}.attempt-result-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px}.attempt-history-row.correct .attempt-result-icon{background:var(--rugym-green-soft);color:var(--rugym-green)}.attempt-history-row.wrong .attempt-result-icon{background:var(--rugym-red-soft);color:var(--rugym-red)}.attempt-history-row.timeout .attempt-result-icon{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.attempt-history-row>div{display:flex;min-width:0;flex-direction:column}.attempt-history-row small{color:var(--rugym-muted);font-size:.69rem}.attempt-history-row strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.attempt-time{color:var(--rugym-muted);font-size:.72rem;white-space:nowrap}

@keyframes timer-pulse{50%{transform:scale(1.05)}}

@media (max-width:575.98px){
  .dashboard-actions{width:100%;display:grid;grid-template-columns:1fr auto}.dashboard-actions .btn{padding-inline:17px;font-size:.88rem}.session-rules{grid-template-columns:1fr;margin-bottom:4px}.session-rules>span{min-height:56px}.player-status-row{gap:6px}.player-topic-label{max-width:120px}.question-timer{min-width:58px;padding-inline:7px}.exit-session-modal .modal-dialog{align-items:flex-end;min-height:100%;margin:0}.exit-session-modal .modal-content{border-radius:25px 25px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .history-heading{align-items:flex-start;flex-direction:column}.history-heading .btn{width:100%}.history-route-icon{width:42px;height:42px}.recent-history-list>a{grid-template-columns:38px minmax(0,1fr) auto 14px;gap:8px}.recent-history-list>a>b{font-size:.82rem}
  .result-page{width:calc(100% - 20px)}.result-page .result-card{padding:24px 14px}.result-page .mini-stat{min-height:102px;padding:12px 5px;justify-content:center}.result-page .mini-stat strong{font-size:.88rem}.result-page .mini-stat small{font-size:.63rem}.result-details{padding:18px}.result-details .section-heading{align-items:flex-start;flex-direction:column}.attempt-history-row{grid-template-columns:38px minmax(0,1fr);gap:10px}.attempt-result-icon{width:38px;height:38px}.attempt-time{grid-column:2}.attempt-history-row strong{white-space:normal}
}

@media (prefers-reduced-motion:reduce){.question-timer.is-warning{animation:none}}

/* Application shell and shared interaction polish. */
body{min-height:100dvh;display:flex;flex-direction:column}.page-main,.landing-main{flex:1}.landing-main{padding-bottom:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:14px;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{box-shadow:0 9px 22px rgba(104,82,214,.18)}.btn-outline-primary{--bs-btn-color:var(--rugym-primary);--bs-btn-border-color:#bcb1ed;--bs-btn-hover-bg:var(--rugym-primary);--bs-btn-hover-border-color:var(--rugym-primary)}.btn-outline-danger{--bs-btn-color:var(--rugym-red);--bs-btn-border-color:#efbdc4;--bs-btn-hover-bg:var(--rugym-red);--bs-btn-hover-border-color:var(--rugym-red)}
.nav-dropdown-toggle{border:0;background:transparent}.nav-dropdown-toggle .bi-chevron-down{margin-left:3px;font-size:.68rem}.rugym-dropdown{min-width:230px;padding:8px;border:1px solid var(--rugym-border);border-radius:18px;box-shadow:0 20px 55px rgba(38,28,77,.14)}.rugym-dropdown .dropdown-item{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:10px;border-radius:12px;color:var(--rugym-ink)}.rugym-dropdown .dropdown-item:hover,.rugym-dropdown .dropdown-item.active{background:var(--rugym-primary-soft);color:var(--rugym-primary)}.rugym-dropdown .dropdown-item>i{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f1eef9}.rugym-dropdown .dropdown-item span{display:flex;flex-direction:column}.rugym-dropdown .dropdown-item b{font-size:.83rem}.rugym-dropdown .dropdown-item small{color:var(--rugym-muted);font-size:.68rem}.mobile-login-link{padding:9px 4px;color:var(--rugym-ink);font-size:.82rem;font-weight:750}

/* Flash messages: unobtrusive on desktop, reachable above mobile navigation. */
.flash-stack{position:fixed;z-index:1800;right:24px;bottom:24px;display:grid;gap:10px;width:min(390px,calc(100vw - 28px));pointer-events:none}.rugym-alert{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;align-items:center;gap:10px;margin:0;padding:12px 10px 12px 12px;border:1px solid var(--rugym-border);border-radius:18px;background:#fff;color:var(--rugym-ink);box-shadow:0 18px 55px rgba(37,28,73,.18);pointer-events:auto}.rugym-alert .flash-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.rugym-alert.alert-success .flash-icon{background:var(--rugym-green-soft);color:var(--rugym-green)}.rugym-alert.alert-danger .flash-icon{background:var(--rugym-red-soft);color:var(--rugym-red)}.rugym-alert.alert-warning .flash-icon{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.rugym-alert .flash-message{font-size:.84rem;font-weight:650;line-height:1.35}.rugym-alert .btn-close{position:static;width:30px;height:30px;padding:0;border-radius:9px;background-size:10px;opacity:.55}.rugym-alert::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:999px;background:currentColor;opacity:.18;animation:flash-life 5.2s linear forwards}@keyframes flash-life{from{transform:scaleX(1)}to{transform:scaleX(0)}}

/* Landing footer. */
.landing-footer{padding:56px 0 max(30px,env(safe-area-inset-bottom));background:#241d38;color:#fff}.landing-footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:start}.landing-footer .footer-brand{color:#fff}.landing-footer p{max-width:390px;margin:16px 0 0;color:rgba(255,255,255,.62)}.landing-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:12px}.landing-footer nav a{color:rgba(255,255,255,.76);font-weight:650}.landing-footer nav a:hover{color:#fff}.landing-footer-grid>small{grid-column:1/-1;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.42)}

/* Personal route dashboard. */
.dashboard-route-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:32px;align-items:center;padding:clamp(26px,4.5vw,52px);border-radius:32px;background:radial-gradient(circle at 8% 5%,rgba(255,255,255,.18),transparent 27%),linear-gradient(125deg,#34265d,#674ed0 58%,#8a6be4);color:#fff;box-shadow:0 24px 65px rgba(66,47,139,.2)}.dashboard-route-hero::after{content:"Я";position:absolute;z-index:-1;right:36%;bottom:-150px;color:rgba(255,255,255,.035);font:700 23rem/1 Georgia}.route-kicker{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.08);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.route-hero-copy h1{margin:16px 0 9px;font-size:clamp(2.2rem,5vw,4rem);font-weight:850;letter-spacing:-.055em}.route-hero-copy>p{max-width:620px;margin-bottom:24px;color:rgba(255,255,255,.7);font-size:1.02rem}.btn-hero-ghost{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff}.btn-hero-ghost:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.15);color:#fff}.route-today-card{padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:23px;background:rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(14px)}.route-today-top{display:flex;align-items:center;gap:9px;margin-bottom:17px}.route-today-top>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.15)}.route-today-top small{color:rgba(255,255,255,.58);font-weight:750;text-transform:uppercase;letter-spacing:.06em}.route-today-card>strong{display:block;font-size:1.15rem}.route-today-card>p{margin:4px 0 12px;color:rgba(255,255,255,.65);font-size:.8rem}.route-today-card>a{display:inline-flex;align-items:center;gap:6px;margin:2px 0 14px;color:#fff;font-size:.8rem;font-weight:800}.route-mini-progress{overflow:hidden;height:6px;border-radius:999px;background:rgba(255,255,255,.13)}.route-mini-progress i{display:block;height:100%;border-radius:inherit;background:#fff}.level-line{display:flex;justify-content:space-between;margin:19px 0 7px;color:rgba(255,255,255,.65);font-size:.68rem}.route-mini-progress.level i{background:#ffd278}

/* Detailed progress analytics. */
.page-heading-responsive{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-heading-actions{display:flex;flex-wrap:wrap;gap:8px}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.analytics-kpi{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:center;min-height:115px;padding:17px;border:1px solid var(--rugym-border);border-radius:20px;background:#fff}.analytics-kpi>span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.25rem}.analytics-kpi.green>span{background:var(--rugym-green-soft);color:var(--rugym-green)}.analytics-kpi.blue>span{background:#e9f3ff;color:#337fc0}.analytics-kpi.orange>span{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.analytics-kpi div{display:flex;min-width:0;flex-direction:column}.analytics-kpi small,.analytics-kpi em{overflow:hidden;color:var(--rugym-muted);font-size:.69rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.analytics-kpi strong{font-size:1.45rem;line-height:1.25}.chart-legends{display:flex;flex-wrap:wrap;gap:12px;color:var(--rugym-muted);font-size:.72rem}.chart-legends span{display:flex;align-items:center;gap:5px}.chart-legends i{width:9px;height:9px;border-radius:3px;background:var(--rugym-primary)}.chart-legends i.accuracy{border-radius:50%;background:var(--rugym-green)}.chart-summary-row{display:flex;flex-wrap:wrap;gap:8px 18px;margin:19px 0 3px;padding:12px 14px;border-radius:14px;background:var(--rugym-bg);color:var(--rugym-muted);font-size:.75rem}.chart-summary-row b{color:var(--rugym-ink)}.chart-summary-row .positive{color:var(--rugym-green)}.chart-summary-row .negative{color:var(--rugym-red)}.activity-chart{min-height:220px}.chart-bar{fill:#e4e0ef}.chart-bar.active{fill:var(--rugym-primary);opacity:.82}.chart-accuracy-line{fill:none;stroke:var(--rugym-green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 6px rgba(34,160,107,.17))}.chart-accuracy-dot{fill:var(--rugym-green);stroke:#fff;stroke-width:3}.learning-health-card{display:flex;flex-direction:column;align-items:flex-start;padding:30px;border-radius:27px;color:#fff;background:radial-gradient(circle at 90% 8%,rgba(255,255,255,.2),transparent 26%),linear-gradient(145deg,#44317e,#765be0);box-shadow:0 18px 45px rgba(66,48,139,.17)}.mastery-ring{display:grid;place-items:center;width:118px;height:118px;margin-bottom:24px;border-radius:50%;background:conic-gradient(#fff var(--mastery),rgba(255,255,255,.14) 0);box-shadow:0 13px 28px rgba(30,21,65,.2)}.mastery-ring::before{content:"";grid-area:1/1;width:92px;height:92px;border-radius:50%;background:#6048bd}.mastery-ring>span{z-index:1;grid-area:1/1;display:flex;flex-direction:column;align-items:center}.mastery-ring b{font-size:1.35rem}.mastery-ring small{color:rgba(255,255,255,.6)}.learning-health-card h2{margin:8px 0;font-size:1.65rem;font-weight:850}.learning-health-card p{color:rgba(255,255,255,.67);font-size:.86rem}.learning-health-card .btn{margin-top:auto}.topic-analytics-section .progress-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.progress-topic-card{background:#fff}.progress-topic-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.progress-topic-head>div{min-width:0}.topic-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:16px;overflow:hidden;border:1px solid var(--rugym-border);border-radius:14px;background:var(--rugym-border)}.topic-metric-grid>span{display:flex;min-width:0;flex-direction:column;padding:10px;background:var(--rugym-bg)}.topic-metric-grid small{font-size:.64rem}.topic-metric-grid b{font-size:.85rem}.topic-metric-grid .needs-review{background:var(--rugym-orange-soft)}.topic-metric-grid .needs-review b{color:var(--rugym-orange)}

/* Compact session history with per-question drill-down. */
.compact-history{gap:9px}.history-session{overflow:hidden;border:1px solid var(--rugym-border);border-radius:19px;background:#fff;box-shadow:0 7px 24px rgba(48,37,91,.035)}.history-session.active{border-color:#c9bef2}.history-session>summary,.history-item-detail>summary{list-style:none}.history-session>summary::-webkit-details-marker,.history-item-detail>summary::-webkit-details-marker{display:none}.history-session>summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto 24px;align-items:center;gap:11px;min-height:76px;padding:13px 16px;cursor:pointer}.history-session>summary:hover{background:#fcfbff}.history-session .history-route-icon{width:42px;height:42px;border-radius:13px}.history-summary-copy{display:flex;min-width:0;flex-direction:column}.history-summary-line{display:flex;align-items:center;gap:10px}.history-summary-line strong{font-size:.92rem}.history-summary-line time{color:var(--rugym-muted);font-size:.68rem}.history-summary-copy>small{overflow:hidden;color:var(--rugym-muted);font-size:.71rem;text-overflow:ellipsis;white-space:nowrap}.history-summary-score{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.history-summary-score strong{color:var(--rugym-primary);font-size:1.05rem}.history-summary-score small{margin-top:4px;color:var(--rugym-muted);font-size:.65rem}.history-expand{display:grid;place-items:center;color:var(--rugym-muted);transition:transform .2s ease}.history-session[open]>summary .history-expand{transform:rotate(180deg)}.history-session-content{padding:0 16px 16px;border-top:1px solid var(--rugym-border)}.history-session-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 15px;padding:13px 0;color:var(--rugym-muted);font-size:.72rem}.history-session-meta>span{display:inline-flex;align-items:center;gap:5px}.history-session-meta>span:not(.history-status) i{color:var(--rugym-primary)}.history-session-meta .timeout i,.history-session-meta .timeout b{color:var(--rugym-orange)}.history-item-list{overflow:hidden;border:1px solid var(--rugym-border);border-radius:14px}.history-item-detail{border-top:1px solid var(--rugym-border)}.history-item-detail:first-child{border-top:0}.history-item-detail>summary{display:grid;grid-template-columns:32px minmax(0,1fr) auto 16px;align-items:center;gap:9px;padding:10px 12px;cursor:pointer}.history-item-detail>summary>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.history-item-detail>summary small{color:var(--rugym-muted);font-size:.63rem}.history-item-detail>summary strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.history-item-state{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#f0eef5;color:var(--rugym-muted)}.history-item-detail.correct .history-item-state{background:var(--rugym-green-soft);color:var(--rugym-green)}.history-item-detail.wrong .history-item-state{background:var(--rugym-red-soft);color:var(--rugym-red)}.history-item-detail.timeout .history-item-state{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.history-item-time{color:var(--rugym-muted);font-size:.66rem;white-space:nowrap}.history-item-detail>summary>i{color:var(--rugym-muted);font-size:.72rem;transition:transform .2s ease}.history-item-detail[open]>summary>i{transform:rotate(180deg)}.history-item-answer{display:grid;gap:7px;padding:0 12px 12px 53px}.history-answer-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px 10px;border-radius:10px;background:var(--rugym-bg);font-size:.72rem}.history-answer-pair span{display:flex;min-width:0;flex-direction:column}.history-answer-pair.correct b{color:var(--rugym-green)}.history-answer-pair.wrong b:last-child{color:var(--rugym-green)}.history-item-answer p{margin:0;padding:10px;border-radius:10px;background:var(--rugym-orange-soft);color:#70451e;font-size:.73rem}.history-result-link{margin-top:13px}

/* Theory library and reading mode. */
.theory-library-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,390px);gap:30px;align-items:end;padding:clamp(26px,5vw,50px);border-radius:31px;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.18),transparent 27%),linear-gradient(128deg,#35275f,#6b52d5 65%,#9274e8);box-shadow:0 22px 58px rgba(65,47,135,.18)}.theory-library-hero h1{max-width:720px;margin:9px 0;font-size:clamp(2.2rem,5vw,4rem);font-weight:850;letter-spacing:-.05em}.theory-library-hero p{max-width:620px;margin:0;color:rgba(255,255,255,.68)}.theory-search{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:8px;padding:6px 14px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:#fff;color:var(--rugym-primary);box-shadow:0 15px 35px rgba(31,22,66,.18)}.theory-search input{min-width:0;min-height:46px;border:0;outline:0;background:transparent;color:var(--rugym-ink)}.theory-search input::placeholder{color:#918ba2}.theory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.theory-toolbar>span{color:var(--rugym-muted);font-size:.8rem}.theory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.theory-topic-card{display:flex;min-width:0;flex-direction:column;padding:23px;transition:transform .18s ease,box-shadow .18s ease}.theory-topic-card:hover{transform:translateY(-2px);box-shadow:0 15px 42px rgba(47,35,95,.08)}.theory-topic-head{display:flex;align-items:flex-start;justify-content:space-between}.theory-topic-head .topic-icon{margin:0}.rule-count{padding:5px 8px;border-radius:999px;background:var(--rugym-bg);color:var(--rugym-muted);font-size:.65rem;font-weight:750}.theory-topic-card>p{min-height:auto}.theory-topic-card .rule-links{margin-top:auto;padding-top:10px}.rule-links a span{display:flex;min-width:0;flex-direction:column}.rule-links a small{color:var(--rugym-muted);font-size:.6rem;font-weight:650}.rule-links a b{font-size:.8rem}.rule-links a>i{align-self:center}.reading-progress{position:fixed;z-index:1080;top:0;left:0;right:0;height:3px;background:transparent}.reading-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--rugym-primary),#a78aff);transition:width .1s linear}.theory-reading-layout{display:grid;grid-template-columns:minmax(0,790px) minmax(240px,300px);justify-content:center;gap:24px;align-items:start}.theory-article{min-width:0}.theory-article-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--rugym-muted);font-size:.72rem}.theory-article-meta>span:last-child{display:flex;align-items:center;gap:5px}.theory-summary{display:grid;grid-template-columns:40px 1fr;gap:13px;align-items:start;margin:25px 0;padding:17px;border:1px solid #d9d0ff;border-radius:17px;background:var(--rugym-primary-soft)}.theory-summary>i{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#fff;color:var(--rugym-primary)}.theory-summary p{margin:2px 0 0;color:#493b82;font-size:1rem;font-weight:650}.theory-copy{font-size:1.02rem}.theory-copy p,.theory-copy li{max-width:70ch}.theory-copy table{display:block;max-width:100%;overflow-x:auto;white-space:nowrap}.theory-copy code{padding:2px 5px;border-radius:5px;background:var(--rugym-bg);color:var(--rugym-primary)}.theory-practice-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:38px;padding:20px;border-radius:18px;background:#f4f2fa}.theory-practice-cta>div{display:flex;flex-direction:column}.theory-practice-cta span{color:var(--rugym-muted);font-size:.76rem}.theory-toc{position:sticky;top:94px}.theory-toc-card{padding:20px;border:1px solid var(--rugym-border);border-radius:21px;background:#fff}.theory-toc-card h2{margin:7px 0 15px;font-size:1rem;font-weight:800}.theory-toc nav{display:grid}.theory-toc nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--rugym-border);color:var(--rugym-muted);font-size:.75rem;font-weight:650}.theory-toc nav a.active{color:var(--rugym-primary)}

/* Profile settings. */
.profile-page{width:min(1040px,calc(100% - 28px))}.profile-hero{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:20px;padding:28px;border-radius:27px;color:#fff;background:radial-gradient(circle at 90% 5%,rgba(255,255,255,.18),transparent 25%),linear-gradient(130deg,#382963,#7056dc);box-shadow:0 18px 48px rgba(66,48,139,.17)}.profile-hero .profile-avatar{width:78px;height:78px;border:1px solid rgba(255,255,255,.2);border-radius:24px;background:rgba(255,255,255,.14);color:#fff;font-size:2rem}.profile-hero h1{margin:5px 0 2px;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:850}.profile-hero p{margin:0;color:rgba(255,255,255,.62)}.profile-level{display:grid;grid-template-columns:30px auto;column-gap:7px;align-items:center;padding:13px 17px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:rgba(255,255,255,.1)}.profile-level i{grid-row:span 2;color:#ffd16f;font-size:1.3rem}.profile-level strong{font-size:1.12rem}.profile-level small{color:rgba(255,255,255,.58);font-size:.65rem}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.settings-heading{display:flex;align-items:center;gap:12px}.settings-heading h2,.settings-heading p{margin:0}.settings-heading h2{font-size:1.1rem;font-weight:830}.settings-heading p{color:var(--rugym-muted);font-size:.76rem}.settings-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.15rem}.settings-icon.secure{background:var(--rugym-green-soft);color:var(--rugym-green)}.account-readonly{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:11px 14px;border:1px solid var(--rugym-border);border-radius:13px;background:var(--rugym-bg)}.account-readonly span{display:flex;flex-direction:column}.account-readonly small{color:var(--rugym-muted);font-size:.68rem}.account-readonly i{color:var(--rugym-muted)}.profile-settings-card .setting-row{align-items:flex-start}.profile-settings-card .form-switch{padding-top:5px}.account-footer-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border:1px solid var(--rugym-border);border-radius:20px;background:#fff}.account-footer-card p{margin:3px 0 0;color:var(--rugym-muted);font-size:.78rem}

@media (max-width:1199.98px){.analytics-kpi-grid{grid-template-columns:repeat(2,1fr)}.theory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theory-reading-layout{grid-template-columns:minmax(0,760px) 250px}}
@media (max-width:991.98px){.dashboard-route-hero{grid-template-columns:1fr}.route-today-card{max-width:none}.theory-reading-layout{grid-template-columns:minmax(0,760px)}.theory-toc{position:static;grid-row:1}.theory-toc-card nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.topic-analytics-section .progress-table{grid-template-columns:1fr}.profile-layout{grid-template-columns:1fr}.theory-library-hero{grid-template-columns:1fr}.theory-search{max-width:520px}}
@media (max-width:767.98px){.landing-footer-grid{grid-template-columns:1fr}.landing-footer nav{grid-template-columns:1fr 1fr}.landing-footer-grid>small{grid-column:1}.page-heading-responsive{align-items:flex-start;flex-direction:column}.page-heading-actions{width:100%}.page-heading-actions .btn{flex:1}.theory-grid{grid-template-columns:1fr}.theory-toc-card nav{grid-template-columns:1fr}.profile-hero{grid-template-columns:62px minmax(0,1fr)}.profile-hero .profile-avatar{width:62px;height:62px;border-radius:19px}.profile-level{grid-column:1/-1}.history-summary-line{align-items:flex-start;flex-direction:column;gap:1px}.theory-practice-cta{align-items:flex-start;flex-direction:column}.theory-practice-cta .btn{width:100%}}
@media (max-width:575.98px){.is-public .page-main{padding-bottom:0}.mobile-topbar{padding-inline:14px}.mobile-topbar .brand{font-size:.96rem}.mobile-top-actions{gap:7px}.mobile-top-actions .btn{min-height:38px;padding-inline:12px;font-size:.76rem}.flash-stack{right:10px;bottom:calc(88px + env(safe-area-inset-bottom));width:calc(100vw - 20px)}.is-public .flash-stack{bottom:max(12px,env(safe-area-inset-bottom))}.rugym-alert{grid-template-columns:34px minmax(0,1fr) 28px;padding:10px}.rugym-alert .flash-icon{width:34px;height:34px}.landing-footer{padding-top:42px}.landing-footer nav{grid-template-columns:1fr}.dashboard-route-hero{gap:22px;padding:23px 18px;border-radius:25px}.route-hero-copy h1{font-size:2.45rem}.route-hero-copy>p{font-size:.9rem}.dashboard-actions{grid-template-columns:1fr}.dashboard-actions .btn{width:100%}.route-today-card{padding:18px}.analytics-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.analytics-kpi{grid-template-columns:36px minmax(0,1fr);gap:8px;min-height:100px;padding:12px 9px}.analytics-kpi>span{width:36px;height:36px;border-radius:11px;font-size:1rem}.analytics-kpi strong{font-size:1.1rem}.analytics-kpi em{display:none}.analytics-heading{align-items:flex-start;flex-direction:column}.chart-summary-row{gap:7px;flex-direction:column}.learning-health-card{min-height:390px;padding:24px}.topic-metric-grid{grid-template-columns:repeat(2,1fr)}.history-page{width:calc(100% - 20px)}.history-heading{margin-inline:4px}.history-session>summary{grid-template-columns:38px minmax(0,1fr) auto 17px;gap:8px;padding:11px 10px}.history-session .history-route-icon{width:38px;height:38px}.history-summary-score strong{font-size:.93rem}.history-session-content{padding:0 10px 10px}.history-session-meta{gap:7px 11px}.history-item-detail>summary{grid-template-columns:30px minmax(0,1fr) 14px}.history-item-time{display:none}.history-item-answer{padding:0 9px 10px}.history-answer-pair{grid-template-columns:1fr}.history-result-link{width:100%}.theory-library{padding-left:10px!important;padding-right:10px!important}.theory-library-hero{padding:24px 18px;border-radius:24px}.theory-library-hero h1{font-size:2.35rem}.theory-toolbar{padding-inline:4px}.theory-topic-card{padding:19px}.theory-detail-page{padding-left:10px!important;padding-right:10px!important}.theory-article{padding:23px 17px;border-radius:21px}.theory-article h1{font-size:2.1rem}.theory-summary{grid-template-columns:34px 1fr;padding:13px}.theory-summary>i{width:34px;height:34px}.theory-summary p{font-size:.88rem}.theory-copy{font-size:.97rem;line-height:1.68}.theory-copy ul,.theory-copy ol{padding-left:1.3rem}.profile-page{width:calc(100% - 20px)}.profile-hero{gap:13px;padding:21px 17px;border-radius:24px}.profile-hero h1{font-size:1.55rem}.profile-hero p{font-size:.75rem}.profile-settings-card{padding:19px 16px}.setting-row{gap:10px}.account-footer-card{align-items:flex-start;flex-direction:column;padding:17px}.account-footer-card form,.account-footer-card .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.rugym-alert::after{animation:none}.reading-progress i{transition:none}.dashboard-route-hero::after{display:none}}
.route-active-label{padding:5px 8px;border-radius:9px;background:rgba(255,255,255,.11)}

/* Training player interaction fixes. */
.player-actions-surface{width:min(720px,100%);margin-inline:auto}
.player-actions-surface>.btn{display:block;width:100%;margin-inline:auto}
.gap-choice,.punctuation-slot,.answer-box,.player-actions .btn,.icon-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.gap-choice,.punctuation-slot{-webkit-user-select:none;user-select:none}

@media (max-width:575.98px){
  .player-actions{max-height:none;overflow:visible}
  .player-actions.has-feedback{position:fixed;z-index:1550;inset:0;display:flex;align-items:flex-end;padding:0;background:rgba(31,23,55,.42);border:0;backdrop-filter:blur(3px)}
  .player-actions.has-feedback .player-actions-surface{display:flex;flex-direction:column;width:100%;max-height:calc(100dvh - max(20px,env(safe-area-inset-top)));margin:0;padding:18px 14px max(14px,env(safe-area-inset-bottom));overflow:hidden;border-radius:26px 26px 0 0;background:#fff;box-shadow:0 -18px 55px rgba(32,23,61,.22);animation:feedback-sheet-in .28s cubic-bezier(.2,.8,.2,1)}
  .player-actions.has-feedback .feedback-panel{flex:1 1 auto;min-height:0;margin:0 0 13px;padding:16px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:19px}
  .player-actions.has-feedback .feedback-heading{gap:10px}
  .player-actions.has-feedback .feedback-heading>div{min-width:0}
  .player-actions.has-feedback .feedback-heading p{overflow-wrap:anywhere;line-height:1.45}
  .player-actions.has-feedback .feedback-detail-row{padding:10px 11px}
  .player-actions.has-feedback .btn{flex:0 0 auto;min-height:52px}
}

@keyframes feedback-sheet-in{from{transform:scale(.985);transform-origin:bottom center;opacity:.65}to{transform:scale(1);transform-origin:bottom center;opacity:1}}

@media (prefers-reduced-motion:reduce){.player-actions.has-feedback .player-actions-surface{animation:none}}

/* Administration workspace. */
.admin-page{--admin-card-radius:20px}.admin-nav{position:relative;align-items:center}.admin-nav a{display:inline-flex;align-items:center;gap:7px;min-height:42px}.admin-nav a.active{background:var(--rugym-primary);color:#fff;box-shadow:0 7px 18px rgba(104,82,214,.2)}.admin-nav-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--rugym-red);color:#fff;font-size:.64rem}.admin-nav a.active .admin-nav-count{background:#fff;color:var(--rugym-primary)}
.admin-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.admin-page-heading h1{margin:6px 0 3px}.admin-page-heading p{margin:0;color:var(--rugym-muted)}.admin-period{display:flex;flex-wrap:wrap;gap:5px;padding:4px;border:1px solid var(--rugym-border);border-radius:999px;background:#fff}.admin-period a{padding:8px 12px;border-radius:999px;color:var(--rugym-muted);font-size:.75rem;font-weight:750}.admin-period a.active{background:var(--rugym-primary-soft);color:var(--rugym-primary)}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.admin-kpi{display:flex;align-items:center;gap:13px;min-height:112px;padding:18px;border:1px solid var(--rugym-border);border-radius:var(--admin-card-radius);background:#fff;box-shadow:0 8px 28px rgba(45,35,89,.04)}.admin-kpi>i{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:14px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.15rem}.admin-kpi.green>i{background:var(--rugym-green-soft);color:var(--rugym-green)}.admin-kpi.orange>i{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.admin-kpi.blue>i{background:#eaf3ff;color:#337ac3}.admin-kpi div,.admin-kpi>span{display:flex;min-width:0;flex-direction:column}.admin-kpi strong{font-size:1.45rem;line-height:1.15}.admin-kpi span{font-size:.75rem;font-weight:720}.admin-kpi small{overflow:hidden;color:var(--rugym-muted);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}
.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:16px;align-items:stretch}.admin-dashboard-grid>.surface-card{padding:22px}.admin-chart-card{min-width:0}.admin-bar-chart{display:flex;align-items:flex-end;gap:4px;height:218px;padding-top:22px;overflow:hidden}.admin-bar-column{display:grid;grid-template-rows:20px 1fr 18px;justify-items:center;align-items:end;flex:1;min-width:3px;height:100%}.admin-bar-column i{display:block;width:min(18px,80%);min-height:3px;height:max(3px,var(--bar));border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#a68efa,var(--rugym-primary));transition:height .25s ease}.admin-bar-column small,.admin-bar-value{color:var(--rugym-muted);font-size:.54rem;white-space:nowrap}.admin-summary-list{display:grid;gap:1px;overflow:hidden;border:1px solid var(--rugym-border);border-radius:14px;background:var(--rugym-border)}.admin-summary-list>div{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#fff}.admin-summary-list span{display:flex;align-items:center;gap:8px;font-size:.78rem}.admin-summary-list .status-dot.danger{background:var(--rugym-red)}.admin-data-list{display:grid}.admin-data-list>a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 2px;border-top:1px solid var(--rugym-border);color:var(--rugym-ink)}.admin-data-list>a:first-child{border-top:0}.admin-rank,.report-state{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--rugym-bg);color:var(--rugym-primary);font-weight:800}.admin-data-main{display:flex;min-width:0;flex-direction:column}.admin-data-main strong,.admin-data-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-data-main strong{font-size:.8rem}.admin-data-main small{color:var(--rugym-muted);font-size:.64rem}.admin-data-number{display:flex;flex-direction:column;align-items:flex-end;color:var(--rugym-green);font-weight:850}.admin-data-number.danger{color:var(--rugym-red)}.admin-data-number small{color:var(--rugym-red);font-size:.63rem}.admin-topic-bars{display:grid;gap:15px}.admin-topic-bars>div>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;font-size:.76rem}.admin-topic-bars .progress{height:7px}.admin-topic-bars .progress-bar{background:var(--rugym-green)}.admin-topic-bars .progress-bar.low{background:var(--rugym-orange)}.admin-topic-bars small{color:var(--rugym-muted);font-size:.62rem}.empty-state.compact{padding:25px}
.status-open{background:var(--rugym-red-soft)!important;color:var(--rugym-red)!important}.status-reviewing{background:var(--rugym-orange-soft)!important;color:var(--rugym-orange)!important}.status-resolved{background:var(--rugym-green-soft)!important;color:var(--rugym-green)!important}.status-dismissed{background:#efedf3!important;color:#706a7e!important}.report-state.status-open,.report-state.status-reviewing,.report-state.status-resolved,.report-state.status-dismissed{border-radius:11px}
.admin-status-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(125px,1fr);overflow-x:auto;border:1px solid var(--rugym-border);border-radius:17px;background:#fff;scrollbar-width:none}.admin-status-strip a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;padding:10px 15px;border-left:1px solid var(--rugym-border);color:var(--rugym-muted);white-space:nowrap}.admin-status-strip a:first-child{border-left:0}.admin-status-strip a.active{background:var(--rugym-primary-soft);color:var(--rugym-primary)}.admin-status-strip strong{font-size:1.15rem}.admin-status-strip span{font-size:.72rem;font-weight:700}
.admin-filter-panel{display:grid;grid-template-columns:minmax(230px,1.5fr) repeat(5,minmax(125px,.65fr)) auto auto;gap:8px;padding:10px;border:1px solid var(--rugym-border);border-radius:17px;background:#fff}.admin-filter-panel .form-select,.admin-search{min-height:43px}.admin-search{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:5px;padding:0 11px;border:1px solid var(--rugym-border);border-radius:12px;color:var(--rugym-primary);background:#fff}.admin-search:focus-within{border-color:var(--rugym-primary);box-shadow:0 0 0 3px rgba(104,82,214,.1)}.admin-search input{min-width:0;border:0;outline:0;background:transparent;font-size:.78rem}.admin-filter-panel .form-select{border-radius:12px;font-size:.76rem}.admin-filter-panel .btn{align-self:center;white-space:nowrap}
.admin-bulk-toolbar{display:grid;grid-template-columns:auto 1fr minmax(170px,auto) auto;align-items:center;gap:14px;min-height:58px;padding:9px 14px;border:1px solid var(--rugym-border);border-radius:16px;background:#f9f8fc;color:var(--rugym-muted);font-size:.74rem}.admin-bulk-toolbar .form-select{min-height:40px;border-radius:11px;font-size:.74rem}.admin-check{display:inline-flex;align-items:center;gap:9px;margin:0;cursor:pointer}.admin-check input{position:absolute;opacity:0;pointer-events:none}.admin-check>span:first-of-type{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border:2px solid #c7c2d2;border-radius:6px;background:#fff}.admin-check input:checked+span{border-color:var(--rugym-primary);background:var(--rugym-primary)}.admin-check input:checked+span::after{content:"";width:8px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}.admin-check input:focus-visible+span{outline:3px solid rgba(104,82,214,.2);outline-offset:2px}
.admin-exercise-list,.admin-user-list,.admin-report-list{overflow:hidden;border:1px solid var(--rugym-border);border-radius:20px;background:#fff}.admin-exercise-row{display:grid;grid-template-columns:24px 44px minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:13px 15px;border-top:1px solid var(--rugym-border)}.admin-exercise-row:first-child{border-top:0}.admin-exercise-row .topic-icon{width:42px;height:42px;margin:0;border-radius:13px}.admin-exercise-copy{display:flex;min-width:0;flex-direction:column}.admin-exercise-copy>div{display:flex;align-items:center;gap:8px;min-width:0}.admin-exercise-copy strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.admin-exercise-copy>small,.admin-exercise-copy>span{overflow:hidden;color:var(--rugym-muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.quality-pill{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:3px 6px;border-radius:999px;background:var(--rugym-green-soft);color:var(--rugym-green);font-size:.56rem;font-weight:800}.quality-pill.invalid{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.admin-exercise-metrics,.admin-user-metrics{display:flex;gap:5px}.admin-exercise-metrics>span,.admin-exercise-metrics>a,.admin-user-metrics>span{display:flex;min-width:65px;flex-direction:column;align-items:center;padding:6px 8px;border-radius:10px;background:var(--rugym-bg);color:var(--rugym-ink)}.admin-exercise-metrics b,.admin-user-metrics b{font-size:.78rem}.admin-exercise-metrics small,.admin-user-metrics small{color:var(--rugym-muted);font-size:.55rem}.admin-exercise-metrics>a{background:var(--rugym-red-soft);color:var(--rugym-red)}.admin-row-actions{display:flex;gap:5px}
.admin-user-filters{grid-template-columns:minmax(240px,1fr) repeat(3,minmax(140px,.5fr)) auto auto}.admin-user-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto auto 16px;align-items:center;gap:13px;padding:13px 16px;border-top:1px solid var(--rugym-border);color:var(--rugym-ink)}.admin-user-row:first-child{border-top:0}.admin-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--rugym-primary-soft),#ded5ff);color:var(--rugym-primary);font-size:1rem;font-weight:850}.admin-avatar.large{width:72px;height:72px;border-radius:22px;font-size:1.7rem}.admin-user-copy{display:flex;min-width:0;flex-direction:column}.admin-user-copy strong,.admin-user-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-copy strong{font-size:.85rem}.admin-user-copy small,.admin-report-author small{color:var(--rugym-muted);font-size:.63rem}.access-state{display:inline-flex;align-items:center;gap:5px;color:var(--rugym-green);font-size:.67rem;font-weight:750;white-space:nowrap}.access-state.disabled{color:var(--rugym-red)}.admin-user-hero{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px;border-radius:24px;background:linear-gradient(130deg,#faf9ff,#f2eeff);border:1px solid #ddd5fa}.admin-user-hero h1{margin:3px 0;font-size:2rem;font-weight:850}.admin-user-hero p{margin:0;color:var(--rugym-muted);font-size:.76rem}.admin-user-hero-badges{display:flex;align-items:center;gap:10px}.admin-two-column{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:16px;align-items:start}.admin-form-card,.admin-compact-card{padding:22px}.admin-form-card h2,.admin-compact-card h2,.admin-review-card h2,.admin-import-card h2,.import-guide h2{font-size:1.1rem;font-weight:830}.admin-switch-row{display:flex;align-items:flex-start;gap:8px;padding-left:0}.admin-switch-row .form-check-input{flex:0 0 auto;margin:4px 0 0}.admin-switch-row label{display:flex;flex-direction:column}.admin-switch-row small{color:var(--rugym-muted);font-size:.67rem}.soft-count{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:.7rem;font-weight:800}.admin-mini-list{display:grid}.admin-mini-list>a,.admin-mini-list>span{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:8px;padding:10px 0;border-top:1px solid var(--rugym-border);color:var(--rugym-ink)}.admin-mini-list>:first-child{border-top:0}.admin-mini-list i{grid-row:span 2;color:var(--rugym-primary)}.admin-mini-list b{font-size:.75rem}.admin-mini-list small{overflow:hidden;color:var(--rugym-muted);font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}
.admin-report-filters{grid-template-columns:minmax(260px,1fr) minmax(150px,.35fr) minmax(180px,.45fr) auto auto}.admin-report-row{display:grid;grid-template-columns:42px minmax(0,1.5fr) minmax(150px,.55fr) auto 16px;align-items:center;gap:12px;padding:14px 16px;border-top:1px solid var(--rugym-border);color:var(--rugym-ink)}.admin-report-row:first-child{border-top:0}.admin-report-copy,.admin-report-author{display:flex;min-width:0;flex-direction:column}.admin-report-copy strong,.admin-report-copy small,.admin-report-copy>span,.admin-report-author b,.admin-report-author small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-report-copy strong{font-size:.82rem}.admin-report-copy small{color:var(--rugym-muted);font-size:.62rem}.admin-report-copy>span{margin-top:3px;color:#5d566b;font-size:.7rem}.admin-report-author b{font-size:.72rem}.admin-report-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.6fr);gap:16px;align-items:start}.admin-report-detail-grid .surface-card{padding:22px}.report-message-card blockquote{margin:10px 0 0;font-size:1.05rem;font-weight:650}.report-context-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:18px 0;overflow:hidden;border:1px solid var(--rugym-border);border-radius:14px;background:var(--rugym-border)}.report-context-meta>span{display:flex;min-width:0;flex-direction:column;padding:10px;background:var(--rugym-bg)}.report-context-meta small{color:var(--rugym-muted);font-size:.61rem}.report-context-meta b{overflow:hidden;font-size:.72rem;text-overflow:ellipsis}.report-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-answer-grid>div{min-width:0}.report-answer-grid span{display:block;margin-bottom:5px;color:var(--rugym-muted);font-size:.67rem;font-weight:750}.report-answer-grid pre{min-height:110px;margin:0;padding:12px;overflow:auto;border-radius:13px;background:#24202f;color:#f5f1ff;font-size:.7rem;white-space:pre-wrap}.report-explanation{margin-top:14px;padding:13px;border-radius:13px;background:var(--rugym-primary-soft)}.report-explanation p{margin:4px 0 0;color:#524381;font-size:.76rem}.admin-review-card{position:sticky;top:92px}.review-audit{display:flex;align-items:flex-start;gap:9px;margin-top:18px;padding:11px;border-radius:12px;background:var(--rugym-green-soft);color:var(--rugym-green)}.review-audit span{display:flex;flex-direction:column}.review-audit small{font-size:.62rem}
.admin-import-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px}.admin-import-card,.import-guide{padding:26px}.import-drop-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:16px;border-radius:18px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.5rem}.admin-import-card>p{color:var(--rugym-muted);font-size:.8rem}.import-guide ol{display:grid;gap:15px;margin:18px 0 0;padding:0;list-style:none}.import-guide li{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center}.import-guide li>i{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--rugym-bg);color:var(--rugym-primary)}.import-guide li span{display:flex;flex-direction:column}.import-guide li strong{font-size:.78rem}.import-guide li small{color:var(--rugym-muted);font-size:.67rem}.import-report{padding:22px;background:#fff;border:1px solid var(--rugym-border);border-radius:20px}.import-result-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:var(--rugym-green-soft);color:var(--rugym-green);font-size:1.2rem}.import-result-icon.invalid{background:var(--rugym-red-soft);color:var(--rugym-red)}.import-count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.import-count-grid>div{display:flex;flex-direction:column;padding:14px;border-radius:13px;background:var(--rugym-bg);text-align:center}.import-count-grid strong{font-size:1.25rem}.import-count-grid small{color:var(--rugym-muted);font-size:.65rem}.import-error-list{display:grid;gap:7px;margin-top:15px}.import-error-list>div{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:10px;border-radius:11px;background:var(--rugym-red-soft);color:#7e3030}.import-error-list span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#fff;font-size:.64rem;font-weight:800}.import-error-list p,.import-success p{margin:0;font-size:.72rem}.import-success{display:flex;gap:10px;margin-top:15px;padding:13px;border-radius:13px;background:var(--rugym-green-soft);color:#1e704e}

/* Student report form inside wrong-answer feedback. */
.feedback-report{margin-top:13px;padding-top:12px;border-top:1px solid rgba(129,89,89,.12)}.feedback-report-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0;border:0;background:transparent;color:var(--rugym-red);font-size:.74rem;font-weight:780}.feedback-report-form{display:grid;gap:10px;padding:14px;border:1px solid #eadfe4;border-radius:15px;background:#fff}.feedback-report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.feedback-report-heading>div{display:flex;flex-direction:column}.feedback-report-heading strong{font-size:.84rem}.feedback-report-heading span{color:var(--rugym-muted);font-size:.65rem}.feedback-report-form label{display:grid;gap:4px}.feedback-report-form label>span{color:var(--rugym-muted);font-size:.65rem;font-weight:750}.feedback-report-form .form-select,.feedback-report-form .form-control{font-size:.78rem}.feedback-report-status{margin:0;padding:9px 11px;border-radius:10px;font-size:.7rem}.feedback-report-status.is-success{display:block!important;background:var(--rugym-green-soft);color:var(--rugym-green)}.feedback-report-status.is-error{display:block!important;background:var(--rugym-red-soft);color:var(--rugym-red)}

@media (max-width:1199.98px){.admin-kpi-grid{grid-template-columns:repeat(3,1fr)}.admin-filter-panel{grid-template-columns:repeat(3,1fr)}.admin-filter-panel .admin-search{grid-column:span 2}.admin-user-filters{grid-template-columns:repeat(3,1fr)}.admin-user-filters .admin-search{grid-column:span 2}.admin-report-filters{grid-template-columns:2fr 1fr 1fr auto auto}.admin-exercise-row{grid-template-columns:24px 42px minmax(0,1fr) auto auto}.admin-exercise-metrics{display:none}.admin-user-row{grid-template-columns:46px minmax(0,1fr) auto auto 16px}.admin-user-metrics{display:none}}
@media (max-width:991.98px){.admin-dashboard-grid{grid-template-columns:1fr}.admin-kpi-grid{grid-template-columns:repeat(2,1fr)}.admin-report-filters{grid-template-columns:2fr 1fr 1fr}.admin-report-row{grid-template-columns:40px minmax(0,1fr) auto 16px}.admin-report-author{display:none}.admin-report-detail-grid{grid-template-columns:1fr}.admin-review-card{position:static}.admin-import-grid{grid-template-columns:1fr}.admin-two-column{grid-template-columns:1fr}.admin-user-row .access-state{display:none}}
@media (max-width:767.98px){.admin-page-heading{align-items:flex-start;flex-direction:column}.admin-period{width:100%;overflow-x:auto;flex-wrap:nowrap}.admin-period a{flex:1;text-align:center;white-space:nowrap}.admin-filter-panel,.admin-user-filters,.admin-report-filters{grid-template-columns:1fr 1fr}.admin-filter-panel .admin-search,.admin-user-filters .admin-search,.admin-report-filters .admin-search{grid-column:1/-1}.admin-bulk-toolbar{grid-template-columns:1fr auto}.admin-bulk-toolbar .admin-check{grid-column:1}.admin-exercise-row{grid-template-columns:24px minmax(0,1fr) auto}.admin-exercise-row>.topic-icon{display:none}.admin-exercise-copy{grid-column:2}.admin-exercise-row>.badge{grid-column:3;grid-row:1}.admin-row-actions{grid-column:2/-1}.admin-user-row{grid-template-columns:44px minmax(0,1fr) 16px}.admin-user-row>.badge,.admin-user-row .access-state{display:none}.admin-user-hero{grid-template-columns:62px minmax(0,1fr)}.admin-avatar.large{width:62px;height:62px}.admin-user-hero-badges{grid-column:1/-1}.report-context-meta{grid-template-columns:1fr 1fr}.report-answer-grid{grid-template-columns:1fr}.admin-nav{margin-inline:0}.admin-kpi-grid{grid-template-columns:1fr 1fr}.admin-kpi{min-height:94px;padding:14px}.admin-kpi>i{width:38px;height:38px;flex-basis:38px}.admin-kpi strong{font-size:1.15rem}}
@media (max-width:575.98px){.admin-page{padding-left:10px!important;padding-right:10px!important}.admin-nav{position:sticky;z-index:1010;top:7px;margin-bottom:25px!important;border-radius:14px;box-shadow:0 7px 24px rgba(45,35,89,.1)}.admin-page-heading{padding-inline:4px}.admin-page-heading .page-title{font-size:2rem}.admin-page-heading .page-heading-actions{display:grid;grid-template-columns:1fr 1fr}.admin-status-strip{grid-auto-columns:minmax(115px,1fr)}.admin-filter-panel,.admin-user-filters,.admin-report-filters{grid-template-columns:1fr}.admin-filter-panel .btn{width:100%}.admin-bulk-toolbar{gap:8px;padding:10px}.admin-bulk-toolbar .form-select{grid-column:1}.admin-bulk-toolbar .btn{grid-column:2;grid-row:2}.admin-exercise-row{gap:8px;padding:12px 10px}.admin-exercise-copy>div{align-items:flex-start;flex-direction:column;gap:4px}.admin-exercise-copy strong{max-width:100%;white-space:normal;line-height:1.35}.admin-exercise-copy>span{white-space:normal}.admin-exercise-row>.badge{align-self:start;font-size:.56rem}.admin-row-actions .icon-button{width:42px;height:42px}.admin-user-row{gap:9px;padding:11px 10px}.admin-user-copy small{white-space:normal}.admin-user-hero{gap:12px;padding:18px 15px}.admin-user-hero h1{font-size:1.5rem}.admin-user-hero-badges{align-items:flex-start;flex-direction:column}.admin-form-card,.admin-compact-card,.admin-report-detail-grid .surface-card,.admin-import-card,.import-guide,.import-report{padding:17px}.admin-report-row{grid-template-columns:34px minmax(0,1fr) 15px;gap:8px;padding:12px 10px}.admin-report-row>.badge{grid-column:2;justify-self:start}.admin-report-copy strong,.admin-report-copy>span{white-space:normal}.report-context-meta{grid-template-columns:1fr 1fr}.import-count-grid{grid-template-columns:1fr 1fr}.admin-bar-chart{height:185px}.admin-data-list>a{grid-template-columns:32px minmax(0,1fr) auto}.feedback-report-form{padding:11px}.player-actions.has-feedback .feedback-report-form{margin-bottom:3px}.player-actions.has-feedback .feedback-panel:has(.feedback-report-form:not(.d-none)){padding-bottom:8px}}
@media (prefers-reduced-motion:reduce){.admin-bar-column i{transition:none}}
.admin-page{min-width:0;overflow-x:clip}.admin-nav{width:100%;max-width:100%}.admin-kpi{min-width:0}
@media (max-width:767.98px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Achievement collection and five-seat teams. */
.achievement-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 3px 18px}.achievement-section-heading h2{margin:4px 0 0;font-size:clamp(1.45rem,3vw,2rem);font-weight:850}.achievement-section-heading p{margin:4px 0 0;color:var(--rugym-muted);font-size:.77rem}.achievement-section-heading>span{display:grid;place-items:center;min-width:48px;height:36px;padding:0 12px;border-radius:999px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:.76rem;font-weight:850}.achievement-card h3{margin:0;font-size:1rem;font-weight:820}.achievement-card.secret.locked{filter:none;opacity:1;border-style:dashed;background:linear-gradient(145deg,#fbfaff,#f4f1fc)}.achievement-card.secret.locked .badge-art.secret{background:#e9e5f1;color:#847c96;box-shadow:none}.achievement-card.secret.locked h3{color:#716a80}.achievement-card.secret.locked p{color:#928c9e}.weekly-achievement-section{padding:24px;border:1px solid var(--rugym-border);border-radius:26px;background:#fff}.weekly-award-list{display:grid;gap:9px}.weekly-award-list article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px;border:1px solid var(--rugym-border);border-radius:17px;background:var(--rugym-bg)}.weekly-award-list .badge-art{width:48px;height:48px;border-radius:15px;font-size:1.1rem}.weekly-award-list h3,.weekly-award-list p{margin:0}.weekly-award-list h3{font-size:.9rem;font-weight:820}.weekly-award-list p{color:var(--rugym-muted);font-size:.7rem}.weekly-award-list small{color:var(--rugym-primary);font-size:.65rem;font-weight:750}.weekly-award-list>article>strong{color:var(--rugym-primary);font-size:.8rem;white-space:nowrap}.weekly-empty{padding-block:28px}
.team-seat-progress{display:flex;gap:6px;margin-top:18px}.team-seat-progress i{display:block;width:34px;height:6px;border-radius:999px;background:rgba(255,255,255,.17)}.team-seat-progress i.filled{background:#fff;box-shadow:0 3px 10px rgba(255,255,255,.16)}.invite-card.is-full{background:linear-gradient(130deg,#3e3650,#5d536e)}.member-row{grid-template-columns:26px 40px minmax(0,1fr) auto auto}.member-actions{position:relative}.member-actions>summary{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:var(--rugym-muted);cursor:pointer;list-style:none}.member-actions>summary::-webkit-details-marker{display:none}.member-actions[open]>summary{background:var(--rugym-primary-soft);color:var(--rugym-primary)}.member-actions>div{position:absolute;z-index:20;top:41px;right:0;width:215px;padding:6px;border:1px solid var(--rugym-border);border-radius:13px;background:#fff;box-shadow:0 15px 40px rgba(43,31,82,.16)}.member-actions form{margin:0}.member-actions button{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px;border:0;border-radius:9px;background:transparent;color:var(--rugym-ink);font-size:.7rem;font-weight:720;text-align:left}.member-actions button:hover{background:var(--rugym-primary-soft);color:var(--rugym-primary)}.member-actions button.danger{color:var(--rugym-red)}.member-actions button.danger:hover{background:var(--rugym-red-soft)}.team-leave-form{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding-top:10px;border-top:1px solid var(--rugym-border)}.team-leave-form .btn{padding-inline:4px;font-size:.72rem}.team-leave-form small{color:var(--rugym-muted);font-size:.6rem;text-align:right}.team-achievements{padding:24px}.team-achievement-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.team-achievement{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:11px;padding:15px;border:1px solid var(--rugym-border);border-radius:17px;background:var(--rugym-bg)}.team-achievement .badge-art{width:45px;height:45px;border-radius:14px;font-size:1.05rem}.team-achievement>div{display:flex;min-width:0;flex-direction:column}.team-achievement strong{font-size:.78rem}.team-achievement p{margin:3px 0;color:var(--rugym-muted);font-size:.65rem}.team-achievement small{color:var(--rugym-green);font-size:.59rem;font-weight:700}.team-achievement.locked{filter:grayscale(.8);opacity:.55}.team-weekly-awards{display:flex;align-items:center;gap:9px;margin-top:17px;padding-top:15px;overflow-x:auto;border-top:1px solid var(--rugym-border)}.team-weekly-awards>.eyebrow{flex:0 0 auto;margin-right:5px}.team-weekly-awards>div{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:9px 12px;border-radius:13px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.team-weekly-awards>div>span{display:flex;flex-direction:column}.team-weekly-awards strong{font-size:.7rem}.team-weekly-awards small{font-size:.58rem}.team-full-notice{display:flex;align-items:flex-start;gap:10px;margin:20px 0;padding:13px;border-radius:14px;background:var(--rugym-primary-soft);color:var(--rugym-primary);text-align:left}.team-full-notice>i{font-size:1.2rem}.team-full-notice>span{display:flex;flex-direction:column}.team-full-notice small{color:var(--rugym-muted);font-size:.7rem}
@media (max-width:1199.98px){.team-achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767.98px){.team-achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-section-heading{align-items:flex-start}.weekly-achievement-section{padding:18px}.team-header-stats{flex-wrap:wrap}.member-actions>div{position:fixed;z-index:1500;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));top:auto;left:12px;width:auto}}
@media (max-width:575.98px){.achievement-page{padding-left:10px!important;padding-right:10px!important}.achievement-section-heading{gap:10px}.achievement-section-heading h2{font-size:1.35rem}.weekly-award-list article{grid-template-columns:46px minmax(0,1fr)}.weekly-award-list>article>strong{grid-column:2}.team-page{padding-left:10px!important;padding-right:10px!important}.team-header-stats{gap:12px}.team-header-stats span{min-width:90px}.team-achievements{padding:17px}.team-achievement-grid{grid-template-columns:1fr}.team-achievement{display:grid;grid-template-columns:44px 1fr;align-items:center}.member-row{grid-template-columns:24px 38px minmax(0,1fr) auto auto;gap:7px}.member-row>b{font-size:.7rem}.team-leave-form{align-items:flex-start;flex-direction:column}.team-leave-form small{text-align:left}}
.admin-user-filters{grid-template-columns:minmax(240px,1fr) repeat(4,minmax(130px,.45fr)) auto auto}.admin-user-team{display:flex;align-items:center;gap:12px;padding:14px 17px;border:1px solid #dcd4fa;border-radius:17px;background:var(--rugym-primary-soft)}.admin-user-team .topic-icon{flex:0 0 auto;margin:0}.admin-user-team>div{display:flex;min-width:0;flex-direction:column}.admin-user-team small,.admin-user-team span{color:var(--rugym-muted);font-size:.67rem}.admin-user-team strong{font-size:.9rem}
@media (max-width:1199.98px){.admin-user-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767.98px){.admin-user-filters{grid-template-columns:1fr 1fr}}
@media (max-width:575.98px){.admin-user-filters{grid-template-columns:1fr}}
.member-row.is-disabled{background:#f4f2f6;opacity:.72}.member-row.is-disabled .leader-avatar{filter:grayscale(1)}

/* Progressive levels: compact in navigation and visible in the profile. */
.level-chip{display:inline-flex;align-items:center;gap:4px;min-height:38px;padding:6px 10px;border:1px solid #ded7fb;border-radius:999px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:.67rem;font-weight:850;letter-spacing:.04em}.level-chip b{font-size:.9rem}.level-chip:hover{border-color:#c9bdf7;background:#e5defc;color:var(--rugym-primary-dark)}
.mobile-level-chip{display:flex;min-width:72px;min-height:38px;flex-direction:column;align-items:center;justify-content:center;padding:4px 10px;border:1px solid var(--rugym-border);border-radius:999px;background:#fff;box-shadow:0 5px 16px rgba(48,37,91,.07);color:var(--rugym-ink);font-size:.66rem;font-weight:850;line-height:1.05}.mobile-level-chip span{color:var(--rugym-primary);letter-spacing:.03em}.mobile-level-chip b{font-size:.82rem}.mobile-level-chip small{margin-top:2px;color:var(--rugym-muted);font-size:.55rem}.mobile-level-chip:hover{color:var(--rugym-ink)}
.leader-copy{display:flex;min-width:0;flex-direction:column}.leader-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader-copy>small{color:var(--rugym-muted);font-size:.62rem;font-weight:750}
.profile-level{grid-template-columns:auto minmax(120px,1fr);min-width:230px;gap:12px;padding:12px 14px}.profile-level-mark{display:flex;width:51px;height:51px;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.11);line-height:.9}.profile-level-mark small{color:#dcd4ff;font-size:.53rem;font-weight:850;letter-spacing:.08em}.profile-level-mark strong{font-size:1.45rem}.profile-level-copy{display:flex;min-width:0;flex-direction:column;justify-content:center}.profile-level-copy b{font-size:.86rem}.profile-level-copy small{margin-top:2px;color:rgba(255,255,255,.65);font-size:.61rem;white-space:nowrap}
@media (max-width:767.98px){.profile-level{min-width:0}}
@media (max-width:575.98px){.mobile-level-chip{min-width:68px;padding-inline:8px}.profile-level{grid-template-columns:48px minmax(0,1fr);gap:10px}.profile-level-mark{width:48px;height:48px}.profile-level-copy small{white-space:normal}}
@media (max-width:359.98px){.mobile-level-chip small{display:none}.mobile-level-chip{min-width:58px}.mobile-topbar .brand{letter-spacing:.04em}}

/* Cross-page responsive hardening for long user content and touch targets. */
.dashboard-route-hero>*{min-width:0}.route-hero-copy h1,.profile-hero h1,.team-header-card h1,.invite-join-card h1{overflow-wrap:anywhere}.profile-hero>div:nth-child(2),.team-header-card>div:first-child{min-width:0}.back-link{min-height:44px}.nav-dropdown-toggle{min-height:44px}.profile-switch{display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:flex-end;padding:0}.profile-switch .form-check-input{margin:0}.invite-link input,.invite-link button,.link-button{min-height:44px}.link-button{display:inline-flex;align-items:center}.theory-toc nav a{min-height:44px}
.topbar .nav-pill{display:inline-flex;align-items:center;min-height:44px}.topbar .avatar-link{width:44px;height:44px}.level-chip{min-height:44px}.admin-filter-panel .form-select,.admin-search,.admin-bulk-toolbar .form-select{min-height:44px}.auth-card .form-check{display:flex;align-items:center;gap:7px;min-height:44px}.theory-panel .btn-close,.exit-session-modal .btn-close{min-width:44px;min-height:44px;padding:0;background-size:14px}.admin-switch-row{min-height:44px;align-items:center}.admin-switch-row .form-check-input{margin-top:0}
@media (max-width:575.98px){.team-page>.row{--bs-gutter-x:0;margin-right:0;margin-left:0}.mobile-topbar .brand,.mobile-topbar .avatar-link,.mobile-level-chip,.mobile-top-actions .btn{min-height:44px}.mobile-topbar .avatar-link{width:44px;height:44px}.admin-row-actions .icon-button{width:44px;height:44px}.admin-filter-panel .form-select,.admin-search{min-height:44px}}

/* Experience layer: purposeful motion, personal route and richer learning feedback. */
:root{--rugym-motion-fast:140ms;--rugym-motion-base:240ms;--rugym-motion-slow:480ms;--rugym-ease:cubic-bezier(.2,.8,.2,1)}
.btn,.icon-button,.nav-pill,.answer-box,.gap-choice,.punctuation-slot{transition:transform var(--rugym-motion-fast) ease,box-shadow var(--rugym-motion-fast) ease,background-color var(--rugym-motion-fast) ease,border-color var(--rugym-motion-fast) ease}.btn:active,.icon-button:active,.answer-box:active,.gap-choice:active,.punctuation-slot:active{transform:scale(.98)}
.network-status{position:fixed;z-index:2200;right:18px;bottom:18px;display:flex;align-items:center;gap:11px;width:min(370px,calc(100vw - 24px));padding:13px 15px;border:1px solid #f2d7a8;border-radius:16px;background:#fff9ed;color:#80501d;box-shadow:0 18px 50px rgba(54,39,19,.18);transform:translateY(20px);opacity:0;transition:transform .2s ease,opacity .2s ease}.network-status[hidden]{display:none}.network-status.show{transform:none;opacity:1}.network-status>i{font-size:1.25rem}.network-status>span{display:flex;flex-direction:column}.network-status small{font-size:.67rem;color:#9a744c}

.daily-plan-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 23px;border:1px solid #ddd5fa;border-radius:23px;background:linear-gradient(120deg,#fff,#f8f5ff);box-shadow:0 10px 34px rgba(68,49,137,.06)}.daily-plan-ring{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:conic-gradient(var(--rugym-primary) var(--plan),#e9e5f4 0);box-shadow:0 8px 22px rgba(80,60,166,.13)}.daily-plan-ring::before{content:"";grid-area:1/1;width:56px;height:56px;border-radius:50%;background:#fff}.daily-plan-ring>span{z-index:1;grid-area:1/1;display:flex;align-items:baseline}.daily-plan-ring b{font-size:1.25rem}.daily-plan-ring small{color:var(--rugym-muted);font-size:.7rem}.daily-plan-copy{min-width:0}.daily-plan-copy h2{margin:3px 0;font-size:1.13rem;font-weight:830}.daily-plan-copy p{margin:0;color:var(--rugym-muted);font-size:.76rem}.daily-plan-track{height:6px;margin-top:11px;overflow:hidden;border-radius:99px;background:#ebe7f4}.daily-plan-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rugym-primary),#a68cff);transition:width .7s var(--rugym-ease)}
.next-unlock{display:grid;grid-template-columns:50px minmax(0,1fr);gap:12px;align-items:center;margin-top:18px;padding:13px;border:1px dashed #d4caf7;border-radius:16px;background:#faf8ff}.next-unlock .badge-art{width:48px;height:48px;border-radius:15px;font-size:1.05rem;filter:grayscale(.45);opacity:.78}.next-unlock>div{display:flex;min-width:0;flex-direction:column}.next-unlock small{color:var(--rugym-primary);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.next-unlock strong{font-size:.8rem}.next-unlock p{margin:2px 0 0;color:var(--rugym-muted);font-size:.66rem}.team-teaser-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0 0 18px;padding:12px;border-radius:15px;background:rgba(255,255,255,.09)}.team-teaser-progress>span{display:flex;min-width:0;flex-direction:column}.team-teaser-progress b{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.team-teaser-progress small{color:rgba(255,255,255,.6);font-size:.61rem}.team-teaser-progress>strong{font-size:.75rem}.team-teaser-progress>div{grid-column:1/-1;height:5px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.15)}.team-teaser-progress>div i{display:block;height:100%;border-radius:inherit;background:#fff}

.rugym-onboarding{position:fixed;z-index:2400;inset:0;display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .22s ease}.rugym-onboarding[hidden]{display:none}.rugym-onboarding.show{opacity:1}.onboarding-backdrop{position:absolute;inset:0;background:rgba(28,21,48,.62);backdrop-filter:blur(8px)}.onboarding-card{position:relative;width:min(610px,100%);max-height:min(760px,calc(100dvh - 24px));padding:28px;overflow-y:auto;border:1px solid rgba(255,255,255,.5);border-radius:29px;background:#fff;box-shadow:0 35px 100px rgba(25,18,48,.35);transform:translateY(20px) scale(.985);transition:transform .3s var(--rugym-ease)}.rugym-onboarding.show .onboarding-card{transform:none}.onboarding-open{overflow:hidden}.onboarding-progress{display:flex;gap:6px;width:110px;margin-bottom:28px}.onboarding-progress i{height:5px;flex:1;border-radius:99px;background:#e7e3ee;transition:background .2s ease,transform .2s ease}.onboarding-progress i.active{background:var(--rugym-primary);transform:scaleY(1.3)}.onboarding-close{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:14px;background:var(--rugym-bg);color:var(--rugym-muted)}.onboarding-step{display:none;animation:onboarding-step .3s var(--rugym-ease)}.onboarding-step.active{display:block}.onboarding-step h2{margin:7px 0 8px;font-size:clamp(1.8rem,6vw,2.65rem);font-weight:860;letter-spacing:-.05em}.onboarding-step>p{max-width:520px;color:var(--rugym-muted)}.rugym-guide{position:relative;display:grid;place-items:center;width:92px;height:92px;margin:4px 0 25px;border-radius:31px 31px 39px 28px;background:linear-gradient(145deg,#8d73ed,#5d43c5);color:#fff;box-shadow:0 20px 45px rgba(78,56,168,.23);transform:rotate(-3deg)}.rugym-guide>i{font-size:2.35rem}.rugym-guide>span{position:absolute;right:-7px;bottom:-5px;display:grid;place-items:center;width:34px;height:34px;border:3px solid #fff;border-radius:50%;background:#ffd278;color:#513b93;font:800 1rem Georgia}.onboarding-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:27px}.onboarding-topics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.onboarding-topics input,.onboarding-pace input{position:absolute;opacity:0;pointer-events:none}.onboarding-topics label>span{display:flex;align-items:center;gap:9px;min-height:54px;padding:10px 13px;border:2px solid var(--rugym-border);border-radius:15px;background:#fff;font-size:.78rem;font-weight:750;cursor:pointer}.onboarding-topics label>span i{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--rugym-bg);color:transparent}.onboarding-topics input:checked+span{border-color:var(--rugym-primary);background:var(--rugym-primary-soft);color:var(--rugym-primary)}.onboarding-topics input:checked+span i{background:var(--rugym-primary);color:#fff}.onboarding-topics input:disabled+span{opacity:.45}.onboarding-pace{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.onboarding-pace label>span{display:flex;min-height:86px;flex-direction:column;justify-content:center;padding:13px;border:2px solid var(--rugym-border);border-radius:17px;cursor:pointer}.onboarding-pace small{color:var(--rugym-muted);font-size:.65rem}.onboarding-pace input:checked+span{border-color:var(--rugym-primary);background:var(--rugym-primary-soft);color:var(--rugym-primary)}.onboarding-ready{display:flex;align-items:flex-start;gap:11px;margin-top:17px;padding:13px;border-radius:15px;background:var(--rugym-green-soft);color:var(--rugym-green)}.onboarding-ready>i{font-size:1.2rem}.onboarding-ready>span{display:flex;flex-direction:column}.onboarding-ready small{margin-top:2px;color:#477463;font-size:.68rem}

.setup-context-note{display:flex;align-items:center;gap:12px;margin:-7px 0 18px;padding:13px 15px;border:1px solid #dcd4fa;border-radius:16px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.setup-context-note>i{font-size:1.2rem}.setup-context-note>span{display:flex;flex-direction:column}.setup-context-note small{color:var(--rugym-muted);font-size:.68rem}
.availability-note.is-loading i{animation:loading-twinkle .8s ease-in-out infinite}.question-card.is-loading h1{color:transparent;border-radius:10px;background:linear-gradient(100deg,#ece9f2 30%,#f8f7fb 48%,#ece9f2 66%);background-size:220% 100%;animation:skeleton-slide 1.2s linear infinite}.question-card.is-loading .question-meta,.question-card.is-loading .interaction-area{opacity:.28}

.player-progress-segments{display:flex;gap:2px;height:4px;margin-top:5px;overflow:hidden}.player-progress-segments i{flex:1;min-width:1px;border-radius:99px;background:#e7e3ee;transition:background .25s ease,transform .25s ease}.player-progress-segments .is-correct{background:var(--rugym-green)}.player-progress-segments .is-wrong{background:var(--rugym-red)}.player-progress-segments .is-timeout{background:var(--rugym-orange)}.player-progress-segments .is-current{background:var(--rugym-primary);transform:scaleY(1.6)}.question-timer{border:0;cursor:pointer}.question-timer>i{display:grid;place-items:center;width:25px;height:25px;margin:-2px 0 -2px -5px;border-radius:50%;background:radial-gradient(circle,#fff 57%,transparent 59%),conic-gradient(currentColor var(--timer-progress),rgba(104,82,214,.16) 0);font-size:.68rem}.question-timer.is-warning{animation:none}.question-timer.is-critical{background:var(--rugym-red-soft);color:var(--rugym-red);animation:timer-critical .75s ease-in-out infinite}.question-timer.is-concealed b{min-width:29px;letter-spacing:.09em}.player-answer-actions{display:grid;grid-template-columns:minmax(120px,.38fr) minmax(0,1fr);gap:9px}.player-answer-actions .btn{width:100%}.answer-burst{position:fixed;z-index:1650;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0}.answer-burst>span{display:grid;place-items:center;width:78px;height:78px;border:7px solid rgba(255,255,255,.9);border-radius:50%;background:var(--rugym-green);color:#fff;font-size:2.3rem;box-shadow:0 20px 50px rgba(22,121,78,.28);transform:scale(.3)}.answer-burst.show{animation:answer-burst-layer .72s ease}.answer-burst.show>span{animation:answer-burst-check .72s var(--rugym-ease)}.success-spark{position:fixed;z-index:1640;top:50%;left:50%;width:9px;height:9px;border-radius:50%;background:var(--confetti-color);animation:success-spark .72s var(--rugym-ease) forwards}.xp-float{left:auto;right:4%;top:18%;animation:xp-to-header 1.1s var(--rugym-ease) forwards}
.achievement-toast.show .badge-art{animation:achievement-reveal .7s var(--rugym-ease)}

.theory-trust-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--rugym-border);color:var(--rugym-muted);font-size:.68rem}.theory-trust-line span:first-child{display:inline-flex;align-items:center;gap:6px;color:var(--rugym-green);font-weight:750}.theory-self-check{margin-top:35px;overflow:hidden;border:1px solid #dcd4fa;border-radius:19px;background:#fbfaff}.theory-self-check>summary{display:flex;align-items:center;justify-content:space-between;gap:13px;min-height:78px;padding:15px 18px;cursor:pointer;list-style:none}.theory-self-check>summary::-webkit-details-marker{display:none}.theory-self-check>summary>span{display:grid;grid-template-columns:38px 1fr;align-items:center;column-gap:11px}.theory-self-check>summary>span>i{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.theory-self-check>summary b{font-size:.83rem}.theory-self-check>summary small{color:var(--rugym-muted);font-size:.68rem}.theory-self-check>summary>i{transition:transform .2s ease}.theory-self-check[open]>summary>i{transform:rotate(180deg)}.theory-self-check>div{padding:15px 18px;border-top:1px solid #e2dcf6;background:#fff}.theory-self-check>div span{color:var(--rugym-primary);font-size:.65rem;font-weight:800;text-transform:uppercase}.theory-self-check>div p{margin:6px 0 0}.reading-status{display:grid;gap:9px;margin-top:15px;padding-top:14px;border-top:1px solid var(--rugym-border)}.reading-status>span{display:flex;justify-content:space-between;color:var(--rugym-muted);font-size:.68rem}.reading-status button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid #d8d0f6;border-radius:12px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:.7rem;font-weight:780}.reading-status button.is-read{border-color:#b8e6d3;background:var(--rugym-green-soft);color:var(--rugym-green)}

.activity-calendar-card .section-heading{align-items:flex-start}.heatmap-legend{display:flex;gap:3px}.heatmap-legend i{width:9px;height:9px;border-radius:3px;background:#e9e5f1}.heatmap-legend i:nth-child(2){background:#d9d0fa}.heatmap-legend i:nth-child(3){background:#a992ef}.heatmap-legend i:nth-child(4){background:var(--rugym-primary)}.activity-heatmap{display:grid;grid-template-rows:repeat(7,25px);grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;margin-top:24px}.heatmap-day{position:relative;min-width:25px;border:0;border-radius:7px;background:#ece9f2}.heatmap-day.level-1{background:#ded7fa}.heatmap-day.level-2{background:#b9a9f4}.heatmap-day.level-3{background:#8d73e7}.heatmap-day.level-4{background:#5f47c7}.heatmap-day:hover,.heatmap-day:focus-visible{transform:scale(1.12);z-index:2}.heatmap-day span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.heatmap-hint{margin:15px 0 0;color:var(--rugym-muted);font-size:.7rem}.heatmap-hint i{color:var(--rugym-primary)}.insight-panel>.section-heading>i{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.2rem}.insight-list{display:grid;gap:8px}.insight-list article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;align-items:center;padding:11px;border-radius:14px;background:var(--rugym-bg)}.insight-list article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;color:var(--rugym-primary)}.insight-list article.orange>span{color:var(--rugym-orange)}.insight-list article.green>span{color:var(--rugym-green)}.insight-list article.blue>span{color:#337fc0}.insight-list strong{font-size:.77rem}.insight-list p{margin:2px 0 0;color:var(--rugym-muted);font-size:.67rem}.topic-matrix-card .analytics-heading p{margin:4px 0 0;color:var(--rugym-muted);font-size:.72rem}.matrix-axis-note{color:var(--rugym-muted);font-size:.68rem}.matrix-axis-note i{color:var(--rugym-primary);font-size:.55rem}.topic-matrix{position:relative;min-height:260px;margin-top:12px}.topic-matrix svg{display:block;width:100%;height:auto}.matrix-grid{stroke:#ece8f4;stroke-width:1}.matrix-label{fill:var(--rugym-muted);font-size:11px;text-anchor:middle}.matrix-dot{fill:var(--rugym-primary);fill-opacity:.72;stroke:#fff;stroke-width:3;cursor:pointer;transition:r .15s ease,fill-opacity .15s ease}.matrix-dot.tone-1{fill:var(--rugym-green)}.matrix-dot.tone-2{fill:#3786ca}.matrix-dot.tone-3{fill:var(--rugym-orange)}.matrix-dot:hover,.matrix-dot:focus{fill-opacity:1;stroke:#2e2549;outline:none}.matrix-tooltip,.chart-touch-tooltip{position:absolute;right:12px;bottom:7px;max-width:calc(100% - 24px);padding:8px 11px;border-radius:10px;background:#302748;color:#fff;font-size:.67rem;box-shadow:0 8px 25px rgba(34,26,58,.18);opacity:0;transform:translateY(4px);transition:.16s ease;pointer-events:none}.matrix-tooltip.show,.chart-touch-tooltip.show{opacity:1;transform:none}.activity-chart{position:relative}

.correct-run{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:3px 7px;border-radius:99px;background:#fff2df;color:#b86b14;font-weight:750}.correct-run i{font-size:.72rem}

.member-presence{display:inline-flex;align-items:center;gap:4px;margin-top:2px;color:var(--rugym-muted);font-size:.58rem}.member-presence.complete{color:var(--rugym-green)}.challenge-contributions{margin-top:12px;border-top:1px solid var(--rugym-border)}.challenge-contributions>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;color:var(--rugym-muted);font-size:.68rem;font-weight:750;cursor:pointer;list-style:none}.challenge-contributions>summary::-webkit-details-marker{display:none}.challenge-contributions>summary span{display:flex;align-items:center;gap:6px}.challenge-contributions>summary>i{transition:transform .2s ease}.challenge-contributions[open]>summary>i{transform:rotate(180deg)}.challenge-contributions>div{display:grid;gap:7px;padding:3px 0 5px}.challenge-contributions article{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center}.challenge-contributions .leader-avatar{width:32px;height:32px;font-size:.68rem}.challenge-contributions article>div>span{display:flex;justify-content:space-between;gap:10px}.challenge-contributions b,.challenge-contributions small{font-size:.61rem}.challenge-contributions small{color:var(--rugym-muted)}.contribution-track{height:4px;margin-top:4px;overflow:hidden;border-radius:99px;background:#ece8f3}.contribution-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rugym-primary),#ad94f5)}.challenge-card.completed .challenge-icon{animation:team-victory 1.8s ease-in-out infinite}
.team-activity-card>.section-heading>i{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.team-activity-feed{display:grid}.team-activity-feed article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--rugym-border)}.team-activity-feed article:first-child{border-top:0}.team-activity-feed article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.team-activity-feed article>span.green{background:var(--rugym-green-soft);color:var(--rugym-green)}.team-activity-feed article>span.blue{background:#e9f3ff;color:#337fc0}.team-activity-feed article>div{display:flex;min-width:0;flex-direction:column}.team-activity-feed strong{font-size:.72rem}.team-activity-feed p{margin:1px 0;color:var(--rugym-muted);font-size:.62rem}.team-activity-feed article>small{color:var(--rugym-muted);font-size:.58rem}.team-victory-reveal{position:fixed;z-index:2450;inset:0;display:grid;place-items:center;padding:15px;opacity:0;transition:opacity .22s ease}.team-victory-reveal[hidden]{display:none}.team-victory-reveal.show{opacity:1}.team-victory-reveal>div{position:absolute;inset:0;background:rgba(29,21,51,.68);backdrop-filter:blur(8px)}.team-victory-reveal>section{position:relative;width:min(440px,100%);padding:34px;text-align:center;border:1px solid rgba(255,255,255,.5);border-radius:28px;background:#fff;box-shadow:0 30px 90px rgba(29,21,51,.4);transform:scale(.88);transition:transform .36s var(--rugym-ease)}.team-victory-reveal.show>section{transform:none}.victory-medal{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 20px;border:7px solid #fff4cf;border-radius:50%;background:linear-gradient(145deg,#ffd775,#eda735);color:#fff;font-size:2.1rem;box-shadow:0 16px 35px rgba(207,143,33,.25);animation:victory-medal .8s var(--rugym-ease)}.team-victory-reveal h2{margin:6px 0;font-size:2rem;font-weight:860}.team-victory-reveal p{color:var(--rugym-muted)}

@keyframes page-arrive{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes onboarding-step{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}@keyframes timer-critical{50%{transform:scale(1.045)}}@keyframes answer-burst-layer{0%,100%{opacity:0}18%,62%{opacity:1}}@keyframes answer-burst-check{0%{transform:scale(.3) rotate(-18deg)}45%{transform:scale(1.08) rotate(3deg)}100%{transform:scale(1)}}@keyframes success-spark{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateX(36px) scale(.5)}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateX(115px) scale(1)}}@keyframes xp-to-header{0%{opacity:0;transform:translateY(18px) scale(.85)}25%{opacity:1;transform:none}100%{opacity:0;transform:translate(80px,-90px) scale(.75)}}@keyframes achievement-reveal{0%{transform:scale(.25) rotate(-18deg);filter:brightness(2)}55%{transform:scale(1.12) rotate(4deg)}100%{transform:none}}@keyframes team-victory{50%{transform:translateY(-2px);box-shadow:0 8px 22px rgba(34,160,107,.2)}}@keyframes victory-medal{0%{transform:scale(.2) rotate(-25deg)}55%{transform:scale(1.12) rotate(4deg)}100%{transform:none}}@keyframes skeleton-slide{to{background-position:-220% 0}}@keyframes loading-twinkle{50%{opacity:.35;transform:rotate(12deg)}}

@media (max-width:1199.98px){.activity-heatmap{grid-auto-columns:minmax(25px,1fr)}}
@media (max-width:767.98px){.daily-plan-card{grid-template-columns:auto minmax(0,1fr)}.daily-plan-card>.btn{grid-column:1/-1;width:100%}.topic-matrix{min-height:200px}.activity-heatmap{overflow-x:auto}.network-status{right:12px;bottom:calc(82px + env(safe-area-inset-bottom))}}
@media (max-width:575.98px){.daily-plan-card{gap:13px;padding:16px}.daily-plan-ring{width:61px;height:61px}.daily-plan-ring::before{width:47px;height:47px}.daily-plan-copy h2{font-size:.94rem}.daily-plan-copy p{font-size:.67rem}.onboarding-card{align-self:end;max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));padding:23px 17px max(18px,env(safe-area-inset-bottom));border-radius:27px 27px 0 0}.rugym-onboarding{padding:0}.onboarding-topics{grid-template-columns:1fr}.onboarding-pace{grid-template-columns:1fr}.onboarding-pace label>span{min-height:62px}.onboarding-card>footer{position:sticky;bottom:0;margin:22px -3px -5px;padding-top:10px;background:linear-gradient(transparent,#fff 18%)}.player-answer-actions{grid-template-columns:minmax(108px,.42fr) minmax(0,1fr)}.player-answer-actions .btn{padding-inline:10px;font-size:.85rem}.player-progress-segments{gap:1px}.theory-trust-line{align-items:flex-start;flex-direction:column;gap:5px}.theory-self-check>summary{padding:13px}.theory-self-check>summary small{font-size:.62rem}.activity-calendar-card,.insight-panel,.topic-matrix-card{padding:17px}.activity-heatmap{grid-template-rows:repeat(7,22px);gap:5px}.heatmap-day{min-width:22px}.challenge-contributions article>div>span{align-items:flex-start;flex-direction:column;gap:0}}
@media (prefers-reduced-motion:reduce){body.app-ready main,.onboarding-step,.answer-burst,.answer-burst>span,.success-spark,.challenge-card.completed .challenge-icon,.victory-medal,.question-card.is-loading h1,.availability-note.is-loading i{animation:none!important}.rugym-onboarding,.onboarding-card,.team-victory-reveal,.team-victory-reveal>section{transition:none}}

/* Analytics v2: readable at native size instead of scaling desktop charts down on phones. */
.chart-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 16px}.chart-range{display:inline-grid;grid-auto-flow:column;padding:3px;border:1px solid var(--rugym-border);border-radius:12px;background:var(--rugym-bg)}.chart-range button{min-height:36px;padding:5px 11px;border:0;border-radius:9px;background:transparent;color:var(--rugym-muted);font-size:.68rem;font-weight:800;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.chart-range button.active{background:#fff;color:var(--rugym-primary);box-shadow:0 3px 10px rgba(54,39,106,.1)}.activity-chart{position:relative;min-height:250px;margin:12px 0 -4px}.activity-chart svg{display:block;width:100%;height:auto;overflow:visible}.chart-axis-label{fill:var(--rugym-muted);font-size:10px}.chart-axis-left{text-anchor:end}.chart-axis-right{text-anchor:start;fill:var(--rugym-green)}.chart-bar.active{fill:url(#activityBarGradient);opacity:1}.chart-hit{fill:transparent;cursor:pointer}.chart-hit:focus{outline:none}.chart-hit:focus-visible{stroke:var(--rugym-primary);stroke-width:1;stroke-dasharray:4 3}.chart-touch-tooltip,.matrix-tooltip{top:9px;right:9px;bottom:auto;display:flex;flex-direction:column;gap:1px}.chart-touch-tooltip strong,.matrix-tooltip strong{font-size:.69rem}.chart-touch-tooltip span,.matrix-tooltip span{color:rgba(255,255,255,.7);font-size:.6rem}

.activity-calendar-card{overflow:hidden}.calendar-heading{align-items:flex-start}.calendar-total{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;padding:7px 10px;border-radius:13px;background:var(--rugym-primary-soft)}.calendar-total strong{color:var(--rugym-primary);font-size:1.05rem;line-height:1}.calendar-total span{margin-top:3px;color:var(--rugym-muted);font-size:.55rem}.calendar-summary{display:flex;gap:7px;margin-top:18px}.calendar-summary>span{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--rugym-border);border-radius:11px;color:var(--rugym-muted);font-size:.62rem}.calendar-summary i{color:var(--rugym-primary)}.calendar-summary b{color:var(--rugym-ink)}.heatmap-layout{display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;gap:7px 8px;margin-top:19px}.heatmap-week-header{grid-column:2;display:grid;grid-template-columns:repeat(5,minmax(34px,44px));justify-content:space-between;color:var(--rugym-muted);font-size:.53rem;text-align:center}.heatmap-week-header span:last-child{color:var(--rugym-primary);font-weight:800}.heatmap-weekdays{grid-row:2;display:grid;grid-template-rows:repeat(7,minmax(38px,44px));gap:6px;align-items:center;color:var(--rugym-muted);font-size:.55rem}.heatmap-weekdays span{text-align:right}.activity-heatmap{grid-row:2;grid-column:2;display:grid;grid-template-rows:repeat(7,minmax(38px,44px));grid-template-columns:repeat(5,minmax(34px,44px));grid-auto-flow:column;justify-content:space-between;gap:6px;margin:0;overflow:visible}.heatmap-day{position:relative;display:grid;place-items:center;width:100%;min-width:34px;min-height:38px;padding:0;border:1px solid transparent;border-radius:11px;background:#efedf3;color:#8b8498;font-size:.59rem;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.heatmap-day.level-1{border-color:#dcd3fb;background:#e8e2fd;color:#6652ae}.heatmap-day.level-2{background:#cbbdfa;color:#4c3994}.heatmap-day.level-3{background:#947de9;color:#fff}.heatmap-day.level-4{background:#5f47c7;color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.22)}.heatmap-day span{position:static;width:auto;height:auto;overflow:visible;clip:auto}.heatmap-day.is-today::after{content:"";position:absolute;inset:-4px;border:2px solid var(--rugym-primary);border-radius:14px}.heatmap-day.is-future{border:1px dashed #ded9e7;background:repeating-linear-gradient(135deg,#faf9fc,#faf9fc 4px,#f4f2f7 4px,#f4f2f7 8px);color:#bbb6c2;box-shadow:none}.heatmap-day:not(:disabled):hover,.heatmap-day:not(:disabled):focus-visible,.heatmap-day.is-selected{z-index:2;border-color:#fff;box-shadow:0 0 0 3px var(--rugym-primary),0 8px 18px rgba(70,50,145,.2);transform:translateY(-2px)}.heatmap-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}.heatmap-scale{display:flex;align-items:center;gap:3px;color:var(--rugym-muted)}.heatmap-scale i{width:9px;height:9px;border-radius:3px;background:#efedf3}.heatmap-scale i:nth-of-type(2){background:#e8e2fd}.heatmap-scale i:nth-of-type(3){background:#cbbdfa}.heatmap-scale i:nth-of-type(4){background:#947de9}.heatmap-scale i:nth-of-type(5){background:#5f47c7}.heatmap-scale small{font-size:.52rem}.heatmap-hint{margin:0;text-align:right}

.matrix-copy-mobile,.confidence-mobile-list{display:none}.topic-matrix{min-height:0;margin-top:18px}.confidence-desktop{position:relative}.confidence-desktop svg{display:block;width:100%;height:auto}.matrix-zone{stroke:none}.matrix-zone.precise{fill:#f4f0ff}.matrix-zone.confident{fill:#eaf8f2}.matrix-zone.practice{fill:#fff3f0}.matrix-zone.rushed{fill:#fff7e8}.matrix-zone-label{fill:#81798e;font-size:10px;font-weight:750}.matrix-guide{stroke:rgba(77,63,110,.12);stroke-width:1}.matrix-guide.important{stroke:rgba(77,63,110,.25);stroke-dasharray:5 4}.matrix-tick{fill:var(--rugym-muted);font-size:10px}.matrix-tick.y{text-anchor:end}.matrix-tick.x{text-anchor:middle}.matrix-axis-title{fill:var(--rugym-muted);font-size:10px;text-anchor:middle}.matrix-point{cursor:pointer}.matrix-point .matrix-dot{fill:#7057d6;fill-opacity:.88;stroke:#fff;stroke-width:3;filter:drop-shadow(0 5px 8px rgba(56,40,119,.18));transition:transform .16s ease,fill-opacity .16s ease;transform-box:fill-box;transform-origin:center}.matrix-point.tone-1 .matrix-dot{fill:#20a36b}.matrix-point.tone-2 .matrix-dot{fill:#3688ce}.matrix-point.tone-3 .matrix-dot{fill:#e68a32}.matrix-point:hover .matrix-dot,.matrix-point:focus .matrix-dot{fill-opacity:1;transform:scale(1.1)}.matrix-point:focus{outline:none}.matrix-point-number{fill:#fff;font-size:11px;font-weight:850;text-anchor:middle;pointer-events:none}.matrix-topic-key{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:7px}.matrix-topic-key article{display:grid;grid-template-columns:29px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--rugym-border);border-radius:12px;background:var(--rugym-bg)}.matrix-topic-key article>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#7057d6;color:#fff;font-size:.66rem;font-weight:850}.matrix-topic-key article>span.tone-1{background:#20a36b}.matrix-topic-key article>span.tone-2{background:#3688ce}.matrix-topic-key article>span.tone-3{background:#e68a32}.matrix-topic-key article>div{display:flex;min-width:0;flex-direction:column}.matrix-topic-key strong,.matrix-topic-key small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-topic-key strong{font-size:.67rem}.matrix-topic-key small{color:var(--rugym-muted);font-size:.57rem}

@media (max-width:767.98px){.chart-heading{gap:12px}.chart-toolbar{width:100%;justify-content:space-between}.chart-range button{min-height:40px}.activity-chart{min-height:250px;margin-inline:-5px}.calendar-summary{display:grid;grid-template-columns:1fr 1fr}.calendar-summary>span{justify-content:center}.heatmap-layout{grid-template-columns:23px minmax(0,1fr);gap-x:7px}.heatmap-weekdays{grid-template-rows:repeat(7,minmax(38px,42px))}.activity-heatmap{grid-template-rows:repeat(7,minmax(38px,42px));grid-template-columns:repeat(5,minmax(34px,42px))}.heatmap-week-header{grid-template-columns:repeat(5,minmax(34px,42px))}.heatmap-footer{align-items:flex-start;flex-direction:column}.heatmap-hint{text-align:left}.matrix-copy-desktop,.matrix-axis-note,.confidence-desktop{display:none}.matrix-copy-mobile,.confidence-mobile-list{display:block}.confidence-mobile-list{display:grid;gap:10px;margin-top:17px}.confidence-mobile-card{padding:14px;border:1px solid var(--rugym-border);border-radius:17px;background:var(--rugym-bg)}.confidence-mobile-card header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px}.confidence-mobile-card header>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.confidence-mobile-card header>div{display:flex;min-width:0;flex-direction:column}.confidence-mobile-card header strong{overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.confidence-mobile-card header small{color:var(--rugym-muted);font-size:.59rem}.confidence-mobile-card header>b{padding:5px 7px;border-radius:8px;background:#fff;color:var(--rugym-primary);font-size:.55rem}.confidence-mobile-card.tone-green header>span{background:var(--rugym-green-soft);color:var(--rugym-green)}.confidence-mobile-card.tone-green header>b{color:var(--rugym-green)}.confidence-mobile-card.tone-orange header>span{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.confidence-mobile-card.tone-orange header>b,.confidence-mobile-card.tone-red header>b{color:var(--rugym-orange)}.confidence-mobile-card.tone-red header>span{background:var(--rugym-red-soft);color:var(--rugym-red)}.confidence-values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:12px;overflow:hidden;border-radius:11px;background:var(--rugym-border)}.confidence-values>span{display:flex;flex-direction:column;padding:8px;background:#fff}.confidence-values small{color:var(--rugym-muted);font-size:.53rem}.confidence-values strong{font-size:.73rem}.confidence-bars{display:grid;gap:6px;margin-top:11px}.confidence-bars>div{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px}.confidence-bars span{color:var(--rugym-muted);font-size:.55rem}.confidence-bars i{display:block;height:5px;overflow:hidden;border-radius:99px;background:#e8e4ed}.confidence-bars b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rugym-primary),#9c84ee)}}

@media (max-width:389.98px){.activity-calendar-card{padding-inline:14px}.heatmap-layout{grid-template-columns:21px minmax(0,1fr);gap-x:5px}.heatmap-weekdays{grid-template-rows:repeat(7,36px);gap:5px}.activity-heatmap{grid-template-rows:repeat(7,36px);grid-template-columns:repeat(5,minmax(31px,38px));gap:5px}.heatmap-week-header{grid-template-columns:repeat(5,minmax(31px,38px))}.heatmap-week-header span{font-size:.49rem}.calendar-summary>span{padding-inline:5px}.chart-legends{gap:8px}.chart-range button{padding-inline:9px}}

/* Repeatable interface tour and profile help. */
.profile-help-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;border:1px solid #ded7fb;border-radius:21px;background:linear-gradient(120deg,#fff,#f7f4ff)}.profile-help-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.25rem}.profile-help-card>div{min-width:0}.profile-help-card strong{font-size:.85rem}.profile-help-card p{margin:2px 0 0;color:var(--rugym-muted);font-size:.7rem}.onboarding-progress{width:190px}.onboarding-counter{position:absolute;top:31px;right:78px;color:var(--rugym-muted);font-size:.62rem;font-weight:800}.onboarding-card>footer>span{display:flex;gap:8px}.onboarding-card>footer .btn{min-height:44px}.tour-dashboard-preview{display:grid;grid-template-columns:44px minmax(0,1fr) 42px;align-items:center;gap:11px;margin-top:20px;padding:14px;border:1px solid #ded7fb;border-radius:18px;background:linear-gradient(125deg,#f9f7ff,#f1edff)}.tour-dashboard-preview>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--rugym-primary);color:#fff}.tour-dashboard-preview>div{display:flex;min-width:0;flex-direction:column}.tour-dashboard-preview small{color:var(--rugym-muted);font-size:.6rem}.tour-dashboard-preview strong{font-size:.78rem}.tour-dashboard-preview>div>i{display:block;height:5px;margin-top:7px;overflow:hidden;border-radius:99px;background:#ded8ec}.tour-dashboard-preview>div>i>b{display:block;width:68%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rugym-primary),#a78ff2)}.tour-dashboard-preview>button{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:14px;background:#fff;color:var(--rugym-primary);box-shadow:0 5px 14px rgba(58,43,116,.11)}.tour-tip-list{display:grid;gap:8px;margin:17px 0 0;padding:0;list-style:none}.tour-tip-list li{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;color:var(--rugym-muted);font-size:.7rem}.tour-tip-list i{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--rugym-green-soft);color:var(--rugym-green)}.tour-player-preview{margin-top:18px;overflow:hidden;border:1px solid var(--rugym-border);border-radius:20px;background:var(--rugym-bg);box-shadow:0 12px 30px rgba(50,36,105,.08)}.tour-player-preview>header{display:grid;grid-template-columns:24px minmax(0,1fr) auto 24px;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid var(--rugym-border);color:var(--rugym-muted)}.tour-player-preview>header>span{height:5px;overflow:hidden;border-radius:99px;background:#ded9e7}.tour-player-preview>header>span>b{display:block;width:42%;height:100%;border-radius:inherit;background:var(--rugym-primary)}.tour-player-preview>header em{padding:4px 7px;border-radius:8px;background:#fff;color:var(--rugym-primary);font-size:.6rem;font-style:normal}.tour-player-preview>div{padding:17px}.tour-player-preview>div>small{color:var(--rugym-primary);font-size:.58rem;font-weight:800;text-transform:uppercase}.tour-player-preview>div>strong{display:block;margin:7px 0 13px;font-size:1.05rem}.tour-player-preview>div>span{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tour-player-preview>div button{min-height:42px;border:2px solid #ddd6f6;border-radius:13px;background:#fff;color:var(--rugym-primary);font-weight:850}.tour-player-preview>footer{display:grid;grid-template-columns:.7fr 1fr;gap:7px;padding:10px 12px;border-top:1px solid var(--rugym-border);background:#fff}.tour-player-preview>footer>*{display:flex;min-height:38px;align-items:center;justify-content:center;border-radius:12px;font-size:.68rem}.tour-player-preview>footer>span{background:var(--rugym-bg);color:var(--rugym-muted)}.tour-player-preview>footer>b{background:var(--rugym-primary);color:#fff}.tour-section-grid{display:grid;gap:8px;margin-top:19px}.tour-section-grid article{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:11px;border:1px solid var(--rugym-border);border-radius:15px;background:var(--rugym-bg)}.tour-section-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.tour-section-grid article>span.green{background:var(--rugym-green-soft);color:var(--rugym-green)}.tour-section-grid article>span.orange{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.tour-section-grid article>span.blue{background:#e8f3ff;color:#337fc0}.tour-section-grid article>div{display:flex;flex-direction:column}.tour-section-grid strong{font-size:.76rem}.tour-section-grid small{color:var(--rugym-muted);font-size:.63rem}

@media (max-width:767.98px){.profile-help-card{grid-template-columns:44px minmax(0,1fr);padding:16px}.profile-help-card>span{width:44px;height:44px}.profile-help-card>.btn{grid-column:1/-1;width:100%}.onboarding-progress{width:150px}.onboarding-card>footer{align-items:flex-end}.onboarding-card>footer>span{flex:1;justify-content:flex-end}.onboarding-card>footer .btn{padding-inline:13px}.tour-tip-list li{font-size:.67rem}}
@media (max-width:389.98px){.mobile-top-actions{gap:5px}.mobile-level-chip{min-width:61px;padding-inline:6px}.onboarding-counter{top:28px;right:67px}.onboarding-progress{width:126px}.onboarding-card>footer{align-items:stretch;flex-direction:column-reverse}.onboarding-card>footer>span{display:grid;grid-template-columns:auto 1fr}.onboarding-card>footer>span .btn:last-child{width:100%}.onboarding-card>footer>[data-onboarding-skip]{align-self:flex-start}.tour-player-preview>div{padding:14px}}
@media (prefers-reduced-motion:reduce){.tour-dashboard-preview,.tour-player-preview,.tour-section-grid article{scroll-behavior:auto}.onboarding-progress i{transition:none}}

/* Team workspace v2 */
.team-empty-page,.team-page{--team-radius:24px}.team-empty-hero{grid-template-columns:minmax(0,1.05fr) minmax(340px,.78fr);gap:clamp(26px,5vw,58px);padding:clamp(28px,5vw,56px)}.team-hero-copy,.team-setup-card{min-width:0}.team-setup-card{width:100%;max-width:470px;justify-self:end}.team-setup-tabs button{min-height:44px}.team-form{display:grid;gap:2px}.team-form .form-control,.team-form .form-select{min-height:48px;border-radius:13px}.team-form textarea.form-control{min-height:94px;resize:vertical}.team-form-intro{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;margin-bottom:18px}.team-form-intro>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.1rem}.team-form-intro>div{display:flex;min-width:0;flex-direction:column}.team-form-intro strong{font-size:.82rem}.team-form-intro small{color:var(--rugym-muted);font-size:.65rem}.team-level-lock{text-align:center}.team-lock-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 13px;border-radius:20px;background:linear-gradient(145deg,var(--rugym-primary),#9b7ff0);color:#fff;font-size:1.45rem;box-shadow:0 14px 28px rgba(92,69,190,.22)}.team-level-lock h2{margin:7px 0;font-size:1.35rem;font-weight:850}.team-level-lock p{margin:0;color:var(--rugym-muted);font-size:.76rem}.team-level-progress-copy{display:flex;justify-content:space-between;margin-top:19px;color:var(--rugym-muted);font-size:.65rem}.team-level-progress-copy b{color:var(--rugym-primary)}.team-level-progress{height:8px;margin-top:7px;background:#ece8f5}.team-level-progress .progress-bar{border-radius:inherit;background:linear-gradient(90deg,var(--rugym-primary),#a88cf6)}

.team-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.team-metric-grid article{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:14px 15px;border:1px solid var(--rugym-border);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(49,37,91,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.team-metric-grid article:hover{transform:translateY(-2px);border-color:#d6cef4;box-shadow:0 12px 30px rgba(49,37,91,.08)}.team-metric-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.team-metric-grid article>span.blue{background:#e9f4ff;color:#357dbb}.team-metric-grid article>span.green{background:var(--rugym-green-soft);color:var(--rugym-green)}.team-metric-grid article>span.orange{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.team-metric-grid article>span.pink{background:#fff0f5;color:#cb567d}.team-metric-grid article>div{display:flex;min-width:0;flex-direction:column}.team-metric-grid strong{font-size:1rem;line-height:1.1}.team-metric-grid small{margin-top:3px;overflow:hidden;color:var(--rugym-muted);font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}

.team-invite-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.team-invite-actions>button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 11px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.09);color:#fff;font-size:.68rem;font-weight:750}.team-invite-actions>button:hover,.team-invite-actions>button:focus-visible{background:rgba(255,255,255,.17)}.team-invite-actions b{font-size:.66rem}.team-qr-modal .modal-dialog{width:min(410px,calc(100% - 22px));margin-inline:auto}.team-qr-modal .modal-content{position:relative;border:0;border-radius:28px;box-shadow:0 26px 80px rgba(31,22,62,.3)}.team-qr-modal .btn-close{position:absolute;z-index:2;top:14px;right:14px;width:36px;height:36px;padding:0;border-radius:50%;background-color:var(--rugym-bg);background-size:12px;opacity:1}.team-qr-modal .modal-body{padding:32px;text-align:center}.team-qr-modal h2{margin:7px 0;font-size:1.35rem;font-weight:850}.team-qr-modal p{color:var(--rugym-muted);font-size:.74rem}.team-qr-frame{display:grid;place-items:center;width:248px;height:248px;margin:20px auto;padding:12px;border:1px solid var(--rugym-border);border-radius:24px;background:#fff;box-shadow:0 12px 35px rgba(55,39,110,.1)}.team-qr-frame img{display:block;width:220px;height:220px}.team-qr-code{display:grid;grid-template-columns:auto minmax(0,1fr) 44px;align-items:center;gap:9px;margin-bottom:14px;padding:7px 7px 7px 13px;border-radius:14px;background:var(--rugym-bg);text-align:left}.team-qr-code span{color:var(--rugym-muted);font-size:.62rem}.team-qr-code strong{overflow:hidden;color:var(--rugym-primary);font-size:.82rem;letter-spacing:.07em;text-overflow:ellipsis}.team-qr-code button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:11px;background:#fff;color:var(--rugym-primary)}

.team-member-list{display:grid;gap:8px}.team-member-card{border:1px solid var(--rugym-border);border-radius:17px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.team-member-card.is-me{border-color:#d9cffb;background:linear-gradient(115deg,#fff,#faf8ff)}.team-member-card.is-disabled{background:#f5f3f7;opacity:.7}.member-main{display:grid;grid-template-columns:24px 40px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:12px}.member-main>.member-copy{display:flex;min-width:0;flex-direction:column}.member-copy strong,.member-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-copy strong{font-size:.78rem}.member-copy small{color:var(--rugym-muted);font-size:.61rem}.member-copy small i{color:#efa429}.member-score{display:flex;min-width:45px;flex-direction:column;align-items:flex-end}.member-score strong{color:var(--rugym-primary);font-size:.82rem}.member-score small{color:var(--rugym-muted);font-size:.55rem}.member-insights{border-top:1px solid transparent}.member-insights[open]{border-top-color:var(--rugym-border)}.member-insights>summary{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-height:38px;padding:0 12px;color:var(--rugym-muted);font-size:.59rem;font-weight:750;cursor:pointer;list-style:none}.member-insights>summary::-webkit-details-marker{display:none}.member-insights>summary i{transition:transform .18s ease}.member-insights[open]>summary i{transform:rotate(180deg)}.member-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0 12px;overflow:hidden;border-radius:11px;background:var(--rugym-border)}.member-stat-grid>span{display:flex;min-width:0;flex-direction:column;padding:9px;background:var(--rugym-bg)}.member-stat-grid small{color:var(--rugym-muted);font-size:.52rem}.member-stat-grid strong{font-size:.69rem}.member-contribution{padding:11px 12px 4px}.member-contribution>span{display:flex;justify-content:space-between;color:var(--rugym-muted);font-size:.56rem}.member-contribution>span b{color:var(--rugym-primary)}.member-contribution>div{height:5px;margin-top:5px;overflow:hidden;border-radius:99px;background:#e8e4ed}.member-contribution>div i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rugym-primary),#a78df1)}.member-last-seen{display:block;padding:5px 12px 12px;color:var(--rugym-muted);font-size:.54rem}.member-actions>summary{min-width:44px;min-height:44px}.member-presence{white-space:nowrap}

.team-challenge-form{max-width:720px;margin-inline:auto}.team-form-heading{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:14px}.team-form-heading>span{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.2rem}.team-form-heading h1{margin:4px 0 3px;font-size:1.65rem;font-weight:850}.team-form-heading p{margin:0;color:var(--rugym-muted);font-size:.75rem}.team-form-tip{display:flex;align-items:flex-start;gap:8px;margin:4px 0 16px;padding:11px 12px;border-radius:13px;background:var(--rugym-primary-soft);color:var(--rugym-muted);font-size:.66rem}.team-form-tip i{color:var(--rugym-primary)}

.invite-join-card h1{overflow-wrap:anywhere}.invite-team-meta>span{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:0 6px;min-width:110px}.invite-team-meta>span i{grid-row:1/span 2;color:var(--rugym-primary);font-size:1.1rem}.invite-team-meta>span b{font-size:.8rem;text-align:left}.invite-team-meta>span small{color:var(--rugym-muted);font-size:.58rem;text-align:left}.team-full-notice.success{background:var(--rugym-green-soft);color:var(--rugym-green)}.invite-decline{display:inline-flex;min-height:44px;align-items:center;justify-content:center;margin-top:12px;padding-inline:12px;color:var(--rugym-muted);font-size:.73rem}.team-leaderboard .leader-row.is-current{margin-inline:-6px;padding-inline:18px;border-radius:15px;background:var(--rugym-primary-soft)}.team-leaderboard .leader-row em{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:6px;background:var(--rugym-primary);color:#fff;font-size:.52rem;font-style:normal;vertical-align:2px}

@media (max-width:991.98px){.team-empty-hero{grid-template-columns:minmax(0,1fr);gap:30px}.team-setup-card{max-width:620px;justify-self:stretch}.team-medallion{width:110px;height:110px;border-radius:34px}.team-medallion span{font-size:3.7rem}.team-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-metric-grid article:nth-child(4),.team-metric-grid article:nth-child(5){grid-column:span 1}.team-benefits{grid-template-columns:1fr 1fr}.team-benefits>div:last-child{grid-column:1/-1}}
@media (max-width:767.98px){.team-empty-page,.team-page{padding-inline:12px!important}.team-empty-hero{padding:28px 20px;border-radius:27px}.team-hero-copy h1{font-size:clamp(2.35rem,11vw,3.1rem)}.team-hero-copy p{font-size:.88rem}.team-setup-card{padding:19px;border-radius:22px}.team-benefits{grid-template-columns:1fr}.team-benefits>div:last-child{grid-column:auto}.team-header-card{min-height:auto;padding:28px 23px;border-radius:27px}.team-header-card h1{font-size:clamp(2.2rem,11vw,3.1rem)}.team-medallion{display:none}.team-header-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.team-header-stats span{min-width:0}.team-header-stats strong{font-size:1.05rem}.team-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.team-metric-grid article{padding:12px}.team-metric-grid article:first-child{grid-column:1/-1}.team-metric-grid small{white-space:normal}.team-challenge-form{padding:20px}.team-form-heading{grid-template-columns:46px minmax(0,1fr)}.team-form-heading>span{width:46px;height:46px;border-radius:14px}.team-form-heading h1{font-size:1.35rem}.team-qr-modal .modal-body{padding:29px 18px 21px}.team-member-card .member-actions>div{position:fixed}.invite-page{min-height:calc(100dvh - 132px);align-items:start;padding-top:24px}}
@media (max-width:575.98px){.team-empty-hero{padding:24px 14px}.team-hero-copy{padding-inline:4px}.team-setup-card{padding:17px}.team-avatar-stack b{margin-left:15px}.team-benefits>div{padding:15px}.team-header-card{padding:25px 19px}.team-header-card p{font-size:.76rem}.team-header-stats span{font-size:.59rem}.team-seat-progress i{flex:1;max-width:34px}.team-metric-grid article{grid-template-columns:38px minmax(0,1fr);gap:8px}.team-metric-grid article>span{width:38px;height:38px}.challenge-card{padding:15px}.challenge-top{grid-template-columns:40px minmax(0,1fr) auto}.challenge-top p{display:block;font-size:.67rem}.challenge-meta{gap:8px}.invite-card{display:block;padding:19px}.invite-card>.invite-icon{margin-bottom:12px}.invite-link{display:grid}.invite-link input{width:100%;padding-inline:7px}.team-invite-actions{display:grid;grid-template-columns:1fr 1fr}.team-invite-actions>button{justify-content:center}.team-invite-actions>button:last-child{grid-column:1/-1}.member-main{grid-template-columns:22px 38px minmax(0,1fr) auto auto;padding:10px 8px;gap:7px}.member-score{min-width:39px}.member-copy strong{font-size:.72rem}.member-copy small{font-size:.56rem}.member-presence{font-size:.53rem}.member-stat-grid{grid-template-columns:repeat(2,1fr)}.member-actions>summary{width:40px;min-width:40px}.team-leave-form{margin-top:12px}.team-achievements{padding:17px}.team-qr-frame{width:224px;height:224px}.team-qr-frame img{width:198px;height:198px}.invite-join-card{padding:26px 18px;border-radius:25px}.invite-team-meta{gap:6px;padding:11px 7px}.invite-team-meta>span{min-width:0;flex:1}.team-challenge-form{padding:18px 16px}.team-form-heading p{font-size:.68rem}}
@media (max-width:374.98px){.team-header-stats{grid-template-columns:1fr 1fr}.team-header-stats span:last-child{grid-column:1/-1}.member-main{grid-template-columns:20px 35px minmax(0,1fr) auto}.member-main .member-actions{grid-column:4;grid-row:2}.member-score{grid-column:4;grid-row:1}.leader-avatar{width:35px;height:35px}.team-invite-actions{grid-template-columns:1fr}.team-invite-actions>button:last-child{grid-column:auto}.team-qr-frame{width:210px;height:210px}.team-qr-frame img{width:184px;height:184px}}
@media (prefers-reduced-motion:reduce){.team-metric-grid article,.member-insights>summary i{transition:none}.team-metric-grid article:hover{transform:none}}

/* Admin workspace: compact, responsive and touch friendly. */
.admin-page{container-type:inline-size}.admin-nav{display:flex;gap:5px;padding:5px;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.admin-nav::-webkit-scrollbar,.admin-status-strip::-webkit-scrollbar{display:none}.admin-nav a{scroll-snap-align:center;justify-content:center;min-height:44px}.admin-nav a span{white-space:nowrap}.admin-heading-compact{align-items:center}.admin-heading-compact .page-title{margin:0}.admin-heading-note{display:block;margin-top:3px;color:var(--rugym-muted);font-size:.72rem}.admin-card-note{margin:3px 0 0;color:var(--rugym-muted);font-size:.68rem}.admin-status-strip{grid-auto-flow:initial;grid-auto-columns:initial;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.admin-status-reports{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-status-strip a{min-width:0;border-left:1px solid var(--rugym-border);white-space:normal;text-align:center}.admin-status-strip a span{overflow:hidden;text-overflow:ellipsis}.admin-filter-disclosure{overflow:hidden;border:1px solid var(--rugym-border);border-radius:17px;background:#fff}.admin-filter-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 14px;cursor:pointer;list-style:none;color:var(--rugym-ink)}.admin-filter-disclosure>summary::-webkit-details-marker{display:none}.admin-filter-disclosure>summary>span{display:flex;align-items:center;gap:8px}.admin-filter-disclosure>summary>span:first-child>i{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.admin-filter-summary-meta{color:var(--rugym-muted);font-size:.67rem;font-weight:650}.admin-filter-summary-meta i{transition:transform .18s ease}.admin-filter-disclosure[open] .admin-filter-summary-meta i{transform:rotate(180deg)}.admin-filter-disclosure[open]>summary{border-bottom:1px solid var(--rugym-border)}.admin-filter-disclosure .admin-filter-panel{border:0;border-radius:0}.admin-user-filters{grid-template-columns:minmax(240px,1fr) repeat(4,minmax(130px,.45fr)) auto auto}.admin-user-row{grid-template-columns:46px minmax(180px,1fr) minmax(310px,auto) auto 16px;padding-block:11px}.admin-user-copy em{margin-top:2px;color:var(--rugym-muted);font-size:.58rem;font-style:normal}.admin-user-metrics{display:grid;grid-template-columns:repeat(4,minmax(65px,1fr))}.admin-user-state{display:flex;align-items:flex-end;gap:5px;flex-direction:column}.admin-row-chevron{color:#aaa2b5}.admin-user-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-user-kpi-grid .admin-kpi{min-height:94px}.admin-access-panel{display:grid;grid-template-columns:1fr .65fr 1.55fr 1fr;overflow:hidden;border:1px solid var(--rugym-border);border-radius:18px;background:#fff}.admin-access-panel>div{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:13px;border-left:1px solid var(--rugym-border)}.admin-access-panel>div:first-child{border-left:0}.admin-access-panel>div>i{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.admin-access-panel span{display:flex;min-width:0;flex-direction:column}.admin-access-panel small{color:var(--rugym-muted);font-size:.56rem}.admin-access-panel strong{overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.admin-audit-card{padding:22px}.admin-audit-list{display:grid}.admin-audit-list article{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(250px,.7fr);align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--rugym-border)}.admin-audit-list article:first-child{border-top:0}.admin-audit-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--rugym-bg);color:var(--rugym-primary)}.admin-audit-list article>div{display:flex;min-width:0;flex-direction:column}.admin-audit-list article>div:last-child{text-align:right}.admin-audit-list strong{font-size:.72rem}.admin-audit-list small,.admin-audit-list em{overflow:hidden;color:var(--rugym-muted);font-size:.58rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.admin-pagination{gap:5px;flex-wrap:wrap}.admin-pagination .page-link{display:grid;place-items:center;min-width:42px;min-height:42px;padding:6px;border:1px solid #dcd4fa!important;border-radius:12px!important;color:var(--rugym-primary);font-weight:750}.admin-pagination .page-item.active .page-link{background:var(--rugym-primary);border-color:var(--rugym-primary)!important;color:#fff;box-shadow:0 7px 17px rgba(104,82,214,.2)}.admin-pagination .page-item.disabled .page-link{color:#a8a1b2;background:#f5f3f8}.admin-content-list .content-list-state{display:flex;align-items:flex-end;flex-direction:column;gap:3px}.admin-content-list .content-list-state small{font-size:.56rem}.admin-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:16px;align-items:start}.admin-editor-form,.admin-standard-form{padding:24px}.admin-form-section+.admin-form-section{margin-top:26px;padding-top:24px;border-top:1px solid var(--rugym-border)}.admin-form-section>header{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;margin-bottom:16px}.admin-form-section>header>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--rugym-primary);color:#fff;font-size:.72rem;font-weight:850}.admin-form-section>header h2{margin:0;font-size:1rem;font-weight:830}.admin-form-section>header p{margin:2px 0 0;color:var(--rugym-muted);font-size:.66rem}.admin-checkbox-cell,.admin-checkbox-stack{display:flex;align-items:center}.admin-checkbox-stack{align-items:flex-start;flex-direction:column}.admin-checkbox-stack>.mb-3{width:100%}.admin-json-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;padding:11px 13px;border-radius:14px;background:var(--rugym-bg)}.admin-json-toolbar>div{display:flex;min-width:0;flex-direction:column}.admin-json-toolbar strong{font-size:.76rem}.admin-json-toolbar small{color:var(--rugym-muted);font-size:.61rem}.compact-code-field textarea{min-height:110px}.admin-markdown-field textarea{min-height:360px}.admin-editor-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:18px;border-top:1px solid var(--rugym-border)}.admin-editor-submit>span{display:flex;align-items:center;gap:7px;color:var(--rugym-muted);font-size:.65rem}.admin-editor-aside{display:grid;gap:12px;position:sticky;top:92px}.admin-schema-help,.admin-danger-zone{padding:20px}.admin-schema-help h2,.admin-danger-zone h2{font-size:1.05rem}.admin-schema-help [data-exercise-schema-copy] p,.admin-danger-zone p{color:var(--rugym-muted);font-size:.7rem;line-height:1.55}.admin-schema-help details{margin-top:14px;border-top:1px solid var(--rugym-border)}.admin-schema-help summary{padding:13px 0 4px;cursor:pointer;font-size:.7rem;font-weight:750}.admin-schema-help ul{padding-left:18px;color:var(--rugym-muted);font-size:.65rem}.admin-danger-zone{border-color:#f0d4d4}.admin-danger-zone form+form{margin-top:8px}.admin-danger-zone .btn{min-height:44px;border-radius:12px}.admin-danger-zone>small{display:block;margin-top:8px;color:var(--rugym-muted);font-size:.61rem}.admin-exercise-copy strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;white-space:normal}.admin-exercise-copy>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;white-space:normal}.import-field-guide{margin-top:18px;border-top:1px solid var(--rugym-border)}.import-field-guide summary{display:flex;justify-content:space-between;padding:14px 0 5px;cursor:pointer;font-size:.7rem;font-weight:800}.import-field-guide div{display:grid;gap:5px;padding-top:8px}.import-field-guide strong{font-size:.68rem}.import-field-guide code{overflow-wrap:anywhere;color:var(--rugym-primary);font-size:.6rem}.import-field-guide p{margin:5px 0 0;color:var(--rugym-muted);font-size:.63rem}.admin-report-heading{align-items:flex-start}.admin-report-heading h2{overflow-wrap:anywhere}.admin-bar-chart{scrollbar-width:thin;scrollbar-color:#c9c0ef transparent}

@media (min-width:992px){.admin-nav{overflow:visible}.admin-nav a{flex:1 1 auto}.admin-nav a span{overflow:hidden;text-overflow:ellipsis}}
@media (max-width:1199.98px){.admin-user-row{grid-template-columns:46px minmax(0,1fr) auto 16px}.admin-user-metrics{display:none}.admin-access-panel{grid-template-columns:1fr 1fr}.admin-access-panel>div:nth-child(odd){border-left:0}.admin-access-panel>div:nth-child(n+3){border-top:1px solid var(--rugym-border)}.admin-editor-layout{grid-template-columns:minmax(0,1fr) 270px}}
@media (max-width:991.98px){.admin-nav{position:sticky;z-index:1010;top:8px;flex-wrap:nowrap;overflow-x:auto;box-shadow:0 8px 24px rgba(45,35,89,.09)}.admin-nav a{flex:0 0 auto}.admin-user-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-editor-layout{grid-template-columns:1fr}.admin-editor-aside{position:static;grid-template-columns:1fr 1fr}.admin-audit-list article{grid-template-columns:38px minmax(0,1fr) minmax(210px,.7fr)}}
@media (max-width:767.98px){.admin-heading-compact{align-items:flex-start}.admin-status-strip,.admin-status-reports{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-status-strip a{min-height:56px}.admin-status-reports a:last-child{grid-column:1/-1}.admin-user-row{grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding:10px}.admin-user-row .admin-avatar{width:42px;height:42px}.admin-user-state{align-items:flex-end}.admin-user-state .access-state{display:inline-flex}.admin-user-state .badge{font-size:.56rem}.admin-user-row>.admin-row-chevron{display:none}.admin-user-metrics{display:grid;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.admin-user-metrics>span{min-width:0;padding:5px 3px}.admin-user-copy small{white-space:normal}.admin-user-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-access-panel{grid-template-columns:1fr}.admin-access-panel>div{border-top:1px solid var(--rugym-border);border-left:0}.admin-access-panel>div:first-child{border-top:0}.admin-audit-list article{grid-template-columns:36px minmax(0,1fr)}.admin-audit-list article>div:last-child{grid-column:2;text-align:left}.admin-editor-aside{grid-template-columns:1fr}.admin-editor-submit{align-items:flex-start;flex-direction:column}.admin-editor-submit .btn{width:100%}.admin-content-list>a{grid-template-columns:42px minmax(0,1fr) auto 14px;padding:11px}.admin-content-list .content-list-state small{display:none}.admin-exercise-row{grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"check copy status" ". copy actions";align-items:start;gap:6px 8px;padding:10px}.admin-exercise-row>.admin-row-check{grid-area:check;margin-top:4px}.admin-exercise-row>.topic-icon{display:none}.admin-exercise-copy{grid-area:copy}.admin-exercise-row>.badge{grid-area:status;align-self:start;font-size:.55rem}.admin-exercise-row>.admin-row-actions{grid-area:actions;justify-self:end}.admin-exercise-copy>div{align-items:flex-start;flex-direction:column;gap:3px}.admin-exercise-copy strong{-webkit-line-clamp:2;font-size:.75rem;line-height:1.28}.admin-exercise-copy>small,.admin-exercise-copy>span{font-size:.57rem}.admin-report-heading{align-items:flex-start;flex-direction:column}.admin-report-heading .btn{width:100%}.admin-bar-chart{justify-content:flex-start;overflow-x:auto}.admin-bar-column{flex:0 0 20px}.admin-dashboard-grid>.surface-card{padding:17px}}
@media (max-width:575.98px){.admin-page{padding-top:12px!important}.admin-nav{top:6px;margin-inline:-2px;margin-bottom:18px!important;padding:4px}.admin-nav a{min-height:42px;padding:8px 10px;font-size:.72rem}.admin-nav a i{font-size:.86rem}.admin-nav-count{min-width:18px;height:18px;font-size:.56rem}.admin-page-heading .page-title{font-size:1.75rem}.admin-heading-note{font-size:.65rem}.admin-status-strip{border-radius:15px}.admin-status-strip a{justify-content:flex-start;min-height:52px;padding:8px 11px}.admin-status-strip strong{font-size:1rem}.admin-status-strip span{font-size:.64rem}.admin-filter-disclosure>summary{min-height:50px;padding:7px 10px}.admin-filter-summary-meta{font-size:.59rem}.admin-filter-disclosure .admin-filter-panel{padding:9px}.admin-user-row{border-radius:0}.admin-user-copy strong{font-size:.78rem}.admin-user-copy em{font-size:.54rem}.admin-user-state .access-state{font-size:.58rem}.admin-user-metrics small{font-size:.49rem}.admin-user-hero{margin-inline:0}.admin-user-kpi-grid{gap:7px}.admin-user-kpi-grid .admin-kpi{min-height:86px;padding:11px 9px}.admin-user-kpi-grid .admin-kpi>i{width:34px;height:34px;flex-basis:34px}.admin-user-kpi-grid .admin-kpi strong{font-size:.94rem}.admin-user-kpi-grid .admin-kpi small{font-size:.56rem}.admin-access-panel>div{padding:10px}.admin-audit-card{padding:16px}.admin-audit-list article{gap:8px}.admin-audit-list strong{font-size:.67rem}.admin-audit-list small,.admin-audit-list em{font-size:.54rem}.admin-editor-form,.admin-standard-form{padding:17px}.admin-form-section+.admin-form-section{margin-top:20px;padding-top:19px}.admin-form-section>header{grid-template-columns:30px minmax(0,1fr);gap:8px}.admin-form-section>header>span{width:29px;height:29px}.admin-form-section>header h2{font-size:.9rem}.admin-json-toolbar{align-items:flex-start;flex-direction:column}.admin-json-toolbar .btn{width:100%}.code-field textarea{min-height:180px}.compact-code-field textarea{min-height:105px}.admin-markdown-field textarea{min-height:300px}.admin-bulk-toolbar{grid-template-columns:1fr auto}.admin-bulk-toolbar>span{justify-self:end}.admin-bulk-toolbar .form-select{grid-column:1}.admin-bulk-toolbar .btn{grid-column:2}.admin-row-actions .icon-button{width:40px;height:40px}.admin-report-row{grid-template-columns:34px minmax(0,1fr) 14px}.admin-report-row>.badge{grid-column:2}.admin-report-row .admin-row-chevron{display:block;grid-column:3;grid-row:1}.admin-report-copy small{white-space:normal}.admin-pagination .page-link{min-width:40px;min-height:40px}.admin-period a{min-height:40px}.admin-chart-card{overflow:hidden}.admin-bar-chart{margin-inline:-5px;padding-inline:5px}.report-message-card blockquote{font-size:.92rem;overflow-wrap:anywhere}}
@media (max-width:374.98px){.admin-nav a{padding-inline:9px}.admin-status-strip a{gap:6px}.admin-user-state .badge{display:none}.admin-user-kpi-grid{grid-template-columns:1fr}.admin-content-list>a{grid-template-columns:38px minmax(0,1fr) 14px}.admin-content-list .content-list-state{display:none}.admin-content-list>a>i{grid-column:3}.page-heading-actions{display:grid!important;grid-template-columns:1fr}.page-heading-actions .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.admin-filter-summary-meta i{transition:none}.admin-nav{scroll-behavior:auto}}
.import-count-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:767.98px){.import-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:575.98px){.import-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Admin lists v3: dense, readable records instead of nested metric cards. */
.admin-page-heading{margin-top:0}.admin-heading-compact{min-height:44px}.admin-heading-compact .page-title{font-size:clamp(1.75rem,3vw,2.35rem)}
.admin-status-strip,.admin-status-reports{display:flex;gap:3px;padding:4px;overflow:visible;border-radius:14px;background:#f4f1fb}.admin-status-strip a,.admin-status-reports a{display:flex;flex:1 1 0;min-width:0;min-height:40px;gap:5px;padding:5px 8px;border:0!important;border-radius:10px;white-space:nowrap}.admin-status-strip a.active{background:#fff;box-shadow:0 3px 11px rgba(52,38,103,.09)}.admin-status-strip strong{font-size:.82rem}.admin-status-strip span{font-size:.66rem}
.admin-filter-disclosure{border-radius:14px}.admin-filter-disclosure>summary{min-height:46px;padding:6px 11px}.admin-filter-disclosure>summary>span:first-child>i{width:30px;height:30px;border-radius:9px}.admin-filter-summary-meta{font-size:.65rem}
.admin-user-list,.admin-exercise-list,.admin-report-list{border-radius:16px}.admin-user-row{grid-template-columns:38px minmax(180px,1fr) auto auto 14px;gap:10px;min-height:58px;padding:8px 12px}.admin-user-row:hover{background:#fbfaff}.admin-user-row.is-disabled{background:#f7f5f8;opacity:.72}.admin-avatar{width:36px;height:36px;border-radius:11px;font-size:.82rem}.admin-user-copy strong{font-size:.83rem}.admin-user-copy small{font-size:.68rem}.admin-user-last-seen{color:#938b9e}.admin-user-metrics{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:0 8px;min-width:135px;padding:0;background:transparent;text-align:right}.admin-user-metrics b{color:var(--rugym-primary);font-size:.78rem}.admin-user-metrics>span{color:var(--rugym-muted);font-size:.64rem;font-weight:800}.admin-user-metrics small{grid-column:1/-1;color:var(--rugym-muted);font-size:.64rem}.admin-user-state{align-items:center;flex-direction:row}.admin-user-state .badge{font-size:.63rem}.admin-user-state .access-state{font-size:.64rem}.admin-row-chevron{font-size:.75rem}
.admin-bulk-toolbar{grid-template-columns:auto 1fr minmax(170px,220px) auto;min-height:48px;gap:10px;padding:5px 9px;border-radius:13px}.admin-bulk-toolbar .form-select{min-height:38px}.admin-exercise-row{grid-template-columns:22px minmax(0,1fr) auto auto;gap:10px;min-height:62px;padding:8px 10px}.admin-exercise-copy{gap:4px}.admin-exercise-copy>strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-size:.83rem;line-height:1.28}.admin-exercise-meta{display:flex!important;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap}.admin-exercise-meta small{flex:0 0 auto;color:var(--rugym-muted);font-size:.66rem}.admin-exercise-meta small+small::before{content:"·";margin-right:6px;color:#bbb4c7}.admin-exercise-topic{min-width:0!important;overflow:hidden;text-overflow:ellipsis}.admin-exercise-meta>.badge{flex:0 0 auto;padding:4px 7px;font-size:.62rem}.quality-pill{padding:3px 6px;font-size:.62rem}.admin-exercise-metrics{gap:0;padding-left:5px;border-left:1px solid var(--rugym-border)}.admin-exercise-metrics>span,.admin-exercise-metrics>a{min-width:54px;padding:2px 6px;background:transparent}.admin-exercise-metrics>a{color:var(--rugym-red)}.admin-exercise-metrics b{font-size:.74rem}.admin-exercise-metrics small{font-size:.62rem}.admin-row-actions{gap:4px}.admin-row-actions .icon-button{width:36px;height:36px;border-radius:11px;font-size:.95rem}
.admin-report-row{grid-template-columns:36px minmax(0,1fr) minmax(125px,.25fr) auto 14px;gap:10px;min-height:62px;padding:9px 12px}.admin-report-row:hover{background:#fbfaff}.admin-report-row .report-state{width:34px;height:34px}.admin-report-copy strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-size:.83rem;line-height:1.3;white-space:normal}.admin-report-copy small,.admin-report-author small{font-size:.66rem}.admin-report-author b{font-size:.73rem}.admin-report-row>.badge{font-size:.63rem}.admin-report-mobile-status{display:none}
@media (max-width:991.98px){.admin-user-row{grid-template-columns:38px minmax(0,1fr) auto auto 14px}.admin-user-state .access-state>span{display:none}.admin-exercise-metrics{display:none}}
@media (max-width:767.98px){.admin-status-strip,.admin-status-reports{display:flex;grid-template-columns:none}.admin-status-reports a:last-child{grid-column:auto}.admin-status-strip a{justify-content:center;min-height:40px}.admin-user-row{grid-template-columns:36px minmax(0,1fr) auto 18px;gap:8px;min-height:56px;padding:7px 9px}.admin-user-row .admin-avatar{width:36px;height:36px}.admin-user-copy{grid-column:2}.admin-user-last-seen{display:none}.admin-user-metrics{display:flex;grid-column:3;align-items:flex-end;min-width:0;flex-direction:column;gap:0;padding:0}.admin-user-metrics b{font-size:.73rem}.admin-user-metrics>span{font-size:.62rem}.admin-user-metrics small{display:none}.admin-user-state{grid-column:4;grid-row:1;justify-content:center}.admin-user-state .badge{display:none}.admin-user-state .access-state{font-size:.76rem}.admin-user-row>.admin-row-chevron{display:none}.admin-exercise-row{grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"check copy actions";align-items:center;gap:7px;min-height:66px;padding:8px}.admin-exercise-row>.admin-row-check{grid-area:check;margin:0}.admin-exercise-copy{grid-area:copy;align-self:center}.admin-exercise-row>.admin-row-actions{grid-area:actions;align-self:center}.admin-exercise-copy>strong{-webkit-line-clamp:2;font-size:.8rem}.admin-exercise-meta{gap:5px}.admin-exercise-meta small{font-size:.65rem}.admin-exercise-topic{display:none}.admin-exercise-meta .quality-pill{font-size:0;width:20px;height:20px;justify-content:center;padding:0}.admin-exercise-meta .quality-pill i{font-size:.68rem}.admin-exercise-meta>.badge{font-size:.61rem}.admin-report-row{grid-template-columns:32px minmax(0,1fr);gap:8px;min-height:60px;padding:8px 9px}.admin-report-row .report-state{width:32px;height:32px}.admin-report-copy strong{-webkit-line-clamp:2;font-size:.8rem}.admin-report-copy small{font-size:.65rem}.admin-report-author,.admin-report-row>.badge{display:none}.admin-report-mobile-status{display:inline-flex;margin-right:5px;padding:2px 5px;border-radius:999px;font-size:.6rem;font-weight:800;line-height:1.1}.admin-report-row .admin-row-chevron{display:none}}
@media (max-width:575.98px){.admin-page{padding-top:10px!important}.admin-nav{margin-bottom:14px!important;scroll-padding-inline:4px}.admin-page-heading{margin-bottom:10px!important}.admin-heading-note{font-size:.67rem}.admin-status-strip{margin-bottom:10px!important;padding:3px}.admin-status-strip a{flex-direction:column;gap:1px;min-height:40px;padding:4px 3px;line-height:1.05}.admin-status-strip strong{font-size:.78rem}.admin-status-strip span{font-size:.68rem}.admin-filter-disclosure{margin-bottom:10px!important}.admin-filter-disclosure>summary{min-height:44px}.admin-filter-summary-meta{font-size:.65rem}.admin-user-list,.admin-exercise-list,.admin-report-list{border-radius:14px}.admin-bulk-toolbar{grid-template-columns:auto 1fr;gap:6px;min-height:0;margin-bottom:7px!important;padding:7px}.admin-bulk-toolbar .admin-check b{font-size:.7rem}.admin-bulk-toolbar>span{justify-self:end;font-size:.68rem}.admin-bulk-toolbar .form-select{grid-column:1;min-height:38px;font-size:.72rem}.admin-bulk-toolbar .btn{grid-column:2;grid-row:2;min-height:38px;padding-inline:11px;font-size:.72rem}.admin-row-actions .icon-button{width:36px;height:36px}.admin-report-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media (max-width:374.98px){.admin-status-strip a{gap:3px;padding-inline:2px}.admin-status-strip strong{font-size:.74rem}.admin-status-strip span{font-size:.63rem}.admin-status-reports strong{font-size:.7rem}.admin-status-reports span{font-size:.6rem}.admin-user-row{grid-template-columns:34px minmax(0,1fr) auto 16px;padding-inline:7px}.admin-user-row .admin-avatar{width:34px;height:34px}.admin-user-copy strong{font-size:.78rem}.admin-user-copy small{font-size:.64rem}.admin-exercise-meta>small:nth-of-type(n+2){display:none}.admin-row-actions{flex-direction:column}.admin-row-actions .icon-button{width:32px;height:32px;min-height:32px}.admin-exercise-row{min-height:76px}}

/* Dashboard achievement showcase: one focus goal plus three unique milestones. */
.achievement-preview{position:relative;display:flex;overflow:hidden;flex-direction:column}.achievement-preview::before{position:absolute;top:-90px;right:0;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(104,82,214,.1),transparent 68%);content:"";pointer-events:none}.achievement-preview-heading{position:relative;z-index:1}.achievement-collection-link{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:4px 5px 4px 10px;border:1px solid #ddd6f7;border-radius:999px;background:#fff;color:var(--rugym-primary);font-size:.72rem;font-weight:800}.achievement-collection-link b{font-size:.68rem}.achievement-collection-link i{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--rugym-primary);color:#fff}.achievement-next-card{position:relative;z-index:1;display:grid;grid-template-columns:50px minmax(0,1fr) 34px;align-items:center;gap:12px;margin-top:16px;padding:13px 14px;border:1px solid #dcd3fb;border-radius:18px;background:linear-gradient(115deg,#f5f1ff,#fbfaff);color:var(--rugym-ink);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.achievement-next-card:hover{border-color:#bbaaf5;color:var(--rugym-ink);box-shadow:0 10px 24px rgba(79,58,157,.1);transform:translateY(-1px)}.achievement-next-card .badge-art{width:48px;height:48px;border-radius:15px;font-size:1.05rem}.achievement-next-card .badge-art>b,.achievement-preview-item .badge-art>b{position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:var(--rugym-primary);color:#fff;font-size:.55rem}.achievement-next-copy{display:flex;min-width:0;flex-direction:column}.achievement-next-copy>small{color:var(--rugym-primary);font-size:.62rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.achievement-next-copy>strong{margin-top:1px;font-size:.86rem}.achievement-next-copy>span{overflow:hidden;margin-top:2px;color:var(--rugym-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.achievement-next-arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--rugym-primary);box-shadow:0 4px 12px rgba(71,51,143,.09)}.achievement-next-card.is-complete{border-color:#bfe8d6;background:linear-gradient(115deg,#effbf6,#fbfffd)}.achievement-preview-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}.achievement-preview-item{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:68px;padding:10px;border:1px solid var(--rugym-border);border-radius:16px;background:#fff}.achievement-preview-item>.badge-art{width:40px;height:40px;border-radius:13px;font-size:.9rem}.achievement-preview-item>span:last-child{display:flex;min-width:0;flex-direction:column}.achievement-preview-item strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.72rem;line-height:1.2}.achievement-preview-item small{margin-top:4px;color:var(--rugym-green);font-size:.6rem;font-weight:750}.achievement-preview-item.is-locked{background:#faf9fc}.achievement-preview-item.is-locked>.badge-art{filter:grayscale(.85);opacity:.48;box-shadow:none}.achievement-preview-item.is-locked strong{color:#756f80}.achievement-preview-item.is-locked small{color:#91899b}.achievement-preview-item .badge-art{position:relative}
@media (max-width:575.98px){.achievement-preview{padding:18px}.achievement-preview::before{top:-115px;right:0}.achievement-preview-heading h2{font-size:1.35rem}.achievement-collection-link{min-height:36px;padding-left:9px}.achievement-collection-link span{display:none}.achievement-next-card{grid-template-columns:44px minmax(0,1fr) 28px;gap:10px;margin-top:13px;padding:11px;border-radius:16px}.achievement-next-card .badge-art{width:43px;height:43px;border-radius:14px}.achievement-next-copy>strong{font-size:.8rem}.achievement-next-copy>span{font-size:.65rem}.achievement-next-arrow{width:28px;height:28px}.achievement-preview-list{gap:6px;margin-top:8px}.achievement-preview-item{display:flex;min-height:98px;flex-direction:column;gap:7px;padding:9px 5px;text-align:center}.achievement-preview-item>.badge-art{width:38px;height:38px}.achievement-preview-item strong{font-size:.68rem}.achievement-preview-item small{font-size:.58rem}}
@media (max-width:374.98px){.achievement-preview{padding:16px 14px}.achievement-next-card{grid-template-columns:42px minmax(0,1fr) 26px;padding-inline:9px}.achievement-next-copy>span{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.achievement-preview-item{min-height:96px}.achievement-preview-item strong{font-size:.65rem}.achievement-preview-item small{font-size:.56rem}}

/* Team controls v2: secure invitations and explicit membership actions. */
.invite-card{position:relative;display:block;overflow:hidden;padding:24px;background:linear-gradient(135deg,#322657 0%,#5e48b9 100%);box-shadow:0 18px 42px rgba(52,38,101,.16)}
.invite-card::after{position:absolute;right:0;bottom:0;width:150px;height:118px;background:radial-gradient(circle at 100% 100%,rgba(255,255,255,.13),transparent 70%);content:"";pointer-events:none}
.invite-card-head{position:relative;z-index:1;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px}
.invite-card-head>div{display:flex;min-width:0;flex-direction:column}.invite-card-head h2{margin:3px 0 0;font-size:1.28rem;line-height:1.15}.invite-card>.invite-card-head+.invite-link,.invite-card>p,.invite-card>.team-invite-actions{position:relative;z-index:1}
.invite-card>p{max-width:620px;margin:13px 0 0;color:rgba(255,255,255,.76);font-size:.78rem;line-height:1.5}
.invite-refresh-form{margin:0}.invite-refresh-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.19);border-radius:13px;background:rgba(255,255,255,.1);color:#fff;font-size:1.05rem;transition:background .18s ease,transform .18s ease}.invite-refresh-button:hover,.invite-refresh-button:focus-visible{background:rgba(255,255,255,.2);transform:rotate(18deg)}
.invite-link{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:7px;margin-top:15px;padding:5px}.invite-link input{width:100%;padding:8px 9px;font-size:.72rem;text-overflow:ellipsis}.invite-link button{display:grid;width:44px;min-height:44px;padding:0;place-items:center;font-size:.95rem}
.team-invite-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.team-invite-actions>.invite-action{display:flex;min-width:130px;min-height:46px;flex:1 1 0;align-items:center;justify-content:center;gap:8px;padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.1);color:#fff;font-size:.72rem;font-weight:780}.team-invite-actions>.invite-action:hover,.team-invite-actions>.invite-action:focus-visible{background:rgba(255,255,255,.18)}.team-invite-actions>.invite-action-primary{background:#fff;color:var(--rugym-primary)}.team-invite-actions>.invite-action-primary:hover,.team-invite-actions>.invite-action-primary:focus-visible{background:#f5f1ff;color:var(--rugym-primary)}
.team-invite-actions>.invite-code-action{display:grid;grid-template-columns:32px minmax(0,1fr) 24px;flex-basis:100%;justify-content:stretch;text-align:left}.invite-code-action>i:first-child{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:rgba(255,255,255,.12)}.invite-code-action>span{display:flex;min-width:0;flex-direction:column}.invite-code-action small{color:rgba(255,255,255,.62);font-size:.55rem}.invite-code-action b{overflow:hidden;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.invite-card.is-full .invite-card-head{grid-template-columns:52px minmax(0,1fr)}
.member-owner-actions{display:flex;gap:5px}.member-owner-actions form{margin:0}.member-owner-actions button{display:grid;width:40px;height:40px;padding:0;place-items:center;border:1px solid var(--rugym-border);border-radius:12px;background:#fff;color:var(--rugym-primary);font-size:.92rem;transition:background .16s ease,border-color .16s ease,color .16s ease}.member-owner-actions button:hover,.member-owner-actions button:focus-visible{border-color:#cfc3f7;background:var(--rugym-primary-soft)}.member-owner-actions button.danger{color:var(--rugym-red)}.member-owner-actions button.danger:hover,.member-owner-actions button.danger:focus-visible{border-color:#f0c5cc;background:var(--rugym-red-soft)}
.team-leave-form{display:block;margin-top:14px;padding-top:13px}.team-danger-action,.team-leave-action{display:grid;width:100%;min-height:58px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;padding:8px 11px;border:1px solid #efcbd1;border-radius:14px;background:#fffafb;color:var(--rugym-red);text-align:left;transition:background .16s ease,border-color .16s ease}.team-leave-action{border-color:var(--rugym-border);background:var(--rugym-bg);color:var(--rugym-ink)}.team-danger-action:hover,.team-danger-action:focus-visible{border-color:#eaaeb8;background:var(--rugym-red-soft)}.team-leave-action:hover,.team-leave-action:focus-visible{border-color:#d5caf8;background:var(--rugym-primary-soft)}.team-danger-action>i,.team-leave-action>i{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:var(--rugym-red-soft);font-size:1rem}.team-leave-action>i{background:#fff;color:var(--rugym-primary)}.team-danger-action>span,.team-leave-action>span{display:flex;min-width:0;flex-direction:column}.team-danger-action strong,.team-leave-action strong{font-size:.73rem}.team-danger-action small,.team-leave-action small{margin-top:1px;color:var(--rugym-muted);font-size:.59rem}
.team-qr-code strong{white-space:normal;overflow-wrap:normal;text-overflow:clip}
@media (max-width:575.98px){.invite-card{padding:18px}.invite-card-head{grid-template-columns:44px minmax(0,1fr) 44px;gap:10px}.invite-card-head h2{font-size:1.1rem}.invite-card>.invite-icon{margin:0}.invite-card>p{font-size:.72rem}.invite-link{display:grid;grid-template-columns:minmax(0,1fr) 44px}.invite-link input{padding-inline:7px}.team-invite-actions{display:flex}.team-invite-actions>.invite-action{min-width:115px}.team-invite-actions>.invite-code-action{flex-basis:100%}.invite-code-action b{font-size:.69rem}.member-main.has-owner-actions{grid-template-columns:22px 38px minmax(0,1fr) auto;grid-template-areas:"rank avatar copy score" ". . actions actions"}.member-main.has-owner-actions>.member-rank{grid-area:rank}.member-main.has-owner-actions>.leader-avatar{grid-area:avatar}.member-main.has-owner-actions>.member-copy{grid-area:copy}.member-main.has-owner-actions>.member-score{grid-area:score}.member-main.has-owner-actions>.member-owner-actions{grid-area:actions;justify-self:end}.member-owner-actions button{width:40px;height:40px}.team-qr-code{grid-template-columns:auto minmax(0,1fr) 44px}.team-qr-code strong{font-size:.67rem;line-height:1.45}}
@media (max-width:374.98px){.invite-card{padding:17px 15px}.invite-card-head h2{font-size:1.02rem}.team-invite-actions>.invite-action{min-width:100%;flex-basis:100%}.invite-code-action b{font-size:.65rem;letter-spacing:.02em}.team-qr-code{grid-template-columns:minmax(0,1fr) 44px}.team-qr-code>span{grid-column:1}.team-qr-code>strong{grid-column:1}.team-qr-code>button{grid-column:2;grid-row:1/3}.member-main.has-owner-actions{grid-template-columns:20px 35px minmax(0,1fr) auto}}

/* Theory library v3: compact reading-first catalogue. */
.theory-library-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px);align-items:center;gap:32px;overflow:hidden;padding:30px 32px;border:1px solid #e1dcf0;border-radius:26px;background:linear-gradient(125deg,#fff 0%,#fbfaff 68%,#f2edff 100%);box-shadow:0 16px 44px rgba(47,35,95,.07)}
.theory-library-header::after{position:absolute;top:0;right:0;width:118px;height:5px;border-radius:0 0 0 8px;background:linear-gradient(90deg,#8c73ea,var(--rugym-primary));content:""}.theory-library-copy{min-width:0}.theory-library-copy>.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--rugym-primary)}.theory-library-copy h1{margin:8px 0 9px;font-size:clamp(2rem,4vw,3.25rem);font-weight:860;line-height:1.02;letter-spacing:-.048em}.theory-library-copy p{max-width:670px;margin:0;color:var(--rugym-muted);font-size:.88rem;line-height:1.55}
.theory-library-overview{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;border:1px solid #e3ddf5;border-radius:19px;background:rgba(255,255,255,.82)}.theory-library-overview>span{display:grid;grid-template-columns:34px auto;grid-template-rows:auto auto;align-items:center;column-gap:9px;min-width:0;padding:9px 10px}.theory-library-overview>span>i{grid-row:1/3;display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.theory-library-overview b{font-size:.9rem;line-height:1}.theory-library-overview small{margin-top:2px;color:var(--rugym-muted);font-size:.58rem}.theory-library-overview>a{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:13px;background:var(--rugym-primary);color:#fff;font-size:.73rem;font-weight:800;box-shadow:0 8px 18px rgba(94,70,195,.2)}
.theory-library-tools{display:flex;align-items:center;gap:13px;margin-top:18px}.theory-library-tools .theory-search{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;max-width:none;min-width:0;flex:1;margin:0;padding:4px 7px 4px 14px;border:1px solid var(--rugym-border);border-radius:15px;background:#fff;color:var(--rugym-primary);box-shadow:none}.theory-library-tools .theory-search:focus-within{border-color:#b9aaf2;box-shadow:0 0 0 3px rgba(102,79,201,.1)}.theory-library-tools .theory-search input{width:100%;min-height:42px;padding:0 7px;font-size:.78rem}.theory-search-hint{padding:6px 9px;border-radius:9px;background:var(--rugym-bg);color:var(--rugym-muted);font-size:.58rem;font-weight:750}.theory-result-count{flex:0 0 auto;color:var(--rugym-muted);font-size:.68rem}.theory-result-count b{color:var(--rugym-primary);font-size:.78rem}
.theory-catalog{display:grid;gap:11px;margin-top:12px}.theory-chapter{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);min-width:0;overflow:hidden;border:1px solid var(--rugym-border);border-radius:21px;background:#fff;box-shadow:0 8px 25px rgba(48,35,94,.035);transition:border-color .18s ease,box-shadow .18s ease}.theory-chapter:hover{border-color:#d4caf6;box-shadow:0 12px 31px rgba(48,35,94,.07)}.theory-chapter[hidden]{display:none}
.theory-chapter-head{display:grid;grid-template-columns:32px 46px minmax(0,1fr);align-content:center;align-items:start;gap:10px;padding:19px 20px;background:linear-gradient(115deg,#fff,#fbfaff)}.theory-chapter-number{padding-top:4px;color:#aaa2bc;font-size:.62rem;font-weight:850;letter-spacing:.08em}.theory-chapter-head>.topic-icon{width:44px;height:44px;margin:0;border-radius:13px}.theory-chapter-head>div{min-width:0}.theory-chapter-head .eyebrow{font-size:.55rem}.theory-chapter-head h2{margin:2px 0 4px;font-size:1rem;font-weight:840;line-height:1.2}.theory-chapter-head p{display:-webkit-box;overflow:hidden;margin:0;color:var(--rugym-muted);font-size:.67rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.theory-chapter-head>.rule-count{grid-column:3;justify-self:start;margin-top:8px;padding:4px 7px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:.57rem}
.theory-rule-list{display:grid;align-content:center;border-left:1px solid var(--rugym-border);background:#fdfcff}.theory-rule-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:104px;padding:15px 18px;color:var(--rugym-ink);transition:background .16s ease}.theory-rule-row+.theory-rule-row{border-top:1px solid var(--rugym-border)}.theory-rule-row:hover,.theory-rule-row:focus-visible{background:var(--rugym-primary-soft);color:var(--rugym-ink)}.theory-rule-index{display:grid;width:32px;height:32px;place-items:center;border:1px solid #dcd5f5;border-radius:10px;background:#fff;color:var(--rugym-primary);font-size:.65rem;font-weight:850}.theory-rule-copy{display:flex;min-width:0;flex-direction:column}.theory-rule-copy>small{color:var(--rugym-primary);font-size:.53rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.theory-rule-copy>strong{margin-top:2px;font-size:.81rem}.theory-rule-copy>span{display:-webkit-box;overflow:hidden;margin-top:3px;color:var(--rugym-muted);font-size:.63rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.theory-rule-open{display:flex;align-items:center;gap:7px;color:var(--rugym-primary);font-size:.62rem;font-weight:800}.theory-rule-open>i{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:#fff;box-shadow:0 3px 11px rgba(55,40,110,.08);transition:transform .16s ease}.theory-rule-row:hover .theory-rule-open>i{transform:translateX(2px)}.theory-rules-empty{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:18px;color:var(--rugym-muted)}.theory-rules-empty>i{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:var(--rugym-bg)}.theory-rules-empty>span{display:flex;flex-direction:column}.theory-rules-empty strong{font-size:.73rem}.theory-rules-empty small{font-size:.6rem}.theory-empty-state{margin-top:12px}
.theory-detail-nav{display:flex;align-items:center;justify-content:space-between;gap:14px}.theory-detail-nav>span{overflow:hidden;color:var(--rugym-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.theory-mobile-topic-nav{display:none}.theory-article{box-shadow:0 12px 36px rgba(44,33,83,.045)}.theory-article h1{font-size:clamp(2rem,4.3vw,3rem);line-height:1.05}.theory-summary{background:linear-gradient(115deg,#f3efff,#faf8ff)}.theory-reading-status-inline{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:18px;padding:12px 13px;border:1px solid var(--rugym-border);border-radius:15px;background:#faf9fc}.theory-reading-status-inline>span{justify-content:flex-start;gap:6px}.theory-reading-status-inline button{min-width:170px;padding-inline:13px}
@media (max-width:991.98px){.theory-library-header{grid-template-columns:1fr}.theory-library-overview{max-width:520px}.theory-reading-layout{display:block}.theory-toc{display:none}.theory-mobile-topic-nav{display:block;margin-top:12px;overflow:hidden;border:1px solid var(--rugym-border);border-radius:16px;background:#fff}.theory-mobile-topic-nav>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:8px 11px;cursor:pointer;list-style:none}.theory-mobile-topic-nav>summary::-webkit-details-marker{display:none}.theory-mobile-topic-nav>summary>span{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;min-width:0}.theory-mobile-topic-nav>summary>span>i{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.theory-mobile-topic-nav>summary>span>span{display:flex;min-width:0;flex-direction:column}.theory-mobile-topic-nav small{color:var(--rugym-muted);font-size:.56rem}.theory-mobile-topic-nav strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.theory-mobile-topic-nav>summary>i{color:var(--rugym-muted);transition:transform .18s ease}.theory-mobile-topic-nav[open]>summary>i{transform:rotate(180deg)}.theory-mobile-topic-nav nav{display:grid;padding:5px 11px 9px;border-top:1px solid var(--rugym-border)}.theory-mobile-topic-nav nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:7px 4px;border-bottom:1px solid var(--rugym-border);color:var(--rugym-muted);font-size:.68rem;font-weight:700}.theory-mobile-topic-nav nav a:last-child{border:0}.theory-mobile-topic-nav nav a.active{color:var(--rugym-primary)}}
@media (max-width:767.98px){.theory-library-header{padding:23px 20px}.theory-library-copy h1{font-size:2.25rem}.theory-chapter{display:block}.theory-rule-list{border-top:1px solid var(--rugym-border);border-left:0}.theory-rule-row{min-height:94px}.theory-detail-nav>span{display:none}}
@media (max-width:575.98px){.theory-library{padding:14px 10px!important}.theory-library-header{gap:19px;padding:20px 17px;border-radius:21px}.theory-library-header::after{width:78px;height:4px}.theory-library-copy h1{margin-top:7px;font-size:1.9rem;line-height:1.07}.theory-library-copy p{font-size:.75rem}.theory-library-overview{gap:4px;padding:5px;border-radius:15px}.theory-library-overview>span{grid-template-columns:31px auto;padding:7px}.theory-library-overview>span>i{width:31px;height:31px}.theory-library-overview>a{min-height:44px}.theory-library-tools{align-items:stretch;flex-direction:column;gap:6px;margin-top:11px}.theory-library-tools .theory-search{width:100%;padding-left:12px}.theory-search-hint{display:none}.theory-result-count{padding-left:4px}.theory-catalog{gap:8px;margin-top:8px}.theory-chapter{border-radius:18px}.theory-chapter-head{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:15px}.theory-chapter-number{display:none}.theory-chapter-head>.topic-icon{width:42px;height:42px}.theory-chapter-head>div{grid-column:2}.theory-chapter-head h2{font-size:.9rem}.theory-chapter-head p{font-size:.63rem}.theory-chapter-head>.rule-count{grid-column:2;margin-top:4px}.theory-rule-row{grid-template-columns:30px minmax(0,1fr) 30px;gap:9px;min-height:88px;padding:12px 13px}.theory-rule-index{width:30px;height:30px}.theory-rule-copy>strong{font-size:.75rem}.theory-rule-copy>span{font-size:.6rem}.theory-rule-open>span{display:none}.theory-rule-open>i{width:30px;height:30px}.theory-detail-page{padding-top:14px!important}.theory-detail-nav{padding-inline:3px}.theory-mobile-topic-nav{margin-top:8px}.theory-reading-layout{margin-top:9px!important}.theory-article{padding:21px 16px}.theory-article h1{margin:16px 0 12px;font-size:1.85rem}.theory-article-meta{font-size:.66rem}.theory-trust-line{font-size:.62rem}.theory-summary{margin:20px 0}.theory-reading-status-inline{grid-template-columns:1fr}.theory-reading-status-inline>span{justify-content:space-between}.theory-reading-status-inline button{width:100%}.theory-practice-cta{margin-top:14px}}
@media (max-width:374.98px){.theory-library-copy h1{font-size:1.72rem}.theory-library-overview>span{grid-template-columns:28px auto;padding-inline:5px}.theory-library-overview>span>i{width:28px;height:28px}.theory-chapter-head{padding-inline:13px}.theory-rule-row{padding-inline:11px}.theory-rule-copy>span{-webkit-line-clamp:1}.theory-article{padding-inline:14px}.theory-article h1{font-size:1.7rem}}
@media (prefers-reduced-motion:reduce){.theory-chapter,.theory-rule-row,.theory-rule-open>i,.theory-mobile-topic-nav>summary>i{transition:none}}

/* Learning journal v2: compact history and mistakes with progressive disclosure. */
.journal-page{max-width:1120px}.journal-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.journal-heading>div{min-width:0}.journal-heading .eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--rugym-primary)}.journal-heading h1{margin:7px 0 7px;font-size:clamp(2rem,4vw,3rem);font-weight:870;line-height:1.03;letter-spacing:-.045em}.journal-heading p{max-width:690px;margin:0;color:var(--rugym-muted);font-size:.84rem;line-height:1.5}.journal-heading>.btn{min-height:46px;flex:0 0 auto;padding-inline:18px}
.journal-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:12px;padding:5px;border:1px solid var(--rugym-border);border-radius:17px;background:#fff;box-shadow:0 6px 22px rgba(46,34,89,.035)}.journal-tabs>a{display:flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border-radius:12px;color:var(--rugym-muted);font-size:.76rem;font-weight:800;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.journal-tabs>a:hover,.journal-tabs>a:focus-visible{background:var(--rugym-bg);color:var(--rugym-primary)}.journal-tabs>a.active{background:var(--rugym-primary);color:#fff;box-shadow:0 7px 16px rgba(98,73,201,.2)}
.journal-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}.journal-kpi-grid.three{grid-template-columns:repeat(3,1fr)}.journal-kpi-grid>article{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:72px;padding:12px 14px;border:1px solid var(--rugym-border);border-radius:17px;background:#fff}.journal-kpi-grid>article>span{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;font-size:1rem}.journal-kpi-grid .violet{background:var(--rugym-primary-soft);color:var(--rugym-primary)}.journal-kpi-grid .blue{background:#eaf4ff;color:#3278c8}.journal-kpi-grid .orange{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.journal-kpi-grid .green{background:var(--rugym-green-soft);color:var(--rugym-green)}.journal-kpi-grid .red{background:var(--rugym-red-soft);color:var(--rugym-red)}.journal-kpi-grid article>div{display:flex;min-width:0;flex-direction:column}.journal-kpi-grid strong{font-size:1.08rem;line-height:1.05}.journal-kpi-grid small{margin-top:4px;overflow:hidden;color:var(--rugym-muted);font-size:.65rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.journal-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:6px 7px;border:1px solid var(--rugym-border);border-radius:16px;background:#fff}.journal-filter-bar>span,.mistake-result-count{padding-right:8px;color:var(--rugym-muted);font-size:.65rem;white-space:nowrap}.journal-filter-bar>span b,.mistake-result-count b{color:var(--rugym-primary)}.journal-segments{display:flex;min-width:0;gap:3px}.journal-segments button{min-height:38px;padding:7px 13px;border:0;border-radius:10px;background:transparent;color:var(--rugym-muted);font-size:.68rem;font-weight:780;white-space:nowrap;transition:background .15s ease,color .15s ease}.journal-segments button:hover,.journal-segments button:focus-visible{background:var(--rugym-bg);color:var(--rugym-primary)}.journal-segments button.active{background:var(--rugym-primary-soft);color:var(--rugym-primary)}
.journal-empty{margin-top:12px}.journal-page [hidden]{display:none!important}
.compact-history{gap:9px}.history-session{overflow:hidden;border:1px solid var(--rugym-border);border-radius:18px;background:#fff;box-shadow:0 7px 24px rgba(48,37,91,.035);transition:border-color .16s ease,box-shadow .16s ease}.history-session:hover{border-color:#d7cff0}.history-session.active{border-color:#c9bef2}.history-session>summary,.history-items-disclosure>summary,.history-item-detail>summary,.mistake-entry>summary{list-style:none}.history-session>summary::-webkit-details-marker,.history-items-disclosure>summary::-webkit-details-marker,.history-item-detail>summary::-webkit-details-marker,.mistake-entry>summary::-webkit-details-marker{display:none}.history-session>summary{display:grid;grid-template-columns:44px minmax(0,1fr) 68px 24px;align-items:center;gap:12px;min-height:86px;padding:11px 15px;cursor:pointer}.history-session>summary:hover,.history-session>summary:focus-visible{background:#fcfbff}.history-session .history-route-icon{width:44px;height:44px;border-radius:13px}.history-summary-copy{display:flex;min-width:0;flex-direction:column}.history-summary-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.history-summary-top time{color:var(--rugym-muted);font-size:.64rem;white-space:nowrap}.history-summary-copy>strong{overflow:hidden;font-size:.85rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.history-summary-copy>small{margin-top:2px;overflow:hidden;color:var(--rugym-muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.history-status{padding:4px 7px;font-size:.59rem}.history-status.stopped{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.history-summary-score{display:flex;flex-direction:column;align-items:flex-end;line-height:1.05}.history-summary-score strong{color:var(--rugym-primary);font-size:1rem}.history-summary-score.great strong{color:var(--rugym-green)}.history-summary-score small{margin-top:5px;color:var(--rugym-muted);font-size:.61rem;white-space:nowrap}.history-expand{display:grid;width:24px;height:24px;place-items:center;color:var(--rugym-muted);transition:transform .2s ease}.history-session[open]>summary .history-expand{transform:rotate(180deg)}
.history-session-content{display:grid;gap:10px;padding:12px 15px 15px;border-top:1px solid var(--rugym-border);background:#fdfcff}.history-session-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.history-session-metrics>span{display:grid;grid-template-columns:25px auto;grid-template-rows:auto auto;align-items:center;column-gap:7px;min-width:0;padding:9px 10px;border-radius:12px;background:#fff}.history-session-metrics i{grid-row:1/3;display:grid;width:25px;height:25px;place-items:center;border-radius:8px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:.75rem}.history-session-metrics b{font-size:.8rem;line-height:1}.history-session-metrics small{margin-top:3px;color:var(--rugym-muted);font-size:.57rem;line-height:1}
.history-items-disclosure{overflow:hidden;border:1px solid var(--rugym-border);border-radius:14px;background:#fff}.history-items-disclosure>summary{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:10px;padding:7px 11px;cursor:pointer}.history-items-disclosure>summary:hover,.history-items-disclosure>summary:focus-visible{background:var(--rugym-primary-soft)}.history-items-disclosure>summary>span{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px}.history-items-disclosure>summary>span>i{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--rugym-primary-soft);color:var(--rugym-primary)}.history-items-disclosure>summary>span>span{display:flex;flex-direction:column}.history-items-disclosure>summary strong{font-size:.72rem}.history-items-disclosure>summary small{margin-top:2px;color:var(--rugym-muted);font-size:.6rem}.history-items-disclosure>summary>i{color:var(--rugym-muted);font-size:.72rem;transition:transform .18s ease}.history-items-disclosure[open]>summary>i{transform:rotate(180deg)}.history-items-disclosure .history-item-list{border-width:1px 0 0;border-radius:0}
.history-item-detail>summary{min-height:56px}.history-item-detail>summary strong{font-size:.74rem}.history-item-answer{padding:0 12px 12px 53px}.history-answer-pair{padding:10px}.history-answer-pair span{gap:2px}.history-answer-pair small{color:var(--rugym-muted);font-size:.57rem}.history-answer-pair b{overflow-wrap:anywhere;font-size:.72rem}.history-explanation{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;padding:10px;border-radius:11px;background:var(--rugym-orange-soft);color:#70451e}.history-explanation>i{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:rgba(255,255,255,.6)}.history-explanation>span{min-width:0}.history-explanation small{display:block;font-size:.57rem;font-weight:800;text-transform:uppercase}.history-explanation p{padding:0;background:none;font-size:.7rem;line-height:1.45}.history-explanation a{display:inline-flex;align-items:center;gap:5px;margin-top:5px;color:var(--rugym-primary);font-size:.65rem;font-weight:800}.history-explanation.muted{background:var(--rugym-bg);color:var(--rugym-muted)}.history-result-link{justify-self:start;margin-top:0;min-height:42px}
.mistake-filter-panel{display:grid;grid-template-columns:minmax(230px,1fr) minmax(180px,230px) auto auto;align-items:center;gap:8px;margin-bottom:10px;padding:7px;border:1px solid var(--rugym-border);border-radius:17px;background:#fff}.mistake-search{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:5px;min-width:0;min-height:44px;padding:0 12px;border-radius:12px;background:var(--rugym-bg);color:var(--rugym-primary)}.mistake-search:focus-within{box-shadow:0 0 0 3px rgba(101,78,201,.1)}.mistake-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--rugym-ink);font-size:.72rem}.mistake-filter-panel .form-select{min-height:44px;border-color:transparent;border-radius:12px;background-color:var(--rugym-bg);font-size:.68rem}.journal-segments.compact{padding:3px;border-radius:12px;background:var(--rugym-bg)}.journal-segments.compact button{min-height:38px;padding-inline:10px}.journal-segments.compact button.active{background:#fff;box-shadow:0 3px 10px rgba(48,37,91,.07)}.mistake-result-count{justify-self:end}
.mistake-list{gap:8px}.mistake-entry{overflow:hidden;border:1px solid var(--rugym-border);border-radius:17px;background:#fff;box-shadow:0 6px 20px rgba(48,37,91,.03);transition:border-color .16s ease,box-shadow .16s ease}.mistake-entry:hover{border-color:#d7cff0}.mistake-entry>summary{display:grid;grid-template-columns:40px minmax(0,1fr) auto 20px;align-items:center;gap:11px;min-height:76px;padding:10px 13px;cursor:pointer}.mistake-entry>summary:hover,.mistake-entry>summary:focus-visible{background:#fcfbff}.mistake-state{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--rugym-red-soft);color:var(--rugym-red)}.mistake-entry.timeout .mistake-state{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.mistake-summary-copy{display:flex;min-width:0;flex-direction:column}.mistake-summary-copy>span{display:flex;align-items:center;gap:8px;min-width:0}.mistake-summary-copy .topic-chip{overflow:hidden;max-width:240px;padding:3px 7px;font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}.mistake-summary-copy time{color:var(--rugym-muted);font-size:.6rem;white-space:nowrap}.mistake-summary-copy>strong{display:-webkit-box;overflow:hidden;margin-top:5px;font-size:.78rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:1}.mistake-kind{padding:5px 8px;border-radius:999px;background:var(--rugym-red-soft);color:var(--rugym-red);font-size:.58rem;font-weight:800}.mistake-entry.timeout .mistake-kind{background:var(--rugym-orange-soft);color:var(--rugym-orange)}.mistake-entry>summary>i{color:var(--rugym-muted);font-size:.7rem;transition:transform .18s ease}.mistake-entry[open]>summary>i{transform:rotate(180deg)}
.mistake-entry-content{display:grid;gap:10px;padding:12px 14px 14px;border-top:1px solid var(--rugym-border);background:#fdfcff}.mistake-comparison-list{display:grid;gap:7px}.mistake-comparison{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:8px;padding:9px 11px;border-radius:12px;background:#fff}.mistake-comparison>span{display:flex;min-width:0;flex-direction:column}.mistake-comparison small{color:var(--rugym-muted);font-size:.58rem}.mistake-comparison strong{margin-top:2px;overflow-wrap:anywhere;font-size:.74rem}.mistake-comparison .actual strong{color:var(--rugym-red)}.mistake-comparison .expected strong{color:var(--rugym-green)}.mistake-comparison>i{color:var(--rugym-muted);text-align:center}.mistake-timeout-note,.mistake-explanation{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:9px;padding:11px;border-radius:12px}.mistake-timeout-note{background:var(--rugym-orange-soft);color:#70451e}.mistake-timeout-note>i,.mistake-explanation>i{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:rgba(255,255,255,.7)}.mistake-timeout-note>span,.mistake-explanation>span{display:flex;min-width:0;flex-direction:column}.mistake-timeout-note strong{font-size:.72rem}.mistake-timeout-note small{margin-top:2px;font-size:.63rem}.mistake-explanation{background:var(--rugym-primary-soft);color:#3d3167}.mistake-explanation>i{color:var(--rugym-primary)}.mistake-explanation small{font-size:.57rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.mistake-explanation p{margin:3px 0 0;font-size:.72rem;line-height:1.5}.mistake-entry-content>footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.mistake-entry-content>footer .btn{min-height:42px}.mistake-entry-content>footer>span{overflow:hidden;color:var(--rugym-muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:991.98px){.mistake-filter-panel{grid-template-columns:minmax(0,1fr) 210px}.mistake-filter-panel .journal-segments{grid-column:1}.mistake-result-count{grid-column:2;grid-row:2}}
@media (max-width:767.98px){.journal-heading{align-items:flex-start;flex-direction:column;gap:14px}.journal-heading>.btn{width:100%}.journal-kpi-grid,.journal-kpi-grid.three{grid-template-columns:1fr 1fr}.journal-kpi-grid.three>article:last-child{grid-column:1/-1}.history-session-metrics{grid-template-columns:1fr 1fr}.mistake-filter-panel{grid-template-columns:1fr 1fr}.mistake-search{grid-column:1/-1}.mistake-filter-panel .journal-segments{grid-column:1}.mistake-result-count{grid-column:2;grid-row:3}.mistake-filter-panel .form-select{grid-column:1/-1}}
@media (max-width:575.98px){.journal-page{width:calc(100% - 20px);padding-top:14px!important;padding-bottom:24px!important}.journal-heading{gap:11px;margin-bottom:12px;padding-inline:3px}.journal-heading h1{margin:5px 0 5px;font-size:1.85rem}.journal-heading p{font-size:.73rem;line-height:1.45}.journal-heading>.btn{min-height:44px}.journal-tabs{margin-bottom:8px;border-radius:15px}.journal-tabs>a{font-size:.71rem}.journal-kpi-grid{gap:6px;margin-bottom:8px}.journal-kpi-grid>article{grid-template-columns:34px minmax(0,1fr);gap:8px;min-height:64px;padding:9px;border-radius:14px}.journal-kpi-grid>article>span{width:34px;height:34px;border-radius:10px;font-size:.88rem}.journal-kpi-grid strong{font-size:.9rem}.journal-kpi-grid small{font-size:.58rem}.journal-filter-bar{align-items:stretch;flex-direction:column;gap:5px;padding:5px}.journal-filter-bar>span{padding:0 6px 3px}.journal-filter-bar .journal-segments{display:grid;grid-template-columns:1fr 1fr;width:100%}.journal-segments button{min-height:42px;padding:7px 8px;font-size:.64rem}.history-session>summary{grid-template-columns:40px minmax(0,1fr) 52px 16px;gap:8px;min-height:94px;padding:10px}.history-session .history-route-icon{width:40px;height:40px}.history-summary-top{align-items:flex-start;flex-direction:column;gap:2px;margin-bottom:4px}.history-summary-top time{font-size:.58rem}.history-summary-copy>strong{display:-webkit-box;font-size:.78rem;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.history-summary-copy>small{font-size:.59rem}.history-status{padding:3px 6px;font-size:.55rem}.history-summary-score strong{font-size:.88rem}.history-summary-score small{font-size:.55rem}.history-session-content{gap:8px;padding:9px}.history-session-metrics{gap:5px}.history-session-metrics>span{grid-template-columns:23px auto;padding:8px}.history-session-metrics i{width:23px;height:23px}.history-session-metrics b{font-size:.73rem}.history-session-metrics small{font-size:.53rem}.history-items-disclosure>summary{min-height:56px;padding-inline:9px}.history-items-disclosure>summary strong{font-size:.7rem}.history-item-detail>summary{grid-template-columns:30px minmax(0,1fr) 14px;gap:8px;padding:9px}.history-item-detail>summary strong{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.history-item-time{display:none}.history-item-answer{padding:0 9px 9px}.history-answer-pair{grid-template-columns:1fr;gap:7px}.history-result-link{width:100%;justify-content:center}.mistake-filter-panel{display:grid;grid-template-columns:1fr;gap:5px;margin-bottom:8px;padding:5px}.mistake-search,.mistake-filter-panel .form-select,.mistake-filter-panel .journal-segments,.mistake-result-count{grid-column:1;grid-row:auto}.mistake-filter-panel .journal-segments{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.mistake-result-count{justify-self:start;padding:2px 7px 3px}.mistake-entry>summary{grid-template-columns:38px minmax(0,1fr) 16px;gap:9px;min-height:82px;padding:9px 10px}.mistake-state{width:38px;height:38px}.mistake-summary-copy>span{gap:5px}.mistake-summary-copy .topic-chip{max-width:150px}.mistake-summary-copy>strong{-webkit-line-clamp:2;font-size:.73rem}.mistake-kind{display:none}.mistake-entry-content{padding:9px}.mistake-comparison{grid-template-columns:1fr;gap:5px;padding:10px}.mistake-comparison>i{transform:rotate(90deg)}.mistake-entry-content>footer{align-items:stretch;flex-direction:column}.mistake-entry-content>footer .btn{width:100%}.mistake-entry-content>footer>span{padding-inline:4px;white-space:normal}.mistake-explanation p{font-size:.69rem}}
@media (max-width:374.98px){.journal-page{width:calc(100% - 16px)}.journal-heading h1{font-size:1.68rem}.history-session>summary{grid-template-columns:38px minmax(0,1fr) 46px 14px;padding-inline:8px}.history-summary-score strong{font-size:.82rem}.history-session-metrics>span{grid-template-columns:1fr;text-align:center}.history-session-metrics i{display:none}.mistake-summary-copy .topic-chip{max-width:120px}.mistake-summary-copy time{font-size:.55rem}}
@media (prefers-reduced-motion:reduce){.journal-tabs>a,.journal-segments button,.history-session,.history-expand,.history-items-disclosure>summary>i,.mistake-entry,.mistake-entry>summary>i{transition:none}}

/* Interaction polish v4: responsive motion, feedback and safer confirmations. */
/* Saved learning plans: the same fields in the introduction and profile. */
.learning-plan-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.learning-plan-fields>label{display:grid;gap:7px;min-width:0;font-size:.9rem;font-weight:700}
.learning-plan-fields .form-select{min-height:48px;font-size:1rem}
.plan-weekdays{grid-column:1/-1;min-width:0;margin:0;border:0;padding:0}
.plan-weekdays legend{margin-bottom:8px;font-size:.9rem;font-weight:700}
.plan-weekdays>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.plan-weekdays label{position:relative;min-width:0;cursor:pointer}
.plan-weekdays input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.plan-weekdays span{display:grid;place-items:center;min-height:44px;border:1px solid var(--rugym-border);border-radius:12px;background:var(--rugym-bg);color:var(--rugym-muted);font-size:.88rem;font-weight:750;transition:background-color .16s ease,color .16s ease,border-color .16s ease}
.plan-weekdays input:checked+span{border-color:var(--rugym-primary);background:var(--rugym-primary-soft);color:var(--rugym-primary-dark)}
.plan-weekdays input:focus-visible+span{outline:3px solid rgba(104,82,214,.35);outline-offset:2px}
.plan-preview,.plan-note,.learning-plan-fields>[data-plan-error]{grid-column:1/-1;margin:0;line-height:1.5}
.plan-preview{padding:12px 14px;border-radius:14px;background:var(--rugym-primary-soft);color:var(--rugym-primary-dark);font-size:.9rem;font-weight:700}
.plan-note{color:var(--rugym-muted);font-size:.85rem}
.plan-save-status{display:inline-block;margin:8px 12px;color:#176c49;font-size:.9rem}
.daily-plan-ring>span>i{font-size:1.8rem;color:var(--rugym-primary)}
.training-setup-v2 .size-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.endless-note{padding:14px;margin:14px 0 0;border-radius:14px;background:var(--rugym-primary-soft);color:var(--rugym-primary-dark);font-size:.9rem;line-height:1.5}
.training-setup-hero{min-height:160px}.auth-card>h1{margin-bottom:24px}.route-hero-copy h1{margin-bottom:24px}
.result-context{margin:16px 0;color:var(--rugym-muted);font-size:.9rem;line-height:1.5}
.player-progress[hidden]{display:none}
/* iOS also zooms focused text fields below 16px; this is separate from double tapping. */
@media(max-width:991.98px){body input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not(.free-answer):not(.text-gap-input),body select,body textarea{font-size:16px!important}.text-gap-input{font-size:max(16px,.72em)}}
.onboarding-card>footer{position:sticky;bottom:-28px;padding-top:16px;padding-bottom:10px;background:#fff;z-index:1}
@media(max-width:575.98px){.learning-plan-fields{gap:12px}.plan-weekdays>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.plan-weekdays span{border-radius:9px;min-height:44px}.learning-plan-fields>label{font-size:.82rem}.training-setup-v2 .size-options label>span{padding:12px 4px;min-height:88px}.training-setup-v2 .size-options small{font-size:.78rem}.training-setup-v2 .size-options strong{font-size:1.55rem}.training-setup-hero{min-height:150px}.onboarding-card>footer{bottom:-21px}}
@media(prefers-reduced-motion:reduce){.plan-weekdays span{transition:none}}
html{scroll-behavior:smooth}.topbar,.mobile-topbar{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.is-scrolled .topbar,.is-scrolled .mobile-topbar{border-color:rgba(214,208,231,.9);background:rgba(250,249,253,.94);box-shadow:0 9px 28px rgba(43,32,84,.08)}
.topbar .nav-pill{position:relative;transition:background-color .16s ease,color .16s ease,transform .16s ease}.topbar .nav-pill::after{position:absolute;right:13px;bottom:5px;left:13px;height:2px;border-radius:99px;background:var(--rugym-primary);content:"";opacity:0;transform:scaleX(.35);transition:opacity .18s ease,transform .18s ease}.topbar .nav-pill.active::after{opacity:1;transform:scaleX(1)}.avatar-link,.level-chip,.mobile-level-chip{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.mobile-nav a:not(.mobile-train) i{border-radius:10px;transition:background-color .16s ease,transform .16s ease}.mobile-nav a.active:not(.mobile-train) i{background:var(--rugym-primary-soft)}
.btn,.nav-pill,.mobile-nav a,button,[role="button"]{touch-action:manipulation}.btn:not(:disabled):active,.nav-pill:active,.mobile-nav a:active,.icon-button:active{transform:translateY(1px) scale(.975)}.mobile-nav .mobile-train:active{transform:translateY(-5px) scale(.96)}
.form-control,.form-select{transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.form-control:hover:not(:disabled),.form-select:hover:not(:disabled){border-color:#d4cdef}.form-label{font-size:.76rem;color:#4f4a60}.form-text{font-size:.67rem;line-height:1.4}.password-field{position:relative}.password-field .form-control{padding-right:52px}.password-field>button{position:absolute;top:2px;right:3px;display:grid;width:44px;height:44px;padding:0;place-items:center;border:0;border-radius:11px;background:transparent;color:var(--rugym-muted);font-size:1rem;transition:background-color .15s ease,color .15s ease,transform .15s ease}.password-field>button:hover,.password-field>button:focus-visible{background:var(--rugym-primary-soft);color:var(--rugym-primary)}.password-field>button:active{transform:scale(.94)}
.btn.is-loading{position:relative;color:transparent!important;pointer-events:none}.btn.is-loading>*{visibility:hidden}.btn.is-loading::after{position:absolute;width:18px;height:18px;border:2px solid rgba(104,82,214,.24);border-top-color:var(--rugym-primary);border-radius:50%;content:"";animation:ui-spin .65s linear infinite}.btn-primary.is-loading::after,.btn-danger.is-loading::after{border-color:rgba(255,255,255,.35);border-top-color:#fff}.has-form-errors{animation:ui-error-nudge .32s ease}.invalid-feedback{animation:ui-feedback-in .22s ease both}
.ui-progress-fill{transition:width .8s cubic-bezier(.18,.82,.28,1)!important}.daily-plan-ring{transition:filter .25s ease}.empty-state>i{animation:ui-empty-float 3.2s ease-in-out infinite}
@media (hover:hover){.avatar-link:hover,.level-chip:hover,.mobile-level-chip:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(66,49,139,.12)}.stat-card,.analytics-kpi,.progress-topic-card,.achievement-card,.team-benefits>div,.leader-row{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.stat-card:hover,.analytics-kpi:hover,.progress-topic-card:hover,.achievement-card:hover,.team-benefits>div:hover{border-color:#d9d1f5;box-shadow:0 12px 28px rgba(48,36,94,.07);transform:translateY(-2px)}.leader-row:hover{background:#fbfaff}.answer-box:hover,.topic-select-card:hover,.size-options label>span:hover{border-color:#cfc4f5}}
.mode-toggle input:focus-visible+span,.size-options input:focus-visible+span,.answer-option input:focus-visible+.answer-box,.topic-select-card:has(input:focus-visible){outline:3px solid rgba(104,82,214,.32);outline-offset:3px}.mode-toggle label>span,.topic-select-card,.size-options label>span,.answer-box{transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.mode-toggle label:active>span,.topic-select-card:active,.size-options label:active>span,.answer-option:active .answer-box{transform:scale(.985)}
.rugym-confirm-modal .modal-dialog{width:min(410px,calc(100% - 24px));margin-right:auto;margin-left:auto}.rugym-confirm-modal .modal-content{position:relative;padding:25px 24px 20px;border:1px solid rgba(222,216,242,.9);border-radius:26px;background:linear-gradient(145deg,#fff,#fbfaff);box-shadow:0 30px 90px rgba(31,23,60,.26)}.confirm-illustration{display:grid;width:52px;height:52px;margin-bottom:15px;place-items:center;border-radius:17px;background:var(--rugym-primary-soft);color:var(--rugym-primary);font-size:1.25rem;box-shadow:inset 0 0 0 1px rgba(104,82,214,.08)}.confirm-illustration.danger{background:var(--rugym-red-soft);color:var(--rugym-red)}.rugym-confirm-modal .modal-body,.rugym-confirm-modal .modal-footer{padding:0}.rugym-confirm-modal h2{margin:5px 0 8px;font-size:1.3rem;font-weight:850;letter-spacing:-.025em}.rugym-confirm-modal p{margin:0;color:var(--rugym-muted);font-size:.8rem;line-height:1.55}.rugym-confirm-modal .modal-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;border:0}.rugym-confirm-modal .modal-footer>*{width:100%;margin:0;white-space:nowrap}.rugym-confirm-modal .btn-danger{--bs-btn-bg:var(--rugym-red);--bs-btn-border-color:var(--rugym-red);--bs-btn-hover-bg:#bf3e4c;--bs-btn-hover-border-color:#bf3e4c}.modal-backdrop.show{opacity:.28;backdrop-filter:blur(2px)}
.auth-shell{position:relative;isolation:isolate;overflow:hidden}.auth-shell::before,.auth-shell::after{position:absolute;z-index:-1;border-radius:50%;content:"";filter:blur(2px)}.auth-shell::before{top:-130px;right:-100px;width:350px;height:350px;background:radial-gradient(circle,rgba(139,110,239,.2),transparent 68%)}.auth-shell::after{bottom:-180px;left:-130px;width:380px;height:380px;background:radial-gradient(circle,rgba(53,190,132,.12),transparent 68%)}.auth-card{position:relative;overflow:hidden}.auth-card::before{position:absolute;top:0;right:32px;left:32px;height:4px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,#9e84ef,var(--rugym-primary),#4db58c);content:""}.auth-card .btn-primary{min-height:50px}
.question-selection-reason{display:inline-flex;padding:5px 10px;border-radius:9px;background:#f0eafd;color:#7256c9;font-size:.8rem;margin:0 0 12px}.question-selection-reason[hidden]{display:none}

/* Uploaded illustrations must also fit embedded theory in players and routes. */
.theory-copy img,.markdown-body img{max-width:100%;height:auto;border-radius:14px}
/* Use the page-arrival animation above: cross-document View Transitions can
   reject after POST/redirect login in Chromium and are not needed here. */
@keyframes ui-page-arrive{from{opacity:.76}to{opacity:1}}@keyframes ui-page-out{to{opacity:0;transform:translateY(-3px)}}@keyframes ui-page-in{from{opacity:0;transform:translateY(4px)}}@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes ui-feedback-in{from{opacity:0;transform:translateY(-3px)}}@keyframes ui-error-nudge{25%{transform:translateX(-3px)}60%{transform:translateX(3px)}}@keyframes ui-empty-float{50%{transform:translateY(-3px)}}
@media (max-width:575.98px){.rugym-confirm-modal .modal-dialog{align-items:flex-end;width:calc(100% - 16px);min-height:calc(100% - 8px);margin:0 auto 8px}.rugym-confirm-modal .modal-content{padding:21px 18px 17px;border-radius:24px}.confirm-illustration{width:48px;height:48px;margin-bottom:12px;border-radius:15px}.rugym-confirm-modal h2{font-size:1.18rem}.rugym-confirm-modal p{font-size:.75rem}.rugym-confirm-modal .modal-footer{margin-top:17px}.auth-shell{align-items:start;min-height:calc(100dvh - 62px);padding-top:24px}.auth-card{border-radius:24px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.topbar,.mobile-topbar,body.app-ready [data-page-main],.ui-progress-fill,.empty-state>i{animation:none!important;transition:none!important}.modal.fade .modal-dialog{transition:none}}
