/* Illustrated chapters */
.edition, .ed-trainer, .ed-invite {
  --ed-ink:#222f3a; --ed-blue:#203e64; --ed-red:#a43824; --ed-paper:#faf4e7; --ed-line:#d8d2c4;
  color:var(--ed-ink);
}
.ed-cover {
  display:grid; grid-template-columns: .87fr 1.13fr; background:#f2e9d5;
  border-block:1px solid #c9bea6; overflow:hidden;
}
.ed-cover-copy { padding:clamp(1.4rem,3.6vw,3.6rem); align-self:center; }
.ed-kicker,.ed-label,.ed-contents strong,.ed-invite small {
  font-size:.72rem; font-weight:750; text-transform:uppercase; letter-spacing:.12em; line-height:1.5; color:var(--ed-red);
}
.ed-cover h1,.ed-story h2,.ed-trainer h1,.ed-trainer h2,.ed-invite strong {
  font-family:Georgia,"Times New Roman",serif; font-weight:500; letter-spacing:-.047em; text-wrap:balance;
}
.ed-cover .ed-kicker { margin:0 0 1.2rem; }
.ed-cover h1 { font-size:clamp(2.85rem,5.9vw,5.25rem); line-height:.99; margin:0 0 1.15rem; }
.ed-cover-copy>p:not(.ed-kicker) { font-size:clamp(1rem,1.25vw,1.17rem); line-height:1.55; max-width:34em; margin:0; }
.ed-cover>img { width:100%; height:100%; min-height:22rem; object-fit:cover; }
.ed-cover-workshop { background:#f2ded0; border-color:#d5b9a8; }
.ed-start { display:inline-flex; align-items:center; justify-content:center; padding:.68rem 1.1rem; margin:.95rem 0 .15rem; border-radius:.25rem; font-weight:700; font-size:.94rem; background:var(--ed-blue,#203e64); color:white; }
.ed-start:hover, .ed-start:focus-visible { background:#102c49; }
.ed-layout { display:grid; grid-template-columns:minmax(8rem,12rem) minmax(0,45rem); column-gap:clamp(2rem,6vw,6rem); margin:clamp(2.8rem,6vw,5rem) 0 3rem; align-items:start; }
.ed-contents { position:sticky; top:7rem; padding-top:.85rem; border-top:2px solid var(--ed-ink); }
.ed-contents strong { display:block; margin-bottom:.8rem; }
.ed-contents a { display:block; padding:.42rem 0; font-size:.87rem; line-height:1.4; color:#4b565c; }
.ed-contents a:hover { color:var(--ed-red); text-decoration:underline; }
.ed-story { min-width:0; }
.ed-story>section { scroll-margin-top:6.7rem; margin-bottom:clamp(3rem,6vw,5.2rem); }
.ed-story>section:last-child { margin-bottom:0; }
.ed-story .ed-label { margin:0 0 .55rem; }
.ed-story h2 { color:var(--ed-ink); font-size:clamp(2rem,4vw,3.35rem); line-height:1.06; margin:0 0 1.25rem; }
.ed-story p { font-size:clamp(1.03rem,1.2vw,1.16rem); line-height:1.72; margin:1rem 0; }
.ed-story i[lang],.ed-story p b[lang] { color:var(--ed-blue); }
.ed-quote { margin:1.8rem 0; padding:1.3rem 0 1.35rem clamp(1rem,3vw,2rem); border-left:5px solid #c34e31; }
.ed-quote>span { font:500 clamp(1.85rem,3.65vw,3.25rem)/1.14 Georgia,serif; letter-spacing:-.04em; color:var(--ed-blue); }
.ed-quote small,.ed-figure figcaption,.ed-flash>p { display:block; color:#505b64; font-size:.94rem; margin:.6rem 0 0; }
.ed-quote em { color:var(--ed-red); }
.ed-parallel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem; margin:1.7rem 0; padding:1.2rem 0; border-block:1px solid var(--ed-line); }
.ed-parallel small,.ed-voices small,.ed-slots small,.ed-script dt { font:700 .7rem/1.4 system-ui,sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.ed-parallel p { margin:.35rem 0 0; font:500 clamp(1.15rem,2.3vw,1.8rem)/1.4 Georgia,serif; }
.ed-parallel b { color:var(--ed-red); border-bottom:2px solid #d99a75; }
.ed-gap { color:#6b736d; }
.ed-lab { margin:1.5rem 0; padding:clamp(1rem,3vw,2rem); background:var(--ed-blue); color:#fff9ed; border-radius:.3rem; }
.ed-switch { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1.6rem; }
.ed-switch button { border-radius:2rem; border:1px solid #a5b4c4; padding:.45rem .9rem; font-size:.86rem; font-weight:650; color:white; }
.ed-switch button[aria-pressed=true] { color:#183c5a; background:#f7db99; border-color:#f7db99; }
.ed-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.ed-slots>div { padding:.7rem .2rem; border-block:1px solid #97acbd; }
.ed-slots small,.ed-slots b { display:block; }
.ed-slots b,.ed-voices p { font:500 clamp(1.25rem,3vw,2.15rem)/1.2 Georgia,serif; margin:.47rem 0; }
.ed-slots>div:nth-child(2),.ed-voices b { color:#fbd488; }
.ed-lab p:last-child { margin-bottom:0; }
.ed-voices { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.ed-voices>div { border-top:1px solid #97acbd; padding:.7rem 0; }
.ed-voices>div>span:not(.ed-pronunciation) { font-size:.95rem; color:#e1e8ef; }
.ed-figure { margin:1.6rem 0; }
.ed-figure img { display:block; width:100%; height:auto; max-height:22rem; object-fit:cover; }
.ed-figure figcaption { font-style:italic; }
.ed-compound { display:flex; gap:.55rem; align-items:baseline; margin:1rem 0; }
.ed-compound details { flex:1; min-width:0; border-top:2px solid var(--ed-blue); padding-top:.4rem; }
.ed-compound summary { font:500 clamp(1.15rem,3.7vw,2.1rem)/1.5 Georgia,serif; color:var(--ed-blue); }
.ed-story details summary,.ed-trainer summary { cursor:pointer; }
.ed-note { border-left:3px solid #c07f39; background:var(--ed-paper); margin:1.25rem 0; padding:.9rem 1.2rem; }
.ed-note summary { font-weight:650; }
.ed-sounds details { border-bottom:1px solid var(--ed-line); padding:.9rem 0; }
.ed-sounds summary b { font:500 1.65rem Georgia,serif; color:var(--ed-red); margin-right:1.3rem; }
.ed-sounds summary span { color:var(--ed-blue); }
.ed-script { margin:1.4rem 0; border-block:1px solid var(--ed-line); }
.ed-script>div { display:grid; grid-template-columns:4.6rem auto; padding:.95rem 0; align-items:baseline; }
.ed-script>div+div { border-top:1px solid var(--ed-line); }
.ed-script dt { color:var(--ed-red); }
.ed-script dd { margin:0; }
.ed-script dd b { display:block; font:500 clamp(1.4rem,3vw,2rem)/1.3 Georgia,serif; color:var(--ed-blue); }
.ed-script dd span { font-size:.96rem; color:#505b64; }
.ed-words { display:grid; grid-template-columns:1fr 1fr; column-gap:1.2rem; border-top:2px solid var(--ed-ink); margin:1.4rem 0 .4rem; }
.ed-word { display:flex; justify-content:space-between; align-items:center; gap:.65rem; padding:.9rem 0; border-bottom:1px solid var(--ed-line); }
.ed-word b,.ed-word span { display:block; }
.ed-word b { font:500 1.35rem Georgia,serif; color:var(--ed-blue); }
.ed-word span { font-size:.85rem; }
.ed-word button { border:1px solid #b0bbbc; border-radius:2rem; padding:.35rem .65rem; font-size:.79rem; white-space:nowrap; }
.ed-word button:hover { background:var(--ed-paper); }
.ed-word .ed-saved { color:#286542; font-weight:650; white-space:nowrap; }
.edition .topic-reading-list,.edition .topic-pager { padding-top:1rem; border-top:1px solid var(--ed-line); }
.ed-practice { background:#f5efdf; padding:clamp(1rem,3vw,2rem); }
.ed-practice .sein-question { border-top:1px solid #dacfb8; }
.ed-practice .sein-option { background:white; }
.ed-practice .sein-option:has(input:checked) { color:var(--ed-blue); border-color:var(--ed-blue); }
.ed-practice .button { background:var(--ed-blue); color:white; }
.ed-invite { display:flex; align-items:center; gap:1rem; background:var(--ed-paper); padding-right:1.2rem; margin-top:1.6rem; }
.ed-invite img { width:clamp(5rem,18vw,12rem); height:7.4rem; object-fit:cover; }
.ed-invite>span>* { display:block; }
.ed-invite strong { font-size:clamp(1.3rem,3vw,2.15rem); }
.ed-invite>span>span { font-size:.9rem; }
.ed-invite>b { margin-left:auto; }
.ed-trainer { max-width:42rem; margin:2rem auto; }
.ed-trainer h1 { font-size:clamp(2.4rem,5vw,4rem); }
.ed-flash { background:var(--ed-paper); border-top:4px solid var(--ed-blue); padding:clamp(1.4rem,5vw,3rem); margin:1.5rem 0; }
.ed-flash h2 { font-size:2.15rem; }
.ed-flash details { border-top:1px solid var(--ed-line); padding-top:1rem; margin-top:1.4rem; }
.ed-flash details b { display:block; font:500 2rem Georgia,serif; color:var(--ed-blue); margin-top:1rem; }
.ed-trainer>.text-link { display:block; margin-top:1.2rem; }
@media(max-width:800px) {
  .ed-layout { display:block; margin-top:1.4rem; }
  .ed-contents { position:static; display:flex; align-items:baseline; flex-wrap:wrap; gap:.25rem .9rem; margin:0 0 2.4rem; padding:.8rem 0; border-block:1px solid var(--ed-line); }
  .ed-contents strong { width:100%; margin:0; }
  .ed-contents a { padding:.2rem 0; text-decoration:underline; text-underline-offset:.15em; }
  .ed-cover>img { min-height:16rem; }
}
@media(max-width:620px) {
  .ed-cover { grid-template-columns:1fr; }
  .ed-cover>img { height:auto; min-height:0; aspect-ratio:1.9; }
  .ed-cover-copy { padding:1.4rem; }
  .ed-cover h1 { font-size:clamp(2.8rem,12vw,3.8rem); }
  .ed-parallel { gap:.4rem; }
  .ed-words { grid-template-columns:1fr; }
  .ed-story>section { scroll-margin-top:5rem; }
  .ed-script>div { grid-template-columns:3.7rem auto; }
  .ed-slots small { font-size:.58rem; }
  .ed-voices { gap:.5rem; }
  .ed-figure img { max-height:18rem; }
}

.ed-timeline { margin:1.8rem 0 1.8rem .4rem; padding-left:1.5rem; border-left:2px solid #c3b193; list-style:none; }
.ed-timeline li { position:relative; padding:0 0 1.1rem; }
.ed-timeline li:last-child { padding-bottom:0; }
.ed-timeline li::before { content:""; position:absolute; left:-1.91rem; top:.4rem; width:.72rem; height:.72rem; border-radius:50%; background:var(--ed-blue); border:2px solid white; }
.ed-timeline li:last-child::before { background:white; border-color:var(--ed-blue); }
.ed-timeline small,.ed-timeline span,.ed-timeline b { display:block; }
.ed-timeline small { font-size:.76rem; color:var(--ed-red); font-weight:700; }
.ed-timeline b { font:500 clamp(1.25rem,2.7vw,1.9rem)/1.35 Georgia,serif; }
.ed-timeline em { color:var(--ed-blue); border-bottom:1px solid #97acbd; }
.ed-timeline span { font-size:.9rem; color:#505b64; }

.edition .ed-pronunciation { display:inline-flex; align-items:center; flex-wrap:wrap; gap:.25rem .6rem; vertical-align:middle; margin:.15rem .2rem; font:500 .82rem/1.5 system-ui,sans-serif; letter-spacing:normal; }
.ed-pronunciation .ed-listen,.ed-pronunciation button { color:var(--ed-blue); font:inherit; padding:.23rem .45rem; }
.ed-pronunciation .ed-listen { border-radius:1rem; background:#e8edf0; font-weight:650; white-space:nowrap; }
.ed-pronunciation button { text-decoration:underline dotted; text-underline-offset:.2em; }
.ed-pronunciation .ed-reading-hint { flex-basis:100%; font:inherit; color:inherit; }
.ed-pronunciation [hidden] { display:none; }
.ed-pronunciation span:not([hidden]) { font:inherit; }
.ed-lab .ed-pronunciation button { color:inherit; }
.ed-pronunciation .ed-listen span { display:inline; color:inherit; }

.ed-verb-build { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; padding:1.2rem 0; border-block:1px solid var(--ed-line); margin:1.6rem 0; }
.ed-verb-build small,.ed-verb-build b { display:block; }
.ed-verb-build small { font:650 .7rem/1.5 system-ui,sans-serif; color:var(--muted); }
.ed-verb-build b { font:500 clamp(1.1rem,2.6vw,1.9rem)/1.5 Georgia,serif; color:var(--ed-blue); }
.ed-verb-build b span { color:var(--ed-red); border-bottom:2px solid #d99a75; }
.ed-table-scroll { overflow-x:auto; margin:1.5rem 0; }
.ed-forms { border-collapse:collapse; width:100%; font-size:1rem; }
.ed-forms caption { text-align:left; padding-bottom:.8rem; color:var(--muted); font-size:.86rem; }
.ed-forms th,.ed-forms td { text-align:left; padding:.6rem; border-bottom:1px solid var(--ed-line); }
.ed-forms thead th { background:var(--ed-paper); }
.ed-forms tbody td { color:var(--ed-blue); }
#praesens-practice { scroll-margin-top:6rem; }

.ed-order-track { display:grid; grid-template-columns:1fr .75fr 1.5fr; gap:.8rem; margin:1.5rem 0; }
.ed-order-track>div { min-width:0; padding:.8rem .2rem; border-block:1px solid var(--ed-line); }
.ed-order-track small,.ed-order-track b,.ed-order-track span { display:block; }
.ed-order-track small { font:650 .68rem/1.5 system-ui,sans-serif; margin-bottom:.4rem; }
.ed-order-track b { font:500 clamp(1.15rem,2.65vw,1.9rem)/1.25 Georgia,serif; color:var(--ed-blue); }
.ed-order-track span { font-size:.83rem; margin-top:.4rem; color:var(--muted); }
.ed-order-track .ed-order-verb { border-color:#c47d43; }
.ed-order-track .ed-order-verb b { color:var(--ed-red); }
.ed-lab .ed-order-track { margin:1rem 0; }
.ed-lab .ed-order-track>div { border-color:#97acbd; }
.ed-lab .ed-order-track b { color:inherit; }
.ed-lab .ed-order-verb b { color:#fbd488; }
.ed-order-frame { grid-template-columns:1fr .7fr 1fr .5fr; }
#order-practice { scroll-margin-top:6rem; }
@media(max-width:480px) {
  .ed-order-track { gap:.4rem; grid-template-columns:1fr .7fr 1.1fr; }
  .ed-order-track small { font-size:.6rem; }
  .ed-order-frame { grid-template-columns:1fr .7fr 1fr .5fr; }
}

.ed-interview-line { padding:1rem 0; border-top:1px solid #97acbd; }
.ed-interview-line+ .ed-interview-line { margin-top:1rem; }
.ed-interview-line small { text-transform:uppercase; letter-spacing:.1em; font-size:.7rem; font-weight:700; }
.ed-interview .ed-interview-de { font:500 clamp(1.55rem,3.5vw,2.5rem)/1.2 Georgia,serif; margin:.5rem 0; color:#fff9ed; }
.ed-interview-line>p:not(.ed-interview-de) { margin:.35rem 0; }
#questions-practice { scroll-margin-top:6rem; }
