@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;700;900&display=swap");:root{--bg:#f8f6f0;--bg-dark:#1e1e1c;--card:#fff;--card-dark:#2a2a28;--card2:#f3efe7;--card2-dark:#353533;--tx:#2e2d2b;--tx-dark:#f0ede6;--tx2:#726e66;--tx2-dark:#a5a198;--tx3:#aba79e;--tx3-dark:#7e7a72;--grn:#2d6a4f;--grn2:#1b4332;--grnbg:#d8f3dc;--grntx:#2d6a4f;--red:#d90429;--red2:#b3001b;--redbg:#feeaea;--redtx:#d90429;--amb:#d97706;--ambbg:#fef3c7;--ambtx:#b45309;--ink:#2563eb;--inkbg:#dbeafe;--pur:#7c3aed;--purbg:#ede9fe;--badge:#eadfc9;--bdr:#e5e1d8;--bdr2:#c8c2b4;--radius:16px;--radius2:20px;--font:"Outfit","Noto Sans SC",-apple-system,BlinkMacSystemFont,sans-serif;--shadow:0 4px 20px rgba(0,0,0,.04);--shadow-hover:0 10px 30px rgba(0,0,0,.08)}@media(prefers-color-scheme:dark){:root{--bg:var(--bg-dark);--card:var(--card-dark);--card2:var(--card2-dark);--tx:var(--tx-dark);--tx2:var(--tx2-dark);--tx3:var(--tx3-dark);--bdr:#3e3e3c;--bdr2:#555552;--badge:#4a4a48;--grnbg:#1a3e2f;--redbg:#471a1a;--ambbg:#4f3210;--inkbg:#1b2e4e;--purbg:#2d1e4e}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:background-color .2s,border-color .2s}body,html{background-color:var(--bg);color:var(--tx);font-family:var(--font);line-height:1.6;margin:0;padding:0;-webkit-font-smoothing:antialiased}.wrap{min-height:100vh;padding:20px 20px 130px}.nav,.wrap{margin:0 auto;max-width:600px}.nav{background-color:var(--card);border-radius:20px 20px 0 0;border-top:1px solid var(--bdr);bottom:0;box-shadow:0 -4px 30px rgba(0,0,0,.05);display:flex;left:0;padding:10px 0 calc(10px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:100}.nav button{align-items:center;background:none;border:none;color:var(--tx3);cursor:pointer;display:flex;flex:1;flex-direction:column;font-family:var(--font);font-size:12px;font-weight:600;gap:5px;position:relative}.nav button.on{color:var(--grn)}.nav .ic{height:24px;width:24px}.nav .navbadge{background-color:var(--red);border-radius:8px;font-size:10px;height:16px;left:50%;line-height:16px;margin-left:10px;min-width:16px;padding:0 4px;position:absolute;top:-4px}.nav .navbadge,.primary{color:#fff;font-weight:700}.primary{background-color:var(--grn);border:none;border-radius:var(--radius);box-shadow:0 4px 14px rgba(45,106,79,.3);cursor:pointer;display:block;font-family:var(--font);font-size:18px;padding:16px;transition:transform .1s,background-color .2s;width:100%}.primary:active{background-color:var(--grn2);transform:scale(.98)}.primary[disabled]{background-color:var(--bdr2);box-shadow:none;color:#fff;cursor:not-allowed}.outline{background-color:transparent;border:2px solid var(--grn);border-radius:var(--radius);color:var(--grntx);cursor:pointer;display:block;font-family:var(--font);font-size:16px;font-weight:700;padding:14px;transition:transform .1s;width:100%}.outline:active{transform:scale(.98)}.ghost-btn{background-color:var(--badge);border:none;border-radius:18px;color:var(--tx2);cursor:pointer;font-family:var(--font);font-size:13px;font-weight:600;padding:8px 16px}.ghost-btn.on{background-color:var(--grn);color:#fff}.list-card{background-color:var(--card);border:1px solid var(--bdr);border-radius:var(--radius2);box-shadow:var(--shadow);margin-top:10px;padding:10px 20px}.toast{background-color:var(--grn2);border-radius:30px;bottom:100px;box-shadow:0 4px 15px rgba(0,0,0,.2);color:#fff;font-size:14px;font-weight:600;left:50%;max-width:90%;opacity:0;padding:12px 24px;pointer-events:none;position:fixed;text-align:center;transform:translateX(-50%) translateY(20px);transition:opacity .25s,transform .25s;z-index:1000}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.topbar{background-color:var(--card);border-bottom:1px solid var(--bdr);box-shadow:var(--shadow);justify-content:space-between;margin:0 auto;max-width:600px;padding:12px 20px;position:sticky;top:0;z-index:1000}.topbar,.topbar-left{align-items:center;display:flex}.topbar-left{gap:12px}.topbar .brand{color:var(--grntx);font-size:18px;font-weight:800;letter-spacing:.5px}.topbar .home-btn{align-items:center;background-color:var(--grnbg);border:1px solid rgba(45,106,79,.2);border-radius:20px;color:var(--grn);display:inline-flex;font-size:13px;font-weight:700;gap:4px;padding:6px 12px;text-decoration:none;transition:all .2s ease}.topbar .home-btn:hover{background-color:var(--grn);color:#fff!important;transform:translateY(-1px)}.topbar .home-btn:active{transform:translateY(0)}.topbar .user-info,.topbar-right{align-items:center;display:flex;gap:12px}.topbar .user-info{color:var(--tx2);font-size:13px;font-weight:600}.topbar .user-nickname{background-color:var(--card2);border:1px solid var(--bdr);border-radius:12px;padding:4px 10px}.topbar .login-link{color:var(--grn);font-weight:700;text-decoration:none;transition:color .2s ease}.topbar .login-link:hover{color:var(--grn2)}.topbar .logout-btn{background-color:var(--redbg);border-radius:12px;color:var(--redtx);padding:4px 10px;transition:all .2s ease}.topbar .logout-btn:hover{background-color:var(--red);color:#fff!important}.topbar #bookBadge{background-color:var(--badge);border:none;border-radius:12px;color:var(--tx);cursor:pointer;font-size:13px;font-weight:700;padding:6px 12px;transition:all .2s ease}.topbar #bookBadge:hover{filter:brightness(.95);transform:translateY(-1px)}.subtop{gap:12px;margin-bottom:15px}.back,.subtop{align-items:center;display:flex}.back{background-color:var(--card2);border:none;border-radius:12px;color:var(--tx2);cursor:pointer;font-size:18px;height:38px;justify-content:center;width:38px}.back:active{transform:scale(.95)}.session-progress{color:var(--tx2);font-size:14px;font-weight:700}:where(body[data-page=index]) .welcome-card{background:linear-gradient(135deg,#2d6a4f,#1b4332);border-radius:var(--radius2);box-shadow:0 10px 25px rgba(45,106,79,.2);color:#fff;margin-bottom:24px;overflow:hidden;padding:30px 24px;position:relative}:where(body[data-page=index]) .welcome-card:after{bottom:-40px;color:hsla(0,0%,100%,.05);content:"字";font-family:var(--font);font-size:180px;font-weight:900;pointer-events:none;position:absolute;right:-20px}:where(body[data-page=index]) .welcome-card h2{font-size:24px;font-weight:800;margin:0 0 8px}:where(body[data-page=index]) .welcome-card p{font-size:14px;line-height:1.5;margin:0;opacity:.85}:where(body[data-page=index]) .menu-grid{display:grid;gap:16px;grid-template-columns:1fr}:where(body[data-page=index]) .menu-card{align-items:center;background-color:var(--card);border:1px solid var(--bdr);border-radius:var(--radius2);box-shadow:var(--shadow);color:inherit;cursor:pointer;display:flex;gap:20px;padding:20px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}:where(body[data-page=index]) .menu-card:hover{border-color:var(--grn);box-shadow:var(--shadow-hover);transform:translateY(-4px)}:where(body[data-page=index]) .menu-card:active{transform:translateY(-2px)}:where(body[data-page=index]) .icon-box{align-items:center;border-radius:16px;display:flex;flex-shrink:0;font-size:30px;height:60px;justify-content:center;width:60px}:where(body[data-page=index]) .c-learn .icon-box{background-color:#e8f5e9;color:#2e7d32}:where(body[data-page=index]) .c-lookup .icon-box{background-color:#e3f2fd;color:#1565c0}:where(body[data-page=index]) .c-mixed .icon-box{background-color:#f3e5f5;color:#6a1b9a}:where(body[data-page=index]) .c-game .icon-box{background-color:#fff8e1;color:#ff8f00}:where(body[data-page=index]) .c-about .icon-box{background-color:#e0f7fa;color:#00838f}:where(body[data-page=index]) .c-origin .icon-box{background-color:#fff1e6;color:#c05621}:where(body[data-page=index]) .menu-content{flex:1}:where(body[data-page=index]) .menu-title{font-size:18px;font-weight:800;margin:0 0 4px}:where(body[data-page=index]) .menu-desc{color:var(--tx2);font-size:13px;margin:0}:where(body[data-page=index]) .arrow{color:var(--tx3);font-size:20px;font-weight:800}:where(body[data-page=index]) .stats-card{background-color:var(--card);border:1px solid var(--bdr);border-radius:var(--radius2);box-shadow:var(--shadow);margin-top:24px;padding:20px}:where(body[data-page=index]) .stats-card h3{color:var(--tx2);font-size:16px;font-weight:800;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}:where(body[data-page=index]) .stats-grid{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);text-align:center}:where(body[data-page=index]) .stat-item{background-color:var(--card2);border-radius:var(--radius);padding:12px 6px}:where(body[data-page=index]) .stat-val{color:var(--grntx);font-size:24px;font-weight:800;line-height:1.2}:where(body[data-page=index]) .stat-lbl{color:var(--tx2);font-size:11px;font-weight:600;margin-top:4px}:where(body[data-page=about]) .about-wrap{margin:20px auto 50px;max-width:600px;padding:0 20px}:where(body[data-page=about]) .section-card{background-color:var(--card);border:1px solid var(--bdr);border-radius:var(--radius2);box-shadow:var(--shadow);margin-bottom:20px;padding:24px 20px}:where(body[data-page=about]) .section-card h2{align-items:center;border-bottom:2px solid var(--grnbg);color:var(--grntx);display:flex;font-size:20px;font-weight:800;gap:8px;margin:0 0 16px;padding-bottom:8px}:where(body[data-page=about]) .section-card h3{color:var(--tx);font-size:16px;font-weight:700;margin:16px 0 8px}:where(body[data-page=about]) .section-card p{color:var(--tx2);font-size:14px;line-height:1.6;margin:0 0 12px}:where(body[data-page=about]) .section-card ul{margin:0 0 16px;padding-left:20px}:where(body[data-page=about]) .section-card li{color:var(--tx2);font-size:14px;line-height:1.6;margin-bottom:8px}:where(body[data-page=about]) .highlight{color:var(--grntx);font-weight:700}:where(body[data-page=about]) .badge-icon{font-size:22px}:where(body[data-page=about]) .back-action{margin-top:30px;text-align:center}:where(body[data-page=admin]) .admin-container{margin:40px auto;max-width:900px;padding:0 20px}:where(body[data-page=admin]) .panel-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius2);box-shadow:0 4px 6px -1px rgba(0,0,0,.05);margin-bottom:24px;padding:24px}:where(body[data-page=admin]) .panel-title{align-items:center;border-bottom:1px solid var(--border);color:var(--tx1);display:flex;font-size:18px;font-weight:700;gap:8px;margin:0 0 16px;padding-bottom:12px}:where(body[data-page=admin]) .search-row{display:flex;gap:12px}:where(body[data-page=admin]) .search-row input{background:var(--bg-body);border:1.5px solid var(--border);border-radius:var(--radius1);color:var(--tx1);flex:1;font-size:15px;outline:none;padding:12px 16px;transition:border-color .2s}:where(body[data-page=admin]) .search-row input:focus{border-color:var(--grn)}:where(body[data-page=admin]) .search-row button{font-weight:600;padding:0 24px}:where(body[data-page=admin]) .info-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr}:where(body[data-page=admin]) .info-item{background:var(--bg-body);border:1px solid var(--border);border-radius:var(--radius1);padding:12px 16px}:where(body[data-page=admin]) .info-label{color:var(--tx3);font-size:12px;margin-bottom:4px}:where(body[data-page=admin]) .info-value{color:var(--tx1);font-size:15px;font-weight:600}:where(body[data-page=admin]) .info-value.vip-active{color:var(--grn)}:where(body[data-page=admin]) .action-group{display:flex;flex-direction:column;gap:16px}:where(body[data-page=admin]) .action-row{align-items:center;background:var(--bg-body);border:1px solid var(--border);border-radius:var(--radius1);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px}:where(body[data-page=admin]) .action-label{flex:1;min-width:200px}:where(body[data-page=admin]) .action-label h4{color:var(--tx1);font-size:15px;margin:0 0 4px}:where(body[data-page=admin]) .action-label p{color:var(--tx3);font-size:12px;margin:0}:where(body[data-page=admin]) .action-ctrl{align-items:center;display:flex;gap:12px}:where(body[data-page=admin]) .action-ctrl input,:where(body[data-page=admin]) .action-ctrl select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius1);color:var(--tx1);font-size:14px;padding:10px 12px}:where(body[data-page=admin]) .action-ctrl button{font-size:14px;font-weight:600;padding:10px 18px;white-space:nowrap}:where(body[data-page=admin]) .empty-state{color:var(--tx3);font-size:15px;padding:40px 0;text-align:center}:where(body[data-page=admin]) .alert-banner{background:rgba(217,119,6,.08);border:1px solid rgba(217,119,6,.2);border-radius:var(--radius1);color:#d97706;font-size:14px;font-weight:500;margin-bottom:24px;padding:12px 16px}body:where([data-page=game]){background:linear-gradient(160deg,#cdeeff,#fff6e0 70%);color:#4a3b33}:where(body[data-page=game]) .wrap{margin:0 auto;max-width:560px;min-height:100vh;padding:18px 16px 28px}:where(body[data-page=game]) .screen{animation:fade .35s ease}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}:where(body[data-page=game]) .bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}:where(body[data-page=game]) .stars{background:#fff;border-radius:999px;box-shadow:0 3px 0 #efe3d4;color:#ff8a5c;font-size:18px;font-weight:800;padding:7px 18px}:where(body[data-page=game]) .ghost{background:transparent;border:none;color:#7a6a60;cursor:pointer;font-family:var(--font);font-size:15px;font-weight:700}:where(body[data-page=game]) .ghost:active{transform:scale(.96)}:where(body[data-page=game]) .hello{align-items:center;display:flex;gap:12px;margin:6px 2px 18px}:where(body[data-page=game]) .mascot{animation:bob 2.6s ease-in-out infinite;font-size:54px;line-height:1}@keyframes bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(3deg)}}:where(body[data-page=game]) .hello h1{color:#2d6a4f;font-size:24px;font-weight:900;letter-spacing:.5px;margin:0 0 3px}:where(body[data-page=game]) .hello p{color:#7a6a60;font-size:14px;margin:0}:where(body[data-page=game]) .card{align-items:center;background:#fff;border:none;border-radius:22px;box-shadow:0 5px 0 #efe3d4;color:#4a3b33;cursor:pointer;display:flex;font-family:var(--font);gap:16px;margin-bottom:14px;padding:18px;text-align:left;transition:transform .1s;width:100%}:where(body[data-page=game]) .card:active{box-shadow:0 2px 0 #efe3d4;transform:translateY(3px)}:where(body[data-page=game]) .card .ico{border-radius:18px;display:grid;flex:0 0 64px;font-size:40px;height:64px;place-items:center;width:64px}:where(body[data-page=game]) .c1 .ico{background:#fff0d6}:where(body[data-page=game]) .c2 .ico{background:#e7f7e8}:where(body[data-page=game]) .c3 .ico{background:#f1e9ff}:where(body[data-page=game]) .c4 .ico{background:#ffe3e3}:where(body[data-page=game]) .card .t{font-size:20px;font-weight:900;margin:0 0 2px}:where(body[data-page=game]) .card .s{color:#7a6a60;font-size:13px;margin:0}:where(body[data-page=game]) .card.lock{box-shadow:0 5px 0 #efe3d4;cursor:default;opacity:.55}:where(body[data-page=game]) .card.lock:active{transform:none}:where(body[data-page=game]) .badge{align-self:flex-start;background:#ff6b6b;border-radius:999px;color:#fff;font-size:13px;font-weight:800;margin-left:auto;padding:2px 9px}:where(body[data-page=game]) .dots{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:6px 0 20px}:where(body[data-page=game]) .dot{background:#e7dccd;border-radius:50%;height:11px;width:11px}:where(body[data-page=game]) .dot.on{background:#ffc93c}:where(body[data-page=game]) .dot.done{background:#5fc36a}:where(body[data-page=game]) .stage{align-items:center;background:#fff;border-radius:26px;box-shadow:0 6px 0 #efe3d4;display:flex;flex-direction:column;gap:10px;justify-content:center;margin-bottom:18px;min-height:188px;padding:26px 18px;text-align:center}:where(body[data-page=game]) .tagline{color:#ff8a5c;font-size:13px;font-weight:800;margin-bottom:2px}:where(body[data-page=game]) .prompt{color:#7a6a60;font-size:15px;font-weight:700}:where(body[data-page=game]) .bigemoji{font-size:74px;line-height:1}:where(body[data-page=game]) .bigword{font-size:30px;font-weight:900}:where(body[data-page=game]) .bigword .gap{color:#ff8a5c}:where(body[data-page=game]) .py{color:#9b6bd6;font-size:17px;font-weight:800;letter-spacing:1px}:where(body[data-page=game]) .sentence{font-size:22px;font-weight:800;line-height:1.7}:where(body[data-page=game]) .blank{border-bottom:4px dashed #ffc93c;color:#ff8a5c;display:inline-block;margin:0 4px;min-width:42px}:where(body[data-page=game]) .scope-chip{align-items:center;background:rgba(255,201,60,.18);border-radius:20px;color:#b77b10;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:4px;padding:6px 14px}:where(body[data-page=game]) .scope-chip:active{transform:scale(.97)}:where(body[data-page=game]) .pchip.on{background:#ffc93c!important;border-color:#ffc93c!important;color:#fff!important}:where(body[data-page=game]) .opts{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}:where(body[data-page=game]) .opt{background:#fff;border:3px solid #f0e6da;border-radius:20px;box-shadow:0 4px 0 #efe3d4;color:#4a3b33;cursor:pointer;font-family:var(--font);font-size:40px;font-weight:900;padding:18px 6px;transition:transform .08s}:where(body[data-page=game]) .opt .sub{color:#9b6bd6;display:block;font-size:15px;font-weight:800;margin-top:4px}:where(body[data-page=game]) .opt:active{box-shadow:0 1px 0 #efe3d4;transform:translateY(3px)}:where(body[data-page=game]) .opt.right{animation:pop .4s;background:#ebfbf0;border-color:#3fb36b}:where(body[data-page=game]) .opt.wrong{animation:shake .4s;background:#fee;border-color:#ff6b6b}:where(body[data-page=game]) .opt.dim{opacity:.45}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}:where(body[data-page=game]) .result{padding-top:24px;text-align:center}:where(body[data-page=game]) .result .big{animation:bob 2s ease-in-out infinite;font-size:80px}:where(body[data-page=game]) .result h2{font-size:26px;font-weight:900;margin:8px 0}:where(body[data-page=game]) .result .score{color:#ff8a5c;font-size:20px;font-weight:800;margin-bottom:22px}:where(body[data-page=game]) .btn{border:none;border-radius:20px;box-shadow:0 4px 0 rgba(0,0,0,.12);color:#fff;cursor:pointer;display:block;font-family:var(--font);font-size:19px;font-weight:900;margin-bottom:12px;padding:17px;width:100%}:where(body[data-page=game]) .btn:active{box-shadow:0 1px 0 rgba(0,0,0,.12);transform:translateY(3px)}:where(body[data-page=game]) .btn.green{background:#5fc36a}:where(body[data-page=game]) .btn.coral{background:#ff8a5c}:where(body[data-page=game]) .btn.plain{background:#fff;box-shadow:0 4px 0 #efe3d4;color:#7a6a60}:where(body[data-page=game]) .panel{background:#fff;border-radius:22px;box-shadow:0 5px 0 #efe3d4;margin-bottom:16px;padding:20px}:where(body[data-page=game]) .panel h2{font-size:20px;margin:0 0 4px}:where(body[data-page=game]) .panel .hint{color:#7a6a60;font-size:13px;margin:0 0 16px}:where(body[data-page=game]) .mrow{align-items:center;border-bottom:1px solid #f0e6da;display:flex;justify-content:space-between;padding:11px 4px}:where(body[data-page=game]) .mrow:last-child{border-bottom:none}:where(body[data-page=game]) .mrow .zi{font-size:24px;font-weight:900}:where(body[data-page=game]) .meter{background:#f0e6da;border-radius:999px;flex:1;height:10px;margin:0 14px;overflow:hidden}:where(body[data-page=game]) .meter i{background:#5fc36a;border-radius:999px;display:block;height:100%}:where(body[data-page=game]) .mrow .pct{color:#7a6a60;font-size:13px;font-weight:800;text-align:right;width:54px}:where(body[data-page=game]) .libtabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}:where(body[data-page=game]) .libtab{background:#fff;border:none;border-radius:999px;box-shadow:0 3px 0 #efe3d4;color:#7a6a60;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:800;padding:8px 14px}:where(body[data-page=game]) .libtab.on{background:#9b6bd6;box-shadow:0 3px 0 #7d50b8;color:#fff}:where(body[data-page=game]) .libitem{align-items:center;border-bottom:1px solid #f0e6da;display:flex;gap:8px;padding:10px 2px;text-align:left}:where(body[data-page=game]) .libitem:last-child{border-bottom:none}:where(body[data-page=game]) .libitem .txt{flex:1;font-size:15px;font-weight:700;line-height:1.45;word-break:break-all}:where(body[data-page=game]) .iconbtn{background:#f4ece0;border:none;border-radius:10px;cursor:pointer;font-family:var(--font);font-size:15px;padding:7px 10px}:where(body[data-page=game]) .iconbtn.del{background:#fee}:where(body[data-page=game]) .iconbtn:active{transform:scale(.92)}:where(body[data-page=game]) .field{margin-bottom:14px;text-align:left}:where(body[data-page=game]) .field label{color:#7a6a60;display:block;font-size:13px;font-weight:800;margin-bottom:5px}:where(body[data-page=game]) .field input,:where(body[data-page=game]) .field textarea{background:#fff;border:2px solid #f0e6da;border-radius:14px;color:#4a3b33;font-family:var(--font);font-size:16px;outline:none;padding:11px 12px;width:100%}:where(body[data-page=game]) .field textarea{min-height:58px;resize:vertical}:where(body[data-page=game]) .confetti{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:50}:where(body[data-page=game]) .conf{animation:fall 1.1s ease-in forwards;font-size:24px;position:absolute}@keyframes fall{0%{opacity:1;transform:translateY(-30px) rotate(0)}to{opacity:0;transform:translateY(110vh) rotate(1turn)}}:where(body[data-page=game]) .empty{color:#7a6a60;padding:24px 0;text-align:center}:where(body[data-page=game]) .ftext{align-items:center;display:flex;flex-wrap:wrap;font-size:30px;font-weight:900;gap:2px;justify-content:center;line-height:1.9}:where(body[data-page=game]) .zt{border-radius:13px;cursor:pointer;display:inline-block;padding:4px 7px;transition:transform .08s,background .2s}:where(body[data-page=game]) .zt:active{transform:scale(.88)}:where(body[data-page=game]) .zt.bad{background:#fee;color:#ff6b6b;text-decoration:line-through}:where(body[data-page=game]) .zt.miss{animation:shake .4s;background:#fff3e0}:where(body[data-page=game]) .punc{font-size:30px;font-weight:900}:where(body[data-page=game]) .fix{color:#7a6a60;font-size:15px;font-weight:700;line-height:1.5;margin-top:4px;max-width:90%}:where(body[data-page=game]) .fix b{color:#3fb36b;font-size:22px}:where(body[data-page=game]) .back-home{align-items:center;color:#7a6a60;display:inline-flex;font-size:14px;font-weight:700;gap:8px;margin-bottom:10px;text-decoration:none}:where(body[data-page=learn]) .hero{background:linear-gradient(180deg,#e7efe7,#edeae1);border-radius:var(--radius2);margin-bottom:6px;overflow:hidden;padding:22px 22px 24px;position:relative}:where(body[data-page=learn]) .hero .ghost{bottom:-50px;color:rgba(60,110,84,.06);font-size:230px;font-weight:800;line-height:1;pointer-events:none;position:absolute;right:-10px;user-select:none}:where(body[data-page=learn]) .eyebrow{color:var(--grntx);font-size:14px;font-weight:700;margin:0 0 8px}:where(body[data-page=learn]) .h1{font-size:30px;font-weight:800;letter-spacing:-.5px;line-height:1.2;margin:0 0 10px}:where(body[data-page=learn]) .lead{color:var(--tx2);font-size:14px;margin:0;position:relative}:where(body[data-page=learn]) .stat-row{display:flex;gap:14px;margin-top:18px}:where(body[data-page=learn]) .stat{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius);flex:1;padding:16px 18px}:where(body[data-page=learn]) .stat .k{color:var(--tx2);font-size:14px;margin:0 0 6px}:where(body[data-page=learn]) .stat .v{font-size:34px;font-weight:800;line-height:1;margin:0}:where(body[data-page=learn]) .stat .sub{color:var(--tx3);font-size:13px;margin:8px 0 0}:where(body[data-page=learn]) .stat.clickable{cursor:pointer;transition:transform .12s}:where(body[data-page=learn]) .stat.clickable:active{transform:scale(.98)}:where(body[data-page=learn]) .note{background:#e9efe9;border-radius:var(--radius);color:var(--tx2);font-size:13.5px;margin-top:16px;padding:14px 16px}:where(body[data-page=learn]) .note b{color:var(--tx)}:where(body[data-page=learn]) .sec-head{align-items:center;background-color:var(--bg);border-bottom:1px solid var(--bdr);display:flex;justify-content:space-between;margin:0;padding:12px 0;position:sticky;top:58px;z-index:99}:where(body[data-page=learn]) .sec-eyebrow{color:var(--grntx);font-size:14px;font-weight:700}:where(body[data-page=learn]) .sec-title{font-size:28px;font-weight:800;margin:2px 0 4px}:where(body[data-page=learn]) .sec-desc{color:var(--tx2);font-size:14px;margin:10px 0 14px}:where(body[data-page=learn]) .study-display-controls{align-items:center;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end}:where(body[data-page=learn]) .radical-switch{align-items:center;color:var(--tx2);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:7px;user-select:none;white-space:nowrap}:where(body[data-page=learn]) .radical-switch input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}:where(body[data-page=learn]) .switch-track{background:var(--bdr2);border-radius:999px;box-sizing:border-box;height:20px;padding:2px;transition:background-color .18s;width:36px}:where(body[data-page=learn]) .switch-knob{background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.22);display:block;height:16px;transition:transform .18s;width:16px}:where(body[data-page=learn]) .radical-switch input:checked+.switch-track{background:#1d4e8f}:where(body[data-page=learn]) .radical-switch input:checked+.switch-track .switch-knob{transform:translateX(16px)}:where(body[data-page=learn]) .radical-switch input:focus-visible+.switch-track{outline:2px solid var(--grn);outline-offset:2px}:where(body[data-page=learn]) .item{border-bottom:1px solid var(--bdr);padding:18px 0}:where(body[data-page=learn]) .item:last-child{border-bottom:none}:where(body[data-page=learn]) .item-row{align-items:flex-start;display:flex;gap:14px}:where(body[data-page=learn]) .item .reasons{margin-left:40px}:where(body[data-page=learn]) .idx{align-items:center;background:var(--card2);border-radius:50%;color:var(--tx3);display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:26px;justify-content:center;margin-top:4px;width:26px}:where(body[data-page=learn]) .item.done .idx{background:var(--grnbg);color:var(--grntx)}:where(body[data-page=learn]) .item-main{flex:1;min-width:0}:where(body[data-page=learn]) .han{font-size:30px;font-weight:800;line-height:1.1}:where(body[data-page=learn]) .hanzi-colored{align-items:center;display:none;min-height:42px;vertical-align:middle}:where(body[data-page=learn]) .hanzi-writer-char{display:inline-block;flex:0 0 42px;height:42px;width:42px}:where(body[data-page=learn]) .hanzi-writer-char svg{filter:url(#hanzi-stroke-bold)}:where(body[data-page=learn]) .hanzi-colored-plain{line-height:42px}:where(body[data-page=learn]) .show-radical-colors .han.has-colored .han-plain{display:none}:where(body[data-page=learn]) .show-radical-colors .han.has-colored .hanzi-colored{display:inline-flex}:where(body[data-page=learn]) .meta{color:var(--tx2);font-size:13px;margin-top:2px}:where(body[data-page=learn]) .aux{color:var(--grntx);display:none;font-size:16px;margin-top:4px}:where(body[data-page=learn]) .show-aux .aux{display:block}:where(body[data-page=learn]) .aux .duoyin{background:var(--ambbg);border-radius:8px;color:#9a6611;display:inline-block;font-size:11px;font-weight:700;margin-left:6px;padding:1px 7px;vertical-align:middle}:where(body[data-page=learn]) .aux .ci{color:var(--tx2)}:where(body[data-page=learn]) .judge{display:flex;flex-shrink:0;gap:8px;margin-top:2px}:where(body[data-page=learn]) .jbtn{background:var(--card2);border:none;border-radius:12px;color:var(--tx2);cursor:pointer;font-family:var(--font);font-size:14px;font-weight:600;padding:9px 16px;transition:background-color .1s}:where(body[data-page=learn]) .jbtn.ok.on{background:var(--grnbg);color:var(--grntx)}:where(body[data-page=learn]) .jbtn.no.on{background:var(--redbg);color:var(--redtx)}:where(body[data-page=learn]) .reasons{align-items:center;background:#fbf4f0;border:1px solid #e6d6ce;border-radius:10px;display:flex;flex-wrap:wrap;gap:7px 8px;margin-top:8px;padding:9px 12px}:where(body[data-page=learn]) .reasons .rlabel{color:var(--tx2);flex-shrink:0;font-size:13px;font-weight:600}:where(body[data-page=learn]) .rtags{display:flex;flex-wrap:wrap;gap:6px}:where(body[data-page=learn]) .rtag{align-items:center;background:#f1e6e0;border:none;border-radius:8px;color:var(--tx2);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:13px;gap:6px;padding:5px 9px}:where(body[data-page=learn]) .rtag.on{background:var(--redbg);color:var(--redtx);font-weight:700}:where(body[data-page=learn]) .rtag .x{color:var(--tx3);font-size:13px}:where(body[data-page=learn]) .rrow{display:flex;flex:1 1 240px;gap:6px;margin-left:auto;max-width:340px}:where(body[data-page=learn]) .rrow input{background:var(--card);border:1px solid var(--bdr);border-radius:8px;color:var(--tx);flex:1 1 120px;font-family:var(--font);font-size:13px;min-width:0;outline:none;padding:7px 10px}:where(body[data-page=learn]) .rrow input:focus{border-color:var(--grn)}:where(body[data-page=learn]) .addbtn{background:#f1e6e0;border:none;border-radius:8px;color:var(--tx2);cursor:pointer;flex:0 0 auto;font-family:var(--font);font-size:13px;font-weight:600;padding:7px 11px;white-space:nowrap}:where(body[data-page=learn]) .lessons{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;-webkit-overflow-scrolling:touch}:where(body[data-page=learn]) .lessons::-webkit-scrollbar{display:none}:where(body[data-page=learn]) .lchip{background:var(--card);border:1.5px solid var(--bdr2);border-radius:12px;color:var(--tx2);cursor:pointer;flex-shrink:0;font-family:var(--font);font-size:14px;font-weight:600;padding:9px 16px;white-space:nowrap}:where(body[data-page=learn]) .lchip.on{background:var(--grn);border-color:var(--grn);color:#fff}:where(body[data-page=learn]) .lchip.done{background:var(--grnbg);border-color:var(--grnbg);color:var(--grntx)}:where(body[data-page=learn]) .lchip.on.done{background:var(--grn);border-color:var(--grn);color:#fff}:where(body[data-page=learn]) .pick-group{margin-top:18px}:where(body[data-page=learn]) .scope-hidden{display:none}:where(body[data-page=learn]) .pick-grid.library-source-grid{background:var(--card2);border-radius:14px;display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}:where(body[data-page=learn]) .library-source-grid .pchip{background:transparent;border-color:transparent;width:100%}:where(body[data-page=learn]) .library-source-grid .pchip.on{background:var(--grn);border-color:var(--grn);box-shadow:0 2px 8px rgba(45,106,79,.2);color:#fff}:where(body[data-page=learn]) .pick-label{color:var(--tx2);font-size:14px;font-weight:700;margin-bottom:10px}:where(body[data-page=learn]) .pick-grid{display:flex;flex-wrap:wrap;gap:10px}:where(body[data-page=learn]) .pchip{background:var(--card);border:1.5px solid var(--bdr2);border-radius:12px;color:var(--tx);cursor:pointer;font-family:var(--font);font-size:15px;font-weight:600;padding:11px 20px}:where(body[data-page=learn]) .pchip.on{background:var(--grn);border-color:var(--grn);color:#fff}:where(body[data-page=learn]) .book-row{align-items:center;background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius);cursor:pointer;display:flex;justify-content:space-between;margin-top:10px;padding:16px 18px}:where(body[data-page=learn]) .book-row.cur{background:var(--grnbg);border-color:var(--grn)}:where(body[data-page=learn]) .book-row .bk-name{font-size:17px;font-weight:700}:where(body[data-page=learn]) .book-row .bk-sub{color:var(--tx2);font-size:13px;margin-top:3px}:where(body[data-page=learn]) .book-row .bk-prog{color:var(--grntx);font-size:13px;font-weight:700}:where(body[data-page=learn]) .parent-lookup-link{box-sizing:border-box;display:block;margin-top:12px;text-align:center;text-decoration:none}:where(body[data-page=learn]) .parent-word-empty{border:1px dashed var(--bdr2);border-radius:var(--radius);color:var(--tx3);font-size:14px;padding:18px;text-align:center}:where(body[data-page=learn]) .parent-word-manager{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius);overflow:hidden}:where(body[data-page=learn]) .parent-word-manage-row{align-items:center;border-bottom:1px solid var(--bdr);display:flex;gap:14px;justify-content:space-between;padding:13px 16px}:where(body[data-page=learn]) .parent-word-manage-row:last-child{border-bottom:0}:where(body[data-page=learn]) .parent-word-manage-name{font-size:18px;font-weight:800}:where(body[data-page=learn]) .parent-word-manage-meta{color:var(--tx3);font-size:12px;margin-top:3px}:where(body[data-page=learn]) .parent-word-remove{background:var(--redbg);color:var(--redtx);flex-shrink:0}:where(body[data-page=learn]) .wrong-card{align-items:center;background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius2);display:flex;justify-content:space-between;margin-top:12px;padding:20px 22px}:where(body[data-page=learn]) .wrong-card .wleft{align-items:center;display:flex;gap:16px}:where(body[data-page=learn]) .wrong-card .whan{font-size:20px;font-weight:800}:where(body[data-page=learn]) .wrong-card .wmeta{color:var(--tx2);font-size:13px;margin-top:3px}:where(body[data-page=learn]) .wrong-card .wtags{color:var(--redtx);font-size:12px;margin-top:5px}:where(body[data-page=learn]) .wcount{background:var(--redbg);border-radius:12px;color:var(--redtx);font-size:13px;font-weight:700;padding:7px 14px;white-space:nowrap}:where(body[data-page=learn]) .empty{color:var(--tx3);font-size:15px;padding:60px 20px;text-align:center}:where(body[data-page=learn]) .empty .big{font-size:46px;margin-bottom:12px}@media (max-width:400px){:where(body[data-page=learn]) .wrap{padding:16px 14px 130px}:where(body[data-page=learn]) .sec-head{gap:10px}:where(body[data-page=learn]) .study-display-controls{gap:6px}:where(body[data-page=learn]) .radical-switch{gap:5px}:where(body[data-page=learn]) .ghost-btn{padding-left:12px;padding-right:12px}:where(body[data-page=learn]) .list-card{padding:4px 14px}:where(body[data-page=learn]) .item .reasons{margin-left:0}:where(body[data-page=learn]) .reasons{padding:8px 10px}:where(body[data-page=learn]) .rrow{margin-left:0;max-width:none}:where(body[data-page=learn]) .judge{gap:6px}:where(body[data-page=learn]) .jbtn{padding:9px 13px}}:where(body[data-page=login]) .login-wrap{margin:60px auto 40px;max-width:420px;padding:0 20px}:where(body[data-page=login]) .login-header{margin-bottom:30px;text-align:center}:where(body[data-page=login]) .login-header h1{color:var(--grn);font-size:28px;font-weight:900;margin:0 0 10px}:where(body[data-page=login]) .login-header p{color:var(--tx2);font-size:14px;margin:0}:where(body[data-page=login]) .form-card{background-color:var(--card);border:1px solid var(--bdr);border-radius:var(--radius2);box-shadow:var(--shadow);padding:30px 24px}:where(body[data-page=login]) .form-group{margin-bottom:20px}:where(body[data-page=login]) .form-group label{color:var(--tx2);display:block;font-size:14px;font-weight:700;margin-bottom:8px}:where(body[data-page=login]) .form-group input{background-color:var(--card);border:1.5px solid var(--bdr2);border-radius:12px;color:var(--tx);font-family:var(--font);font-size:16px;outline:none;padding:14px 16px;transition:border-color .2s,box-shadow .2s;width:100%}:where(body[data-page=login]) .form-group input:focus{border-color:var(--grn);box-shadow:0 0 0 4px rgba(45,106,79,.1)}:where(body[data-page=login]) .form-actions{margin-top:30px}:where(body[data-page=login]) .switch-mode{color:var(--tx2);font-size:14px;margin-top:20px;text-align:center}:where(body[data-page=login]) .switch-mode a{color:var(--grn);font-weight:700;text-decoration:none}:where(body[data-page=login]) .error-msg{background-color:var(--redbg);border:1px solid rgba(217,4,41,.1);border-radius:10px;color:var(--redtx);display:none;font-size:14px;font-weight:600;margin-bottom:20px;padding:12px}:where(body[data-page=lookup]) .header{padding:18px 0 14px;text-align:center}:where(body[data-page=lookup]) .header h1{color:var(--grntx);font-size:22px;font-weight:800;letter-spacing:1px}:where(body[data-page=lookup]) .header p{color:var(--tx2);font-size:13px;margin-top:4px}:where(body[data-page=lookup]) .header .note{color:var(--tx3);font-size:12px;margin-top:6px}:where(body[data-page=lookup]) .search-wrap{background:var(--bg);margin-bottom:6px;padding:10px 0 12px;position:sticky;top:0;z-index:20}:where(body[data-page=lookup]) .search-box{align-items:center;background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius2);display:flex;gap:8px;padding:6px 10px 6px 16px;transition:border-color .15s,box-shadow .15s}:where(body[data-page=lookup]) .search-box:focus-within{border-color:var(--grn);box-shadow:0 4px 15px rgba(45,106,79,.1)}:where(body[data-page=lookup]) .search-box .ico{color:var(--tx3);flex-shrink:0;font-size:18px}:where(body[data-page=lookup]) .search-box input{background:none;border:none;color:var(--tx);flex:1;font-family:var(--font);font-size:20px;min-width:0;outline:none;padding:8px 0}:where(body[data-page=lookup]) .search-box input::placeholder{color:var(--tx3);font-size:16px}:where(body[data-page=lookup]) .search-box .clr{align-items:center;background:var(--card2);border:none;border-radius:50%;color:var(--tx2);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:30px;justify-content:center;line-height:1;width:30px}:where(body[data-page=lookup]) .filter-entry{align-items:center;background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);color:var(--tx2);cursor:pointer;display:flex;font-family:var(--font);font-size:13px;gap:8px;margin-top:10px;padding:12px 14px;text-align:left;width:100%}:where(body[data-page=lookup]) .filter-entry:hover{border-color:var(--grn);color:var(--grn)}:where(body[data-page=lookup]) .filter-entry .fe-ico{flex-shrink:0;font-size:15px}:where(body[data-page=lookup]) .filter-entry .fe-text{color:var(--tx);flex:1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:where(body[data-page=lookup]) .filter-entry .fe-arrow{color:var(--tx3);flex-shrink:0;font-size:18px;transform:rotate(90deg)}:where(body[data-page=lookup]) .filter-entry.custom{background:var(--grnbg);border-color:var(--grn)}:where(body[data-page=lookup]) .filter-entry.custom .fe-arrow,:where(body[data-page=lookup]) .filter-entry.custom .fe-ico{color:var(--grntx)}:where(body[data-page=lookup]) .chip{background:var(--card);border:1.5px solid var(--bdr);border-radius:20px;color:var(--tx2);cursor:pointer;font-size:14px;font-weight:600;padding:6px 14px;user-select:none}:where(body[data-page=lookup]) .chip.on{background:var(--inkbg);border-color:var(--ink);color:var(--ink)}:where(body[data-page=lookup]) .chip.type-shi.on{background:var(--grnbg);border-color:var(--grn);color:var(--grn)}:where(body[data-page=lookup]) .chip.type-xie.on{background:var(--ambbg);border-color:var(--amb);color:var(--amb)}:where(body[data-page=lookup]) .chip.type-ci.on{background:var(--purbg);border-color:var(--pur);color:var(--pur)}:where(body[data-page=lookup]) .txt-btn{background:none;border:none;border-radius:8px;color:var(--tx2);cursor:pointer;font-family:var(--font);font-size:13px;font-weight:700;padding:8px 12px}:where(body[data-page=lookup]) .txt-btn:hover{background:var(--card2);color:var(--grn)}:where(body[data-page=lookup]) .drawer-mask{background:rgba(0,0,0,.4);inset:0;opacity:0;position:fixed;transition:opacity .2s,visibility .2s;visibility:hidden;z-index:500}:where(body[data-page=lookup]) .drawer-mask.open{opacity:1;visibility:visible}:where(body[data-page=lookup]) .drawer{background:var(--bg);box-shadow:-4px 0 28px rgba(0,0,0,.2);display:flex;flex-direction:column;height:100%;max-width:88vw;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .26s cubic-bezier(.4,0,.2,1);width:340px;z-index:600}:where(body[data-page=lookup]) .drawer.open{transform:translateX(0)}:where(body[data-page=lookup]) .drawer-head{align-items:center;background:var(--card);border-bottom:1px solid var(--bdr);display:flex;justify-content:space-between;padding:18px 20px 14px}:where(body[data-page=lookup]) .drawer-title{font-size:17px;font-weight:800}:where(body[data-page=lookup]) .drawer-close{align-items:center;background:var(--card2);border:none;border-radius:50%;color:var(--tx2);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;line-height:1;width:32px}:where(body[data-page=lookup]) .drawer-body{flex:1;overflow-y:auto;padding:8px 20px 20px}:where(body[data-page=lookup]) .dgroup{border-bottom:1px solid var(--bdr);padding:16px 0}:where(body[data-page=lookup]) .dgroup:last-child{border-bottom:none}:where(body[data-page=lookup]) .dlabel{color:var(--tx3);font-size:13px;font-weight:700;margin-bottom:12px}:where(body[data-page=lookup]) .dchips{display:flex;flex-wrap:wrap;gap:9px}:where(body[data-page=lookup]) .drawer-foot{align-items:center;background:var(--card);border-top:1px solid var(--bdr);display:flex;gap:8px;padding:14px 20px}:where(body[data-page=lookup]) .apply-btn{background:var(--grn);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:700;margin-left:auto;padding:10px 26px}@media(max-width:520px){:where(body[data-page=lookup]) .drawer{border-radius:18px 18px 0 0;bottom:0;height:auto;left:0;max-height:84vh;max-width:100%;right:0;top:auto;transform:translateY(100%);width:100%}:where(body[data-page=lookup]) .drawer.open{transform:translateY(0)}:where(body[data-page=lookup]) .dchips{gap:10px}:where(body[data-page=lookup]) .chip{font-size:15px;padding:8px 16px}}:where(body[data-page=lookup]) .summary{color:var(--tx2);font-size:13.5px;margin:4px 0 14px;padding:0 2px}:where(body[data-page=lookup]) .summary b{color:var(--tx);font-weight:700}:where(body[data-page=lookup]) .summary .q{color:var(--grntx);font-size:15px;font-weight:800}:where(body[data-page=lookup]) .tok.parent-word-token{align-items:center;display:inline-flex;gap:4px;padding-right:3px;transition:border-color .15s,background-color .15s}:where(body[data-page=lookup]) .tok.hit.parent-word-token.is-added{background:var(--grnbg);border-color:var(--grn)}:where(body[data-page=lookup]) .parent-add{align-items:center;background:var(--card2);border:0;border-radius:999px;color:var(--grntx);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:var(--font);font-size:12px;font-weight:700;gap:3px;height:32px;justify-content:center;min-width:32px;padding:0 8px}:where(body[data-page=lookup]) .parent-add-icon{font-size:18px;line-height:1}:where(body[data-page=lookup]) .tok.parent-word-token.is-added .parent-add{background:transparent;cursor:default}:where(body[data-page=lookup]) .tok.parent-word-token.is-added .parent-add-icon{font-size:13px}:where(body[data-page=lookup]) .parent-add.loading{opacity:.65}:where(body[data-page=lookup]) .lookup-toast{background:var(--grn);border-radius:999px;bottom:28px;color:#fff;font-size:14px;font-weight:700;left:50%;max-width:calc(100vw - 32px);opacity:0;padding:11px 18px;pointer-events:none;position:fixed;transform:translate(-50%,12px);transition:opacity .18s,transform .18s;z-index:800}:where(body[data-page=lookup]) .lookup-toast.error{background:var(--redtx)}:where(body[data-page=lookup]) .lookup-toast.show{opacity:1;transform:translate(-50%)}:where(body[data-page=lookup]) .vol-card{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius2);box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden}:where(body[data-page=lookup]) .vol-head{align-items:center;background:var(--card2);display:flex;flex-wrap:wrap;gap:10px;padding:13px 16px}:where(body[data-page=lookup]) .vol-name{font-size:15px;font-weight:800}:where(body[data-page=lookup]) .vol-counts{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}:where(body[data-page=lookup]) .cnt{border-radius:10px;font-size:11px;font-weight:700;padding:2px 9px}:where(body[data-page=lookup]) .cnt-shi{background:var(--grnbg);color:var(--grn)}:where(body[data-page=lookup]) .cnt-xie{background:var(--ambbg);color:var(--amb)}:where(body[data-page=lookup]) .cnt-ci{background:var(--purbg);color:var(--pur)}:where(body[data-page=lookup]) .vol-body{padding:12px 16px}:where(body[data-page=lookup]) .row{align-items:flex-start;display:flex;font-size:13.5px;gap:8px;margin-top:10px}:where(body[data-page=lookup]) .row:first-child{margin-top:0}:where(body[data-page=lookup]) .row .rk{color:var(--tx3);flex-shrink:0;font-size:12px;font-weight:700;padding-top:5px;width:52px}:where(body[data-page=lookup]) .row .rv{display:flex;flex-wrap:wrap;gap:6px}:where(body[data-page=lookup]) .tok{background:var(--card2);border-radius:8px;color:var(--tx);font-size:14px;font-weight:600;padding:3px 11px}:where(body[data-page=lookup]) .tok.hit{background:var(--grnbg);color:var(--grn);font-weight:700}:where(body[data-page=lookup]) .tok.hit.c-type-ci{background:var(--purbg);color:var(--pur)}:where(body[data-page=lookup]) .tok em{color:var(--red);font-style:normal;font-weight:800}:where(body[data-page=lookup]) .rel-card{background:var(--card);border:1px solid var(--bdr);border-left:4px solid var(--grn);border-radius:var(--radius2);box-shadow:var(--shadow);display:flex;gap:14px;margin-bottom:14px;padding:16px}:where(body[data-page=lookup]) .rel-char{flex-shrink:0;text-align:center;width:72px}:where(body[data-page=lookup]) .rel-char .big{font-size:52px;font-weight:900;line-height:1}:where(body[data-page=lookup]) .rel-char .py{color:var(--tx2);font-size:14px;font-weight:700;margin-top:8px;word-break:break-all}:where(body[data-page=lookup]) .rel-body{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0}:where(body[data-page=lookup]) .rel-row{align-items:flex-start;display:flex;font-size:13.5px;gap:8px}:where(body[data-page=lookup]) .rel-row .rk{color:var(--tx3);flex-shrink:0;font-weight:700;padding-top:5px;width:46px}:where(body[data-page=lookup]) .rel-row .rv{display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0}:where(body[data-page=lookup]) .rtok{border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:15px;font-weight:700;padding:3px 12px;transition:border-color .12s;white-space:nowrap}:where(body[data-page=lookup]) .rtok:hover{border-color:currentColor}:where(body[data-page=lookup]) .rtok-xing{background:var(--ambbg);color:var(--amb)}:where(body[data-page=lookup]) .rtok-sheng{background:var(--purbg);color:var(--pur)}:where(body[data-page=lookup]) .rtok-jin{background:var(--grnbg);color:var(--grn)}:where(body[data-page=lookup]) .rtok-fan{background:var(--redbg);color:var(--red)}:where(body[data-page=lookup]) .rtok-duo{background:var(--inkbg);color:var(--ink);cursor:default;font-size:13px;font-weight:500;white-space:normal}:where(body[data-page=lookup]) .rtok-duo:hover{border-color:transparent}:where(body[data-page=lookup]) .rtok-duo b{font-weight:800;margin-right:4px}:where(body[data-page=lookup]) .rel-tips{background-color:var(--card2);border-radius:8px;color:var(--tx2);font-size:12.5px;line-height:1.5;margin-top:4px;padding:10px 12px}:where(body[data-page=lookup]) .rel-tips b{color:var(--tx);font-weight:700}:where(body[data-page=lookup]) .empty{color:var(--tx3);padding:46px 20px;text-align:center}:where(body[data-page=lookup]) .empty .em-ico{font-size:38px;margin-bottom:10px}:where(body[data-page=lookup]) .empty p{font-size:14px}:where(body[data-page=lookup]) .empty .sub{font-size:12px;margin-top:6px}:where(body[data-page=lookup]) .hint-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}:where(body[data-page=lookup]) .hint-chips .hc{background:var(--card2);border:1px solid var(--bdr);border-radius:20px;color:var(--tx);cursor:pointer;font-size:18px;font-weight:700;padding:7px 16px;transition:background-color .12s,border-color .12s}:where(body[data-page=lookup]) .hint-chips .hc:hover{background:var(--grnbg);border-color:var(--grn);color:var(--grn)}:where(body[data-page=lookup]) .back-home{align-items:center;color:var(--tx2);display:flex;font-size:14px;font-weight:700;gap:8px;margin-bottom:15px;text-decoration:none}:where(body[data-page=mixed]) .hero{background:linear-gradient(180deg,#e7efe7,#edeae1);border-radius:var(--radius2);margin-bottom:6px;overflow:hidden;padding:22px 22px 24px;position:relative}:where(body[data-page=mixed]) .hero .ghost{bottom:-50px;color:rgba(60,110,84,.06);font-size:230px;font-weight:800;line-height:1;pointer-events:none;position:absolute;right:-10px;user-select:none}:where(body[data-page=mixed]) .eyebrow{color:var(--grntx);font-size:14px;font-weight:700;margin:0 0 8px}:where(body[data-page=mixed]) .h1{font-size:28px;font-weight:800;letter-spacing:-.5px;line-height:1.2;margin:0 0 10px}:where(body[data-page=mixed]) .lead{color:var(--tx2);font-size:14px;margin:0;position:relative}:where(body[data-page=mixed]) .stat-row{display:flex;gap:14px;margin-top:18px}:where(body[data-page=mixed]) .stat{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius);flex:1;padding:16px 18px}:where(body[data-page=mixed]) .stat .k{color:var(--tx2);font-size:14px;margin:0 0 6px}:where(body[data-page=mixed]) .stat .v{font-size:34px;font-weight:800;line-height:1;margin:0}:where(body[data-page=mixed]) .stat .sub{color:var(--tx3);font-size:13px;margin:8px 0 0}:where(body[data-page=mixed]) .stat.clickable{cursor:pointer;transition:transform .12s}:where(body[data-page=mixed]) .stat.clickable:active{transform:scale(.98)}:where(body[data-page=mixed]) .note{background:#e9efe9;border-radius:var(--radius);color:var(--tx2);font-size:13.5px;margin-top:16px;padding:14px 16px}:where(body[data-page=mixed]) .note b{color:var(--tx)}:where(body[data-page=mixed]) .sec-head{align-items:flex-end;display:flex;justify-content:space-between;margin:18px 0 10px}:where(body[data-page=mixed]) .sec-eyebrow{color:var(--grntx);font-size:14px;font-weight:700}:where(body[data-page=mixed]) .sec-title{font-size:24px;font-weight:800;margin:2px 0 4px}:where(body[data-page=mixed]) .sec-desc{color:var(--tx2);font-size:14px;margin:0 0 14px}:where(body[data-page=mixed]) .radical-switch{align-items:center;color:var(--tx2);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:7px;user-select:none;white-space:nowrap}:where(body[data-page=mixed]) .radical-switch input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}:where(body[data-page=mixed]) .switch-track{background:var(--bdr2);border-radius:999px;box-sizing:border-box;height:20px;padding:2px;transition:background-color .18s;width:36px}:where(body[data-page=mixed]) .switch-knob{background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.22);display:block;height:16px;transition:transform .18s;width:16px}:where(body[data-page=mixed]) .radical-switch input:checked+.switch-track{background:#1d4e8f}:where(body[data-page=mixed]) .radical-switch input:checked+.switch-track .switch-knob{transform:translateX(16px)}:where(body[data-page=mixed]) .radical-switch input:focus-visible+.switch-track{outline:2px solid var(--grn);outline-offset:2px}:where(body[data-page=mixed]) .group-list{display:flex;flex-direction:column;gap:10px}:where(body[data-page=mixed]) .group-card{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius2);box-shadow:var(--shadow);cursor:pointer;padding:16px 18px;transition:transform .12s}:where(body[data-page=mixed]) .group-card:active{transform:scale(.99)}:where(body[data-page=mixed]) .group-card .top{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}:where(body[data-page=mixed]) .group-card .chars{font-size:26px;font-weight:800;letter-spacing:5px}:where(body[data-page=mixed]) .type-tag{border-radius:10px;font-size:11px;font-weight:700;padding:3px 11px}:where(body[data-page=mixed]) .tag-形近字{background:var(--ambbg);color:var(--amb)}:where(body[data-page=mixed]) .tag-声近字{background:var(--purbg);color:var(--pur)}:where(body[data-page=mixed]) .tag-多音字{background:var(--inkbg);color:var(--ink)}:where(body[data-page=mixed]) .group-card .bottom{align-items:center;color:var(--tx3);display:flex;font-size:12.5px;gap:10px}:where(body[data-page=mixed]) .status-pill{border-radius:9px;font-size:12px;font-weight:700;padding:3px 10px}:where(body[data-page=mixed]) .st-new{background:var(--card2);color:var(--tx3)}:where(body[data-page=mixed]) .st-learning{background:var(--ambbg);color:var(--amb)}:where(body[data-page=mixed]) .st-passed{background:var(--grnbg);color:var(--grntx)}:where(body[data-page=mixed]) .group-card .pinyin{color:var(--tx3);font-size:12.5px;margin-left:auto}:where(body[data-page=mixed]) .pick-group{margin-top:18px}:where(body[data-page=mixed]) .pick-label{color:var(--tx2);font-size:14px;font-weight:700;margin-bottom:10px}:where(body[data-page=mixed]) .pick-grid{display:flex;flex-wrap:wrap;gap:10px}:where(body[data-page=mixed]) .pchip{background:var(--card);border:1.5px solid var(--bdr2);border-radius:12px;color:var(--tx);cursor:pointer;font-family:var(--font);font-size:15px;font-weight:600;padding:11px 18px;transition:transform .12s}:where(body[data-page=mixed]) .pchip:active{transform:scale(.97)}:where(body[data-page=mixed]) .pchip.on{background:var(--grn);border-color:var(--grn);color:#fff}:where(body[data-page=mixed]) .pchip[disabled]{cursor:not-allowed;opacity:.38}:where(body[data-page=mixed]) .book-row{align-items:center;background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius);display:flex;justify-content:space-between;margin-top:10px;padding:16px 18px}:where(body[data-page=mixed]) .book-row.cur{background:var(--grnbg);border-color:var(--grn)}:where(body[data-page=mixed]) .book-row .bk-name{font-size:17px;font-weight:700}:where(body[data-page=mixed]) .book-row .bk-sub{color:var(--tx2);font-size:13px;margin-top:3px}:where(body[data-page=mixed]) .book-row .bk-prog{color:var(--grntx);font-size:15px;font-weight:800}:where(body[data-page=mixed]) .scope-chip{align-items:center;background:rgba(60,110,84,.12);border-radius:20px;color:var(--grntx);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:700;gap:6px;margin-bottom:10px;padding:4px 12px;position:relative}:where(body[data-page=mixed]) .study-header{margin-bottom:18px}:where(body[data-page=mixed]) .study-header .chars-big{font-size:30px;font-weight:800;letter-spacing:6px}:where(body[data-page=mixed]) .study-header .meta{align-items:center;display:flex;gap:10px;margin-top:8px}:where(body[data-page=mixed]) .level-steps{display:flex;gap:0;margin-bottom:20px}:where(body[data-page=mixed]) .level-step{border-bottom:2px solid var(--bdr);color:var(--tx3);cursor:pointer;flex:1;font-size:12px;font-weight:600;padding:10px 4px;text-align:center;transition:color .2s,border-color .2s}:where(body[data-page=mixed]) .level-step.active{border-bottom-color:var(--grn);color:var(--grn)}:where(body[data-page=mixed]) .level-step.done{color:var(--grntx)}:where(body[data-page=mixed]) .level-step .step-label{margin-top:2px}:where(body[data-page=mixed]) .content-area{min-height:200px}:where(body[data-page=mixed]) .char-grid{display:grid;gap:10px;grid-template-columns:repeat(var(--char-cols,3),minmax(0,1fr));margin-bottom:16px;min-width:0}:where(body[data-page=mixed]) .char-item{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);cursor:pointer;min-width:0;padding:18px 12px;text-align:center;transition:border-color .2s,background-color .2s}:where(body[data-page=mixed]) .char-item.hl,:where(body[data-page=mixed]) .char-item:active{background:var(--grnbg);border-color:var(--grn)}:where(body[data-page=mixed]) .char-item .ch{font-size:50px;font-weight:800;line-height:1.2;min-height:60px}:where(body[data-page=mixed]) .mixed-hanzi-colored{align-items:center;display:none;justify-content:center;min-height:60px}:where(body[data-page=mixed]) .mixed-hanzi-writer-char{display:inline-block;flex:0 0 58px;height:58px;width:58px}:where(body[data-page=mixed]) .mixed-hanzi-writer-char svg{filter:url(#mixed-hanzi-stroke-bold);height:100%;width:100%}:where(body[data-page=mixed]) .mixed-hanzi-colored-plain{line-height:58px}:where(body[data-page=mixed]) .show-radical-colors .ch.has-colored .mixed-hanzi-plain{display:none}:where(body[data-page=mixed]) .show-radical-colors .ch.has-colored .mixed-hanzi-colored{display:inline-flex}:where(body[data-page=mixed]) .char-item .py{color:var(--tx2);font-size:14px;margin:4px 0;overflow-wrap:anywhere}@media (max-width:520px){:where(body[data-page=mixed]) .char-grid{gap:8px;grid-template-columns:repeat(var(--mobile-char-cols,3),minmax(0,1fr))}:where(body[data-page=mixed]) .char-item{padding:12px 4px}}:where(body[data-page=mixed]) .mnemonic-box{background:var(--ambbg);border:1px solid rgba(217,119,6,.1);border-radius:var(--radius);color:var(--tx2);font-size:14px;line-height:1.8;margin:12px 0;padding:14px 18px}:where(body[data-page=mixed]) .mnemonic-box .label{color:var(--amb);font-size:12px;font-weight:700;margin-bottom:4px}:where(body[data-page=mixed]) .word-group{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius);margin-bottom:14px;padding:14px 16px}:where(body[data-page=mixed]) .word-group .word-char{align-items:center;display:flex;font-size:20px;font-weight:800;gap:8px;margin-bottom:8px}:where(body[data-page=mixed]) .word-group .word-char span{color:var(--tx2);font-size:13px;font-weight:600}:where(body[data-page=mixed]) .word-tags{display:flex;flex-wrap:wrap;gap:6px}:where(body[data-page=mixed]) .word-tag{background:var(--card2);border-radius:8px;color:var(--tx);font-size:14px;font-weight:600;padding:6px 14px}:where(body[data-page=mixed]) .sent-label{color:var(--tx3);font-size:12px;font-weight:700;margin-bottom:4px;margin-top:10px}:where(body[data-page=mixed]) .sent-item{background:var(--card);border:1px solid var(--bdr);border-left:4px solid var(--grn);border-radius:0 8px 8px 0;box-shadow:var(--shadow);font-size:15px;line-height:1.8;margin-bottom:8px;padding:12px 16px}:where(body[data-page=mixed]) .scene-box{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius2);box-shadow:var(--shadow);font-size:16px;line-height:2.2;margin-bottom:12px;padding:22px 20px;position:relative}:where(body[data-page=mixed]) .scene-box .scene-tag{background:var(--ambbg);border-radius:8px;color:var(--amb);font-size:11px;font-weight:700;left:16px;padding:2px 12px;position:absolute;top:-10px}:where(body[data-page=mixed]) .scene-hl{border-bottom:2px solid;font-weight:800}:where(body[data-page=mixed]) .next-btn{align-items:center;background:var(--grn);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font);font-size:15px;font-weight:700;gap:6px;margin-top:12px;padding:12px 24px}:where(body[data-page=mixed]) .next-btn:active{background:var(--grn2)}:where(body[data-page=mixed]) .next-btn.outline2{background:none;border:1.5px solid var(--bdr2);color:var(--tx2)}:where(body[data-page=mixed]) .quiz-area{text-align:center}:where(body[data-page=mixed]) .quiz-progress{display:flex;gap:5px;justify-content:center;margin-bottom:16px}:where(body[data-page=mixed]) .quiz-dot{background:var(--bdr2);border-radius:50%;height:10px;transition:background-color .2s,box-shadow .2s;width:10px}:where(body[data-page=mixed]) .quiz-dot.done{background:var(--grn)}:where(body[data-page=mixed]) .quiz-dot.wrong{background:var(--red)}:where(body[data-page=mixed]) .quiz-dot.current{background:var(--grn);box-shadow:0 0 0 3px var(--grnbg)}:where(body[data-page=mixed]) .quiz-q{font-size:24px;font-weight:800;line-height:1.6;margin:24px 0}:where(body[data-page=mixed]) .quiz-opts{display:grid;gap:10px;margin:0 auto 16px;max-width:400px}:where(body[data-page=mixed]) .quiz-opt{background:var(--card);border:1.5px solid var(--bdr2);border-radius:var(--radius);cursor:pointer;font-family:var(--font);font-size:22px;font-weight:800;padding:14px}:where(body[data-page=mixed]) .quiz-opt:active{border-color:var(--grn)}:where(body[data-page=mixed]) .quiz-opt.correct{background:var(--grnbg);border-color:var(--grn);color:var(--grntx)}:where(body[data-page=mixed]) .quiz-opt.wrong{background:var(--redbg);border-color:var(--red);color:var(--redtx)}:where(body[data-page=mixed]) .quiz-feedback{font-size:14px;font-weight:700;margin:10px 0}:where(body[data-page=mixed]) .quiz-result{padding:30px 20px;text-align:center}:where(body[data-page=mixed]) .quiz-result .score{font-size:48px;font-weight:900}:where(body[data-page=mixed]) .quiz-result .msg{color:var(--tx2);font-size:16px;margin:8px 0 20px}:where(body[data-page=mixed]) .wrong-card{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius2);box-shadow:var(--shadow);display:block;margin-top:12px;padding:16px 18px;text-align:left}:where(body[data-page=mixed]) .wrong-card .wq{font-size:18px;font-weight:800;line-height:1.5;margin-bottom:12px;word-break:break-all}:where(body[data-page=mixed]) .wrong-card .wbottom{align-items:center;border-top:1px solid var(--bdr);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:8px;padding-top:10px}:where(body[data-page=mixed]) .wrong-card .wmeta{color:var(--tx2);font-size:12.5px}:where(body[data-page=mixed]) .wrong-card .wans{color:var(--grntx);font-weight:800}:where(body[data-page=mixed]) .wcount{background:var(--redbg);border-radius:12px;color:var(--redtx);font-size:13px;font-weight:700;padding:7px 14px;white-space:nowrap}:where(body[data-page=mixed]) .wdel{background:none;border:1px solid var(--bdr2);border-radius:8px;color:var(--tx3);cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:all .2s;white-space:nowrap}:where(body[data-page=mixed]) .wdel:hover{background:var(--redbg);border-color:var(--red);color:var(--redtx)}:where(body[data-page=mixed]) .empty{color:var(--tx3);font-size:15px;padding:60px 20px;text-align:center}:where(body[data-page=mixed]) .empty .big{font-size:46px;margin-bottom:12px}:where(body[data-page=origin]) .page-head{padding:18px 0 12px}:where(body[data-page=origin]) .page-head h1{color:var(--grntx);font-size:23px;letter-spacing:1px;margin:0}:where(body[data-page=origin]) .page-head p{color:var(--tx2);font-size:13px;margin:4px 0 0}:where(body[data-page=origin]) .search-box{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius2);box-shadow:var(--shadow);display:flex;gap:8px;padding:7px}:where(body[data-page=origin]) .search-box:focus-within{border-color:var(--grn)}:where(body[data-page=origin]) .search-box input{background:transparent;border:0;color:var(--tx);flex:1;font:700 22px var(--font);min-width:0;outline:0;padding:8px 12px}:where(body[data-page=origin]) .search-box button{background:var(--grn);border:0;border-radius:13px;color:#fff;cursor:pointer;font:700 14px var(--font);padding:0 18px}:where(body[data-page=origin]) .recommend{margin-top:14px}:where(body[data-page=origin]) .recommend-title{color:var(--tx2);font-size:12px;font-weight:700;margin:0 0 7px}:where(body[data-page=origin]) .recommend-grid{display:grid;gap:7px;grid-template-columns:repeat(8,1fr)}:where(body[data-page=origin]) .recommend-grid button{aspect-ratio:1;background:var(--card);border:1px solid var(--bdr);border-radius:10px;color:var(--grntx);cursor:pointer;font:800 18px var(--font);min-width:0}:where(body[data-page=origin]) .recommend-grid button:hover{background:var(--grnbg);border-color:var(--grn)}:where(body[data-page=origin]) .panel{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius2);box-shadow:var(--shadow);margin-top:18px;padding:18px}:where(body[data-page=origin]) .empty{color:var(--tx2);padding:48px 18px;text-align:center}:where(body[data-page=origin]) .empty .icon{display:block;font-size:42px;margin-bottom:8px}:where(body[data-page=origin]) .result-head{align-items:center;display:flex;gap:14px;margin-bottom:16px}:where(body[data-page=origin]) .char{align-items:center;background:var(--grnbg);border-radius:18px;color:var(--grntx);display:flex;flex:none;font-size:42px;font-weight:800;height:68px;justify-content:center;width:68px}:where(body[data-page=origin]) .result-head h2{font-size:20px;margin:0}:where(body[data-page=origin]) .result-head p{color:var(--tx2);font-size:13px;margin:2px 0 0}:where(body[data-page=origin]) .origin-image{background:var(--card2);border-radius:14px;display:block;max-height:420px;object-fit:contain;width:100%}:where(body[data-page=origin]) .image-caption{color:var(--tx3);font-size:12px;margin:8px 0 0;text-align:center}:where(body[data-page=origin]) .interpretation{border-top:1px solid var(--bdr);color:var(--tx2);line-height:1.8;margin-top:18px;padding-top:16px}:where(body[data-page=origin]) .interpretation h3{color:var(--tx);font-size:16px;margin:0 0 7px}:where(body[data-page=origin]) .interpretation p{margin:0;white-space:pre-line}:where(body[data-page=user]) .profile-card{background:linear-gradient(135deg,#2d6a4f,#1b4332);border-radius:var(--radius2);box-shadow:0 8px 16px rgba(0,0,0,.1);color:#fff;margin-bottom:24px;overflow:hidden;padding:24px;position:relative}:where(body[data-page=user]) .profile-card:after{bottom:-20px;content:"👤";font-size:120px;opacity:.08;position:absolute;right:-10px}:where(body[data-page=user]) .profile-info h2{font-size:22px;font-weight:700;letter-spacing:.5px;margin:0 0 8px}:where(body[data-page=user]) .profile-info p{font-size:14px;margin:0;opacity:.85}:where(body[data-page=user]) .vip-status-bar{align-items:center;backdrop-filter:blur(5px);background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius1);display:flex;justify-content:space-between;margin-top:16px;padding:12px 16px}:where(body[data-page=user]) .vip-badge{align-items:center;background:#ffe066;border-radius:12px;color:#7a5c00;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:4px 10px}:where(body[data-page=user]) .vip-badge.none{background:#e0e0e0;color:#555}:where(body[data-page=user]) .vip-time{font-size:13px;font-weight:500}:where(body[data-page=user]) .section-title{align-items:center;color:var(--tx1);display:flex;font-size:18px;font-weight:700;justify-content:space-between;margin:28px 0 16px}:where(body[data-page=user]) .refresh-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--grn);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:4px;padding:4px 8px;transition:background .2s}:where(body[data-page=user]) .refresh-btn:hover{background:rgba(45,106,79,.08)}:where(body[data-page=user]) .vip-packages{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}@media (max-width:480px){:where(body[data-page=user]) .vip-packages{grid-template-columns:1fr}}:where(body[data-page=user]) .package-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius2);cursor:pointer;overflow:hidden;padding:20px;position:relative;text-align:center;transition:all .25s cubic-bezier(.4,0,.2,1)}:where(body[data-page=user]) .package-card:hover{border-color:var(--grn);box-shadow:0 6px 12px rgba(45,106,79,.08);transform:translateY(-4px)}:where(body[data-page=user]) .package-card.recommended{border-color:#f59e0b}:where(body[data-page=user]) .package-card.recommended:before{background:#f59e0b;border-bottom-left-radius:var(--radius1);color:#fff;content:"超值推荐";font-size:10px;font-weight:700;padding:2px 8px;position:absolute;right:0;top:0}:where(body[data-page=user]) .package-name{color:var(--tx1);font-size:16px;font-weight:700;margin-bottom:8px}:where(body[data-page=user]) .package-price{color:var(--grn);font-size:28px;font-weight:800;margin-bottom:4px}:where(body[data-page=user]) .package-price span{color:var(--tx3);font-size:14px;font-weight:500}:where(body[data-page=user]) .package-desc{color:var(--tx3);font-size:13px;line-height:1.4}:where(body[data-page=user]) .pay-modal{align-items:center;background:rgba(0,0,0,.6);bottom:0;display:flex;justify-content:center;left:0;opacity:0;padding:20px;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s;z-index:1000}:where(body[data-page=user]) .pay-modal.show{opacity:1;pointer-events:auto}:where(body[data-page=user]) .pay-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius2);box-shadow:0 20px 25px -5px rgba(0,0,0,.15);max-width:360px;padding:24px;text-align:center;transform:scale(.9);transition:transform .3s;width:100%}:where(body[data-page=user]) .pay-modal.show .pay-content{transform:scale(1)}:where(body[data-page=user]) .pay-title{color:var(--tx1);font-size:18px;font-weight:700;margin:0 0 12px}:where(body[data-page=user]) .qrcode-box{align-items:center;background:var(--bg-body);border:1px solid var(--border);border-radius:var(--radius1);display:flex;height:200px;justify-content:center;margin:16px auto;position:relative;width:200px}:where(body[data-page=user]) .qrcode-img{height:180px;width:180px}:where(body[data-page=user]) .pay-hint{color:var(--tx3);font-size:13px;margin-bottom:20px}:where(body[data-page=user]) .dev-panel{background:var(--bg-card);border:1px dashed #f59e0b;border-radius:var(--radius2);margin-top:40px;padding:16px}:where(body[data-page=user]) .dev-title{align-items:center;color:#d97706;display:flex;font-size:14px;font-weight:700;gap:6px;margin:0 0 10px}:where(body[data-page=user]) .dev-buttons{display:grid;gap:12px;grid-template-columns:1fr 1fr}:where(body[data-page=user]) .dev-btn{background:rgba(217,119,6,.08);border:1px solid rgba(217,119,6,.2);border-radius:var(--radius1);color:#d97706;cursor:pointer;font-size:12px;font-weight:600;padding:8px;transition:all .2s}:where(body[data-page=user]) .dev-btn:hover{background:rgba(217,119,6,.15)}@keyframes qr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}