/* Final presentation layer. Existing routes, event attributes and module states own behavior. */
:root,[data-theme="dark"]{
 --academy-blue:#1e40af;--academy-blue-secondary:#2447a6;--academy-gold:#d4a64a;
 --academy-radius:18px;--academy-shadow:0 8px 28px #07162e12;
 --display:"Manrope",system-ui,sans-serif;--body:"Manrope",system-ui,sans-serif;
 --success:#22c55e;--error:#ef4444;
 --bg:#0b1424;--bg2:#101d30;--surface:#142237;--surface2:#1c2d46;--ink:#e8edf6;--head:#f6f8fc;--soft:#c5cfdf;--muted:#aebdd1;--line:#30415a;--line2:#40536e;
 --accent:#1e40af;--accent-text:#adc5ff;--brand:#2447a6;--signal:#d4a64a;--accent-ink:#fff;
 color-scheme:dark;
}
html[data-theme="light"]{
 --bg:#f8fafc;--bg2:#f1f5f9;--surface:#fff;--surface2:#f1f5f9;--ink:#1f2937;--head:#1f2937;--soft:#475569;--muted:#64748b;--line:#e5e7eb;--line2:#d1d5db;
 --accent:#1e40af;--accent-text:#1e40af;--brand:#2447a6;--signal:#916515;--good:#176244;--good-bg:#e9f5ef;--bad:#ab233f;--bad-bg:#fff0f3;
 color-scheme:light;
}
body.student-ui,html[data-theme="light"] body.student-ui{
 --student-bg:var(--bg);--student-surface:var(--surface);--student-border:var(--line);--student-blue:var(--accent);--student-muted:var(--muted);
 --bg: #0b1424;--surface:#142237;--ink:#e8edf6;--muted:#aebdd1;--line:#30415a;--accent:#1e40af;--display:"Manrope",system-ui,sans-serif;
 background:var(--bg);color:var(--ink);
}
html[data-theme="light"] body.student-ui{--bg:#f8fafc;--surface:#fff;--ink:#1f2937;--muted:#64748b;--line:#e5e7eb}
.student-ui .student-header{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:20px}
.student-ui .brand h1,.student-menu .brand h1{font-family:var(--display);font-size:23px;letter-spacing:-.5px;color:var(--head)}
.student-ui .brand h1 span,.student-ui .brand small{color:var(--muted)}
.student-ui .brand .logo{border-color:var(--line);box-shadow:none}
.student-dashboard{gap:22px;max-width:none}
.student-dashboard h2{font-family:var(--display);font-size:25px;letter-spacing:-.4px;color:var(--head)}
.student-dashboard .location{left:30px;bottom:24px;background:#102343d9;border:1px solid #ffffff35;color:#f3d99e;font-size:12px;letter-spacing:.03em}
/* Tungi ko'rinishda --accent (#1e40af) faqat fon uchun; ikonka va matnda yorqin --accent-text */
:root:not([data-theme="light"]) .spk,:root:not([data-theme="light"]) .document-services a .ic{color:var(--accent-text)}
.student-dashboard .recent-card{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--academy-radius);box-shadow:var(--academy-shadow);padding:22px}
.student-dashboard .section-title{gap:12px;flex-wrap:wrap}
.student-dashboard .section-title button{min-height:44px;color:var(--accent-text);font-weight:700}
.student-dashboard .result-empty{color:var(--muted)}
.student-dashboard .result-row{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.student-dashboard .result-row:last-child{border:0}
.student-menu,html[data-theme="light"] .student-menu{--ink:inherit;--muted:inherit;background:var(--bg);color:var(--ink)}
.student-menu .drawer-profile,.student-menu .drawer-links button,.student-menu .drawer-links a{color:var(--ink)}
.student-menu :is(.drawer-tagline,.drawer-links small,.drawer-profile small){color:var(--muted)}
.student-menu .drawer-icon{background:var(--surface);color:var(--accent-text);border:1px solid var(--line);border-radius:10px}
.student-menu .drawer-links [aria-current="page"]{background:var(--surface2);box-shadow:inset 3px 0 var(--academy-gold)}
.student-menu .drawer-links button:hover,.student-menu .drawer-links a:hover{background:var(--surface2)}
.student-menu .drawer-links>div+div{border-color:var(--line)}
.student-menu .travel-banner{background:var(--surface);border-color:var(--line);color:var(--ink)}
.student-menu .travel-banner:before,.student-menu .travel-banner:after{display:none}
.student-menu .travel-banner b{font-size:13px}
.student-ui .menu-toggle,.student-menu header>button{background:var(--surface);border-color:var(--line);color:var(--ink)}
.student-ui .bottom-nav{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 24px #07162e20}
.student-ui .bottom-nav button{min-height:60px;color:var(--muted);border-radius:12px}
.student-ui .bottom-nav button[aria-current]{background:var(--academy-blue);color:#fff;box-shadow:none}
.student-ui .bottom-nav button[aria-current] .ic{color:#fff}
/* Reuse the existing module classes, preserving selected/correct/incorrect/disabled states. */
.student-ui :is(.learning-destination,.stop .card,.pcard,.wcard,.wdetail,.wdrill,.equestion,.mockcard,.certwrap,.chat){border-radius:var(--academy-radius);box-shadow:var(--academy-shadow)}
.student-ui :is(.lesson-h,.lvhead){padding-block:8px 20px;border-bottom:1px solid var(--line);margin-bottom:22px}
.student-ui :is(.lesson-h h2,.lvhead h2,.profile>h2){font-family:var(--display);font-size:clamp(28px,3vw,38px);color:var(--head)}
.student-ui .theory{font-size:17px;line-height:1.85}
.student-ui :is(.tab,.back){min-height:44px}
.student-ui .tab[aria-selected="true"]{color:var(--accent-text)}
.student-ui .btn.ghost{color:var(--accent-text);border-color:var(--line)}
.student-ui :is(.pcard b,.meter b,.react b,.pnext b){color:var(--head)}
.student-ui .profile .pwho{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface);gap:20px}
.student-ui .profile .pava{width:88px;height:88px;border:3px solid var(--line);overflow:hidden}
.student-ui .profile .pcard{padding:22px;background:var(--surface)}
.student-ui .profile .pbar i{background:var(--academy-blue)}
.student-ui :is(.pinput,.aform input,.aform textarea){color-scheme:inherit;font-size:16px;min-height:48px}
/* Authentication cards share the registration paper, typography and travel asset. */
body.authmode{background:var(--bg)}
.authstage:not(.registration-page) .asky{background:linear-gradient(90deg,#0c2049e8,#0c2049a8),url('/assets/registration/journey-clean.png') center/cover no-repeat}
.authstage:not(.registration-page) .authwrap{padding-top:56px;padding-bottom:36px}
.authstage:not(.registration-page) .authcard{border:1px solid var(--line);border-radius:24px;padding:30px;background:var(--surface);box-shadow:0 24px 70px #07162e25;gap:18px}
.authstage:not(.registration-page) .authcard h2{font:700 36px/1.2 var(--display);color:var(--head)}
.authstage:not(.registration-page) .aform input{min-height:48px;font-size:16px;background:var(--bg);color:var(--ink);border-color:var(--line);color-scheme:inherit}
.authstage:not(.registration-page) .atabs{gap:4px}
.authstage:not(.registration-page) .atabs button{color:var(--muted);background:var(--bg);border-color:var(--line)}
.authstage:not(.registration-page) .atabs [aria-pressed="true"]{background:var(--academy-blue);color:#fff}
.authstage:not(.registration-page) .brand h1{font-family:var(--display);color:var(--head)}
.registration-page{--reg-blue:#1e40af;--reg-link:#1e40af;--reg-canvas:#f8fafc;--reg-selected:#1e40af;--reg-line:#d9e1eb}
.registration-page .reg-next{background:#1e40af;box-shadow:none;min-height:56px;font-size:18px}
.registration-page .reg-stepper [aria-current] .reg-step-number{background:#1e40af;border-color:#1e40af;box-shadow:none}
.registration-page .reg-panel{border:1px solid var(--reg-line)}
.registration-page .reg-gender-symbol{width:44px;height:44px;font-size:32px}
.registration-page .reg-gender-card input:checked+.reg-card-face .reg-card-check{background:#1e40af;border-color:#1e40af;color:#fff}
[data-theme="dark"] .registration-page{--reg-blue:#1e40af;--reg-link:#adc5ff;--reg-selected:#adc5ff;--reg-canvas:#0b1424;--reg-paper:#142237;--reg-surface:#1c2d46;--reg-line:#40536e}
/* Shared interactive treatment; selectors intentionally target owned components. */
:is(.student-ui,.authstage) :is(button,input,textarea,select,a,summary):focus-visible{outline:3px solid var(--academy-gold);outline-offset:4px}
:is(.student-ui,.authstage) .btn:not(.ghost):not(.danger):not(:disabled):hover{background:#2447a6;color:#fff}
:is(.student-ui,.authstage) .btn:active:not(:disabled){transform:translateY(1px)}
:is(.student-ui,.authstage) :is(input,textarea){color-scheme:inherit}
:is(.student-ui,.authstage) :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
.student-ui audio{width:100%;max-width:100%;border-radius:12px}
@media(min-width:1100px){.student-ui .wrap{padding-top:30px}.student-menu[open]{padding-top:30px}.student-menu .brand h1{font-size:19px}}
@media(max-width:699px){
 .student-dashboard{gap:16px}.student-ui .wrap{padding-inline:16px}.student-ui .student-header{margin-bottom:18px}
 .student-dashboard h2{font-size:23px}.student-dashboard .recent-card{padding:18px}
 .student-ui .profile .pwho{padding:18px;gap:14px}.student-ui .profile .pava{width:64px;height:64px}
 .authstage:not(.registration-page) .authcard{padding:22px}.authstage:not(.registration-page) .authcard h2{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 :is(.student-ui,.authstage) *, :is(.student-ui,.authstage) *:before,:is(.student-ui,.authstage) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
.student-ui :is(.vtense,.vex,.vstats){border-radius:var(--academy-radius);background:var(--surface);border-color:var(--line);padding:20px}
.student-ui .vtense{border-top:3px solid var(--academy-blue-secondary)}
.student-ui .vtense:nth-child(2){border-top-color:var(--academy-gold)}
.student-ui .vtense:nth-child(3){border-top-color:var(--muted)}
.student-ui .vtense h4{font:700 23px/1.3 var(--display);margin-bottom:14px}
.student-ui .vex textarea{min-height:120px;font-size:16px;line-height:1.7}
.student-ui .vfilter .btn{min-height:44px}
/* Decorative preview never intercepts the native radio control above it. */
.registration-page .reg-card-face{pointer-events:none}
.student-ui .foot,.student-ui .foot span{color:var(--muted)}
/* ===== Maket v2 (dashboard, sarlavha, sidebar, pastki menyu) — ranglar: #1E40AF · #F8FAFC · #D4A64A ===== */
.student-ui{--gold:#d4a64a;--gold-ink:#1f2937;--card-shadow:0 1px 2px #0f172a0d,0 6px 20px #0f172a0a}
[data-theme="dark"] .student-ui,:root:not([data-theme="light"]) .student-ui{--card-shadow:0 1px 2px #0006,0 8px 24px #0004}
.student-ui :is(h1,h2,h3,h4){font-family:var(--display);letter-spacing:-.02em}
/* Sarlavha: logotip, qo'ng'iroq, avatar */
.student-ui .dw-top{display:flex;align-items:center;gap:12px;border:0;margin-bottom:18px;padding:0 0 14px}
.dw-brand{display:flex;align-items:center;gap:8px;min-width:0;margin-right:auto}
.dw-brand svg{width:40px;height:40px;flex:none}
.dw-brand>span{font:800 21px/1 var(--display);letter-spacing:-.6px;color:var(--head);display:flex;flex-direction:column}
.dw-brand small{display:block!important;font:600 9px/1.6 var(--body);letter-spacing:5px;color:var(--gold);margin-top:3px}
:root:not([data-theme="light"]) .dw-brand svg path[fill="#071444"]{fill:#e8edf6}
.dw-actions{display:flex;align-items:center;gap:8px}
.dw-bell,.dw-me{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:44px;justify-content:center;border:0;background:transparent;color:var(--head);border-radius:12px;cursor:pointer}
.dw-bell .ic{width:24px;height:24px}
.dw-me .student-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid var(--line);display:grid;place-items:center;background:var(--surface2);font-weight:800;color:var(--accent-text)}
.dw-me .student-avatar img{width:100%;height:100%;object-fit:cover}
.dw-me>.ic{width:18px;height:18px;transform:rotate(90deg);color:var(--muted)}
.dw-bell:hover,.dw-me:hover{background:var(--surface2)}
/* Sidebar / drawer */
.student-menu .dw-brand svg{width:36px;height:36px}.student-menu .dw-brand>span{font-size:18px}
.student-menu .drawer-links>div{display:flex;flex-direction:column;gap:2px}
.student-menu .drawer-links button,.student-menu .drawer-links a{min-height:44px;padding:8px 12px;border-radius:10px;gap:12px;color:var(--ink)}
.student-menu .drawer-links b{font-size:14px;font-weight:600}
.student-menu .drawer-icon{width:auto;height:auto;background:none!important;border:0!important;color:var(--muted)!important;border-radius:0}
.student-menu .drawer-icon .ic{width:20px;height:20px}
.student-menu .drawer-links [aria-current="page"]{background:var(--academy-blue)!important;color:#fff!important;box-shadow:none!important}
.student-menu .drawer-links [aria-current="page"] .drawer-icon{color:#fff!important}
.student-menu .drawer-links>div>.ic,.student-menu .drawer-links button>.ic:last-child{display:none}
.student-menu .drawer-group{margin:14px 12px 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.student-menu .drawer-links>div+div{border-top:1px solid var(--line);margin-top:10px;padding-top:4px}
html[data-theme="light"] .student-menu{background:#fff}
/* Pastki menyu (mobil) */
@media(max-width:1099px){.student-ui .bottom-nav{display:grid;grid-template-columns:repeat(4,1fr)}}
.student-ui .bottom-nav button{gap:3px;font-size:11px;font-weight:600}
html[data-theme] .student-ui .bottom-nav button[aria-current],html:not([data-theme]) .student-ui .bottom-nav button[aria-current]{background:transparent;color:var(--accent-text);box-shadow:none}
html[data-theme] .student-ui .bottom-nav button[aria-current] .ic,html:not([data-theme]) .student-ui .bottom-nav button[aria-current] .ic{color:var(--accent-text)}
html[data-theme="light"] .student-ui .bottom-nav{background:#fffffff2}
.student-ui .bottom-nav button[aria-current] span{font-weight:800}
/* Tugmalar: asosiy (ko'k), aksent (oltin), ikkilamchi */
.student-ui .btn.dw-gold,.student-ui .btn.dw-gold:hover{background:var(--gold)!important;color:var(--gold-ink)!important;border:0;box-shadow:none;font-weight:700}
.student-ui .btn.dw-gold:hover{filter:brightness(1.05)}
/* Dashboard */
.student-dashboard.dw{display:flex;flex-direction:column;align-items:stretch;gap:20px;max-width:none;width:100%}
.student-dashboard.dw>*{width:auto;max-width:none;margin:0}
.student-ui .dw .recent-card h2,.student-ui .dw .section-title h2{font-size:20px;font-weight:800}
.dw-hero{position:relative;display:flex;justify-content:space-between;align-items:stretch;gap:18px;min-height:190px;padding:28px 30px;border-radius:20px;overflow:hidden;color:#fff;
 background:linear-gradient(100deg,#1e40af 0%,#1e40af 42%,#1e40afd9 58%,#1e40af33 100%),url('/img/berlin-dashboard.jpg') right 55%/cover no-repeat}
.dw-hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:62%}
.student-ui .dw-hero h2{color:#fff;font-size:clamp(26px,3vw,36px);font-weight:800;margin:0}
.dw-hero p{margin:0;color:#e0e8ff;font-size:15px;line-height:1.6}
.dw-hero .btn{margin-top:8px;min-height:48px;padding:12px 22px;border-radius:12px;font-size:15px}
.dw-level{align-self:flex-start;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 10px;min-width:170px;padding:12px 14px;border-radius:14px;background:#ffffff1f;backdrop-filter:blur(4px)}
.dw-lv{grid-row:span 2;display:grid;place-items:center;width:44px;height:36px;border-radius:9px;background:#2563eb;font:800 18px/1 var(--display)}
.dw-lv-t{font-size:12px;color:#e0e8ff}
.dw-level progress{width:100%;height:6px}
.dw-lv-p{grid-column:2;justify-self:end;font-size:12px;font-weight:700;margin-top:-4px}
.student-ui .dw progress{-webkit-appearance:none;appearance:none;border:0;border-radius:99px;overflow:hidden;background:var(--line);height:8px}
.student-ui .dw progress::-webkit-progress-bar{background:var(--line)}
.student-ui .dw progress::-webkit-progress-value{background:var(--academy-blue);border-radius:99px}
.student-ui .dw progress::-moz-progress-bar{background:var(--academy-blue)}
.student-ui .dw-level progress{background:#ffffff40}.student-ui .dw-level progress::-webkit-progress-bar{background:#ffffff40}
.student-ui .dw-level progress::-webkit-progress-value{background:#fff}.student-ui .dw-level progress::-moz-progress-bar{background:#fff}
.dw-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dw-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 10px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--head);box-shadow:var(--card-shadow);cursor:pointer;text-align:center;font:inherit}
.dw-tile:hover{border-color:var(--academy-blue);transform:translateY(-2px)}
.dw-tile-i{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#e8eefc;color:var(--academy-blue);margin-bottom:6px}
.dw-tile.gold .dw-tile-i{background:#fbf3e2;color:#a7781f}
.dw-tile-i .ic{width:28px;height:28px}
.dw-tile b{font-size:15px;font-weight:700}
.dw-tile small{font-size:12px;color:var(--muted)}
:root:not([data-theme="light"]) .dw-tile-i{background:#1e40af33;color:#adc5ff}
:root:not([data-theme="light"]) .dw-tile.gold .dw-tile-i{background:#d4a64a26;color:#e9c77e}
.dw-progress{display:flex;align-items:center;gap:20px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--card-shadow)}
.dw-progress>div:first-child{flex:1;min-width:0}
.student-ui .dw-progress h2{font-size:20px;font-weight:800;margin:0;color:var(--head)}
.dw-progress small{display:block;margin:4px 0 12px;color:var(--muted);font-size:13px}
.dw-bar{display:flex;align-items:center;gap:14px}
.dw-bar progress{flex:1}
.dw-bar b{font:800 24px/1 var(--display);color:#9a6b00}
:root:not([data-theme="light"]) .dw-bar b{color:#e9c77e}
.dw-streak{display:flex;flex-direction:column;align-items:flex-start;padding-left:22px;border-left:1px solid var(--line);min-width:120px}
.dw-streak b{font:800 30px/1 var(--display);color:var(--head)}
.dw-streak span{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--muted);margin-top:4px}
.dw-streak .ic{width:18px;height:18px;color:#f97316}
.dw-sec-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.student-ui .dw-sec-h h2{font-size:20px;font-weight:800;margin:0}
.dw-sec-h button{display:inline-flex;align-items:center;gap:4px;min-height:44px;border:0;background:none;color:var(--accent-text);font-weight:700;font-size:14px;cursor:pointer}
.dw-sec-h button .ic{width:16px;height:16px}
.dw-course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dw-course{position:relative;display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--head);box-shadow:var(--card-shadow);overflow:hidden;cursor:pointer;font:inherit}
.dw-course:hover{border-color:var(--academy-blue);transform:translateY(-2px)}
.dw-course.active{border-color:var(--academy-blue);box-shadow:0 0 0 1px var(--academy-blue),var(--card-shadow)}
.dw-course-h{display:flex;flex-direction:column;padding:12px 14px 8px}
.dw-course-h b{font:800 22px/1.1 var(--display)}
.dw-course-h small{font-size:12px;color:var(--muted);margin-top:2px}
.dw-course img{width:100%;height:96px;object-fit:cover;object-position:50% 35%}
.dw-course-f{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 6px}
.dw-pc{font-weight:800;font-size:14px}
.dw-st{display:grid;place-items:center;width:28px;height:28px;border-radius:50%}
.dw-st .ic{width:16px;height:16px}
.dw-st.done{background:#dcfce7;color:#15803d}
.dw-st.go{background:var(--academy-blue);color:#fff}
.dw-st.locked{background:var(--surface2);color:var(--muted)}
.dw-course progress{margin:0 14px 14px;width:calc(100% - 28px);height:5px}
.student-ui .dw-course:has(.dw-st.done) progress::-webkit-progress-value{background:var(--success)}
.student-ui .dw-course:has(.dw-st.done) progress::-moz-progress-bar{background:var(--success)}
@media(min-width:1100px){
 .student-ui .dw-top .menu-toggle,.student-ui .dw-top .dw-brand{display:none}
 .student-ui .dw-top{justify-content:flex-end;padding-bottom:6px}
 .student-menu .drawer-profile,.student-menu .drawer-tagline{display:none}
}
@media(max-width:1099px){.student-ui .dw-top .menu-toggle{order:-1;border:0;background:transparent}}
@media(max-width:860px){.dw-tiles,.dw-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .dw-hero{flex-direction:column;padding:20px;min-height:0;background:linear-gradient(100deg,#1e40af 0%,#1e40afee 55%,#1e40af66 100%),url('/img/berlin-dashboard.jpg') right center/cover no-repeat}
 .dw-hero-text{max-width:100%}.dw-level{position:absolute;top:16px;right:16px;min-width:0;padding:8px 10px;grid-template-columns:auto auto}.dw-lv{width:34px;height:28px;font-size:14px}.dw-lv-t{display:none}.dw-level progress{width:56px}
 .student-ui .dw-hero h2{font-size:24px;padding-right:96px}.dw-hero p{font-size:13px}
 .dw-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dw-tile{padding:12px 4px;border-radius:14px}.dw-tile-i{width:42px;height:42px}.dw-tile-i .ic{width:22px;height:22px}.dw-tile b{font-size:11px}.dw-tile small{display:none}
 .dw-progress{padding:18px}.dw-streak{padding-left:14px;min-width:84px}
 .dw-course-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:4px}.dw-course{flex:0 0 46%;scroll-snap-align:start}
 .dw-brand>span{font-size:18px}.dw-brand svg{width:34px;height:34px}
}
/* Dars sahifasi (maket: «A2 – Grammatik» paneli, eslatma, tablar) */
.dw-lesson-top{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--card-shadow)}
.dw-icon-btn{display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:12px;background:transparent;color:var(--head);cursor:pointer}
.dw-icon-btn:hover{background:var(--surface2)}
.dw-icon-btn .ic{width:22px;height:22px}
.dw-lesson-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.dw-lesson-meta b{font-size:16px;color:var(--head)}
.dw-lesson-prog{display:flex;align-items:center;gap:10px}
.dw-lesson-prog progress{flex:1;max-width:240px;height:6px;-webkit-appearance:none;appearance:none;border:0;border-radius:99px;overflow:hidden;background:var(--line)}
.dw-lesson-prog progress::-webkit-progress-bar{background:var(--line)}
.dw-lesson-prog progress::-webkit-progress-value{background:var(--academy-blue);border-radius:99px}
.dw-lesson-prog progress::-moz-progress-bar{background:var(--academy-blue)}
.dw-lesson-prog small{font-size:12px;color:var(--muted);font-weight:600}
.student-ui .dw-lesson-h{border:0;margin-bottom:8px;padding-bottom:0}
.student-ui .dw-lesson-h h2{font-size:clamp(28px,3.2vw,36px);font-weight:800;margin:0 0 4px}
.dw-lesson-h>p{margin:0;color:var(--muted);font-size:14px}
.dw-callout{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:14px 16px;border-radius:12px;background:#fdf6e7;border-left:4px solid var(--gold);color:#1f2937}
.dw-callout .ic{width:24px;height:24px;flex:none;color:#d4a64a;fill:#fde68a}
.dw-callout p{margin:0;font-size:14px;line-height:1.6}
:root:not([data-theme="light"]) .dw-callout{background:#d4a64a1f;color:var(--ink)}
.student-ui .dw-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:18px 0 20px;background:none;padding:0;border-radius:0}
.student-ui .dw-tabs .tab{flex:1;min-height:48px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--muted);font-weight:600;font-size:15px;margin-bottom:-1px}
.student-ui .dw-tabs .tab[aria-selected="true"]{color:var(--academy-blue);border-bottom-color:var(--academy-blue);background:none;box-shadow:none}
:root:not([data-theme="light"]) .student-ui .dw-tabs .tab[aria-selected="true"]{color:var(--accent-text);border-bottom-color:var(--accent-text)}
.student-ui .dw-lesson-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);background:none}
.dw-lesson-nav .btn{min-width:140px;min-height:48px;justify-content:center;border-radius:12px}
@media(max-width:600px){.dw-lesson-nav .btn{min-width:0;flex:1}.student-ui .dw-tabs .tab{font-size:13px}}
.student-ui .theory .tbl :is(th,td){white-space:nowrap;overflow-wrap:normal;word-break:normal}
/* Profil (maket: avatar, daraja nishoni, iqtibos, menyu ro'yxati) */
.dw-phero{display:flex;align-items:center;gap:20px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--card-shadow)}
.dw-phero .pava{width:96px;height:96px;flex:none;border-radius:50%;overflow:hidden;border:3px solid var(--surface2);display:grid;place-items:center;background:var(--surface2);font:800 30px var(--display);color:var(--accent-text)}
.dw-phero .pava img{width:100%;height:100%;object-fit:cover}
.dw-phero-t{min-width:0;display:flex;flex-direction:column;gap:8px}
.dw-pname{display:flex;align-items:center;gap:8px}
.dw-pname b{font:800 24px/1.2 var(--display);color:var(--head)}
.dw-edit{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--muted)}
.dw-edit:hover{background:var(--surface2);color:var(--head)}.dw-edit .ic{width:18px;height:18px}
.dw-pbadges{display:flex;gap:8px;flex-wrap:wrap}
.dw-plv{padding:5px 12px;border-radius:99px;background:#2563eb;color:#fff;font-size:13px;font-weight:700}
.dw-ppct{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:99px;background:#fbf3e2;color:#8a6414;font-size:13px;font-weight:800}
.dw-ppct .ic{width:15px;height:15px;color:#d4a64a}
:root:not([data-theme="light"]) .dw-ppct{background:#d4a64a26;color:#e9c77e}
.dw-phero-t small{color:var(--muted);font-size:12px}
.dw-quote{display:flex;flex-wrap:wrap;gap:4px 10px;margin:16px 0 0;padding:16px 18px;border-radius:16px;background:var(--surface2);color:var(--ink)}
.dw-quote .ic{width:20px;height:20px;color:var(--muted);flex:none}
.dw-quote p{flex:1;margin:0;font-size:14px;line-height:1.5}
.dw-quote footer{width:100%;padding-left:30px;font-size:13px;color:var(--muted)}
.dw-pmenu{list-style:none;margin:16px 0 26px;padding:6px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--card-shadow)}
.dw-pmenu li+li{border-top:1px solid var(--line)}
.dw-pmenu-i{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:10px 12px;border:0;background:none;color:var(--head);font:600 15px var(--body);text-decoration:none;cursor:pointer;border-radius:12px;text-align:left}
.dw-pmenu-i:hover{background:var(--surface2)}
.dw-pmenu-i>.ic:first-child{width:22px;height:22px;color:var(--head)}
.dw-pmenu-i span{flex:1}
.dw-pmenu-i>.ic:last-child{width:16px;height:16px;color:var(--muted)}
.dw-pbadge{font-style:normal;padding:4px 12px;border-radius:99px;background:var(--gold);color:#1f2937;font-size:12px;font-weight:800}
.student-ui .profile :is(#p-progress,#p-levels,#p-account){scroll-margin-top:20px}
@media(max-width:600px){.dw-phero{gap:14px;padding:16px}.dw-phero .pava{width:72px;height:72px}.dw-pname b{font-size:20px}}
/* Ro'yxatdan o'tish / kirish: maketdagi sans-serif sarlavhalar */
.registration-page :is(.reg-brand>span,.reg-foreground h1,.reg-panel-title h2,.reg-verification h2){font-family:var(--display);font-weight:800;letter-spacing:-.03em}
.registration-page .reg-foreground h1{line-height:1.12}
.registration-page .reg-brand>span{line-height:1.05;transform:none}
.registration-page .reg-brand small{margin-top:6px;line-height:1.2}
/* Logotip: DW emblemasi (rasm). Tungi ko'rinishda asl ranglar oq plashkada. */
img.dw-emblem{display:block;flex:none;height:44px;width:auto;object-fit:contain;border-radius:0;box-shadow:none!important;border:0}
img.logo.dw-emblem{border-radius:0}
:root:not([data-theme="light"]) img.dw-emblem{background:#fdfcf8;border-radius:12px;padding:3px 4px}
.dw-brand img.dw-emblem{height:42px}.student-menu .dw-brand img.dw-emblem{height:38px}
.dw-brand em,.registration-page .reg-brand em{font-style:normal;color:#1e40af}
:root:not([data-theme="light"]) .dw-brand em,:root:not([data-theme="light"]) .registration-page .reg-brand em{color:#8fb0ff}
.registration-page .reg-brand>img.dw-emblem{height:100px}
.lp-brand img.dw-emblem,.brand img.logo.dw-emblem{height:44px}
.boot img.dw-emblem{height:72px}
@media(min-width:901px) and (max-width:1150px){.registration-page .reg-brand>img.dw-emblem{height:75px}}
@media(max-width:900px){.registration-page .reg-brand>img.dw-emblem{height:46px}}
@media(max-width:600px){.dw-brand img.dw-emblem{height:36px}}
