body{background:#faf9f8;color:#141112}
a{color:#a50f24}
:focus-visible{outline:2px solid #a50f24}
::selection{background:#a50f24;color:#fff}
main{max-width:62rem}
header.top{border-top:3px solid #a50f24;border-bottom:1px solid #e5dfe0;background:#fff}
header.top .in{max-width:62rem}
header.top .brand{color:#141112}
.lockup{font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Noto Serif",Georgia,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;color:#a50f24}
.lockup rt{color:#141112}
.brand .name{font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Noto Serif",Georgia,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}
.brand .name b{color:#a50f24}
header.top nav a{color:#5f5759}
header.top nav a:hover{color:#141112}
header.top nav a.on{color:#141112;border-bottom-color:#a50f24}
.badge{background:#a50f24;color:#fff}
.badge.news{background:#fff;color:#141112;border:1px solid #a50f24}
footer{max-width:62rem;border-top:1px solid #e5dfe0;color:#5f5759}
footer .foot-brand{font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Noto Serif",Georgia,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;color:#141112}
footer .foot-brand b{color:#a50f24}
h1{font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Noto Serif",Georgia,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}
h2{font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Noto Serif",Georgia,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}
.muted{color:#5f5759}
.card{background:#fff;border:1px solid #e5dfe0;border-radius:8px}
input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],select,textarea{border:1px solid #e5dfe0;background:#faf9f8;color:#141112}
input:focus,select:focus,textarea:focus{border-color:#a50f24;box-shadow:0 0 0 2px #fbe9ec}
button,.btn{border:1px solid #e5dfe0;background:#fff;color:#141112}
button:hover,.btn:hover{border-color:#a50f24}
button.primary,.btn.primary{background:#a50f24;color:#fff;border-color:#a50f24}
button.danger{color:#c2410c}
button.link{color:#a50f24}
.notice{border-left:4px solid #1e7a4a}
.error{background:#fbe9ec;border-left:4px solid #a50f24}
.bar{background:#e5dfe0}
.bar>i{background:#a50f24}
.bar.done>i{background:#1e7a4a}
.upload-bar{accent-color:#a50f24}
th{color:#5f5759}
th,td{border-bottom:1px solid #e5dfe0}
.pill{border:1px solid #e5dfe0;color:#5f5759}
.pill.on{border-color:#a50f24;background:#a50f24;color:#fff}
.big{font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Noto Serif",Georgia,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}
.heat i{background:#e5dfe0}
.heat i.q0,.heat i.grey{background:#e5dfe0}
.heat i.q23,.heat i.blue{background:#a50f24}
.heat i.miss,.heat i.red{background:#c2410c}
.achv div{border:1px solid #e5dfe0;border-radius:8px;background:#fff}
.eyebrow{color:#a50f24}
.hero .lead{color:#5f5759}
.hero-panel{background:#a50f24;color:#fff}
.steps li{border-top:2px solid #a50f24}
.steps li::before{font:700 1.6rem/1 "Iowan Old Style","Palatino Linotype",Palatino,"Noto Serif",Georgia,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;color:#a50f24}
.steps b{font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Noto Serif",Georgia,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}
.steps span{color:#5f5759}
.feature{color:#5f5759}
.feature .ico{color:#a50f24}
.feature h3{font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Noto Serif",Georgia,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;color:#141112}
.captcha{color:#5f5759}
#reader{font-size:1.25rem}
figure.lesson-img img{border-radius:8px}
.sa .w:hover{outline:1px solid #a50f24}
.sa .st-new{background:#fbe3e7}
.sa .st-seen{background:#f5c4cd}
.sa .st-learning{background:#ee9aa9}
.sa .st-known{background:transparent}
body[data-levelmarks] .sa .w[data-lv]::after{color:#5f5759}
rt{color:#5f5759}
.ai-status{background:#fff;border:1px solid #e5dfe0}
.ai-status.warn{border-color:#9a6700}
.ai-status.err{border-color:#c2410c;color:#c2410c}
.ai-status.ok{border-color:#1e7a4a}
.media-sent{background:#fbe9ec;box-shadow:inset 3px 0 0 #a50f24}
.hl-style-underline .tts-word{border-bottom:3px solid #a50f24}
.hl-style-box .tts-word{outline:2px solid #a50f24}
.hl-style-bold .tts-word{color:#a50f24}
.hl-style-background .tts-word{background:#a50f24!important}
.say,.sbtn{color:#5f5759}
.say:hover,.sbtn:hover{color:#a50f24}
#clicked-bar{background:#fff;border-bottom:1px solid #e5dfe0}
.chip{border:1px solid #e5dfe0;background:#faf9f8}
.chip.st-learning{background:#ee9aa9}
.chip.st-seen{background:#f5c4cd}
#popup{background:#fff;border-top:2px solid #a50f24}
@media (min-width:60rem){#popup{border:1px solid #e5dfe0;border-radius:8px}}
#popup .pos{color:#5f5759}
.rate small{color:#5f5759}
.cbox{border:2px solid #a50f24}
.cbox span{background:#a50f24}
#reader .trline{color:#5f5759}

html.legacy #popup{max-height:18em}
html.legacy header.top nav a{display:inline-block;margin-right:.8em}
html.legacy .row{display:block}html.legacy .row>*{display:inline-block;vertical-align:middle;margin-right:.5em}
html.legacy button,html.legacy .btn{font-size:1.1em;padding:.5em .9em}
html.legacy #reader{line-height:1.9}
html.legacy #reader p{margin:0 0 .6em}
html.no-speech .say{display:none}
.err-bar{background:#fff;color:#000;border:2px solid #000;padding:.3em .5em;font-size:.8em}
/* a popup that was moved under the tapped paragraph (static/legacy.js): normal flow, no fixed sheet */
#popup.inline{position:static;max-height:none;width:auto;margin:.4em 0;border:2px solid #000;padding:.5em .7em;box-shadow:none;background:#fff;overflow:visible}
/* Kindle / e-ink theme: html.kindle (Kindle-type browsers, or Settings -> Theme).  Black on white, grey word marks, no inline buttons, bigger kana, tight lines. */
html.kindle,html.kindle body{background:#fff;color:#000}
html.kindle body *{color:#000;border-color:#000;text-shadow:none;box-shadow:none}
html.kindle .muted,html.kindle .small.muted,html.kindle rt{color:#333}
html.kindle a{text-decoration:underline}
html.kindle header.top{background:#fff;border-bottom:1px solid #000;max-height:1.4cm;overflow:hidden}
html.kindle header.top .in{display:block;padding:.1rem .4rem}
html.kindle header.top .top-line{display:block;white-space:nowrap;overflow:hidden;line-height:1.25;margin:0;padding:0}
html.kindle header.top .brand{display:inline!important;font-size:.95rem;line-height:1.25;margin:0 .45rem 0 0}
html.kindle header.top .top-ctrl,html.kindle header.top form{display:inline!important;margin:0 .35rem 0 0!important;padding:0!important;font-size:.88rem;line-height:1.25;white-space:nowrap}
html.kindle header.top .top-ctrl>*,html.kindle header.top form>*{display:inline!important;vertical-align:baseline;margin:0 .18rem 0 0!important}
html.kindle header.top select,html.kindle header.top button,html.kindle header.top .btn{display:inline-block!important;padding:.1rem .32rem!important;font-size:.88rem!important;line-height:1.2!important;border:1px solid #000!important;min-height:0!important;height:auto!important;width:auto!important;vertical-align:middle}
html.kindle header.top nav{display:block;width:100%;font-size:.92rem;line-height:1.3;white-space:nowrap;overflow-x:auto;margin:.1rem 0 0;padding:0}
html.kindle header.top nav a{padding:.08rem .2rem;margin:0 .42rem 0 0;display:inline-block}
html.kindle header.top nav a[href="/"],html.kindle header.top nav a[href="/progress"]{display:none}
html.kindle .lang-switch,html.kindle .lang-switch select{display:inline-block!important;width:auto!important;padding:.08rem .28rem!important}
html.kindle button,html.kindle .btn,html.kindle select,html.kindle input{background:#fff;border:2px solid #000;border-radius:0}
html.kindle button.primary,html.kindle .btn.primary{background:#000;color:#fff}
html.kindle button.primary *,html.kindle .btn.primary *{color:#fff}
html.kindle .sent .say,html.kindle .sa .say,html.kindle .tts-hl,html.kindle #tts-page,html.kindle #tts-stop,html.kindle #tts-engine,html.kindle #tts-rate,html.kindle #tts-status,html.kindle #voices-panel,html.kindle #clicked-bar,html.kindle .reader-meta,html.kindle label[for="script-mode"],html.kindle #script-mode,html.kindle #font-select,html.kindle #font-size,html.kindle .toolbar{display:none}
html.kindle .sbtn,html.kindle .sent .sbtn,html.kindle .sa .sbtn{display:inline-block;font-size:.78em;line-height:1;padding:.05em .22em;margin:0 .1em;border:1px solid #000;background:#fff;vertical-align:baseline;opacity:1}
html.kindle .sbtn svg{width:.95em;height:.95em;vertical-align:-.12em;pointer-events:none;display:inline-block}
html.kindle #book-bar{display:flex;align-items:center;justify-content:space-between;gap:.4rem;white-space:nowrap;margin:.15rem 0 .25rem;font-size:.95rem;line-height:1.3}
html.kindle #book-bar .book-title{display:inline-block;overflow:hidden;text-overflow:ellipsis}
html.kindle #book-bar .book-tools{display:inline-block;float:right}
html.kindle #book-bar button,html.kindle #book-bar .btn{padding:.14rem .45rem;font-size:.92rem;line-height:1.2;border:1px solid #000}
html.kindle #book-bar input[type=checkbox]{width:1.05em;height:1.05em;vertical-align:middle;margin:0 .15rem 0 0}
html.kindle #reader{line-height:1.55;max-width:none;padding-left:2.5mm;padding-right:2.5mm;padding-bottom:0;margin-bottom:0}
html.kindle #reader p{margin:0 0 .45em}
html.kindle #reader p:last-child{margin-bottom:0}
html.kindle #pager{margin:.1rem auto 0!important;padding:0}
html.kindle #reader h1.rtitle{line-height:1.5;margin:.1em 0 .3em}
html.kindle #reader .sent{padding:0}
html.kindle rt{font-size:.62em;line-height:1.1}
html.kindle main{padding:.25em .5em 4.2cm}
html.kindle .card{padding:.5em;margin:.4em 0}
html.kindle .sa .st-new{background:#f0f0f0;border-bottom:1px dotted #000}
html.kindle .sa .st-seen{background:#d9d9d9;border-bottom:2px dashed #000}
html.kindle .sa .st-learning{background:#b8b8b8;border-bottom:2px solid #000}
html.kindle .sa .st-known{background:#fff;border-bottom:0}
html.kindle .sa .st-new ruby,html.kindle .sa .st-new .rb{background:#f0f0f0}
html.kindle .sa .st-seen ruby,html.kindle .sa .st-seen .rb{background:#d9d9d9}
html.kindle .sa .st-learning ruby,html.kindle .sa .st-learning .rb{background:#b8b8b8}
html.kindle .sa .st-known ruby,html.kindle .sa .st-known .rb{background:#fff}
/* the word popup on e-ink: a full-height sheet that fits all its text (scrolling the page scrolls the window), with a solid white background, 1.45em font and 1.42em close button, minimalist single-line header */
html.kindle #popup{position:absolute;left:0;right:0;bottom:auto;top:auto;width:auto;height:auto;max-height:none;overflow:visible;background:#fff;border:0;border-top:2px solid #000;border-bottom:2px solid #000;border-radius:0;margin:0;padding:.25em .5em;font-size:1.45em;line-height:1.4;z-index:100}
html.kindle #popup.inline{position:static;max-height:none;margin:.3em 0;border:2px solid #000;overflow:visible}
html.kindle #popup .head{display:contents}
html.kindle #popup [data-close-popup]{position:sticky;top:0;right:0;float:right;z-index:20;background:#fff;border:1px solid #000;font-size:1.42em;line-height:1.1;padding:.04em .38em;margin:0 0 .1em .2em}
html.kindle #popup .kpop-line,html.kindle #popup .kpop-line>div,html.kindle #popup .word,html.kindle #popup .muted,html.kindle #popup .pos,html.kindle #popup .kpop-stat,html.kindle #popup .kpop-klinks,html.kindle #popup #word-actions,html.kindle #popup #word-actions>div{display:inline;width:auto;margin:0 .25em 0 0}
html.kindle #popup .word{font-size:1.1em;font-weight:700;line-height:1.2}
html.kindle #popup button,html.kindle #popup .btn{font-size:.95em;line-height:1.2;padding:.12em .45em;margin:.08em .2em .08em 0;border:1px solid #000;min-height:0;width:auto}
html.kindle #popup #word-actions{margin:0 .2em 0 0}
html.kindle #popup .small,html.kindle #popup h3,html.kindle #popup ul,html.kindle #popup ol,html.kindle #popup li,html.kindle #popup p,html.kindle #popup #sentence-panel{font-size:1em;line-height:1.4}
html.kindle #popup h3{margin:.25em 0 .1em}
html.kindle #popup ul,html.kindle #popup ol{margin:.15em 0;padding-left:1.1em}
html.kindle #popup p,html.kindle #popup .row{margin:.15em 0}
html.kindle #popup hr{margin:.2em 0}
html.kindle #popup .pos,html.kindle #popup .pill{border:0;padding:0 .2em;font-size:.92em}
html.kindle #popup .head button.link{border:1px solid #000;font-size:1.42em;padding:.04em .38em}
