:root{--navy:#214c60;--teal:#296d78;--ink:#202d34;--muted:#53646d;--line:#d5e1e5;--light:#eaf2f5;--bg:#f5f8f9;--good:#235e43;--warn:#8b451c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:1.0625rem/1.65 system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,select,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b86620;outline-offset:4px}header{background:var(--navy);color:white}.header-inner{max-width:1180px;margin:auto;padding:20px 32px;display:flex;align-items:center;gap:24px;font-size:.875rem}.brand{font-weight:800;font-size:1.4rem;letter-spacing:.08em;border-right:1px solid #7096a4;padding-right:24px}.layout{max-width:1180px;margin:auto;display:grid;grid-template-columns:255px minmax(0,1fr);gap:56px;padding:42px 32px 56px}h1,h2,h3{color:var(--navy);line-height:1.25}h1{font-size:2rem;margin:8px 0 12px}h2{font-size:1.85rem;margin:8px 0 20px}h3{font-size:1.2rem;margin:20px 0 12px}p{margin:12px 0}.eyebrow{color:var(--teal);font-weight:750;font-size:.875rem;letter-spacing:.09em;margin:0}.muted,.meta{color:var(--muted);font-size:.9375rem}nav{display:grid;margin-top:30px;gap:6px}nav button{background:transparent;border:0;text-align:left;padding:12px;color:var(--muted);display:flex;gap:12px;border-radius:5px;min-height:48px}nav button[aria-current]{color:var(--navy);background:#dfecef;font-weight:700;border-left:3px solid var(--teal)}.navnumber{font-variant-numeric:tabular-nums;color:var(--teal)}.language{margin-top:32px;border-top:1px solid var(--line);padding-top:20px}.language label{font-size:.9375rem;font-weight:700}.language select{width:100%;margin-top:8px;border:1px solid #97aeb8;border-radius:5px;min-height:48px;padding:8px;background:#fff;color:var(--ink)}.language p{font-size:.875rem;color:var(--muted)}main{min-width:0}main:focus{outline:none}.panel{background:white;border:1px solid var(--line);border-radius:8px;padding:32px;min-height:440px;box-shadow:0 8px 32px #214c6005}.sectionhead{margin-bottom:24px}.topline{display:flex;justify-content:space-between;gap:20px}.word{font-size:2.15rem;margin:18px 0;color:var(--navy)}.wordbox{padding:24px;background:var(--light);border-left:4px solid var(--teal);margin:24px 0}.translation{font-size:1.35rem;color:var(--teal);margin-top:20px;padding-top:16px;border-top:1px solid #c5d7de;overflow-wrap:anywhere}.translation[dir=rtl]{text-align:right}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{min-height:48px;border:1px solid var(--navy);border-radius:5px;background:var(--navy);color:white;padding:11px 20px;font-weight:650;text-decoration:none;display:inline-block;text-align:center}.btn.secondary{background:#fff;color:var(--navy);border-color:#a5b9c2}.btn.subtle{background:transparent;border-color:transparent;color:var(--teal)}.endnav{display:flex;justify-content:space-between;gap:16px;margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.question{font-size:1.25rem;line-height:1.5;font-weight:650;margin:24px 0}.choices{display:grid;gap:12px}.choice{display:flex;gap:13px;align-items:center;text-align:left;border:1.5px solid #b9cbd2;background:white;color:var(--ink);padding:15px 18px;border-radius:5px;min-height:55px;font-weight:450;width:100%}.choice[aria-checked=true]{border-color:var(--teal);background:var(--light);box-shadow:inset 3px 0 var(--teal)}.choice .letter{color:var(--teal);font-weight:700;font-size:.9375rem}.answerinput,textarea{width:100%;border:1.5px solid #97aeb8;border-radius:5px;padding:14px;background:#fff;color:var(--ink);min-height:52px}textarea{resize:vertical;min-height:160px;line-height:1.7}.feedback{padding:15px 18px;margin-top:20px;border-left:4px solid transparent}.feedback:empty{display:none}.feedback.good{background:#edf6f0;border-color:var(--good);color:var(--good)}.feedback.hint{background:#fff4e9;border-color:var(--warn);color:#743912}.reading{font-size:1.0625rem;line-height:1.85}.reading p{margin:0 0 20px}.reading b{color:var(--navy)}details{margin:22px 0;border:1px solid var(--line);border-radius:5px}summary{padding:14px 18px;cursor:pointer;font-weight:650;color:var(--navy)}details .reading{padding:4px 20px 10px}.model{background:var(--light);padding:20px 24px;margin:22px 0;border-radius:5px}.model p{margin:6px 0}.checklist{list-style:none;padding:0}.checklist li{margin:12px 0}.checklist label{display:flex;gap:12px;align-items:flex-start}.checklist input{width:20px;height:20px;margin-top:5px;flex-shrink:0}.recstatus{min-height:28px;color:var(--teal);font-weight:650}audio{width:100%;margin-top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:12px;top:-80px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}footer{max-width:1180px;margin:auto;padding:20px 32px 32px;color:var(--muted);font-size:.875rem;border-top:1px solid var(--line)}footer span{display:block;margin-top:6px}.progressline{height:4px;background:var(--line);margin-top:14px;border-radius:2px}.progressline span{display:block;height:100%;background:var(--teal)}.notice{font-size:.9375rem;color:var(--muted)}[hidden]{display:none!important}
@media(max-width:850px){.layout{grid-template-columns:1fr;gap:24px;padding:24px 20px 40px}h1 br{display:none}h1{font-size:1.8rem}aside .muted{margin-bottom:16px}nav{display:flex;overflow-x:auto;gap:6px;margin-top:18px;padding-bottom:8px}nav button{flex-shrink:0;white-space:nowrap}nav button[aria-current]{border-left:0;border-bottom:3px solid var(--teal)}.language{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px;padding-top:12px}.language select{width:auto;max-width:100%;margin:0;flex:1;min-width:150px}.language p{display:none}.header-inner{padding:16px 20px;gap:14px}.brand{padding-right:14px}.panel{padding:24px;min-height:0}h2{font-size:1.55rem}.word{font-size:1.9rem}footer{padding:20px}.sectionhead{margin-bottom:18px}}
@media(max-width:400px){.layout{padding:20px 12px}.panel{padding:20px 16px}.wordbox{padding:18px}.btn{padding:11px 14px}.header-inner{padding:16px 12px}.header-inner>span:last-child{font-size:.8125rem}.endnav{flex-wrap:wrap}h1{font-size:1.65rem}}
.chapterpicker{margin-bottom:26px}.chapterpicker label{display:block;font-size:.9375rem;font-weight:700;margin-bottom:8px}.chapterpicker select{width:100%;max-width:100%;font:inherit;font-size:.9375rem;padding:12px 8px;border:1px solid #97aeb8;border-radius:5px;background:white;color:var(--ink);min-height:48px}.invoice dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 4px}.invoice dt{font-weight:600}.invoice dd{margin:0;text-align:right;font-size:1.25rem;font-weight:700;color:var(--navy)}.processorder{padding-left:28px}.processorder li{padding:8px 0;border-bottom:1px solid var(--line)}

/* Keep long Finnish terms and translated words inside small screens. */
aside,.layout>*,.panel,.wordbox,.choice>span{min-width:0}
h1,h2,h3,.word,.choice,.btn,.model,.reading,.notice{overflow-wrap:anywhere}
.btn{max-width:100%}.topline{flex-wrap:wrap}.choice .letter{flex-shrink:0}
.concept{border:1px solid var(--line);border-radius:5px;margin:24px 0;padding:20px;background:var(--light)}
.concept h3{margin-top:0}.concept dl{margin:0}.concept dl>div{padding:12px 0;border-top:1px solid #c5d7de}.concept dt{font-weight:750;color:var(--navy)}.concept dd{margin:6px 0 0}
.mobilepart{display:none}main{scroll-margin-top:16px}
@media(max-width:850px){
 #navigation{display:none}.mobilepart{display:block;margin:16px 0}
 .mobilepart label{display:block;font-size:.9375rem;font-weight:700;margin-bottom:6px}
 .mobilepart select{width:100%;max-width:100%;min-width:0;min-height:48px;background:white;color:var(--ink);border:1px solid #97aeb8;border-radius:5px;padding:10px 8px}
 .layout{grid-template-columns:minmax(0,1fr)}.chapterpicker{margin-bottom:18px}
 .language select{min-width:0;width:100%;flex-basis:100%}
 .actions>.btn{flex:1 1 180px}.endnav>.btn{flex:1 1 140px}.endnav{flex-wrap:wrap}
 .word{hyphens:auto}.checklist label{min-height:44px;padding:6px 0}.checklist input{margin-top:4px}
}
@media(max-width:400px){.model,.concept{padding:16px}.choice{padding:14px 12px}.wordbox{padding:16px}.topline{gap:4px}.header-inner{flex-wrap:wrap}}

.home-link{color:white;font-size:.9375rem;min-height:44px;padding:10px 0;margin-left:auto;text-underline-offset:4px;white-space:nowrap}
