:root{--bg:#111;--surface:#191919;--surface2:#212121;--accent:#ff6b35;--accent2:#00d97e;--text:#f0ede8;--text2:hsla(38,21%,93%,.58);--muted:hsla(38,21%,93%,.3);--border:hsla(0,0%,100%,.07);--border2:hsla(0,0%,100%,.11);--correct:#00d97e;--wrong:#f44;--close:#f5a623;--correct-dim:rgba(0,217,126,.1);--wrong-dim:rgba(255,68,68,.1);--close-dim:rgba(245,166,35,.1);--bonus-dim:rgba(255,215,0,.1);--bonus:gold}html{scroll-behavior:smooth}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 2rem;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:hsla(0,0%,7%,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100}.logo{font-family:Syne,sans-serif;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:var(--text);transition:none}.logo.loading{display:inline-block;animation:spin .9s linear infinite}.header-right{gap:1rem}.header-points,.header-right{display:flex;align-items:center}.header-points{font-size:.72rem;color:var(--accent);letter-spacing:.06em;gap:.4rem}.account-btn,.header-points{font-family:JetBrains Mono,monospace}.account-btn{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text2);border:1px solid var(--border2);background:none;padding:.42rem .8rem;border-radius:6px;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.account-btn:hover{color:var(--text);border-color:hsla(0,0%,100%,.25)}.account-btn.signed-in{color:var(--accent2);border-color:rgba(0,217,126,.3)}main{max-width:740px;margin:0 auto;padding:5rem 1.5rem 7rem}#setup-screen{animation:fadeUp .55s ease both}.setup-form-wrap{max-width:480px;margin:0 auto}.form-section{border:1px solid var(--border2);border-radius:14px;background:var(--surface);overflow:hidden}.form-inner{padding:1.3rem 1.5rem}.form-footer{padding:1.2rem 1.5rem;border-top:1px solid var(--border)}.form-group{margin-bottom:1.1rem}.form-group:last-child{margin-bottom:0}.form-row{display:flex;gap:.75rem;align-items:flex-start}label{display:block;font-family:JetBrains Mono,monospace;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem}input[type=number],input[type=text]{width:100%;padding:.75rem .9rem;border:1px solid var(--border2);border-radius:8px;background:var(--surface2);font-family:Inter,sans-serif;font-size:.9rem;color:var(--text);outline:none;transition:border-color .18s,box-shadow .18s;-webkit-appearance:none;appearance:none;-moz-appearance:textfield}input[type=number]::placeholder,input[type=text]::placeholder{color:var(--muted)}input[type=number]:focus,input[type=text]:focus{border-color:rgba(255,107,53,.45);box-shadow:0 0 0 3px rgba(255,107,53,.07)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:.4}.level-group{display:flex;gap:.4rem}.level-btn{flex:1 1;padding:.65rem;border:1px solid var(--border2);border-radius:7px;background:transparent;font-family:JetBrains Mono,monospace;font-size:.64rem;letter-spacing:.06em;cursor:pointer;transition:all .15s;color:var(--muted);text-transform:uppercase}.level-btn.active{border-color:var(--accent);background:rgba(255,107,53,.09);color:var(--accent)}.level-btn:hover:not(.active){color:var(--text2)}.generate-btn{width:100%;padding:.9rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:Syne,sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;letter-spacing:-.01em;transition:opacity .18s,box-shadow .18s;box-shadow:0 4px 32px rgba(255,107,53,.38)}.generate-btn:hover{opacity:.87;box-shadow:0 4px 44px rgba(255,107,53,.5)}.generate-btn:active{opacity:.75}.generate-btn:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.error-msg{background:var(--wrong-dim);border:1px solid rgba(255,68,68,.18);color:var(--wrong);border-radius:7px;padding:.75rem .9rem;font-size:.82rem;margin-top:.75rem;display:none}.expand-toggle{display:inline-flex;align-items:center;gap:.38rem;margin-top:.5rem;background:none;border:none;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0;transition:color .15s}.expand-toggle:hover{color:var(--accent)}.expand-toggle .expand-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid;border-radius:3px;font-size:.68rem;line-height:1;transition:transform .2s}.expand-toggle.open .expand-icon{transform:rotate(45deg)}.expand-panel{display:none;margin-top:.5rem;animation:fadeUp .2s ease both}.expand-panel.open{display:block}#loading-screen{text-align:center;padding:8rem 1rem;display:none;animation:fadeUp .4s ease both}.spinner{width:34px;height:34px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 1.25rem}.loading-msg{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}#vocab-screen{display:none;animation:fadeUp .5s ease both}.vocab-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1.75rem;flex-wrap:wrap;gap:1rem}.vocab-meta{font-family:JetBrains Mono,monospace;font-size:.6rem;color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.35rem}.vocab-title{font-family:Syne,sans-serif;font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1.3;padding-bottom:.1em}.vocab-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.practice-btn{padding:.6rem 1.2rem;background:var(--accent);color:#fff;border:none;border-radius:7px;font-family:JetBrains Mono,monospace;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:opacity .15s;white-space:nowrap;box-shadow:0 4px 18px rgba(255,107,53,.28)}.practice-btn:hover{opacity:.82}.refresh-all-btn{padding:.6rem 1rem;background:var(--surface);color:var(--text2);border:1px solid var(--border2);border-radius:7px;font-family:JetBrains Mono,monospace;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .15s;white-space:nowrap}.refresh-all-btn:hover{background:var(--surface2);color:var(--text)}.refresh-all-btn:disabled{opacity:.4;cursor:not-allowed}.word-grid{border:1px solid var(--border2);border-radius:12px;overflow:hidden;background:var(--surface)}.word-card{padding:.95rem 1.25rem;display:grid;grid-template-columns:1.75rem 1fr auto 1.75rem;grid-template-rows:auto auto auto auto;grid-gap:.18rem .7rem;gap:.18rem .7rem;align-items:start;border-bottom:1px solid var(--border);transition:background .13s;animation:fadeUp .3s ease both;position:relative;overflow:hidden}.word-card:last-child{border-bottom:none}.word-card:hover{background:var(--surface2)}.word-card.refreshing{opacity:.4;pointer-events:none}.word-card.refreshing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,107,53,.06) 50%,transparent);background-size:200% 100%;animation:shimmer 1.2s ease infinite}.word-num{font-family:JetBrains Mono,monospace;font-size:.58rem;color:var(--muted);grid-column:1;grid-row:1;margin-top:.22rem}.word-main{font-family:Syne,sans-serif;font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.01em;grid-column:2;grid-row:1}.word-romanization{color:var(--muted);grid-column:2;grid-row:2}.word-romanization,.word-translation{font-family:JetBrains Mono,monospace;font-size:.68rem}.word-translation{color:var(--accent);grid-column:3;grid-row:1;white-space:nowrap;margin-top:.15rem}.word-example{grid-column:2/4;grid-row:3;font-size:.8rem;color:var(--muted);font-style:italic;line-height:1.5}.word-regional{grid-column:2/5;grid-row:4;font-family:JetBrains Mono,monospace;font-size:.6rem;color:var(--accent2);letter-spacing:.04em;margin-top:.2rem}.word-refresh-btn{grid-column:4;grid-row:1;background:none;border:none;cursor:pointer;color:var(--muted);font-size:.85rem;padding:0;margin-top:.1rem;transition:color .15s;line-height:1;opacity:0}.word-card:hover .word-refresh-btn{opacity:1}.word-refresh-btn:hover{color:var(--accent)}.word-refresh-btn.spinning{animation:spin .6s linear infinite}#practice-screen{display:none;animation:fadeUp .5s ease both}.practice-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem}.back-btn{font-family:JetBrains Mono,monospace;font-size:.62rem;color:var(--text2);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid var(--border2);background:none;padding:.42rem .8rem;border-radius:6px;transition:color .15s,border-color .15s}.back-btn:hover{border-color:hsla(0,0%,100%,.25);color:var(--text)}.progress-bar-wrap{flex:1 1;margin:0 1.2rem;height:2px;background:var(--border2);border-radius:99px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .5s ease}.progress-label{font-family:JetBrains Mono,monospace;font-size:.62rem;color:var(--muted);white-space:nowrap}.flashcard{background:var(--surface);border:1px solid var(--border2);border-radius:16px;padding:3.5rem 2rem 3rem;text-align:center;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:.9rem;position:relative;overflow:hidden}.flashcard:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0,rgba(255,107,53,.05) 0,transparent 65%);pointer-events:none}.card-prompt{font-family:JetBrains Mono,monospace;font-size:.6rem;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.5rem}.card-word{font-family:Syne,sans-serif;font-size:clamp(2.6rem,7vw,4.8rem);font-weight:800;color:var(--text);letter-spacing:-.035em;line-height:1.3;padding-bottom:.35em;margin-bottom:.3rem}.card-romanization{font-family:JetBrains Mono,monospace;font-size:.88rem;color:var(--muted);margin-bottom:.3rem;letter-spacing:.02em}.card-hint{font-size:.84rem;color:var(--muted);font-style:italic}.card-reveal{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--border);width:100%;text-align:center;animation:fadeUp .3s ease both}.card-translation{font-family:Syne,sans-serif;font-size:1.45rem;font-weight:700;letter-spacing:-.025em;color:var(--accent);margin-bottom:.7rem}.card-example-reveal{font-size:.87rem;color:var(--muted);font-style:italic;max-width:440px;line-height:1.75;margin:0 auto}.answer-input-wrap{width:100%;margin-top:1.75rem;display:flex;flex-direction:column;gap:.6rem}.answer-input-wrap input[type=text]{background:var(--surface2);border:1px solid var(--border2);border-radius:8px;padding:.75rem 1rem;font-size:1rem;text-align:center}.answer-input-wrap input.graded-correct{border-color:var(--correct);box-shadow:0 0 0 2px rgba(0,217,126,.15)}.answer-input-wrap input.graded-bonus{border-color:var(--bonus);box-shadow:0 0 0 2px rgba(255,215,0,.2)}.answer-input-wrap input.graded-close{border-color:var(--close);box-shadow:0 0 0 2px rgba(245,166,35,.15)}.answer-input-wrap input.graded-wrong{border-color:var(--wrong);box-shadow:0 0 0 2px rgba(255,68,68,.15)}.grade-feedback{font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:.35rem 0}.grade-feedback.correct{color:var(--correct)}.grade-feedback.bonus{color:var(--bonus)}.grade-feedback.close{color:var(--close)}.grade-feedback.wrong{color:var(--wrong)}.mc-options{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.65rem;gap:.65rem;margin-bottom:.9rem}.mc-btn{padding:1.4rem .9rem;min-height:100px;border:1px solid var(--border2);border-radius:14px;background:var(--surface);font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;text-align:center;color:var(--text2);line-height:1.4;position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.34,1.56,.64,1),border-color .18s,background .18s,box-shadow .22s,opacity .25s,filter .25s;will-change:transform}.mc-btn:after{content:"";position:absolute;top:-60%;left:-80%;width:55%;height:220%;background:linear-gradient(105deg,transparent,hsla(0,0%,100%,.07),transparent);transform:skewX(-20deg);pointer-events:none;transition:left 0s}.mc-btn:hover:not(:disabled):after{left:130%;transition:left .45s ease}.mc-btn:hover:not(:disabled){transform:translateY(-5px) scale(1.03);border-color:rgba(255,107,53,.35);background:#222;box-shadow:0 12px 28px rgba(0,0,0,.45),0 0 0 1px rgba(255,107,53,.1)}.mc-btn.correct{border-color:var(--correct);background:var(--correct-dim);color:var(--correct);font-weight:600;animation:cardCorrect .55s cubic-bezier(.34,1.56,.64,1) forwards}.mc-btn.wrong{border-color:var(--wrong);background:var(--wrong-dim);color:var(--wrong);animation:cardWrong .45s ease forwards}.mc-btn.unchosen{opacity:.28;filter:grayscale(40%);transform:scale(.96);transition:opacity .35s ease,filter .35s ease,transform .35s ease}.mc-btn:disabled{cursor:default}@keyframes cardCorrect{0%{transform:translateY(0) scale(1);box-shadow:none}25%{transform:translateY(-16px) scale(1.08);box-shadow:0 20px 50px rgba(0,217,126,.45),0 0 30px rgba(0,217,126,.2)}55%{transform:translateY(-10px) scale(1.05)}75%{transform:translateY(-3px) scale(1.02)}to{transform:translateY(0) scale(1);box-shadow:0 0 20px rgba(0,217,126,.15)}}@keyframes cardWrong{0%{transform:translateX(0) rotate(0deg)}12%{transform:translateX(-9px) rotate(-1.5deg)}28%{transform:translateX(9px) rotate(1.5deg)}42%{transform:translateX(-7px) rotate(-1deg)}58%{transform:translateX(5px) rotate(.8deg)}74%{transform:translateX(-3px) rotate(-.3deg)}88%{transform:translateX(2px)}to{transform:translateX(0) rotate(0deg)}}.action-row{display:flex;gap:.45rem}.next-btn,.reveal-btn,.skip-btn{flex:1 1;padding:.82rem;border-radius:8px;font-family:JetBrains Mono,monospace;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;transition:all .14s}.reveal-btn{background:var(--surface);color:var(--text2);border:1px solid var(--border2)}.reveal-btn:hover{background:var(--surface2);color:var(--text)}.next-btn{background:var(--accent);color:#fff;box-shadow:0 4px 20px rgba(255,107,53,.28)}.next-btn:hover{opacity:.83}.skip-btn{background:transparent;color:var(--muted);border:1px solid var(--border);flex:0 0 auto;padding:.82rem 1.1rem}.skip-btn:hover{color:var(--text2);border-color:var(--border2)}.mode-toggle{display:flex;gap:.2rem;background:var(--surface);padding:3px;border-radius:8px;margin-bottom:1.1rem;width:-moz-fit-content;width:fit-content;border:1px solid var(--border)}.mode-btn{padding:.4rem .95rem;border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;background:transparent;color:var(--muted);transition:all .14s}.mode-btn.active{background:var(--surface2);color:var(--text)}#results-screen{display:none;text-align:center;padding:4rem 1rem;animation:fadeUp .5s ease both}.results-pts-earned{font-family:Syne,sans-serif;font-size:clamp(4.5rem,14vw,8rem);font-weight:800;background:linear-gradient(130deg,#ff6b35,#ffb380);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.15;padding-bottom:.15em;margin:1rem 0 .3rem;letter-spacing:-.04em}.results-pts-label{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.6rem}.results-lifetime{font-size:.75rem;color:var(--text2);letter-spacing:.06em;margin-bottom:.5rem}.results-accuracy,.results-lifetime{font-family:JetBrains Mono,monospace}.results-accuracy{font-size:.68rem;color:var(--muted);letter-spacing:.08em;margin-bottom:2rem}.results-achievements{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}.achievement-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;background:rgba(255,107,53,.08);border:1px solid rgba(255,107,53,.2);border-radius:99px;font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--accent);animation:badgePop .4s ease both}.results-msg{font-size:.93rem;color:var(--text2);margin-bottom:2rem;max-width:360px;margin-left:auto;margin-right:auto;line-height:1.75}.results-actions{display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap}.results-actions button{padding:.78rem 1.6rem;border-radius:8px;font-family:JetBrains Mono,monospace;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;transition:all .14s}.btn-retry{background:var(--accent);color:#fff;box-shadow:0 4px 22px rgba(255,107,53,.32)}.btn-retry:hover{opacity:.83}.btn-new{background:var(--surface);color:var(--text2);border:1px solid var(--border2)}.btn-new:hover{background:var(--surface2);color:var(--text)}#toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:999;pointer-events:none}.achievement-toast{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;background:var(--surface2);border:1px solid rgba(255,107,53,.25);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.5);animation:toastIn .4s ease both;max-width:280px}.achievement-toast.out{animation:toastOut .35s ease forwards}.toast-icon{font-size:1.2rem;flex-shrink:0}.toast-body{display:flex;flex-direction:column;gap:.1rem}.toast-label{font-family:JetBrains Mono,monospace;font-size:.55rem;color:var(--accent);letter-spacing:.1em;text-transform:uppercase}.toast-title{font-family:Syne,sans-serif;font-size:.8rem;font-weight:700;color:var(--text)}.toast-desc{font-family:JetBrains Mono,monospace;font-size:.6rem;color:var(--muted);letter-spacing:.04em}.auth-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-modal{background:var(--surface);border:1px solid var(--border2);border-radius:16px;width:100%;max-width:380px;overflow:hidden;animation:fadeUp .25s ease both}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;border-bottom:1px solid var(--border)}.auth-tabs{display:flex;gap:.2rem;background:var(--surface2);padding:3px;border-radius:7px}.auth-tab{padding:.35rem .9rem;border-radius:5px;font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:all .14s}.auth-tab.active{background:var(--surface);color:var(--text)}.auth-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:.2rem;transition:color .15s;line-height:1}.auth-close:hover{color:var(--text)}.auth-modal-title{font-family:JetBrains Mono,monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text2)}.auth-form{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.auth-input{width:100%;padding:.75rem .9rem;border:1px solid var(--border2);border-radius:8px;background:var(--surface2);font-family:Inter,sans-serif;font-size:.9rem;color:var(--text);outline:none;transition:border-color .18s}.auth-input::placeholder{color:var(--muted)}.auth-input:focus{border-color:rgba(255,107,53,.45)}.auth-error{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--wrong);background:var(--wrong-dim);border:1px solid rgba(255,68,68,.2);border-radius:6px;padding:.5rem .75rem}.auth-submit-btn{width:100%;padding:.85rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:Syne,sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .18s;box-shadow:0 4px 24px rgba(255,107,53,.35)}.auth-submit-btn:hover{opacity:.87}.auth-submit-btn:disabled{opacity:.4;cursor:not-allowed}.auth-signed-in{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;align-items:center;text-align:center}.auth-user-email{font-size:.8rem;color:var(--text2);word-break:break-all}.auth-plan,.auth-user-email{font-family:JetBrains Mono,monospace}.auth-plan{font-size:.65rem;letter-spacing:.08em;padding:.3rem .75rem;border-radius:99px;color:var(--muted);border:1px solid var(--border2)}.auth-plan.subscribed{color:var(--accent2);border-color:rgba(0,217,126,.3);background:rgba(0,217,126,.06)}.auth-plan.expiring{color:var(--close);border-color:rgba(245,166,35,.3);background:rgba(245,166,35,.06)}.auth-upgrade-btn{display:block;width:100%;padding:.8rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:Syne,sans-serif;font-size:.88rem;font-weight:700;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 4px 20px rgba(255,107,53,.32);transition:opacity .15s}.auth-upgrade-btn:hover{opacity:.85}.auth-donate-btn{font-family:JetBrains Mono,monospace;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text2);text-decoration:none;transition:color .15s}.auth-donate-btn:hover{color:var(--accent)}.auth-signout-btn{padding:.65rem 1.5rem;background:var(--surface2);color:var(--text2);border:1px solid var(--border2);border-radius:7px;font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .14s}.auth-signout-btn:hover{background:var(--wrong-dim);border-color:var(--wrong);color:var(--wrong)}.paywall-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:150;display:flex;align-items:center;justify-content:center;padding:1rem}.paywall-card{background:var(--surface);border:1px solid var(--border2);border-radius:20px;max-width:420px;width:100%;padding:3rem 2.5rem;text-align:center;animation:fadeUp .3s ease both}.paywall-icon{font-size:2.5rem;margin-bottom:1rem}.paywall-title{font-family:Syne,sans-serif;font-size:1.6rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem;line-height:1.2}.paywall-desc{font-size:.9rem;color:var(--text2);line-height:1.7;margin-bottom:2rem}.paywall-btn{display:block;width:100%;padding:1rem;background:var(--accent);color:#fff;border:none;border-radius:10px;font-family:Syne,sans-serif;font-size:1rem;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 4px 32px rgba(255,107,53,.4);transition:opacity .15s;margin-bottom:1.25rem}.paywall-btn:hover{opacity:.85}.paywall-sub{font-family:JetBrains Mono,monospace;font-size:.62rem;color:var(--muted);letter-spacing:.04em}.paywall-donate-link{color:var(--text2);transition:color .15s}.paywall-donate-link:hover{color:var(--accent)}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes badgePop{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes toastOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(30px)}}