:root{color-scheme:light;--ks-page:#fbfdff;--ks-paper:#fff;--ks-ink:#233e56;--ks-blue:#214f79;--ks-muted:#657b8d;--ks-line:#c9d8e5;--ks-tint:#edf4fa;--ks-orange:#df701f;--ks-accent:#af4f0e;--ks-good:#356953}
*{box-sizing:border-box}body.ks-page{margin:0;background:var(--ks-page);color:var(--ks-ink);font:16px/1.65 system-ui,-apple-system,sans-serif}a{color:var(--ks-blue);text-underline-offset:4px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.13;color:var(--ks-blue)}h1{font-size:clamp(2.2rem,5vw,4.4rem);letter-spacing:-.04em;margin:.3em 0}h2{font-size:clamp(1.6rem,3vw,2.15rem);margin:0 0 16px}h3{font-size:1.35rem}p{margin-top:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--ks-orange);outline-offset:4px}.ks-skip{position:absolute;left:16px;top:-90px;background:var(--ks-paper);padding:12px;z-index:10}.ks-skip:focus{top:8px}.ks-header{background:var(--ks-paper);border-bottom:1px solid var(--ks-line);padding:24px clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px}.ks-brand{text-decoration:none;font:clamp(25px,3vw,36px)/1.2 Georgia,serif;color:var(--ks-blue);white-space:nowrap}.ks-brand i{color:var(--ks-orange)}.ks-brand small{display:block;font:9px/1.7 system-ui,sans-serif;letter-spacing:.18em;margin-top:10px}.ks-header nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 18px;font-size:12px}.ks-header nav a{text-decoration:none}.ks-header form{margin:0}.ks-header button{border:1px solid var(--ks-orange);border-radius:20px;background:var(--ks-paper);color:var(--ks-blue);font-size:11px;min-height:28px;padding:3px 12px}.ks-header .theme-toggle{display:flex;align-items:center;gap:6px}.ks-header .theme-toggle[hidden]{display:none}.ks-main{max-width:1180px;padding:40px 28px 60px;margin:auto;min-height:65vh}.ks-eyebrow{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--ks-accent);font-weight:700;margin:0 0 14px}.ks-welcome{padding:35px 0 40px;max-width:780px}.ks-welcome>p:not(.ks-eyebrow){max-width:62ch}.ks-welcome>p:first-of-type{margin-bottom:18px}.ks-small{color:var(--ks-muted);font-size:13px;line-height:1.6}.ks-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ks-blue);background:var(--ks-blue);color:#fff;padding:11px 20px;border-radius:28px;text-decoration:none;font:600 14px/1.4 system-ui,sans-serif;min-height:44px;text-align:center}.ks-button:hover{filter:brightness(1.12)}.ks-outline{color:var(--ks-blue);background:var(--ks-paper);border-color:var(--ks-orange)}.ks-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin:24px 0}.ks-actions>a:not(.ks-button){font-size:14px}.ks-preview{border-top:1px solid var(--ks-line);padding-top:30px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.ks-preview article{min-width:0;text-align:center}.ks-circle{display:grid;place-items:center;border:1px solid var(--ks-orange);border-radius:50%;width:72px;height:72px;margin:0 auto 16px;background:var(--ks-tint);color:var(--ks-blue);font:24px Georgia,serif}.ks-preview small{font-size:10px;color:var(--ks-accent)}.ks-preview h2{font-size:19px;margin-top:8px}.ks-auth{max-width:510px;margin:20px auto 60px}.ks-auth h1{font-size:clamp(2.3rem,5vw,3.4rem)}form label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}input:not([type=radio]):not([type=hidden]),select{display:block;width:100%;border:1px solid var(--ks-line);border-radius:7px;background:var(--ks-paper);color:var(--ks-ink);padding:11px 12px;margin-top:6px;min-height:46px}input[type=radio]{accent-color:var(--ks-blue);flex:none;width:18px;height:18px}.ks-auth-links{display:flex;flex-direction:column;gap:9px;font-size:13px;margin-top:24px}.ks-notice,.ks-error{border:1px solid var(--ks-line);border-left:3px solid var(--ks-blue);background:var(--ks-tint);padding:16px 20px;margin-bottom:24px}.ks-error{border-left-color:#b64b25}.ks-profile{max-width:850px;margin:15px auto 45px}.ks-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin-top:30px}.ks-password-form{max-width:510px}.ks-profile h2{margin-top:38px}.ks-dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:16px 0 28px}.ks-dashboard-heading h1{font-size:clamp(2.3rem,4.5vw,3.6rem)}.ks-dashboard-heading p:last-child{margin-bottom:0}.ks-subtle{font-size:13px;white-space:nowrap}.ks-today{display:grid;grid-template-columns:1fr 320px;gap:28px;border-block:1px solid var(--ks-line);padding:28px 0;margin-bottom:38px}.ks-today small{color:var(--ks-accent);font-size:10px;letter-spacing:.09em}.ks-today h2{margin:8px 0 10px}.ks-today .ks-button{margin-top:4px}.ks-stats{border-left:1px solid var(--ks-line);padding-left:28px}.ks-stats>strong{font:56px/1 Georgia,serif;color:var(--ks-blue)}.ks-stats>strong span{font-size:23px;color:var(--ks-muted)}.ks-stats p{font-size:13px;margin:9px 0}.ks-stats small{font-size:11px;letter-spacing:0;color:var(--ks-muted)}progress{display:block;width:100%;height:7px;accent-color:var(--ks-orange);border:0}progress::-webkit-progress-bar{background:var(--ks-tint);border-radius:9px}progress::-webkit-progress-value{background:var(--ks-orange);border-radius:9px}.ks-map-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap}.ks-map-heading p{font-size:12px;color:var(--ks-muted)}.ks-learning-map{position:relative;isolation:isolate}.ks-map-lines{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none}.ks-map-lines path{stroke:var(--ks-line);stroke-width:2;fill:none}.ks-route-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 40px;padding:30px 0 24px;margin:0}.ks-node{min-width:0;text-align:center}.ks-node:nth-child(4){grid-row:2;grid-column:3}.ks-node:nth-child(5){grid-row:2;grid-column:2}.ks-node:nth-child(6){grid-row:2;grid-column:1}.ks-node>a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ks-ink);height:100%;padding:10px 8px;background:var(--ks-page);border-radius:12px}.ks-node a:hover h3{text-decoration:underline;text-decoration-color:var(--ks-orange);text-underline-offset:5px}.ks-node-picture{position:relative;border:1px solid var(--ks-blue);outline:5px solid var(--ks-page);border-radius:50%;width:100px;height:100px;margin:0 0 15px;background:var(--ks-tint)}.ks-node-picture img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;opacity:.88}.ks-node-symbol{position:absolute;bottom:-3px;right:-12px;border:1px solid var(--ks-line);border-radius:20px;background:var(--ks-paper);color:var(--ks-blue);font:16px/1 Georgia,serif;padding:6px}.ks-node.is-next .ks-node-picture{border:3px solid var(--ks-orange);box-shadow:0 0 0 4px var(--ks-tint)}.ks-node.is-complete .ks-node-picture{border:3px solid var(--ks-good)}.ks-node small{font-size:10px;letter-spacing:.07em;color:var(--ks-muted)}.ks-node.is-next small{color:var(--ks-accent);font-weight:700}.ks-node.is-complete small{color:var(--ks-good)}.ks-node h3{margin:8px 0 7px}.ks-node p{font-size:12px;color:var(--ks-muted);margin:0 0 8px;max-width:26ch}.ks-node-score{font-size:11px}.ks-review,.ks-library{border-top:1px solid var(--ks-line);padding-top:28px;margin-top:35px}.ks-review>p,.ks-library>p{max-width:72ch;font-size:14px}.ks-lesson{max-width:820px;margin:0 auto}.ks-back{font-size:13px;display:inline-block;margin-bottom:28px}.ks-lesson h1{font-size:clamp(2.3rem,5vw,3.7rem)}.ks-lead{font:19px/1.7 Georgia,serif;margin:25px 0 34px}.ks-examples{display:grid;gap:14px;margin-bottom:14px}.ks-examples section{padding:20px 24px;background:var(--ks-paper);border:1px solid var(--ks-line);border-radius:8px}.ks-examples section>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.ks-examples strong{font:25px/1.5 Georgia,serif;color:var(--ks-blue)}.ks-examples p{margin:5px 0}.ks-examples small{color:var(--ks-muted);font-size:13px}.ks-speak{font:12px system-ui,sans-serif;padding:8px 12px;border:1px solid var(--ks-orange);border-radius:20px;color:var(--ks-blue);background:var(--ks-paper);white-space:nowrap}.ks-speak[hidden]{display:none}.ks-grammar{border-left:3px solid var(--ks-orange);padding:20px 24px;background:var(--ks-tint);margin:32px 0}.ks-grammar h2{font-size:23px}.ks-grammar p{margin:0}.ks-lesson fieldset{padding:22px;border:1px solid var(--ks-line);border-radius:8px;margin:22px 0 28px;min-width:0}.ks-lesson legend{font-weight:600;font-size:16px;padding:0 8px;max-width:100%}.ks-answer{display:flex;align-items:center;gap:12px;border:1px solid var(--ks-line);background:var(--ks-paper);padding:12px 14px;border-radius:6px;font-size:15px;font-weight:400;margin:10px 0;cursor:pointer}.ks-answer:has(input:checked){background:var(--ks-tint);border-color:var(--ks-blue)}.ks-answer:last-child{margin-bottom:0}.ks-more{display:inline-block;margin-top:18px}.ks-feedback{list-style:none;padding:0}.ks-feedback li{border:1px solid var(--ks-line);border-left:3px solid var(--ks-good);padding:18px 22px;margin:18px 0;background:var(--ks-paper)}.ks-feedback .ks-retry{border-left-color:var(--ks-orange)}.ks-feedback p{font-size:14px;margin:8px 0 0}.ks-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:15px 30px;padding:25px;border-top:1px solid var(--ks-line);font-size:12px;color:var(--ks-muted)}
html[data-theme=dark]{color-scheme:dark;--ks-page:#101c21;--ks-paper:#17272c;--ks-ink:#e5e4d9;--ks-blue:#b7d6df;--ks-muted:#aebfc4;--ks-line:#40575d;--ks-tint:#1e333c;--ks-orange:#e5ae87;--ks-accent:#e5ae87;--ks-good:#b1d1b3}html[data-theme=dark] .ks-button:not(.ks-outline){background:#28535f;color:#fff;border-color:#527077}html[data-theme=dark] .ks-node-picture img{opacity:1}
@media(max-width:800px){.ks-header{align-items:flex-start;flex-direction:column;padding:22px}.ks-header nav{justify-content:flex-start}.ks-main{padding:25px 20px 40px}.ks-today{grid-template-columns:1fr 230px}.ks-route-grid{gap:28px 12px}.ks-preview{grid-template-columns:repeat(3,1fr)}.ks-dashboard-heading{align-items:flex-start;flex-direction:column;gap:10px}.ks-map-heading p{margin-top:-8px}.ks-node h3{font-size:20px}}
@media(max-width:600px){.ks-today,.ks-form-grid{grid-template-columns:1fr}.ks-stats{border-left:0;border-top:1px solid var(--ks-line);padding:22px 0 0}.ks-route-grid{grid-template-columns:1fr;gap:12px;padding-top:10px}.ks-node:nth-child(n){grid-row:auto;grid-column:auto;text-align:left}.ks-node>a{display:grid;grid-template-columns:80px minmax(0,1fr);column-gap:22px;align-items:start;padding:18px 12px}.ks-node-picture{grid-column:1;grid-row:1/5;width:76px;height:76px;margin:0}.ks-node small,.ks-node h3,.ks-node p,.ks-node-score{grid-column:2}.ks-node h3{margin-top:7px}.ks-node p{max-width:none}.ks-map-lines{display:none}.ks-welcome{padding-top:12px}.ks-actions{gap:15px}.ks-examples section{padding:17px}.ks-examples section>div{flex-wrap:wrap}.ks-lesson fieldset{padding:14px}.ks-grammar{padding:18px}.ks-preview h2{font-size:17px}.ks-preview{gap:18px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.ks-map-section+.ks-map-section{margin-top:52px;border-top:1px solid var(--ks-line);padding-top:36px}.ks-exam-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px solid var(--ks-orange);border-radius:12px;background:var(--ks-paper);margin:12px 0 24px}.ks-exam-card h3{margin:8px 0 12px}.ks-exam-card p:last-child{margin:0;font-size:13px}.ks-exam-card .ks-button{flex-shrink:0}@media(max-width:600px){.ks-exam-card{align-items:flex-start;flex-direction:column;padding:20px}}

.ks-question-refs{font-size:12px;color:var(--ks-muted);line-height:1.9;margin-top:18px}.ks-question-refs a{display:inline-block;margin-right:12px}.ks-letter-check{padding:24px;background:var(--ks-tint);border:1px solid var(--ks-line);border-radius:12px;margin:32px 0}.ks-feedback h3{font:600 15px/1.5 system-ui,sans-serif;margin:18px 0 6px}.ks-feedback ul{padding-left:20px}.ks-feedback ul li{background:transparent;border:0;padding:4px 0;margin:0;font-size:14px}

/* V2.2.3: pronunciation beside every Greek phrase in feedback. */
.ks-pronunciation{margin:20px 0;padding:16px;border:1px solid var(--ks-line);border-radius:8px;background:var(--ks-tint)}
.ks-pronunciation summary{cursor:pointer;font-size:14px;font-weight:700;color:var(--ks-blue)}
.ks-pronunciation>p{margin:12px 0}.ks-pronunciation dl{margin:12px 0 0}
.ks-pronunciation-row{padding:12px 0;border-top:1px solid var(--ks-line)}
.ks-pronunciation dt{font:21px/1.5 Georgia,serif;color:var(--ks-blue);overflow-wrap:anywhere}
.ks-pronunciation dd{margin:5px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;min-width:0}
.ks-phonetic{font-size:14px;font-weight:600;color:var(--ks-ink);overflow-wrap:anywhere;white-space:normal}
@media(max-width:600px){.ks-pronunciation{padding:12px}.ks-pronunciation dt{font-size:19px}}

.ks-pronunciation>h3{margin-top:0}.ks-pronunciation details{margin-top:14px}.ks-pronunciation-guide{margin:20px 0;padding:14px 16px;border:1px solid var(--ks-line);border-radius:8px;font-size:13px}.ks-pronunciation-guide summary{cursor:pointer;font-weight:600}.ks-pronunciation-guide p{margin:12px 0 0}
