:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#14333a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--panel-bg:#ffffffd9;--panel-border:#0f565c1f;--ink-strong:#0d2f35;--ink-soft:#4f6e73;--sea-deep:#0f6f74;--sand-deep:#936130;--rose-deep:#9f5347;--shadow:0 28px 60px #133e451f;background:radial-gradient(circle at 0 0,#94dfd9e6,#0000 30%),linear-gradient(#f8fffd 0%,#eef7f4 46%,#fbf8f2 100%);font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink-strong);margin:0}button,input,textarea,select,table{font:inherit}button{cursor:pointer;border:none}input{width:100%;color:var(--ink-strong);background:#ffffffe0;border:1px solid #10585f24;border-radius:16px;padding:.95rem 1rem}textarea{width:100%;color:var(--ink-strong);resize:vertical;background:#ffffffe0;border:1px solid #10585f24;border-radius:16px;padding:.95rem 1rem}select{width:100%;color:var(--ink-strong);background:#ffffffe0;border:1px solid #10585f24;border-radius:16px;padding:.95rem 1rem}input:focus,textarea:focus,select:focus{border-color:#10707440;outline:2px solid #10707438}.app-shell{min-height:100vh;padding:32px}.dashboard-shell,.hero-panel,.boot-screen{max-width:1240px;margin:0 auto}.hero-panel{grid-template-columns:minmax(0,1.3fr) minmax(340px,430px);align-items:center;gap:28px;min-height:calc(100vh - 64px);display:grid}.hero-copy,.auth-card,.panel,.boot-screen,.progress-panel{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.hero-copy,.boot-screen{border-radius:40px;padding:56px}.hero-copy h1,.boot-screen h1,.topbar h1{letter-spacing:-.06em;margin:0 0 1rem;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.98}.hero-description,.panel-copy,.subtle-text,.status-banner,.error-banner,.tip-list,.progress-meta,.auth-form label,.goal-form label{color:var(--ink-soft)}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:#105f64b3;margin:0 0 14px;font-size:.82rem}.hero-description{max-width:48rem;font-size:1.05rem}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:2rem;display:grid}.hero-metrics article,.stat-card,.chart-bar-card,.stat-breakdown article{border-radius:18px;padding:20px}.hero-metrics article{background:#ffffffb8;border:1px solid #0f565c14}.hero-metrics strong,.stat-card strong,.progress-panel strong,.chart-bar-card strong,.stat-breakdown strong{color:var(--ink-strong);font-size:1.5rem;display:block}.auth-card{border-radius:32px;padding:28px}.auth-head{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px;display:grid}.auth-tab,.nav-pill,.ghost-button,.upload-button{border-radius:999px;transition:transform .18s,background-color .18s,color .18s}.auth-tab,.nav-pill,.ghost-button{padding:.9rem 1.1rem}.icon-nav-pill{justify-content:center;align-items:center;gap:8px;display:inline-flex}.auth-tab,.nav-pill{color:var(--ink-soft);background:#074a4f0f}.auth-tab.active,.nav-pill.active{color:#fff;background:linear-gradient(135deg,#0e7679,#64d7c8);transform:translateY(-1px)}.auth-form,.goal-form{gap:16px;display:grid}.auth-form label,.goal-form label{gap:10px;font-size:.95rem;display:grid}.primary-button,.know-button,.forget-button,.upload-button,.danger-button{border-radius:16px;justify-content:center;align-items:center;padding:.95rem 1.4rem;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg,#0d6f74,#70dccd)}.ghost-button{color:var(--ink-strong);background:#09505514}.danger-button{color:#fffaf7;background:#b8463d}.danger-button:disabled,.ghost-button:disabled{cursor:default;opacity:.58}.ghost-button:hover,.nav-pill:hover,.auth-tab:hover,.upload-button:hover,.primary-button:hover,.know-button:hover,.forget-button:hover,.danger-button:hover:not(:disabled){transform:translateY(-1px)}.hint-text{color:var(--ink-soft);margin:18px 0 0;font-size:.92rem}.status-stack{gap:10px;display:grid}.status-banner,.error-banner{border-radius:16px;padding:14px 16px;font-size:.95rem}.status-banner{background:#8de6db47}.error-banner{color:#9a4235;background:#f1b3a63d}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.topbar h1{font-size:clamp(2.2rem,4vw,3.4rem)}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}.goal-form{grid-template-columns:minmax(130px,170px) auto;align-items:end}.user-menu{position:relative}.user-menu-button{min-width:148px}.user-menu-popover{z-index:10;background:#fffffff5;border:1px solid #0f565c1f;border-radius:18px;gap:6px;min-width:160px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 40px #133e4524}.user-menu-popover button{text-align:left;width:100%;color:var(--ink-strong);background:0 0;border-radius:12px;padding:.78rem .9rem}.user-menu-popover button:hover{background:#09505514}.book-switcher{background:#ffffffb8;border:1px solid #0f565c1a;border-radius:26px;grid-template-columns:minmax(0,1fr) minmax(240px,340px);align-items:end;gap:20px;margin-top:24px;padding:22px 24px;display:grid;box-shadow:0 18px 40px #133e4514}.book-switcher h2{margin:0 0 8px;font-size:1.8rem;line-height:1.1}.book-switcher p{color:var(--ink-soft);margin:0}.book-switcher label{color:var(--ink-soft);gap:10px;display:grid}.stat-grid,.content-grid{gap:20px;display:grid}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:28px 0 20px}.stat-card{border:1px solid #0f565c14}.stat-card span{color:#0d2f35ad;margin-bottom:10px;display:block}.stat-card.sea{background:linear-gradient(135deg,#8be0d761,#ffffffb3)}.stat-card.sand{background:linear-gradient(135deg,#f0d6a56b,#ffffffc7)}.stat-card.rose{background:linear-gradient(135deg,#f1b3a657,#ffffffc7)}.stat-card.ink{background:linear-gradient(135deg,#133e451f,#ffffffd1)}.progress-panel{border-radius:26px;gap:14px;padding:22px 24px;display:grid}.progress-title{color:#0d2f35ad;margin:0}.progress-track{background:#0a565c14;border-radius:999px;height:14px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#0e7679,#7de1d1);height:100%}.progress-meta{flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:.95rem;display:flex}.view-nav{flex-wrap:wrap;gap:12px;margin:24px 0 0;display:flex}.feedback-strip{background:#ffffff9e;border:1px solid #0f565c14;border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:start;gap:14px;margin-top:18px;padding:16px 18px;display:grid}.feedback-strip .eyebrow{margin-bottom:8px}.tips-details{color:var(--ink-soft);background:#0950550f;border-radius:18px;overflow:hidden}.tips-details summary{cursor:pointer;color:var(--ink-strong);padding:14px 16px;font-weight:700;list-style:none}.tips-details summary::-webkit-details-marker{display:none}.tips-details .tip-list{margin:0;padding:0 18px 16px 34px}.content-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,360px);align-items:start;margin-top:22px}.app-content-grid{grid-template-columns:1fr}.main-column,.side-column{gap:20px;display:grid}.panel{border-radius:32px;padding:28px}.compact-panel h2,.panel h2{margin:0;font-size:1.75rem;line-height:1.1}.panel-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.study-panel{gap:20px;display:grid}.study-card{background:linear-gradient(#82e1d99e 0%,#fffffff5 34%),linear-gradient(135deg,#fffc,#f3faf8f2);border:1px solid #0f565c1f;border-radius:30px;flex-direction:column;justify-content:space-between;min-height:470px;padding:28px;display:flex}.study-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.study-card-tools{align-items:center;gap:10px;display:inline-flex}.icon-button{width:42px;height:42px;color:var(--sea-deep);background:#09505514;border-radius:999px;place-items:center;font-size:1.25rem;font-weight:800;line-height:1;transition:transform .18s,background-color .18s;display:inline-grid}.icon-button:hover:not(:disabled){background:#0d6f7429;transform:translateY(-1px)}.icon-button:disabled{cursor:default;opacity:.68}.study-word-area{text-align:center}.study-word{letter-spacing:-.06em;margin:0;font-size:clamp(3rem,8vw,5.2rem);line-height:.95}.phonetic-tag{color:var(--sea-deep);background:#ffffffad;border-radius:999px;margin:1rem auto 0;padding:.5rem .9rem;display:inline-flex}.study-placeholder,.answer-area{text-align:center;gap:10px;display:grid}.study-placeholder p{margin:0;font-size:1.5rem}.study-placeholder span{color:var(--ink-soft)}.meaning-text{margin:0;font-size:2rem;line-height:1.25}.example-text,.note-text{max-width:36rem;color:var(--ink-soft);margin:0 auto}.study-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.sync-strip{background:#ffffffad;border:1px solid #0f565c14;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.sync-strip>div{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sync-strip strong{color:var(--ink-strong)}.sync-dot{background:var(--sea-deep);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 5px #0d6f741a}.sync-strip.pending .sync-dot{background:var(--sand-deep);box-shadow:0 0 0 5px #f0d6a552}.sync-strip.error .sync-dot{background:var(--rose-deep);box-shadow:0 0 0 5px #f1b3a647}.study-actions .primary-button{grid-column:1/-1}.know-button{color:#08373b;background:linear-gradient(135deg,#47c7b8,#8fe3d8)}.forget-button{color:#5f3700;background:linear-gradient(135deg,#f1a66e,#f4c36d)}.complete-panel{place-content:center;min-height:420px}.tip-list{gap:10px;margin:18px 0 0;padding-left:1.2rem;display:grid}.upload-button{color:var(--sea-deep);background:#0d6f741f}.upload-button input{display:none}.import-summary{background:#8be0d72e;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.search-input{max-width:280px}.library-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.table-shell{background:#fffc;border:1px solid #0c565b14;border-radius:20px;overflow-x:auto}.library-toolbar{background:#ffffffad;border:1px solid #0c565b14;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;min-height:72px;margin-bottom:14px;padding:14px 16px;display:flex}.library-toolbar.active{background:#8be0d733;border-color:#0f70742e}.library-toolbar strong,.library-toolbar span{display:block}.library-toolbar strong{color:var(--ink-strong)}.library-toolbar span{color:var(--ink-soft);margin-top:2px;font-size:.92rem}.library-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.compact-action{border-radius:14px;min-height:42px;padding:.72rem 1rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #0c565b14;padding:16px 18px}th{color:#0d2f35ad;text-transform:uppercase;letter-spacing:.08em;font-size:.88rem}.library-table tbody tr{transition:background-color .16s}.library-table tbody tr:hover{background:#09505509}.library-table tbody tr.selected-row{background:#8be0d729}.select-col{text-align:center;width:48px;min-width:48px}.select-col input{width:18px;height:18px;accent-color:var(--sea-deep);cursor:pointer}.status-dot{min-width:72px;color:var(--sea-deep);background:#0d6f741a;border-radius:999px;justify-content:center;align-items:center;padding:.42rem .85rem;font-size:.88rem;display:inline-flex}.settings-grid{grid-template-columns:minmax(0,520px);gap:18px;display:grid}.settings-goal-form{grid-template-columns:minmax(140px,220px) auto;align-items:end;margin-top:18px}.status-dot.learning{color:var(--sand-deep);background:#f0d6a552}.status-dot.archived{color:var(--rose-deep);background:#f1b3a647}.chart-shell{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:14px;margin-top:22px;display:grid}.chart-bar-card{background:#ffffffc2;border:1px solid #0f565c14;flex-direction:column;justify-content:end;gap:12px;min-height:180px;display:flex}.chart-bar{background:linear-gradient(#8de3d8,#0d6f74);border-radius:18px}.stat-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.stat-breakdown article{background:#ffffffb8;border:1px solid #0f565c14}.billing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.billing-summary-grid{grid-template-columns:minmax(0,1fr);gap:14px;margin:18px 0;display:grid}.billing-info-actions{justify-content:flex-end}.benefit-compare{background:#ffffffa8;border:1px solid #0f565c14;border-radius:20px;gap:18px;margin-top:18px;padding:20px;display:grid}.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.compare-card{border:1px solid #0f565c14;border-radius:18px;padding:18px}.compare-card.muted{background:#0950550d}.compare-card.highlighted{background:linear-gradient(135deg,#8be0d75c,#ffffffd6);border-color:#0f70742e}.compare-card span,.compare-card strong{display:block}.compare-card span{color:#0d2f35ad}.compare-card strong{margin-top:8px;font-size:1.3rem}.billing-mode-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.billing-mode-tabs{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.billing-method-body{margin-top:4px}.membership-card,.order-panel,.pay-box{background:#ffffffb8;border:1px solid #0f565c14;border-radius:18px;padding:18px}.membership-card span{color:#0d2f35ad}.membership-card strong{margin-top:8px;font-size:1.45rem;display:block}.membership-card.highlighted{background:linear-gradient(135deg,#8be0d757,#ffffffd1)}.about-grid{grid-template-columns:minmax(280px,680px);gap:18px;display:grid}.about-card{align-content:start;gap:16px;min-height:100%;display:grid}.about-card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.wechat-badge{color:var(--sea-deep);white-space:nowrap;background:#0d6f741a;border-radius:999px;padding:.48rem .78rem;font-weight:700}.about-card p{color:var(--ink-soft);margin:0}.support-contact{background:#0950550f;border:1px solid #0f565c14;border-radius:16px;gap:6px;padding:16px;display:grid}.support-contact span{color:var(--ink-soft);font-size:.92rem}.support-contact strong{letter-spacing:0;margin:0;font-size:1.5rem}.pay-box{gap:16px;display:grid}.pay-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.license-redeem-box{margin-top:18px}.pay-box>.license-redeem-box{margin-top:0}.info-dialog-backdrop{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08292d47;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.info-dialog{background:#fffffff5;border:1px solid #0f565c1f;border-radius:24px;width:min(760px,100%);max-height:min(760px,100vh - 40px);padding:24px;overflow:auto;box-shadow:0 24px 80px #0f2f3538}.info-dialog .panel-head{margin-bottom:16px}.license-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.license-output{gap:12px;display:grid}.license-output textarea{resize:vertical;width:100%;min-height:160px;color:var(--ink);background:#ffffffc7;border:1px solid #0f565c24;border-radius:14px;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.7}.order-panel{gap:14px;margin-top:18px;display:grid}.account-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:16px;display:grid}.account-danger-zone{margin-top:0}.primary-link{color:#fff;background:linear-gradient(135deg,#0d6f74,#70dccd);border-radius:16px;justify-content:center;align-items:center;padding:.95rem 1.4rem;font-weight:700;text-decoration:none;display:inline-flex}.qr-text{overflow-wrap:anywhere;background:#09505514;border-radius:12px;max-width:100%;padding:.7rem;display:block}.pay-qr{background:#fff;border:1px solid #0f565c1f;border-radius:14px;width:100%;max-width:220px;margin:12px auto;padding:8px;display:block}.empty-state{min-height:180px;color:var(--ink-soft);background:#ffffff94;border-radius:24px;place-items:center;display:grid}.reading-panel{gap:18px;display:grid}.reading-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:20px;display:grid}.reading-main,.reading-sidebar{gap:16px;display:grid}.reading-input{min-height:140px}.reading-reader{gap:16px;display:grid}.reading-article,.reading-translation{background:#ffffffbd;border:1px solid #0f565c14;border-radius:20px;min-height:220px;padding:22px}.reading-article p,.reading-translation p{margin:0 0 1rem;line-height:2}.reading-word{color:var(--ink-strong);background:0 0;border-radius:5px;padding:1px 2px;display:inline}.reading-word:hover{color:#062f34;background:#7de1d152}.reading-translation{color:var(--ink-soft);background:#0950550d}.reading-vocab-card{max-height:620px;overflow:hidden}.reading-vocab-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.reading-vocab-list{gap:10px;max-height:470px;display:grid;overflow:auto}.reading-vocab-item{background:#ffffffad;border:1px solid #0f565c14;border-radius:14px;gap:4px;padding:12px;display:grid}.reading-vocab-item span{color:var(--ink-soft);overflow-wrap:anywhere}.boot-screen{align-content:center;min-height:calc(100vh - 64px);display:grid}@media (width<=1120px){.hero-panel,.content-grid,.book-switcher,.feedback-strip,.account-grid,.settings-grid,.about-grid,.reading-layout{grid-template-columns:1fr}.hero-metrics,.stat-grid,.stat-breakdown,.billing-grid,.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.panel-head{flex-direction:column;align-items:stretch}.license-input-row,.goal-form{grid-template-columns:1fr}.billing-mode-head{flex-direction:column}.library-head-actions{justify-content:flex-start}.library-toolbar{flex-direction:column;align-items:stretch}.library-toolbar-actions,.billing-mode-tabs{justify-content:flex-start}.user-menu,.user-menu-button{width:100%}.user-menu-popover{left:0;right:auto}}@media (width<=720px){.app-shell{padding:18px}.hero-copy,.auth-card,.panel,.boot-screen,.progress-panel,.book-switcher{border-radius:24px}.hero-copy,.boot-screen,.panel,.auth-card{padding:20px}.hero-metrics,.stat-grid,.stat-breakdown,.billing-grid,.billing-summary-grid,.compare-grid,.study-actions,.chart-shell{grid-template-columns:1fr}.study-card{min-height:400px;padding:20px}.study-word{font-size:2.8rem}}
