@font-face{font-family:QilinHanzi;src:url("assets/qilin-hanzi.otf") format("opentype");font-display:swap;unicode-range:U+4E00-9FFF}
/* QILIN 1.2 learning flow with cream, vermilion and navy palette. */
button:disabled{opacity:.5;cursor:default}input,select{font:inherit}input{color:var(--ink)}.nav-icon:empty{display:none}.sidebar{padding-top:28px}.brand{margin-bottom:32px}.text-button{background:transparent;color:var(--teal);border:0;font-weight:650;padding:12px 8px}.home-hero .text-button{display:block;margin-top:7px;padding-left:0}.daily-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.daily-actions h3,.progress-panel h3{margin-top:5px}.progress-panel p{line-height:1.7;color:#475467;margin:12px 0 20px}.state-tag{display:inline-block;border-radius:8px;padding:4px 7px;font-size:11px;white-space:normal;background:#ffffff;color:#667085;font-weight:650}.state-seen{background:#f3f4f6;color:#475467}.state-practice{background:#e9edf3;color:#344562}.state-steady{background:#e7e8eb;color:#344562}.word-card .state-tag{margin-top:9px;font-size:10px}.word-card{min-height:190px}.lesson-grid{margin-bottom:22px}.lesson-card p{line-height:1.7}.lesson-characters{word-spacing:0}.lesson-steps{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 20px}.lesson-steps span{padding:10px 13px;border-radius:10px;background:#e5e7eb;color:#667085;font-size:12px}.lesson-steps .active{background:#e5e7eb;color:#a33128}.lesson-study{display:grid;grid-template-columns:.85fr 1.15fr;background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;margin-top:24px}.lesson-study-main{text-align:center;padding:36px 25px;background:#ffffff;display:flex;flex-direction:column;justify-content:center;align-items:center}.study-counter{font-size:11px;letter-spacing:2px;color:#667085}.study-character{font-family:'Microsoft YaHei','Noto Sans CJK SC',sans-serif;font-size:110px;font-weight:500;line-height:1.4;color:#b23a2f}.lesson-study-main h2{font-size:26px;margin:12px 0 20px}.study-audio{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.lesson-study-visual{padding:28px}.lesson-footer{display:flex;justify-content:flex-end;padding:22px 0}.visual-mnemonic{padding:18px;border-radius:18px;background:#ffffff}.visual-mnemonic .tiny-label{letter-spacing:.8px;line-height:1.8;display:block;font-size:9px}.visual-mnemonic p{line-height:1.8;color:#475467;margin:15px 0 0;font-size:14px}.visual-flow{display:grid;grid-template-columns:minmax(0,1.15fr) 20px minmax(0,1fr);align-items:center;gap:10px;margin-top:8px}.visual-picture{text-align:center;color:#667085;font-size:12px}.scene-svg{display:block;width:100%;max-height:185px}.flow-arrow{color:#667085;font-size:24px}.component-picture{display:flex;flex-direction:column;align-items:center;color:#b23a2f}.component-hanzi{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;font-size:30px}.component-hanzi b{font-size:13px;color:#667085}.component-picture>strong{font-weight:500;font-size:62px;line-height:1.2}.component-picture>small{color:#667085;font-size:20px;margin:3px}.note-box{background:#ffffff;color:#475467;padding:15px;border-radius:12px;line-height:1.8;font-size:13px}.note-box.error{color:#a33128}.lesson-recall,.usage-card{max-width:800px;margin:24px auto}.lesson-recall h2{font-size:32px;text-align:center;margin:25px 0}.lesson-recall p,.usage-card p{line-height:1.8;color:#475467}.usage-card h2{margin-top:20px}.sentence-target{min-height:100px;background:#ffffff;border:1px dashed #667085;border-radius:14px;padding:22px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:20px 0}.sentence-token{border:0;background:white;box-shadow:0 2px 10px #15203908;color:#b23a2f;font-size:30px;padding:8px 16px;border-radius:9px}.token-bank{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.token-bank .outline-button{font-size:25px}.usage-help{margin-top:24px;border-top:1px solid #e5e7eb;padding-top:18px}.usage-help details p{color:#152039}.usage-help summary,.write-note summary{cursor:pointer;line-height:1.6}.listen-prompt{text-align:center;margin:25px 0}.listen-prompt p{font-size:13px;color:#667085;line-height:1.7}.listen-prompt .outline-button{margin-top:12px}.quiz-card .quiz-option{font-size:25px;overflow-wrap:anywhere}.quiz-card .quiz-symbol{margin-bottom:15px}.quiz-card .quiz-em{font-size:30px;line-height:1.3}.quiz-card .quiz-feedback{line-height:1.7}.quiz-next{display:block;margin-top:18px}.revealed-answer{padding:20px;text-align:center;background:#e5e7eb;border-radius:14px;font-size:25px;margin:25px 0}.writing-summary{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;color:#667085;font-size:12px}.challenge-note{display:none}.concealed .answer-content{display:none!important}.concealed .challenge-note{display:block;line-height:1.8}.concealed-library{display:none}.record-table{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-weight:650;color:#667085;font-size:12px;padding:14px 9px;border-bottom:1px solid #e5e7eb}td{padding:14px 9px;border-bottom:1px solid #e5e7eb;vertical-align:middle}td small{display:block;color:#667085;margin-top:4px}.backup-panel{margin:20px 0}.tone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}.tone-grid>div{background:white;border:1px solid #e5e7eb;padding:18px;border-radius:13px}.tone-grid strong{font-size:30px;color:#b23a2f}.tone-grid p{font-size:12px;min-height:50px}.tone-grid .outline-button{font-size:12px;padding:8px}.pronunciation-guide{margin-top:28px}.backup-panel .result-buttons{justify-content:flex-start}select{background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;color:#152039}dialog{border:0;border-radius:20px;padding:28px;max-width:min(500px,90vw);color:var(--ink);box-shadow:0 20px 70px #15203933}dialog::backdrop{background:#15203966}dialog p{line-height:1.8}dialog h2{font-size:22px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.mobile-nav button{min-width:0;flex:1}.main-content:focus{outline:none}.detail-right .example-row .outline-button{min-width:0;flex-shrink:0;padding:10px;font-size:12px}.home-banner{gap:16px}.home-banner p{line-height:1.7;margin:0}.result-buttons{flex-wrap:wrap}.result h2{margin:20px 0}.outline-button,.button-primary,.button-secondary{min-height:44px}.tone-grid p{line-height:1.6}.detail-right .detail-big{font-size:90px}.page-desc{font-size:14px}.note-box:empty{display:none}
@media(max-width:900px){.lesson-study{grid-template-columns:1fr 1fr}.tone-grid{grid-template-columns:repeat(2,1fr)}.tone-grid p{min-height:0}.detail-grid .detail-right{max-width:100%}}
@media(max-width:650px){body{font-size:15px}.sidebar{display:none}.daily-actions{grid-template-columns:1fr;gap:12px}.main-content{padding:24px 16px 100px}.page-title{font-size:26px}.page-desc,.hero-desc{font-size:14px}.lesson-study{grid-template-columns:1fr}.lesson-study-main{padding:25px}.study-character{font-size:92px}.lesson-study-visual{padding:16px}.lesson-steps{gap:6px}.lesson-steps span{font-size:11px;padding:9px}.visual-mnemonic{padding:14px}.visual-flow{gap:6px}.component-hanzi{font-size:28px}.component-picture>strong{font-size:64px}.lesson-footer .button-primary{width:100%}.word-card{min-height:180px}.word-card .word-kk{font-size:13px}.word-card .state-tag{font-size:10px}.lesson-card h3{font-size:16px;line-height:1.5}.lesson-card p{font-size:13px}.lesson-bottom{font-size:12px}.lesson-characters{font-size:36px}.lesson-grid{grid-template-columns:1fr}.lesson-card{min-height:0}.lesson-card .lesson-characters{margin:12px 0}.lesson-card .lesson-bottom{margin-top:15px}.stats .stat p{font-size:11px;line-height:1.4}.stat h3{font-size:19px}.detail-grid,.writing-layout{grid-template-columns:1fr}.detail-left,.detail-right,.quiz-card{padding:17px}.writer-controls{gap:7px}.writer-controls button{padding:9px 11px;font-size:12px}.quiz-options{gap:9px}.quiz-card .quiz-option{font-size:22px;padding:12px 8px}.quiz-card .quiz-em{font-size:27px}.quiz-prompt{line-height:1.6}.tone-grid{gap:9px}.tone-grid>div{padding:12px}.sentence-token{font-size:26px;padding:8px 11px}.sentence-target{padding:14px}.record-table th,.record-table td{padding:12px 8px}.home-banner{flex-direction:column;align-items:flex-start}.mobile-nav{height:78px}.mobile-nav svg{display:none}.mobile-nav small{font-size:10px}.mobile-nav span{font-size:20px}.detail-heading h2{font-size:19px}.topbar-intro{font-size:11px}.note-box{font-size:14px}.footer{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

body{font-family:"Segoe UI",QilinHanzi,"Microsoft YaHei",Arial,sans-serif}.study-character,.hero-hanzi,.detail-big,.word-symbol,.lesson-characters,.component-hanzi,.component-picture>strong,.quiz-symbol,.quiz-option,.sentence-token,.token-bank button,.mastered-char,.mini-char,.brand-symbol{font-family:QilinHanzi,"Segoe UI","Microsoft YaHei",sans-serif}
.button-primary,.button-secondary,.outline-button{max-width:100%;white-space:normal;text-align:center;line-height:1.5;overflow-wrap:anywhere}.hero-copy{min-width:0}.lesson-card h3,.page-title{overflow-wrap:anywhere}.quiz-option{min-width:0}
@media(max-width:900px) and (min-width:651px){.daily-actions{grid-template-columns:1fr}.home-hero{padding:30px}.hero-visual{min-width:200px}.hero-title{font-size:33px}}

.result-scene{width:160px;margin:0 auto}.result-scene .scene-svg{height:110px}

/* Reference palette: cream paper, vermilion, dark navy and warm wood. */
:root{--ink:#152039;--muted:#667085;--teal:#b23a2f;--teal-dark:#8f2b24;--sage:#ffffff;--light:#ffffff;--line:#e5e7eb;--white:#ffffff;--orange:#f3f4f6;--shadow:0 16px 38px rgba(21,32,57,.055)}
body{background:var(--light);color:var(--ink)}.sidebar,.mobile-nav{background:#ffffff}.brand-symbol{background:#b23a2f;color:#ffffff}.brand-symbol span{background:#e8b573;color:#152039}.brand-name,.page-title,.hero-title,.lesson-card h3{color:#152039}.brand-name small,.nav-caption,.sidebar-foot,.footer{color:#667085}.nav-link{color:#526077}.nav-link.active{background:#f5f6f8;color:#a33128}.nav-link.active .nav-icon,.mobile-nav button.active{color:#a33128}.nav-link:hover{background:#f5f6f8}.small-quote{background:#ffffff}.small-quote p{color:#475467}.small-quote span{color:#b23a2f}.topbar-dot{background:#b23a2f}.sparkle{color:#bb884c}.profile-avatar{background:#f3f4f6;color:#152039}.home-hero{background:linear-gradient(116deg,#f5dfc8 3%,#fdf5e8 55%,#f0d1bb 100%)}.hero-badge{background:#ffffff;color:#8f2b24;border-color:#e5e7eb}.hero-title span{color:#b23a2f}.hero-desc{color:#475467}.hero-hanzi{color:#b23a2f}.hero-orbit{border-color:#e5e7eb;background:#ffffff}.visual-tag{background:#ffffff;color:#152039}.visual-tag span{color:#667085}.button-primary{background:#b23a2f;color:#ffffff;box-shadow:0 5px 13px rgba(178,58,47,.13)}.button-primary:hover{background:#8f2b24}.button-secondary{background:#f5f6f8;color:#8f2b24}.button-secondary:hover{background:#eaecf0}.outline-button{background:#ffffff;color:#344562;border:1px solid #d0d5dd}.outline-button:hover{border-color:#b23a2f;background:#f5f6f8}.text-button,.see-link,.back-btn{color:#a33128}.eyebrow{color:#8f2b24}.chip.active{background:#b23a2f;border-color:#b23a2f;color:#ffffff}.chip{background:#ffffff;color:#475467;border-color:#e5e7eb}.stat-green{background:#f5f6f8;color:#a33128}.stat-orange{background:#f3f4f6;color:#475467}.stat-lilac{background:#e9edf3;color:#344562}.lesson-characters,.word-symbol,.detail-big,.study-character{color:#b23a2f}.detail-pinyin,.word-pinyin{color:#526077}.lesson-study-main{background:#ffffff}.visual-mnemonic{background:#ffffff}.component-picture{color:#a33128}.component-hanzi b,.component-picture>small,.flow-arrow{color:#667085}.visual-mnemonic p,.visual-picture{color:#475467}.study-counter{color:#8f2b24}.lesson-steps span{background:#f3f4f6;color:#475467}.lesson-steps .active{background:#f5f6f8;color:#8f2b24}.progress-bar,.progress-meter>div{background:#b23a2f}.progress-track{background:#ecdcc9}.state-new{background:#f3f4f6;color:#475467}.state-seen{background:#f3f4f6;color:#475467}.state-practice{background:#e9edf3;color:#344562}.state-steady{background:#e7e8eb;color:#344562}.quiz-option.correct{border-color:#344562;background:#e9edf3;color:#152039}.quiz-option.wrong{border-color:#b23a2f;background:#f5f6f8;color:#8f2b24}.quiz-feedback{background:#e9edf3;color:#152039}.quiz-feedback.wrong{background:#f5f6f8;color:#8f2b24}.revealed-answer{background:#ffffff;color:#152039}.quiz-symbol{color:#b23a2f}.sentence-target{background:#ffffff;border-color:#98a2b3}.sentence-token{background:#ffffff;color:#a33128}.note-box{background:#ffffff;color:#475467}.note-box.error,.writer-info.error{color:#8f2b24}.writer-area{border-color:#d0d5dd}.mini-char.active{background:#b23a2f;color:#ffffff;border-color:#b23a2f}.toast{background:#152039;color:#ffffff}dialog::backdrop{background:rgba(21,32,57,.50)}dialog{background:#ffffff}.home-banner{background:#ffffff;border-color:#e5e7eb}.tone-grid>div{background:#ffffff;border-color:#e5e7eb}.tone-grid strong{color:#b23a2f}.mobile-nav{border-top-color:#e5e7eb}.mobile-nav button{color:#526077}.done{background:#e9edf3;color:#344562}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b65a46;outline-offset:3px}

/* 1.2 daily goal, lesson meters and supporting vocabulary */
.daily-goal{margin-bottom:24px}.goal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.goal-heading strong{white-space:nowrap;font-size:24px;color:var(--teal)}.daily-goal .progress-track{margin:16px 0}.goal-setting{display:flex;gap:12px;align-items:center}.goal-setting select{background:#ffffff;color:#152039;border:1px solid #e5e7eb;border-radius:10px;padding:9px 12px;font:inherit}.course-meter{margin-top:16px;color:#667085}.course-meter .progress-track{height:5px;margin-top:7px}.gloss-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:16px 0}.gloss-grid>div{padding:14px;background:#ffffff;border:1px solid #e5e7eb;border-radius:12px}.gloss-grid strong{display:block;font-family:QilinHanzi,serif;font-size:28px;color:#b23a2f}.gloss-grid span,.gloss-grid small{display:block;margin-top:5px}.gloss-grid small{color:#667085}@media(max-width:420px){.goal-heading{align-items:flex-start}.goal-heading strong{font-size:21px}}

.lesson-icon{display:block;width:46px;height:34px}.lesson-icon .scene-svg{height:34px;width:46px}

/* 1.2.1 white theme: white surfaces, neutral separators, restrained accents. */
:root{--light:#ffffff;--white:#ffffff;--sage:#f5f6f8;--line:#e5e7eb;--muted:#667085;--shadow:0 8px 24px rgba(21,32,57,.045)}
html,body,.app-shell,.layout-main,.main-content,.sidebar,.topbar,.mobile-nav{background:#ffffff}
.home-hero{background:#ffffff;border:1px solid #e5e7eb;box-shadow:0 10px 32px rgba(21,32,57,.035)}
.hero-orbit{background:#ffffff;border-color:#e5e7eb}.hero-badge{background:#ffffff;border-color:#e5e7eb;color:#475467}.hero-hanzi{color:#152039}.leaf-deco{display:none}
.lesson-card,.word-card,.detail-left,.detail-right,.writing-panel,.quiz-card,.progress-panel,.lesson-study,.lesson-study-main,.visual-mnemonic,.note-box,.write-note,.gloss-grid>div,.sentence-target,.sentence-token,.tone-grid>div,.home-banner,dialog{background:#ffffff}
.visual-mnemonic,.write-note,.gloss-grid>div,.note-box,.home-banner{border:1px solid #e5e7eb}
.lesson-characters,.word-symbol,.detail-big,.study-character,.component-picture,.quiz-symbol,.sentence-token,.tone-grid strong,.gloss-grid strong{color:#152039}
.word-card .word-symbol{color:#152039}.eyebrow,.study-counter{color:#667085}.goal-heading strong{color:#152039}
.small-quote{background:#ffffff;border:1px solid #e5e7eb}.small-quote p{color:#667085}.profile-avatar{background:#f3f4f6;color:#152039}.brand-symbol span{background:#f3f4f6;color:#152039}.sparkle{color:#667085}
.button-secondary{background:#f5f6f8;color:#344562}.button-secondary:hover{background:#eaecf0}.outline-button{background:#ffffff;border-color:#d0d5dd}.outline-button:hover{background:#f9fafb;border-color:#98a2b3}.nav-link.active{background:#f5f6f8}.progress-track{background:#eaecf0}.progress-bar,.progress-meter>div{background:#344562}
.quiz-option.wrong,.quiz-feedback.wrong{background:#fff3f2;border-color:#b23a2f;color:#8f2b24}.quiz-option.correct,.quiz-feedback{background:#eef2f6;color:#152039}.button-primary,.chip.active{background:#b23a2f;color:#ffffff}
