:root{--bg: #0B0F19;--bg-2: #0F172A;--glass: rgba(30, 41, 59, .55);--glass-strong: rgba(30, 41, 59, .75);--border: rgba(255, 255, 255, .08);--border-hi: rgba(255, 255, 255, .14);--text-1: #F1F5F9;--text-2: #94A3B8;--text-3: #64748B;--accent-1: #6366F1;--accent-2: #8B5CF6;--grad: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);--success: #10B981;--warning: #F59E0B;--danger: #F43F5E;--shadow-neon: 0 4px 24px rgba(99, 102, 241, .35);--radius-lg: 24px;--radius-md: 18px;--radius-sm: 12px;--font-family: "Plus Jakarta Sans", "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{min-height:100vh;background:var(--bg);color:var(--text-1);font-family:var(--font-family);overflow-x:hidden}body{background:radial-gradient(900px 500px at 15% -10%,rgba(99,102,241,.22),transparent 60%),radial-gradient(700px 500px at 100% 0%,rgba(139,92,246,.16),transparent 55%),radial-gradient(600px 400px at 50% 100%,rgba(16,185,129,.08),transparent 60%),var(--bg);min-height:100vh}.app{max-width:480px;margin:0 auto;min-height:100vh;position:relative;padding-bottom:110px}::-webkit-scrollbar{display:none}.header{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 8px;animation:fadeIn .5s ease both}.profile{display:flex;align-items:center;gap:12px}.avatar{width:46px;height:46px;border-radius:16px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;box-shadow:var(--shadow-neon);position:relative}.avatar:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:18px;border:2px solid rgba(139,92,246,.35)}.greet{line-height:1.25}.greet .hi{font-size:12px;color:var(--text-2);font-weight:500}.greet .name{font-size:15px;font-weight:700;letter-spacing:.2px}.icon-btn{width:42px;height:42px;border-radius:14px;background:var(--glass);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;color:var(--text-1);position:relative}.icon-btn:active{transform:scale(.93)}.icon-btn .dot{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:var(--danger);box-shadow:0 0 10px #f43f5ee6;animation:pulse-dot-red 2s infinite}@keyframes pulse-dot-red{0%,to{box-shadow:0 0 #f43f5ecc}50%{box-shadow:0 0 0 6px #f43f5e00}}.balance-card{margin:18px 20px 0;padding:26px 22px;border-radius:var(--radius-lg);background:linear-gradient(160deg,#6366f159,#8b5cf626 60%,#1e293b99);border:1px solid var(--border-hi);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden;animation:fadeInUp .6s ease both .05s}.balance-card:before{content:"";position:absolute;top:-60%;right:-30%;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 65%);filter:blur(10px)}.balance-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1}.balance-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#ffffffbf;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.badge-tier{padding:5px 10px;font-size:11px;font-weight:700;border-radius:999px;background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.35);letter-spacing:.4px}.balance-value{margin-top:14px;display:flex;align-items:baseline;gap:8px;position:relative;z-index:1}.balance-value .num{font-family:Outfit,sans-serif;font-size:44px;font-weight:800;letter-spacing:-1px;background:linear-gradient(180deg,#fff,#e2e8f0);-webkit-background-clip:text;background-clip:text;color:transparent}.balance-value .cur{font-size:18px;font-weight:600;color:#ffffffb3}.glow-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--warning);top:28px;right:26px;animation:pulse-glow 2.4s ease-in-out infinite}.balance-sub{margin-top:16px;display:flex;align-items:center;gap:6px;font-size:13px;color:#ffffffa6;position:relative;z-index:1}.balance-sub b{color:#34d399;font-weight:700}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 20px 0;animation:fadeInUp .6s ease both .1s}.qa-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;transition:transform .15s ease,border-color .2s ease}.qa-item:active{transform:scale(.94);border-color:var(--border-hi)}.qa-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#6366f126;color:#a5b4fc}.qa-item:nth-child(2) .qa-icon{background:#10b98126;color:#6ee7b7}.qa-item:nth-child(3) .qa-icon{background:#f59e0b26;color:#fcd34d}.qa-item:nth-child(4) .qa-icon{background:#f43f5e26;color:#fda4af}.qa-label{font-size:11.5px;color:var(--text-2);font-weight:600;text-align:center}.section{margin:28px 20px 0;animation:fadeInUp .6s ease both .15s}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title{font-size:17px;font-weight:800;letter-spacing:-.2px}.section-link{font-size:12.5px;color:var(--accent-2);font-weight:700;cursor:pointer}.task-card{display:flex;align-items:center;gap:14px;padding:16px;margin-bottom:12px;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .15s ease,border-color .2s ease}.task-card:active{transform:scale(.98)}.task-icon{flex-shrink:0;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f140,#8b5cf626);color:#c4b5fd;font-size:20px}.task-body{flex:1;min-width:0}.task-title{font-size:14.5px;font-weight:700;margin-bottom:4px}.task-desc{font-size:12.5px;color:var(--text-2)}.task-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.task-points{font-size:13px;font-weight:800;color:#fcd34d;white-space:nowrap}.status{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:999px;letter-spacing:.3px;white-space:nowrap}.status.active{background:#6366f12e;color:#a5b4fc;border:1px solid rgba(99,102,241,.35)}.status.pending{background:#f59e0b26;color:#fcd34d;border:1px solid rgba(245,158,11,.3)}.status.completed{background:#10b98126;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.status.rejected{background:#f43f5e26;color:#fda4af;border:1px solid rgba(244,63,94,.3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius-sm);font-weight:700;font-size:14px;border:none;cursor:pointer;transition:all .15s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--grad);color:#fff;box-shadow:var(--shadow-neon)}.btn-secondary{background:#ffffff14;color:var(--text-1)}.btn-accent{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-block{width:100%}.prizes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.prize-card{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;justify-content:space-between;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.prize-title{font-weight:700;font-size:15px;margin-bottom:6px}.prize-stock{font-size:12px;color:var(--text-3);margin-bottom:12px}.prize-cost{font-size:18px;font-weight:800;color:#fcd34d;margin-bottom:12px}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.leader-item{display:flex;align-items:center;justify-content:space-between;background:var(--glass);border:1px solid var(--border);padding:14px 18px;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.leader-rank{width:30px;font-weight:800;color:var(--text-3);font-size:15px}.leader-rank.top1{color:#f59e0b}.leader-rank.top2{color:#94a3b8}.leader-rank.top3{color:#d97706}.leader-name{flex-grow:1;font-weight:700;font-size:14px}.leader-points{font-weight:800;color:#fcd34d;font-size:15px}.filter-pills{display:flex;gap:8px;margin-bottom:16px}.pill{padding:8px 16px;border-radius:20px;background:#ffffff0f;color:var(--text-2);border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer}.pill.active{background:#6366f133;color:var(--accent-1);border-color:#6366f166}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-2);margin-bottom:6px}input[type=text],input[type=number],select,textarea{width:100%;padding:12px;border-radius:var(--radius-sm);background:#0f172acc;border:1px solid var(--border);color:#fff;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-1)}.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;align-items:center;justify-content:center;padding:16px}.modal-overlay.active{display:flex}.modal-card{background:#0f172a;border:1px solid var(--border-hi);border-radius:var(--radius-lg);width:100%;max-width:440px;padding:20px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-close{background:none;border:none;color:var(--text-3);font-size:24px;cursor:pointer}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.bottom-nav{position:fixed;bottom:16px;left:50%;transform:translate(-50%);width:calc(100% - 40px);max-width:440px;display:flex;justify-content:space-around;align-items:center;padding:12px 8px;background:var(--glass-strong);border:1px solid var(--border-hi);border-radius:22px;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 10px 40px #00000073;z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-3);cursor:pointer;padding:6px 14px;border-radius:14px;position:relative;background:none;border:none;transition:color .2s ease,background .2s ease;flex:1}.nav-item .nav-icon{font-size:20px}.nav-item .nav-label{font-size:10px;font-weight:700;letter-spacing:.2px}.nav-item.active{color:#fff;background:#6366f129}.admin-tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto}.admin-subtab{padding:8px 14px;border-radius:var(--radius-sm);background:#ffffff0f;color:var(--text-2);border:none;font-size:13px;cursor:pointer}.admin-subtab.active{background:var(--grad);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #f59e0b99}50%{box-shadow:0 0 0 8px #f59e0b00}}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1f 37%,#ffffff0a 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0% 50%}}.skeleton-avatar{width:46px;height:46px;border-radius:16px}.skeleton-text{height:14px;border-radius:6px}.skeleton-title{width:130px;height:16px}.skeleton-subtitle{width:80px;height:12px;margin-top:6px}.skeleton-balance-card{margin:18px 20px 0;height:140px;border-radius:var(--radius-lg)}.skeleton-task-card{height:76px;margin-bottom:12px;border-radius:var(--radius-md)}.search-box{position:relative;display:flex;align-items:center;width:100%}.search-box input{width:100%;padding:10px 36px!important;border-radius:12px!important;background:#ffffff0f!important;border:1px solid rgba(255,255,255,.12)!important;color:var(--text-1)!important;font-size:13px!important;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--accent-1)!important}.search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;z-index:2;flex-shrink:0}.search-box .clear-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent!important;border:none!important;color:var(--text-3)!important;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px!important;border-radius:50%;z-index:2;transition:background .2s ease,color .2s ease}.search-box .clear-btn:hover{color:#fff!important;background:#ffffff1f!important}.fab-btn{position:fixed;bottom:86px;right:max(20px,calc(50vw - 220px));width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;box-shadow:0 8px 24px #6366f180;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:9999;transition:transform .15s ease,box-shadow .15s ease}.fab-btn:active{transform:scale(.92)}.duo-path-wrapper{position:relative;width:100%;max-width:440px;margin:0 auto;padding:8px 0 40px}.duo-stats-card{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-bottom:24px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;overflow:hidden}.duo-stats-card:before{content:"";position:absolute;top:-40px;right:-40px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.25),transparent 70%)}.duo-progress-bar-bg{width:100%;height:10px;background:#ffffff14;border-radius:999px;overflow:hidden;margin-top:10px}.duo-progress-bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399,#6ee7b7);border-radius:999px;transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #10b98180}.duo-path-container{position:relative;width:100%}.duo-svg-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.duo-step-row{position:relative;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.duo-node-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.duo-node-btn{width:66px;height:66px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;outline:none;cursor:pointer;transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s ease;position:relative}.duo-node-btn:active{transform:translateY(4px)!important}.duo-node-btn.completed{background:linear-gradient(180deg,#34d399,#10b981);box-shadow:0 6px #059669,0 10px 20px #10b98159;color:#fff}.duo-node-btn.completed:active{box-shadow:0 2px #059669,0 4px 10px #10b98159}.duo-node-btn.active{background:linear-gradient(180deg,#a78bfa,#7c3aed);box-shadow:0 6px #5b21b6,0 10px 24px #7c3aed80;color:#fff;animation:duoPulse 2s infinite}.duo-node-btn.active:active{box-shadow:0 2px #5b21b6,0 4px 12px #7c3aed80}.duo-node-btn.pending{background:linear-gradient(180deg,#fbbf24,#d97706);box-shadow:0 6px #b45309,0 10px 20px #d9770659;color:#fff}.duo-node-btn.pending:active{box-shadow:0 2px #b45309,0 4px 10px #d9770659}.duo-node-btn.available{background:linear-gradient(180deg,#38bdf8,#0284c7);box-shadow:0 6px #0369a1,0 8px 18px #0284c74d;color:#fff}.duo-node-btn.available:active{box-shadow:0 2px #0369a1,0 4px 8px #0284c74d}.duo-tooltip{position:absolute;top:-38px;background:#fff;color:#4c1d95;font-weight:800;font-size:11px;letter-spacing:.5px;padding:5px 12px;border-radius:12px;box-shadow:0 4px 14px #00000059;white-space:nowrap;animation:duoBounce 1.5s infinite ease-in-out;display:flex;align-items:center;gap:5px;z-index:10}.duo-tooltip-arrow{position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #FFFFFF}@keyframes duoBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes duoPulse{0%{box-shadow:0 6px #5b21b6,0 0 #a78bfab3}70%{box-shadow:0 6px #5b21b6,0 0 0 16px #a78bfa00}to{box-shadow:0 6px #5b21b6,0 0 #a78bfa00}}.duo-node-label{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:3px;max-width:130px;text-align:center}.duo-node-title{font-size:11.5px;font-weight:700;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.duo-node-points{font-size:11px;font-weight:800;color:#fcd34d;background:#f59e0b26;padding:1px 8px;border-radius:999px;border:1px solid rgba(245,158,11,.3);display:inline-flex;align-items:center;gap:3px}.duo-node-badge{position:absolute;top:-2px;right:-2px;width:22px;height:22px;border-radius:50%;background:#f59e0b;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000004d;border:2px solid var(--bg);color:#fff}
