.modal-overlay[data-v-70b707d0]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;background:rgba(0,0,0,.92);display:flex;align-items:flex-end;justify-content:center;padding:0}.modal-sheet[data-v-70b707d0]{background:#141420;border-radius:20px 20px 0 0;width:100%;max-width:var(--modal-max-width);box-sizing:border-box;max-height:80vh;max-height:80dvh;display:flex;flex-direction:column;overflow:hidden;animation:modal-slide-up-70b707d0 .3s ease-out;will-change:transform,opacity;padding-bottom:env(safe-area-inset-bottom,0)}.modal--sm[data-v-70b707d0]{max-height:65vh;max-height:65dvh}.modal--lg[data-v-70b707d0]{max-height:92vh;max-height:92dvh}@keyframes modal-slide-up-70b707d0{0%{transform:translateY(40%);opacity:0}to{transform:translateY(0);opacity:1}}.modal-handle[data-v-70b707d0]{display:flex;justify-content:center;padding:10px 0 4px;flex-shrink:0}.modal-handle__bar[data-v-70b707d0]{width:36px;height:4px;border-radius:2px;background:hsla(0,0%,100%,.2)}.modal-header[data-v-70b707d0]{display:flex;justify-content:space-between;align-items:center;padding:4px 16px 8px;flex-shrink:0}.modal-title[data-v-70b707d0]{font-size:18px;font-weight:700;color:#f0ece4}.modal-close[data-v-70b707d0]{background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;margin-right:-8px}.modal-body[data-v-70b707d0]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none;padding:0 16px 0 16px;box-sizing:border-box}.modal-body[data-v-70b707d0]::-webkit-scrollbar{display:none}.modal-body__safe-spacer[data-v-70b707d0]{height:100px;height:calc(100px + constant(safe-area-inset-bottom));height:calc(100px + env(safe-area-inset-bottom, 0px));flex-shrink:0}.modal-enter-active[data-v-70b707d0],.modal-leave-active[data-v-70b707d0]{transition:opacity .15s}.modal-enter-from[data-v-70b707d0],.modal-leave-to[data-v-70b707d0]{opacity:0}.light-mode .modal-sheet[data-v-70b707d0]{--bg:#0a0a0f;--card:#141420;--card-hover:#1a1a2e;--text:#f0ece4;--text-muted:#8a8a9a;--border:hsla(0,0%,100%,.06);--glass:hsla(0,0%,100%,.04)}@media (min-width:768px){.modal-sheet[data-v-70b707d0]{max-width:var(--modal-max-width);max-height:86vh;max-height:86dvh}}@media (max-width:480px){.modal-sheet[data-v-70b707d0]{max-width:100vw;margin-left:env(safe-area-inset-left,0);margin-right:env(safe-area-inset-right,0)}}.legal-modal[data-v-01bcd17c]{display:flex;flex-direction:column;gap:12px;min-height:72dvh;padding-bottom:8px}.legal-modal__notice[data-v-01bcd17c]{flex-shrink:0;padding:12px;border-radius:14px;background:linear-gradient(135deg,rgba(255,107,53,.14),rgba(255,79,139,.1));border:1px solid rgba(255,107,53,.28)}.legal-modal__notice-title[data-v-01bcd17c]{margin:0 0 6px;font-size:12px;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.04em}.legal-modal__notice-copy[data-v-01bcd17c]{margin:0;font-size:12px;line-height:1.55;color:var(--text-muted)}.legal-modal__tabs[data-v-01bcd17c]{display:flex;gap:8px;overflow-x:auto;overflow-y:visible;padding:2px 0 4px;scrollbar-width:none;flex-shrink:0;align-items:center}.legal-modal__tabs[data-v-01bcd17c]::-webkit-scrollbar{display:none}.legal-modal__tab[data-v-01bcd17c]{flex:0 0 auto;padding:9px 12px;border-radius:999px;border:1px solid var(--border);background:var(--glass);color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;font-family:Outfit,sans-serif;transition:all .15s ease}.legal-modal__tab.active[data-v-01bcd17c]{border-color:rgba(255,107,53,.45);background:rgba(255,107,53,.12);color:var(--accent)}.legal-modal__actions[data-v-01bcd17c]{flex-shrink:0;display:flex;justify-content:flex-end}.legal-modal__link[data-v-01bcd17c]{padding:8px 12px;border-radius:10px;border:1px solid rgba(255,107,53,.3);background:rgba(255,107,53,.08);color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;font-family:Outfit,sans-serif}.legal-modal__frame-wrap[data-v-01bcd17c]{flex:1;min-height:0;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#0d0d16;display:flex;flex-direction:column}.legal-modal__loading[data-v-01bcd17c]{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;color:var(--text-muted);font-size:.9rem;min-height:200px}.legal-modal__content[data-v-01bcd17c]{flex:1;width:100%;min-height:0;overflow-y:auto;padding:20px 20px 32px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.88rem;line-height:1.7;color:#b0b0c8;background:#0d0d16;box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:none}.legal-modal__content[data-v-01bcd17c]::-webkit-scrollbar{display:none}.legal-modal__content[data-v-01bcd17c] h1{font-size:1.4rem;color:#fff;margin-bottom:4px}.legal-modal__content[data-v-01bcd17c] h2{font-size:1rem;color:#fff;margin-top:28px;border-bottom:1px solid #2a2a3a;padding-bottom:6px}.legal-modal__content[data-v-01bcd17c] h3{font-size:.9rem;color:#e8e8f0;margin-top:16px}.legal-modal__content[data-v-01bcd17c] p{color:#b0b0c8;margin:8px 0}.legal-modal__content[data-v-01bcd17c] li{color:#b0b0c8;margin-bottom:4px}.legal-modal__content[data-v-01bcd17c] a{color:#ff9500;text-decoration:none}.legal-modal__content[data-v-01bcd17c] a:hover{text-decoration:underline}.legal-modal__content[data-v-01bcd17c] table{width:100%;border-collapse:collapse;font-size:.82rem;margin:12px 0}.legal-modal__content[data-v-01bcd17c] th{text-align:left;padding:8px 10px;background:#1a1a2e;color:#fff;border-bottom:1px solid #2a2a3a}.legal-modal__content[data-v-01bcd17c] td{padding:8px 10px;border-bottom:1px solid #1e1e2e;color:#b0b0c8;vertical-align:top}.legal-modal__content[data-v-01bcd17c] .notice,.legal-modal__content[data-v-01bcd17c] .notice-fun{background:#1a1a2e;border-left:3px solid #ff9500;padding:12px 16px;border-radius:6px;margin:16px 0}.legal-modal__content[data-v-01bcd17c] .notice-fun{background:#1a2a1a;border-left-color:#00d4aa}.legal-modal__content[data-v-01bcd17c] .hero{background:linear-gradient(135deg,rgba(255,149,0,.1),rgba(255,79,139,.08));border:1px solid rgba(255,149,0,.25);border-radius:12px;padding:18px;margin:16px 0}.legal-modal__content[data-v-01bcd17c] .card{background:#13131f;border:1px solid #2a2a3a;border-radius:10px;padding:16px 18px;margin:14px 0}.legal-modal__content[data-v-01bcd17c] .delete-section{background:rgba(255,79,139,.06);border:1px solid rgba(255,79,139,.25);border-radius:10px;padding:16px 18px;margin:14px 0}.legal-modal__content[data-v-01bcd17c] .badge{display:inline-block;background:linear-gradient(135deg,#ff9500,#ff4f8b);color:#fff;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;margin-bottom:12px}.legal-modal__content[data-v-01bcd17c] .tag{display:inline-block;background:rgba(0,212,170,.12);border:1px solid rgba(0,212,170,.3);color:#00d4aa;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;margin-bottom:8px}.legal-modal__content[data-v-01bcd17c] .tag-warn{background:rgba(255,79,139,.1);border-color:rgba(255,79,139,.3);color:#ff4f8b}.legal-modal__content[data-v-01bcd17c] .divider{height:1px;background:#2a2a3a;margin:24px 0}.legal-modal__content[data-v-01bcd17c] .updated{font-size:.8rem;color:#666;margin-bottom:24px}.legal-modal__content[data-v-01bcd17c] .service-list{display:flex;flex-direction:column;gap:0}.legal-modal__content[data-v-01bcd17c] .service-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid #1e1e2e;font-size:.82rem}.legal-modal__content[data-v-01bcd17c] .service-row:last-child{border-bottom:none}.legal-modal__content[data-v-01bcd17c] .service-name{color:#e8e8f0;font-weight:600;min-width:120px}.legal-modal__content[data-v-01bcd17c] .service-note{color:#b0b0c8;text-align:right;font-size:.78rem}.legal-modal__content[data-v-01bcd17c] .steps{counter-reset:steps;list-style:none;padding-left:0}.legal-modal__content[data-v-01bcd17c] .steps li{counter-increment:steps;display:flex;gap:10px;padding:6px 0}.legal-modal__content[data-v-01bcd17c] .steps li:before{content:counter(steps);display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:50%;background:rgba(255,149,0,.15);border:1px solid rgba(255,149,0,.3);color:#ff9500;font-size:.75rem;font-weight:700;margin-top:2px}.legal-modal__content[data-v-01bcd17c] .links-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.legal-modal__content[data-v-01bcd17c] .link-btn{display:inline-block;border:1px solid rgba(255,149,0,.35);background:rgba(255,149,0,.08);color:#ff9500;padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;text-decoration:none}@media (min-width:768px){.legal-modal[data-v-01bcd17c]{min-height:78vh}}@media (min-width:1024px){.legal-modal[data-v-01bcd17c]{min-height:82vh}}.error-boundary[data-v-7fa7894e]{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:24px 16px}.error-boundary__card[data-v-7fa7894e]{max-width:420px;width:100%;padding:28px 20px;border-radius:16px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);text-align:center}.error-boundary__icon[data-v-7fa7894e]{font-size:2.4rem;margin-bottom:8px}.error-boundary__title[data-v-7fa7894e]{font-size:1.2rem;font-weight:700;margin-bottom:8px}.error-boundary__body[data-v-7fa7894e]{font-size:.9rem;opacity:.75;margin-bottom:14px}.error-boundary__detail[data-v-7fa7894e]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;opacity:.55;margin-bottom:14px;word-break:break-word}.error-boundary__actions[data-v-7fa7894e]{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.error-boundary__btn[data-v-7fa7894e]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsla(0,0%,100%,.15);background:var(--brand-color,#1867c0);color:#fff;padding:8px 16px;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer}.error-boundary__btn--ghost[data-v-7fa7894e]{background:transparent;color:inherit}.celebration-burst[data-v-592580d2]{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}.celebration-burst__particle[data-v-592580d2]{position:absolute;top:-24px;width:10px;height:14px;border-radius:2px;opacity:0;animation-name:cb-fall-592580d2;animation-timing-function:cubic-bezier(.3,.7,.4,1);animation-iteration-count:1;animation-fill-mode:forwards}.celebration-burst--emoji .celebration-burst__particle[data-v-592580d2]{width:auto;height:auto;font-size:22px;line-height:1;background:transparent!important}.celebration-burst--fireworks .celebration-burst__particle[data-v-592580d2]{width:7px;height:7px;border-radius:50%;animation-name:cb-burst-592580d2}@keyframes cb-fall-592580d2{0%{opacity:0;transform:translateY(-10px) translateX(0) rotate(0deg)}10%{opacity:1}to{opacity:0;transform:translateY(105vh) translateX(var(--cb-drift,0)) rotate(540deg)}}@keyframes cb-burst-592580d2{0%{opacity:0;transform:translateY(40vh) scale(.4)}15%{opacity:1}60%{opacity:1;transform:translateY(18vh) translateX(var(--cb-drift,0)) scale(1.1)}to{opacity:0;transform:translateY(8vh) translateX(calc(var(--cb-drift, 0)*1.6)) scale(.6)}}.cb-fade-leave-active[data-v-592580d2]{transition:opacity .4s ease}.cb-fade-leave-to[data-v-592580d2]{opacity:0}@media (prefers-reduced-motion:reduce){.celebration-burst[data-v-592580d2]{display:none}}.maintenance-banner{z-index:25;background:#f4b400;color:#0f0f1a}.announcement-banner,.maintenance-banner{position:sticky;top:0;padding:10px 16px;text-align:center;font-size:.88rem;font-weight:600}.announcement-banner{z-index:26}.announcement-banner,.maintenance-banner{padding-top:calc(10px + env(safe-area-inset-top, 0px))}.announcement-banner~.maintenance-banner{padding-top:10px}.announcement-banner~.app-content:not(.has-top-nav),.maintenance-banner~.app-content:not(.has-top-nav){padding-top:8px!important}.banner--below-header{top:calc(var(--top-nav-height, 52px) + env(safe-area-inset-top, 0px));padding-top:10px}.announcement-banner.banner--below-header,.maintenance-banner.banner--below-header{margin-top:calc(var(--top-nav-height, 52px) + env(safe-area-inset-top, 0px))}.announcement-banner~.maintenance-banner.banner--below-header{margin-top:0}.banner--below-header~.app-content.has-top-nav{padding-top:8px!important}.announcement-banner--info{background:#2a6df4;color:#fff}.announcement-banner--success{background:#2e7d32;color:#fff}.announcement-banner--warning{background:#f4b400;color:#0f0f1a}.announcement-banner--error{background:#d93025;color:#fff}#app{justify-content:center}#app,#postcards-app{display:flex;background:var(--bg);min-height:100vh;min-height:100dvh}#postcards-app{width:100%;max-width:var(--app-max-width);height:100%;position:relative;overflow:hidden;overscroll-behavior:none;flex-direction:column}.app-content{flex:1;min-height:0;overflow:hidden;padding-top:calc(env(safe-area-inset-top, 0px) + 8px);padding-bottom:var(--safe-bottom-space)}.app-content.no-nav{padding-top:calc(env(safe-area-inset-top, 0px) + 8px)!important;padding-bottom:env(safe-area-inset-bottom,0)!important}.app-content.no-nav.full-bleed{padding:0!important}.app-content.has-top-nav{padding-top:calc(var(--top-nav-height, 52px) + env(safe-area-inset-top, 0px))}.app-content.no-footer{padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 12px)}.legal-gate{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(4,5,10,.84);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.legal-gate__card{width:100%;max-width:520px;padding:24px;border-radius:24px;border:1px solid hsla(0,0%,100%,.1);background:radial-gradient(circle at top,rgba(255,107,53,.18),transparent 46%),linear-gradient(180deg,rgba(22,24,34,.98),rgba(10,10,15,.98));box-shadow:0 24px 60px rgba(0,0,0,.4)}.legal-gate__eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.legal-gate__title{margin:10px 0 12px;color:#fff;font-size:28px;line-height:1.1}.legal-gate__copy{margin:0 0 10px;color:var(--text-muted);line-height:1.6}.legal-gate__actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.legal-gate__link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.04);color:var(--text);text-decoration:none;font:inherit;cursor:pointer}.legal-gate__check{display:flex;align-items:flex-start;gap:10px;padding:14px;border-radius:16px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.03);color:var(--text)}.legal-gate__check input{margin-top:2px;accent-color:var(--accent)}.legal-gate__error{margin:12px 0 0;color:var(--pink)}.legal-gate__accept{width:100%;min-height:48px;margin-top:16px;border:none;border-radius:16px;background:linear-gradient(135deg,var(--accent),var(--pink));color:#fff;font:inherit;font-weight:800;cursor:pointer}.legal-gate__accept:disabled{opacity:.6;cursor:not-allowed}.legal-gate__link--done{border-color:rgba(80,220,150,.5);color:#7bdc9b}.legal-gate__hint{margin:10px 0 0;font-size:.82rem;color:var(--muted,hsla(0,0%,100%,.6))}.skip-link{position:absolute;top:-100%;left:16px;z-index:999999;padding:8px 16px;background:var(--accent);color:#fff;border-radius:0 0 8px 8px;font-size:13px;font-weight:600;text-decoration:none;transition:top .2s}.skip-link:focus{top:0}#main-content:focus{outline:none}@media (display-mode:standalone){.app-content{padding-bottom:var(--safe-bottom-space)}}.app-loader{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.app-loader__plane-wrap{position:relative;width:84px;height:34px;overflow:hidden}.app-loader__trail{position:absolute;left:8px;right:14px;top:50%;height:2px;background:linear-gradient(90deg,rgba(255,107,53,0),rgba(255,107,53,.55));transform:translateY(-50%);animation:trailPulse 1.2s ease-in-out infinite}.app-loader__plane{position:absolute;top:50%;left:-8px;font-size:26px;line-height:1;color:var(--accent);filter:drop-shadow(0 4px 10px rgba(255,107,53,.28));transform:translate(-8px,-50%) rotate(-12deg);animation:planeFly 1.2s ease-in-out infinite}@keyframes planeFly{0%{transform:translate(-8px,-50%) rotate(-12deg)}50%{transform:translate(34px,-64%) rotate(-2deg)}to{transform:translate(78px,-50%) rotate(7deg)}}@keyframes trailPulse{0%,to{opacity:.35}50%{opacity:.9}}.app-loader__text{font-size:24px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}select option{background:var(--bg);color:#fff}.light-mode select option{background:var(--bg);color:var(--text)}.offline-banner{top:env(safe-area-inset-top,0);width:calc(100% - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));z-index:99999;background:#1a1a2e;border-bottom:1px solid rgba(255,107,53,.3);color:var(--text-muted);font-size:12px;padding:8px 16px;justify-content:center;gap:6px}.app-error-toast,.offline-banner{position:fixed;left:50%;transform:translateX(-50%);max-width:var(--app-max-width);box-sizing:border-box;font-weight:600;font-family:Outfit,sans-serif;display:flex;align-items:center}.app-error-toast{bottom:calc(var(--safe-bottom-space) + 8px);z-index:99998;gap:8px;padding:10px 18px;border-radius:14px;background:rgba(255,79,139,.15);border:1px solid rgba(255,79,139,.35);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--text);font-size:13px;white-space:nowrap;width:calc(100% - 32px);box-shadow:0 8px 32px rgba(0,0,0,.4)}.app-update-toast{background:rgba(94,129,255,.16);border-color:rgba(94,129,255,.4);cursor:pointer}@media (min-width:744px){.app-error-toast,.offline-banner{width:calc(100% - var(--page-gutter)*2)}.achievement-celebrate__card{max-width:380px}}.toast-enter-active{animation:toast-in .4s ease}.toast-leave-active{animation:toast-out .3s ease}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(20px)}}.achievement-celebrate{position:fixed;inset:0;z-index:100000;justify-content:center;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:16px;padding-top:calc(16px + env(safe-area-inset-top, 0px));padding-bottom:calc(16px + env(safe-area-inset-bottom, 0px));padding-left:calc(16px + env(safe-area-inset-left, 0px));padding-right:calc(16px + env(safe-area-inset-right, 0px))}.achievement-celebrate,.achievement-celebrate__card{display:flex;align-items:center;box-sizing:border-box;overflow:hidden}.achievement-celebrate__card{position:relative;max-width:320px;width:100%;max-height:calc(100vh - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));max-height:calc(100dvh - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));background:var(--glass);border:1px solid rgba(255,215,0,.35);border-radius:24px;padding:32px 24px 24px;flex-direction:column;gap:8px;box-shadow:0 0 60px rgba(255,215,0,.25),0 24px 48px rgba(0,0,0,.5);text-align:center;overflow-y:auto;-webkit-overflow-scrolling:touch}.achievement-celebrate__glow{position:absolute;inset:-40px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.18) 0,transparent 70%);pointer-events:none;animation:achGlow 2s ease-in-out infinite alternate}@keyframes achGlow{0%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1.05)}}.achievement-celebrate__icon{font-size:56px;line-height:1;margin-bottom:4px;animation:achBounce .5s ease}@keyframes achBounce{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.achievement-celebrate__label{font-size:11px;font-weight:700;color:gold;text-transform:uppercase;letter-spacing:.1em}.achievement-celebrate__name{font-size:22px;font-weight:800;color:var(--text)}.achievement-celebrate__desc{font-size:13px;color:var(--text-muted)}.achievement-celebrate__xp{font-size:18px;font-weight:800;color:gold;margin-top:4px}.achievement-celebrate__btn{margin-top:12px;padding:11px 32px;background:linear-gradient(135deg,gold,#ff6f00);border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:Outfit,sans-serif}.achievement-pop-enter-active{animation:achModalIn .35s ease}.achievement-pop-leave-active{animation:achModalOut .25s ease}@keyframes achModalIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes achModalOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.cb-layer{position:fixed;inset:0;z-index:100002;pointer-events:none}.levelup-celebrate{position:fixed;inset:0;z-index:100000;justify-content:center;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:16px;padding-top:calc(16px + env(safe-area-inset-top, 0px));padding-bottom:calc(16px + env(safe-area-inset-bottom, 0px));padding-left:calc(16px + env(safe-area-inset-left, 0px));padding-right:calc(16px + env(safe-area-inset-right, 0px))}.levelup-celebrate,.levelup-celebrate__card{display:flex;align-items:center;box-sizing:border-box;overflow:hidden}.levelup-celebrate__card{position:relative;max-width:320px;width:100%;max-height:calc(100dvh - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));background:var(--glass);border:1px solid rgba(0,212,170,.35);border-radius:24px;padding:32px 24px 24px;flex-direction:column;gap:8px;box-shadow:0 0 60px rgba(0,212,170,.22),0 24px 48px rgba(0,0,0,.5);text-align:center;overflow-y:auto;-webkit-overflow-scrolling:touch}.levelup-celebrate__glow{position:absolute;inset:-40px;border-radius:50%;background:radial-gradient(circle,rgba(0,212,170,.18) 0,transparent 70%);pointer-events:none;animation:achGlow 2s ease-in-out infinite alternate}.levelup-celebrate__icon{font-size:54px;line-height:1;margin-bottom:4px;animation:achBounce .5s ease}.levelup-celebrate__label{font-size:11px;font-weight:700;color:#00d4aa;text-transform:uppercase;letter-spacing:.1em}.levelup-celebrate__level{font-size:26px;font-weight:800;color:var(--text)}.levelup-celebrate__desc{font-size:13px;color:var(--text-muted)}.levelup-celebrate__btn{margin-top:14px;padding:11px 32px;background:linear-gradient(135deg,var(--accent),var(--pink));border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:Outfit,sans-serif}:root{color-scheme:dark;--app-max-width:1024px;--page-gutter:16px;--page-gutter-tablet-sm:24px;--page-gutter-tablet:28px;--page-gutter-tablet-lg:32px;--top-nav-height:52px;--bottom-nav-height:78px;--bottom-nav-side-gap:0px;--bottom-nav-bottom-gap:0px;--bottom-nav-offset:calc(var(--bottom-nav-height) + var(--bottom-nav-bottom-gap) + 16px);--safe-bottom-space:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom, 0px));--floating-bottom-offset:calc(var(--safe-bottom-space) + 12px);--safe-top-space:calc(env(safe-area-inset-top, 0px) + 12px);--modal-max-width:420px;--floating-edge-offset:max(var(--page-gutter),calc((100vw - var(--app-max-width))/2 + var(--page-gutter)));--bg:#0a0a0f;--card:#141420;--card-hover:#1a1a2e;--accent:#ff6b35;--accent-glow:rgba(255,107,53,.3);--gold:gold;--gold-glow:rgba(255,215,0,.25);--teal:#00d4aa;--teal-glow:rgba(0,212,170,.2);--purple:#a855f7;--purple-glow:rgba(168,85,247,.2);--pink:#ff4f8b;--pink-glow:rgba(255,79,139,.3);--text:#f0ece4;--text-muted:#8a8a9a;--border:hsla(0,0%,100%,.06);--glass:hsla(0,0%,100%,.04)}.light-mode{--bg:#f4f2ee;--card:#fff;--card-hover:#f0ede8;--text:#1a1a2e;--text-muted:#6b6b80;--border:rgba(0,0,0,.1);--glass:rgba(0,0,0,.04)}.light-mode,.light-mode input[type=date],.light-mode input[type=time]{color-scheme:light}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}#app,body,html{width:100%;height:100%;height:100dvh;min-height:100%;min-height:100dvh;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);overflow:hidden;overflow-x:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch}body{position:relative}button,input,select,textarea{font:inherit}@media (hover:none) and (pointer:coarse){input:not([type=range]),select,textarea{font-size:16px!important}}[class*=-info],[class*=__info]{min-width:0}.scroll-hide{-ms-overflow-style:none;scrollbar-width:none}.scroll-hide::-webkit-scrollbar{display:none}.scroll-hide,[class$=-view],[class*="-view "]{scroll-padding-top:var(--safe-top-space);scroll-padding-bottom:calc(var(--safe-bottom-space) + 16px)}html.modal-scroll-lock .scroll-hide{overflow:hidden!important;touch-action:none!important}.page-enter-active,.page-leave-active{transition:opacity .15s ease}.page-enter-from,.page-leave-to{opacity:0}.stagger-item{animation:stagger-in .35s ease-out both}.stagger-item:first-child{animation-delay:.03s}.stagger-item:nth-child(2){animation-delay:.06s}.stagger-item:nth-child(3){animation-delay:.09s}.stagger-item:nth-child(4){animation-delay:.12s}.stagger-item:nth-child(5){animation-delay:.15s}.stagger-item:nth-child(6){animation-delay:.18s}@keyframes stagger-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes badge-bounce{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}[role=button],a,button{touch-action:manipulation}[role=tablist],button,nav{-webkit-user-select:none;-moz-user-select:none;user-select:none}.scroll-hide{overscroll-behavior-y:contain}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-input--error{border-color:#ff6b6b!important;box-shadow:0 0 0 1px hsla(0,100%,71%,.3)}.skeleton{background:linear-gradient(90deg,var(--glass) 25%,hsla(0,0%,100%,.08) 50%,var(--glass) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}input[type=date],input[type=time]{color-scheme:dark;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:100%;min-width:0}input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left}@media (min-width:744px){:root{--page-gutter:var(--page-gutter-tablet-sm);--modal-max-width:560px}}@media (min-width:810px){:root{--page-gutter:var(--page-gutter-tablet);--modal-max-width:640px}}@media (min-width:1024px){:root{--page-gutter:var(--page-gutter-tablet-lg);--modal-max-width:720px}}@media (display-mode:standalone) and (max-width:767px){:root{--bottom-nav-height:82px;--bottom-nav-side-gap:12px;--bottom-nav-bottom-gap:6px}}