.modal-overlay{position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;animation:fadeIn .3s forwards}.modal-content{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem 2rem;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;transform:scale(.9);animation:popIn .3s forwards}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:1rem;margin-bottom:1.5rem}.modal-header h2{margin:0;color:var(--primary-color)}.modal-close-btn{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer}.glossary-item{margin-bottom:1.5rem}.glossary-item h4{margin-top:0;margin-bottom:.5rem;color:var(--text-primary)}.glossary-item p{font-size:.9em;margin:0;color:var(--text-secondary)}@keyframes fadeIn{to{opacity:1}}@keyframes popIn{to{transform:scale(1)}}.toast{position:fixed;top:90px;right:20px;padding:1rem 1.5rem;border-radius:8px;color:#fff;font-family:var(--font-family);font-size:.95em;z-index:9999;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 12px #0006;animation:slideIn .3s ease-out}.toast.success{background-color:#28a745;border-left:5px solid #218838}.toast.error{background-color:#dc3545;border-left:5px solid #c82333}.toast.info{background-color:#17a2b8;border-left:5px solid #138496}.toast-close-btn{background:none;border:none;color:#fff;font-size:1.5em;line-height:1;cursor:pointer;padding:0;opacity:.7}.toast-close-btn:hover{opacity:1}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--primary-light: #60a5fa;--accent-color: #8b5cf6;--accent-hover: #7c3aed;--success-color: #10b981;--warning-color: #f59e0b;--background-color: #0f0f23;--surface-color: #1a1b3a;--surface-hover: #252659;--surface-elevated: #2d2f5f;--border-color: #374151;--border-light: #4b5563;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--border-radius: 16px;--border-radius-sm: 8px;--border-radius-lg: 24px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(59, 130, 246, .15);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}body{margin:0;background:linear-gradient(135deg,var(--background-color) 0%,#1a1b3a 100%);color:var(--text-primary);font-family:var(--font-family);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{margin:0 auto;text-align:center}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;letter-spacing:-.025em}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{color:var(--text-secondary);line-height:1.7}hr{border:none;border-top:1px solid var(--border-color);margin:3rem 0}.App>main{max-width:1200px;padding:2rem;margin:80px auto 0;width:100%;flex-grow:1}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.App-header h1{font-size:2.5em;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.account-display{background:var(--surface-elevated);padding:.75rem 1.25rem;border-radius:var(--border-radius);font-size:.9em;border:1px solid var(--border-light);color:var(--text-primary);font-family:var(--font-mono);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.connect-wallet-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:linear-gradient(135deg,var(--surface-color),var(--surface-elevated));border-radius:var(--border-radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.connect-wallet-container h2{margin-bottom:2rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.connect-wallet-container button{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;padding:1rem 2.5rem;font-size:1.1em;font-weight:600;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.connect-wallet-container button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.connect-wallet-container button:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl),var(--shadow-glow)}.connect-wallet-container button:hover:before{left:100%}.dashboard h2{text-align:left;margin-bottom:2rem;font-size:2rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.dashboard-card{background:linear-gradient(135deg,var(--surface-color),var(--surface-elevated));padding:2rem;border-radius:var(--border-radius-lg);border:1px solid var(--border-light);text-align:left;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition-normal);position:relative;overflow:hidden}.dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color))}.dashboard-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl),var(--shadow-glow);border-color:var(--primary-light)}.dashboard-card h3{margin-top:0;color:var(--text-primary);font-size:1.25rem}.points-balance{font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:.5rem 0;text-shadow:0 0 30px rgba(59,130,246,.3)}.badges-gallery{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.badge{background:linear-gradient(135deg,var(--surface-elevated),var(--surface-hover));border-radius:50%;padding:.75rem;border:2px solid var(--border-light);transition:all var(--transition-normal);box-shadow:var(--shadow-md)}.badge:hover{transform:scale(1.1) rotate(5deg);box-shadow:var(--shadow-lg),var(--shadow-glow)}.badge img{width:60px;height:60px;display:block;border-radius:50%}.quest-hub h2{text-align:left;margin-bottom:2rem;font-size:2rem}.quest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.quest-card{background:linear-gradient(135deg,var(--surface-color),var(--surface-elevated));border-radius:var(--border-radius-lg);border:1px solid var(--border-light);padding:2rem;text-align:left;text-decoration:none;color:var(--text-primary);transition:all var(--transition-normal);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden}.quest-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--success-color),var(--primary-color));transform:scaleX(0);transition:transform var(--transition-normal)}.quest-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl),var(--shadow-glow);border-color:var(--primary-light)}.quest-card:hover:before{transform:scaleX(1)}.quest-card h3{margin-top:0;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:1.5rem}.quest-card .reward-info{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);font-weight:600;color:var(--success-color);display:flex;align-items:center;gap:.5rem}.quest-detail{background:linear-gradient(135deg,var(--surface-color),var(--surface-elevated));border-radius:var(--border-radius-lg);padding:3rem;text-align:left;box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-light)}.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2rem;color:var(--primary-color);text-decoration:none;font-weight:600;transition:all var(--transition-fast);padding:.5rem 1rem;border-radius:var(--border-radius);background:#3b82f61a}.back-link:hover{background:#3b82f633;transform:translate(-4px)}.quest-detail h1{margin-top:0;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.quest-detail .difficulty{display:inline-block;background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));color:#fff;padding:.5rem 1rem;border-radius:var(--border-radius-lg);font-size:.875rem;font-weight:600;margin-bottom:2rem;box-shadow:var(--shadow-md)}.quest-detail h3{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;border-bottom:2px solid var(--border-color);padding-bottom:.75rem;margin-top:2.5rem}.quest-detail ol{padding-left:2rem}.quest-detail li{margin-bottom:1rem;color:var(--text-secondary);line-height:1.7}.interaction-buttons{margin-top:3rem;display:flex;gap:1rem;flex-wrap:wrap}.interaction-buttons button{flex-grow:1;background:linear-gradient(135deg,var(--surface-elevated),var(--surface-hover));color:var(--text-primary);border:1px solid var(--border-light);padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.interaction-buttons button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);transition:left var(--transition-slow)}.interaction-buttons button:hover{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.interaction-buttons button:hover:before{left:100%}.interaction-buttons button.active{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-color:var(--primary-color);box-shadow:var(--shadow-lg),var(--shadow-glow)}.interaction-buttons button:disabled{opacity:.5;cursor:not-allowed;transform:none}.status-message{margin-top:2rem;padding:1.5rem;background:linear-gradient(135deg,var(--surface-color),var(--surface-elevated));border:1px solid var(--border-light);border-radius:var(--border-radius);color:var(--text-secondary);font-family:var(--font-mono);font-size:.9rem;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#1a1b3acc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:0 2rem;border-bottom:1px solid rgba(75,85,99,.3);transition:all var(--transition-normal);box-shadow:var(--shadow-lg)}.navbar-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;height:80px}.navbar-logo{color:var(--text-primary);font-size:1.75rem;font-weight:800;text-decoration:none;transition:all var(--transition-fast);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.navbar-logo:hover{transform:scale(1.05)}.nav-menu{display:flex;align-items:center;gap:2.5rem}.nav-link{position:relative;color:var(--text-secondary);text-decoration:none;font-weight:500;padding:.75rem 0;transition:all var(--transition-fast)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));transition:width var(--transition-normal)}.nav-link:hover{color:var(--text-primary);transform:translateY(-1px)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link.active{color:var(--text-primary)}.nav-wallet .connect-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;padding:.75rem 1.5rem;font-size:.9em;font-weight:600;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.nav-wallet .connect-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.nav-wallet .connect-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.nav-wallet .connect-button:hover:before{left:100%}.nav-wallet .account-display{background:var(--surface-elevated);padding:.75rem 1.25rem;border-radius:var(--border-radius);font-size:.9em;font-family:var(--font-mono);border:1px solid var(--border-light);color:var(--text-secondary);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-section{padding:6rem 1rem;text-align:center;position:relative}.hero-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(59,130,246,.1) 0%,transparent 50%);pointer-events:none}.hero-content{position:relative;z-index:1}.hero-content h1{font-size:4rem;margin-bottom:1.5rem;font-weight:800;line-height:1.1}.hero-subtitle{font-size:1.25rem;max-width:700px;margin:0 auto 3rem;color:var(--text-secondary);line-height:1.6}.hero-cta-button{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border:none;padding:1.25rem 3rem;font-size:1.2em;font-weight:700;border-radius:var(--border-radius);cursor:pointer;text-decoration:none;transition:all var(--transition-normal);box-shadow:var(--shadow-xl);position:relative;overflow:hidden;display:inline-block}.hero-cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.hero-cta-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl),0 0 40px #3b82f666}.hero-cta-button:hover:before{left:100%}.features-section{padding:5rem 1rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-top:3rem}.feature-card{background:linear-gradient(135deg,var(--surface-color),var(--surface-elevated));padding:2.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--border-light);text-align:left;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition-normal)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl),var(--shadow-glow)}.gradient-text{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.how-it-works-section{padding:6rem 2rem;background:linear-gradient(135deg,var(--surface-color),var(--surface-elevated));border-radius:var(--border-radius-lg);margin-top:5rem;border:1px solid var(--border-light);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.how-it-works-section h2{font-size:3rem;margin-top:0;margin-bottom:4rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.steps-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem}.step-card{text-align:left;border:1px solid var(--border-light);padding:2.5rem;border-radius:var(--border-radius-lg);background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-normal);box-shadow:var(--shadow-md)}.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.step-number{font-size:1.75rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;box-shadow:var(--shadow-lg)}.footer{background-color:var(--surface-color);border-top:1px solid var(--border-color);padding:3rem 2rem 1rem;margin-top:4rem}.footer-container{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;text-align:left}.footer-section h4{color:var(--text-primary);margin-bottom:1rem}.footer-section p,.footer-section ul,.footer-section a{color:var(--text-secondary);text-decoration:none}.footer-section ul{list-style:none;padding:0}.footer-section li{margin-bottom:.5rem}.footer-section a:hover{color:var(--primary-color)}.footer-logo{color:var(--primary-color);font-size:1.5rem;font-weight:700;margin-top:0}.social-icons{display:flex;gap:1rem}.social-icons svg{width:24px;height:24px}.footer-bottom{text-align:center;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9em}@media (max-width: 768px){#root,.App>main{padding:1rem}.navbar{padding:0 1rem}.nav-menu{display:none}.navbar-logo{font-size:1.5rem}.hero-content h1{font-size:2.5rem}.hero-subtitle{font-size:1rem}.how-it-works-section,.features-section{padding:3rem 1rem}.how-it-works-section h2{font-size:2rem}.features-grid,.steps-container,.quest-grid,.dashboard-grid{grid-template-columns:1fr}.quest-detail{padding:2rem}.interaction-buttons{flex-direction:column}.login-container{padding:2rem 1.5rem}.footer-container{grid-template-columns:1fr;text-align:center}.footer-section ul{display:inline-block;text-align:center}.social-icons{justify-content:center}}.quest-action-page{max-width:600px;margin:0 auto}.action-container{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem;margin-top:1.5rem}.action-container h3{margin-top:0;color:var(--primary-color)}.action-input{width:100%;padding:.8rem;margin:1.5rem 0;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1.1em}.action-buttons{display:flex;gap:1rem}.action-buttons button{flex-grow:1}.interaction-flow{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.5rem;align-items:center}.action-link-button{display:inline-block;background-color:var(--primary-color);color:#fff;padding:.8rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s ease}.action-link-button:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.interaction-flow{display:flex;flex-direction:column;gap:1.2rem;align-items:stretch;max-width:400px;margin:2rem auto}.interaction-flow button,.interaction-flow .action-link-button{padding:.9rem 1.5rem;font-size:1.05em;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:center}.interaction-flow button:disabled,.interaction-flow .action-link-button.disabled{background-color:#2a2a2a;color:#666;border-color:#333;cursor:not-allowed;opacity:.7}.interaction-flow .action-link-button.disabled{pointer-events:none}.interaction-flow button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 10px #0003}.status-message.success{background-color:#28a7451a;border-color:#28a745;color:#28a745;text-align:center;font-size:1.1em}.nav-right{display:flex;align-items:center;gap:1rem}.help-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.help-button:hover{background-color:var(--surface-color);color:var(--text-primary)}.concepts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem;margin-bottom:2.5rem}.concept-card{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;text-align:left}.concept-card h4{margin-top:0;margin-bottom:.5rem;color:var(--primary-color)}.concept-card p{font-size:.9em;line-height:1.5;color:var(--text-secondary)}.action-page-header{text-align:center;margin-bottom:2rem}.action-page-header h3{color:var(--text-primary);margin-bottom:.5rem}.info-box{background-color:#6a5acd1a;border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:1rem 1.5rem;margin-bottom:1.5rem;text-align:left}.info-box h4{margin-top:0;color:var(--primary-color)}.info-box p{font-size:.9em}.balance-display{display:flex;justify-content:space-between;align-items:center;background-color:var(--background-color);padding:.8rem 1.2rem;border-radius:8px;border:1px solid var(--border-color)}.balance-display strong{font-size:1.1em;color:var(--text-primary)}.contract-info{margin-top:2rem;text-align:center;font-size:.85em}.contract-info a{color:var(--primary-color);text-decoration:none}.contract-info a:hover{text-decoration:underline}.interaction-flow button:disabled{color:#aaa}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
