*,:after,:before{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{overflow:hidden;background:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff}.screen,body,html{width:100%;height:100%}.screen{display:none;position:fixed;inset:0}.screen.active{display:flex}#screen-permissions{justify-content:center;background:#f7f7fa;padding:2rem;text-align:center}#screen-permissions,.perm-content{flex-direction:column;align-items:center}.perm-content{display:flex;gap:.75rem;max-width:280px}.perm-icon{margin-bottom:.25rem}.perm-content h1{font-size:28px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(135deg,#4fffb0,#00ccff,#ff3388);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.perm-subtitle{font-size:14px;color:rgba(0,0,0,.5);line-height:1.5;letter-spacing:.2px}.perm-desc{font-size:12px;color:rgba(0,0,0,.3);line-height:1.5}.perm-content p{font-size:14px;color:rgba(0,0,0,.45);line-height:1.6}.btn-primary{margin-top:2.5rem;width:100%;padding:15px 24px;border-radius:10px;background:#1a1a2e;color:#fff;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:opacity .15s,transform .1s}.btn-primary:active{transform:scale(1.12);transition:transform .2s cubic-bezier(.18,.89,.32,1.28)}.btn-primary:disabled{opacity:.5}.perm-note{font-size:11px;color:rgba(0,0,0,.35);min-height:18px;letter-spacing:.3px}.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:#f7f7fa;padding:24px}.auth-card{display:flex;flex-direction:column;gap:14px;width:100%;max-width:340px;padding:32px 28px;background:#fff;border-radius:18px;box-shadow:0 4px 28px rgba(0,0,0,.07)}.auth-title{font-size:26px;font-weight:700;letter-spacing:-.5px;text-align:center;background:linear-gradient(135deg,#4fffb0,#00ccff,#ff3388);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-sub{font-size:13px;color:rgba(0,0,0,.45);text-align:center;line-height:1.5;margin-top:-6px}.auth-input{padding:13px 15px;border-radius:10px;border:1px solid #e2e2e8;background:#fafafc;font-size:16px;color:#1a1a2e;outline:none;transition:border-color .15s}.auth-input:focus{border-color:#00ccff}.auth-input::placeholder{color:rgba(0,0,0,.32)}.auth-btn{margin-top:4px;padding:14px;border-radius:10px;border:none;background:#1a1a2e;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.auth-btn:active{transform:scale(.98)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:#e5484d;margin:0}.auth-error,.auth-link{font-size:13px;text-align:center}.auth-link{color:rgba(0,0,0,.5);margin-top:4px}.auth-link a{color:#0090cc;font-weight:600;text-decoration:none}.auth-hint{font-size:11px;color:rgba(0,0,0,.35);margin-top:-8px}.seg-control{display:flex;gap:6px;padding:4px;border-radius:12px;background:#f0f0f5}.seg-option{flex:1 1;padding:10px;border:none;border-radius:9px;background:transparent;color:rgba(0,0,0,.55);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.seg-option.active{background:#fff;color:#1a1a2e;box-shadow:0 1px 4px rgba(0,0,0,.12)}#screen-ar{position:relative}#camera-feed{object-fit:cover;z-index:1}#ar-canvas,#camera-feed{position:absolute;inset:0;width:100%;height:100%}#ar-canvas{z-index:2;pointer-events:none}.hud-top{position:absolute;top:env(safe-area-inset-top,12px);left:0;right:0;z-index:3;display:flex;justify-content:center;gap:10px;padding:12px 16px 0;pointer-events:none}.hud-pill{background:rgba(0,0,0,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:.5px solid rgba(255,255,255,.15);border-radius:20px;padding:6px 14px;font-size:12px;font-weight:600;letter-spacing:.5px;color:rgba(255,255,255,.85)}.mute-btn{position:absolute;top:calc(env(safe-area-inset-top, 12px) + 10px);right:10px;z-index:6;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#ff3344;cursor:pointer}.mute-btn:active{opacity:.7}.user-btn{position:absolute;top:calc(env(safe-area-inset-top, 12px) + 10px);left:10px;z-index:6;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:.5px solid rgba(255,255,255,.2);border-radius:50%;color:rgba(255,255,255,.9);cursor:pointer}.user-btn:active{transform:scale(.92);opacity:.8}.user-menu{position:absolute;top:calc(env(safe-area-inset-top, 12px) + 48px);left:10px;z-index:8;display:flex;flex-direction:column;min-width:170px;background:rgba(20,20,30,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:.5px solid rgba(255,255,255,.15);border-radius:12px;overflow:hidden;padding:4px}.user-menu-header{padding:8px 12px 2px;font-size:13px;font-weight:700;color:#fff}.user-menu-points{padding:0 12px 8px;font-size:12px;font-weight:600;background:linear-gradient(135deg,#4fffb0,#00ccff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;border-bottom:.5px solid rgba(255,255,255,.1);margin-bottom:4px}.user-menu-item{display:block;width:100%;padding:10px 12px;background:none;border:none;border-radius:8px;color:rgba(255,255,255,.9);font-size:14px;font-weight:500;text-align:left;text-decoration:none;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.user-menu-item:active{background:rgba(255,255,255,.12)}.user-menu-item-muted{color:rgba(255,120,120,.9)}.account-panel{width:100%;max-width:340px;display:flex;flex-direction:column;gap:10px;padding:calc(env(safe-area-inset-top, 12px) + 30px) 4px 20px}.account-panel-scroll{max-height:100%;overflow-y:auto}.account-title{font-size:24px;font-weight:700;letter-spacing:-.3px;background:linear-gradient(135deg,#4fffb0,#00ccff,#ff3388);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}.account-subtitle{font-size:13px;font-weight:700;color:rgba(255,255,255,.8);letter-spacing:.5px;margin-top:20px;margin-bottom:10px}.account-label{font-size:12px;color:rgba(255,255,255,.5);margin-top:4px}.account-input{padding:12px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:16px;outline:none}.account-input:focus{border-color:rgba(255,255,255,.5)}.account-save-btn{margin-top:12px;padding:14px;border-radius:10px;border:none;background:#fff;color:#111;font-size:15px;font-weight:700;cursor:pointer}.account-save-btn:active{opacity:.8}.account-save-btn:disabled{opacity:.5}.account-secondary-btn{margin-top:10px;padding:13px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.account-secondary-btn:active{opacity:.7}.account-error{font-size:13px;color:#ff6b6b;text-align:center;margin:4px 0 0}.profile-pic-row{margin-bottom:8px}.profile-pic,.profile-pic-row{display:flex;justify-content:center}.profile-pic{width:88px;height:88px;border-radius:50%;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);align-items:center;cursor:pointer}.profile-pic img{width:100%;height:100%;object-fit:cover}.profile-pic span{font-size:11px;color:rgba(255,255,255,.5)}.achv-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.achv-badge{padding:12px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);opacity:.5}.achv-badge.earned{opacity:1;background:rgba(79,255,176,.08);border-color:rgba(79,255,176,.35)}.achv-name{font-size:13px;font-weight:700;color:#fff}.achv-desc{font-size:11px;color:rgba(255,255,255,.5);margin-top:2px;line-height:1.3}.achv-points{font-size:11px;font-weight:700;color:rgba(79,255,176,.9);margin-top:6px}.visited-list{display:flex;flex-direction:column;gap:6px}.visited-item{padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.visited-item-name{font-size:13px;font-weight:600;color:#fff}.visited-item-meta{font-size:11px;color:rgba(255,255,255,.45);margin-top:2px}.confirm-overlay{position:absolute;inset:0;z-index:10;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:24px}.confirm-dialog{width:100%;max-width:300px;padding:22px 20px 16px;border-radius:16px;background:rgba(28,28,38,.98);border:.5px solid rgba(255,255,255,.15);box-shadow:0 8px 32px rgba(0,0,0,.5)}.confirm-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:8px}.confirm-text{font-size:13px;line-height:1.5;color:rgba(255,255,255,.6);margin-bottom:18px}.confirm-actions{display:flex;gap:10px}.confirm-cancel,.confirm-delete{flex:1 1;padding:12px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:none}.confirm-cancel{background:rgba(255,255,255,.1);color:#fff}.confirm-delete{background:#e5484d;color:#fff}.confirm-primary{flex:1 1;padding:12px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:none;background:#ff3388;color:#fff}a.confirm-primary{display:block;text-align:center;text-decoration:none;box-sizing:border-box}.confirm-cancel:active,.confirm-delete:active,.confirm-primary:active{opacity:.8}.confirm-alt{margin-top:14px;text-align:center;font-size:13px;color:rgba(255,255,255,.7)}.confirm-alt a{color:#ff3388;font-weight:600;text-decoration:none}.nearby-empty{padding:10px 16px;font-size:11px;letter-spacing:.3px;color:rgba(255,255,255,.7);background:rgba(0,0,0,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:10px}.nearby-empty,.toast{font-weight:600;white-space:nowrap}.toast{position:absolute;bottom:calc(env(safe-area-inset-bottom, 12px) + 100px);left:50%;transform:translateX(-50%);z-index:9;padding:10px 18px;background:rgba(20,20,30,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:.5px solid rgba(255,255,255,.15);border-radius:20px;color:#fff;font-size:13px;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.help-btn{position:absolute;top:calc(env(safe-area-inset-top, 12px) + 10px);left:48px;z-index:6;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:.5px solid rgba(255,255,255,.2);border-radius:50%;color:rgba(255,255,255,.9);cursor:pointer}.help-btn:active{transform:scale(.92);opacity:.8}.help-overlay{position:absolute;inset:0;z-index:7;background:rgba(0,0,0,.92);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.help-panel{width:100%;max-width:340px;margin:auto 0;padding:calc(env(safe-area-inset-top, 12px) + 40px) 0 40px}.help-title{font-size:28px;font-weight:700;letter-spacing:-.3px;background:linear-gradient(135deg,#4fffb0,#00ccff,#ff3388);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:22px}.help-steps{display:flex;flex-direction:column;gap:20px}.help-step{display:flex;gap:14px;align-items:flex-start}.help-step-num{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff}.help-step-head{font-size:18px;font-weight:700;color:#fff;margin-bottom:4px}.help-step-body{font-size:16px;line-height:1.55;color:rgba(255,255,255,.7)}.help-step-body b{color:rgba(255,255,255,.9);font-weight:600}.nearby-wrap{position:absolute;top:calc(env(safe-area-inset-top, 12px) + 10px);left:0;right:0;z-index:5;display:flex;flex-direction:column;align-items:center;pointer-events:none}.nearby-pill{pointer-events:auto;background:rgba(0,0,0,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:.5px solid rgba(255,255,255,.2);border-radius:20px;padding:7px 16px;font-size:11px;font-weight:700;letter-spacing:1.5px;color:rgba(255,255,255,.9);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.nearby-pill:active{opacity:.8;transform:scale(.97)}.nearby-dropdown{pointer-events:auto;display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-top:8px;padding:0 12px 4px;max-width:100vw}.nearby-dropdown::-webkit-scrollbar{display:none}.nearby-card{flex-shrink:0;width:120px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid rgba(255,255,255,.3);border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .1s}.nearby-card:active{transform:scale(.97)}.nearby-card-img{width:100%;height:55px;object-fit:cover;background:rgba(0,0,0,.05)}.nearby-card-body{padding:4px 6px}.nearby-card-name{font-size:10px;font-weight:700;color:#222;line-height:1.2;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.nearby-card-dist{font-size:8px;color:rgba(0,0,0,.4);margin-top:1px}.nearby-card-city{font-size:7px;color:rgba(0,0,0,.3);margin-top:1px}.nearby-card-go{display:block;width:100%;padding:5px;background:#f7f7fa;color:#222;font-size:9px;font-weight:700;text-align:center;border:none;border-top:1px solid rgba(0,0,0,.08);cursor:pointer}.nearby-card-go:active{opacity:.7}.progress-wrap{display:flex;flex-direction:column;align-items:center;margin-top:6px}.progress-text{font-size:11px;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:.5px;margin-bottom:4px}.progress-bar{width:120px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#44ff44,#00cc88);border-radius:2px;transition:width .4s ease}.bottom-buttons{position:absolute;bottom:calc(env(safe-area-inset-bottom, 12px) + 24px);left:50%;transform:translateX(-50%);z-index:6;gap:16px}.bottom-buttons,.capture-btn{display:flex;align-items:center}.capture-btn{width:56px;height:56px;border-radius:50%;border:2px solid rgba(255,255,255,.6);background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;justify-content:center;cursor:pointer}.capture-btn:active{transform:scale(.92);opacity:.8}.collection-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.collection-btn:active{transform:scale(.92);opacity:.8}.capture-overlay{position:absolute;inset:0;z-index:7;background:rgba(0,0,0,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.capture-close{position:absolute;top:calc(env(safe-area-inset-top, 12px) + 10px);right:14px;z-index:8;background:none;border:none;color:#fff;font-size:18px;font-weight:700;cursor:pointer;padding:8px}.capture-preview{max-width:90%;max-height:50vh;border-radius:12px;object-fit:contain}.capture-preview-small{max-height:25vh}.capture-actions{display:flex;gap:12px;margin-top:24px}.capture-action-btn{padding:12px 20px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.capture-action-btn:active{opacity:.7}.capture-mural-list{display:flex;flex-direction:column;gap:8px;margin-top:20px;max-height:40vh;overflow-y:auto;width:100%;max-width:300px}.capture-mural-item{padding:12px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:13px;text-align:left;cursor:pointer}.capture-mural-item:active{background:rgba(255,255,255,.2)}.capture-form{display:flex;flex-direction:column;gap:10px;margin-top:16px;width:100%;max-width:300px}.capture-form input{padding:12px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:14px;outline:none}.capture-form input::placeholder{color:rgba(255,255,255,.35)}.capture-form input:focus{border-color:rgba(255,255,255,.5)}.capture-submit-btn{padding:14px;border-radius:10px;border:none;background:#fff;color:#111;font-size:15px;font-weight:700;cursor:pointer;margin-top:4px}.capture-submit-btn:active{opacity:.8}.collection-header{font-size:16px;font-weight:700;color:#fff;letter-spacing:1px;margin-bottom:20px}.collection-empty{color:rgba(255,255,255,.4);font-size:14px}.collection-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;width:100%;max-width:340px;max-height:70vh;overflow-y:auto;padding:0 4px}.collection-item{position:relative;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}.collection-item-remove{position:absolute;top:6px;right:6px;z-index:2;width:22px;height:22px;border-radius:50%;border:none;background:#e5484d;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.4)}.collection-item-remove:active{transform:scale(.9)}.collection-item-img{width:100%;aspect-ratio:1;object-fit:cover}.collection-item-name{padding:8px;font-size:11px;font-weight:600;color:rgba(255,255,255,.85);text-align:center}.hud-debug{position:absolute;bottom:8px;right:8px;z-index:3;padding:0;font-size:8px;font-family:SF Mono,Fira Code,monospace;color:rgba(255,255,255,.5);line-height:1.5;text-align:right;pointer-events:none}