/* LiSpeak: soft violet surfaces and mint interaction highlights. */
:root{--purple:#7c3aed;--green:#7c3aed;--green-dark:#6330be;--ink:#302442;--muted:#746783;--bg:#faf7ff;--line:#e7ddf2;--coral:#7c3aed;--navy:#302047;--mint:#65e6a6}
body.academy,body.classroom-app{background:var(--bg);color:var(--ink)}
.button{background:#7c3aed;border:1px solid #7c3aed;border-radius:14px;box-shadow:0 4px 14px #7c3aed20}
.button:hover{background:#6930cf;border-color:var(--mint);box-shadow:0 0 0 3px #65e6a62b,0 5px 20px #65e6a638}
.button.secondary,.button.white{background:#fff;color:#6430aa;border-color:#d9c7ed}
.button.secondary:hover,.button.white:hover{background:#f0fff6;border-color:#47b982;color:#28583e}
a:focus-visible,button:focus-visible{outline:3px solid #45aa78;outline-offset:4px}
input,textarea,select,.answer-row input,.answer-row select,.writing-field textarea{border:2px solid #d8c5ee;border-radius:12px;background:#fdfbff;color:#302442;padding:12px;box-shadow:inset 0 1px 3px #54258105}
input:hover,textarea:hover,select:hover,.answer-row input:hover,.answer-row select:hover{border-color:#67c797;box-shadow:0 0 0 3px #65e6a61c}
input:focus,textarea:focus,select:focus,.answer-row input:focus,.answer-row select:focus{border-color:#8251ce;outline:2px solid #65e6a6;outline-offset:2px;box-shadow:0 0 18px #65e6a633}
.academy-sidebar,.lesson-sidebar,.class-header,.auth-story{background:#302047;color:#eee5fa}
.academy-logo span,.class-logo strong,.auth-story .accent,.auth-story h1 em{color:#c996ff}
.academy-sidebar nav>a{color:#e0d6ec;border-radius:14px}
.academy-sidebar nav>a.active{background:#563578;color:#fff;border-left-color:#be80ff}
.academy-sidebar nav>a:hover,.step-link:hover{background:#3b4a49;color:#d1ffe6;box-shadow:inset 0 0 0 1px #65e6a675,0 0 14px #65e6a612}
.academy-sidebar nav>a.active .ui-icon{filter:brightness(0) invert(1)}
.academy-sidebar-bottom>.nav-label{border-color:#5d456f;color:#c7b6d7}.sidebar-signout{color:#e0d6ec}
.library-heading h1>span,.course-availability,.auth-form .accent,.auth-switch a{color:#7c3aed}
.library-profile .avatar,.academy .stat-icon,.academy .lesson-number,.programme-number{background:#ede0ff;color:#6831b5}
.level-row{border-radius:16px;padding-left:12px;padding-right:12px;margin-top:5px;border-bottom-color:#e8dff3}
.level-row:hover,.programme-row:hover,.home-shortcuts>a:hover{background:#f0fff6;box-shadow:inset 0 0 0 1px #65e6a6,0 5px 22px #65e6a619}
.level-mark,.level-a1 .level-mark,.level-a2 .level-mark,.level-b1 .level-mark,.level-b2 .level-mark,.level-c1 .level-mark{background:#edddff;color:#7836c8;box-shadow:inset 0 0 0 1px #cda8f55c}
.level-a1 .level-mark,.level-b2 .level-mark{background:#e6f6ee;color:#337559}
.level-copy strong,.catalog-heading h1,.programme-title strong,.programme-summary strong,.context-card h2,.exercise-body h2,.auth-form h2{color:#382447}
.business-feature,.home-shortcuts>a,.programme-summary{background:#f1eafa;border-radius:20px}
.business-image>span{background:#6333a2}.business-copy>.eyebrow,.eyebrow,.tiny-label{color:#7e589e}
.catalog-group,.academy .panel,.exercise-card,.context-card{border:1px solid #e0d2ef;border-radius:20px;box-shadow:0 8px 30px #62359607}
.catalog-table-head,.programme-row:nth-child(odd){background:#f8f3ff}
.home-feature{background:#392350;border-radius:24px}.home-feature p,.home-feature-copy .eyebrow{color:#e0cdec}
.class-header{border-bottom-color:#624080}.class-exit{background:#4b3064}.class-main{background:#f7f2fd}
.lesson-tabs{background:#432b59;border-radius:13px}.lesson-tabs button{color:#e5d9ef;border-radius:10px}.lesson-tabs button[aria-selected=true]{background:#e7d3ff;color:#562987}
.step-link{color:#dfd0ec;border-radius:10px}.step-link[aria-current=step]{background:#573577;border-left-color:#be80ff;color:#fff}.step-link[aria-current=step] .step-dot{background:#c997ff;box-shadow:0 0 9px #bd78ff88}.step-dot{background:#a48cb6}.lesson-nav-caption,.lesson-sidebar-bottom{color:#c7b2db}
.exercise-track{background:#ecdef8}.exercise-track>span{background:#a855f7}.exercise-card-heading{color:#725886}.lesson-breadcrumb a,.context-link,.answer-key summary,.vocab-details summary,.exercise-body a{color:#7436b5}
.exercise-body blockquote{background:#f4edfc;border-color:#b67fea}.context-progress>span{color:#7c3aed}.lesson-picker a:hover,.lesson-picker a[aria-current]{background:#f0fff6;color:#315c46}
.flashcard{background:linear-gradient(135deg,#3b2353,#644093);border-radius:20px}.flash-back{background:#f5edff;color:#382447}.flash-back .flash-translation{color:#773cb7}.flash-back blockquote{border-color:#b785e8}
.flash-navigation button{border-color:#d8c5ee;border-radius:12px;color:#723ca8}.flash-navigation button:hover{background:#f0fff6;border-color:#65e6a6;box-shadow:0 0 12px #65e6a62c}
.prose table,.table-wrap table{border:1px solid #cbb2e4;border-spacing:0;border-collapse:separate;border-radius:12px;overflow:hidden;width:100%}
.prose th,.prose td,.table-wrap th,.table-wrap td{border:0;border-right:1px solid #dfd0ed;border-bottom:1px solid #dfd0ed;padding:12px}
.prose th,.table-wrap th{background:#eee1fb;color:#4c2c69}.prose td,.table-wrap td{background:#fdfbff}
.prose tr:last-child td,.table-wrap tr:last-child td{border-bottom:0}.prose tr>*:last-child,.table-wrap tr>*:last-child{border-right:0}
.prose table:hover,.table-wrap table:hover{border-color:#68c598;box-shadow:0 0 12px #65e6a61a}
.lesson-photo{margin:24px 30px 0;border:1px solid #dfc9f3;border-radius:16px;overflow:hidden;background:#f7f0ff}
.lesson-photo>a{display:block}.lesson-photo img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;aspect-ratio:auto}
.lesson-photo figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:11px;line-height:1.6;color:#705581}
.lesson-photo figcaption a{white-space:nowrap;color:#7033aa;text-decoration:underline;text-underline-offset:3px}
.lesson-photo:hover{border-color:#65e6a6;box-shadow:0 0 18px #65e6a62b}
progress{accent-color:#9250e7}.programme-summary progress::-webkit-progress-value{background:#9250e7}.home-progress progress{accent-color:#9250e7}
@media(prefers-reduced-motion:no-preference){.button,.level-row,.programme-row,.step-link,.academy-sidebar nav>a,input,textarea,select,.lesson-photo{transition:background .18s,border-color .18s,box-shadow .18s}}
@media(max-width:480px){.lesson-photo{margin:18px 18px 0;border-radius:12px}.lesson-photo figcaption{align-items:flex-start;flex-direction:column;gap:5px;padding:10px 12px}.level-row{padding-left:7px;padding-right:7px}.prose th,.prose td{padding:8px}}
