:root{--brand-green: #58CC02;--brand-green-dark: #4CAF00;--brand-green-light: #89E219;--brand-yellow: #FFC800;--brand-yellow-dark: #E0A800;--brand-red: #FF4B4B;--brand-red-dark: #D93B3B;--brand-blue: #1CB0F6;--brand-blue-dark: #0C8CD0;--brand-purple: #CE82FF;--brand-orange: #FF9600;--text-main: #3C3C3C;--text-muted: #777;--text-light: #AFAFAF;--border: #E5E5E5;--bg: #FAFBFC;--bg-gradient: linear-gradient(180deg, #FAFBFC 0%, #F0F4F8 100%);--card-bg: #FFFFFF;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 30px rgba(0,0,0,.08), 0 4px 8px rgba(0,0,0,.04);--shadow-brand: 0 8px 24px rgba(88,204,2,.25);--app-max-w: 1200px;--content-max-w: 960px;--topbar-h: 64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif;color:var(--text-main);background:var(--bg-gradient);background-attachment:fixed;min-height:100vh}#app{width:100%}.top-nav{position:sticky;top:0;z-index:100;background:#ffffffeb;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border);height:var(--topbar-h);display:flex;align-items:center;padding:0 32px}.top-nav-inner{max-width:var(--app-max-w);width:100%;margin:0 auto;display:flex;align-items:center;gap:40px}.top-logo{font-size:22px;font-weight:800;color:var(--brand-green);letter-spacing:1px}.top-logo .dot{color:var(--brand-yellow)}.top-nav-links{display:flex;gap:8px;flex:1}.top-nav-link{padding:10px 18px;border-radius:var(--radius-md);color:var(--text-muted);font-weight:600;font-size:15px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .15s ease}.top-nav-link:hover{background:#f4f6f8;color:var(--text-main)}.top-nav-link.active{background:#e8f8d8;color:var(--brand-green-dark)}.top-nav-right{display:flex;align-items:center;gap:16px}.top-nav-icon{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#f4f6f8;cursor:pointer;transition:all .15s;border:none;font-size:18px}.top-nav-icon:hover{background:#e8ecf1}.top-avatar{width:38px;height:38px;border-radius:50%;background:var(--brand-green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer}.page{max-width:var(--app-max-w);margin:0 auto;padding:28px 32px 60px}.page-narrow{max-width:var(--content-max-w);margin:0 auto;padding:28px 32px 60px}.brand-btn{display:inline-block;background:var(--brand-green);color:#fff;border:none;border-radius:var(--radius-md);padding:14px 28px;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 0 var(--brand-green-dark);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,filter .15s;white-space:nowrap}.brand-btn:hover{filter:brightness(1.05)}.brand-btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--brand-green-dark)}.brand-btn:disabled{background:#ccc;box-shadow:0 4px #aaa;color:#888;cursor:not-allowed}.brand-btn.red{background:var(--brand-red);box-shadow:0 4px 0 var(--brand-red-dark)}.brand-btn.red:active{box-shadow:0 2px 0 var(--brand-red-dark)}.brand-btn.yellow{background:var(--brand-yellow);box-shadow:0 4px 0 var(--brand-yellow-dark);color:#333}.brand-btn.yellow:active{box-shadow:0 2px 0 var(--brand-yellow-dark)}.brand-btn.blue{background:var(--brand-blue);box-shadow:0 4px 0 var(--brand-blue-dark)}.brand-btn.blue:active{box-shadow:0 2px 0 var(--brand-blue-dark)}.brand-btn.ghost{background:#fff;color:var(--text-main);box-shadow:inset 0 0 0 2px var(--border),0 4px 0 var(--border)}.brand-btn.ghost:active{box-shadow:inset 0 0 0 2px var(--border),0 2px 0 var(--border)}.brand-btn.block{width:100%}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);border:1px solid rgba(0,0,0,.03)}.card-flat{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px}.grid{display:grid;gap:20px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-home{display:grid;grid-template-columns:2fr 1fr;gap:28px;align-items:start}.grid-learn{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}.hanzi-big{font-size:120px;font-weight:600;text-align:center;line-height:1;letter-spacing:6px}.pinyin{font-size:28px;color:var(--text-muted);text-align:center;margin-top:10px}.h1{font-size:28px;font-weight:800;margin:0 0 8px}.h2{font-size:20px;font-weight:700;margin:0 0 8px}.muted{color:var(--text-muted)}.row{display:flex;align-items:center;gap:12px}.grow{flex:1}.text-center{text-align:center}@keyframes pulse-soft{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.pulse{animation:pulse-soft 2.2s ease-in-out infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .3s ease both}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.shake{animation:shake .35s ease}@keyframes bounce-in{0%{transform:scale(.9);opacity:0}60%{transform:scale(1.04);opacity:1}to{transform:scale(1)}}.bounce-in{animation:bounce-in .35s ease}.van-tabbar{display:none!important}@media (max-width: 900px){.grid-home,.grid-learn{grid-template-columns:1fr}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.page,.page-narrow{padding:24px 20px 60px}.top-nav{padding:0 20px}.top-nav-inner{gap:20px}.hanzi-big{font-size:90px}}@media (max-width: 640px){:root{--topbar-h: 56px}.top-nav{padding:0 14px}.top-nav-links{display:none}.grid-4,.grid-2{grid-template-columns:repeat(2,1fr)}.page,.page-narrow{padding:16px 14px 90px}.hanzi-big{font-size:72px}.pinyin,.h1{font-size:22px}.van-tabbar{display:flex!important;border-top:1px solid var(--border)!important;box-shadow:0 -2px 12px #0000000a}.van-tabbar-item--active .van-tabbar-item__icon{transform:scale(1.15);transition:transform .2s}.van-tabbar-item__icon{transition:transform .2s}}
