@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--app-max:100%}body{min-height:var(--app-vh,100dvh);font-family:Inter,sans-serif;overflow-x:hidden}.app{min-height:var(--app-vh,100dvh);max-width:var(--app-max);padding-top:var(--safe-top,0px);flex-direction:column;margin:0 auto;transition:background .5s;display:flex;position:relative}.page-content{padding:16px;padding-bottom:calc(90px + var(--safe-bottom,0px));z-index:1;flex:1;position:relative}.theme-light{background:#e8edf5}.theme-light .card{-webkit-backdrop-filter:blur(12px);color:#1a1a2e;background:#ffffffa6;border:.5px solid #ffffffe6;border-radius:18px;margin-bottom:10px;padding:14px}.theme-light .card-hero{-webkit-backdrop-filter:blur(14px);text-align:center;color:#1a1a2e;background:#ffffffa6;border:.5px solid #ffffffe6;border-radius:22px;margin-bottom:10px;padding:22px 18px}.theme-light .btn-primary{color:#fff;cursor:pointer;background:#3b5bdb;border:none;border-radius:13px;width:100%;padding:13px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:opacity .15s,transform .15s}.theme-light .btn-secondary{color:#3b5bdb;cursor:pointer;background:#3b5bdb1a;border:.5px solid #3b5bdb33;border-radius:13px;width:100%;padding:13px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:opacity .15s}.theme-dark{background:#0f0f14}.theme-dark .card{-webkit-backdrop-filter:blur(12px);color:#fff;background:#ffffff0d;border:.5px solid #ffffff14;border-radius:18px;margin-bottom:10px;padding:14px}.theme-dark .card-hero{-webkit-backdrop-filter:blur(14px);text-align:center;color:#fff;background:#ffffff0d;border:.5px solid #ffffff14;border-radius:22px;margin-bottom:10px;padding:22px 18px}.theme-dark .btn-primary{color:#fff;cursor:pointer;background:#7c6fff;border:none;border-radius:13px;width:100%;padding:13px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:opacity .15s,transform .15s}.theme-dark .btn-secondary{color:#7c6fff;cursor:pointer;background:#7c6fff26;border:.5px solid #7c6fff40;border-radius:13px;width:100%;padding:13px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:opacity .15s}.btn-primary{transition:opacity .15s,transform .12s cubic-bezier(.34,1.56,.64,1)}.btn-primary:hover{opacity:.92}.btn-primary:active{opacity:.85;transform:scale(.96)}.btn-secondary{transition:opacity .15s,transform .12s cubic-bezier(.34,1.56,.64,1)}.btn-secondary:hover{opacity:.85}.btn-secondary:active{opacity:.75;transform:scale(.96)}.btn-anim{cursor:pointer;transition:transform .12s cubic-bezier(.34,1.56,.64,1),opacity .15s}.btn-anim:hover{transform:scale(1.03)}.btn-anim:active{opacity:.8;transform:scale(.95)}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .12s cubic-bezier(.34,1.56,.64,1),filter .12s,opacity .12s}button:active{filter:brightness(1.06);transform:scale(.94)}.tap{-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;transition:transform .12s cubic-bezier(.34,1.56,.64,1),filter .12s}.tap:active{transform:scale(.96)}@keyframes appearUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.appear{animation:.38s cubic-bezier(.22,1,.36,1) both appearUp}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.msg-pop{animation:.28s cubic-bezier(.22,1,.36,1) msgIn}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.toast-pop{animation:.3s cubic-bezier(.22,1,.36,1) toastIn}@keyframes msgOut{to{opacity:0;transform:translateY(8px)scale(.97)}}.msg-out{animation:.32s cubic-bezier(.4,0,1,1) forwards msgOut}@keyframes toastOut{to{opacity:0;transform:translate(-50%)translateY(12px)}}.toast-out{animation:.32s cubic-bezier(.4,0,1,1) forwards toastOut}@keyframes pageIn{0%{opacity:0}to{opacity:1}}.page-content{animation:.24s both pageIn}@keyframes screenIn{0%{opacity:0}to{opacity:1}}.screen-in{animation:.35s both screenIn}@keyframes itemDrop{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}.item-drop{animation:.42s cubic-bezier(.3,1.2,.5,1) both itemDrop}
