:root{--brand:#ff5e62;--brand-purple:#a855f7;--brand-orange:#ff9966;--grad:linear-gradient(135deg,#ff9966 0%,#ff5e62 48%,#a855f7 100%);--ink:#f5f6f8;--ink-2:#9aa0ab;--ink-3:#646a73;--bg:#0f0f13;--card:rgba(255,255,255,.06);--green:#00b96b;--orange:#ff8800;--shadow-lg:0 8px 40px rgba(31,35,41,.14);--font:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Helvetica Neue","Microsoft YaHei",sans-serif}html,body{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}img{display:block}.va-login{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:0 24px;background:var(--bg)}.va-login .card{width:100%;max-width:360px;background:var(--card);border-radius:22px;padding:30px 26px 26px;box-shadow:var(--shadow-lg)}.va-login .brand{width:40px;height:40px;border-radius:12px;margin:0 auto 14px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:700;letter-spacing:.5px}.va-login h1{margin:0 0 4px;text-align:center;color:var(--ink);font-size:18px;font-weight:700}.va-login .sub{margin:0 0 20px;text-align:center;color:var(--ink-3);font-size:12.5px}.va-login input{width:100%;box-sizing:border-box;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 14px;color:var(--ink);font-size:14px;font-family:var(--font);outline:none}.va-login input:focus{border-color:#ff5e628c}.va-login input.code{letter-spacing:8px;text-align:center;font-size:16px;margin-top:10px}.va-login button.primary{width:100%;margin-top:14px;border:none;border-radius:12px;padding:12px 0;background:var(--grad);color:#fff;font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer}.va-login button.primary:disabled{opacity:.5;cursor:default}.va-login .err{margin:12px 0 0;text-align:center;color:var(--orange);font-size:12.5px;min-height:16px}.va-login .sentto{margin:10px 0 0;text-align:center;color:var(--ink-3);font-size:12px}.va-login .links{display:flex;justify-content:center;gap:22px;margin-top:12px}.va-login button.link{border:none;background:none;padding:0;color:var(--ink-3);font-size:12.5px;font-family:var(--font);cursor:pointer;text-decoration:underline}.va-login button.link:disabled{opacity:.5;cursor:default}.deck{position:absolute;top:0;left:0;right:0;bottom:64px;transition:opacity .24s,transform .24s}.deck.switching{opacity:0;transform:translateY(10px) scale(.99)}.progress-pill{position:absolute;left:16px;bottom:88px;z-index:26;display:flex;align-items:center;gap:10px;padding:9px 15px;border-radius:999px;background:#1010169e;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.11);box-shadow:0 6px 20px #0000004d;font-size:12px;font-weight:600;color:#e8eaef;transition:opacity .3s,transform .3s;animation:rise .8s .5s cubic-bezier(.2,.8,.2,1) both}.progress-pill .ck{color:#2bd98f;display:flex}.progress-pill .num{font-variant-numeric:tabular-nums;color:#ffb28a}.progress-pill .bar{width:58px;height:4px;border-radius:4px;background:#ffffff24;overflow:hidden}.progress-pill .bar i{display:block;height:100%;width:15%;border-radius:4px;background:var(--grad);transition:width .6s cubic-bezier(.2,.8,.2,1)}.card{position:absolute;left:0;right:0;top:0;height:100%;overflow:hidden;background:#17171f;transform:translateY(100%);transition:transform .62s cubic-bezier(.25,.9,.26,1);will-change:transform;z-index:1}.card.current{transform:translateY(-12px);z-index:12;border-radius:0 0 24px 24px;box-shadow:0 -14px 34px #0006}.card.next{transform:translateY(calc(100% - 12px));z-index:10;cursor:pointer}.card.past{transform:translateY(-116%);z-index:14}.card.off{transform:translateY(100%);z-index:1}.flip{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .68s cubic-bezier(.3,.7,.25,1)}.flip.flipped{transform:rotateY(180deg)}.face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.face.back{transform:rotateY(180deg)}.face.back{background:linear-gradient(165deg,#1c1c26,#121219 55%,#161221);display:flex;flex-direction:column;padding:108px 20px 150px;overflow-y:auto}.face.back:before{content:"";position:absolute;top:-90px;right:-70px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(168,85,247,.22),transparent 70%);pointer-events:none}.face.front .bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;animation:kenburns 26s ease-in-out infinite alternate}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#09090d57,#09090d00 24%,#09090d00 42%,#09090da8 68%,#07070af2)}.front-content{position:absolute;left:0;right:74px;bottom:0;padding:0 18px 126px;display:flex;flex-direction:column;align-items:flex-start}.front-content>*{animation:rise .7s cubic-bezier(.2,.8,.2,1) both}.front-content>*:nth-child(1){animation-delay:.05s}.front-content>*:nth-child(2){animation-delay:.12s}.front-content>*:nth-child(3){animation-delay:.19s}.front-content>*:nth-child(4){animation-delay:.26s}.front-content>*:nth-child(5){animation-delay:.33s}.front-content>*:nth-child(6){animation-delay:.4s}.src-row{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#0e0e1480;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);font-size:12px;color:#eef0f4;transition:border-color .2s,background .2s}.src-row:active{background:#ffffff24}.src-row svg{flex:none;opacity:.85}.src-row b{font-weight:600}.src-row .t{color:#ffb28a;font-weight:700;font-variant-numeric:tabular-nums}.term{margin-top:13px;font-size:29px;font-weight:800;color:#fff;line-height:1.2;letter-spacing:.5px}.summary{margin-top:9px;font-size:13.5px;line-height:1.68;color:#f0f2f6e6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.chip{font-size:11px;padding:4px 11px;border-radius:999px;color:#ddc6ff;background:#a855f729;border:1px solid rgba(168,85,247,.4);transition:background .2s}.chip:active{background:#a855f757}.hint{margin-top:15px;display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#ffffff94;letter-spacing:.3px;animation:hintPulse 2.4s ease-in-out infinite}.hint .hicon{width:22px;height:22px;border-radius:7px;background:#ffffff1f;display:inline-flex;align-items:center;justify-content:center}.rail{position:absolute;right:9px;bottom:102px;z-index:6;display:flex;flex-direction:column;align-items:center;gap:19px;animation:rise .8s .35s cubic-bezier(.2,.8,.2,1) both}.rail button{display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff;font-size:11px;font-weight:600;text-shadow:0 1px 5px rgba(0,0,0,.55);transition:transform .18s}.rail button:active{transform:scale(.86)}.rail svg{filter:drop-shadow(0 2px 6px rgba(0,0,0,.55));transition:all .2s}.flip-back{position:absolute;top:102px;right:16px;z-index:7;display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:#fff9;padding:6px 11px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);transition:background .2s}.back-badge{align-self:flex-start;font-size:10.5px;letter-spacing:2.5px;font-weight:700;color:#c9a9ff;padding:5px 11px;border-radius:999px;background:#a855f724;border:1px solid rgba(168,85,247,.42)}.q-src{margin-top:16px;font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;gap:5px}.q-text{margin-top:8px;font-size:21px;line-height:1.52;font-weight:800;color:var(--ink);letter-spacing:.3px}.show-answer{margin-top:24px;width:100%;padding:14px;border-radius:15px;font-size:14px;font-weight:600;color:#eceef3;background:#ffffff0e;border:1px dashed rgba(255,255,255,.3);transition:all .25s}.show-answer:active{background:#ffffff21;transform:scale(.985)}.rate:active{transform:scale(.93)}.flip-back:active{background:#ffffff29}.answer{max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .55s cubic-bezier(.2,.8,.2,1),opacity .45s,margin .45s}.answer.open{max-height:300px;opacity:1;margin-top:16px}.answer-inner{background:var(--card);border:1px solid rgba(255,255,255,.11);border-radius:15px;padding:15px 16px;font-size:13.5px;line-height:1.75;color:#dfe2ea}.a-exp{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);color:var(--ink-2);font-size:12.5px}.a-term{font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.ratings{display:flex;gap:9px;margin-top:20px;opacity:0;transform:translateY(10px);transition:opacity .45s,transform .45s;pointer-events:none}.ratings.show{opacity:1;transform:none;pointer-events:auto}.ratings.rated .rate{opacity:.35;pointer-events:none}.ratings.rated .rate.chosen{opacity:1;background:#ffffff1a}.rate{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 4px 10px;border-radius:14px;font-size:13px;font-weight:700;background:#ffffff0d;border:1px solid;transition:all .2s}.rate.know{color:#2bd98f;border-color:#00b96b80}.rate.vague{color:#ffa940;border-color:#ff880080}.rate.dunno{color:#ff7a7e;border-color:#ff5e6280}.rate small{font-size:10px;font-weight:500;opacity:.65}.review-done{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:0 24px}.review-done .card{position:static;transform:none;background:var(--card);border-radius:18px;padding:22px 26px;color:var(--ink-2);font-size:13.5px;line-height:1.7;text-align:center;box-shadow:var(--shadow-lg)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes kenburns{0%{transform:scale(1) translateY(0)}to{transform:scale(1.09) translateY(-1.5%)}}@keyframes hintPulse{0%,to{opacity:.55}50%{opacity:1}}.va-rail-toast{position:absolute;left:50%;bottom:140px;transform:translate(-50%);z-index:40;background:#0f0f13db;color:#fff;font-size:12.5px;font-weight:600;padding:9px 18px;border-radius:999px;white-space:nowrap;pointer-events:none}.screen-feed{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10}.tabbar{position:absolute;left:0;right:0;bottom:0;height:64px;z-index:30;display:flex;align-items:stretch;background:#0e0e13c7;backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border-top:1px solid rgba(255,255,255,.08);animation:riseUp .7s cubic-bezier(.2,.8,.2,1) both}.tb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-3);font-size:10.5px;font-weight:600;letter-spacing:.5px;transition:color .25s;position:relative}.tb svg{transition:all .25s}.tb.active{color:#fff}.tb.active svg{stroke:url(#vaGrad);transform:translateY(-1px)}.tb.active .tb-label{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tb:active svg{transform:scale(.88)}@keyframes riseUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.va-empty{position:absolute;top:0;right:0;left:0;bottom:64px;display:flex;align-items:center;justify-content:center;padding:0 24px}.va-empty .card{background:var(--card);border-radius:18px;padding:22px 26px;color:var(--ink-2);font-size:13.5px;line-height:1.7;text-align:center;box-shadow:var(--shadow-lg)}
