/* V8: Sista visuella finslipningen. Behåller sajtens ljusa Premium Elit-formspråk. */
:root {--finish-ink:#143440;--finish-accent:#215767;--finish-gold:#b89160;--finish-border:#dce6e6;}
body {font-synthesis:none; -webkit-font-smoothing:antialiased; background:#f4f7f7;}
.shell {background:#f7f9f9; box-shadow:0 14px 65px rgba(13,40,53,.065)}
.top {border-bottom:1px solid var(--finish-border); background:rgba(248,250,250,.96)}
.logo {gap:14px;letter-spacing:.045em;}
.logo-mark {border-radius:13px; background:linear-gradient(145deg,#163c4b 5%,#1a5360 78%); box-shadow:inset 0 0 0 1px #ffffff20,0 5px 15px #183d4d15;}
.logo-mark svg {width:23px; height:23px;stroke-width:2;}
.sub {letter-spacing:.105em;color:#65808a;}
.nav {gap:6px;}
.nav button {font-weight:690;transition:color .16s ease,border-color .16s ease, background .16s ease;}
.nav button.active {background:#e7eff0;color:#173d49;border-color:#c9d9dc;}
.nav button:hover {background:#eef3f3;border-color:#d9e2e3;}
.hero.hero-premium {background:linear-gradient(126deg,#0b2e3b 0%,#123d4c 60%,#174956 100%);box-shadow:0 17px 44px #113b4b22;}
.hero-premium .eyebrow {color:#8ad9cc;}
.hero-premium h1 {max-width:735px;letter-spacing:-.045em;font-weight:780;text-wrap:balance;}
.hero-premium p {max-width:650px;color:#d2e0e4;}
.hero-mini {background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);}
.hero-mini small {letter-spacing:.1em;}
.hero-premium .primary {background:#d3e7e4;color:#103743;box-shadow:none;}
.hero-premium .primary:hover {background:#ecf4f3;}
.hero-premium .secondary {border-color:#adc7cd6a;}
.actions button,.slide-controls button,.read-tools button,.quiz-actions button {transition:background .17s ease,border-color .17s ease,transform .17s ease,box-shadow .17s ease;}
button:focus-visible,.tile:focus-visible,.term-card summary:focus-visible,.overview-scroll:focus-visible,.toc button:focus-visible {outline:3px solid #b58e5c;outline-offset:3px;}
button:not(:disabled):active {transform:translateY(1px);}
.grid {gap:16px;}
.tile {background:#fff!important;border:1px solid var(--finish-border);border-radius:18px;padding:24px 25px;min-height:188px;box-shadow:0 7px 22px #102f3c0a;}
.tile:hover {border-color:#b5cbd0;box-shadow:0 12px 24px #102f3c11;transform:translateY(-2px);}
.tile .symbol {background:#eef4f4; box-shadow:none;border:1px solid #dce7e8;color:#215565;}
.tile h2 {font-size:21px;letter-spacing:-.023em;margin-top:17px;margin-bottom:6px;}
.tile p {font-size:15px;line-height:1.58;color:#536d78;}
.grid .tile:nth-child(2) .symbol {background:#eff3f6;}
.grid .tile:nth-child(3) .symbol {background:#edf5f6;}
.grid .tile:nth-child(4) .symbol {background:#f6f1e9;color:#705436;border-color:#eae1d6;}
.sect-title {letter-spacing:-.034em;line-height:1.16;}
.lead {color:#58707b;line-height:1.67;}
.back {font-weight:760;}
.panel {border-color:#dce6e6;}
.reading section.read-chapter {border-radius:0;background:#fff!important;box-shadow:none;}
.reading h3 {font-weight:800;color:#173744!important;line-height:1.25;letter-spacing:-.03em;}
.reading .text-subheading {display:table;max-width:100%;font-size:calc(var(--read-size,18px) * 1.08);line-height:1.42;color:#174655!important;font-weight:800!important;letter-spacing:0;margin:29px 0 13px!important;padding:3px 0 3px 12px;border-left:3px solid #be9b6e;background:transparent;overflow-wrap:anywhere;}
.reading p {color:#34505a!important;line-height:var(--read-line,1.75)!important;}
.reading .course-picture {border-color:#e0e8e9;}
.reading .course-figure {margin:16px 0 26px;}
.reading .course-figure figcaption {color:#69808a;font-size:13px;line-height:1.55;}
.read-tools {border:1px solid #d9e4e5;background:#fff;box-shadow:0 5px 16px #102f3c08;border-radius:14px;}
.read-tools button {border-radius:9px;}
.read-tools button:hover {background:#e8f0f1;border-color:#c6d7da;}
.reading .toc {border-color:#dce6e6;}
.toc button {border-bottom:1px solid #edf1f2;line-height:1.4;}
.question {border:1px solid var(--finish-border);box-shadow:0 7px 22px #102f3c08;}
.question h3 {line-height:1.4;}
.option {line-height:1.48;border-radius:10px;}
.option:hover:not(:disabled) {background:#eff5f5;border-color:#8eb2b9;}
.quiz-actions button {border-color:#d4e0e1;}
.term-card {padding:17px 0;}
.term-card strong {font-size:16px;letter-spacing:-.01em;color:#163d4a;}
.term-card p {margin:8px 0 0;line-height:1.63;}
.term-card details:not([open]) {display:inline-block!important;margin-top:9px!important;background:transparent!important;border:0!important;width:auto!important;border-radius:0!important;}
.term-card details:not([open]) summary {display:inline-flex!important;min-width:0!important;width:auto!important;padding:6px 11px!important;border-radius:8px!important;font-size:13px!important;font-weight:740!important;line-height:1.3!important;color:#215665!important;background:#f4f8f8!important;border:1px solid #dce7e7!important;gap:12px!important;box-shadow:none!important;}
.term-card details:not([open]) summary:hover {background:#eaf2f2!important;border-color:#c5dada!important;}
.term-card details[open] {display:block!important;width:100%;border:1px solid #dce7e8!important;border-radius:12px!important;background:#f7faf9!important;margin-top:10px;}
.term-card details[open] summary {background:#eef4f4!important;color:#1c4a59!important;padding:12px 16px!important;border:0!important;border-bottom:1px solid #dce7e8!important;border-radius:11px 11px 0 0!important;font-size:14px!important;}
.term-card .more {max-width:none!important;background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;padding:15px 18px 18px!important;}
.term-card .more p {margin:3px 0 0;line-height:1.74;max-width:78ch;}
.term-card .label {margin-top:18px;}
.overview-figure {margin:22px 0 28px!important;}
.overview-scroll {max-width:100%;overflow-x:auto;scrollbar-width:thin; border-radius:17px;}
.overview-scroll img {display:block;width:100%;min-width:665px;height:auto;border-radius:17px;}
.overview-figure figcaption {text-align:left!important;margin:10px 4px 0!important;}
.presentation {border-radius:17px;}
.slide-controls {gap:14px;}
.slide-controls .muted {font-variant-numeric:tabular-nums;}
@media (max-width:900px) {.hero.hero-premium {gap:16px;}.hero-aside {gap:10px;}.hero-mini {padding:12px 13px;}.hero-mini small {font-size:11px;}.tile {min-height:175px;}.reading .text-subheading {display:block;}}
@media (max-width:750px) {.shell {padding:0 16px 45px;}.top {gap:11px;}.logo {font-size:13px;}.nav button {font-size:13px;}.hero.hero-premium {padding:29px 24px;}.hero-premium h1 {font-size:clamp(35px,9vw,46px)!important;}.hero-aside {grid-template-columns:repeat(3,minmax(0,1fr))!important;}.hero-mini {display:block;padding:12px;}.hero-mini span {display:block;}.hero-mini small {display:block;margin-top:4px;}.grid {gap:13px;}.tile {padding:20px 21px;min-height:154px;}.reading .text-subheading {padding-left:11px;}.overview-scroll img {min-width:680px;}}
@media (max-width:480px) {.hero.hero-premium {padding:27px 21px;}.hero-premium h1 {font-size:38px!important;}.hero-aside {grid-template-columns:repeat(3,minmax(0,1fr))!important;}.hero-mini {padding:9px 10px;border-radius:12px;}.hero-mini span {font-size:20px!important;}.hero-mini small {font-size:9px;letter-spacing:.02em;}.tile h2 {font-size:20px;}.read-tools {gap:6px;}.read-tools label {font-size:12px;}}
@media (prefers-reduced-motion: reduce) {.tile,.actions button,.slide-controls button,.read-tools button,.quiz-actions button {transition:none;}}
