/* Bundled Noto Sans, SIL Open Font License. No remote font dependency. */
@font-face{font-family:PhungNoto;src:url('fonts/noto-sans-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:PhungNoto;src:url('fonts/noto-sans-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:PhungNoto;src:url('fonts/noto-sans-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--ui-font:PhungNoto,'Noto Sans','Segoe UI',Arial,sans-serif;font-family:var(--ui-font);font-synthesis:none}
html,body,button,input,select,textarea,h1,h2,h3,h4,p,small,strong,span,label,summary,dt,dd,a,.brand,.word,.map-sign,.forest-boot strong{font-family:var(--ui-font)!important;letter-spacing:normal!important;font-synthesis:none}
body{font-size:16px;line-height:1.65;-webkit-text-size-adjust:100%;text-size-adjust:100%}
h1,h2,h3,h4{line-height:1.4;font-weight:700;overflow-wrap:break-word;word-break:normal}
h1{font-size:clamp(28px,4vw,38px)}h2{font-size:24px}h3{font-size:19px}p,li,dd,label{line-height:1.8}p{margin-top:10px;margin-bottom:14px}
.brand{font-weight:700;font-size:18px;line-height:1.45;min-width:0}.brand>div{min-width:0;overflow-wrap:break-word}.brand small{font-weight:400;font-size:12px;line-height:1.6;display:block;margin-top:3px}
.eyebrow{font-size:12px;line-height:1.7;font-weight:600;text-transform:none}.small,small,.source,.route-meta,.mini-due,.line-text .translation,.line-text .reading{font-size:14px;line-height:1.8}.notice{font-size:14px;color:#526b59;line-height:1.8}.muted,.small.muted{color:#586c60}
.btn{font-size:15px;line-height:1.55;font-weight:600;white-space:normal;text-align:center;overflow-wrap:break-word;min-height:46px}.ghost.small{font-size:14px}.tag{font-size:13px;line-height:1.65;font-weight:400;max-width:100%;white-space:normal}
input,select,textarea{font-size:16px!important;line-height:1.6;max-width:100%;min-width:0}textarea{line-height:1.85}label{font-size:15px;font-weight:400}.check{align-items:flex-start}.check input{margin-top:7px;flex-shrink:0}
.row>*{min-width:0}.grid>*{min-width:0}.card,.lesson,.info,.line-text,.chapter-row,.nextbox,.prompt-box,.speech-bubble{min-width:0;overflow-wrap:break-word;word-break:normal}.word{font-size:clamp(27px,5vw,36px);font-weight:700;line-height:1.65;overflow-wrap:anywhere}.read{font-size:18px;line-height:1.85}.caption strong{font-size:22px;line-height:1.7;overflow-wrap:break-word;max-width:100%}.wordrow strong{font-size:19px;line-height:1.75;overflow-wrap:break-word}.line-text p{font-size:18px;line-height:1.85}.line-text .translation,.line-text .reading{font-size:14px;line-height:1.85}.line-text strong{font-size:13px;font-weight:600}.topic strong{font-size:16px;line-height:1.65}.topic small{font-size:13px;line-height:1.75}
.word:lang(ko),.line-text p:lang(ko){font-family:PhungNoto,'Noto Sans KR','Malgun Gothic','Apple SD Gothic Neo',sans-serif!important;word-break:keep-all;overflow-wrap:break-word}
.word:lang(zh-Hans),.line-text p:lang(zh-Hans){font-family:PhungNoto,'Noto Sans SC','Microsoft YaHei','PingFang SC',sans-serif!important}
.word:lang(zh-Hant),.line-text p:lang(zh-Hant){font-family:PhungNoto,'Noto Sans TC','Microsoft JhengHei','PingFang TC',sans-serif!important}
.world-welcome h1{font-size:30px;line-height:1.5}.world-welcome .weather,.welcome-leaf{font-size:12px;line-height:1.7}.journey-copy h2{font-size:27px;line-height:1.5}.journey-copy .intro{font-size:15px;line-height:1.9}.speech-bubble{font-size:14px;line-height:1.85}.daily-leaf{font-size:14px}.daily-leaf h3{font-size:17px}.plant-state{font-size:14px;line-height:1.8}
.map-sign{font-size:16px;line-height:1.5;font-weight:600}.quest-stop{min-width:0;width:164px}.quest-stop .stop-label{font-size:12px;line-height:1.5;font-weight:600;max-width:164px;padding:6px 9px}.quest-stop .medal{font-size:18px;line-height:1;font-weight:700}.map-bottom-title{font-size:12px;line-height:1.5}.conversation-tabs button{font-size:14px;line-height:1.55}.bottom{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}.bottom button{font-size:12px;line-height:1.4;min-width:0;padding:8px 3px;min-height:58px;white-space:normal}.bottom button span{font-size:22px;line-height:1.2}.sources a{overflow-wrap:anywhere}footer{font-size:12px;line-height:1.8}
@media(max-width:760px){.brand{font-size:16px}.brand small{font-size:11px}.world-welcome h1{font-size:27px}.journey-copy .quick-links .btn{font-size:14px;line-height:1.6;padding:11px 13px}.notebook-hero h1{font-size:27px;line-height:1.4}.quest-stop{width:136px}.quest-stop .stop-label{font-size:11px;max-width:136px;padding:5px 7px;line-height:1.55}.map-sign{font-size:14px;max-width:64%;padding:8px 12px}.map-bottom-title{font-size:11px;left:10%;right:10%}.line-text{max-width:87%}.line-text p{font-size:17px}.card{padding:19px}.wordrow{gap:10px}.wordrow .info{min-width:0;flex-basis:160px}.caption strong{font-size:21px}}
@media(max-width:480px){header{display:grid;grid-template-columns:1fr;gap:12px;padding:14px 16px}.brand{font-size:17px;justify-content:center}.brand small{display:block;font-size:11px}header select{width:100%;max-width:none;font-size:15px!important;padding:10px 14px;min-height:44px}.world-welcome{align-items:flex-start}.world-welcome .weather{display:none}.world-welcome h1{font-size:27px}.row{gap:10px}.row .btn{flex-basis:auto}.conversation-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.conversation-tabs .btn{width:100%;font-size:13px;padding:10px}.line-text{max-width:85%;padding:12px}.speaker-avatar{width:30px;height:32px}.speaker-avatar img{width:29px;height:31px}.notebook-hero{align-items:flex-start;gap:12px}.notebook-hero img{width:64px;height:76px}.notebook-hero h1{font-size:25px}.journey-map{border-radius:25px}.quest-stop{width:123px}.quest-stop .stop-label{max-width:123px;font-size:11px;padding:4px 6px}.quest-stop .medal{width:35px;height:35px;font-size:16px}.map-sign{font-size:13px}.map-bottom-title{font-size:10px}.bottom button{font-size:11px}.topic{gap:11px}.topic-icon{width:44px;height:44px;font-size:25px}.read{font-size:17px}}
@media(max-width:350px){main{padding-left:12px;padding-right:12px}.quest-stop{width:112px}.quest-stop .stop-label{max-width:112px;font-size:10px}.map-sign{font-size:12px}.topic strong{font-size:15px}.brand{font-size:16px}.bottom button{font-size:10px}.card{padding:16px}}
