/* Common navigation/request controls preserve the existing default design. */
.topline{flex-wrap:wrap;gap:12px}
.subject-switch,.toeic-sections{display:flex;gap:8px;flex-wrap:wrap}
.subject-switch button,.toeic-sections button{min-height:44px;padding:8px 18px;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:750;background:var(--paper);color:var(--ink)}
.toeic-sections{margin:20px 0 28px}
.subject-switch button[aria-current],.toeic-sections button[aria-current]{color:var(--green);border-color:var(--green)}
.subject-switch button[aria-current]::after,.toeic-sections button[aria-current]::after{content:" ✓"}
.request-dimmed{filter:blur(2px);opacity:.7}
.request-notice{position:fixed;z-index:10020;left:16px;right:16px;bottom:16px;max-width:820px;margin:auto;padding:12px 16px;background:var(--paper);color:var(--ink);border:1px solid var(--green);border-radius:10px;box-shadow:0 8px 32px #0003}
.request-notice p{margin:0 0 8px;font-size:14px;line-height:1.65}
.request-notice button,.request-wait button{min-height:44px;padding:8px 14px;border:1px solid var(--green);border-radius:6px;background:var(--paper);color:var(--ink)}
.request-wait{position:fixed;inset:0;z-index:10030;display:grid;place-items:center;background:#0004!important;padding:20px}
.request-wait[hidden],.request-notice[hidden]{display:none!important}
.request-wait section{max-width:360px;width:100%;padding:22px;text-align:center;background:var(--paper);border:1px solid var(--green);border-radius:12px;color:var(--ink)}
.request-wait .hanq-mascot{--mascot-size:112px;background-image:url('./characters/agumon-idle-sprite.png')!important}
.request-wait p{margin:8px 0;font-weight:700}.request-wait small{display:block;margin-bottom:16px}
@media(max-width:600px){.request-notice{left:8px;right:8px;bottom:8px;max-height:44vh;overflow:auto}.topline .header-menu{margin-left:auto}.subject-switch{order:3;width:100%}.subject-switch button,.toeic-sections button{flex:1}.toeic-menu{padding-top:10px}}
.ac-company{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}.ac-company h3{margin:0;font-size:15px}.ac-company p{margin:4px 0 0;font-size:13px;line-height:1.65;color:var(--muted)}.ac-company button{min-height:44px}.ac-company [role=status]{grid-column:1/-1}.ac-company [role=status]:empty{display:none}
/* Terminal colors/layout are opt-in. Original artwork bytes and colors stay intact. */
html[data-hanq-theme="terminal"]{color-scheme:dark;--paper:#050706!important;--ink:#f4f7f5!important;--muted:#b3bfb7!important;--line:#354c3d!important;--red:#ff938b!important;--gold:#72ef9d!important;--blue:#72ef9d!important;--green:#72ef9d!important;--shadow:none!important}html[data-hanq-theme="terminal"],html[data-hanq-theme="terminal"] body{background:#050706!important;color:#f4f7f5!important}html[data-hanq-theme="terminal"] body{font-family:"SFMono-Regular",Consolas,"Apple SD Gothic Neo","Noto Sans KR",monospace;line-height:1.75}html[data-hanq-theme="terminal"] body :where(div,section,article,aside,nav,header,footer,figure,figcaption,details,summary,table,th,td){background-color:#080d0a!important;background-image:none!important;color:var(--ink)!important;border-color:var(--line)!important}html[data-hanq-theme="terminal"] body :where(p,li,div,section,article,aside,nav,header,footer,h1,h2,h3,h4,h5,label,summary,details,table,th,td,span,small){color:inherit}html[data-hanq-theme="terminal"] body :where(.shell,.panel,.lesson-wrap,.lesson-frame,.period,.home-hero,.sequence span,.number,.state,.step,.tool-btn,.check-one,.note-card,.lesson-jump,.lesson-notes>summary,.o-chunk,.o-memo,.o-key,.qchoice,.qchoice-row,.mock-choice,.read-notice,.remember,.review-item,.verdict,.mock-feedback,.question,.ac-sec,.ac-banner,.ac-me,.ac-profile,.ac-profile-card,.ac-quick-card,.ac-auth,.ac-premium,.ac-stat,.ac-records,.tn,.tn-editor,.tn-list,.tr,.tr-row,.tr-feedback,.tr-meaning,.tr-word,.tp,.fe-card,.fe-question,.fe-run,.textbook-source-quiz-card,.textbook-source-quiz-group,dialog){background:#080d0a!important;background-image:none!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:none!important}html[data-hanq-theme="terminal"] body :where(button,input,textarea,select,option,summary,th,td){background-color:#080d0a!important;color:var(--ink)!important;border-color:var(--line)!important}html[data-hanq-theme="terminal"] body :where(input,textarea,select){accent-color:var(--green);caret-color:var(--green)}html[data-hanq-theme="terminal"] body :where(p,li,td,th,label,.qtext,.qopt,.lesson-lead,.o-part-lead,.o-memo-note,.hero-copy p,.hero-copy h1,.textbook-semantic,.textbook-source-quiz,.tn,.tr){color:var(--ink)!important}html[data-hanq-theme="terminal"] body :where(span){color:inherit!important}html[data-hanq-theme="terminal"] body :where(small,.goal,.period-text small,.qsection,.ac-conn,.tr-save-state,.tn-source,.hero-caption){color:var(--muted)!important}html[data-hanq-theme="terminal"] body :where(a,strong,b,em,mark,.eyebrow,.number,.qletter,.qmark,.o-em,.o-part-no,.o-chunk-w,.verdict-answer,.brand-mark,.hero-stamp,.path-title){color:var(--green)!important}html[data-hanq-theme="terminal"] body :where(mark){background:#123822!important}html[data-hanq-theme="terminal"] body :where(button:hover,a:hover,button[aria-pressed="true"],button[aria-selected="true"],[role="radio"][aria-checked="true"],.step.current,.selected,.active,.is-correct,.right){border-color:var(--green)!important;color:var(--green)!important;background-color:#102519!important}html[data-hanq-theme="terminal"] body :where(button:disabled){opacity:.65;cursor:default}html[data-hanq-theme="terminal"] body :where(.wrong,.is-wrong,.ac-err,.mock-save-fail,[role="alert"]){color:#ffc5ba!important;border-color:#c78c80!important}html[data-hanq-theme="terminal"] :focus-visible{outline:3px solid var(--green)!important;outline-offset:3px}html[data-hanq-theme="terminal"] body :where(table){border-collapse:collapse;line-height:1.8}html[data-hanq-theme="terminal"] body :where(td,th){border-color:var(--line)!important;padding:10px;overflow-wrap:anywhere}html[data-hanq-theme="terminal"] body :where(.qtext,.qopt,.tn-editor,.tr-feedback){line-height:1.85}html[data-hanq-theme="terminal"] body :where(.qtext,.qopt,p,td){word-break:normal;overflow-wrap:anywhere}html[data-hanq-theme="terminal"] body :where(img,video,canvas,svg,.hanq-mascot,.hanq-growth-portrait){filter:none}
html[data-hanq-theme="terminal"] :where(button,input,textarea,select,h1,h2,.hero-copy h1,.ac-hero-name){font-family:inherit!important}
html[data-hanq-theme="terminal"] :where(h1,h2,h3,h4,h5,h6,.ac-hero-name){color:var(--ink)!important}
html[data-hanq-theme="terminal"] *,html[data-hanq-theme="terminal"] *::before,html[data-hanq-theme="terminal"] *::after{animation:none!important;transition:none!important;box-shadow:none!important}
html[data-hanq-theme="terminal"] .hero-art{display:none}html[data-hanq-theme="terminal"] .home-hero{grid-template-columns:1fr;min-height:0;padding:20px}html[data-hanq-theme="terminal"] .hero-copy h1{font-size:28px;line-height:1.45}
html[data-hanq-theme="terminal"] .hm-pic{width:24px;height:24px;background:transparent}html[data-hanq-theme="terminal"] .hm-pic .hanq-mascot,html[data-hanq-theme="terminal"] .hm-pic .hanq-growth-portrait{--mascot-size:24px}
html[data-hanq-theme="terminal"] .hm-tier{background:transparent!important;color:var(--green)!important;border:1px solid var(--line)}
html[data-hanq-theme="terminal"] :where(.wn-entry,.brand-mark,.hero-stamp b,.ac-hero-tier){background:#080d0a!important;border-color:var(--line)!important;box-shadow:none!important}
html[data-hanq-theme="terminal"] .ac-hero{padding:16px}html[data-hanq-theme="terminal"] .ac-pet{padding-top:0;max-width:72px}html[data-hanq-theme="terminal"] .ac-pet::after{display:none}html[data-hanq-theme="terminal"] .ac-pet .hanq-mascot,html[data-hanq-theme="terminal"] .ac-pet .hanq-growth-portrait{--mascot-size:56px}
html[data-hanq-theme="terminal"] .request-wait section{max-width:290px;padding:16px}html[data-hanq-theme="terminal"] .request-wait .hanq-mascot{--mascot-size:56px;animation:hanq-agumon-idle 4s steps(1,end) infinite!important}
html[data-hanq-theme="terminal"] .request-wait{background:#0004!important}
html[data-hanq-theme="terminal"] .subject-switch button[aria-current],html[data-hanq-theme="terminal"] .toeic-sections button[aria-current]{color:var(--green)!important;border-color:var(--green)!important;background:#102519!important}
html[data-hanq-theme="terminal"] :where(.progress-fill,.ac-progress>span){background:var(--green)!important}
@media(max-width:600px){html[data-hanq-theme="terminal"] :where(input,textarea,select){font-size:16px!important}html[data-hanq-theme="terminal"] :where(button){min-height:44px}html[data-hanq-theme="terminal"] :where(th,td){padding:8px}}
@media(prefers-reduced-motion:reduce){.request-wait .hanq-mascot,html[data-hanq-theme="terminal"] .request-wait .hanq-mascot{animation:none!important;background-position:0 0!important}html[data-hanq-theme="terminal"] *{scroll-behavior:auto!important}}
.request-wait :focus-visible,.subject-switch :focus-visible,.toeic-sections :focus-visible{outline:3px solid var(--green);outline-offset:3px}
html[data-hanq-theme="terminal"] .tn-word-header h3{color:var(--green)!important}

/* History range radios sit on the dark device surface, outside paper readers. */
html[data-hanq-theme="terminal"] body #app .part-picker:is([data-era="joseon"],[data-era="goryeo"]) legend{color:#b3bfb7!important}
html[data-hanq-theme="terminal"] body #app .part-picker:is([data-era="joseon"],[data-era="goryeo"]) .part-option span{background:#0b211a!important;color:#edf8f1!important;border-color:#6d9d8c!important}
html[data-hanq-theme="terminal"] body #app .part-picker:is([data-era="joseon"],[data-era="goryeo"]) .part-option input:checked+span{background:#205039!important;color:#f4fff7!important;border-color:#a7e8bd!important}
html[data-hanq-theme="terminal"] body #app .part-picker:is([data-era="joseon"],[data-era="goryeo"]) .part-option input:focus-visible+span{outline:3px solid #b1efca!important;outline-offset:2px}
