body .ds-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
body .ds-course{background:#14243c;border:1px solid #36567c;border-radius:10px;padding:20px;text-align:left;display:flex;flex-direction:column;gap:12px;color:#e6efff;min-width:0;cursor:pointer}
body .ds-course strong{overflow-wrap:anywhere;font-size:17px}body .ds-course small,body .ds-course span{color:#9eb5d5;font-size:12px}
body .ds-workspace{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:20px;align-items:start}
body .ds-main{min-width:0}body .ds-main h2{overflow-wrap:anywhere}
body aside.ds-toc{position:sticky;top:20px;width:auto;height:auto;min-height:0;padding:15px;background:#101a2c;border:1px solid #304866;border-radius:10px;display:block;overflow:auto;max-height:80vh;z-index:auto;inset-inline-start:auto;left:auto;transform:none}
body .ds-toc h3{font-size:15px}body .ds-toc button{display:block;width:100%;margin:8px 0;white-space:normal;overflow-wrap:anywhere;text-align:left;font-size:12px}
body .ds-modes{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}body .ds-modes button{font-size:12px;padding:10px}
body .ds-audio-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:15px 0;font-size:12px;color:#aec2e0}body .ds-audio-tools button{padding:7px 12px;font-size:12px}
body .ds-session{background:#132139;border-color:#35527a;padding:24px}body .ds-session-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#aec6e9}body .ds-session progress{width:100%;height:5px;margin:16px 0;accent-color:#4285ef}
body .ds-flash{width:100%;min-height:300px;border:0;background:transparent;color:#eff5ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:25px 10px;cursor:pointer;overflow-wrap:anywhere}
body .ds-flash strong{font-size:clamp(27px,4vw,44px);line-height:1.6}body .ds-flash small,body .ds-flash span{color:#abc8ed}body .ds-flash p{font-size:20px;line-height:1.8}
body .ds-prompt{text-align:center;padding:30px 0;font-size:26px}body .ds-listen{text-align:center;padding:28px 10px}body .ds-listen p{color:#adc3e1;font-size:13px}
body .ds-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}body .ds-choices button{min-height:65px;text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.6}body .ds-choices small{color:#8eafd9;margin-right:10px}
body .ds-feedback{padding:18px;margin-top:20px;border:1px solid #4d759e;border-radius:9px}body .ds-feedback button{display:block;margin-top:15px}
body .ds-session .correct{border-color:#3ec99a;background:#113b31;color:#bcffe3;opacity:1}body .ds-session .wrong{border-color:#e17d93;background:#351b2b;color:#ffd6e0}body .ds-session .muted{opacity:.5}
body #ds-answer{display:flex;gap:10px;flex-wrap:wrap}body #ds-answer input{flex:1 1 200px;min-width:0;padding:14px;border-radius:8px;border:1px solid #4d6d95;background:#0b1525;color:#f0f6ff;font:inherit}
body .ds-order-answer{min-height:85px;border:1px dashed #6184b0;padding:15px;border-radius:9px;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;align-items:center;color:#8eaccf}
body .ds-match{display:grid;grid-template-columns:1fr 1fr;gap:18px}body .ds-match>div{display:flex;flex-direction:column;gap:10px}body .ds-match button{min-height:65px;white-space:normal;overflow-wrap:anywhere}body .ds-match button:disabled{opacity:.25}
body .ds-workspace .selected{border-color:#70b6ff;background:#214c7a;color:#fff}
body .ds-word{padding:18px 0;border-bottom:1px solid #304968}body .ds-word span{color:#aac3e4;margin-left:14px}body .ds-word strong{font-size:20px}
@media(max-width:950px){body .ds-workspace{grid-template-columns:1fr}body aside.ds-toc{position:static;max-height:260px;display:block}body .ds-session{padding:16px}}
@media(max-width:500px){body .ds-choices{grid-template-columns:1fr}body .ds-session-head button{padding:8px}body .ds-match{gap:8px}}
body .ds-flash .ds-romaji{font-size:17px;line-height:1.7;letter-spacing:.02em;color:#8fc6ff;font-weight:400;max-width:100%;overflow-wrap:anywhere}
body .ds-session-head{flex-wrap:wrap}
body .ds-flash ruby{ruby-align:center;ruby-position:over;line-height:2.2}
body .ds-flash rt{font-size:.38em;font-weight:400;color:#a6d2ff;letter-spacing:.04em}
body .ds-session-head [data-ds-furigana],body .ds-session-head [data-ds-romaji]{font-size:12px;padding:8px 10px}
body .ds-session-head [data-ds-furigana],body .ds-session-head [data-ds-romaji]{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;color:#95abc8;transition:background .15s,color .15s,border-color .15s}
body .ds-session-head [aria-pressed="true"]{color:#abd7ff;border-color:#4f89c4;background:#193958}
body .ds-eye-icon{flex-shrink:0}
