/* Øvestudio · warm playful visuals layered on the existing white-label UI. */
.logo .brand-mark{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#367763,#195545);box-shadow:0 7px 0 #e3eddf,0 13px 22px #255e502d;transform:rotate(-5deg);transition:transform .2s}
.logo:hover .brand-mark{transform:rotate(0deg) translateY(-2px)}
.brand-symbol{display:block;width:44px;height:44px}
.practice-panel{padding:0;overflow:hidden;border:1px solid #e6ebe0;border-radius:27px}
.practice-head{display:flex;position:relative;align-items:center;justify-content:space-between;gap:22px;padding:27px 32px 25px;background:linear-gradient(116deg,#e8f6e8,#f3f9eb 60%,#fff3e0);overflow:hidden}
.practice-head::before{content:'';position:absolute;width:260px;height:260px;border:2px solid #a5d3ae42;border-radius:50%;right:-48px;top:-108px;box-shadow:0 0 0 25px #a5d3ae14,0 0 0 65px #ffdfad25}
.practice-head>div{position:relative;z-index:1}
.practice-head .eyebrow{display:inline-block;border-radius:22px;background:#fff8;padding:6px 12px;font-size:10px;color:#396e59}
.practice-head h2{font-size:clamp(28px,4vw,36px);line-height:1.14;margin:10px 0;letter-spacing:-1px;color:#265b4a}
.practice-lead{color:#587b6a;font-size:14px;line-height:1.55;max-width:460px;margin:0}
.practice-art{flex:0 0 150px;height:130px;display:grid;place-items:center}
.practice-art b{background:white;border-radius:18px 18px 18px 5px;display:grid;place-items:center;width:95px;height:102px;font-size:37px;color:#36745e;transform:rotate(12deg);box-shadow:10px 9px #ffbf7c,-7px 12px #bad9c0,0 16px 21px #27614922}
.practice-art span{position:absolute;right:18px;top:-5px;color:#efa84a;font-size:45px}.practice-art em{position:absolute;left:12px;bottom:2px;font-style:normal;color:#806abb;font-size:33px}
.practice-panel #word-quiz{margin:0;background:#fff;border-radius:0;padding:25px 31px}
.practice-panel .quiz-header{gap:8px;flex-wrap:wrap}.practice-panel .quiz-header strong{font-size:18px;color:#294f42}
.practice-local{font-size:11px;font-weight:750;color:#789081}
.practice-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.practice-stats>div{display:grid;gap:3px;padding:15px 17px;background:#f5f8f4;border:1px solid #e7eee5;border-radius:17px}
.practice-stats>div:nth-child(2){background:#fff8ed;border-color:#f6ead8}.practice-stats>div:nth-child(3){background:#f5f2fc;border-color:#e9e4f4}
.practice-stats strong{font-size:25px;color:#275a49;font-weight:900}.practice-stats small{font-size:11px;color:#738a7d;font-weight:800}
#word-quiz-language button{min-height:43px;border-radius:13px}
#word-quiz-description{max-width:680px}
.practice-home{display:flex;justify-content:space-between;align-items:center;gap:14px;background:linear-gradient(110deg,#eff8ec,#fff6e9);border:1px solid #e1ecdf;padding:19px 21px;border-radius:18px}
.practice-home strong{font-size:17px;color:#285746}.practice-home p{font-size:13px;color:#718c7b;margin:5px 0}
.practice-home-actions{display:flex;gap:8px;flex-wrap:wrap}
#word-quiz-start,#word-quiz-review{border-radius:13px;min-height:47px;padding:12px 17px;cursor:pointer;font-weight:850}
#word-quiz-start{background:#255f50;color:#fff;border-color:#255f50;box-shadow:0 4px 12px #255f5028}
#word-quiz-review{background:#fff;color:#316e59;border:1px solid #a6c9b6}
.practice-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#word-quiz-pause{border:0;background:transparent;color:#648072;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:800;cursor:pointer;padding:9px 0}
.practice-track{height:12px;border-radius:20px;background:#e5eee7;overflow:hidden;margin:6px 0 22px}
.practice-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#75bb95,#2ea78c,#ffb767);transition:width .25s}
.practice-question{background:linear-gradient(120deg,#fdfdfb,#fff9f0);border:1.5px solid #ece8de;padding:25px 27px;border-radius:22px}
#word-quiz-question{font-size:clamp(20px,3vw,28px);font-weight:900;color:#284e44}
#word-quiz-options{grid-template-columns:repeat(2,minmax(0,1fr))}
#word-quiz-options button{font-weight:820;font-size:16px;border:2px solid #d9e7dc;padding:16px}
#word-quiz-options button:hover:not(:disabled){border-color:#68b28a}
#word-quiz-answer{min-height:51px;background:#fff;border:2px solid #b9d1c3}
#word-quiz-form button{min-height:51px;background:#245e50;color:#fff}
#word-quiz-feedback{line-height:1.55}
#vocabulary-list{margin:15px 0 0;white-space:pre-wrap}
@media(max-width:700px){.logo .brand-mark{width:39px;height:39px;border-radius:12px}.brand-symbol{width:33px;height:33px}
.practice-head{padding:21px 19px}.practice-art{flex-basis:95px;height:100px}.practice-art b{width:66px;height:75px;font-size:27px}.practice-art span{font-size:30px;right:0}
.practice-panel #word-quiz{padding:19px 17px}.practice-home{flex-direction:column;align-items:stretch;padding:16px}.practice-home-actions{flex-direction:column}
#word-quiz-start,#word-quiz-review{width:100%}.practice-stats{gap:7px}.practice-stats>div{padding:12px 9px}.practice-stats strong{font-size:19px}.practice-stats small{font-size:10px}
.practice-question{padding:20px 16px}}
@media(max-width:440px){.practice-art{display:none}#word-quiz-options{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.logo .brand-mark,.practice-track span{transition:none}}


/* Language-specific source lists with comfortable spacing, even on mobile. */
.practice-panel .practice-words{padding:4px 31px 18px!important;margin:0!important;min-width:0;box-sizing:border-box}
.practice-words-label{font-size:11px;font-weight:900;letter-spacing:.12em;color:#6d8978;margin:15px 0 12px}
.practice-word-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:9px;list-style:none;margin:0!important;padding:0!important}
.practice-word-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;background:#f7faf7;border:1px solid #e5eee6;border-radius:13px;padding:12px 15px;overflow-wrap:anywhere}
.practice-word-list strong{font-size:15px;font-weight:850;color:#315e4d}
.practice-word-list span{font-size:13px;color:#637d6d;text-align:right}
.practice-word-list-nb{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))}
.practice-word-list-nb li{justify-content:center;background:#f9f7ff;border-color:#e8e1f2;min-height:49px}
.practice-panel-nb .practice-head{background:linear-gradient(115deg,#f1eafa,#f8f5ff 65%,#fff4e6)}
.practice-panel-nb .practice-head h2{color:#594584}
.practice-panel-nb .practice-head .eyebrow{color:#7356a3}
.practice-panel-nb .practice-art b{color:#7356a3;box-shadow:10px 9px #edd3fb,-7px 12px #e2d5f6,0 16px 21px #5b417d25}
.practice-panel #word-quiz-nb{margin:0;background:#fff;border-radius:0;padding:25px 31px}
.practice-panel #word-quiz-language[hidden],.practice-panel #word-quiz-language-nb[hidden]{display:none!important}
#word-quiz-nb .quiz-header{gap:8px;flex-wrap:wrap}
#word-quiz-nb .quiz-header strong{font-size:18px;color:#594584}
#word-quiz-nb .practice-home{background:linear-gradient(110deg,#f7f2ff,#fff6eb)}
#word-quiz-nb .practice-track span{background:linear-gradient(90deg,#ae91de,#8057bf,#ffbb76)}
#word-quiz-nb .practice-progress-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
#word-quiz-nb .practice-question{background:linear-gradient(120deg,#fdfcff,#fcf8ff);border-color:#e9e0f4}
#word-quiz-question-nb{font-size:clamp(20px,3vw,28px);font-weight:900;color:#284e44;line-height:1.5}
#word-quiz-nb #word-quiz-form-nb{display:flex;flex-wrap:wrap;align-items:end;gap:12px}
#word-quiz-nb #word-quiz-form-nb[hidden]{display:none}
#word-quiz-form-nb label{display:block;font-size:13px;font-weight:750;width:100%}
#word-quiz-answer-nb{min-width:170px;flex:1;font-size:17px;padding:12px;max-width:100%;border:2px solid #b9d1c3;border-radius:10px}
#word-quiz-form-nb button,#word-quiz-next-nb{border:1px solid #a6c8b7;background:#245e50;color:#fff;border-radius:10px;padding:12px 14px;min-height:48px;font-weight:750;cursor:pointer}
#word-quiz-options-nb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#word-quiz-options-nb[hidden]{display:none}
#word-quiz-options-nb button{background:#fff;border:2px solid #e3dbee;border-radius:10px;padding:15px;font-weight:800;cursor:pointer}
#word-quiz-feedback-nb{line-height:1.5;font-weight:750}
#word-quiz-speak-nb,#word-quiz-peek-nb{background:#fff;border:1px solid #a6c8b7;border-radius:10px;padding:12px 14px;cursor:pointer;font-weight:750}
#word-quiz-preview-nb{border-radius:12px;background:#e2f1e6;padding:16px;text-align:center;font-size:25px;font-weight:900}
#word-quiz-pause-nb{border:0;background:transparent;color:#648072;text-decoration:underline;font-size:12px;font-weight:800;cursor:pointer}
#word-quiz-start-nb,#word-quiz-review-nb{border-radius:13px;min-height:47px;padding:12px 17px;cursor:pointer;font-weight:850}
#word-quiz-start-nb{background:#685299;border-color:#685299;color:#fff}
#word-quiz-review-nb{background:#fff;border:1px solid #d2c5e6;color:#685299}
/* Homework cards and helper, matching the new learning studio. */
.homework-studio{padding:27px 30px!important;background:linear-gradient(180deg,#fff,#fcfdf9);border-color:#e0eae1}
.homework-studio>.panel-head{align-items:flex-start}
.homework-studio .panel-head h2{font-size:clamp(23px,3vw,30px)}
.homework-studio-lead{max-width:620px;color:#688172;font-size:13px;line-height:1.6;margin:9px 0 0}
.homework-studio #homework-list{gap:12px;align-items:stretch}
.homework-studio .homework-assist-row{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;border:1px solid #e5ebe5;background:#f8faf7;border-radius:15px;padding:0;overflow:hidden;min-width:0}
.homework-studio .homework-assist-row .checkrow{flex:1 1 230px;margin:0;border:0;background:transparent;min-width:0;border-radius:0;padding:16px}
.homework-studio .homework-assist-row .checkrow.done{opacity:.66}
.homework-studio .homework-assist-row .checkrow input{width:21px;height:21px;flex:0 0 21px;accent-color:#278364}
.homework-studio .helper-open{min-height:56px;border:0;border-left:1px solid #dbe9df;background:#ebf7ef;border-radius:0;padding:12px 17px;color:#255e4f;font-weight:850;white-space:normal;min-width:128px;cursor:pointer}
.homework-studio .helper-open:hover{background:#d9f0e1}
.homework-studio .helper-open:focus-visible{outline:3px solid #7ab89d;outline-offset:-4px}
.homework-studio #homework-progress{margin-bottom:20px}
.helper-overlay:not([hidden]){background:rgba(15,32,29,.68);backdrop-filter:blur(5px);padding:14px}
.helper-dialog{width:min(100%,650px);padding:0;overflow:auto;border-radius:24px;box-shadow:0 25px 70px #173e3252}
.helper-close{z-index:2;right:16px;top:16px;background:#fff;border:1px solid #d5e5d8;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:#386b58;font-size:17px}
.helper-close:hover{background:#e8f6eb}
.helper-hero{display:flex;align-items:center;gap:16px;padding:30px 66px 27px 29px;background:linear-gradient(120deg,#e8f6e9,#f7f7e9);position:relative}
.helper-hero-icon{display:grid;place-items:center;flex:0 0 58px;height:58px;border-radius:19px;background:#295e50;color:#ffd490;font-size:37px;box-shadow:5px 7px #bce2c3}
.helper-hero .eyebrow{color:#4b856f;font-size:10px;font-weight:900;letter-spacing:.14em;margin:0 0 7px}
.helper-hero h2{font-size:clamp(23px,3vw,28px);font-weight:900;color:#285746;letter-spacing:-.7px;margin:0 0 6px}
.helper-intro{font-size:13px;line-height:1.6;color:#617e6d;margin:0}
.helper-task-card{margin:22px 27px 0;border:1px solid #e3e9e3;border-radius:16px;background:#fafbf8;padding:16px 18px}
.helper-overline{color:#799084;font-size:10px;font-weight:900;letter-spacing:.13em}
.helper-task{margin:8px 0 0;padding:0;background:transparent;font-size:15px;font-weight:750;color:#365a4d;line-height:1.6}
.helper-actions{margin:17px 27px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.helper-actions button{display:flex;align-items:center;gap:12px;min-width:0;min-height:77px;background:#eff8f0;border:1.5px solid #deeadf;border-radius:16px;padding:13px;text-align:left;color:#2c5b48;cursor:pointer}
.helper-actions button:last-child{background:#f6f2ff;border-color:#e8def4;color:#624c8c}
.helper-actions button[aria-pressed="true"]{border-color:#4e9474;box-shadow:0 0 0 3px #96ceb03b}
.helper-actions button>span:first-child{font-size:29px}
.helper-actions button strong{display:block;font-weight:850;font-size:14px}
.helper-actions button small{display:block;font-size:11px;font-weight:700;line-height:1.4;color:#7b8c80;margin-top:3px}
.helper-actions button:disabled{opacity:.65}
.helper-status{padding:0;margin:0 28px 7px;color:#577e68;font-size:12px;font-weight:800;min-height:1.2em}
.helper-result-card{margin:0 27px 20px;border-radius:16px;border:1px solid #e5ede4;background:#fff}
.helper-result-head{display:flex;align-items:center;gap:8px;padding:13px 17px;border-bottom:1px solid #e7eee8;color:#396e59;font-size:13px}
.helper-result{white-space:pre-wrap;padding:17px;line-height:1.7;color:#38594a;overflow-wrap:anywhere;min-height:65px}
.helper-small{margin:0 27px 23px;color:#7f9085;font-size:11px;line-height:1.5}
@media(max-width:700px){
 .practice-panel .practice-words{padding:4px 17px 17px!important}
 .practice-panel #word-quiz-nb{padding:19px 17px}
 .homework-studio{padding:20px 17px!important}
 .homework-studio .homework-assist-row .checkrow{flex:1 1 100%}
 .homework-studio .helper-open{flex:1;border-left:0;border-top:1px solid #dbe9df;width:100%;min-height:47px}
 .helper-dialog{max-height:calc(100dvh - 24px);border-radius:21px}
 .helper-hero{padding:24px 50px 21px 18px;gap:12px}
 .helper-hero-icon{flex-basis:43px;height:43px;font-size:27px;border-radius:13px}
 .helper-task-card,.helper-result-card{margin-left:17px;margin-right:17px}
 .helper-actions{margin:16px 17px;grid-template-columns:1fr}
 .helper-status{margin-left:17px;margin-right:17px}
 .helper-small{margin:0 17px 20px}
}