@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/inter-300-latin-ext-DO1Apj_S.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/inter-300-latin-Dx4kXJAl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-300-latin-ext-DO1Apj_S.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-300-latin-Dx4kXJAl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-300-latin-ext-DO1Apj_S.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-300-latin-Dx4kXJAl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/oswald-400-latin-ext-0aIcqSua.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/oswald-400-latin-9AWb_KF-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/oswald-400-latin-ext-0aIcqSua.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/oswald-400-latin-9AWb_KF-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-color:#041204;--text-color:#fff;--accent-primary:#39ff14;--accent-secondary:#d600ff;--card-bg:#ffffff0d;--nav-height:80px;--nav-icon-size:34px;--font-heading:"Oswald", sans-serif;--font-body:"Inter", sans-serif;--text-muted:#888;--text-subtle:#666;--border-color:#ffffff1a;--border-color-strong:#333;--input-bg:#111;--surface-bg:#0a0a0a;--surface-elevated-bg:#111}[data-theme=light]{--bg-color:#f4f4f4;--text-color:#1a1a1a;--accent-primary:#008f00;--accent-secondary:#a0c;--card-bg:#fff;--nav-bg:#ffffffe6;--text-muted:#666;--text-subtle:#999;--border-color:#0000001a;--border-color-strong:#ccc;--input-bg:#f0f0f0;--surface-bg:#fff;--surface-elevated-bg:#f5f5f5}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-body);overscroll-behavior:none;font-size:16px;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}h1,h2,h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px}.highlight-text{color:var(--accent-primary);text-shadow:0 0 10px #39ff1480}.main-header{width:100%;height:var(--nav-height);background:var(--nav-bg,#050505cc);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;border-bottom:1px solid #80808033;position:fixed;top:0}.navbar{justify-content:space-between;align-items:center;max-width:1200px;height:100%;margin:0 auto;padding:0 20px;display:flex}.logo-container{align-items:center;gap:15px;display:flex}.logo-link{color:inherit;align-items:center;gap:15px;text-decoration:none;display:flex}.nav-logo{-o-object-fit:contain;object-fit:contain;border-radius:5px;width:40px;height:40px}.logo-text{font-family:var(--font-heading);letter-spacing:2px;font-size:1.2rem;font-weight:700;transition:text-shadow .3s}.logo-link:hover .logo-text{text-shadow:0 0 14px #39ff148c}.nav-links{flex:1;justify-content:space-between;align-items:center;margin-left:40px;display:flex}.nav-primary{align-items:center;gap:12px;list-style:none;display:flex}.nav-actions{align-items:center;gap:6px;display:flex}.nav-utilities{align-items:center;gap:4px;display:flex}.nav-user{border-left:1px solid var(--border-color);align-items:center;gap:4px;margin-left:8px;padding-left:12px;display:flex}.hamburger-menu{display:none}.nav-primary a,.nav-actions a:not(.btn-primary):not(.nav-icon-btn):not(.btn-ghost){color:var(--text-color);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;white-space:nowrap;font-size:.85rem;font-weight:500;text-decoration:none;transition:color .25s;position:relative}.nav-primary a:hover,.nav-actions a:not(.btn-primary):not(.nav-icon-btn):not(.btn-ghost):hover{color:var(--accent-primary)}.nav-primary a:after{content:"";background:var(--accent-primary);width:0;height:2px;transition:width .25s;position:absolute;bottom:-3px;left:0}.nav-primary a:hover:after{width:100%}.nav-icon-btn{color:var(--text-color);width:var(--nav-icon-size);height:var(--nav-icon-size);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:color .25s,background .25s;display:flex}.nav-icon-btn:hover{color:var(--accent-primary);background:#39ff1414}.nav-icon-btn.active-link{color:var(--accent-primary)}.theme-toggle-btn{border:1px solid var(--text-color);color:var(--text-color);width:var(--nav-icon-size);height:var(--nav-icon-size);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .25s,color .25s,border-color .25s;display:flex}.theme-toggle-btn .icon{justify-content:center;align-items:center;line-height:1;display:flex}.theme-toggle-btn:hover{background:var(--text-color);color:var(--bg-color)}.lang-toggle-btn{color:var(--text-color);height:var(--nav-icon-size);cursor:pointer;font-size:.8rem;font-weight:700;font-family:var(--font-heading);letter-spacing:1px;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;gap:5px;padding:0 8px;transition:color .25s;display:flex}.lang-toggle-btn:hover{color:var(--accent-primary)}.btn-primary{background:var(--accent-primary);font-family:var(--font-heading);letter-spacing:1px;white-space:nowrap;border-radius:0;padding:8px 16px;color:#000!important;font-weight:700!important;transition:transform .2s!important}.btn-primary:hover{transform:translate(-2px,-2px)}.nav-ctas{align-items:center;gap:8px;display:flex}.btn-ghost{color:var(--text-color);font-family:var(--font-heading);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;background:0 0;border:1px solid #80808066;border-radius:0;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:700;text-decoration:none;transition:border-color .25s,color .25s;display:inline-flex}.btn-ghost:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.main-header.scrolled{border-bottom-color:#39ff1433}.hero-section{justify-content:center;align-items:center;max-width:1200px;height:100vh;margin:0 auto;padding:100px 20px;display:flex;position:relative;overflow:hidden}.hero-section--dome{max-width:none;padding:0}.dome-gallery-bg{z-index:1;width:100%;height:100%;position:absolute;inset:0}.hero-content--overlay{z-index:10;text-align:center;pointer-events:none;padding:48px 40px;transition:opacity .3s;position:relative}.hero-content--overlay:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(60% 65%,#000000a6 0%,#0000004d 48%,#0000 70%);position:absolute;inset:-120px -160px -80px}.hero-section--dome:has([data-enlarging=true]) .hero-content--overlay{opacity:0;pointer-events:none}.hero-content--overlay .hero-title,.hero-content--overlay .hero-subtitle,.hero-content--overlay .hero-actions{pointer-events:auto}.hero-content--overlay .hero-title{text-shadow:0 1px 3px #000,0 4px 12px #000000e6,0 12px 32px #000000b3}.hero-content--overlay .hero-subtitle{color:#ffffffe6;text-shadow:0 1px 2px #000,0 3px 10px #000000d9,0 8px 24px #0009;margin-left:auto;margin-right:auto}.hero-content--overlay .hero-actions{justify-content:center}.hero-section--dome .btn-outline{border-color:var(--accent-primary);-webkit-backdrop-filter:blur(8px);background:#0006}.hero-section--dome .btn-outline:hover{border-color:var(--accent-secondary);color:var(--accent-secondary);background:#0009}.hero-content{z-index:2;flex:1}.hero-title{margin-bottom:20px;font-size:5rem;line-height:1}.hero-subtitle{color:#aaa;max-width:500px;margin:0 auto 40px;font-size:1.2rem}.hero-actions{gap:20px;display:flex}.btn-large{background:var(--text-color);color:var(--bg-color);font-family:var(--font-heading);cursor:pointer;border:none;padding:15px 40px;font-size:1.2rem;font-weight:700;transition:all .3s}.btn-large:hover{background:var(--accent-primary);transform:scale(1.05)}.btn-outline{color:var(--text-color);border:2px solid var(--text-color);font-family:var(--font-heading);cursor:pointer;background:0 0;padding:15px 40px;font-size:1.2rem;font-weight:700;transition:all .3s}.btn-outline:hover{border-color:var(--accent-secondary);color:var(--accent-secondary)}.features-section{max-width:1200px;margin:0 auto;padding:100px 20px}.section-title{text-align:left;border-left:5px solid var(--accent-secondary);margin-bottom:60px;padding-left:20px;font-size:3rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;display:grid}.feature-card{background:var(--card-bg);border:1px solid #ffffff1a;padding:40px;transition:all .3s;position:relative;overflow:hidden}.feature-card:hover{border-color:var(--accent-primary);transform:translateY(-10px)}.feature-card:before{content:"";background:var(--accent-primary);opacity:0;width:3px;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.feature-card:hover:before{opacity:1}.icon-box{margin-bottom:20px;font-size:2.5rem}.feature-card h3{margin-bottom:15px;font-size:1.5rem}.feature-card p{color:#bbb}.gallery-section{max-width:1200px;margin:0 auto;padding:100px 20px}.gallery-section .gallery-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-auto-rows:300px;gap:20px;display:grid}.gallery-item{cursor:pointer;background-color:#222;border-radius:0;position:relative;overflow:hidden}.gallery-item img{-o-object-fit:cover;object-fit:cover;filter:grayscale();width:100%;height:100%;transition:transform .5s,filter .5s}.gallery-item:hover img{filter:grayscale(0%);transform:scale(1.1)}.item-overlay{background:linear-gradient(#0000,#000000e6);width:100%;padding:20px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:translateY(100%)}.gallery-item:hover .item-overlay{transform:translateY(0)}.item-overlay h3{color:var(--accent-primary);margin-bottom:5px;font-size:1.2rem}.item-overlay p{color:#fff;font-size:.9rem}.main-footer{background:#000;border-top:1px solid #ffffff1a;padding:60px 20px}.footer-content{flex-direction:column;align-items:center;gap:30px;max-width:1200px;margin:0 auto;display:flex}.footer-logo{opacity:.7;align-items:center;gap:10px;display:flex}.footer-logo img{height:30px}.footer-links{gap:30px;display:flex}.footer-links a{color:#666;text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--accent-primary)}.copyright{color:#444;font-size:.8rem}@media (width<=1500px) and (width>=1025px){.logo-text{display:none}.nav-links{margin-left:24px}.nav-primary{gap:8px}.nav-actions{gap:6px}}@media (width<=1024px){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.main-header{padding-top:env(safe-area-inset-top);height:auto}.navbar{height:70px}.hamburger-menu{cursor:pointer;z-index:2000;flex-direction:column;justify-content:space-between;width:30px;height:21px;display:flex}.bar{background-color:var(--text-color);border-radius:10px;width:100%;height:3px;transition:all .3s}.nav-links{background-color:var(--bg-color);z-index:1500;width:75%;max-width:320px;height:100vh;padding:calc(80px + env(safe-area-inset-top)) 24px 24px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;margin-left:0;transition:right .4s;display:flex;position:fixed;top:0;right:-100%;overflow-y:auto;box-shadow:-5px 0 15px #00000080}.nav-links.active{right:0}.nav-primary{border-bottom:1px solid var(--border-color);flex-direction:column;gap:0;margin-bottom:16px;padding-bottom:16px}.nav-primary li{margin:0}.nav-primary a{align-items:center;min-height:48px;padding:14px 0;font-size:1rem;display:flex}.nav-actions{flex-direction:column;align-items:stretch;gap:0}.nav-actions .btn-primary{text-align:center;width:100%;margin-bottom:16px;padding:14px;font-size:.95rem;display:block}.nav-utilities{border-bottom:1px solid var(--border-color);flex-direction:row;justify-content:flex-start;gap:8px;margin-bottom:8px;padding:8px 0}.nav-actions .lang-toggle-btn,.nav-actions .theme-toggle-btn{display:inline-flex}.nav-user{border-left:none;border-top:1px solid var(--border-color);flex-direction:column;align-items:stretch;gap:0;margin-top:8px;margin-left:0;padding-top:8px;padding-left:0}.nav-icon-btn{background:0 0;border-radius:0;align-items:center;gap:8px;width:auto;height:auto;min-height:48px;padding:12px 0;display:flex}.nav-icon-btn:after{text-transform:uppercase;letter-spacing:.5px;color:var(--text-color);font-size:.9rem}#login-nav-item:after{content:attr(aria-label)}.nav-ctas{flex-direction:column;align-items:stretch;gap:0}.nav-actions .btn-ghost{border:none;border-bottom:1px solid var(--border-color);border-radius:0;justify-content:flex-start;gap:10px;width:100%;margin-bottom:0;padding:14px 0;font-size:.95rem;display:flex}.hamburger-menu.active .bar:first-child{transform:translateY(9px)rotate(45deg)}.hamburger-menu.active .bar:nth-child(2){opacity:0}.hamburger-menu.active .bar:nth-child(3){transform:translateY(-9px)rotate(-45deg)}}@media (width<=768px){.hero-title{font-size:3rem}.hero-section{text-align:center;flex-direction:column;height:auto;min-height:100vh;padding-top:120px}.hero-actions{flex-direction:column;gap:15px;width:100%}.btn-large,.btn-outline{width:100%}.btn-primary,.btn-ghost{min-height:44px}.hero-section--dome{align-items:stretch;height:100dvh;padding:0}.hero-section--dome .hero-content--overlay{flex-direction:column;align-items:center;width:100%;height:100%;padding:0;display:flex}.hero-section--dome .hero-content--overlay:before{display:none}.hero-section--dome .hero-content--overlay .hero-title{padding:calc(var(--nav-height) + 12px) 20px 6px;background:linear-gradient(to bottom, var(--bg-color) 60%, transparent 100%);text-align:center;width:100%;margin-bottom:0;font-size:2rem;line-height:1.1}.hero-section--dome .hero-content--overlay .hero-subtitle{text-align:center;width:100%;max-width:none;margin:0;padding:0 24px 12px;font-size:.85rem}.hero-section--dome .hero-content--overlay .hero-actions{padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top, var(--bg-color) 20%, transparent 100%);gap:10px;width:100%;margin-top:auto}.gallery-grid{grid-template-rows:auto;grid-template-columns:1fr;gap:15px}.item-1,.item-2,.item-3,.item-4{grid-column:span 1;height:250px}}.modal{z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000c;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow:auto}.modal-content{width:80%;height:80%;box-shadow:0 0 20px var(--accent-primary);background-color:#fefefe;border:1px solid #888;border-radius:10px;margin:5% auto;padding:0;position:relative;overflow:hidden}.close-modal{color:#000;float:right;z-index:10;cursor:pointer;background:#fff;border-radius:5px;padding:0 10px;font-size:28px;font-weight:700;position:absolute;top:10px;right:20px}.close-modal:hover,.close-modal:focus{color:var(--accent-secondary);cursor:pointer;text-decoration:none}#map{width:100%;height:100%}.page-hero{text-align:center;background:radial-gradient(circle,#39ff140d 0%,#0000 70%);padding:120px 20px 40px}.active-link{border-bottom:2px solid var(--accent-primary);padding-bottom:2px;color:var(--accent-primary)!important}.btn-primary.active-link{border-bottom:none;padding-bottom:8px;box-shadow:0 0 10px #39ff1499,0 3px #0006;color:#000!important}.nav-icon-btn.active-link{border-bottom:none;padding-bottom:4px}.nav-primary a.active-link{border-bottom:none;padding-bottom:0;color:var(--accent-primary)!important}.nav-primary a.active-link:after{width:100%}.btn-ghost.active-link{padding-bottom:8px;border-color:var(--accent-primary)!important;color:var(--accent-primary)!important;border-bottom:1px solid var(--accent-primary)!important}.artists-grid-section{max-width:1200px;margin:0 auto;padding:20px 20px 100px}.artists-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;display:grid}.artist-card{background:var(--card-bg);border:1px solid #ffffff1a;flex-direction:column;transition:transform .3s,border-color .3s;display:flex;overflow:hidden}.artist-card:hover{border-color:var(--accent-primary);transform:translateY(-5px)}.artist-image-container{height:250px;position:relative;overflow:hidden}.artist-image-container img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .5s}.artist-card:hover .artist-image-container img{transform:scale(1.05)}.style-tag{background:var(--accent-secondary);color:#fff;text-transform:uppercase;padding:5px 15px;font-size:.8rem;font-weight:700;position:absolute;top:20px;right:20px;box-shadow:3px 3px #00000080}.artist-info{flex-direction:column;flex:1;padding:25px;display:flex}.artist-info h2{color:var(--text-color);margin-bottom:10px;font-size:1.8rem}.artist-bio{color:#aaa;flex-grow:1;margin-bottom:20px;font-size:.95rem}.artist-meta{color:#888;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-top:20px;font-size:.9rem;display:flex}.btn-text{color:var(--accent-primary);font-weight:600;text-decoration:none;transition:color .2s}.btn-text:hover{color:var(--accent-secondary)}.explore-content{max-width:1200px;margin:0 auto;padding:0 20px 100px}.tour-generate-section{text-align:center;padding:40px 20px 60px}.tour-generate-desc{color:#aaa;max-width:500px;margin:0 auto 30px;font-size:1rem;line-height:1.6}.tour-generate-btn{cursor:pointer;padding:16px 40px;font-size:1.1rem}.tour-generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.tour-generate-status{color:var(--accent-primary);margin-top:16px;font-size:.9rem}.tour-badge{background:var(--accent-primary);color:#000;border-radius:2px;padding:3px 8px;font-size:.7rem;font-weight:700}.map-section-embedded{width:100%}#embedded-map-container{border:1px solid #ffffff1a;border-radius:10px;width:100%;height:500px;position:relative;overflow:hidden;box-shadow:0 0 30px #00000080}#embedded-map{width:100%;height:100%}.form-group{margin-bottom:25px}.form-group label{color:var(--accent-primary);font-weight:600;font-family:var(--font-heading);letter-spacing:1px;margin-bottom:10px;display:block}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group textarea{color:#fff;width:100%;font-family:var(--font-body);background:#111;border:1px solid #333;outline:none;padding:15px;font-size:1rem;transition:border-color .3s}.form-group input[type=text]:focus,.form-group input[type=email]:focus,.form-group input[type=password]:focus,.form-group textarea:focus{border-color:var(--accent-primary)}.form-group input.is-invalid,.form-group textarea.is-invalid{border-color:#f33}.form-group input.is-valid,.form-group textarea.is-valid{border-color:var(--accent-primary)}.invalid-feedback{color:#f33;margin-top:5px;font-size:.85rem;display:none}.is-invalid~.invalid-feedback{display:block}.share-form-section{max-width:600px;margin:0 auto;padding:0 20px 100px}.step-indicator{align-items:center;gap:0;margin-bottom:32px;padding:0 4px;display:flex}.step-item{opacity:.4;flex-direction:column;align-items:center;gap:8px;transition:opacity .3s;display:flex}.step-item.active{opacity:1}.step-dot{border:2px solid var(--border-color);background:var(--surface-bg);width:36px;height:36px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;transition:all .3s;display:flex}.step-item.active .step-dot{border-color:var(--accent-primary);color:var(--accent-primary);background:#32cd321f;box-shadow:0 0 12px #32cd3240}.step-item.completed .step-dot{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--bg-color)}.step-label{color:var(--text-muted);text-align:center;white-space:nowrap;font-size:.75rem;font-family:var(--font-body);letter-spacing:.02em}.step-item.active .step-label{color:var(--text-color);font-weight:600}.step-connector{background:var(--border-color);flex:1;height:2px;margin:0 12px 24px;transition:background .3s}.step-connector.completed{background:var(--accent-primary)}.form-step{animation:.25s stepFadeIn}@keyframes stepFadeIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.share-step-btn{width:100%;margin-top:20px}.share-step-btn--back{margin-top:0;margin-bottom:24px}.preview-container{background:var(--surface-bg);border:2px dashed var(--border-color);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:100%;height:300px;margin-bottom:20px;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.preview-container:hover{border-color:var(--accent-primary)}.preview-container img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:none}.preview-placeholder{color:var(--text-muted);text-align:center;pointer-events:none}.preview-placeholder span{margin-bottom:10px;font-size:3rem;display:block}#art-image{display:none}.location-input-group{margin-top:10px}.location-input-group input{width:100%}.location-status{color:var(--accent-primary);margin-top:5px;font-size:.85rem;display:block}.location-mode-toggle{gap:8px;margin-top:8px;display:flex}.loc-mode-btn{color:var(--text-color);font-family:var(--font-body);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff26;border-radius:8px;flex:1;padding:10px;font-size:.9rem;transition:all .25s}.loc-mode-btn:hover{background:#ffffff1a;border-color:#ffffff4d}.loc-mode-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#32cd3226;font-weight:600}.address-hint{color:#666;margin-top:6px;font-size:.8rem;display:block}.pac-container{z-index:9999;background:#1a1a1a;border:1px solid #333;border-top:none;border-radius:0 0 8px 8px}.pac-item{color:#ccc;cursor:pointer;border-top:1px solid #2a2a2a;padding:8px 12px;font-size:.9rem}.pac-item:hover,.pac-item-selected{color:#fff;background:#32cd321a}.pac-item-query{color:var(--accent-primary);font-size:.9rem}.pac-matched{font-weight:700}.gallery-container{max-width:1400px;margin:0 auto;padding:40px 5%}.filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:32px;display:flex}.search-group{flex:1;min-width:200px;position:relative}.search-group--select{flex:none;min-width:180px}.search-icon{color:var(--text-subtle);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-group input{background:var(--input-bg);border:1px solid var(--border-color-strong);width:100%;color:var(--text-color);font-family:var(--font-body);border-radius:5px;outline:none;padding:12px 12px 12px 36px;font-size:.9rem;transition:border-color .2s}.search-group input:focus{border-color:var(--accent-primary)}.filter-select{background:var(--input-bg);border:1px solid var(--border-color-strong);width:100%;color:var(--text-color);font-family:var(--font-body);cursor:pointer;border-radius:5px;outline:none;padding:12px;font-size:.9rem;transition:border-color .2s}.filter-select:focus{border-color:var(--accent-primary)}.clear-filters{color:var(--accent-primary);cursor:pointer;white-space:nowrap;font-size:.85rem;text-decoration:none;transition:opacity .2s}.clear-filters:hover{opacity:.7}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-rows:auto;gap:30px;display:grid}.art-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:10px;transition:transform .3s,box-shadow .3s;animation:.5s ease-out fadeIn;position:relative;overflow:hidden}.art-card:hover{border-color:var(--accent-primary);transform:translateY(-5px);box-shadow:0 10px 30px #39ff1426,0 0 0 1px #39ff1433}.art-card-link{color:inherit;text-decoration:none;display:block}.art-card-img-wrapper{position:relative;overflow:hidden}.art-card-img-wrapper:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(#0000,#0006);height:40%;transition:opacity .4s;position:absolute;bottom:0;left:0;right:0}.art-card:hover .art-card-img-wrapper:after{opacity:1}.art-card-img{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;border-bottom:1px solid var(--border-color);width:100%;height:auto;transition:transform .4s}.art-card:hover .art-card-img{transform:scale(1.03)}.art-card-body{padding:16px 20px 20px}.art-card-title{font-family:var(--font-heading);color:var(--text-color);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:1.15rem;font-weight:700}.art-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 12px;font-size:.9rem;line-height:1.5;display:-webkit-box;overflow:hidden}.art-info-row{color:var(--accent-primary);align-items:center;gap:5px;margin-bottom:10px;font-size:.85rem;display:flex}.art-card-distance{color:var(--accent-secondary);margin-left:6px}.art-card-footer{color:var(--text-subtle);font-size:.75rem;font-family:var(--font-heading);letter-spacing:.5px;border-top:1px solid var(--border-color);justify-content:space-between;padding-top:10px;display:flex}.gallery-empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.gallery-empty-state svg{opacity:.4;margin-bottom:16px}.gallery-empty-state p{margin-bottom:16px;font-size:1.1rem}.gallery-empty-clear{color:var(--accent-primary);cursor:pointer;font-size:.9rem;text-decoration:none;transition:opacity .2s}.gallery-empty-clear:hover{opacity:.7}.gallery-end-msg{text-align:center;color:var(--text-subtle);letter-spacing:.5px;padding:40px 20px;font-size:.9rem;position:relative}.gallery-end-msg:before{content:"";background:var(--border-color-strong);width:60px;height:1px;margin:0 auto 16px;display:block}.gallery-loader{text-align:center;color:var(--text-subtle);padding:40px;display:none}.spinner{border:4px solid var(--border-color-strong);border-top:4px solid var(--accent-primary);border-radius:50%;width:40px;height:40px;margin:0 auto 15px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes skeleton-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg, var(--surface-bg) 25%, var(--border-color) 50%, var(--surface-bg) 75%);background-size:1200px 100%;border-radius:4px;animation:1.5s linear infinite skeleton-shimmer}.skeleton-card{background:var(--surface-bg);border:1px solid var(--border-color);pointer-events:none;border-radius:10px;overflow:hidden}.skeleton-img{aspect-ratio:4/3;width:100%}.skeleton-body{padding:16px 20px 20px}.skeleton-line{border-radius:4px;height:14px;margin-bottom:10px}.skeleton-line--title{width:70%;height:18px;margin-bottom:12px}.skeleton-line--sm{width:55%;height:12px}.skeleton-line--xs{width:35%;height:11px}.skeleton-footer{border-top:1px solid var(--border-color);justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;display:flex}.skeleton-artist-card{background:var(--surface-bg);border:1px solid var(--border-color);pointer-events:none;border-radius:10px;gap:20px;padding:20px;display:flex;overflow:hidden}.skeleton-artist-img{border-radius:50%;flex-shrink:0;width:100px;height:100px}.skeleton-artist-body{flex-direction:column;flex:1;justify-content:center;gap:10px;display:flex}.skeleton-my-art-card{background:var(--surface-bg);border:1px solid var(--border-color);pointer-events:none;border-radius:10px;overflow:hidden}.skeleton-my-art-img{width:100%;height:200px}.skeleton-my-art-body{flex-direction:column;gap:8px;padding:14px 16px;display:flex}.skeleton-detail{padding:20px 0}.skeleton-detail-img{aspect-ratio:16/9;border-radius:8px;width:100%;margin-bottom:20px}.skeleton-detail-title{border-radius:4px;width:65%;height:32px;margin-bottom:16px}.art-detail-container{max-width:700px;margin:0 auto;padding:100px 20px 60px}.page-breadcrumb{max-width:1200px;margin:0 auto;padding:96px 20px 0}@media (width<=768px){.page-breadcrumb{padding:82px 16px 0}}.breadcrumb{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:24px;font-size:.9rem;display:flex}.breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:var(--accent-primary)}.breadcrumb-sep{color:var(--text-subtle)}.art-loading{color:var(--text-muted);font-size:1.2rem}.art-post-card{background:var(--surface-elevated-bg);border:1px solid var(--border-color);border-radius:16px;margin-bottom:24px;padding:24px}.art-post-header{margin-bottom:16px}.art-post-artist{font-size:1.6rem;font-family:var(--font-heading);color:var(--accent-primary);text-transform:uppercase;margin:0 0 4px;line-height:1.2}.art-post-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.85rem;display:flex}.art-post-body{margin-bottom:16px}.art-post-title{color:var(--text-color);margin:0 0 6px;font-size:1.15rem;font-weight:600}.art-post-body p{color:var(--text-color);white-space:pre-wrap;margin:0;font-size:1rem;line-height:1.6}.art-post-media{border:1px solid var(--border-color);cursor:zoom-in;border-radius:12px;margin-bottom:16px;position:relative;overflow:hidden}.art-post-media img{width:100%;height:auto;display:block}.image-zoom-hint{color:#fff;opacity:0;pointer-events:none;background:#0009;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .3s;display:flex;position:absolute;bottom:12px;right:12px}.art-post-media:hover .image-zoom-hint{opacity:1}.art-post-rating{border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:12px;padding-bottom:16px;display:flex}.art-post-rating .spray-can{width:28px;height:34px}.art-post-actions{justify-content:space-around;padding-top:12px;display:flex}.post-action-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;transition:color .2s,background .2s;display:inline-flex}.post-action-btn:hover{color:var(--accent-primary);background:#39ff1414}.post-action-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.post-action-btn .fav-icon{fill:none;stroke:currentColor;transition:fill .3s,stroke .3s}.post-action-btn.fav-active{color:#e74c3c}.post-action-btn.fav-active .fav-icon{fill:#e74c3c;stroke:#e74c3c}.post-action-btn--danger:hover{color:#e74c3c;background:#e74c3c14}.art-location-section{background:var(--surface-elevated-bg);border:1px solid var(--border-color);border-radius:16px;margin-bottom:24px;padding:24px}.art-section-title{font-family:var(--font-heading);color:var(--text-color);margin-bottom:12px;font-size:1.1rem}.art-comments-section{background:var(--surface-elevated-bg);border:1px solid var(--border-color);border-radius:16px;margin-bottom:24px;padding:24px}.art-comments-section h3{font-family:var(--font-heading);color:var(--text-color);margin-bottom:20px;font-size:1.3rem}[data-theme=light] .post-action-btn:hover{background:#008f0014}[data-theme=light] .post-action-btn--danger:hover{background:#e74c3c14}@media (width<=768px){.art-detail-container{padding:80px 16px 40px}.art-post-card{border-radius:12px;padding:16px}.art-post-artist{font-size:1.3rem}.art-post-media{border-radius:10px}.art-post-rating .spray-can{width:24px;height:29px}.art-location-section,.art-comments-section{border-radius:12px;padding:16px}.breadcrumb{margin-bottom:16px}.breadcrumb-sep,.breadcrumb>span:last-child{display:none}.breadcrumb a{min-height:44px;color:var(--text-color);letter-spacing:.2px;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:22px;align-items:center;gap:8px;padding:9px 16px 9px 12px;font-size:.9rem;font-weight:500;display:inline-flex}.breadcrumb a:before{content:"";border-bottom:2px solid;border-left:2px solid;flex-shrink:0;width:7px;height:7px;display:inline-block;transform:rotate(45deg)translateY(-1px)}.breadcrumb a:hover{color:var(--text-color);background:#ffffff1a}.art-post-actions{flex-wrap:wrap;justify-content:center;gap:8px;padding-top:16px}.post-action-btn{flex:calc(50% - 4px);justify-content:center;max-width:calc(50% - 4px);min-height:44px;padding:11px 10px;font-size:.85rem}}[data-theme=light] .breadcrumb a{background:#0000000a;border-color:#0000001f}.lightbox-overlay{z-index:9999;cursor:zoom-out;background:#000000f2;justify-content:center;align-items:center;animation:.25s lightbox-fade-in;display:flex;position:fixed;inset:0}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-img{-o-object-fit:contain;object-fit:contain;cursor:default;transform-origin:50%;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:4px;max-width:92vw;max-height:92vh;transition:transform .1s}.lightbox-close{color:#fff;cursor:pointer;opacity:.7;z-index:10000;background:0 0;border:none;font-size:2.5rem;line-height:1;transition:opacity .2s;position:absolute;top:16px;right:20px}.lightbox-close:hover{opacity:1}.detail-meta-sep{color:var(--text-subtle)}.detail-rating-summary{color:var(--accent-secondary);font-weight:500}.detail-date{color:var(--text-muted);font-size:inherit}.detail-map{border:1px solid var(--border-color-strong);border-radius:10px;width:100%;height:300px;overflow:hidden}.map-unavailable{color:var(--text-subtle);text-align:center;padding-top:100px}.detail-author-name{color:var(--text-color);font-weight:500}.detail-uploader{color:var(--text-muted);font-size:inherit}.detail-address{color:var(--text-muted);margin-bottom:12px}.rating-title{font-family:var(--font-heading);color:var(--text-color);font-size:1.1rem}.spray-can-container{gap:6px;display:flex}.spray-can{cursor:pointer;width:28px;height:34px;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),filter .2s}.spray-can .can-spray line{stroke:var(--text-subtle);stroke-width:1.2px;opacity:0;transition:opacity .3s,stroke .3s}.spray-can .can-spray circle{fill:var(--text-subtle);opacity:0;transition:opacity .3s,fill .3s}.spray-can:hover .can-spray line{stroke:var(--accent-primary);opacity:.5}.spray-can:hover .can-spray circle{fill:var(--accent-primary);opacity:.4}.spray-can.filled .can-spray line{stroke:var(--accent-primary);opacity:.8}.spray-can.filled .can-spray circle{fill:var(--accent-primary);opacity:.7}.spray-can .can-body{fill:var(--surface-elevated-bg);stroke:var(--text-subtle);stroke-width:1.2px}.spray-can .can-nozzle{fill:var(--text-subtle);stroke:none;opacity:.6}.spray-can .can-tip{fill:var(--text-subtle);stroke:none;opacity:.5}.spray-can .can-label{fill:var(--text-subtle);stroke:none;opacity:.15}.spray-can .can-highlight{stroke:var(--text-subtle);stroke-width:1.2px;opacity:.15}.spray-can:hover{transform:scale(1.15)}.spray-can:hover .can-body{stroke:var(--accent-primary)}.spray-can:hover .can-nozzle,.spray-can:hover .can-tip{fill:var(--accent-primary);opacity:.8}.spray-can.filled .can-body{fill:var(--accent-primary);stroke:var(--accent-primary)}.spray-can.filled .can-nozzle,.spray-can.filled .can-tip{fill:var(--accent-primary);opacity:1}.spray-can.filled .can-label{fill:#0003;opacity:1}.spray-can.filled .can-highlight{stroke:#ffffff40;opacity:1}.spray-can.filled{filter:drop-shadow(0 0 5px #39ff1473)}[data-theme=light] .spray-can.filled{filter:drop-shadow(0 0 4px #008f004d)}.rating-avg-text{color:var(--text-muted);margin-top:5px;font-size:.9rem}.art-card-footer-end{align-items:center;gap:8px;display:flex}.gallery-fav-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:2px;transition:transform .2s;display:flex}.gallery-fav-btn svg{fill:none;width:16px;height:16px;stroke:var(--text-subtle);stroke-width:2px;transition:fill .2s,stroke .2s}.gallery-fav-btn:hover{transform:scale(1.2)}.gallery-fav-btn:hover svg{stroke:var(--accent-primary)}.gallery-fav-btn.fav-active svg{fill:#e74c3c;stroke:#e74c3c}.comments-section{margin-top:24px}.comments-section h3{font-family:var(--font-heading);color:var(--text-color);margin-bottom:20px;font-size:1.3rem}.comment-form{margin-bottom:24px}.comment-input{width:100%;color:var(--text-color);font-family:var(--font-body);resize:vertical;background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;min-height:70px;padding:12px;font-size:.9rem;transition:border-color .3s}.comment-input:focus{border-color:var(--accent-primary);outline:none}.comment-input::placeholder{color:#666}.comment-form-actions{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.comment-char-count{color:#666;font-size:.75rem}.comment-submit-btn{background:var(--accent-primary);min-height:44px;color:var(--bg-color);cursor:pointer;border:none;border-radius:6px;padding:6px 18px;font-size:.85rem;font-weight:600;transition:opacity .3s}.comment-submit-btn:hover{opacity:.85}.comment-submit-btn:disabled{opacity:.5;cursor:not-allowed}.comment-login-msg{color:#888;margin-bottom:20px;font-size:.9rem}.comments-list{flex-direction:column;gap:16px;display:flex}.comment-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;gap:12px;padding:12px;display:flex}.comment-avatar{-o-object-fit:cover;object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px}.comment-avatar-placeholder{background:var(--accent-primary);color:var(--bg-color);justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.comment-body{flex:1;min-width:0}.comment-header{align-items:center;gap:10px;margin-bottom:4px;display:flex}.comment-author{color:var(--accent-primary);font-size:.85rem}.comment-date{color:#666;font-size:.75rem}.comment-delete-btn{color:#666;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:1.1rem;line-height:1;transition:color .3s}.comment-delete-btn:hover{color:#e74c3c}.comment-text{color:var(--text-color);word-wrap:break-word;margin:0;font-size:.9rem;line-height:1.5}.comments-empty{color:#666;text-align:center;padding:20px 0;font-size:.9rem}.comments-load-more{width:100%;color:var(--accent-primary);cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;margin-top:16px;padding:10px;font-size:.85rem;transition:background .3s;display:block}.comments-load-more:hover{background:#ffffff0d}.report-btn{transition:color .3s,border-color .3s;display:none}.report-btn:hover{color:#e74c3c;border-color:#e74c3c}.report-modal-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.report-modal{background:#0a140af2;border:1px solid #ffffff1f;border-radius:12px;width:100%;max-width:420px;padding:30px;box-shadow:0 8px 32px #0009}.report-modal h3{font-family:var(--font-heading);color:var(--text-color,#fff);margin-bottom:8px;font-size:1.3rem}.report-modal>p{color:#888;margin-bottom:20px;font-size:.9rem}.report-reasons{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.report-reason{cursor:pointer;color:var(--text-secondary,#ccc);border:1px solid #333;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:.9rem;transition:border-color .2s;display:flex}.report-reason:hover{border-color:var(--accent-primary)}.report-reason input[type=radio]{accent-color:var(--accent-primary)}.report-modal-actions{justify-content:flex-end;gap:12px;display:flex}.report-cancel-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;padding:10px 20px;transition:border-color .2s}.report-cancel-btn:hover{border-color:#888}.report-submit-btn{color:#fff;cursor:pointer;background:#e74c3c;border:none;border-radius:8px;padding:10px 20px;font-weight:600;transition:background .2s}.report-submit-btn:hover{background:#c0392b}.report-submit-btn:disabled{opacity:.5;cursor:not-allowed}#toast-container{z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}.toast{font-family:var(--font-body);color:#fff;text-align:center;opacity:0;pointer-events:auto;border-radius:8px;width:max-content;max-width:400px;padding:14px 24px;font-size:.95rem;font-weight:600;transition:opacity .3s,transform .3s;transform:translateY(20px);box-shadow:0 4px 20px #0006}.toast--visible{opacity:1;transform:translateY(0)}.toast--success{border:1px solid var(--accent-primary);background:#1a6e1a}.toast--error{background:#7a1a1a;border:1px solid #f44}.toast--info{background:#1a3a6e;border:1px solid #48f}@media (width<=480px){#toast-container{width:90%;bottom:80px}.toast{width:100%}}#login-btn{width:auto;height:36px;font-family:var(--font-heading);letter-spacing:1px;color:#0a0a0a;border-radius:8px;padding:0 16px;font-size:.85rem;font-weight:700;text-decoration:none}.nav-notifications{order:3;align-items:center;margin-left:8px;display:flex;position:relative}.notif-bell-btn{width:34px;height:34px;color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:flex;position:relative}.notif-bell-btn:hover{background:var(--hover-bg,#ffffff1a);color:var(--accent-primary)}.notif-badge{color:#fff;pointer-events:none;background:#e53935;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:0}.notif-dropdown{background:var(--surface-elevated-bg);border:1px solid var(--border-color-strong);z-index:2000;border-radius:12px;flex-direction:column;width:360px;max-height:420px;display:flex;position:absolute;top:calc(100% + 8px);right:-40px;overflow:hidden;box-shadow:0 8px 32px #0009}.notif-dropdown-header{border-bottom:1px solid var(--border-color-strong);color:var(--text-color);background:var(--surface-bg);justify-content:space-between;align-items:center;padding:14px 16px;font-size:.95rem;font-weight:700;display:flex}.notif-dropdown-header button{color:var(--accent-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:600;transition:background .2s}.notif-dropdown-header button:hover{background:rgba(var(--accent-primary-rgb,255,193,7), .15)}.notif-list{flex:1;max-height:340px;overflow-y:auto}.notif-item{color:var(--text-color);border-bottom:1px solid var(--border-color-strong);cursor:pointer;align-items:flex-start;gap:12px;padding:12px 16px;text-decoration:none;transition:background .15s;display:flex}.notif-item:hover{background:var(--surface-bg)}.notif-item.unread{border-left:3px solid var(--accent-primary);padding-left:13px}.notif-item-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.notif-type-comment{background:#2196f326}.notif-type-rating{background:#ffc10726}.notif-type-claimed{background:#4caf5026}.notif-item-content{flex:1;min-width:0}.notif-item-title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.35;display:-webkit-box;overflow:hidden}.notif-item-time{color:var(--text-muted);margin-top:3px;font-size:.75rem}.notif-empty{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:.9rem}@media (width<=768px){.navbar>.nav-notifications{order:0;margin-left:auto;margin-right:12px}.notif-dropdown{border-left:none;border-right:none;border-radius:0;width:100vw;max-height:calc(100vh - 70px);position:fixed;top:70px;left:0;right:0}}.profile-btn{border:2px solid var(--accent-primary);background:var(--accent-primary);color:#0a0a0a;width:36px;height:36px;font-family:var(--font-heading);letter-spacing:.5px;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.75rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.profile-btn:hover{box-shadow:0 0 10px var(--accent-primary);transform:scale(1.1)}.profile-btn img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.profile-layout{flex-direction:column;gap:40px;max-width:720px;margin:0 auto;padding:40px 20px 80px;display:flex}.profile-card{background:var(--card-bg);border:1px solid #80808033;border-radius:12px;padding:32px}.profile-card h2{font-family:var(--font-heading);letter-spacing:2px;color:var(--accent-primary);text-transform:uppercase;margin-bottom:24px;font-size:1rem}.avatar-upload-area{align-items:center;gap:24px;margin-bottom:28px;display:flex}.avatar-preview{border:2px solid var(--accent-primary);background:var(--accent-primary);color:#0a0a0a;width:80px;height:80px;font-family:var(--font-heading);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;transition:box-shadow .2s;display:flex;position:relative;overflow:hidden}.avatar-preview:hover{box-shadow:0 0 16px var(--accent-primary)}.avatar-preview img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.avatar-preview .avatar-overlay{opacity:0;font-size:.65rem;font-family:var(--font-heading);color:#fff;letter-spacing:1px;background:#00000080;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.avatar-preview:hover .avatar-overlay{opacity:1}.avatar-meta{flex-direction:column;gap:4px;display:flex}.avatar-meta .label{color:var(--text-muted,#888);font-size:.8rem}.avatar-meta .hint{color:var(--text-muted,#666);font-size:.75rem;font-style:italic}.profile-stats{gap:24px;margin-top:8px;display:flex}.profile-stat{color:var(--text-muted,#888);font-size:.8rem}.profile-stat strong{color:var(--text-color);font-size:1rem}.profile-field{margin-bottom:20px}.profile-field label{color:var(--text-muted,#888);letter-spacing:.5px;margin-bottom:6px;font-size:.8rem;display:block}.profile-field input,.profile-field textarea{background:var(--input-bg,#ffffff0d);width:100%;color:var(--text-color);font-size:.95rem;font-family:var(--font-body);box-sizing:border-box;border:1px solid #8080804d;border-radius:6px;padding:10px 14px;transition:border-color .2s}.profile-field textarea{resize:vertical;min-height:90px}.profile-field input:focus,.profile-field textarea:focus{border-color:var(--accent-primary);outline:none}.profile-field .char-counter{text-align:right;margin-top:4px;display:block}.profile-field .field-note{color:var(--text-muted,#666);margin-top:4px;font-size:.75rem;font-style:italic}.linked-artist-info{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.linked-artist-label{color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.linked-artist-name{font-family:var(--font-heading);color:var(--accent-primary);letter-spacing:1px;font-size:1rem;text-decoration:none}.linked-artist-name:hover{text-decoration:underline}.verified-badge{color:#00c864;letter-spacing:.5px;background:#00c86426;border:1px solid #00c8644d;border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600}.profile-card.danger-zone{border-color:#dc354566}.profile-card.danger-zone h2{color:#dc3545}.danger-actions{flex-wrap:wrap;gap:16px;display:flex}.legal-links-list{flex-direction:column;display:flex}.legal-link-item{color:var(--text-color);border-bottom:1px solid var(--border-color);padding:12px 0;font-size:.9rem;text-decoration:none;transition:color .2s;display:block}.legal-link-item:last-child{border-bottom:none}.legal-link-item:hover{color:var(--accent-primary)}.auth-legal-links{color:var(--text-muted,#888);text-align:center;margin-top:12px;font-size:.75rem}.auth-legal-links a{color:var(--accent-primary);text-decoration:underline}.btn-profile-save{background:var(--accent-primary);color:#0a0a0a;font-family:var(--font-heading);letter-spacing:1px;cursor:pointer;border:none;border-radius:6px;padding:10px 24px;font-size:.85rem;font-weight:700;transition:box-shadow .2s,transform .2s}.btn-profile-save:hover{box-shadow:0 0 12px var(--accent-primary);transform:translateY(-1px)}.btn-profile-secondary{color:var(--text-color);font-family:var(--font-heading);letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #80808066;border-radius:6px;padding:10px 24px;font-size:.85rem;font-weight:700;transition:border-color .2s}.btn-profile-secondary:hover{border-color:var(--text-color)}.btn-profile-danger{color:#dc3545;font-family:var(--font-heading);letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #dc354580;border-radius:6px;padding:10px 24px;font-size:.85rem;font-weight:700;transition:background .2s,color .2s}.btn-profile-danger:hover{color:#fff;background:#dc3545}.btn-profile-logout{color:var(--accent-secondary,#8b5cf6);font-family:var(--font-heading);letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #8b5cf666;border-radius:6px;padding:10px 24px;font-size:.85rem;font-weight:700;transition:background .2s,color .2s}.btn-profile-logout:hover{background:var(--accent-secondary,#8b5cf6);color:#fff}.my-arts-card-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.my-arts-card-body p{color:var(--text-muted,#888);max-width:420px;font-size:.9rem}.profile-modal-overlay{z-index:2000;background:#000000b3;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.profile-modal-overlay.active{display:flex}.profile-modal{background:#0a140af2;border:1px solid #dc354566;border-radius:12px;width:90%;max-width:420px;padding:32px;box-shadow:0 8px 32px #0009}.profile-modal h3{font-family:var(--font-heading);color:#dc3545;letter-spacing:1px;margin-bottom:12px;font-size:1rem}.profile-modal p{color:var(--text-muted,#888);margin-bottom:20px;font-size:.9rem}.profile-modal .modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.delete-arts-label{cursor:pointer;color:var(--text-muted);align-items:center;gap:10px;margin:16px 0 4px;font-size:.9rem;display:flex}.delete-arts-label input[type=checkbox]{accent-color:#dc3545;cursor:pointer;flex-shrink:0;width:16px;height:16px}.artist-ac-wrap{position:relative}.artist-ac-wrap input{width:100%}.artist-ac-list{z-index:1000;background:var(--bg-secondary,#1a1a1a);border:1px solid #ffffff1f;border-radius:8px;max-height:260px;margin:2px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000080}.artist-ac-item{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:9px 14px;transition:background .15s;display:flex}.artist-ac-item:hover,.artist-ac-item.ac-active{background:#ffffff12}.artist-ac-name{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;overflow:hidden}.artist-ac-meta{color:var(--text-muted,#888);flex-shrink:0;font-size:.75rem}.artist-ac-meta.ac-verified{color:var(--accent-primary,#4caf50)}.unknown-artist-label{cursor:pointer;font-size:.85rem;font-family:var(--font-body);letter-spacing:0;color:var(--text-muted,#888);align-items:center;gap:8px;margin:6px 0 8px;font-weight:400;display:flex}.unknown-artist-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary,#4caf50);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0}@media (width<=600px){.profile-card{padding:20px}.avatar-upload-area{flex-direction:column;align-items:flex-start}.danger-actions{flex-direction:column}.my-arts-card-body{flex-direction:column;align-items:flex-start}}.artist-hero{max-width:860px;margin:0 auto;padding:120px 24px 40px}.artist-hero-inner{align-items:flex-start;gap:32px;margin-bottom:28px;display:flex}.artist-avatar-wrap{background:var(--card-bg);border:2px solid #8080804d;border-radius:50%;flex-shrink:0;width:110px;height:110px;position:relative;overflow:hidden}.artist-avatar-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:none}.artist-avatar-initials{width:100%;height:100%;font-family:var(--font-heading);color:var(--accent-primary);background:var(--card-bg);justify-content:center;align-items:center;font-size:2rem;display:flex}.artist-avatar-overlay{opacity:0;cursor:pointer;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0;overflow:hidden}.avatar-overlay-icon{font-size:1.4rem;line-height:1;display:block}.artist-avatar-wrap:hover .artist-avatar-overlay{opacity:1}.artist-hero-info{flex:1;min-width:0}.artist-name-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px;display:flex}.artist-display-name{font-family:var(--font-heading);letter-spacing:2px;color:var(--accent-primary);margin:0;font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.1}.artist-profile-location{color:var(--text-muted,#888);margin:0 0 10px;font-size:.9rem}.artist-social-row{flex-wrap:wrap;gap:12px;margin-bottom:10px;display:flex}.artist-social-link{color:var(--text-muted,#888);border:1px solid #8080804d;border-radius:4px;padding:3px 10px;font-size:.8rem;text-decoration:none;transition:border-color .2s,color .2s}.artist-social-link:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.artist-stats-row{align-items:center;gap:16px;display:flex}.artist-art-count{color:var(--text-muted,#888);letter-spacing:.5px;font-size:.8rem}.artist-profile-bio{color:var(--text-color);opacity:.85;max-width:680px;margin:0 0 28px;font-size:1rem;line-height:1.7}.artist-owner-actions{flex-wrap:wrap;gap:12px;margin-bottom:8px;display:flex}.artist-action-btn{font-family:var(--font-heading);letter-spacing:1px;cursor:pointer;border-radius:6px;padding:10px 22px;font-size:.8rem;transition:box-shadow .2s,transform .2s,border-color .2s}.btn-secondary-outline{color:var(--accent-primary);border:1px solid var(--accent-primary);background:0 0}.btn-secondary-outline:hover{box-shadow:0 0 10px var(--accent-primary)}.artist-edit-panel{max-width:860px;margin:0 auto 40px;padding:0 24px}.artist-edit-form{background:var(--card-bg);border:1px solid #80808033;border-radius:12px;padding:32px}.artist-edit-form h2{font-family:var(--font-heading);letter-spacing:2px;color:var(--accent-primary);margin:0 0 24px;font-size:1rem}.artist-edit-form .profile-field textarea{background:var(--input-bg,#ffffff0d);width:100%;color:var(--text-color);font-family:var(--font-body);resize:vertical;box-sizing:border-box;border:1px solid #8080804d;border-radius:6px;padding:10px 14px;font-size:.9rem}.artist-edit-form .profile-field textarea:focus{border-color:var(--accent-primary);outline:none}.artist-edit-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}@media (width<=600px){.artist-hero-inner{text-align:center;flex-direction:column;align-items:center}.artist-name-row,.artist-social-row,.artist-owner-actions{justify-content:center}.artist-edit-form{padding:20px}}.artist-locked-msg{color:#27ae60;background:#27ae6014;border-left:3px solid #27ae60;border-radius:4px;margin:6px 0 0;padding:6px 10px;font-size:.78rem}.verified-badge--sm{vertical-align:middle;border-radius:8px;flex-shrink:0;padding:1px 5px;font-size:.6rem}.art-card-title{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.artist-card-name-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.artist-card-name-row h2{margin:0}.artist-card-count{color:var(--text-muted);margin-right:auto;font-size:.75rem}.art-post-artist-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.art-post-artist{margin:0;font-size:1.4rem;font-weight:700;line-height:1.2}.artist-name-link{color:inherit;text-decoration:none;transition:color .2s}.artist-name-link[href]:hover{color:var(--accent-primary);text-decoration:underline}.attribution-badge{color:#27ae60;letter-spacing:.3px;white-space:nowrap;background:#27ae601f;border:1px solid #27ae604d;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.post-action-btn--warn{color:#e74c3c}.post-action-btn--warn svg{stroke:#e74c3c}.post-action-btn--warn:hover{color:#e74c3c;background:#e74c3c14}[data-theme=light] .post-action-btn--warn:hover{background:#e74c3c14}.tour-badge--accent{background:var(--accent-primary);color:#000}.tour-badge--secondary{background:var(--accent-secondary);color:#000}.tour-badge--white{color:#000;background:#fff}.tour-detail-hero{padding-bottom:40px}.tour-detail-badge-row{min-height:24px;margin-bottom:12px}.tour-detail-meta{flex-wrap:wrap;justify-content:center;gap:32px;margin-top:28px;display:flex}.tour-meta-item{flex-direction:column;align-items:center;gap:4px;display:flex}.tour-meta-icon{font-size:1.4rem}.tour-meta-value{color:var(--accent-primary);font-size:1.3rem;font-weight:700}.tour-meta-label{color:#aaa;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.tour-map-container{border:1px solid #ffffff1a;border-radius:10px;width:100%;height:480px;margin-bottom:20px;overflow:hidden;box-shadow:0 0 30px #00000080}#tour-map{width:100%;height:100%}.tour-stops-list{flex-direction:column;gap:20px;display:flex}.tour-stop-card{background:var(--card-bg);border:1px solid #ffffff14;border-radius:8px;gap:20px;padding:20px;transition:border-color .3s,background .3s;display:flex}.tour-stop-card--highlighted{border-color:var(--accent-primary);background:#b5f50a0d}.tour-stop-card:hover{border-color:#fff3}.tour-stop-img-wrap{flex-shrink:0;position:relative}.tour-stop-number{background:var(--accent-primary);color:#000;z-index:1;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:flex;position:absolute;top:-10px;left:-10px;box-shadow:0 2px 6px #0006}.tour-stop-img{-o-object-fit:cover;object-fit:cover;border-radius:6px;width:120px;height:120px;display:block}.tour-stop-info{flex-direction:column;flex:1;gap:6px;display:flex}.tour-stop-label{color:var(--accent-primary);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.tour-stop-desc{color:var(--text-color);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.95rem;line-height:1.5;display:-webkit-box;overflow:hidden}.tour-stop-meta{color:#aaa;flex-wrap:wrap;gap:16px;margin-top:2px;font-size:.82rem;display:flex}.tour-stop-view-btn{align-self:flex-start;margin-top:auto;padding:6px 16px;font-size:.82rem}@media (width<=600px){.tour-detail-meta{gap:20px}.tour-stop-card{flex-direction:column}.tour-stop-img{width:100%;height:200px}.tour-stop-img-wrap{width:100%}.tour-map-container{height:320px}}.push-optin-banner{z-index:9000;background:var(--surface-elevated-bg);border:1px solid var(--border-color-strong);border-radius:12px;flex-direction:column;gap:10px;width:calc(100% - 32px);max-width:400px;padding:16px 20px;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0009}.push-optin-banner p{color:var(--text-color);margin:0;font-size:.875rem}.push-optin-banner .btn-push-accept{background:var(--accent-primary);color:#0a0a0a;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:.875rem;font-weight:600;transition:opacity .2s}.push-optin-banner .btn-push-accept:hover{opacity:.85}.push-optin-banner .btn-push-decline{color:var(--text-muted,#888);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-size:.875rem;transition:color .2s}.push-optin-banner .btn-push-decline:hover{color:var(--text-color)}.notif-toggle-row{cursor:pointer;background:var(--input-bg,#ffffff0d);-webkit-tap-highlight-color:transparent;border:1px solid #80808026;border-radius:10px;align-items:center;gap:14px;padding:14px 16px;transition:background .2s,border-color .2s;display:flex}.notif-toggle-row:hover{border-color:#80808059}.notif-toggle-row:has(.notif-switch-input:checked){border-color:var(--accent-primary);background:#39ff140a}.notif-toggle-icon{width:40px;height:40px;color:var(--text-muted,#888);background:#8080801a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:color .25s,background .25s;display:flex}.notif-toggle-row:has(.notif-switch-input:checked) .notif-toggle-icon{color:var(--accent-primary);background:#39ff141f}.notif-toggle-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-toggle-title{color:var(--text-color);font-size:.95rem;font-weight:500;line-height:1.3}.notif-toggle-desc{color:var(--text-muted,#888);font-size:.78rem;line-height:1.4}.notif-switch-input{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notif-switch-track{background:#8080804d;border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:background .25s;display:inline-block;position:relative}.notif-switch-input:checked+.notif-switch-track{background:var(--accent-primary)}.notif-switch-input:focus-visible+.notif-switch-track{outline:2px solid var(--accent-primary);outline-offset:2px}.notif-switch-thumb{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.notif-switch-input:checked+.notif-switch-track .notif-switch-thumb{transform:translate(20px)}.notif-toggle-row:active .notif-switch-thumb{width:26px}.notif-switch-input:checked+.notif-switch-track .notif-switch-thumb:has(:active){transform:translate(16px)}@media (prefers-reduced-motion:reduce){.notif-switch-thumb,.notif-switch-track,.notif-toggle-icon{transition:none}}.ptr-indicator{top:var(--nav-height);z-index:9999;opacity:0;pointer-events:none;transition:transform .2s,opacity .2s;position:fixed;left:50%;transform:translate(-50%,-72px)}.ptr-indicator.ptr-active{transition:none;opacity:1!important;transform:translate(-50%)!important}.ptr-spinner{border:3px solid #39ff1440;border-top-color:var(--accent-primary);border-radius:50%;width:36px;height:36px;margin-top:8px;animation:.7s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:rotate(360deg)}}
