@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;700&display=swap";.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:200px}.spinner{width:40px;height:40px;border:4px solid rgba(255,0,127,.1);border-left-color:var(--color-main, #ff007f);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{margin:0;font-size:1rem;color:#666}.map-container{position:relative;width:100%;height:600px;margin:1.5rem 0;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.spots-info{margin-top:1rem;text-align:center;color:#666}.spots-info p{margin:0}.profile-header-container{display:flex;gap:1.5rem;align-items:flex-start}.profile-stats{display:flex;gap:2rem;align-items:center}.profile-stats-separator{width:1px;height:40px;background-color:#e0e0e0}@media (max-width: 768px){.profile-header-container{flex-wrap:wrap;justify-content:center}.profile-stats{width:100%;justify-content:center;padding-top:1rem;margin-top:1rem}}:root{--color-main: #ff007f;--color-background: #ffffff;--color-tabbar-background: #ebebeb;--color-input-background: #ebebeb;--color-stroke-basic: #ebebeb;--color-error: #ff6b6b;--color-rarity-uncommon: #00d26a;--color-rarity-epic: #9b51e0;--color-text-primary: #110c2d;--color-text-secondary: #14112c;--color-text-on-elements: #ffffff}*{box-sizing:border-box}body{margin:0;font-family:Nunito,sans-serif;font-weight:400;background-color:var(--color-background);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button{font-family:inherit}code{font-family:Nunito,sans-serif}.App{background-color:#fff;color:var(--color-text-primary);display:flex;flex-direction:column;align-items:center;padding-bottom:24px}.brand-header{width:100%;max-width:960px;display:flex;align-items:center;gap:1.5rem;padding:1.5rem;border-left:1px solid rgba(0,0,0,.08);border-right:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08);border-bottom-left-radius:48px;border-bottom-right-radius:48px;margin-bottom:1rem}.brand-logo{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:none;border:2px solid rgba(255,255,255,.8)}.brand-logo img{width:100%;height:100%;object-fit:cover;border-radius:50%}.brand-title{font-size:24px;font-weight:700;color:var(--color-text-primary)}.app-shell{flex:1;width:100%;max-width:960px;background-color:#fff;padding:1rem 1.5rem;margin:0 auto}.panel{width:min(680px,100%);background-color:var(--color-input-background);border-radius:32px;padding:3rem;box-shadow:none;border:1px solid var(--color-stroke-basic);display:flex;flex-direction:column;gap:2rem;color:var(--color-text-primary)}.panel-header h1{margin:0 0 1rem;font-size:2rem;color:var(--color-text-primary)}.panel-header p{margin:0;color:var(--color-text-secondary);line-height:1.6}.alert{padding:1rem 1.25rem;background-color:#ff6b6b1f;border:1px solid var(--color-error);color:var(--color-error);border-radius:16px;font-weight:700}.info-block,.cta-block,.status-block,.passport-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.lead{margin:0;font-size:1.1rem;color:var(--color-text-secondary)}.status-block p{margin:0;color:var(--color-text-secondary)}.spinner{width:3rem;height:3rem;border-radius:50%;border:4px solid rgba(255,0,127,.2);border-top-color:var(--color-main);animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn{border:none;border-radius:999px;font-size:1rem;font-weight:700;padding:.85rem 2.8rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;background-color:var(--color-main);color:var(--color-text-on-elements);text-decoration:none;box-shadow:0 12px 30px #ff007f40}.btn-tertiary{padding-inline:1.8rem}.passport-wrapper{width:min(380px,100%);background-color:var(--color-input-background);border-radius:24px;border:1px solid rgba(255,0,127,.18);display:flex;flex-direction:column;gap:1.5rem;position:relative;overflow:hidden}.map-page{width:min(960px,100%);display:flex;flex-direction:column;gap:1.5rem;color:var(--color-text-primary)}.map-page__header h1{margin:0 0 .5rem;font-size:2rem}.map-page__header p{margin:0;color:var(--color-text-secondary)}.map-wrapper{position:relative;width:100%;height:clamp(320px,70vh,720px);border-radius:24px;overflow:hidden;border:1px solid var(--color-stroke-basic);background-color:var(--color-input-background)}.map-canvas,.map-canvas .leaflet-container{width:100%;height:100%}.map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center;background:#ffffffd9;color:var(--color-text-secondary);font-weight:600;pointer-events:none}.map-summary{color:var(--color-text-secondary);font-size:.95rem}.spot-popup{display:flex;flex-direction:column;gap:.5rem;max-width:220px;font-size:.9rem;color:var(--color-text-primary)}.spot-popup__image{width:100%;max-height:140px;overflow:hidden;border-radius:12px}.spot-popup__image img{width:100%;height:100%;object-fit:cover;display:block}.spot-popup__title{font-size:1rem;color:var(--color-text-primary)}.spot-popup__meta{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--color-text-secondary)}.spot-popup__boosts{color:var(--color-main);font-weight:600}.spot-popup__description{margin:0;color:var(--color-text-secondary);line-height:1.4}.spot-popup__link{color:var(--color-main);font-weight:600;text-decoration:underline}.passport-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;border:1px solid rgba(255,255,255,.2);pointer-events:none}.passport-header{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-primary);font-weight:500}.badge{background-color:var(--color-main);color:var(--color-text-on-elements);padding:.25rem .75rem;border-radius:999px;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.passport-id{font-size:.85rem;color:var(--color-text-secondary)}.passport-body{display:flex;align-items:center;gap:1.5rem}.avatar-ring{width:100px;height:100px;border-radius:50%;padding:6px;background:linear-gradient(135deg,var(--color-main),rgba(255,0,127,.35));display:flex;align-items:center;justify-content:center}.avatar-ring img,.avatar-placeholder{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid #fff;background-color:var(--color-tabbar-background);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--color-text-secondary)}.passport-info{text-align:left;color:var(--color-text-primary)}.citizen-name{font-size:1.4rem;margin:0 0 .25rem}.citizen-handle{margin:0 0 .75rem;color:var(--color-text-secondary)}.passport-footer{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;color:var(--color-text-secondary)}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.passport-preview{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1.5rem}.preview-title{margin:0;color:var(--color-text-secondary);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.passport-preview img{width:min(320px,100%);border-radius:16px;border:1px solid rgba(17,12,45,.08);box-shadow:0 16px 40px #110c2d14}.page-footer{width:100%;display:flex;justify-content:center;gap:2.5rem;padding:1.75rem 1rem 2.5rem;font-weight:500;background-color:#fff}.page-footer a{color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease}.page-footer a:hover{color:var(--color-main)}@media (max-width: 720px){.panel{padding:2.25rem}.passport-body{flex-direction:column;text-align:center}.passport-info{text-align:center}.brand-header{flex-direction:column;justify-content:center}}@media (max-width: 520px){.panel{border-radius:24px;padding:2rem}.app-shell{padding:2rem 1rem}.btn{width:100%}.page-footer{flex-direction:column;gap:1rem;align-items:center}}.panel-header{display:flex;align-items:center;justify-content:space-between}.link-muted{background:none;border:none;color:var(--color-text-secondary);text-decoration:none;font-weight:500;padding:0;cursor:pointer}.link-muted:hover{opacity:.75}.floating-top-right{position:fixed;top:16px;right:16px;z-index:1000}.backed-by{max-width:200px;width:100%;height:auto;display:block}.cta-block .cta-lead{font-size:1.2rem;font-weight:700;line-height:1.35;margin-top:-.5rem;color:var(--color-text-primary)}.store-badges{padding:1.75rem 1rem 2.5rem}.container{display:flex;align-items:flex-start;justify-content:center;padding:4rem 2rem 2rem;background-color:var(--color-background)}.container-full{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background-color:var(--color-background)}.card{width:100%;max-width:420px;padding:2.5rem;background-color:var(--color-input-background);border-radius:16px;border:1px solid var(--color-stroke-basic)}.card-wide{width:100%;max-width:600px;padding:2.5rem;background-color:var(--color-input-background);border-radius:16px;border:1px solid var(--color-stroke-basic)}.title{margin:0 0 1.5rem;font-size:2rem;font-weight:700;color:var(--color-text-primary);text-align:center}.title-left{margin:0 0 1.5rem;font-size:2rem;font-weight:700;color:var(--color-text-primary);text-align:left}.subtitle{margin:0 0 1rem;font-size:1.2rem;font-weight:600;color:var(--color-text-primary)}.form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.label{font-weight:500;color:var(--color-text-primary);font-size:.9rem}.input{padding:.75rem 1rem;border:1px solid var(--color-stroke-basic);border-radius:8px;font-family:inherit;font-size:1rem;background-color:var(--color-background);color:var(--color-text-primary);transition:border-color .2s ease}.input:focus{outline:none;border-color:var(--color-main)}.input:disabled{opacity:.6;cursor:not-allowed}.btn{padding:.85rem 2rem;border:none;border-radius:999px;font-size:1rem;font-weight:700;background-color:var(--color-main);color:var(--color-text-on-elements);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 12px 30px #ff007f40}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{padding:.85rem 2rem;border:1px solid var(--color-text-secondary);border-radius:999px;font-size:1rem;font-weight:700;background-color:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;box-shadow:none}.btn-secondary:hover:not(:disabled){border-color:var(--color-main);color:var(--color-main)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-link{background:none;border:none;color:var(--color-text-secondary);text-decoration:none;font-weight:500;padding:.5rem;cursor:pointer;transition:color .2s ease;font-size:.9rem}.btn-link:hover:not(:disabled){color:var(--color-main)}.btn-link:disabled{opacity:.6;cursor:not-allowed}.alert{padding:1rem;border-radius:8px;font-weight:500;font-size:.9rem}.alert-error{background-color:#ff6b6b1f;border:1px solid var(--color-error);color:var(--color-error)}.alert-success{background-color:#00d26a1f;border:1px solid var(--color-rarity-uncommon);color:var(--color-rarity-uncommon);font-weight:600}.alert-info{background-color:#00d26a1f;border:1px solid var(--color-rarity-uncommon);color:var(--color-text-primary)}.info-block{padding:1.5rem;background-color:var(--color-background);border:1px solid var(--color-stroke-basic);border-radius:8px}.info-block p{margin:.5rem 0;color:var(--color-text-secondary)}.code{display:block;padding:.5rem;margin-top:.5rem;background-color:var(--color-input-background);border:1px solid var(--color-stroke-basic);border-radius:4px;font-size:.75rem;color:var(--color-text-secondary);word-break:break-all;font-family:monospace}.code-inline{padding:.25rem .5rem;background-color:var(--color-input-background);border:1px solid var(--color-stroke-basic);border-radius:4px;font-size:.85rem;color:var(--color-text-secondary);font-family:monospace}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.gap-4{gap:2rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.text-center{text-align:center}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.nav-menu{display:flex;gap:1.5rem;align-items:center;margin-left:auto}.nav-link{color:var(--color-text-primary);text-decoration:none;font-weight:500;font-size:1rem;padding:.5rem 1rem;border-radius:8px;transition:all .2s ease;position:relative}.nav-link:hover{color:var(--color-main);background-color:#ff007f14}.nav-link.active{color:var(--color-main);font-weight:700}.nav-link.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:24px;height:3px;background-color:var(--color-main);border-radius:2px}.nav-link-btn{background:none;border:none;cursor:pointer;font-family:inherit}@media (max-width: 768px){.nav-menu{gap:.75rem}.nav-link{padding:.4rem .75rem;font-size:.9rem}}
