.course-entry{background:linear-gradient(115deg,#213c67,#315d83);color:#fff;border-radius:20px;padding:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}
.course-entry>div{flex:1;min-width:180px}
.course-entry small{font-size:11px;letter-spacing:1px;opacity:.8}
.course-entry h2{margin:5px 0;font-size:24px}
.course-entry p{margin:0;font-size:14px;opacity:.85}
.course-entry button{white-space:nowrap}
.course-panel{display:grid;gap:16px}
.course-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.course-kicker{font-size:12px;font-weight:750;letter-spacing:1px;color:#7194b5}
.course-word{font-size:clamp(30px,7vw,54px);letter-spacing:1px;overflow-wrap:anywhere;text-align:center;padding:20px 4px}
.course-actions{display:flex;flex-wrap:wrap;gap:9px}
.course-actions button{flex:1;min-width:110px}
.course-note{padding:12px;border-radius:10px;background:#eaf3fb;color:#23415d}
.course-note.good{background:#e1f5e9;color:#165b3a}
.course-note.bad{background:#fff0e5;color:#88401b}
.course-tilegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:440px;margin:auto}
.course-tilegrid button{font-size:20px;padding:16px 5px;border-radius:10px;border:1px solid #b8c9d8;background:#fff;color:#1a314d}
.course-tilegrid button.sel{background:#cce8dc;border-color:#20846c}
.course-tilegrid button.found{background:#d5e4f6;opacity:.65}
.course-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.course-choice button{font-size:22px;padding:16px 6px;border:1px solid #c2d0dd;background:#fff;border-radius:10px;color:#1a314d}
.course-choice button:disabled{opacity:.6}
.course-reading{font-size:var(--rs,22px);line-height:var(--rl,1.8);background:#f3f7fb;padding:20px;border-radius:12px;color:#21324b}
.course-reading button{font:inherit;display:inline;border:0;background:transparent;padding:0 3px;cursor:pointer;color:inherit}
.course-reading button.err{background:#ffcdbe;border-radius:4px}
.course-progress{height:8px;background:#dce6ef;border-radius:99px;overflow:hidden}
.course-progress>div{height:100%;background:#198b7b}
.course-small{font-size:13px;color:#61738b}
.course-field{display:grid;gap:5px;margin:10px 0}
.course-field input,.course-field select,.course-field textarea{padding:10px;border:1px solid #bbcbd9;border-radius:8px;max-width:100%;background:#fff;color:#15233d}
.course-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.course-row>*{flex:1}
.course-table{width:100%;border-collapse:collapse;font-size:13px}
.course-table th,.course-table td{padding:9px 5px;text-align:left;border-bottom:1px solid #dce4ec}
.course-badge{font-size:12px;background:#dce8f4;border-radius:9px;padding:5px 8px}
.course-instruction{font-size:16px;line-height:1.5}
.course-divider{border:0;border-top:1px solid #dce4ec;margin:15px 0}
.course-highlight{background:#e5f3eb;padding:10px;border-radius:9px}
@media (max-width:540px){.course-entry{display:block}.course-entry button{margin-top:10px;width:100%}.course-choice button{font-size:18px}.course-tilegrid button{font-size:17px}}
.course-found-list{display:flex;flex-wrap:wrap;gap:8px;min-height:26px}
.course-found-country{display:inline-block;padding:7px 10px;border-radius:9px;background:#d8f2e4;color:#145b3c;font-weight:700}
.course-tilegrid button.found{background:#d8f2e4;border-color:#19865a;color:#145b3c;opacity:1}
.course-tilegrid button:disabled{cursor:default}
.course-tilegrid button.sel{outline:3px solid #168f7b;outline-offset:1px}
.course-reading{font-size:1.22rem;line-height:1.95;background:#f3f7fc;color:#15233d;padding:18px;border-radius:14px;margin:15px 0}
.course-options{display:flex;gap:9px;flex-wrap:wrap}
.course-options button{min-width:100px}
.test-reading{line-height:2.4}
.text-token{display:inline;border:0;background:transparent;color:#15233d;padding:2px 3px;margin:1px;font:inherit;border-radius:5px;cursor:pointer}
.text-token.mistake{background:#ffd2cf;text-decoration:underline}
.text-token.last{outline:3px solid #21846e;background:#c9f5e8}
.course-highlight{margin:10px 0}
.course-actions{flex-wrap:wrap}
#courseTeacher{margin-top:8px}
#courseSummary{margin-top:8px}
.course-word{font-size:clamp(42px,8vw,76px);font-weight:750;line-height:1.25;letter-spacing:.035em;padding:28px 6px;overflow-wrap:break-word}
.course-tilegrid{display:grid!important;grid-template-columns:repeat(var(--hunt-size,7),minmax(0,1fr))!important;gap:clamp(2px,.8vw,7px);width:100%;max-width:680px;margin:16px auto}
.course-tilegrid button{min-width:0!important;min-height:clamp(37px,6.5vw,65px);padding:5px 1px!important;font-size:clamp(12px,2.6vw,22px);font-weight:750;line-height:1.1;overflow-wrap:anywhere;touch-action:manipulation}
.course-tilegrid button.found{background:#b7ebcc!important;border-color:#148257!important;color:#124a31!important;opacity:1!important}
.course-tilegrid button.sel{background:#d5e7ff!important;border-color:#346fb2!important;outline:2px solid #346fb2!important}
.course-found-country.pending{background:#edf1f5;color:#6a7788}
.course-found-country.completed{background:#d8f2e4;color:#145b3c}
@media (max-width:450px){.course-tilegrid{gap:3px}.course-tilegrid button{font-size:clamp(11px,3.2vw,15px);min-height:40px;border-radius:6px}}
.course-word{font-size:clamp(52px,9vw,92px)!important;letter-spacing:.035em;font-weight:750!important;line-height:1.2!important}
#testWord{font-size:clamp(56px,10vw,100px)!important;min-height:190px;display:flex;align-items:center;justify-content:center}
.test-reading{font-size:clamp(25px,3.1vw,31px)!important;line-height:1.85!important;background:#fff!important;color:#19293a!important;padding:18px!important}
.test-reading .text-token{background:transparent;color:inherit;font:inherit;border:0;border-radius:4px;padding:0 1px;margin:0;display:inline;line-height:inherit}
.test-reading .text-token.mistake{background:#9da5af!important;color:#102033!important;text-decoration:none!important}
.test-reading .text-token.last{outline:3px solid #16866e!important;outline-offset:2px}
.puzzle-slots,.puzzle-pieces{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center;min-height:80px;padding:15px;border-radius:14px;background:#edf4fa}
.puzzle-slots span,.puzzle-pieces button{font-size:clamp(27px,5vw,40px);font-weight:750;border:1px solid #b8ccdf;border-radius:10px;padding:9px 15px;background:white;color:#17334f}
.puzzle-slots .puzzle-empty{font-size:16px;color:#63758b;background:transparent;border:0}
.puzzle-pieces{background:transparent}
.results-scroll{overflow-x:auto}
@media (max-width:480px){.course-word{font-size:clamp(44px,11vw,65px)!important}}
@media  print{header,#back,.course-actions,footer,.hero,.status{display:none!important}.course-panel{box-shadow:none!important;border:0!important}.app{max-width:none!important}}

/* v5.10: original v5.1 button approach, with one dot beneath the glyph. */
.course-letters{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:clamp(7px,1.3vw,15px);margin:22px auto 26px;max-width:100%;padding:0 4px 14px}
.course-letter{position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:clamp(52px,7vw,80px);height:clamp(80px,9vw,108px);padding:0 5px 17px;border:1px solid #ccd7e4;border-radius:12px;background:#fff;color:#152943;font-family:inherit;font-size:clamp(48px,6vw,74px);font-weight:750;line-height:1;cursor:pointer;touch-action:manipulation;overflow:visible}
.course-letter.active{background:#e6f7ef;border-color:#218d70}
.course-letters:not(.split) .course-letter.active::after{content:'';position:absolute;width:10px;height:10px;left:50%;bottom:6px;transform:translateX(-50%);border-radius:50%;background:#138b70;pointer-events:none}
.course-letters.split .course-letter.break-before{border-left:5px solid #168f7b;margin-left:12px}
.course-letter:focus-visible{outline:3px solid #168f7b;outline-offset:3px}
.course-word{font-size:clamp(52px,9vw,92px)!important;line-height:1.2!important;font-weight:750!important}
@media(max-width:600px){.course-letter{min-width:52px;height:84px;font-size:52px}.course-letters{gap:6px}}

/* v5.11: tydelige øveord, uten å endre fungerende vokalprikking */
.practiceRow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #d9e0ea}.practiceRow>b{font-size:1.45rem;flex:1 1 180px}.practiceRow>.actions{display:flex;gap:6px;flex-wrap:wrap}.practiceRow button{font-size:.9rem}
