.celebration-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.celebration-modal{position:relative;background:var(--bg);border:2px solid var(--accent);border-radius:16px;padding:3rem 2rem;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 60px #6366f14d;animation:popIn .5s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.celebration-content{position:relative;z-index:2}.celebration-icon{font-size:4rem;margin-bottom:1rem;animation:bounce .6s ease-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.celebration-modal h2{font-size:1.8rem;font-weight:800;margin-bottom:.5rem;color:var(--accent);letter-spacing:-.02em}.milestone-name{font-size:1.1rem;color:var(--text);margin-bottom:1.5rem;font-weight:600}.credits-earned{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-bottom:1.5rem;padding:1rem;background:#6366f11a;border-radius:12px}.credit-amount{font-size:1.8rem;font-weight:800;color:var(--accent)}.credit-label{font-size:.9rem;color:var(--text2)}.celebration-message{font-size:.95rem;color:var(--text2);line-height:1.5}.confetti{position:absolute;width:8px;height:8px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:1;animation:fall linear forwards}@keyframes fall{to{transform:translateY(400px) rotate(360deg);opacity:0}}.earn-credits-page{padding:2rem;max-width:1200px;margin:0 auto;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.earn-credits-header{text-align:center;margin-bottom:2rem;flex-shrink:0}.earn-credits-header h1{font-size:1.75rem;margin-bottom:.3rem;color:var(--text)}.earn-credits-header p{font-size:.95rem;color:var(--text2)}.milestones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;flex:1;overflow-y:auto}.milestone-card{border:1px solid var(--border);border-radius:8px;padding:.9rem;background:var(--bg);display:flex;flex-direction:column;transition:all .3s ease;cursor:pointer}.milestone-card:hover:not(.claimed){border-color:var(--accent);box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.milestone-card.claimed{opacity:.7;background:var(--bg2)}.milestone-card.celebrating{animation:celebrate .6s ease-out}@keyframes celebrate{0%{transform:scale(1) rotate(0)}50%{transform:scale(1.05) rotate(5deg)}to{transform:scale(1) rotate(0)}}.milestone-icon{font-size:1.8rem;margin-bottom:.6rem}.milestone-card h3{font-size:.95rem;font-weight:600;margin-bottom:.3rem;color:var(--text)}.milestone-card p{font-size:.8rem;color:var(--text2);margin-bottom:.7rem;flex:1;line-height:1.3}.milestone-credits{margin-bottom:.6rem}.credit-badge{display:inline-block;background:var(--accent);color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.claim-btn{padding:.5rem .7rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s ease}.claim-btn:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px)}.claim-btn:disabled{background:#6366f133;color:var(--accent);cursor:not-allowed;border:1px solid var(--accent)}.refer-page{padding:2rem;max-width:800px;margin:0 auto}.refer-page h1{font-size:2.2rem;font-weight:800;margin-bottom:1rem;color:var(--text);letter-spacing:-.02em}.refer-subtitle{font-size:1rem;color:var(--text2);line-height:1.6;margin-bottom:2rem}.refer-subtitle strong{color:var(--text);font-weight:600}.divider{border:none;border-top:1px solid var(--border);margin:2rem 0}.referral-stat{display:flex;align-items:flex-start;gap:2rem;margin-bottom:3rem}.stat-number{font-size:4rem;font-weight:900;color:var(--accent);min-width:80px;line-height:1}.stat-label{flex:1}.stat-title{font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.stat-description{font-size:.95rem;color:var(--text2);font-style:italic;line-height:1.5}.copy-section{margin-bottom:2rem}.copy-section h3{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:1.2rem}.link-container{display:flex;gap:.5rem;align-items:center}.link-input{flex:1;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg2);color:var(--text2);font-size:.9rem;font-family:Courier New,monospace;outline:none;transition:border-color .2s}.link-input:focus{border-color:var(--accent)}.copy-btn{padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg2);cursor:pointer;font-size:1.1rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.copy-btn:hover{background:var(--bg3);border-color:var(--accent)}.copy-feedback{font-size:.85rem;color:var(--green);margin-top:.5rem;font-weight:600}.credits-summary{display:flex;align-items:center;gap:.8rem;padding:1.2rem;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:8px;margin-top:2rem;font-size:.95rem;color:var(--text)}.credits-icon{font-size:1.3rem}.credits-summary strong{color:var(--green);font-weight:700}.loading{text-align:center;padding:2rem;color:var(--text2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f0f0f8;--bg2:#ffffff;--bg3:#e0e7ff;--bg4:#d5dae9;--bg5:#c8c8e0;--border:rgba(0,0,0,.07);--border2:rgba(0,0,0,.13);--accent:#6366f1;--accent2:#818cf8;--accent3:#a5b4fc;--green:#14b8a6;--amber:#f59e0b;--red:#f43f5e;--teal:#0d9488;--text:#0f0f1a;--text2:#6b6b9a;--text3:#9494c0;--sidebar:240px;--nav-bg:rgba(248,249,252,.92);--card:#ffffff;--fh:"Plus Jakarta Sans",sans-serif;--fb:"Plus Jakarta Sans",sans-serif;--fm:"JetBrains Mono",monospace}.dark{--bg:#08080f;--bg2:#0d0d1c;--bg3:#161626;--bg4:#252540;--bg5:#6b6b9a;--border:rgba(130,120,220,.18);--border2:rgba(150,140,240,.28);--accent:#6366f1;--accent2:#818cf8;--accent3:#a5b4fc;--green:#14b8a6;--amber:#f59e0b;--red:#f43f5e;--teal:#0d9488;--text:#c8c8e0;--text2:#9494c0;--text3:#6b6b9a;--nav-bg:rgba(24,22,40,.94);--card:#0d0d1c}body{background:var(--bg);color:var(--text);font-family:var(--fb);font-size:14px;line-height:1.6;min-height:100vh;overflow:hidden;transition:background .25s,color .25s}@media (max-width:768px){body{overflow:auto}}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(99,102,241,.045) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;z-index:0;-webkit-mask-image:radial-gradient(ellipse 70% 50% at 30% 0%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 70% 50% at 30% 0%,#000 40%,transparent 100%)}#root{position:relative;z-index:1;height:100vh;display:flex;flex-direction:column}@media (max-width:768px){#root{height:auto;min-height:100vh}}h1,h2,h3{font-family:var(--fh);letter-spacing:-.02em}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--fm);font-size:.85em;background:var(--bg3);padding:1px 5px;border-radius:4px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;font-family:var(--fb);font-size:13px;font-weight:600;cursor:pointer;transition:all .14s;border:none;white-space:nowrap}.btn-p{background:#6366f1;color:#fff;box-shadow:0 3px 12px #6366f147}.btn-p:hover{transform:translateY(-1px);background:#818cf8;box-shadow:0 5px 18px #6366f161}.btn-p:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}.btn-g{background:transparent;border:1px solid rgba(255,255,255,.12);color:#c8c8e0}.btn-g:hover{color:var(--text);background:#6366f11a}.btn-red{background:#f43f5e14;border:1px solid rgba(244,63,94,.18);color:#f43f5e}.btn-red:hover{background:#f43f5e26}.btn-green{background:#14b8a61a;border:1px solid rgba(20,184,166,.2);color:#14b8a6}.card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin-bottom:10px}.ct{font-size:14px;font-weight:600;margin-bottom:3px}.cs{font-size:12px;color:var(--text3);margin-bottom:10px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.field label{font-size:11px;font-weight:500;color:var(--text2)}.field input,.field select,.field textarea{padding:9px 13px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#161626;color:#eeeef8;font-family:var(--fb);font-size:13px;outline:none;transition:border-color .15s;width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:#6366f1;outline:none}.field textarea{resize:vertical;min-height:56px;line-height:1.5}.g2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sw{position:relative;display:inline-block;width:34px;height:18px;flex-shrink:0}.sw input{opacity:0;width:0;height:0}.sw-t{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--bg5);border-radius:99px;transition:.2s}.sw-t:before{content:"";position:absolute;width:14px;height:14px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:.2s}.sw input:checked+.sw-t{background:var(--accent)}.sw input:checked+.sw-t:before{transform:translate(16px)}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600;font-family:var(--fm)}.badge-green{background:#0596691a;color:var(--green)}.badge-amber{background:#d977061a;color:var(--amber)}.badge-red{background:#dc262614;color:var(--red)}.badge-blue{background:#6366f11a;color:var(--accent2)}.badge-gray{background:var(--bg3);color:var(--text3)}.spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(99,102,241,.2);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.greet-float{animation:greet-float 2.8s ease-in-out 3 forwards}@keyframes greet-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.greet-spin{animation:greet-spin 8s linear 3 forwards}@keyframes greet-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.greet-pulse{animation:greet-pulse 2.4s ease-in-out 3 forwards}@keyframes greet-pulse{0%,to{transform:scale(1)}40%{transform:scale(1.18)}60%{transform:scale(1.12)}}.greet-zzz{animation:zzz-rise 2.2s ease-in-out 3 forwards}@keyframes zzz-rise{0%{opacity:0;transform:translateY(3px) scale(.7)}30%{opacity:1;transform:translateY(-1px) scale(1)}70%{opacity:1;transform:translateY(-3px) scale(1)}to{opacity:1;transform:translateY(-6px) scale(1)}}.empty{text-align:center;padding:44px 20px;color:var(--text3);font-size:12px;line-height:1.8}.page-inner{padding:12px 18px;overflow-y:auto;height:100%}hr{border:none;border-top:1px solid var(--border);margin:10px 0}.ar{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:768px){:root{--sidebar:0px }.app-sidebar{display:none!important}.mobile-nav{display:flex!important}.desktop-only{display:none!important}.page-inner{padding:10px 12px 76px!important}.g2{grid-template-columns:1fr!important}.app-header-greeting{display:none!important}.app-header-actions{gap:6px!important}.app-header-username{display:none!important}.mobile-logo{display:flex!important}.card{border-radius:10px}.modal-box{width:100%!important;max-width:100%!important;max-height:92vh!important;border-radius:20px 20px 0 0!important;position:fixed!important;bottom:0!important;left:0!important;margin:0!important}.btn{min-height:40px;padding:8px 14px}.page-inner>*{max-width:100%!important}.page-inner{overflow-x:hidden}}@media (min-width:769px) and (max-width:1024px){:root{--sidebar:200px }.page-inner{padding:10px 14px 20px}}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;height:60px;background:var(--nav-bg);backdropFilter:blur(12px);border-top:1px solid var(--border);align-items:stretch;padding-bottom:env(safe-area-inset-bottom,0px)}
