:root{--bg:#0a0a0a;--surface:#111;--surface2:#1a1a1a;--border:#222;--accent:#f97316;--accent2:#fb923c;--accent-dim:rgba(249,115,22,.12);--success:#22c55e;--error:#ef4444;--text:#f5f5f5;--text-dim:#888;--text-muted:#444;--radius:16px;--radius-sm:10px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-syne),sans-serif;min-height:100vh;background-image:radial-gradient(ellipse 60% 40% at 50% 0,rgba(249,115,22,.08) 0,transparent 70%),radial-gradient(ellipse 40% 30% at 80% 100%,rgba(249,115,22,.04) 0,transparent 60%)}.app-container{max-width:480px;margin:0 auto;padding:0 20px 60px;min-height:100vh;display:flex;flex-direction:column;gap:32px}.app-header{justify-content:space-between;padding:20px 0 0}.app-header,.logo{display:flex;align-items:center}.logo{gap:8px}.logo-icon{font-size:22px}.logo-text{font-family:var(--font-syne),sans-serif;font-weight:800;font-size:20px;letter-spacing:-.5px;color:var(--text)}.header-right{display:flex;align-items:center;gap:10px}.minipay-badge{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);color:#22c55e;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.hero{padding-top:8px}.hero-title{font-size:clamp(32px,8vw,44px);font-weight:800;line-height:1.1;letter-spacing:-1.5px}.hero-accent{color:var(--accent)}.hero-sub{margin-top:12px;color:var(--text-dim);font-size:15px;line-height:1.5}.alert-warning{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.25);color:#fbbf24;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px}.app-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;gap:24px}.app-card,.streak-container{display:flex;flex-direction:column}.streak-container{gap:16px}.streak-main{display:flex;align-items:baseline;gap:8px}.streak-fire{font-size:32px}.streak-number{font-family:var(--font-space-mono),monospace;font-size:56px;font-weight:700;color:var(--accent);line-height:1}.streak-label{font-size:16px;color:var(--text-dim);font-weight:600}.streak-dots{display:flex;gap:8px}.streak-dot{width:36px;height:36px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--text-muted);transition:all .2s}.streak-dot.filled{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.streak-dot.current{box-shadow:0 0 0 3px rgba(249,115,22,.2);animation:pulse-ring 1.5s infinite}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(249,115,22,.3)}70%{box-shadow:0 0 0 8px rgba(249,115,22,0)}to{box-shadow:0 0 0 0 rgba(249,115,22,0)}}.streak-hint{font-size:13px;color:var(--text-dim)}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:4px}.stat-value{font-family:var(--font-space-mono),monospace;font-size:16px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.btn-group{display:flex;flex-direction:column;gap:12px}.btn-checkin{width:100%;padding:16px;background:var(--accent);color:#000;font-family:var(--font-syne),sans-serif;font-weight:700;font-size:16px;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;letter-spacing:-.3px}.btn-checkin:hover:not(:disabled){background:var(--accent2);transform:translateY(-1px);box-shadow:0 8px 24px rgba(249,115,22,.35)}.btn-checkin:active:not(:disabled){transform:translateY(0)}.btn-checkin.btn-disabled{background:var(--surface2);color:var(--text-dim);cursor:not-allowed;border:1px solid var(--border)}.btn-claim{width:100%;padding:16px;background:transparent;color:var(--accent);font-family:var(--font-syne),sans-serif;font-weight:700;font-size:16px;border:2px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;animation:glow-pulse 2s infinite}@keyframes glow-pulse{0%,to{box-shadow:0 0 0 0 rgba(249,115,22,0)}50%{box-shadow:0 0 20px 4px rgba(249,115,22,.2)}}.btn-claim:hover:not(:disabled){background:var(--accent-dim)}.btn-loading{opacity:.7;cursor:wait}.loading-text{display:flex;align-items:center;justify-content:center;gap:10px}.spinner{width:16px;height:16px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.btn-success{padding:16px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);color:var(--success);font-weight:700;text-align:center;font-size:15px}.btn-success,.error-msg{border-radius:var(--radius-sm)}.error-msg{color:var(--error);font-size:12px;padding:8px 12px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2)}.connect-prompt{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);text-align:center}.connect-icon{font-size:40px}.connect-prompt p{color:var(--text-dim);font-size:15px}.how-it-works h2{font-size:18px;font-weight:700;color:var(--text-dim);margin-bottom:16px;letter-spacing:-.3px}.steps{display:flex;flex-direction:column;gap:10px}.step{display:flex;align-items:center;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}.step:hover{background:var(--surface2);border-color:var(--accent)}.step-num{width:26px;height:26px;background:var(--accent-dim);border:1px solid var(--accent);color:var(--accent);border-radius:50%;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.app-footer,.step-num{display:flex;font-size:12px}.app-footer{text-align:center;color:var(--text-muted);flex-direction:column;gap:6px}.app-footer a{color:var(--accent);text-decoration:none;font-size:12px}.app-footer a:hover{text-decoration:underline}.animate-pulse-once{animation:pop .3s ease-out}@keyframes pop{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.btn-add-token{width:100%;padding:12px;background:transparent;color:var(--text-dim);font-family:var(--font-syne),sans-serif;font-size:14px;font-weight:600;border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-add-token:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.btn-add-token:disabled{opacity:.6;cursor:default}.leaderboard-row{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--border);transition:background .15s}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row:hover{background:var(--surface2)!important}.lb-rank{width:36px;font-size:16px;text-align:center;flex-shrink:0}.lb-address{flex:1;font-size:13px;color:var(--text)}.lb-address,.lb-streak{font-family:var(--font-space-mono),monospace}.lb-streak{font-size:16px;font-weight:700;color:var(--accent);min-width:60px;text-align:right}.lb-checkins{font-size:12px;color:var(--text-dim);min-width:80px;text-align:right}.skeleton{background:linear-gradient(90deg,var(--surface2) 25%,#222 50%,var(--surface2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:6px}.skeleton-row{padding:16px 0}.skeleton-card,.skeleton-row{display:flex;flex-direction:column;gap:12px}.skeleton-card{padding:20px 0;align-items:center}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(2turn);opacity:0}}.confetti-piece{position:fixed;width:8px;height:8px;border-radius:2px;animation:confetti-fall 2s ease-in forwards;pointer-events:none;z-index:9999}.btn-share-farcaster{display:inline-block;margin-top:10px;padding:8px 16px;background:rgba(139,92,246,.15);border:1px solid rgba(139,92,246,.4);color:#a78bfa;border-radius:var(--radius-sm);font-size:13px;font-weight:600;text-decoration:none;transition:all .2s}.btn-share-farcaster:hover{background:rgba(139,92,246,.25);border-color:rgba(139,92,246,.6)}.stats-bar{justify-content:center;gap:0;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;flex-wrap:wrap;gap:4px}.stats-bar,.stats-item{display:flex;align-items:center}.stats-item{flex-direction:column;padding:4px 20px;min-width:90px}.stats-num{font-size:22px;font-weight:800;color:var(--accent);line-height:1}.stats-label{font-size:11px;color:var(--text-dim);margin-top:2px;letter-spacing:.04em;text-transform:uppercase}.stats-divider{width:1px;height:32px;background:var(--border);opacity:.5}.protocol-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.protocol-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:4px}.protocol-stat-value{font-size:20px;font-weight:800;color:var(--accent);line-height:1}.protocol-stat-label{font-size:10px;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase}@supports (padding:env(safe-area-inset-bottom)){.app-container{padding-bottom:max(60px,env(safe-area-inset-bottom));padding-top:env(safe-area-inset-top)}}.pwa-banner{display:flex;align-items:center;justify-content:space-between;background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.2);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;gap:10px}.pwa-banner-text{color:var(--text-dim);flex:1}.pwa-banner-btn{background:var(--accent);color:#000;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:var(--font-syne),sans-serif}.pwa-banner-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:0 4px}.lb-filters{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border)}.lb-filter-btn{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid var(--border);color:var(--text-dim);background:transparent;cursor:pointer;font-family:var(--font-syne),sans-serif;transition:all .15s}.lb-filter-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.lb-chain-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:20px;background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);letter-spacing:.3px}.lb-chain-badge.celo{background:rgba(252,180,40,.1);border-color:rgba(252,180,40,.3);color:#fcb428}.lb-chain-badge.base{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.3);color:#60a5fa}.lb-chain-badge.both{background:rgba(249,115,22,.1);border-color:rgba(249,115,22,.3);color:var(--accent)}.lb-row-you{background:rgba(249,115,22,.05)!important;border-left:2px solid var(--accent)}.lb-you-badge{font-size:9px;font-weight:700;background:var(--accent);color:#000;padding:1px 5px;border-radius:4px;margin-right:4px}.lb-address-link{color:var(--text);text-decoration:none;transition:color .15s}.btn-copy-referral,.lb-address-link:hover{color:var(--accent)}.btn-copy-referral{width:100%;padding:10px 16px;background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.25);border-radius:var(--radius-sm);font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;font-family:var(--font-syne),sans-serif}.btn-copy-referral:hover{background:rgba(249,115,22,.15)}@media (max-width:480px){.btn-checkin,.btn-claim{min-height:52px;font-size:17px}.streak-number{font-size:64px}.app-card{padding:20px 16px}.protocol-stats{grid-template-columns:repeat(2,1fr)}}