.achievement-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:achievementModalFadeIn .3s ease-out}@keyframes achievementModalFadeIn{0%{opacity:0}to{opacity:1}}.achievement-modal-card{background:linear-gradient(145deg,var(--bg-elevated) 0%,var(--bg-card) 100%);border-radius:20px;padding:28px 24px;max-width:340px;width:100%;text-align:center;position:relative;overflow:hidden;border:2px solid var(--accent);box-shadow:0 0 0 1px #e9456033,0 20px 40px #0006;animation:achievementModalPop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes achievementModalPop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.achievement-modal-confetti{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 30%,var(--accent) 2px,transparent 2px),radial-gradient(circle at 80% 20%,var(--success) 2px,transparent 2px),radial-gradient(circle at 40% 80%,var(--accent) 2px,transparent 2px),radial-gradient(circle at 70% 70%,var(--success) 2px,transparent 2px);background-size:60px 60px,50px 50px,70px 70px,55px 55px;opacity:.25;pointer-events:none}.achievement-modal-trophy{font-size:4rem;line-height:1;margin-bottom:12px;animation:achievementTrophyBounce .6s ease-out .2s both}@keyframes achievementTrophyBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.achievement-modal-title{margin:0 0 20px;font-size:1.35rem;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.achievement-modal-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.achievement-modal-item{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:#ffffff0f;border-radius:var(--radius);border-left:4px solid var(--success)}.achievement-modal-item-name{font-weight:700;font-size:1.05rem}.achievement-modal-item-desc{font-size:.875rem;color:var(--text-muted)}.achievement-modal-btn{min-width:160px}@font-face{font-family:NOS;src:url(/fonts/NOS.ttf) format("truetype");font-weight:400;font-style:normal}:root{--bg: #0f0f1a;--bg-card: #1a1a2e;--bg-elevated: #16213e;--accent: #B8FF5F;--accent-dim: #9ae04f;--error: #B8FF5F;--text: #eaeaea;--text-muted: #a0a0a0;--success: #FBD06B;--radius: 12px;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom)}*{box-sizing:border-box}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100dvh;padding-bottom:calc(80px + var(--safe-bottom))}#root{min-height:100%}a{color:var(--accent);text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:1rem}.app-shell{max-width:480px;margin:0 auto;padding:0 16px;padding-top:calc(16px + var(--safe-top))}.app-logo{font-family:NOS,sans-serif;font-weight:600}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-spinner-circle{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--accent);border-radius:50%;animation:loading-spin .8s linear infinite}.card{background:var(--bg-card);border-radius:var(--radius);padding:16px;margin-bottom:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.modal-content{margin:0;max-height:90vh;overflow-y:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius);font-weight:600;font-size:.95rem;transition:transform .1s,opacity .2s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#0f0f1a;width:100%}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-elevated);color:var(--text);border:1px solid rgba(255,255,255,.1)}.btn-ghost{background:transparent;color:var(--accent)}.input-group{margin-bottom:16px}.input-group label{display:block;margin-bottom:6px;font-size:.875rem;color:var(--text-muted)}.input-group input,.input-group select,.input-group textarea{width:100%;padding:12px 14px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.15);background:var(--bg-elevated);color:var(--text)}.input-group input::placeholder,.input-group textarea::placeholder{color:var(--text-muted)}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:var(--accent)}.input{width:100%;padding:12px 14px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.15);background:var(--bg-elevated);color:var(--text)}.input:focus{outline:none;border-color:var(--accent)}.nav-bottom{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;height:calc(64px + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--bg-card);border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-around;align-items:center;z-index:100}.nav-bottom a{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-muted);font-size:.7rem;padding:8px 16px;border-radius:var(--radius)}.nav-bottom a.active{color:var(--accent)}.nav-bottom a.nav-cta{background:var(--accent);color:#0f0f1a;padding:10px 20px;border-radius:999px;font-weight:600;margin-top:-8px;box-shadow:0 4px 12px #00000040}.nav-bottom a.nav-cta.active{color:#0f0f1a;background:var(--accent);filter:brightness(1.1)}.progress-bar{height:8px;background:var(--bg-elevated);border-radius:4px;overflow:hidden;margin-top:8px}.progress-bar-fill{height:100%;background:var(--success);border-radius:4px;transition:width .3s ease}.progress-bar-fill.complete{background:var(--accent)}
