/* Warm Studio: approved editorial direction. Variation 5, motion 2, density 3.
   This layer preserves routes and exercise components; shared fonts support Cyrillic. */
:root { --display:Georgia,'PT Serif',serif; --body:Arial,sans-serif; }
.language-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.language-tabs a { padding:10px 18px; border:1px solid var(--line); border-radius:9px; }
.language-tabs a[aria-current] { background:#f9e5da; border-color:var(--accent); color:var(--accent); }
.language-group { margin-bottom:36px; }
.language-group>h2 { margin:20px 0; }
.brand { font-family:var(--display); font-weight:700; letter-spacing:-.8px; }
.brand-logo { display:block; width:44px; height:44px; flex-shrink:0; object-fit:contain; }
.portal-footer .brand-logo { width:32px; height:32px; }
.admin-sidebar .brand { flex-direction:row; align-items:center; gap:8px; font-size:24px; }
.admin-sidebar .brand small { display:block; font-family:var(--body); letter-spacing:0; }
.admin-mobile-bar .brand { font-size:24px; gap:8px; }
@media(max-width:800px) { .portal-header .brand-logo,.admin-mobile-bar .brand-logo { width:36px; height:36px; } }
:root[data-theme="light"] {
  --bg:#fffaf5; --panel:#fffdf9; --text:#342c29; --muted:#74625b;
  --line:#e9dcd3; --accent:#b54d3c; --danger:#a5263e;
  --r:16px; --control-radius:9px;
}
html[data-theme="light"] .lesson-library {
  --library-tint:#fbe8df; --library-border:#e9c6b6; --library-book:#f7dfd1;
}
html[data-theme="light"] :is(.scope-choice-main,.scope-choice-basic,.scope-choice-all) {
  --scope-bg:#fffdf9; --scope-ink:#665047; --scope-border:#d6bbb0;
  --scope-selected:#f9e5da; --scope-selected-ink:#963d30; --scope-selected-border:#b54d3c;
}
html[data-theme="light"] :is(.portal-header,.sidebar,.admin-sidebar,.admin-mobile-bar) { background:var(--bg); }
.portal-header { max-width:1440px; gap:18px; padding-inline:40px; }
.portal-header .brand { font-size:27px; }
.portal-nav { gap:2px; }
.portal-nav a { padding-inline:10px; }
.portal-page { max-width:1344px; padding:42px 48px; }
html[data-theme="light"] :is(.btn,.round,.admin-tabs button) { background:var(--panel); border-color:#d6bbb0; color:var(--text); }
html[data-theme="light"] :is(.btn:hover,.round:hover,.admin-tabs button:hover) { background:#f9e8de; border-color:#bf806c; }
html[data-theme="light"] :is(.btn.primary,.mark,.ui-success) { background:var(--accent); color:#fffdf9; border-color:var(--accent); }
html[data-theme="light"] .btn.primary:hover { background:#963d30; border-color:#963d30; }
html[data-theme="light"] :is(.portal-nav a.active,.menu-dialog nav a.active,.nav a.active,.steps .current,.chip.active,.admin-tabs button.active,.admin-flow .active,.admin-status.connected,.admin-sidebar nav a[aria-current]) { background:#f9e5da; color:#963d30; border-color:#ce9a86; }
html[data-theme="light"] .portal-nav a.active { background:transparent; border-bottom:2px solid var(--accent); border-radius:0; }
html[data-theme="light"] :is(.notice,.day i,.admin-flow i,.admin-counter,.admin-source,.card-original,.admin-upload,.admin-intro,.admin-source-text,.answer-side,.bubble,.chat-form) { background:#f9ece4; color:var(--text); border-color:var(--line); }
html[data-theme="light"] :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select) { background:var(--panel); border-color:#bba69b; }
html[data-theme="light"] :is(input,textarea)::placeholder { color:#78665d; }
html[data-theme="light"] :is(input:focus,textarea:focus,.answer-side #answer:focus) { border-color:var(--accent); }
html[data-theme="light"] :is(.notice.error,.error) { background:#ffe9ed; color:#941b34; border-color:#d85972; }
.studio-hero { grid-template-columns:1.12fr 1fr; gap:32px; padding:16px 0 44px; }
.studio-intro h1 { font-family:var(--display); font-size:clamp(40px,4.1vw,58px); font-weight:400; line-height:1.15; letter-spacing:-1.8px; }
.studio-intro h1 em { font-style:italic; display:inline-block; padding-bottom:.08em; }
.studio-intro .eyebrow { text-transform:none; letter-spacing:.02em; font-size:13px; margin-bottom:24px; }
.studio-intro>p { font-size:17px; max-width:440px; margin-top:22px; }
.hero-actions { margin-top:28px; }
.studio-scene { border:0; background:transparent; border-radius:0; overflow:visible; }
.studio-scene img { height:auto; aspect-ratio:3/2; object-fit:contain; border-radius:12px; }
html[data-theme="light"] .studio-scene img { mix-blend-mode:multiply; }
.studio-scene figcaption { padding:12px 22px 0; }
.studio-scene figcaption>span { font-size:12px; margin-bottom:4px; }
.studio-scene strong { font-size:19px; margin-bottom:10px; }
.studio-scene .btn { min-height:40px; padding:8px 14px; font-size:13px; }
.learning-path { grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; padding:28px 0; }
.learning-path>div { gap:10px; }
.learning-path h2 { font-size:15px; letter-spacing:0; }
.learning-path p { font-size:12px; }
.home-library .section-head h2,.own-material h2 { font-family:var(--display); font-weight:400; font-size:30px; }
.home-lessons { grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
html[data-theme="light"] .home-lesson { background:#fff3eb; border-color:var(--line); }
.home-lesson { padding:26px; border-radius:12px; }
.home-lesson h3 { font-weight:550; }
.library-heading { margin-bottom:36px; padding:14px 0 22px; border-bottom:1px solid var(--line); }
.library-heading h1 { font-family:var(--display); font-weight:400; font-size:56px; letter-spacing:-1.5px; }
.library-heading p { font-size:18px; }
.library-course { grid-template-columns:180px minmax(0,1fr); gap:36px; margin-bottom:36px; }
.library-book { text-align:left; padding:24px 20px; border-radius:4px 12px 12px 4px; border-left-width:6px; box-shadow:5px 8px 18px #573e2410; }
.library-book strong { font-family:var(--display); font-weight:400; font-size:23px; }
.library-course-content>h2 { font-family:var(--display); font-weight:400; font-size:36px; letter-spacing:-.6px; }
.library-level { border-radius:5px; font-size:13px; }
.library-resume { border-radius:12px; padding:24px; }
.library-resume h3 { font-size:24px; font-weight:550; }
.library-layout { grid-template-columns:260px minmax(0,1fr); gap:36px; }
.library-sections { border-radius:12px; padding:20px 12px; }
.library-sections h2 { font-size:18px; }
.library-selection>h2 { font-family:var(--display); font-size:30px; font-weight:400; }
.library-materials { border-radius:12px; }
.library-material { grid-template-columns:42px minmax(0,1fr) 150px 14px; gap:14px; padding:22px 18px; }
.library-material-copy strong { font-size:17px; }
.library-material-copy>span { font-size:13px; }
.library-material-icon { color:var(--accent); background:var(--library-tint); }
.page-heading h1 { font-family:var(--display); font-weight:400; }
.portal-footer { margin-top:52px; }
@media(min-width:801px) and (max-width:1200px) {
  .portal-header { height:auto; min-height:80px; flex-wrap:wrap; padding-block:14px; }
  .portal-nav { order:3; width:100%; justify-content:center; }
}
@media(max-width:1050px) {
  .library-layout { grid-template-columns:220px minmax(0,1fr); gap:24px; }
  .library-material { grid-template-columns:36px minmax(0,1fr) 14px; }
  .library-material-progress { grid-column:2; grid-row:2; }
  .library-chevron { grid-column:3; grid-row:1 / 3; }
  .learning-path { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:800px) {
  .portal-header { padding-inline:20px; gap:10px; }
  .portal-header .brand { font-size:24px; margin-right:auto; }
  .portal-header .mark { width:28px; height:30px; font-size:24px; }
  .portal-page { padding:28px 20px; }
  .studio-hero { grid-template-columns:1fr; gap:24px; padding:0 0 32px; }
  .studio-intro h1 { font-size:clamp(36px,6.8vw,52px); letter-spacing:-1.3px; }
  .studio-intro>p { font-size:16px; }
  .studio-scene { max-width:520px; margin:auto; width:100%; }
  .studio-scene figcaption { padding-inline:0; }
  .learning-path { grid-template-columns:1fr 1fr; gap:24px 16px; }
  .library-heading h1 { font-size:42px; }
  .library-heading p { font-size:16px; }
  .library-course { grid-template-columns:1fr; gap:0; }
  .library-book { display:none; }
  .library-course-content>h2 { font-size:30px; }
  .library-layout { grid-template-columns:1fr; gap:24px; }
  .library-resume { flex-wrap:wrap; }
  .library-resume .btn { width:100%; }
  .library-heading { margin-bottom:26px; }
  .home-library .section-head h2 { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.subscription-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin:24px 0}.subscription-price{font-size:26px;font-weight:700}.subscription-summary{margin:20px 0}.subscription-form{display:grid;gap:10px;min-width:220px;max-width:330px}.subscription-form small{line-height:1.5}

.pronunciation-panel{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fffaf5}.pronunciation-panel h4{font-size:20px;margin:0 0 12px}.pronunciation-panel label{display:block;margin:12px 0}.pronunciation-panel select{display:block;max-width:260px;margin-top:6px}.pronunciation-consent input{width:auto;margin-right:8px}.pronunciation-panel .form-actions{justify-content:flex-start;flex-wrap:wrap}.pronunciation-panel audio{max-width:100%;margin-top:12px}

.pronunciation-panel label{color:#453f39}.pronunciation-panel .form-actions{margin:16px 0}.pronunciation-panel [role=status]{margin:12px 0;color:#57483f}

.speech-voice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px}.speech-voice-grid>div{min-width:0}.speech-voice-grid label{display:block;color:var(--text)}.speech-panel .speech-voice-grid select{display:block;width:100%;max-width:none;margin:8px 0 0}.speech-panel #speech-summary{font-weight:600;margin-top:18px}@media(max-width:700px){.speech-voice-grid{grid-template-columns:1fr}}

.admin-flow a{display:flex;align-items:center;gap:9px;color:var(--accent);text-decoration:underline;text-underline-offset:4px;border-radius:4px}.admin-flow a:hover{text-decoration-thickness:2px}.admin-flow a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media(max-width:767px){.admin-flow a{gap:6px;flex-direction:column;text-align:center}}

/* Account methods stay visible; nested labels reserve space for the focus ring. */
.account-login-methods{display:flex;gap:8px;padding:5px;margin:24px 0;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.account-login-methods .btn{flex:1;min-width:0;padding:12px 16px;border-color:transparent;background:transparent;color:var(--text)}
.account-login-methods .btn[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.account-login-pane[hidden]{display:none}
.account-field{display:grid;gap:12px;margin:24px 0 16px;line-height:1.5}
.account-field>input{margin:0;min-width:0}
.account-login-pane>p{margin-bottom:20px}
