:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}button{font-family:inherit}.wallet-connection{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 1.5rem;border-radius:15px;border:1px solid rgba(255,255,255,.2)}.wallet-connection h2{margin:0 0 1rem;font-size:1.2rem}.wallet-connection button{padding:.75rem 1.5rem;border-radius:10px;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.wallet-connection button.connect{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.wallet-connection button.connect:hover{transform:translateY(-2px);box-shadow:0 10px 30px #667eea66}.wallet-connection button.disconnect{background:#f443;color:#fcc;border:1px solid rgba(255,68,68,.5)}.wallet-connection button.disconnect:hover{background:#ff44444d}.wallet-connection button.switch-wallet{background:#667eea33;color:#a8b5ff;border:1px solid rgba(102,126,234,.5)}.wallet-connection button.switch-wallet:hover{background:#667eea4d;transform:translateY(-2px)}.wallet-info{display:flex;flex-direction:column;gap:.5rem}.wallet-info p{margin:0;font-size:.9rem}.wallet-info strong{opacity:.9}.account-selection{margin-top:1rem}.accounts-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.account-option{padding:.75rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;cursor:pointer;transition:all .3s;display:flex;justify-content:space-between;align-items:center;text-align:left}.account-option:hover{background:#ffffff26;border-color:#fff6;transform:translate(5px)}.account-address{font-family:Courier New,monospace;font-size:.9rem}.account-badge{font-size:.75rem;background:#667eea4d;padding:.25rem .5rem;border-radius:4px;opacity:.8}.cancel-button{width:100%;padding:.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .3s}.cancel-button:hover{background:#ffffff1a}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0e27}.App{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at top,#1a1f3a,#0f1429 50%),radial-gradient(ellipse at bottom,#2d1b3d,#1a1f3a),linear-gradient(180deg,#0a0e27,#1a1f3a);background-attachment:fixed;color:#e8e8e8;position:relative;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.App:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 30%,rgba(102,126,234,.15) 0%,transparent 40%),radial-gradient(circle at 85% 70%,rgba(118,75,162,.12) 0%,transparent 40%),radial-gradient(circle at 50% 10%,rgba(240,147,251,.08) 0%,transparent 30%);pointer-events:none;z-index:0;opacity:.6}.App:after{content:"";position:fixed;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.01) 2px,rgba(255,255,255,.01) 4px);pointer-events:none;z-index:0}.app-header{padding:1.25rem 2rem;background:#14192dbf;backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;position:relative;z-index:10;box-shadow:0 4px 20px #0000004d,inset 0 1px #ffffff0d}.header-content{display:flex;flex-direction:column;gap:.5rem}.app-title{font-size:2.5rem;font-weight:700;margin:0;color:#f0f0f0;display:flex;align-items:center;gap:.75rem;text-shadow:0 2px 8px rgba(0,0,0,.5);letter-spacing:-.01em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.title-icon{font-size:2.5rem;-webkit-text-fill-color:initial;filter:drop-shadow(0 2px 10px rgba(255,255,255,.5))}.app-subtitle{margin:0;color:#b8b8c8;font-size:1rem;font-weight:400;letter-spacing:.2px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.app-main{flex:1;padding:2rem;max-width:1600px;width:100%;margin:0 auto;position:relative;z-index:1}.app-content-unified{display:flex;flex-direction:column;gap:2rem}.content-tabs{display:flex;gap:.5rem;background:#191e3299;backdrop-filter:blur(12px) saturate(110%);-webkit-backdrop-filter:blur(12px) saturate(110%);padding:.5rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0006,inset 0 1px #ffffff0d}.tab-button{flex:1;padding:.875rem 1.5rem;background:transparent;border:none;border-radius:12px;color:#c0c0d0;font-size:1rem;font-weight:500;cursor:pointer;transition:all .25s ease;position:relative;letter-spacing:.1px}.tab-button:hover{color:#e8e8e8;background:#ffffff14}.tab-button.active{background:#667eea40;color:#fff;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff1a;font-weight:600;border:1px solid rgba(102,126,234,.3)}.mint-section{background:#191e32b3;backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%);border-radius:20px;padding:2.5rem;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 24px #0006,inset 0 1px #ffffff0d}.gallery-section{display:flex;flex-direction:column;gap:2rem}.nft-gallery{background:#191e32b3;backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%);border-radius:20px;padding:2rem;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 24px #0006,inset 0 1px #ffffff0d}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.gallery-header h2{font-size:2rem;font-weight:700;margin:0;color:#f0f0f0;letter-spacing:-.01em;text-shadow:0 2px 8px rgba(0,0,0,.5)}.refresh-btn{padding:.75rem 1.5rem;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.refresh-btn:hover:not(:disabled){background:#ffffff40;transform:translateY(-2px);box-shadow:0 4px 20px #0003}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:1rem 0}.gallery-card{background:#1e2337cc;backdrop-filter:blur(10px) saturate(110%);-webkit-backdrop-filter:blur(10px) saturate(110%);border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.12);cursor:pointer;transition:all .3s ease;position:relative;box-shadow:0 4px 16px #0006,inset 0 1px #ffffff0d}.gallery-card:hover{transform:translateY(-4px);border-color:#667eea66;background:#23283cd9;box-shadow:0 8px 24px #00000080,0 0 0 1px #667eea33,inset 0 1px #ffffff14}.gallery-card.selected{border:2px solid rgba(102,126,234,.6);background:#282d41e6;box-shadow:0 0 0 3px #667eea26,0 8px 24px #00000080,inset 0 1px #ffffff1a}.card-image-wrapper{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#141928cc}.card-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1)}.gallery-card:hover .card-image-wrapper img{transform:scale(1.1)}.card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 100%);display:flex;align-items:flex-start;justify-content:flex-end;padding:1rem;opacity:0;transition:opacity .3s}.gallery-card:hover .card-overlay{opacity:1}.card-level-badge{background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem 1rem;border-radius:20px;border:1px solid rgba(255,255,255,.3);font-weight:600;font-size:.9rem;color:#fff}.card-info{padding:1.25rem;background:#191e2d80}.card-info h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:#e8e8e8}.card-attributes{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.attribute-tag{background:#282d3c99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.4rem .75rem;border-radius:8px;font-size:.85rem;border:1px solid rgba(255,255,255,.1);color:#d0d0e0}.card-actions{display:flex;gap:.5rem;margin-top:1rem}.card-action-btn{flex:1;padding:.625rem .875rem;border:1px solid rgba(255,255,255,.15);border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.view-btn{background:#667eea33;color:#b8c5ff;border-color:#667eea4d}.view-btn:hover:not(:disabled){background:#667eea4d;border-color:#667eea66;color:#d0d9ff}.burn-btn{background:#dc354526;color:#ff9aa0;border-color:#dc354540}.burn-btn:hover:not(:disabled){background:#dc354540;border-color:#dc354559;color:#ffb3b8}.card-action-btn:disabled{opacity:.5;cursor:not-allowed}.burn-confirm-overlay{position:absolute;inset:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;border-radius:20px;z-index:10}.burn-confirm-dialog{background:#ffffff26;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:2rem;max-width:400px;text-align:center;box-shadow:0 8px 32px #1f26875e}.burn-confirm-dialog h3{margin:0 0 1rem;font-size:1.5rem;color:#fff}.burn-confirm-dialog p{margin:0 0 1.5rem;opacity:.9;color:#fff;line-height:1.6}.burn-confirm-actions{display:flex;gap:1rem}.confirm-burn-btn,.cancel-burn-btn{flex:1;padding:.75rem 1.5rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.confirm-burn-btn{background:#ff44444d;color:#fcc;border:1px solid rgba(255,68,68,.5)}.confirm-burn-btn:hover:not(:disabled){background:#f446;transform:translateY(-2px);box-shadow:0 4px 20px #f446}.cancel-burn-btn{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3)}.cancel-burn-btn:hover{background:#ffffff40;transform:translateY(-2px)}.confirm-burn-btn:disabled{opacity:.6;cursor:not-allowed}.gallery-loading,.gallery-empty{display:flex;justify-content:center;align-items:center;min-height:400px;background:#ffffff1a;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:24px;border:1px solid rgba(255,255,255,.18)}.empty-content{text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;filter:drop-shadow(0 4px 20px rgba(255,255,255,.3))}.empty-content h3{font-size:1.5rem;margin-bottom:.5rem;color:#fff}.empty-content p{opacity:.8;font-size:1rem}.gallery-error{background:#f443;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,68,68,.4);border-radius:12px;padding:1rem;margin-bottom:1rem;color:#fcc}.selected-nft-detail{background:#ffffff1a;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:24px;padding:2rem;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #1f26875e;margin-top:2rem}.connect-prompt{display:flex;justify-content:center;align-items:center;min-height:60vh}.prompt-content{text-align:center;background:#191e32bf;backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%);padding:3rem;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 24px #0006,inset 0 1px #ffffff0d;max-width:600px}.prompt-content h2{font-size:2rem;margin-bottom:1rem;color:#f0f0f0;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.5)}.prompt-content p{font-size:1.1rem;opacity:.95;margin-bottom:2rem}.features{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.feature{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:#1e233799;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;border:1px solid rgba(255,255,255,.1);transition:all .25s ease;box-shadow:0 4px 16px #0000004d}.feature:hover{background:#23283cb3;transform:translateY(-3px);border-color:#667eea4d;box-shadow:0 6px 20px #0006}.feature-icon{font-size:2.5rem;filter:drop-shadow(0 2px 10px rgba(255,255,255,.3))}.mint-interface{max-width:900px;margin:0 auto}.mint-interface h2{font-size:2rem;margin-bottom:.5rem;background:linear-gradient(135deg,#fff,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mint-description{opacity:.95;margin-bottom:2rem;font-size:1.1rem}.data-source-selector h3{margin-bottom:1rem;font-size:1.3rem;color:#fff}.source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.source-option{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2);border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;color:#fff}.source-option:hover{background:#ffffff26;border-color:#fff6;transform:translateY(-3px);box-shadow:0 8px 24px #0003}.source-option.active{background:linear-gradient(135deg,#ffffff40,#ffffff26);border-color:#ffffff80;transform:scale(1.05);box-shadow:0 8px 32px #0000004d}.source-icon{font-size:2.5rem;margin-bottom:.5rem;filter:drop-shadow(0 2px 10px rgba(255,255,255,.3))}.source-label{font-weight:600;font-size:1.1rem;margin-bottom:.5rem}.source-description{font-size:.9rem;opacity:.9}.city-input{margin-bottom:2rem}.city-input label{display:block;margin-bottom:.5rem;font-weight:500;color:#fff}.city-input input{width:100%;padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:1rem;transition:all .3s}.city-input input:focus{outline:none;border-color:#ffffff80;background:#ffffff26;box-shadow:0 0 0 4px #ffffff1a}.city-input input::placeholder{color:#ffffff80}.mint-button{width:100%;padding:1.2rem;background:linear-gradient(135deg,#ffffff40,#ffffff26);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:16px;color:#fff;font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 8px 32px #1f26875e}.mint-button:hover:not(:disabled){transform:translateY(-2px);background:linear-gradient(135deg,#ffffff59,#ffffff40);box-shadow:0 12px 40px #1f268780}.mint-button:disabled{opacity:.6;cursor:not-allowed}.nft-display{max-width:100%}.nft-placeholder{text-align:center;padding:4rem 2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:2px dashed rgba(255,255,255,.3)}.nft-placeholder-content h3{font-size:1.5rem;margin-bottom:1rem;color:#fff}.nft-card{background:#191e32bf;backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%);border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 24px #0006,inset 0 1px #ffffff0d;max-width:800px;margin:0 auto}.nft-image-container{position:relative;width:100%;max-width:500px;aspect-ratio:1;margin:0 auto;background:#141928e6;display:flex;align-items:center;justify-content:center;border-radius:16px 16px 0 0;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}.nft-image{width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%}.nft-image-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.nft-info{padding:2rem;background:#1e233280}.nft-name{font-size:1.75rem;margin-bottom:.5rem;color:#f0f0f0;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.5)}.nft-description{opacity:.95;margin-bottom:1.5rem;line-height:1.6}.nft-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem;padding:1.5rem;background:#14192899;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff08}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-label{font-size:.85rem;color:#a0a0b0;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat-value{font-size:1.5rem;font-weight:700;color:#f0f0f0}.nft-attributes{margin-bottom:2rem}.nft-attributes h3{margin-bottom:1rem;font-size:1.3rem;color:#fff}.attributes-grid{display:flex;flex-wrap:wrap;gap:.75rem}.attribute-badge{background:#232837b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.25rem;min-width:120px;box-shadow:inset 0 1px #ffffff08}.attribute-type{font-size:.8rem;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.attribute-value{font-size:1.1rem;font-weight:600}.update-button{width:100%;padding:1rem;background:#667eea4d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(102,126,234,.4);border-radius:12px;color:#e0e7ff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff1a}.update-button:hover:not(:disabled){background:#667eea66;border-color:#667eea80;color:#f0f4ff;box-shadow:0 6px 20px #667eea4d,inset 0 1px #ffffff26}.update-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#f443;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,68,68,.4);border-radius:12px;padding:1rem;margin-bottom:1rem;color:#fcc}.spinner,.spinner-small{border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite}.spinner{width:40px;height:40px}.spinner-small{width:20px;height:20px;border-width:2px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-footer{padding:2rem;text-align:center;background:#0003;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(255,255,255,.1);opacity:.9;position:relative;z-index:10}.how-it-works-section{background:#ffffff1a;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:24px;padding:2rem;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #1f26875e}.how-it-works{max-width:1200px;margin:0 auto}.how-it-works-header{text-align:center;margin-bottom:3rem}.how-it-works-header h2{font-size:2.5rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.how-it-works-header p{font-size:1.2rem;opacity:.9;margin:0}.sections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.info-card{background:#ffffff1f;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border-radius:20px;border:1px solid rgba(255,255,255,.2);padding:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #1f26875e}.info-card:hover{background:#ffffff29;transform:translateY(-4px);box-shadow:0 12px 40px #1f268773}.info-card.expanded{background:#ffffff2e;border-color:#ffffff4d}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.card-icon{font-size:2rem;filter:drop-shadow(0 2px 10px rgba(255,255,255,.3))}.card-header h3{flex:1;margin:0;font-size:1.5rem;font-weight:700;color:#fff}.expand-icon{font-size:1.5rem;font-weight:700;color:#fffc;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:50%}.card-content{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);color:#fffffff2;line-height:1.7}.card-content p{margin:0;font-size:1rem}.features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.features-list li{padding:.75rem 1rem;background:#ffffff14;border-radius:12px;border:1px solid rgba(255,255,255,.1);font-size:.95rem}.steps-container{display:flex;flex-direction:column;gap:1.5rem}.step-item{display:flex;gap:1.5rem;align-items:flex-start}.step-number{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#ffffff40,#ffffff26);border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 4px 20px #0003}.step-content{flex:1}.step-content h4{margin:0 0 .5rem;font-size:1.2rem;font-weight:600;color:#fff}.step-content p{margin:0;opacity:.9;font-size:.95rem}.architecture-diagram{margin-top:1rem}.flow-arrow{text-align:center;padding:1rem;background:#ffffff1a;border-radius:12px;margin-bottom:1.5rem;font-weight:600;font-size:1.1rem;color:#fff;letter-spacing:.5px}.layers{display:flex;flex-direction:column;gap:1rem}.layer{padding:1.5rem;border-radius:16px;text-align:center;color:#fff;box-shadow:0 4px 20px #0000004d;transition:transform .3s}.layer:hover{transform:translateY(-4px)}.layer-name{font-size:1.3rem;font-weight:700;margin-bottom:.5rem}.layer-tech{font-size:.95rem;opacity:.95}.sources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.source-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:1.5rem;text-align:center;transition:all .3s}.source-card:hover{background:#ffffff26;transform:translateY(-4px)}.source-icon{font-size:3rem;margin-bottom:1rem;filter:drop-shadow(0 2px 10px rgba(255,255,255,.3))}.source-card h4{margin:0 0 .75rem;font-size:1.2rem;font-weight:600;color:#fff}.source-card p{margin:0;font-size:.9rem;opacity:.9;line-height:1.6}.use-cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.use-case-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:1.5rem;transition:all .3s}.use-case-card:hover{background:#ffffff26;transform:translateY(-4px)}.use-case-card h4{margin:0 0 .75rem;font-size:1.2rem;font-weight:600;color:#fff}.use-case-card p{margin:0;font-size:.95rem;opacity:.9;line-height:1.6}.tech-stack{text-align:center;padding:2rem;background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,.15)}.tech-stack h3{margin:0 0 1.5rem;font-size:1.8rem;font-weight:700;color:#fff}.tech-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.tech-badge{padding:.75rem 1.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:20px;font-size:.95rem;font-weight:600;color:#fff;transition:all .3s}.tech-badge:hover{background:#ffffff40;transform:translateY(-2px);box-shadow:0 4px 20px #0003}@media(max-width:768px){.app-content-unified{gap:1.5rem}.app-header{flex-direction:column;align-items:flex-start;padding:1.5rem}.app-title{font-size:2rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.source-grid,.nft-stats{grid-template-columns:1fr}.content-tabs{flex-direction:column}.tab-button{width:100%}.sections-grid{grid-template-columns:1fr}.how-it-works-header h2{font-size:2rem}.sources-grid,.use-cases-grid{grid-template-columns:1fr}}.soul-display{width:100%;max-width:900px;margin:0 auto}.soul-container{background:#141928cc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.1);overflow:hidden;box-shadow:0 8px 32px #0000004d}.soul-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#1e233299;border-bottom:1px solid rgba(255,255,255,.1)}.soul-title{display:flex;align-items:center;gap:1rem}.soul-title h2{margin:0;font-size:1.5rem;color:#fff}.mood-badge{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 2px 8px #0003}.update-soul-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eeacc,#764ba2cc);border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 16px #667eea4d}.update-soul-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66;background:linear-gradient(135deg,#667eea,#764ba2)}.update-soul-button:disabled{opacity:.6;cursor:not-allowed}.soul-image-section{padding:2rem;background:#0f142380;display:flex;justify-content:center;align-items:center}.soul-image-wrapper{position:relative;width:100%;max-width:400px;aspect-ratio:1;border-radius:16px;overflow:hidden;background:#0000004d;box-shadow:0 8px 32px #0006}.soul-image{width:100%;height:100%;object-fit:contain}.update-overlay{position:absolute;inset:0;background:#667eea4d;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.update-text{color:#fff;font-size:1.2rem;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.5)}.emotion-section{padding:2rem;background:#191e2d99;border-top:1px solid rgba(255,255,255,.1)}.emotion-section h3{margin:0 0 1.5rem;font-size:1.3rem;color:#fff}.emotion-radar{display:flex;justify-content:center;margin-bottom:2rem;padding:1rem;background:#0003;border-radius:12px}.emotion-radar-svg{filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.emotion-indicators{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.emotion-indicator{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#23283799;border-radius:12px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .3s ease}.emotion-indicator:hover{background:#2d3241cc;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.emotion-bar{width:40px;height:120px;border-radius:20px;position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:#0000004d;box-shadow:inset 0 2px 4px #0000004d}.emotion-value{position:absolute;bottom:4px;font-size:.7rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);z-index:2}.emotion-label{font-size:.85rem;color:#fffc;text-transform:capitalize;font-weight:500}.emotion-tooltip{position:absolute;top:-40px;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:.5rem .75rem;border-radius:8px;font-size:.8rem;white-space:nowrap;z-index:10;box-shadow:0 4px 12px #0006}.emotion-tooltip:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.9)}.journal-section{padding:2rem;background:#14192899;border-top:1px solid rgba(255,255,255,.1)}.journal-section h3{margin:0 0 1.5rem;font-size:1.3rem;color:#fff}.journal-entry{background:#1e2332cc;border-radius:16px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0003}.journal-mood{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.mood-tag{padding:.4rem .8rem;background:#667eea4d;border-radius:12px;font-size:.85rem;font-weight:600;color:#e0e7ff}.journal-time{font-size:.8rem;color:#fff9}.journal-text{font-size:1.1rem;line-height:1.8;color:#ffffffe6;margin:0 0 1rem;font-style:italic}.journal-context{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.context-badge{padding:.4rem .8rem;background:#ffffff1a;border-radius:8px;font-size:.8rem;color:#fffc}.soul-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:2rem;background:#0f142399;border-top:1px solid rgba(255,255,255,.1)}.stat-card{text-align:center;padding:1rem;background:#23283799;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.stat-label{font-size:.85rem;color:#fff9;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.stat-value{font-size:1.5rem;font-weight:700;color:#fff}.soul-placeholder{padding:4rem 2rem;text-align:center;background:#14192899;border-radius:20px;border:1px solid rgba(255,255,255,.1)}.soul-placeholder-content h3{margin:0 0 1rem;font-size:1.5rem;color:#fff}.soul-placeholder-content p{color:#ffffffb3;font-size:1rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.updating .soul-image{animation:pulse 2s ease-in-out infinite}
