/* LIRVO 1.1.2 — COMPLETE NEO-BRUTAL RESTORATION
   This layer finishes what 1.1.1 only partially restored.
   Important: the calm v1.1 stylesheet is no longer loaded at runtime.
   Product rule: focused structure + full LIRVO neo-brutalist visual language.
*/
:root{
  --lr-ink:#0d0d0d;
  --lr-paper:#f5f0e6;
  --lr-white:#fffdf8;
  --lr-purple:#7659ea;
  --lr-purple-deep:#5f43d7;
  --lr-purple-soft:#eee8ff;
  --lr-lime:#b9f45f;
  --lr-cyan:#79dff0;
  --lr-yellow:#ffd45b;
  --lr-pink:#ff7897;
  --lr-muted:#686258;
  --lr-shadow:6px 6px 0 #0d0d0d;
  --lr-shadow-sm:3px 3px 0 #0d0d0d;
  --lr-rule:2px solid #0d0d0d;
}

/* ---------- GLOBAL / PHYSICAL LANGUAGE ---------- */
html,body{background:var(--lr-paper)!important;color:var(--lr-ink)!important}
body{
  background-color:var(--lr-paper)!important;
  background-image:
    linear-gradient(rgba(13,13,13,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(13,13,13,.032) 1px,transparent 1px)!important;
  background-size:32px 32px!important;
}
::selection{background:var(--lr-lime)!important;color:var(--lr-ink)!important}
[hidden]{display:none!important}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--lr-lime)!important;outline-offset:3px!important}

/* Characterful scrollbar without stealing visual attention. */
*{scrollbar-width:thin;scrollbar-color:var(--lr-purple) var(--lr-paper)}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--lr-paper);border-left:1px solid rgba(13,13,13,.38)}
::-webkit-scrollbar-thumb{
  border:2px solid var(--lr-ink);border-radius:0;
  background:linear-gradient(180deg,var(--lr-purple) 0 20%,var(--lr-cyan) 20% 40%,var(--lr-lime) 40% 60%,var(--lr-yellow) 60% 80%,var(--lr-pink) 80% 100%);
}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--lr-pink) 0 20%,var(--lr-yellow) 20% 40%,var(--lr-lime) 40% 60%,var(--lr-cyan) 60% 80%,var(--lr-purple) 80% 100%)}

/* Shared buttons. */
.route-primary,.route-secondary,.path-action,.card-cta,.text-button,
.player-primary,.player-secondary,.auth-primary,.admin-page button,
.auth-page button:not(.login-password-toggle){
  border:2px solid var(--lr-ink)!important;border-radius:0!important;
  font-weight:900!important;letter-spacing:.07em!important;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease!important;
}
.route-primary,.path-action,.player-primary,.auth-primary{
  background:var(--lr-ink)!important;color:#fff!important;box-shadow:3px 3px 0 var(--lr-purple)!important;
}
.route-primary:hover,.path-action:hover:not(:disabled),.player-primary:hover:not(:disabled),.auth-primary:hover:not(:disabled){
  transform:translate(2px,2px)!important;box-shadow:1px 1px 0 var(--lr-purple)!important;background:var(--lr-purple)!important;
}
.route-secondary,.player-secondary{background:var(--lr-white)!important;color:var(--lr-ink)!important;box-shadow:var(--lr-shadow-sm)!important}
.route-secondary:hover,.player-secondary:hover{transform:translate(2px,2px)!important;box-shadow:1px 1px 0 var(--lr-ink)!important;background:var(--lr-yellow)!important}

/* ---------- TOP BAR / NAVIGATION ---------- */
.topbar{
  background:var(--lr-paper)!important;border-bottom:2px solid var(--lr-ink)!important;
  box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.desktop-nav{border-left:1px solid var(--lr-ink)!important}
.desktop-nav .nav-link{border-right:1px solid var(--lr-ink)!important;color:var(--lr-ink)!important;background:transparent!important}
.desktop-nav .nav-link:hover{background:var(--lr-yellow)!important;color:var(--lr-ink)!important}
.desktop-nav .nav-link.is-active{background:var(--lr-ink)!important;color:#fff!important;box-shadow:inset 0 -5px 0 var(--lr-lime)!important}
.language-switch{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:var(--lr-shadow-sm)!important}
.language-switch span{border:1px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-lime)!important}
.icon-button{border:2px solid var(--lr-ink)!important;background:var(--lr-ink)!important;color:#fff!important;box-shadow:none!important}
.brand-official-mark{filter:none!important}

/* ---------- HOME: FOCUSED STRUCTURE, NOT MINIMALIST AESTHETIC ---------- */
.focus-home{position:relative!important}
.focus-home:before{
  content:"";position:absolute;right:-9vw;top:0;width:39vw;height:100%;z-index:-1;pointer-events:none;
  background:linear-gradient(rgba(118,89,234,.07),rgba(118,89,234,.07)),
             linear-gradient(rgba(13,13,13,.055) 1px,transparent 1px),
             linear-gradient(90deg,rgba(13,13,13,.055) 1px,transparent 1px);
  background-size:auto,32px 32px,32px 32px;
  border-left:1px solid rgba(13,13,13,.18);
}
.eyebrow{border-radius:0!important;font-weight:950!important;letter-spacing:.14em!important}
.focus-home__intro .eyebrow,.home-support__copy>.eyebrow{display:inline-flex!important;width:max-content!important;background:var(--lr-yellow)!important;border:1.5px solid var(--lr-ink)!important;padding:7px 9px!important;color:var(--lr-ink)!important}
.focus-home__intro h1 em,.home-support__copy h2 em,.route-hero h2 em{color:var(--lr-purple)!important}
.focus-home__intro h1 em{position:relative!important;z-index:0!important}
.focus-home__intro h1 em:after{content:"";position:absolute;left:0;right:0;height:7px;bottom:-4px;background:var(--lr-lime);z-index:-1;transform:rotate(-1deg)}

.next-lesson{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:7px 7px 0 var(--lr-ink)!important;overflow:visible!important}
.next-lesson:before{background:var(--lr-purple)!important;border:2px solid var(--lr-ink)!important;color:#fff!important}
.next-lesson__meta{border-bottom:2px solid var(--lr-ink)!important;background:#fff8e7!important}
.next-lesson__meta .tag{border:1.5px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-lime)!important;color:var(--lr-ink)!important}
.next-lesson__button{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-ink)!important;color:#fff!important;box-shadow:4px 4px 0 var(--lr-purple)!important}
.next-lesson__button:hover:not(:disabled){background:var(--lr-purple)!important;transform:translate(2px,2px)!important;box-shadow:2px 2px 0 var(--lr-ink)!important}
.next-lesson__progress{border-top:2px solid var(--lr-ink)!important;background:var(--lr-white)!important}
.next-lesson__progress i{border:1px solid var(--lr-ink)!important;border-radius:0!important;background:#e7e0d4!important}
.next-lesson__progress b{border-radius:0!important;background:var(--lr-purple)!important}

.home-quiet-actions{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:5px 5px 0 rgba(13,13,13,.22)!important;overflow:hidden!important}
.home-quiet-actions button{border-radius:0!important;background:var(--lr-white)!important;color:var(--lr-ink)!important}
.home-quiet-actions button:nth-child(1){box-shadow:inset 0 -5px 0 var(--lr-purple)!important}
.home-quiet-actions button:nth-child(2){box-shadow:inset 0 -5px 0 var(--lr-yellow)!important}
.home-quiet-actions button:nth-child(3){box-shadow:inset 0 -5px 0 var(--lr-pink)!important}
.home-quiet-actions button:nth-child(4){box-shadow:inset 0 -5px 0 var(--lr-lime)!important}
.home-quiet-actions button:hover{background:var(--lr-purple-soft)!important}
.home-quiet-actions span{color:var(--lr-purple)!important}
.home-course-context{border-top:2px solid var(--lr-ink)!important;border-bottom:2px solid var(--lr-ink)!important;background:var(--lr-ink)!important;color:#fff!important;padding:0!important}
.home-course-context>span{min-height:74px!important;padding:17px 24px!important;margin:0!important;border-right:1px solid rgba(255,255,255,.22)!important}
.home-course-context small{color:#beb8ac!important}.home-course-context strong{color:#fff!important}.home-course-context p{flex:1!important;margin:0!important;padding:18px 24px!important;color:#fff!important;background:var(--lr-purple)!important}

.home-support{border-top:0!important}
.home-support__copy{border:2px solid var(--lr-ink)!important;background:var(--lr-white)!important;padding:28px!important;box-shadow:var(--lr-shadow-sm)!important}
.home-support__steps{border:2px solid var(--lr-ink)!important;background:var(--lr-white)!important;box-shadow:var(--lr-shadow-sm)!important}
.home-support__steps li{border-top:0!important;border-bottom:2px solid var(--lr-ink)!important;padding:20px!important}
.home-support__steps li:last-child{border-bottom:0!important}
.home-support__steps>li>span{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-yellow)!important}
.home-support__steps li:nth-child(2)>span{background:var(--lr-cyan)!important}.home-support__steps li:nth-child(3)>span{background:var(--lr-lime)!important}

/* ---------- INNER PAGES: FULL NEO-BRUTAL SYSTEM ---------- */
.route-section{background:var(--lr-paper)!important}
.route-section:before{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;background-image:linear-gradient(rgba(13,13,13,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(13,13,13,.025) 1px,transparent 1px)!important;background-size:32px 32px!important}
.route-hero{max-width:1180px!important;border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:var(--lr-shadow)!important;padding:clamp(28px,4vw,50px)!important;position:relative!important}
.route-hero:before{content:"";position:absolute;left:-2px;top:-2px;bottom:-2px;width:11px;background:var(--lr-purple);border-right:2px solid var(--lr-ink)}
#reviewSection .route-hero:before{background:var(--lr-yellow)}
#practiceSection .route-hero:before{background:var(--lr-pink)}
#progressSection .route-hero:before{background:var(--lr-cyan)}
.route-hero .eyebrow{display:inline-flex!important;background:var(--lr-yellow)!important;border:1px solid var(--lr-ink)!important;padding:6px 8px!important;color:var(--lr-ink)!important}
.route-hero h2{color:var(--lr-ink)!important}
.route-hero>p:not(.eyebrow),.route-hero>div>p{color:var(--lr-muted)!important}
.route-metric{border-top:2px solid var(--lr-ink)!important;border-bottom:2px solid var(--lr-ink)!important;background:#fff8e7!important;padding:15px 17px!important}
.route-metric strong{color:var(--lr-ink)!important}
.route-subhead{max-width:1180px!important;margin-inline:auto!important;border-bottom:2px solid var(--lr-ink)!important;padding-bottom:16px!important}
.route-subhead .eyebrow{display:inline-flex!important;border:1px solid var(--lr-ink)!important;padding:5px 7px!important;background:var(--lr-lime)!important;color:var(--lr-ink)!important}
.route-subhead h3{font-weight:950!important;letter-spacing:-.04em!important}

/* PATH */
.path-hero{grid-template-columns:minmax(0,1fr) auto!important}
.path-hero__progress{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-ink)!important;color:#fff!important;box-shadow:4px 4px 0 var(--lr-lime)!important}
.path-hero__progress span+span{border-left:1px solid rgba(255,255,255,.28)!important}
.path-next{max-width:1180px!important;margin-inline:auto!important;border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-yellow)!important;box-shadow:var(--lr-shadow-sm)!important;padding:24px!important}
.path-next h3{font-size:clamp(28px,3vw,42px)!important;letter-spacing:-.045em!important}.path-next p{color:#4c463d!important}
.path-next button{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-ink)!important;color:#fff!important;box-shadow:4px 4px 0 var(--lr-purple)!important;font-weight:950!important}
.path-next button:hover:not(:disabled){transform:translate(2px,2px)!important;box-shadow:2px 2px 0 var(--lr-purple)!important;background:var(--lr-purple)!important}
.path-units{max-width:1180px!important;margin-inline:auto!important}
.path-unit{border:0!important;background:transparent!important}
.path-unit>header,.path-unit__head{border:2px solid var(--lr-ink)!important;background:var(--lr-ink)!important;color:#fff!important;padding:15px 18px!important}
.path-unit__lessons{gap:12px!important}
.path-lesson{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:4px 4px 0 rgba(13,13,13,.18)!important;overflow:hidden!important;transition:transform .12s ease,box-shadow .12s ease!important}
.path-lesson:hover:not(.is-locked){transform:translate(-1px,-1px)!important;box-shadow:6px 6px 0 var(--lr-ink)!important}
.path-lesson__rail{background:var(--lr-yellow)!important;border-right:2px solid var(--lr-ink)!important;color:var(--lr-ink)!important}
.path-lesson.is-complete{box-shadow:4px 4px 0 var(--lr-lime)!important}.path-lesson.is-complete .path-lesson__rail{background:var(--lr-lime)!important}
.path-lesson:not(.is-locked):not(.is-complete):first-child{box-shadow:5px 5px 0 var(--lr-purple)!important}.path-lesson:not(.is-locked):not(.is-complete):first-child .path-lesson__rail{background:var(--lr-purple)!important;color:#fff!important}
.path-lesson.is-locked{opacity:1!important;background:#e8e3d9!important;box-shadow:none!important}.path-lesson.is-locked .path-lesson__rail{background:#cfc8bc!important;color:#736e65!important}.path-lesson.is-locked .path-lesson__body{color:#746f66!important}
.path-lesson__body{padding:18px 20px!important}.path-lesson__body h4,.path-lesson__body h3{font-weight:950!important;letter-spacing:-.03em!important}.path-lesson__meta{color:var(--lr-muted)!important}
.path-lesson__action{border-left:1px solid rgba(13,13,13,.18)!important;background:#fffaf0!important}
.path-action:disabled{background:#cfc9be!important;color:#746f66!important;box-shadow:none!important;cursor:not-allowed!important}
.path-lock-note,.practice-lock{border:1px solid var(--lr-ink)!important;border-radius:0!important;background:#f0ebe2!important;color:#5f594f!important}

/* REVIEW / PRACTICE */
.route-grid,.explore-grid{max-width:1180px!important;margin-inline:auto!important}
.route-card,.explore-folder{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:4px 4px 0 var(--lr-ink)!important;position:relative!important;overflow:visible!important}
.route-card:before,.explore-folder:before{content:"";position:absolute;left:-2px;right:-2px;bottom:-2px;height:7px;background:var(--lr-purple);border:2px solid var(--lr-ink);border-top:0}
.route-card:nth-child(4n+2):before,.explore-folder:nth-child(4n+2):before{background:var(--lr-cyan)}
.route-card:nth-child(4n+3):before,.explore-folder:nth-child(4n+3):before{background:var(--lr-yellow)}
.route-card:nth-child(4n+4):before,.explore-folder:nth-child(4n+4):before{background:var(--lr-pink)}
.route-card:hover,.explore-folder:hover:not(:disabled){transform:translate(2px,2px)!important;box-shadow:2px 2px 0 var(--lr-ink)!important;background:var(--lr-purple-soft)!important}
.route-card h3,.explore-folder h3{font-weight:950!important;color:var(--lr-ink)!important}
.route-card p,.explore-folder p{color:var(--lr-muted)!important}
.explore-folder.is-locked{opacity:1!important;filter:none!important;background:#e7e1d7!important;box-shadow:none!important;color:#756f65!important}.explore-folder.is-locked:before{background:#c8c1b6!important}.explore-folder.is-locked:hover{transform:none!important;background:#e7e1d7!important}
.route-empty{border:2px dashed var(--lr-ink)!important;border-radius:0!important;background:#fff8e7!important;padding:26px!important;color:var(--lr-ink)!important}
.topic-list,.topic-progress-list{max-width:1180px!important;margin-inline:auto!important;border:2px solid var(--lr-ink)!important;background:var(--lr-white)!important;box-shadow:var(--lr-shadow-sm)!important}
.topic-row,.topic-progress-row{border:0!important;border-bottom:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;padding:18px 20px!important}
.topic-row:last-child,.topic-progress-row:last-child{border-bottom:0!important}.topic-row:hover:not(.is-locked){background:var(--lr-purple-soft)!important}.topic-row.is-locked{background:#e9e4db!important;color:#777168!important;opacity:1!important}

/* PROGRESS */
.progress-metrics{max-width:1180px!important;margin-inline:auto!important}
.progress-metrics article{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:var(--lr-shadow-sm)!important;position:relative!important;overflow:hidden!important}
.progress-metrics article:nth-child(1){box-shadow:4px 4px 0 var(--lr-purple)!important}.progress-metrics article:nth-child(2){box-shadow:4px 4px 0 var(--lr-cyan)!important}.progress-metrics article:nth-child(3){box-shadow:4px 4px 0 var(--lr-yellow)!important}.progress-metrics article:nth-child(4){box-shadow:4px 4px 0 var(--lr-lime)!important}
.progress-metrics article.wide{background:var(--lr-purple)!important;color:#fff!important;box-shadow:5px 5px 0 var(--lr-ink)!important}.progress-metrics article.wide small,.progress-metrics article.wide strong{color:#fff!important}
.progress-layout{max-width:1180px!important;margin-inline:auto!important}
.progress-insight{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-yellow)!important;box-shadow:var(--lr-shadow)!important;padding:24px!important}
.progress-skills{gap:14px!important}.skill-progress-card{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:3px 3px 0 rgba(13,13,13,.18)!important}.dual-meter i,.skill-progress-card i{border:1px solid var(--lr-ink)!important;border-radius:0!important;background:#e5dfd4!important}.dual-meter b,.skill-progress-card b{border-radius:0!important}

/* ---------- PLAYER / EXERCISE SYSTEM ---------- */
.learning-player{background:rgba(13,13,13,.88)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.player-shell{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:10px 10px 0 var(--lr-purple)!important}
.player-head{background:var(--lr-ink)!important;color:#fff!important;border-bottom:0!important}.player-head .eyebrow{color:var(--lr-lime)!important}.player-head button{border:2px solid #fff!important;border-radius:0!important;background:var(--lr-white)!important;color:var(--lr-ink)!important}
.player-progress{background:var(--lr-ink)!important;color:#fff!important}.player-progress i{border:1px solid #fff!important;border-radius:0!important;background:#2c2c2c!important}.player-progress b{background:var(--lr-lime)!important;border-radius:0!important}
.player-body{background:var(--lr-white)!important}
.player-body h3,.player-body h2,.player-body .question-title{font-weight:950!important;letter-spacing:-.04em!important}
.player-footer{background:var(--lr-yellow)!important;border-top:2px solid var(--lr-ink)!important}
.player-feedback{border-top:2px solid var(--lr-ink)!important;background:var(--lr-purple-soft)!important;color:var(--lr-ink)!important}
.player-feedback.is-pass{background:#e8ffd0!important}.player-feedback.is-retry{background:#ffe3e9!important}
.answer-options{gap:12px!important}.answer-option,.choice-option,.player-option,.binary button{
  border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;color:var(--lr-ink)!important;box-shadow:3px 3px 0 rgba(13,13,13,.22)!important;min-height:58px!important;
}
.answer-option:hover,.choice-option:hover,.player-option:hover,.binary button:hover{background:var(--lr-purple-soft)!important;transform:translate(1px,1px)!important;box-shadow:2px 2px 0 var(--lr-ink)!important}
.answer-option.is-selected,.choice-option.is-selected,.player-option.is-selected{background:var(--lr-purple)!important;color:#fff!important;box-shadow:3px 3px 0 var(--lr-ink)!important}
.text-answer input,.fill-sentence input,.order-answer input,.player-body input,.player-body textarea{
  border:2px solid var(--lr-ink)!important;border-radius:0!important;background:#fff!important;box-shadow:var(--lr-shadow-sm)!important;color:var(--lr-ink)!important;
}
.text-answer input:focus,.fill-sentence input:focus,.player-body input:focus,.player-body textarea:focus{box-shadow:4px 4px 0 var(--lr-purple)!important}
.token-bank{gap:9px!important}.token-bank button{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-cyan)!important;box-shadow:2px 2px 0 var(--lr-ink)!important}.token-bank button:hover{background:var(--lr-lime)!important}
.listening-box{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-purple-soft)!important;box-shadow:var(--lr-shadow-sm)!important}.listening-box button{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-yellow)!important;color:var(--lr-ink)!important;box-shadow:var(--lr-shadow-sm)!important}
.question-meta{border-bottom:1px solid rgba(13,13,13,.25)!important;color:var(--lr-muted)!important}
.session-complete{border:2px solid var(--lr-ink)!important;background:var(--lr-lime)!important;box-shadow:var(--lr-shadow)!important}.session-score{border:2px solid var(--lr-ink)!important;background:var(--lr-white)!important}

/* ---------- LANGUAGE / PROFILE / TOAST / ACCESS ---------- */
.language-modal{background:rgba(13,13,13,.76)!important;backdrop-filter:none!important}
.language-modal__shell{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:10px 10px 0 var(--lr-purple)!important}
.language-modal__head{background:var(--lr-yellow)!important;border-bottom:2px solid var(--lr-ink)!important}.language-modal__head .eyebrow{color:var(--lr-ink)!important}.language-modal__close{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:var(--lr-shadow-sm)!important}
.language-choice{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:var(--lr-shadow-sm)!important}.language-choice:hover{background:var(--lr-purple-soft)!important;transform:translate(1px,1px)!important;box-shadow:2px 2px 0 var(--lr-ink)!important}.language-choice.is-active{background:var(--lr-lime)!important}
.language-modal__footer{border-top:2px solid var(--lr-ink)!important;background:var(--lr-purple)!important;color:#fff!important}
.profile-popover{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:var(--lr-shadow)!important}.profile-popover>*{border-color:var(--lr-ink)!important}.profile-popover a:hover{background:var(--lr-yellow)!important;color:var(--lr-ink)!important}
.toast{border:2px solid #fff!important;border-radius:0!important;background:var(--lr-ink)!important;color:#fff!important;box-shadow:5px 5px 0 var(--lr-purple)!important}
.access-lock{background:rgba(13,13,13,.88)!important}.access-lock>div{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:9px 9px 0 var(--lr-pink)!important}.access-lock a{border:2px solid var(--lr-ink)!important;background:var(--lr-ink)!important;color:#fff!important;box-shadow:var(--lr-shadow-sm)!important;border-radius:0!important}

/* ---------- AUTHENTICATION ---------- */
.auth-page{background:var(--lr-paper)!important;background-image:linear-gradient(rgba(13,13,13,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(13,13,13,.035) 1px,transparent 1px)!important;background-size:32px 32px!important}
.auth-page:not(.auth-login-page) .auth-brand{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-purple)!important;color:#fff!important;box-shadow:var(--lr-shadow)!important}
.auth-page:not(.auth-login-page) .auth-card{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:var(--lr-shadow)!important}
.auth-page input,.auth-page select,.auth-page textarea{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:#fff!important;box-shadow:2px 2px 0 rgba(13,13,13,.18)!important}
.auth-page input:focus,.auth-page select:focus,.auth-page textarea:focus{box-shadow:4px 4px 0 var(--lr-purple)!important}
.auth-login-page .login-brand-panel,.auth-login-page .login-panel,.auth-login-page .login-card,.auth-login-page .auth-login-card{border-radius:0!important}
.auth-login-page .login-card,.auth-login-page .auth-login-card{border:2px solid var(--lr-ink)!important;box-shadow:var(--lr-shadow)!important;background:var(--lr-white)!important}
.auth-login-page .login-brand-panel{border-right:2px solid var(--lr-ink)!important}

/* ---------- ADMIN: OPERATIONAL, BUT SAME PRODUCT ---------- */
.admin-page{background:var(--lr-paper)!important;background-image:linear-gradient(rgba(13,13,13,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(13,13,13,.035) 1px,transparent 1px)!important;background-size:32px 32px!important}
.admin-topbar{background:var(--lr-paper)!important;border-bottom:2px solid var(--lr-ink)!important;box-shadow:none!important}.admin-topbar a,.admin-topbar strong{border-radius:0!important}
.admin-shell{max-width:1220px!important}
.admin-hero{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-ink)!important;color:#fff!important;box-shadow:7px 7px 0 var(--lr-purple)!important;position:relative!important;overflow:hidden!important}
.admin-hero:after{content:"ACCESS";position:absolute;right:2%;bottom:-12%;font-size:clamp(80px,13vw,170px);line-height:.8;font-weight:950;color:rgba(255,255,255,.035);letter-spacing:-.08em;pointer-events:none}
.admin-create,.admin-users{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:var(--lr-shadow-sm)!important}
.admin-create input,.admin-create select,.admin-user-card input,.admin-user-card select{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:#fff!important}
.admin-user-card{border:2px solid var(--lr-ink)!important;border-radius:0!important;background:var(--lr-white)!important;box-shadow:3px 3px 0 rgba(13,13,13,.16)!important}.admin-user-card:hover{box-shadow:4px 4px 0 var(--lr-purple)!important}
.admin-badges span{border:1px solid var(--lr-ink)!important;border-radius:0!important}.admin-user-actions{border-top:1px solid var(--lr-ink)!important;background:#fff8e7!important}

/* ---------- MOBILE ---------- */
.mobile-nav{background:var(--lr-paper)!important;border-top:2px solid var(--lr-ink)!important;box-shadow:none!important}.mobile-nav>a{color:var(--lr-ink)!important;border-right:1px solid var(--lr-ink)!important}.mobile-nav>a:last-child{border-right:0!important}.mobile-nav>a.is-active{background:var(--lr-ink)!important;color:#fff!important;box-shadow:inset 0 4px 0 var(--lr-lime)!important}

@media(max-width:900px){
  .focus-home:before{display:none!important}
  .next-lesson{box-shadow:5px 5px 0 var(--lr-ink)!important}
  .home-course-context{display:grid!important;grid-template-columns:repeat(3,1fr)!important}.home-course-context>span{padding:13px 10px!important}.home-course-context p{grid-column:1/-1!important;border-top:1px solid rgba(255,255,255,.24)!important}
  .home-support__copy,.home-support__steps{box-shadow:3px 3px 0 var(--lr-ink)!important}
  .route-hero{box-shadow:4px 4px 0 var(--lr-ink)!important;padding:28px 24px!important}.route-hero:before{width:8px!important}
  .path-hero{grid-template-columns:1fr!important}.path-next{box-shadow:4px 4px 0 var(--lr-ink)!important}
  .path-lesson{grid-template-columns:46px minmax(0,1fr)!important}.path-lesson__rail{grid-row:1/3!important}.path-lesson__action{grid-column:2!important;border-left:0!important;border-top:1px solid rgba(13,13,13,.18)!important}.path-action{width:100%!important}
  .route-grid,.explore-grid{grid-template-columns:1fr!important}.route-card,.explore-folder{box-shadow:3px 3px 0 var(--lr-ink)!important}
  .progress-metrics{grid-template-columns:1fr 1fr!important}.progress-layout{grid-template-columns:1fr!important}.progress-skills{grid-template-columns:1fr!important}
  .language-modal__shell{border-width:2px 0 0!important;box-shadow:0 -7px 0 var(--lr-purple)!important}.language-modal__choices{grid-template-columns:1fr!important}
  .learning-player{padding:0!important}.player-shell{height:100dvh!important;max-height:100dvh!important;border:0!important;box-shadow:none!important}.player-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom))!important}
}

@media(max-width:520px){
  .home-course-context{grid-template-columns:1fr 1fr!important}.home-course-context>span:nth-child(3){grid-column:1/-1!important}
  .progress-metrics{grid-template-columns:1fr!important}
  .route-hero h2{font-size:42px!important}
  .path-next{padding:20px!important}
  .admin-hero{padding:28px 22px!important}
}

@media(prefers-reduced-motion:reduce){
  .next-lesson__button,.home-quiet-actions button,.path-lesson,.route-card,.explore-folder,.language-choice,.player-primary,.player-secondary{transition:none!important}
}
