:root{--paper:#f4f1e9;--ink:#28332e;--muted:#717b71;--line:#dedfd4;--green:#395944;--rust:#a44832;--soft:#e7eade;--white:#fffefa;--good:#e8f2e8;--bad:#faeae4;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ac7f42;outline-offset:4px}a{color:inherit}button{color:inherit}button,.secondary,.primary{transition:background .15s,transform .15s,border-color .15s}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.shell{max-width:1256px;margin:auto;padding:0 48px}.header{height:104px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-weight:650;font-size:18px;letter-spacing:-.4px}.brand small{font-size:12px;font-weight:500;color:var(--muted);border-left:1px solid #c7cdbf;padding-left:10px;margin-left:8px}.seal{display:grid;place-items:center;border:1.5px solid var(--rust);color:var(--rust);font:28px "KaiTi","STKaiti",serif;width:41px;height:41px;border-radius:5px;transform:rotate(-4deg)}nav{margin-left:auto;display:flex;gap:6px}.tab,.icon-button,.text-button{background:none;border:0}.tab{padding:12px 17px;font-size:14px;color:var(--muted);border-radius:24px}.tab:hover,.tab.active{background:var(--soft);color:var(--ink)}.icon-button{border:1px solid #c6cabc;width:31px;height:31px;border-radius:50%;font:17px Georgia,serif}.intro{display:flex;align-items:center;justify-content:space-between;gap:60px;padding:48px 0 40px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin:0 0 14px}h1{font-family:Georgia,"Times New Roman",serif;font-size:46px;font-weight:400;letter-spacing:-1.6px;line-height:1.05;margin:0}h1 span{color:var(--green)}.intro-copy{font-size:14px;line-height:1.65;color:var(--muted);margin:17px 0 0}.journey{width:280px;margin-top:33px}.journey-top{display:flex;align-items:center;justify-content:space-between;font-size:12px}.journey-top strong{font-size:21px;font-weight:600}.journey-top i{font-size:13px;font-style:normal;color:var(--muted);font-weight:400}.track{height:4px;background:#dfe2d6;border-radius:4px;overflow:hidden;margin:15px 0 10px}.track>div{height:100%;background:var(--green);min-width:0;transition:width .3s}.journey p{font-size:11px;color:var(--muted)}.training-layout{display:grid;grid-template-columns:240px 1fr;gap:46px;align-items:start}.side{padding-top:20px}.side h2{font-size:25px;font-weight:550;letter-spacing:-.8px;margin:6px 0 8px}.side>p{font-size:12px;color:var(--muted);margin:0}.side-divider{width:35px;height:2px;background:var(--rust);margin:25px 0}.side .side-label{font-size:12px;color:var(--ink)}.rounds{display:flex;gap:9px;margin:14px 0}.rounds span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #cdd2c3;border-radius:50%;color:#7f8979;font-size:13px}.rounds span.done{background:var(--green);color:white;border-color:var(--green)}.rounds span.current{border-color:var(--green);box-shadow:0 0 0 3px #e3e7da;color:var(--green)}.side .side-note{line-height:1.7;margin-bottom:24px}details{border-top:1px solid var(--line);padding-top:19px;font-size:12px;line-height:1.6}summary{cursor:pointer;color:var(--ink)}details p{color:var(--muted)}.text-button{font-size:11px;color:var(--green);text-align:left;padding:0;text-decoration:underline;text-underline-offset:4px}.side>.text-button{margin-top:24px;line-height:1.6}.exercise{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:25px 32px 21px;box-shadow:0 4px 12px #28332e03}.exercise-top{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.dot-status{display:flex;align-items:center;gap:7px}.dot-status:before{content:"";width:5px;height:5px;background:var(--green);border-radius:50%}.round-track{height:3px;background:#edf0e7;margin-top:15px;border-radius:4px;overflow:hidden}.round-track>div{height:100%;background:#7f967c;transition:width .25s}.character-block{text-align:center;padding:24px 0 22px}.question-label{font-size:12px;color:var(--muted);margin:0 0 6px}.character{font-family:"Noto Sans CJK SC","Microsoft YaHei","PingFang SC","SimSun",sans-serif;font-size:112px;line-height:1.35;font-weight:400}.pronunciation{min-height:23px;font-size:11px;color:#929b8d;line-height:23px}.pronunciation.revealed{font-size:18px;color:var(--green);letter-spacing:.5px}.answers{display:grid;gap:9px}.answer{display:flex;align-items:center;gap:15px;background:#fffefa;width:100%;min-height:60px;border:1px solid #dedfd6;border-radius:9px;padding:12px 16px;text-align:left;font-size:14px;line-height:1.4}.answer:hover:not(:disabled){border-color:var(--green);background:#f4f6ee}.answer-key{width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;border:1px solid #dedfd6;border-radius:6px;color:var(--muted);font-size:11px}.answer-label{flex:1}.answer-mark{font-size:19px;min-width:16px}.answer.correct{border-color:#819d7f;background:var(--good)}.answer.wrong{border-color:#b97862;background:var(--bad)}.answer.dimmed{opacity:.5}.feedback{margin-top:17px;padding:14px 16px;border-radius:9px;background:var(--good);font-size:13px;line-height:1.55}.feedback.bad{background:var(--bad)}.feedback strong{display:block;font-size:15px;margin-bottom:3px}.feedback p{margin:4px 0 0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;border-radius:8px;padding:12px 17px;font-size:13px;font-weight:500;line-height:1.3}.primary{border:1px solid var(--green);background:var(--green);color:#fff}.primary:hover{background:#2e4836}.secondary{border:1px solid #c9cfbf;background:transparent}.secondary:hover{background:#e7eade}.secondary:disabled{opacity:.4}.next{display:flex;width:100%;justify-content:space-between;margin-top:12px}.next span{font-size:20px}.keyboard-note{display:flex;justify-content:space-between;gap:14px;font-size:10px;color:#939b8f;margin-top:19px}kbd{font:10px inherit;border:1px solid #e4e6dc;border-radius:3px;padding:2px 4px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin:48px 0 0;padding:23px 0 28px;font-size:11px;color:var(--muted)}.page-heading{padding:48px 0 28px}.page-heading h1{font-size:42px}.page-heading>p:last-child{font-size:14px;color:var(--muted);line-height:1.6}.dictionary-controls{display:flex;gap:12px}.search{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:0 14px;flex:1}.search>span{font-size:28px;color:var(--muted)}.search input{border:0;outline:0!important;background:none;width:100%;padding:13px 0;font-size:14px;color:var(--ink)}select{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:12px;font-size:13px;color:var(--ink)}.muted{color:var(--muted);font-size:13px;line-height:1.7}.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;background:var(--white)}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;background:#e9ecdf;font-size:11px;font-weight:600;color:var(--muted);padding:15px}td{padding:13px 15px;border-top:1px solid #e6e7de;line-height:1.5}td:first-child{color:var(--muted);font-size:11px;width:55px}td:nth-child(2){font-size:27px;min-width:70px;font-family:"Microsoft YaHei","PingFang SC",sans-serif}td:nth-child(3){min-width:110px;color:var(--green)}tr.locked td{opacity:.55}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:12px;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:3px 0 24px}.stat{padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.stat>span{display:block;font-size:12px;color:var(--muted);margin-bottom:13px}.stat strong{font-size:36px;font-weight:450;letter-spacing:-1px}.stat small{display:block;font-size:11px;color:var(--muted);margin-top:7px}.progress-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.panel{border:1px solid var(--line);border-radius:12px;background:var(--white);padding:25px}.panel h2{font-size:20px;font-weight:550;margin:0 0 16px}.panel p{font-size:13px;line-height:1.7}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.small{font-size:11px!important}.download{margin:10px 0}.reset-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding:24px 0;border-top:1px solid var(--line);font-size:13px}.reset-row p{font-size:12px;color:var(--muted);margin-bottom:0}.danger-button{border:1px solid #d4ad9c;color:var(--rust);background:none;border-radius:8px;padding:11px 16px;font-size:12px}.warning{margin-top:20px;background:#faeae4;padding:14px;border-radius:8px;font-size:13px;line-height:1.6}dialog{border:1px solid var(--line);border-radius:16px;background:var(--white);color:var(--ink);padding:0;max-width:530px;width:calc(100% - 32px);max-height:85vh}dialog::backdrop{background:#1b261e88;backdrop-filter:blur(3px)}.dialog-inner{padding:34px}.close{position:absolute;right:15px;top:10px;font-size:26px;border:0;background:none;color:var(--muted)}dialog h2{font:30px Georgia,serif;margin:0 0 20px}dialog p,dialog li{font-size:14px;line-height:1.7}dialog li+li{margin-top:10px}dialog ol{padding-left:22px}dialog a{color:var(--green)}
@media(min-width:1400px){.intro{padding-top:60px}.exercise{padding:27px 36px}.character-block{padding-top:27px;padding-bottom:26px}}
@media(max-width:850px){.shell{padding:0 25px}.header{gap:15px;height:86px}.brand{font-size:16px}.brand small{display:none}.tab{padding:11px 12px;font-size:12px}.intro{gap:35px}.journey{width:235px}h1{font-size:39px}.training-layout{grid-template-columns:190px 1fr;gap:25px}.exercise{padding:23px}.side h2{font-size:22px}.keyboard-note{font-size:9px}.stats-grid{grid-template-columns:1fr 1fr}.progress-grid{grid-template-columns:1fr}}
@media(max-width:600px){.shell{padding:0 18px}.header{height:auto;min-height:110px;flex-wrap:wrap;gap:0;padding:17px 0 12px}.brand{font-size:17px;gap:10px}.seal{width:32px;height:32px;font-size:23px}.brand small{display:inline}.icon-button{margin-left:auto;order:2;width:27px;height:27px}nav{order:3;margin:12px 0 0;justify-content:space-between;width:100%;gap:0}.tab{padding:9px 13px}.intro{display:block;padding:27px 0 24px}.eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:11px}h1{font-size:34px;line-height:1.04}.intro h1 br{display:none}.intro h1 span{display:block}.intro-copy{font-size:12px;margin:12px 0 0}.intro-copy br{display:none}.journey{width:100%;margin-top:22px}.journey-top{font-size:11px}.journey-top strong{font-size:17px}.track{margin:9px 0 6px}.journey p{margin:0;font-size:10px}.training-layout{display:flex;flex-direction:column;gap:17px}.side{padding:0;width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px}.side>.eyebrow{grid-column:1;margin-bottom:3px}.side h2{grid-column:1;margin:0;font-size:20px}.side>#pool-range,.side-divider,.side-label,.side-note,details,.side>.text-button{display:none}.rounds{grid-column:2;grid-row:1/3;margin:0;gap:7px}.rounds span{width:33px;height:33px;font-size:11px}.exercise{width:100%;padding:18px 17px;border-radius:12px}.exercise-top{font-size:10px}.round-track{margin-top:12px}.character-block{padding:20px 0 19px}.character{font-size:97px;line-height:1.3}.question-label{font-size:11px}.pronunciation{font-size:10px}.answer{min-height:61px;padding:12px;font-size:13px;gap:12px}.answer-key{width:24px;height:24px;flex-basis:24px}.keyboard-note{display:none}.feedback{font-size:12px;padding:12px}.feedback strong{font-size:14px}footer{margin-top:30px;padding:20px 0;flex-direction:column;gap:12px;font-size:10px}.page-heading{padding-top:30px}.page-heading h1{font-size:34px}.page-heading>p:last-child{font-size:12px}.dictionary-controls{flex-direction:column}.search input{font-size:13px}th,td{padding:11px 9px}td:nth-child(3){min-width:80px;font-size:12px}td:last-child{min-width:130px;font-size:12px}.stats-grid{gap:10px}.stat{padding:17px}.stat strong{font-size:30px}.stat>span{font-size:11px}.panel{padding:20px}.reset-row{align-items:flex-start;flex-direction:column}.dialog-inner{padding:29px 24px}.dialog-inner h2{font-size:27px}.button-row{gap:8px}.button-row .primary,.button-row .secondary{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.size-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin:3px 0 12px;color:var(--muted);font-size:10px}.size-controls button{background:transparent;border:1px solid var(--line);border-radius:6px;width:30px;height:28px;font-size:17px;line-height:1}.size-controls button:disabled{opacity:.35}.character{font-size:160px}.character-block{padding-top:16px}.intro{padding-top:30px;padding-bottom:26px}.intro h1{font-size:39px}.intro-copy{margin-top:12px}.journey{margin-top:10px}
.access-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--green)}.access-strip .text-button{font-size:12px}.account-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;align-items:start}.account-panel{padding:30px}.price-panel{padding:32px;background:#e9edde;border-color:#c3ceb7}.price-panel h2{font:30px Georgia,serif;margin:10px 0 20px}.price{font-size:48px;letter-spacing:-2px;font-weight:550}.price span{font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted)}.benefits{list-style:none;padding:0;margin:24px 0;font-size:13px;line-height:1.6}.benefits li{padding:9px 0 9px 25px;position:relative}.benefits li:before{content:'✓';position:absolute;left:0;color:var(--green)}.price-panel>.primary{width:100%;min-height:48px}.primary:disabled{opacity:.55;cursor:default}.reminder-panel{margin-top:24px}.check-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6}.check-label input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--green);margin:2px 0}.reminder-fields{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin-top:20px}.reminder-fields label,.checkout-field{display:grid;gap:8px;font-size:12px;color:var(--muted)}.reminder-fields input,.checkout-field input,.checkout-field select{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:7px;padding:12px;max-width:100%}.checkout-field{margin:16px 0}.checkout-field input{width:100%;font-size:16px}.seller-details{margin:28px 0;font-size:12px;color:var(--muted);line-height:1.7}.seller-details a{margin-right:16px}.login-code{font-size:34px;letter-spacing:8px;font-weight:600;padding:15px 0;color:var(--green)}.account-badge{display:inline-block;padding:8px 12px;background:var(--soft);border-radius:20px;font-size:12px}.status-success{color:var(--green)}.account-panel .button-row{margin-top:15px}#checkout-status,#login-status{font-size:13px;line-height:1.5}#check-payment{margin-top:12px}.conflict-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.reminder-fields label:nth-child(2){flex:1;min-width:200px}
@media(max-width:850px){.header{gap:10px}.tab{padding:11px 10px}.account-grid{grid-template-columns:1fr}.price-panel{padding:26px}}
@media(max-width:600px){.access-strip{align-items:flex-start;flex-direction:column;gap:8px;font-size:11px;padding:13px 0}.access-strip .text-button{font-size:11px}.tab{font-size:11px;padding:9px}.price{font-size:42px}.price-panel h2{font-size:27px}.account-panel{padding:22px}.reminder-fields{align-items:stretch}.reminder-fields label{width:100%}.reminder-fields button{width:100%}.login-code{font-size:30px;letter-spacing:6px}.character{max-width:100%;overflow-wrap:anywhere}}
@media(max-width:600px){.intro{padding-top:22px;padding-bottom:20px}.intro h1{font-size:29px}.character{line-height:1.2}.character-block{padding-top:14px;padding-bottom:15px}.size-controls{margin-bottom:7px}.size-controls button{width:34px;height:30px}}


.rounds{gap:7px}.rounds span:last-child{font-weight:700}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.phrase-character{line-height:1.55;overflow-wrap:anywhere;letter-spacing:.03em}.pronunciation.revealed{line-height:1.6;padding:4px 0}
.grammar-panel{margin:15px 0 0;padding:18px;border:1px solid #d6ddcd;border-radius:10px;background:#f4f6ee;font-size:13px;line-height:1.65}
.grammar-panel p{margin:8px 0 0}.grammar-panel strong{font-size:13px}.grammar-heading{text-transform:uppercase;font-size:10px;letter-spacing:1.3px;color:var(--green);font-weight:700;margin-bottom:9px}
.grammar-parts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.grammar-parts span{font-size:24px;padding:2px 9px;background:white;border:1px solid var(--line);border-radius:7px}.grammar-parts b{font-weight:400;color:var(--muted)}
.grammar-link{display:block;margin-top:8px;background:none;color:var(--green);border:1px solid #cdd7c4;border-radius:6px;font-size:11px;padding:5px 9px}
.study-links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;grid-column:1/-1}.study-links .secondary{font-size:11px;padding:9px 11px}
.phrase-row td:nth-child(2){font-size:25px;min-width:130px;max-width:220px}.phrase-row td:nth-child(3){max-width:190px}
@media(max-width:600px){.rounds{gap:5px}.rounds span{width:29px;height:29px}.study-links{margin-top:13px}.grammar-panel{padding:14px;font-size:12px}.grammar-parts span{font-size:24px}.phrase-row td:nth-child(2){font-size:23px;min-width:110px}.phrase-row td:nth-child(3){min-width:95px}.stats-grid{grid-template-columns:1fr 1fr}.pronunciation.revealed{font-size:16px}}

.exercise{min-width:0}.side>.text-button{display:block}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
@media(max-width:600px){.side>.text-button{grid-column:1/-1;margin-top:10px}.phrase-character{overflow-wrap:anywhere}}

.footer-links{display:flex;flex-wrap:wrap;gap:14px}.header nav a{text-decoration:none}.information-page{padding-top:50px}.about-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;padding:20px 0 55px}.about-hero h1{font-size:56px}.lead{font-size:17px;line-height:1.75;max-width:480px;margin:24px 0}.reading-example{padding:35px;text-align:center;border-radius:18px;background:var(--white);border:1px solid var(--line)}.reading-example>div{font:clamp(56px,7vw,90px)/1.4 "Microsoft YaHei","PingFang SC",sans-serif;margin-top:22px}.example-pinyin{color:var(--green);font-size:21px}.reading-example strong{font-size:23px;font-weight:500}.reading-example p{line-height:1.7}.example-caption{display:block;font-size:12px;color:var(--muted);line-height:1.7;margin-top:22px}.about-section{padding:42px 0;border-top:1px solid var(--line)}.about-section h2,.seller-block h2,.legal-copy h2{font:30px/1.2 Georgia,serif;margin:12px 0 23px}.learning-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-left:20px;margin-top:35px}.learning-steps li::marker{color:var(--rust);font-size:19px}.learning-steps p{font-size:14px;line-height:1.75;color:var(--muted)}.plan-section{display:grid;grid-template-columns:.8fr 1.4fr;gap:45px}.plan-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px}.plan-comparison article{border-left:1px solid var(--line);padding-left:25px}.plan-comparison h3{font-size:17px;font-weight:500}.plan-comparison p{line-height:1.75;font-size:13px}.plan-comparison .price{font-size:32px}.faq{max-width:780px}.faq details{padding:18px 0;font-size:15px}.faq details p{font-size:14px}.seller-block{padding:30px 0;white-space:pre-line;line-height:1.7}.legal-copy{max-width:800px}.legal-copy h1{margin-bottom:30px}.legal-copy h2{font-size:24px;margin-top:32px}.legal-copy p{font-size:15px;line-height:1.8}.information-page .warning{margin-bottom:20px}
@media(max-width:850px){.about-hero{gap:30px}.about-hero h1{font-size:43px}.learning-steps{grid-template-columns:1fr 1fr}.plan-section{grid-template-columns:1fr}.information-page{padding-top:24px}}
@media(max-width:600px){.about-hero{grid-template-columns:1fr;gap:25px;padding-bottom:30px}.about-hero h1{font-size:37px}.lead{font-size:15px}.learning-steps{grid-template-columns:1fr;gap:10px}.plan-comparison{grid-template-columns:1fr}.about-section{padding:28px 0}.footer-links{gap:12px}.information-page .header{flex-wrap:wrap}.legal-copy h1{font-size:34px}.information-page h2{font-size:26px}}

.faq details{display:block}
