@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-beginner: #10b981;--color-intermediate: #3b82f6;--color-advanced: #8b5cf6;--color-elite: #f59e0b;--color-pro: #ef4444;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: rgba(30, 41, 59, .8);--bg-glass: rgba(15, 23, 42, .7);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-success: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px rgba(102, 126, 234, .4);--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{width:100%;height:100vh;position:relative}.app-container{width:100%;height:100vh;display:flex;flex-direction:column;position:relative}.app-header{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-md);z-index:1000;position:relative}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.header-title{display:flex;align-items:center;gap:var(--spacing-sm)}.header-title h1{font-size:1.75rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-icon{font-size:2rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.header-stats{display:flex;align-items:center;gap:12px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xs) var(--spacing-md);background:#ffffff0d;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:all var(--transition-base)}.stat-item:hover{background:#ffffff1a;transform:translateY(-2px);box-shadow:var(--shadow-glow)}.stat-divider{color:#ffffff4d;font-size:1rem}.stat-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.7rem;color:var(--text-muted)}.map-container{flex:1;position:relative;overflow:hidden}.leaflet-container{width:100%;height:100%;background:#1a1a2e}.legend-panel{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-lg);z-index:1000;min-width:250px;animation:slideInRight .5s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.legend-title{font-size:1.125rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-xs)}.legend-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.legend-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:pointer}.legend-item:hover{background:#ffffff0d;transform:translate(5px)}.legend-color{width:24px;height:24px;border-radius:var(--radius-full);border:3px solid rgba(255,255,255,.3);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.legend-item:hover .legend-color{transform:scale(1.2);box-shadow:0 0 20px currentColor}.legend-info{flex:1;display:flex;flex-direction:column}.legend-label{font-weight:600;font-size:.875rem;color:var(--text-primary)}.legend-description{font-size:.75rem;color:var(--text-muted)}.legend-count{background:#ffffff1a;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;color:var(--text-secondary)}.control-panel{position:absolute;bottom:var(--spacing-md);left:var(--spacing-md);background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-lg);z-index:1000;animation:slideInLeft .5s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.control-button{background:var(--gradient-primary);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--spacing-xs);text-transform:uppercase;letter-spacing:.05em}.control-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.control-button:active{transform:translateY(0)}.start-button{position:absolute;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);width:120px;height:120px;border-radius:var(--radius-full);background:var(--gradient-primary);border:4px solid rgba(255,255,255,.2);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-lg),0 0 40px #667eea80;z-index:1000;animation:pulseGlow 2s infinite;overflow:hidden}@keyframes pulseGlow{0%,to{box-shadow:var(--shadow-lg),0 0 40px #667eea80}50%{box-shadow:var(--shadow-lg),0 0 60px #667eeacc}}.start-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(45deg);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.start-button:hover{transform:translate(-50%) scale(1.1);box-shadow:var(--shadow-lg),0 0 80px #667eeacc;border-color:#fff6}.start-button:active{transform:translate(-50%) scale(1.05)}.start-button.running{background:var(--gradient-secondary);animation:pulseRunning 1.5s infinite}@keyframes pulseRunning{0%,to{box-shadow:var(--shadow-lg),0 0 40px #f5576c80}50%{box-shadow:var(--shadow-lg),0 0 60px #f5576ccc}}.start-button-inner{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs)}.start-icon{font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.start-text{font-size:.875rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.1em;text-shadow:0 2px 4px rgba(0,0,0,.3)}.runner-detail-panel{position:fixed;right:0;top:0;width:400px;height:100vh;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.1);box-shadow:-4px 0 32px #0000004d;z-index:2000;overflow-y:auto;animation:slideInFromRight .4s ease-out}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.panel-header{position:sticky;top:0;background:var(--bg-secondary);padding:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;z-index:10}.panel-title{display:flex;align-items:center;gap:var(--spacing-sm)}.panel-grade-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em}.panel-title h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.close-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-primary);width:36px;height:36px;border-radius:var(--radius-md);font-size:1.25rem;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.close-button:hover{background:#fff3;transform:rotate(90deg)}.panel-content{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.detail-section{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-md)}.section-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:var(--spacing-xs)}.grade-badge-large{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-size:1.25rem;font-weight:800;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.1em;box-shadow:var(--shadow-md)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.stats-horizontal{display:flex;align-items:center;gap:12px;padding:12px 0;flex-wrap:wrap}.stat-inline{display:inline-flex;align-items:baseline;gap:4px}.stat-icon-inline{font-size:1rem}.stat-value-inline{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.stat-unit{font-size:.75rem;color:var(--text-muted)}.stat-divider-inline{color:#ffffff4d;font-size:1rem;margin:0 4px}.stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-base)}.stat-card:hover{background:#ffffff14;transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{font-size:2rem}.stat-info{flex:1;display:flex;flex-direction:column}.stat-value-large{font-size:1.1rem;font-weight:700;color:var(--text-primary);line-height:1.2}.detail-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);background:#ffffff08;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.detail-item:hover{background:#ffffff0f}.detail-label{font-size:.875rem;color:var(--text-muted);font-weight:500}.detail-value{font-size:.875rem;color:var(--text-secondary);font-weight:600}.route-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.route-point{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background:#ffffff08;border-radius:var(--radius-md)}.route-marker{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.route-marker.start{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b98166}.route-marker.current{box-shadow:0 4px 12px #0000004d}.route-text{flex:1;display:flex;flex-direction:column;gap:.25rem}.route-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.route-coords{font-size:.75rem;color:var(--text-muted);font-family:Courier New,monospace}.route-divider{height:2px;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);margin:var(--spacing-xs) 0}.runner-detail-panel::-webkit-scrollbar{width:8px}.runner-detail-panel::-webkit-scrollbar-track{background:#ffffff0d}.runner-detail-panel::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-sm)}.runner-detail-panel::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 1024px){.runner-detail-panel{width:350px}.map-container.with-panel .leaflet-container{width:calc(100% - 350px)}}@media (max-width: 768px){.runner-detail-panel{width:100%;height:50vh;top:auto;bottom:0;border-left:none;border-top:1px solid rgba(255,255,255,.1)}.map-container.with-panel .leaflet-container{width:100%;height:50vh}.stats-grid{grid-template-columns:1fr}.app-header{padding:.75rem 1rem}.header-title h1{font-size:1.25rem}.header-icon{font-size:1.5rem}.stat-item{padding:.375rem .75rem}.stat-value{font-size:1rem}.stat-label{font-size:.625rem}.legend-panel{padding:.75rem;min-width:0;right:1rem;left:1rem;bottom:5rem;top:auto}.legend-title{font-size:.875rem;margin-bottom:.5rem}.legend-items{gap:.5rem;flex-direction:row;flex-wrap:wrap;justify-content:center}.legend-item{padding:.25rem}.legend-color{width:16px;height:16px;border-width:2px}.legend-label{font-size:.75rem}.legend-description{display:none}.legend-count{padding:.125rem .375rem;font-size:.625rem}.control-panel{padding:.5rem;bottom:1rem;left:50%;transform:translate(-50%)}.control-button{padding:.5rem .875rem;font-size:.75rem;gap:.25rem}.start-button{width:90px;height:90px;bottom:1rem}.start-icon{font-size:2rem}.start-text{font-size:.625rem}}.running-screen{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);position:relative}.running-stats-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);padding:var(--spacing-md);z-index:1000;box-shadow:var(--shadow-md)}.running-stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-md);text-align:center;transition:all var(--transition-base)}.running-stat-card:hover{background:#ffffff14;transform:translateY(-2px)}.running-stat-card.primary{background:var(--gradient-primary);border:none;margin-bottom:var(--spacing-md)}.stat-label{font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.running-stat-card.primary .stat-label{color:#ffffffe6}.stat-value-xl{font-size:3rem;font-weight:800;color:#fff;line-height:1}.stat-value-lg{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.running-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.running-map{flex:1;position:relative;overflow:hidden}.pulse-marker{position:absolute;width:100%;height:100%;border-radius:50%;background:#667eea4d;animation:pulse-ring 2s infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(2);opacity:0}}.error-banner{position:absolute;top:var(--spacing-md);left:50%;transform:translate(-50%);background:#ef4444f2;color:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);display:flex;align-items:center;gap:var(--spacing-xs);z-index:2000;box-shadow:var(--shadow-lg);animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.stop-button{position:absolute;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);width:120px;height:120px;border-radius:var(--radius-full);background:linear-gradient(135deg,#ef4444,#dc2626);border:4px solid rgba(255,255,255,.2);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-lg),0 0 40px #ef444480;z-index:1000;animation:pulseStop 2s infinite}@keyframes pulseStop{0%,to{box-shadow:var(--shadow-lg),0 0 40px #ef444480}50%{box-shadow:var(--shadow-lg),0 0 60px #ef4444cc}}.stop-button:hover{transform:translate(-50%) scale(1.1);box-shadow:var(--shadow-lg),0 0 80px #ef4444cc}.stop-button:active{transform:translate(-50%) scale(1.05)}.stop-button-inner{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs)}.stop-icon{font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.stop-text{font-size:.875rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.1em;text-shadow:0 2px 4px rgba(0,0,0,.3)}.result-screen{width:100%;min-height:100vh;background:var(--bg-primary);padding:var(--spacing-lg);overflow-y:auto}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.result-title{display:flex;align-items:center;gap:var(--spacing-sm)}.result-icon{font-size:2.5rem;animation:bounce 2s infinite}.result-title h1{font-size:2rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.result-close-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-primary);width:48px;height:48px;border-radius:var(--radius-md);font-size:1.5rem;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.result-close-button:hover{background:#fff3;transform:rotate(90deg)}.result-main-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.result-main-card{background:var(--gradient-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;box-shadow:var(--shadow-lg)}.result-main-label{font-size:1rem;color:#ffffffe6;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.result-main-value{font-size:3rem;font-weight:800;color:#fff;line-height:1}.result-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.result-stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);transition:all var(--transition-base)}.result-stat-card:hover{background:#ffffff14;transform:translateY(-2px)}.result-stat-icon{font-size:2.5rem;flex-shrink:0}.result-stat-info{flex:1}.result-stat-label{font-size:.875rem;color:var(--text-muted);margin-bottom:.25rem}.result-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.result-map-section{margin-bottom:var(--spacing-lg)}.result-section-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.result-map{width:100%;height:400px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-md)}.no-route-message{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#ffffff0d;color:var(--text-muted);font-size:1.125rem}.result-actions{display:flex;gap:var(--spacing-md);justify-content:center}.result-action-button{background:var(--gradient-primary);color:#fff;border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-full);font-weight:700;font-size:1rem;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em}.result-action-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.result-action-button:active{transform:translateY(0)}@media (max-width: 768px){.running-stats-grid{grid-template-columns:1fr;gap:.5rem}.stat-value-xl{font-size:2.5rem}.stat-value-lg{font-size:1.1rem}.stop-button{width:90px;height:90px;bottom:1rem}.stop-icon{font-size:2rem}.stop-text{font-size:.625rem}.result-main-stats{grid-template-columns:1fr}.result-main-value{font-size:2.5rem}.result-stats-grid{grid-template-columns:1fr}.result-map{height:300px}}.main-app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);box-sizing:border-box;overflow:hidden}.main-logo{font-size:1.8rem;font-weight:700;color:#1a1a1a;font-style:italic;letter-spacing:-1px}.main-user-profile{display:flex;align-items:center;gap:.75rem}.user-profile-image{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#e0e0e0;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 2px 4px #0000001a}.user-profile-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.default-profile-icon{font-size:1.5rem}.user-nickname{color:#1a1a1a;font-size:.95rem;font-weight:600;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;width:100%}.tab-content{width:100%;height:100%;padding:0}.crew-tab{padding:0;width:100%;height:100%}.running-tab{padding:0;position:relative;width:100%;height:100%;overflow:hidden}.home-tab{padding:2rem 1rem}.welcome-section{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;text-align:center}.welcome-section h1{font-size:2rem;color:#1a1a1a;margin-bottom:.5rem}.welcome-section p{font-size:1.1rem;color:#666}.crew-section{max-width:600px;margin:0 auto}.crew-section h2{font-size:1.5rem;color:#1a1a1a;margin-bottom:1.5rem}.crew-info,.no-crew{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 2px 12px #00000014;text-align:center}.crew-info h3{font-size:1.3rem;color:#1a1a1a;margin-bottom:.5rem}.crew-info p{color:#666;margin-bottom:1.5rem}.view-crew-btn,.create-crew-btn{padding:.875rem 2rem;background:linear-gradient(135deg,#4318ff,#5b2fff);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #4318ff4d}.view-crew-btn:hover,.create-crew-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4318ff66}.no-crew p{color:#999;margin-bottom:1.5rem}.myrun-tab{padding:2rem 1rem}.myrun-section{max-width:800px;margin:0 auto}.myrun-section h2{font-size:1.5rem;color:#1a1a1a;margin-bottom:1.5rem}.map-container{width:100%;height:100%;position:relative;overflow:hidden}.main-content>div{width:100%;height:100%}.map-controls-overlay{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:100}.map-control-icon-btn{background:#fff;border:none;width:48px;height:48px;border-radius:50%;font-size:1.5rem;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center}.map-control-icon-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.map-control-icon-btn.active{background:linear-gradient(135deg,#4318ff,#5b2fff);color:#fff}.runner-grade-btn{position:absolute;top:1rem;right:5rem;background:#fff;border:none;width:48px;height:48px;border-radius:50%;font-size:1.3rem;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:transform .2s,box-shadow .2s;z-index:100;display:flex;align-items:center;justify-content:center;padding:0}.runner-grade-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.runner-grade-modal{background:#fff;border-radius:16px;padding:2rem;max-width:400px;width:90%;box-shadow:0 8px 32px #0000004d}.runner-grade-modal h2{font-size:1.5rem;color:#1a1a1a;margin-bottom:1.5rem;text-align:center}.grade-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.grade-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:12px}.grade-badge{padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.9rem}.grade-badge.beginner{background:#10b981;color:#fff}.grade-badge.advanced{background:#f59e0b;color:#fff}.grade-badge.pro{background:#ef4444;color:#fff}.grade-badge.elite{background:#7c3aed;color:#fff}.grade-count{font-size:1.1rem;font-weight:700;color:#1a1a1a}.modal-close-btn{width:100%;padding:.875rem;background:#4318ff;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.modal-close-btn:hover{background:#5b2fff}.main-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(70px + var(--safe-area-bottom, 0px));padding-bottom:var(--safe-area-bottom, 0px);background:#fff;border-top:1px solid #e0e0e0;display:flex;justify-content:space-around;align-items:flex-start;padding-top:.5rem;box-shadow:0 -2px 8px #0000000d;z-index:1000}.nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;color:#999;font-size:.7rem;font-weight:500;cursor:pointer;transition:color .2s,transform .2s;padding:.5rem 1rem;flex:1;max-width:100px}.nav-item:hover{color:#1a1a1a}.nav-item.active{color:#1a1a1a;font-weight:700}.nav-icon{font-size:1.4rem}.nav-item.play-button{background:linear-gradient(135deg,#ef4444,#dc2626);width:64px;height:64px;border-radius:50%;margin-top:-32px;box-shadow:0 6px 16px #ef444466;flex:0 0 auto;max-width:none;color:#fff;justify-content:center}.nav-item.play-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:scale(1.05)}.play-icon{font-size:2.2rem}@media (max-width: 480px){.main-header{height:52px;padding:0 .75rem}.main-logo{font-size:1.25rem}.main-bottom-nav{height:calc(60px + var(--safe-area-bottom, 0px))}.map-controls-overlay{top:.75rem;right:.75rem}.map-control-icon-btn{width:44px;height:44px;font-size:1.3rem}.runner-grade-btn{right:4rem;padding:.5rem .75rem;font-size:.85rem}.nav-item{font-size:.7rem;padding:.25rem .5rem}.nav-icon{font-size:1.3rem}.nav-item.play-button{width:52px;height:52px;margin-top:-26px}.play-icon{font-size:1.8rem}}@media (max-width: 360px){.map-control-icon-btn{width:40px;height:40px;font-size:1.2rem}.nav-item{font-size:.65rem}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-nav-controls{position:absolute;z-index:1000;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:auto;transition:opacity .25s ease,transform .25s ease}.map-nav-controls.map-nav-hidden{opacity:0;transform:translate(20px);pointer-events:none}.map-nav-btn{width:40px;height:40px;border:none;border-radius:10px;background:#fff;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#333;transition:all .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.map-nav-btn:hover{background:#f5f5f5}.map-nav-btn:active{background:#eee;transform:scale(.95)}.map-nav-btn.my-location{color:#333}.map-nav-btn.my-location.locating{animation:pulse-locate 1s ease-in-out infinite}@keyframes pulse-locate{0%,to{box-shadow:0 2px 8px #4285f426}50%{box-shadow:0 2px 16px #4285f466}}.map-nav-zoom-group{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #00000026}.map-nav-zoom-group .map-nav-btn{border-radius:0;box-shadow:none}.map-nav-zoom-group .map-nav-btn.zoom-in{border-bottom:1px solid #eee}.map-nav-zoom-group .map-nav-btn:hover{box-shadow:none}.leaflet-control-layers .leaflet-control-layers-toggle{display:none!important}.leaflet-control-layers.leaflet-control-layers-expanded{display:block!important;position:absolute!important;right:52px!important;bottom:0!important;top:auto!important;left:auto!important;padding:10px 14px;border-radius:10px;box-shadow:0 2px 12px #0000002e;background:#fff;white-space:nowrap;min-width:-moz-max-content;min-width:max-content;z-index:1001!important}.standard-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 20px;padding-top:max(36px,env(safe-area-inset-top,36px));background:#fff;position:sticky;top:0;z-index:100;border-bottom:1px solid #f0f0f0}.standard-header-back{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;transition:background .2s}.standard-header-back:hover{background:#f5f5f5}.standard-header-back:active{background:#eee}.standard-header-title{font-size:18px;font-weight:700;margin:0;color:#1a1a1a;text-align:center;flex:1}.standard-header-placeholder{width:44px;height:44px}.standard-header-right{display:flex;align-items:center;justify-content:center;width:44px;height:44px}.standard-header-right button{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:background .2s}.standard-header-right button:hover{background:#f5f5f5}.result-screen-container{position:fixed;top:0;left:0;right:0;bottom:0;background:#fafafa;z-index:2000;display:flex;flex-direction:column;overflow-y:auto;padding-bottom:110px;animation:slideUp .4s cubic-bezier(.16,1,.3,1)}.result-screen-header{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:24px 20px 10px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.result-screen-header h1{font-size:1.5rem;font-weight:800;color:#1a1a1a;margin:0}.result-close-x{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:#64748b;position:absolute;left:16px;top:16px;z-index:10}.result-screen-container .standard-header-right{width:auto!important;min-width:40px;padding-right:16px}.result-header-datetime{font-size:13px;font-weight:500;color:#64748b;white-space:nowrap}.result-screen-container .standard-header-title{padding-left:20px}.result-distance-section{background:#fff;padding:30px 20px;text-align:center}.result-distance-value{font-size:3rem;font-weight:900;color:#4318ff;line-height:1}.result-summary-section{background:#fff;margin:0 0 12px;padding:20px;border-radius:20px;box-shadow:0 2px 8px #0000000a}.result-main-stats-row{display:flex;justify-content:space-between;margin-bottom:24px}.result-main-stat-item{flex:1}.result-main-stat-item.center{text-align:center}.result-stat-label{font-size:.85rem;color:#64748b;font-weight:600;margin-bottom:4px}.result-stat-value-huge{font-size:2rem;font-weight:800;color:#3b7bf6;line-height:1}.result-secondary-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#f8fafc;border-radius:12px;padding:12px}.result-secondary-item{display:flex;flex-direction:column;align-items:center}.result-secondary-label{font-size:.75rem;color:#64748b;margin-bottom:2px}.result-secondary-value{font-size:1.1rem;font-weight:800;color:#1e293b}.result-secondary-value small{font-size:.7rem;font-weight:500;color:#94a3b8;margin-left:1px}.result-card-section{background:transparent;margin-bottom:12px;padding:12px 16px}.result-section-title-simple{font-size:1rem;font-weight:700;color:#1e293b;margin-bottom:16px;display:flex;align-items:center;gap:8px}.result-map-card{width:100%;height:300px;border-radius:20px;overflow:hidden;box-shadow:0 4px 16px #00000014;border:none;background:#fff;position:relative;z-index:1;isolation:isolate}.splits-list{display:flex;flex-direction:column;gap:10px}.split-row-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#f8fafc;border-radius:12px;transition:background .2s}.split-row-item:hover{background:#f1f5f9}.split-km-badge{background:#4318ff;color:#fff;font-size:.75rem;font-weight:800;padding:4px 10px;border-radius:8px;letter-spacing:.5px}.split-time-value{font-weight:700;color:#1e293b}.split-pace-value{font-size:.85rem;color:#64748b}.result-footer-actions{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;gap:12px;box-shadow:0 -4px 20px #0000000d;z-index:1500}.result-btn{height:54px;border-radius:14px;border:none;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s}.result-btn:active{transform:scale(.98)}.result-btn-delete{background:#fff1f2;color:#f43f5e;padding:0 24px;border:1px solid #ffe4e6}.result-btn-save{background:#3b7bf6;color:#fff;flex:1;box-shadow:0 4px 12px #3b7bf64d}.speed-elevation-chart-wrapper{background:#fff;border-radius:16px;padding:20px 10px 10px;margin-top:5px;border:1px solid #f1f5f9;box-shadow:inset 0 2px 4px #00000005}.chart-legend{display:flex;justify-content:center;gap:20px;margin-top:15px;padding-bottom:5px}.legend-item{display:flex;align-items:center;font-size:11px;color:#64748b;gap:6px;font-weight:600}.dot{width:10px;height:10px;border-radius:3px}.dot.ele{background:#667eea;opacity:.4}.dot.spd{background:#4318ff}@keyframes chartline{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}.result-screen-container .leaflet-control-container,.result-screen-container .leaflet-top,.result-screen-container .leaflet-bottom,.result-screen-container .leaflet-control,.result-screen-container .result-map-card .leaflet-control-layers{z-index:10!important}.main-header{position:relative;width:100%;min-height:56px;padding-top:max(36px,env(safe-area-inset-top,36px));background:#fff;display:flex;justify-content:space-between;align-items:center;padding-left:20px;padding-right:20px;padding-bottom:max(36px,env(safe-area-inset-top,36px));border-bottom:1px solid #E5E5E5;z-index:1000}.header-logo-section{display:flex;align-items:center;gap:12px}.header-logo{font-size:26px;font-weight:700;color:#3b7bf6;font-style:italic;letter-spacing:-1px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.header-catchphrase{font-size:13px;font-weight:500;color:#999;font-style:normal;letter-spacing:-.3px;padding-left:12px;border-left:1px solid #E5E5E5}.header-right-section{display:flex;align-items:center;gap:6px}.header-point-btn{display:flex;align-items:center;gap:4px;background:#f5f5f5;border:1px solid #E0E0E0;border-radius:20px;padding:5px 10px 5px 6px;cursor:pointer;transition:all .2s}.header-point-btn:active{transform:scale(.96);background:#ececec}.header-point-icon{width:18px;height:18px;border-radius:50%}.header-point-amount{font-size:12px;font-weight:700;letter-spacing:-.3px}.header-point-amount.llr{color:#8b6914}.header-point-amount.llx{color:#2d6bb4}.header-point-divider{width:1px;height:14px;background:#d0d0d0;margin:0 2px}.header-avatar-container{display:flex;align-items:center;gap:10px;padding:4px 8px;border-radius:24px;cursor:pointer;transition:background .2s}.header-avatar-container:hover{background:#f5f5f5}.header-avatar-wrapper{position:relative}.header-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;border:2px solid #3B7BF6}.header-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.header-avatar-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#f5f5f5;font-size:18px}.header-nickname{font-size:14px;font-weight:600;color:#1a1a1a;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 360px){.main-header{padding-left:16px;padding-right:16px}.header-logo{font-size:22px}.header-nickname{display:none}}.bottom-nav{position:relative;width:100%;min-height:72px;padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid #E5E5E5;display:flex;justify-content:space-around;align-items:center;z-index:1000;flex-shrink:0}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#999;font-size:10px;font-weight:500;letter-spacing:.2px;cursor:pointer;transition:color .2s ease;flex:1;padding:8px 0;position:relative}.nav-item:hover{color:#666}.nav-item.active{color:#3b7bf6}.nav-item.active:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:5px;height:5px;background:#3b7bf6;border-radius:50%}.nav-icon{width:26px;height:26px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.nav-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;fill:none}.nav-item.active .nav-icon svg{stroke-width:2.2}.play-button-container{position:relative;display:flex;align-items:center;justify-content:center;flex:2;gap:20px}.game-mode-btn{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#1a0a3e,#2d1b69);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:-24px;box-shadow:0 4px 16px #6432c84d;border:3px solid rgba(255,255,255,.9);-webkit-tap-highlight-color:transparent;outline:none;font-size:22px;line-height:1}.game-mode-btn:hover{transform:scale(1.1);box-shadow:0 4px 16px #6432c880}.game-mode-btn:active{transform:scale(.95)}.play-button{width:60px;height:60px;border-radius:50%;background:#3b7bf6;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:-24px;box-shadow:0 4px 16px #3b7bf64d;border:3px solid #FFFFFF;-webkit-tap-highlight-color:transparent;outline:none}.play-button:hover{transform:scale(1.05);box-shadow:0 6px 20px #3b7bf666}.play-button:active{transform:scale(.98)}.play-button svg{width:26px;height:26px;fill:#fff;margin-left:3px}.nav-label{font-size:10px;font-weight:500;letter-spacing:.3px}.nav-item.active .nav-label{font-weight:600}.point-detail-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#f8f8f8;z-index:2000;display:flex;flex-direction:column;overflow:hidden}.point-detail-content{flex:1;overflow-y:auto;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom,20px))}.point-balance-cards{display:flex;gap:12px;margin-bottom:24px}.point-balance-card{flex:1;border-radius:16px;padding:20px 16px;position:relative;overflow:hidden}.llr-card{background:linear-gradient(135deg,#b8860b,#d4a843,#c49b30);color:#fff;box-shadow:0 4px 16px #b8860b4d}.llx-card{background:linear-gradient(135deg,#4a90d9,#5ba3ec,#4a90d9);color:#fff;box-shadow:0 4px 16px #4a90d94d}.balance-card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.balance-card-icon{width:24px;height:24px;border-radius:50%}.balance-card-icon-text{font-size:20px;line-height:1}.balance-card-label{font-size:13px;font-weight:600;opacity:.9}.balance-card-amount{font-size:28px;font-weight:800;margin-bottom:6px;letter-spacing:-.5px}.balance-card-desc{font-size:11px;opacity:.7}.point-filter-tabs{display:flex;gap:8px;margin-bottom:16px}.point-filter-tab{flex:1;padding:10px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;background:#fff;color:#999}.point-filter-tab.active{background:#3b7bf6;color:#fff}.point-history-list{display:flex;flex-direction:column;gap:0}.point-history-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border-bottom:1px solid #F0F0F0}.point-history-item:first-child{border-radius:12px 12px 0 0}.point-history-item:last-child{border-radius:0 0 12px 12px;border-bottom:none}.point-history-item:only-child{border-radius:12px;border-bottom:none}.point-history-left{flex:1;min-width:0}.point-history-type{font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:2px}.point-history-desc{font-size:12px;color:#999;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.point-history-date{font-size:11px;color:#ccc}.point-history-amount{font-size:16px;font-weight:700;white-space:nowrap;padding-left:12px;display:flex;align-items:baseline;gap:3px}.point-history-amount.positive{color:#3b7bf6}.point-history-amount.negative{color:#666}.point-history-currency{font-size:11px;font-weight:500;opacity:.7}.point-empty{text-align:center;padding:48px 20px;color:#ccc;font-size:14px}:root{--join-primary: #3B7BF6;--join-primary-light: #FFE8E0;--join-primary-dark: #D15A3A;--join-bg: #FAFAFA;--join-card: #FFFFFF;--join-text: #1a1a1a;--join-text-secondary: #666666;--join-text-muted: #999999;--join-border: #E5E5E5;--join-success: #4CAF50;--join-danger: #FF5252}.join-tab{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;background:var(--join-bg);display:flex;flex-direction:column;overflow:hidden}.join-tab__header{background:var(--join-card);border-bottom:1px solid var(--join-border);padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 0}.join-tab__title{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px}.join-tab__title h2{font-size:18px;font-weight:700;color:var(--join-text);margin:0}.join-tab__back{background:none;border:none;font-size:20px;cursor:pointer;padding:4px 8px;color:var(--join-text)}.join-tab__filters{display:flex;gap:0;border-bottom:2px solid var(--join-border)}.join-tab__filter-btn{flex:1;padding:10px 0;background:none;border:none;font-size:14px;font-weight:600;color:var(--join-text-muted);cursor:pointer;position:relative;transition:color .2s}.join-tab__filter-btn--active{color:var(--join-primary)}.join-tab__filter-btn--active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--join-primary)}.join-tab__feed{flex:1;overflow-y:auto;padding:12px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.join-tab__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--join-text-muted)}.join-tab__empty-icon{font-size:48px;margin-bottom:16px}.join-tab__empty-text{font-size:15px;text-align:center}.join-tab__fab{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0px));right:20px;width:56px;height:56px;border-radius:50%;background:var(--join-primary);color:#fff;border:none;font-size:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #3b7bf666;z-index:2001;transition:transform .2s,box-shadow .2s}.join-tab__fab:active{transform:scale(.92)}.join-card{background:var(--join-card);border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f}.join-card__header{display:flex;align-items:center;gap:10px;margin-bottom:12px;position:relative}.join-card__header-right{margin-left:auto;display:flex;align-items:center;gap:8px}.join-card__avatar{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#eee}.join-card__author-info{flex:1}.join-card__author-name{font-size:14px;font-weight:700;color:var(--join-text)}.join-card__time{font-size:11px;color:var(--join-text-muted)}.join-card__status{padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;background:transparent;white-space:nowrap}.join-card__kebab-container{position:relative;display:flex;align-items:center}.join-card__kebab-btn{background:none;border:none;padding:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:background-color .2s;color:#666}.join-card__kebab-btn:hover{background-color:#0000000d}.join-card__kebab-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:100px;overflow:hidden;border:1px solid #eee}.join-card__kebab-menu button{width:100%;padding:10px 16px;border:none;background:none;font-size:13px;text-align:left;cursor:pointer;transition:background-color .2s;color:#333;display:block}.join-card__kebab-menu button:hover{background-color:#f5f5f5}.join-card__kebab-menu button.danger{color:#ef4444}.join-card__status--open{color:var(--join-primary);border:1.5px solid var(--join-primary)}.join-card__status--closed{color:#999;border:1.5px solid #ccc}.join-card__title{font-size:16px;font-weight:700;color:var(--join-text);margin-bottom:6px}.join-card__content{font-size:13px;color:var(--join-text-secondary);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.join-card__info{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.join-card__info-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--join-text-secondary)}.join-card__info-label{font-weight:600;color:var(--join-text);white-space:nowrap}.join-card__map-preview{width:100%;height:120px;border-radius:12px;overflow:hidden;margin-bottom:12px;background:#f0f0f0;position:relative}.join-card__map-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.join-card__actions{display:flex;align-items:center;gap:4px;border-top:1px solid var(--join-border);padding-top:10px}.join-card__action-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:8px;border:none;background:none;font-size:13px;color:var(--join-text-secondary);cursor:pointer;transition:background .15s}.join-card__action-btn:hover{background:#f5f5f5}.join-card__action-btn--attend{margin-left:auto;background:var(--join-primary);color:#fff;font-weight:600;border-radius:20px;padding:6px 16px}.join-card__action-btn--attend:hover{background:var(--join-primary-dark)}.join-card__action-btn--attending{margin-left:auto;background:#f0f0f0;color:var(--join-text-secondary);font-weight:600;border-radius:20px;padding:6px 16px}.create-join{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2100;background:var(--join-card);display:flex;flex-direction:column}.create-join__header{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px;border-bottom:1px solid var(--join-border)}.create-join__header-btn{background:none;border:none;font-size:15px;cursor:pointer;padding:4px 8px;color:var(--join-text-secondary);font-weight:600}.create-join__header-btn--submit{color:var(--join-primary)}.create-join__header-btn--submit:disabled{color:var(--join-text-muted)}.create-join__step-title{font-size:16px;font-weight:700;color:var(--join-text)}.create-join__progress{height:3px;background:var(--join-border)}.create-join__progress-bar{height:100%;background:var(--join-primary);transition:width .3s ease}.create-join__body{flex:1;overflow-y:auto;padding:24px 20px}.create-join__label{font-size:22px;font-weight:700;color:var(--join-text);margin-bottom:8px}.create-join__sublabel{font-size:14px;color:var(--join-text-muted);margin-bottom:24px}.create-join__input{width:100%;padding:14px 16px;border:2px solid var(--join-border);border-radius:12px;font-size:16px;outline:none;transition:border-color .2s;box-sizing:border-box}.create-join__input:focus{border-color:var(--join-primary)}.create-join__textarea{width:100%;padding:14px 16px;border:2px solid var(--join-border);border-radius:12px;font-size:15px;outline:none;resize:vertical;min-height:150px;transition:border-color .2s;box-sizing:border-box;font-family:inherit}.create-join__textarea:focus{border-color:var(--join-primary)}.create-join__number-selector{display:flex;align-items:center;gap:16px}.create-join__number-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--join-border);background:var(--join-card);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.create-join__number-btn:active{border-color:var(--join-primary);background:var(--join-primary-light)}.create-join__number-value{font-size:32px;font-weight:700;color:var(--join-text);min-width:60px;text-align:center}.create-join__no-limit{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;color:var(--join-text-secondary);cursor:pointer}.create-join__no-limit input[type=checkbox]{accent-color:var(--join-primary);width:18px;height:18px}.create-join__map{width:100%;height:280px;border-radius:12px;overflow:hidden;margin-bottom:12px;border:2px solid var(--join-border)}.create-join__map .leaflet-control-zoom,.create-join__map .leaflet-control-attribution,.create-join__map .leaflet-control-layers-toggle{display:none!important}.create-join__location-name{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#f5f5f5;border-radius:10px;font-size:14px;color:var(--join-text-secondary);margin-top:8px}.create-join__datetime{display:flex;flex-direction:column;gap:12px}.create-join__datetime input{width:100%;padding:14px 16px;border:2px solid var(--join-border);border-radius:12px;font-size:16px;outline:none;box-sizing:border-box}.create-join__datetime input:focus{border-color:var(--join-primary)}.create-join__settings{display:flex;flex-direction:column;gap:16px}.create-join__setting-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f8f8f8;border-radius:12px}.create-join__setting-info h4{font-size:15px;font-weight:600;color:var(--join-text);margin:0 0 4px}.create-join__setting-info p{font-size:12px;color:var(--join-text-muted);margin:0}.create-join__toggle{position:relative;width:48px;height:28px;flex-shrink:0}.create-join__toggle input{opacity:0;width:0;height:0}.create-join__toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#ccc;border-radius:28px;transition:.3s}.create-join__toggle-slider:before{content:"";position:absolute;height:22px;width:22px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.create-join__toggle input:checked+.create-join__toggle-slider{background:var(--join-primary)}.create-join__toggle input:checked+.create-join__toggle-slider:before{transform:translate(20px)}.create-join__nav{display:flex;gap:12px;padding:16px 20px calc(env(safe-area-inset-bottom,0px) + 16px);border-top:1px solid var(--join-border);background:var(--join-card)}.create-join__nav-btn{flex:1;padding:14px;border-radius:12px;border:none;font-size:15px;font-weight:700;cursor:pointer;transition:all .15s}.create-join__nav-btn--prev{background:#f5f5f5;color:var(--join-text-secondary)}.create-join__nav-btn--next{background:var(--join-primary);color:#fff}.create-join__nav-btn--next:disabled{background:#ddd;color:#999}.join-detail{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2100;background:var(--join-bg);display:flex;flex-direction:column;overflow:hidden}.join-detail__header{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px;background:var(--join-card);border-bottom:1px solid var(--join-border)}.join-detail__body{flex:1;overflow-y:auto;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.join-detail__section{background:var(--join-card);padding:16px;margin-bottom:8px}.join-detail__section-title{font-size:14px;font-weight:700;color:var(--join-text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.join-detail__map{width:100%;height:280px;border-radius:12px;overflow:hidden}.join-detail__map .leaflet-control-attribution,.join-card__map-preview .leaflet-control-attribution,.join-detail__map .leaflet-control-zoom,.join-detail__map .leaflet-control-layers-toggle{display:none!important}.join-detail__attendee{display:flex;align-items:center;gap:10px;padding:8px 0}.join-detail__attendee-avatar{width:32px;height:32px;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#eee}.join-detail__attendee-name{font-size:14px;font-weight:600;color:var(--join-text)}.join-detail__attendee-badge{margin-left:auto;font-size:11px;padding:2px 8px;border-radius:10px;background:var(--join-success);color:#fff;font-weight:600}.join-detail__bottom-bar{position:fixed;bottom:0;left:0;right:0;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 12px);background:var(--join-card);border-top:1px solid var(--join-border);display:flex;gap:12px;z-index:2101}.join-detail__bottom-bar button{flex:1;padding:14px;border-radius:12px;border:none;font-size:15px;font-weight:700;cursor:pointer}.join-invitation{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2200;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px}.join-invitation__card{background:var(--join-card);border-radius:24px;padding:32px 24px;max-width:340px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d}.join-invitation__label{font-size:12px;font-weight:700;color:var(--join-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.join-invitation__title{font-size:20px;font-weight:700;color:var(--join-text);margin-bottom:20px}.join-invitation__qr{margin:0 auto 20px;padding:16px;background:#fff;border-radius:16px;display:inline-block;border:2px solid var(--join-border)}.join-invitation__info{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.join-invitation__info-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--join-text-secondary)}.join-invitation__close{width:100%;padding:12px;border-radius:12px;border:none;background:#f5f5f5;font-size:14px;font-weight:600;color:var(--join-text-secondary);cursor:pointer}.join-tab__loading{display:flex;align-items:center;justify-content:center;padding:40px}.join-tab__spinner{width:32px;height:32px;border:3px solid var(--join-border);border-top-color:var(--join-primary);border-radius:50%;animation:join-spin .8s linear infinite}@keyframes join-spin{to{transform:rotate(360deg)}}.running-screen{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#fff;z-index:6000;display:flex;flex-direction:column;overflow:hidden}.running-stats-panel{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #00000014;padding:calc(15px + env(safe-area-inset-top,20px)) 16px 15px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.running-stats-panel>*{pointer-events:auto}.stat-item.main{text-align:center;margin-bottom:4px}.stat-item.main .stat-value{font-size:36px!important;font-weight:900!important;color:#4318ff!important}.stats-grid{display:flex;justify-content:space-around;align-items:center;border-top:1px solid rgba(0,0,0,.05);padding-top:8px}.stat-item{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;flex:1!important;background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;pointer-events:none!important}.stat-label{font-size:11px!important;color:#666!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.5px!important}.stat-value{font-size:24px!important;font-weight:800!important;color:#1a1a1a!important;line-height:1.1!important}.stat-unit{font-size:12px!important;font-weight:600!important;color:#666!important;margin-left:2px}.running-map{flex:1;width:100%;position:relative;z-index:1}@media (max-width: 480px){.running-stats-panel{padding:10px 12px 6px}.running-time-display{font-size:28px;margin-bottom:6px}.stat-label{font-size:9px}.stat-value{font-size:14px}}.running-footer-controls{position:fixed;bottom:0;left:0;right:0;padding-bottom:calc(25px + env(safe-area-inset-bottom,20px));display:flex;justify-content:center;align-items:center;gap:30px;z-index:2000;pointer-events:none;background:linear-gradient(to top,rgba(255,255,255,.8),transparent)}.running-footer-controls>*{pointer-events:auto}.running-control-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 40px;font-size:18px;font-weight:700;border:none;border-radius:30px;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.running-control-btn.stop{background:linear-gradient(135deg,#ff453a,#c9302c);color:#fff;box-shadow:0 8px 20px #ff453a66}.running-control-btn.stop:active{transform:scale(.95);box-shadow:0 4px 12px #ff453a4d}.premium-control-btn{position:relative;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);padding:0;outline:none;-webkit-tap-highlight-color:transparent}.premium-control-btn:active{transform:scale(.92)}.premium-btn-circle{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px #0003;margin-bottom:8px;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.premium-btn-circle:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff4d,#fff0);pointer-events:none}.premium-btn-label{font-size:11px;font-weight:800;color:#000;letter-spacing:-.2px}.premium-control-btn.pause .premium-btn-circle{background:linear-gradient(135deg,#ffd60a,#ff9f0a);box-shadow:0 10px 20px #ff9f0a4d}.premium-control-btn.resume .premium-btn-circle{background:linear-gradient(135deg,#32d74b,#248a3d);box-shadow:0 10px 20px #32d74b4d;width:80px;height:80px}.premium-control-btn.stop .premium-btn-circle{background:linear-gradient(135deg,#ff453a,#c9302c);box-shadow:0 10px 20px #ff453a4d}.stop-progress-circle{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffff4d;transform:scaleY(0);transform-origin:bottom;transition:transform .05s linear;z-index:1}.premium-control-btn.water .premium-btn-circle{background:linear-gradient(135deg,#0a84ff,#0040dd);box-shadow:0 10px 20px #0a84ff4d}.premium-btn-icon{width:24px;height:24px;fill:#fff;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2));z-index:2}@keyframes premium-ripple{0%{transform:scale(.8);opacity:.5}to{transform:scale(1.3);opacity:0}}@keyframes marker-pulse{0%{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes location-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.8}50%{transform:translate(-50%,-50%) scale(2);opacity:.4}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}.running-map-actions{position:fixed;top:50%;width:100%;pointer-events:none;z-index:2000}.mode-toggle-button{pointer-events:auto;position:absolute;transform:translateY(-50%);padding:10px 14px;font-size:13px;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .2s cubic-bezier(.4,0,.2,1);left:0;border-radius:0 20px 20px 0;opacity:.7}.mode-toggle-button:active{transform:translateY(-50%) scale(.95)}.mode-toggle-button:hover{opacity:1}@keyframes rotate-album{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-playing-wave{display:flex;align-items:flex-end;gap:2px;height:12px}.music-playing-wave span{width:2px;background-color:#7c3aed;border-radius:1px;animation:music-wave-anim 1s ease-in-out infinite}.music-playing-wave span:nth-child(2){animation-delay:.2s}.music-playing-wave span:nth-child(3){animation-delay:.4s}@keyframes music-wave-anim{0%,to{height:4px}50%{height:16px}}.music-list-scrollbar::-webkit-scrollbar{width:4px}.music-list-scrollbar::-webkit-scrollbar-track{background:transparent}.music-list-scrollbar::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:10px}.music-list-scrollbar::-webkit-scrollbar-thumb:hover{background:#d1d5db}:root{--trainer-primary: #3B7BF6;--trainer-primary-light: #E8F0FE;--trainer-bg: #FAFAFA;--trainer-card: #FFFFFF;--trainer-text: #1a1a1a;--trainer-text-secondary: #666666;--trainer-text-muted: #999999;--trainer-border: #E5E5E5;--trainer-success: #4CAF50;--trainer-accent: #E87352}.trainer-tab{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;background:var(--trainer-bg);display:flex;flex-direction:column;overflow:hidden}.trainer-tab__filters{display:flex;gap:0;border-bottom:2px solid var(--trainer-border)}.trainer-tab__filter-btn{flex:1;padding:10px 0;background:none;border:none;font-size:14px;font-weight:600;color:var(--trainer-text-muted);cursor:pointer;position:relative;transition:color .2s}.trainer-tab__filter-btn--active{color:var(--trainer-primary)}.trainer-tab__filter-btn--active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--trainer-primary)}.trainer-tab__feed{flex:1;overflow-y:auto;padding:12px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.trainer-tab__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--trainer-text-muted)}.trainer-tab__empty-icon{font-size:48px;margin-bottom:16px}.trainer-tab__empty-text{font-size:15px;text-align:center;line-height:1.6}.trainer-tab__loading{display:flex;justify-content:center;padding:20px}.trainer-tab__spinner{width:28px;height:28px;border:3px solid var(--trainer-border);border-top-color:var(--trainer-primary);border-radius:50%;animation:trainer-spin .8s linear infinite}@keyframes trainer-spin{to{transform:rotate(360deg)}}.trainer-tab__fab{position:fixed;bottom:calc(30px + env(safe-area-inset-bottom,0px));right:20px;width:56px;height:56px;border-radius:50%;background:var(--trainer-primary);color:#fff;border:none;font-size:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #3b7bf666;z-index:2001;transition:transform .2s,box-shadow .2s}.trainer-tab__fab:active{transform:scale(.92)}.trainer-card{background:var(--trainer-card);border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f;transition:transform .15s;cursor:pointer}.trainer-card:active{transform:scale(.98)}.trainer-card__header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.trainer-card__avatar{width:56px;height:56px;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;flex-shrink:0}.trainer-card__avatar img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.trainer-card__info{flex:1;min-width:0}.trainer-card__name{font-size:16px;font-weight:700;color:var(--trainer-text);margin-bottom:4px}.trainer-card__location{font-size:13px;color:var(--trainer-text-secondary);display:flex;align-items:center;gap:4px}.trainer-card__meta{display:flex;gap:12px;margin-bottom:10px}.trainer-card__meta-item{font-size:12px;color:var(--trainer-text-muted);display:flex;align-items:center;gap:4px}.trainer-card__description{font-size:13px;color:var(--trainer-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.trainer-card__footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--trainer-border);padding-top:10px;margin-top:10px}.trainer-card__members{font-size:12px;color:var(--trainer-text-muted)}.trainer-card__subscribe-btn{padding:6px 16px;border-radius:20px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.trainer-card__subscribe-btn--join{background:var(--trainer-primary);color:#fff}.trainer-card__subscribe-btn--subscribed{background:#f0f0f0;color:var(--trainer-text-secondary)}.trainer-apply{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2100;background:var(--trainer-card);display:flex;flex-direction:column}.trainer-apply__body{flex:1;overflow-y:auto;padding:24px 20px;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.trainer-apply__field{margin-bottom:24px}.trainer-apply__label{font-size:14px;font-weight:700;color:var(--trainer-text);margin-bottom:8px;display:block}.trainer-apply__sublabel{font-size:12px;color:var(--trainer-text-muted);margin-bottom:8px;display:block}.trainer-apply__input{width:100%;padding:14px 16px;border:2px solid var(--trainer-border);border-radius:12px;font-size:15px;outline:none;transition:border-color .2s;box-sizing:border-box}.trainer-apply__input:focus{border-color:var(--trainer-primary)}.trainer-apply__textarea{width:100%;padding:14px 16px;border:2px solid var(--trainer-border);border-radius:12px;font-size:15px;outline:none;resize:vertical;min-height:100px;transition:border-color .2s;box-sizing:border-box;font-family:inherit}.trainer-apply__textarea:focus{border-color:var(--trainer-primary)}.trainer-apply__image-upload{display:flex;align-items:center;gap:16px}.trainer-apply__image-preview{width:80px;height:80px;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--trainer-text-muted);border:2px dashed var(--trainer-border);cursor:pointer;overflow:hidden}.trainer-apply__image-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.trainer-apply__image-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--trainer-border);background:none;font-size:13px;color:var(--trainer-text-secondary);cursor:pointer}.trainer-apply__submit{position:fixed;bottom:0;left:0;right:0;padding:12px 20px calc(env(safe-area-inset-bottom,0px) + 12px);background:var(--trainer-card);border-top:1px solid var(--trainer-border)}.trainer-apply__submit-btn{width:100%;padding:16px;border-radius:12px;border:none;background:var(--trainer-primary);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s}.trainer-apply__submit-btn:disabled{background:#ddd;color:#999}.trainer-detail{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2100;background:var(--trainer-bg);display:flex;flex-direction:column;overflow:hidden}.trainer-detail__body{flex:1;overflow-y:auto;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.trainer-detail__profile{background:var(--trainer-card);padding:24px 20px;text-align:center;margin-bottom:8px}.trainer-detail__avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:36px;color:#fff;overflow:hidden}.trainer-detail__avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.trainer-detail__name{font-size:20px;font-weight:700;color:var(--trainer-text);margin-bottom:6px}.trainer-detail__location{font-size:14px;color:var(--trainer-text-secondary);margin-bottom:16px;display:flex;align-items:center;justify-content:center;gap:6px}.trainer-detail__location-toggle{font-size:10px;color:var(--trainer-text-muted);transition:transform .2s}.trainer-detail__map{width:calc(100% - 32px);height:200px;margin:0 auto 16px;border-radius:12px;overflow:hidden}.trainer-detail__map .leaflet-control-attribution{display:none!important}.trainer-map-marker{background:none!important;border:none!important}.trainer-detail__stats{display:flex;justify-content:center;gap:32px}.trainer-detail__stat{text-align:center}.trainer-detail__stat-value{font-size:18px;font-weight:700;color:var(--trainer-text)}.trainer-detail__stat-label{font-size:12px;color:var(--trainer-text-muted);margin-top:2px}.trainer-detail__section{background:var(--trainer-card);padding:16px 20px;margin-bottom:8px}.trainer-detail__section-title{font-size:14px;font-weight:700;color:var(--trainer-text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.trainer-detail__section-text{font-size:14px;color:var(--trainer-text);line-height:1.6;white-space:pre-wrap}.trainer-detail__tabs{display:flex;background:var(--trainer-card);border-bottom:2px solid var(--trainer-border)}.trainer-detail__tab{flex:1;padding:12px 0;background:none;border:none;font-size:14px;font-weight:600;color:var(--trainer-text-muted);cursor:pointer;position:relative;transition:color .2s}.trainer-detail__tab--active{color:var(--trainer-primary)}.trainer-detail__tab--active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--trainer-primary)}.trainer-detail__tab-content{background:var(--trainer-card);min-height:200px}.trainer-detail__bottom-bar{position:fixed;bottom:0;left:0;right:0;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 12px);background:var(--trainer-card);border-top:1px solid var(--trainer-border);display:flex;gap:12px;z-index:2101}.trainer-detail__action-btn{flex:1;padding:14px;border-radius:12px;border:none;font-size:15px;font-weight:700;cursor:pointer;transition:all .15s}.trainer-detail__action-btn--subscribe{background:var(--trainer-primary);color:#fff}.trainer-detail__action-btn--subscribed{background:#f0f0f0;color:var(--trainer-text-secondary)}.trainer-member{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #f0f0f0}.trainer-member__avatar{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#eee;display:flex;align-items:center;justify-content:center;font-size:16px}.trainer-member__avatar img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.trainer-member__info{flex:1}.trainer-member__name{font-size:14px;font-weight:600;color:var(--trainer-text);display:flex;align-items:center;gap:6px}.trainer-member__badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#e87352;color:#fff;font-size:10px;font-weight:800;flex-shrink:0}.trainer-member__date{font-size:12px;color:var(--trainer-text-muted)}.trainer-pending{margin:20px 16px;padding:24px;background:#fff8e7;border-radius:16px;text-align:center}.trainer-pending__icon{font-size:40px;margin-bottom:12px}.trainer-pending__title{font-size:16px;font-weight:700;color:var(--trainer-text);margin-bottom:8px;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.trainer-pending__text{font-size:13px;color:var(--trainer-text-secondary);line-height:1.5}.trainer-pending__cancel-btn{display:block;margin:12px auto 0;padding:8px 24px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:13px;font-weight:600;color:#e74c3c;cursor:pointer}.trainer-board__empty{padding:40px 20px;text-align:center;color:var(--trainer-text-muted);font-size:14px}.trainer-board__post{padding:16px 20px;border-bottom:1px solid #f0f0f0;cursor:pointer}.trainer-board__post-title{font-size:15px;font-weight:600;color:var(--trainer-text);margin-bottom:4px;display:flex;align-items:center;gap:6px}.trainer-board__post-meta{font-size:12px;color:var(--trainer-text-muted);display:flex;gap:12px}.trainer-board__post--notice{background:#fff8f5;border-left:3px solid #E87352}.trainer-board__notice-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;background:#e87352;color:#fff;font-size:11px;font-weight:700;flex-shrink:0}.trainer-board__image-icon{font-size:13px;flex-shrink:0}.trainer-board__post-author-link{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.trainer-board__post-author-link:active{opacity:.7}.trainer-board__post-author-img{width:16px;height:16px;max-width:16px;max-height:16px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.trainer-board__write-btn{margin:12px 20px;padding:10px 16px;border-radius:8px;border:1px solid var(--trainer-border);background:none;font-size:13px;color:var(--trainer-text-secondary);cursor:pointer;width:calc(100% - 40px)}.trainer-board__write-form{margin:12px 20px;padding:16px;border-radius:12px;background:var(--trainer-card);border:1px solid var(--trainer-border);box-shadow:0 2px 12px #00000014}.trainer-board__write-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.trainer-board__write-form-title{font-size:15px;font-weight:700;color:var(--trainer-text)}.trainer-board__write-form-close{width:28px;height:28px;border-radius:50%;border:none;background:#f0f0f0;font-size:14px;color:var(--trainer-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.trainer-board__write-form-close:active{background:#e0e0e0}.trainer-board__write-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2200;background:var(--trainer-bg);display:flex;flex-direction:column;overflow:hidden}.trainer-board__write-modal-body{flex:1;overflow-y:auto;padding:20px;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.trainer-board__write-field{margin-bottom:20px}.trainer-board__write-label{display:block;font-size:14px;font-weight:700;color:var(--trainer-text);margin-bottom:8px}.trainer-board__write-input{width:100%;padding:14px 16px;border:2px solid var(--trainer-border);border-radius:12px;font-size:15px;outline:none;box-sizing:border-box;transition:border-color .2s;font-family:inherit;background:var(--trainer-card)}.trainer-board__write-input:focus{border-color:var(--trainer-primary)}.trainer-board__write-textarea{width:100%;padding:14px 16px;border:2px solid var(--trainer-border);border-radius:12px;font-size:15px;outline:none;resize:vertical;min-height:200px;box-sizing:border-box;transition:border-color .2s;font-family:inherit;line-height:1.6;background:var(--trainer-card)}.trainer-board__write-textarea:focus{border-color:var(--trainer-primary)}.trainer-board__write-modal-bottom{position:fixed;bottom:0;left:0;right:0;padding:12px 20px calc(env(safe-area-inset-bottom,0px) + 12px);background:var(--trainer-card);border-top:1px solid var(--trainer-border)}.trainer-board__write-submit-btn{width:100%;padding:16px;border-radius:12px;border:none;background:var(--trainer-primary);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .15s}.trainer-board__write-submit-btn:disabled{opacity:.5;cursor:not-allowed}.trainer-board__write-submit-btn:not(:disabled):active{opacity:.85}.trainer-board__write-image-area{margin-top:4px}.trainer-board__write-image-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;border:1px dashed #ccc;background:#fafafa;color:#666;font-size:14px;cursor:pointer;transition:border-color .2s}.trainer-board__write-image-btn:hover{border-color:#e87352}.trainer-board__write-image-preview{position:relative;display:inline-block}.trainer-board__write-image-preview img{max-width:100%;max-height:200px;border-radius:8px;border:1px solid #eee}.trainer-board__write-image-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.trainer-board__write-notice{padding:8px 0}.trainer-board__write-notice-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#e87352;cursor:pointer}.trainer-board__write-notice-label input[type=checkbox]{width:18px;height:18px;accent-color:#E87352}.trainer-board__detail-image{width:100%;max-height:400px;-o-object-fit:contain;object-fit:contain;border-radius:8px;margin-bottom:16px}.trainer-board__write-actions{display:flex;gap:8px;justify-content:flex-end}.trainer-board__write-cancel{padding:10px 20px;border-radius:8px;border:1px solid var(--trainer-border);background:none;font-size:13px;font-weight:600;color:var(--trainer-text-secondary);cursor:pointer;transition:background .15s}.trainer-board__write-cancel:active{background:#f0f0f0}.trainer-board__write-submit{padding:10px 24px;border-radius:8px;border:none;background:var(--trainer-primary);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s}.trainer-board__write-submit:disabled{opacity:.5;cursor:not-allowed}.trainer-board__write-submit:not(:disabled):active{opacity:.85}.trainer-board__detail-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2300;background:var(--trainer-bg);display:flex;flex-direction:column;overflow:hidden}.trainer-board__detail-body{flex:1;overflow-y:auto;padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}.trainer-board__detail-header{background:var(--trainer-card);padding:20px;border-bottom:1px solid var(--trainer-border)}.trainer-board__detail-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.trainer-board__detail-title{font-size:18px;font-weight:700;color:var(--trainer-text);margin:0 0 12px;line-height:1.4;flex:1}.trainer-board__kebab-wrapper{position:relative;flex-shrink:0}.trainer-board__kebab-btn{background:none;border:none;font-size:22px;color:#999;cursor:pointer;padding:4px 8px;border-radius:50%;line-height:1}.trainer-board__kebab-btn:active{background:#f0f0f0}.trainer-board__kebab-menu{position:absolute;top:100%;right:0;background:#fff;border-radius:10px;box-shadow:0 4px 16px #00000026;overflow:hidden;z-index:100;min-width:120px}.trainer-board__kebab-menu button{display:block;width:100%;padding:12px 16px;border:none;background:none;text-align:left;font-size:14px;font-weight:500;color:#333;cursor:pointer}.trainer-board__kebab-menu button:active{background:#f5f5f5}.trainer-board__kebab-menu--danger{color:#dc2626!important}.trainer-board__detail-info{display:flex;align-items:center;gap:12px;margin-bottom:8px}.trainer-board__detail-author{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--trainer-text)}.trainer-board__detail-author-img{width:24px;height:24px;max-width:24px;max-height:24px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.trainer-board__detail-author--link{cursor:pointer}.trainer-board__detail-author--link:active{opacity:.7}.trainer-board__detail-date{font-size:12px;color:var(--trainer-text-muted)}.trainer-board__detail-stats{display:flex;gap:16px;font-size:12px;color:var(--trainer-text-muted)}.trainer-board__detail-content{background:var(--trainer-card);padding:20px;min-height:120px;font-size:15px;line-height:1.7;color:var(--trainer-text);white-space:pre-wrap;word-break:break-word}.trainer-board__detail-content img{max-width:100%;border-radius:8px;margin:8px 0}.trainer-board__detail-like-bar{background:var(--trainer-card);padding:12px 20px;border-top:1px solid var(--trainer-border);border-bottom:8px solid var(--trainer-bg)}.trainer-board__like-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:20px;border:1.5px solid var(--trainer-border);background:none;font-size:14px;font-weight:600;color:var(--trainer-text-secondary);cursor:pointer;transition:all .2s}.trainer-board__like-btn:active{transform:scale(.95)}.trainer-board__like-btn--active{border-color:#ff4d6a;color:#ff4d6a;background:#fff0f3}.trainer-board__comments{background:var(--trainer-card);padding:16px 20px}.trainer-board__comments-title{font-size:14px;font-weight:700;color:var(--trainer-text);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--trainer-border)}.trainer-board__comments-empty{padding:20px 0;text-align:center;font-size:13px;color:var(--trainer-text-muted)}.trainer-board__comment{padding:12px 0;border-bottom:1px solid #f5f5f5}.trainer-board__comment:last-child{border-bottom:none}.trainer-board__comment-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.trainer-board__comment-author{font-size:13px;font-weight:600;color:var(--trainer-text);display:flex;align-items:center;gap:6px}.trainer-board__comment-author-img{width:20px;height:20px;max-width:20px;max-height:20px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.trainer-board__comment-date{font-size:11px;color:var(--trainer-text-muted)}.trainer-board__comment-content{font-size:14px;line-height:1.5;color:var(--trainer-text)}.trainer-board__comment-input-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:10px 16px calc(env(safe-area-inset-bottom,0px) + 10px);background:var(--trainer-card);border-top:1px solid var(--trainer-border);z-index:2301}.trainer-board__comment-input{flex:1;padding:10px 14px;border:1.5px solid var(--trainer-border);border-radius:20px;font-size:14px;outline:none;font-family:inherit;background:var(--trainer-bg);transition:border-color .2s}.trainer-board__comment-input:focus{border-color:var(--trainer-primary)}.trainer-board__comment-send{padding:10px 16px;border-radius:20px;border:none;background:var(--trainer-primary);color:#fff;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .15s}.trainer-board__comment-send:disabled{opacity:.5;cursor:not-allowed}.trainer-board__comment-send:not(:disabled):active{opacity:.85}/*!
* Quill Editor v1.3.7
* https://quilljs.com/
* Copyright (c) 2014, Jason Chen
* Copyright (c) 2013, salesforce.com
*/.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;-o-tab-size:4;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.shop-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10100;display:flex;align-items:flex-end;justify-content:center}.shop-modal-content{width:100%;max-width:500px;height:90vh;background:#0f0f1e;border-top-left-radius:32px;border-top-right-radius:32px;display:flex;flex-direction:column;overflow:hidden;position:relative;box-shadow:0 -10px 40px #00000080;border-top:1px solid rgba(255,255,255,.1)}.shop-header{padding:24px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#e873521a,#0f0f1e00)}.shop-info-main{display:flex;align-items:center;gap:16px}.shop-icon-wrapper{width:48px;height:48px;background:#e87352;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.shop-text h2{margin:0;font-size:1.25rem;color:#fff;font-weight:700}.shop-text p{margin:0;font-size:.85rem;color:#e87352;font-weight:500}.close-btn{background:#ffffff1a;border:none;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.balance-info-bar{margin:0 24px 16px;padding:12px 20px;background:#ffffff0d;border-radius:16px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.05)}.balance-label{font-size:.9rem;color:#fff9}.balance-value{display:flex;align-items:center;gap:6px;font-weight:700;color:#fff;font-size:1.1rem}.balance-value .unit{font-size:.8rem;color:#e87352}.shop-description-box{margin:0 24px 20px}.shop-description-box p{color:#ffffff80;font-size:.9rem;line-height:1.5}.items-container{flex:1;overflow-y:auto;padding:0 24px 100px}.items-container::-webkit-scrollbar{width:4px}.items-container::-webkit-scrollbar-track{background:transparent}.items-container::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.items-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.shop-item-card{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:16px;display:flex;flex-direction:column;align-items:center;padding:10px;position:relative;overflow:hidden;cursor:pointer;transition:all .2s}.shop-item-card:hover{background:#ffffff14;transform:translateY(-2px)}.item-rarity-badge{position:absolute;top:4px;right:4px;padding:2px 6px;font-size:.55rem;font-weight:800;border-radius:4px;color:#fff;text-transform:uppercase;z-index:2}.item-image-box{width:60px;height:60px;background:#ffffff0d;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:6px;margin-bottom:8px}.item-image-box img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.item-details{width:100%;text-align:center}.item-details h3{margin:0;font-size:.8rem;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-desc{font-size:.8rem;color:#fff6;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.price-tag{display:flex;align-items:center;gap:4px;background:#ffffff0d;padding:6px 12px;border-radius:10px}.price-amount{color:#e87352;font-weight:700;font-size:1rem}.buy-button{background:#e87352;color:#fff;border:none;padding:6px 16px;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.buy-button:hover{background:#ff8566}.buy-button:disabled{cursor:not-allowed}.buy-button.small{padding:4px 12px;font-size:.8rem;height:32px}.buy-button.exchange{background:#a335ee}.buy-button.exchange:hover{background:#b659f4}.buy-button.disabled{background:#333!important;color:#ffffff4d!important;opacity:.6}.stock-info{font-size:.7rem;color:#ffffff4d;margin-top:6px}.shop-loading,.empty-shop{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0;color:#ffffff4d}.spinner{width:40px;height:40px;border:3px solid rgba(255,110,64,.1);border-top-color:#ff6e40;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.shop-item-detail-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;display:flex;flex-direction:column;justify-content:center;padding:32px}.popup-content{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.popup-image-box{width:120px;height:120px;background:#ffffff0d;border-radius:24px;padding:16px;margin-bottom:8px}.popup-image-box img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.popup-info{text-align:center}.popup-info h2{font-size:1.5rem;color:#fff;margin-bottom:8px}.popup-info .popup-desc{color:#fff9;line-height:1.6;margin-bottom:16px}.popup-actions{width:100%;display:flex;flex-direction:column;gap:12px}.popup-close-btn{margin-top:24px;color:#ffffff80;background:none;border:none;font-size:.9rem;cursor:pointer}@media (max-width: 480px){.shop-modal-content{height:100vh;border-radius:0}.items-grid{grid-template-columns:repeat(3,1fr)}}.shop-tab-nav{display:flex;gap:4px;padding:0 16px;margin-bottom:8px}.shop-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 0;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#ffffff80;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.shop-tab-btn.active{background:linear-gradient(135deg,#e8735240,#ff966426);border-color:#e8735280;color:#fff;box-shadow:0 0 12px #e8735226}.marketplace-sub-tabs{display:flex;gap:4px;margin-bottom:12px}.marketplace-sub-tab{flex:1;padding:8px;font-size:.8rem;font-weight:600;border:none;border-radius:8px;background:#ffffff0f;color:#fff6;cursor:pointer;transition:all .2s ease}.marketplace-sub-tab.active{background:#ffffff1f;color:#fff}.marketplace-list{display:flex;flex-direction:column;gap:8px}.marketplace-listing-card{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:background .2s}.marketplace-listing-card.sold{opacity:.5}.listing-item-icon{position:relative;width:48px;height:48px;min-width:48px;border-radius:10px;background:#0000004d;display:flex;align-items:center;justify-content:center;overflow:hidden}.listing-item-icon img{width:36px;height:36px;-o-object-fit:contain;object-fit:contain}.listing-rarity{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);font-size:7px;padding:1px 4px;border-radius:4px;color:#fff;font-weight:700;white-space:nowrap}.listing-info{flex:1;min-width:0}.listing-info h4{margin:0;font-size:.9rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listing-qty{font-size:.75rem;color:#ffffff80;margin-right:6px}.listing-seller{font-size:.7rem;color:#ffffff4d}.listing-status{display:inline-block;font-size:.65rem;padding:1px 6px;border-radius:4px;font-weight:600}.listing-status.active{background:#4caf5033;color:#4caf50}.listing-status.sold{background:#2196f333;color:#2196f3}.listing-price-action{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:80px}.listing-price{display:flex;align-items:center;gap:4px;font-size:.85rem}.price-icon{font-size:.9rem}.price-value{color:#fff;font-weight:700}.price-unit{color:#fff6;font-size:.7rem}.buy-button.small{padding:6px 14px;font-size:.75rem;height:auto;min-width:50px}.buy-button.cancel-btn{background:linear-gradient(135deg,#f443364d,#f4433626);border-color:#f4433666}.buy-button.claim-btn{background:linear-gradient(135deg,#4caf504d,#4caf5026);border-color:#4caf5066;padding:6px 14px;font-size:.8rem;height:auto}.sell-instruction{text-align:center;color:#fff6;font-size:.85rem;margin:0 0 12px}.sell-form-container{display:flex;flex-direction:column;gap:16px}.sell-back-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:#ffffff80;font-size:.85rem;cursor:pointer;padding:0}.sell-item-preview{display:flex;align-items:center;gap:12px;padding:16px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.sell-item-icon{width:56px;height:56px;border-radius:12px;background:#0000004d;display:flex;align-items:center;justify-content:center}.sell-item-icon img{width:40px;height:40px;-o-object-fit:contain;object-fit:contain}.sell-item-preview h3{margin:0;font-size:1rem;color:#fff}.sell-form{display:flex;flex-direction:column;gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.8rem;color:#ffffff80;font-weight:600}.qty-selector{display:flex;align-items:center;gap:16px;justify-content:center;padding:8px;background:#0003;border-radius:10px;border:1px solid rgba(255,255,255,.08)}.qty-selector button{width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.qty-selector span{font-size:1.2rem;font-weight:700;color:#fff;min-width:40px;text-align:center}.currency-selector{display:flex;gap:8px}.currency-selector button{flex:1;padding:10px 0;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#ffffff80;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.currency-selector button.active{background:#e8735233;border-color:#e8735280;color:#fff}.price-input-wrapper{position:relative;display:flex;align-items:center}.price-input-wrapper input{width:100%;padding:10px 50px 10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#0000004d;color:#fff;font-size:1rem;font-weight:600;outline:none}.price-input-wrapper input::-moz-placeholder{color:#fff3}.price-input-wrapper input::placeholder{color:#fff3}.price-input-wrapper input:focus{border-color:#e8735280}.price-suffix{position:absolute;right:12px;color:#fff6;font-size:.85rem;font-weight:600}.sell-submit-btn{width:100%;font-size:1rem!important;height:48px!important;margin-top:4px}.item-qty-badge{position:absolute;top:4px;right:4px;background:#0009;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:6px;font-weight:600}.escrow-section{margin-bottom:16px}.section-title{margin:0 0 10px;font-size:.9rem;color:#ffffffb3;font-weight:600}.escrow-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:linear-gradient(135deg,#4caf5014,#4caf5008);border:1px solid rgba(76,175,80,.15);border-radius:12px;margin-bottom:8px}.escrow-info{flex:1;display:flex;flex-direction:column;gap:4px}.escrow-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#ffffffb3}.escrow-icon{width:24px;height:24px;border-radius:4px;-o-object-fit:contain;object-fit:contain}.escrow-amount{display:flex;align-items:center;gap:4px;font-size:.9rem}.amount-value{color:#4caf50;font-weight:700}.amount-unit{color:#fff6;font-size:.75rem}.sold-list .marketplace-listing-card{opacity:.5}.marketplace-content{min-height:200px}.crew-create-container{max-width:600px;margin:0 auto;height:100%;background:#fff;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}.crew-create-content{padding:24px 20px;overflow-y:auto;flex:1;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.crew-create-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:12px;z-index:1000;font-size:14px;font-weight:600;box-shadow:0 4px 20px #00000026;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.crew-create-form{display:flex;flex-direction:column;gap:28px}.form-section{display:flex;flex-direction:column;gap:10px}.form-label{font-size:14px;font-weight:600;color:#1a1a1a;padding-left:4px}.form-label .required{color:#ef4444}.form-input{width:100%;padding:14px 16px;border-radius:12px;background:#f8f9fa;border:1px solid #e9ecef;color:#1a1a1a;font-size:15px;outline:none;box-sizing:border-box;transition:all .2s}.form-input::-moz-placeholder{color:#adb5bd}.form-input::placeholder{color:#adb5bd}.form-input:focus{background:#fff;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a14}.form-input.valid{border-color:#10b981;background:#f0fdf4}.form-input.invalid{border-color:#ef4444;background:#fef2f2}.form-textarea{width:100%;padding:14px 16px;border-radius:12px;background:#f8f9fa;border:1px solid #e9ecef;color:#1a1a1a;font-size:15px;outline:none;box-sizing:border-box;transition:all .2s;min-height:100px;resize:none;line-height:1.6;font-family:inherit}.form-textarea::-moz-placeholder{color:#adb5bd}.form-textarea::placeholder{color:#adb5bd}.form-textarea:focus{background:#fff;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a14}.name-input-row{display:flex;gap:10px}.name-input-row .form-input{flex:1}.check-button{padding:0 18px;border-radius:12px;border:none;background:#f1f3f5;color:#495057;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;min-width:90px;white-space:nowrap}.check-button:hover:not(:disabled){background:#e9ecef}.check-button:disabled{opacity:.5;cursor:not-allowed}.check-button.success{background:#10b981;color:#fff}.check-button.error{background:#ef4444;color:#fff}.check-message{margin:6px 0 0 4px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:4px}.check-message.available{color:#10b981}.check-message.unavailable{color:#ef4444}.join-type-row{display:flex;gap:12px}.join-type-card{flex:1;padding:16px;border-radius:14px;border:1px solid #e9ecef;background:#f8f9fa;cursor:pointer;transition:all .2s}.join-type-card:hover{background:#f1f3f5}.join-type-card.active{border:2px solid #1a1a1a;background:#fff}.join-type-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.radio-circle{width:18px;height:18px;border-radius:50%;border:2px solid #adb5bd;display:flex;align-items:center;justify-content:center;transition:all .2s}.radio-circle.checked{border-color:#1a1a1a}.radio-dot{width:8px;height:8px;border-radius:50%;background:#1a1a1a}.join-type-title{font-weight:600;font-size:15px;color:#1a1a1a}.join-type-desc{font-size:12px;color:#868e96;margin:0;padding-left:28px}.map-container{background:#f8f9fa;border-radius:16px;overflow:hidden;border:1px solid #e9ecef}.image-section{display:flex;gap:16px;align-items:flex-start}.upload-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:16px;cursor:pointer;transition:all .2s}.upload-area:hover{background:#f1f3f5;border-color:#adb5bd}.uploaded-preview{width:80px;height:80px;border-radius:12px;overflow:hidden;position:relative}.uploaded-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.remove-image{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#0009;color:#fff;border:none;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px}.upload-icon{font-size:28px}.upload-text{font-size:13px;color:#868e96;font-weight:500}.default-images{flex:2}.default-images-label{font-size:13px;color:#868e96;margin:0 0 12px}.default-images-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.skeleton-image{aspect-ratio:1;border-radius:10px;background:linear-gradient(90deg,#f1f3f5 25%,#e9ecef,#f1f3f5 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.default-image-btn{aspect-ratio:1;border-radius:10px;border:2px solid transparent;background:#f8f9fa;cursor:pointer;padding:0;overflow:hidden;opacity:.6;transition:all .2s}.default-image-btn:hover{opacity:.8}.default-image-btn.selected{border-color:#1a1a1a;opacity:1}.default-image-btn img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.submit-section{margin-top:12px;padding-bottom:40px}.submit-button{width:100%;padding:16px;background:#1a1a1a;color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s}.submit-button:hover:not(.disabled){background:#333;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.submit-button:active:not(.disabled){transform:translateY(0)}.submit-button.disabled{background:#dee2e6;color:#adb5bd;cursor:not-allowed}@media (max-width: 480px){.image-section{flex-direction:column}.upload-area,.default-images{width:100%}.join-type-row{flex-direction:column}.join-type-desc{padding-left:28px}}:root{--primary: #6366F1;--accent-blue: #3B82F6;--accent-red: #FF4D6D;--background-light: #F9FAFB;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-800: #1e293b;--slate-900: #0f172a}.material-icons-round{font-family:Material Icons Round;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.crew-home-container{background-color:var(--background-light);min-height:calc(100vh - var(--header-height) - 60px);position:relative;overflow-y:auto;padding-bottom:160px}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.my-crews-section{margin-bottom:32px}.my-crews-header{padding:0 24px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.my-crews-title{display:flex;align-items:center;gap:8px}.my-crews-title-icon{color:var(--accent-red);font-size:20px}.my-crews-title-text{font-size:18px;font-weight:700;color:#1e293b}.my-crews-view-all{font-size:12px;color:var(--accent-blue);font-weight:600;background:none;border:none;cursor:pointer}.my-crews-scroll{display:flex;gap:16px;overflow-x:auto;padding:0 24px;scroll-snap-type:x mandatory}.my-crew-card{min-width:200px;padding:14px;border-radius:18px;color:#fff;position:relative;overflow:hidden;cursor:pointer;scroll-snap-align:center;box-shadow:0 10px 15px -3px #0000001a;transition:transform .2s}.my-crew-card:hover{transform:scale(1.02)}.my-crew-card.primary{background:linear-gradient(to bottom right,#6366f1,#8b5cf6,#a855f7)}.my-crew-card.secondary{background:linear-gradient(to bottom right,#1e293b,#0f172a)}.my-crew-card-glow{position:absolute;right:-16px;top:-16px;width:96px;height:96px;background:#ffffff1a;border-radius:50%;filter:blur(32px)}.my-crew-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.my-crew-avatar{width:40px;height:40px;border-radius:12px;border:2px solid rgba(255,255,255,.3);padding:3px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px #0000001a;overflow:hidden}.my-crew-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:12px}.my-crew-avatar-emoji{font-size:20px}.my-crew-badge{font-size:10px;font-weight:700;background:var(--accent-red);color:#fff;padding:4px 8px;border-radius:100px;text-transform:uppercase;letter-spacing:.05em}.my-crew-info h3{font-size:15px;font-weight:700;line-height:1.2;margin:0 0 3px}.my-crew-meta{display:flex;align-items:center;gap:8px;font-size:11px;opacity:.9}.my-crew-meta-item{display:flex;align-items:center;gap:4px}.add-crew-card{min-width:60px;border-radius:24px;background:var(--slate-100);border:2px dashed var(--slate-300);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.add-crew-card:hover{background:var(--slate-200);border-color:var(--slate-400)}.nearby-crews-section{padding:0 24px}.nearby-crews-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}.country-select-btn{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--slate-200);padding:6px 12px;border-radius:100px;box-shadow:0 1px 2px #0000000d;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.country-select-btn:hover{box-shadow:0 4px 6px #0000001a}.country-code{color:var(--accent-blue)}.nearby-crews-count{font-size:12px;color:var(--slate-400)}.crew-list{display:flex;flex-direction:column;gap:16px}.crew-list-item{background:#fff;padding:16px;border-radius:16px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 2px #0000000d;border:1px solid var(--slate-100);cursor:pointer;transition:all .2s}.crew-list-item:hover{box-shadow:0 4px 12px #0000001a}.crew-list-avatar{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.crew-list-avatar img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:8px}.crew-list-avatar-emoji{font-size:32px}.crew-list-content{flex:1;min-width:0}.crew-list-name{font-size:16px;font-weight:700;color:var(--slate-800);margin-bottom:4px}.crew-list-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--slate-500)}.crew-list-meta-item{display:flex;align-items:center;gap:4px}.crew-list-location-icon{color:var(--accent-red)}.crew-list-distance{color:var(--accent-blue);font-weight:600}.crew-list-arrow{color:var(--slate-300);font-size:24px;transition:color .2s}.crew-list-item:hover .crew-list-arrow{color:var(--accent-blue)}.fab-container{position:fixed;bottom:calc(120px + env(safe-area-inset-bottom,0px));right:20px;display:flex;flex-direction:column;gap:16px;z-index:500}.fab-button{width:56px;height:56px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 15px -3px #0003;cursor:pointer;transition:transform .2s;font-size:24px}.fab-button:hover{transform:scale(1.05)}.fab-button:active{transform:scale(.95)}.fab-map{background:var(--accent-blue);color:#fff}.fab-add{background:var(--accent-red);color:#fff}.empty-state{text-align:center;padding:60px 24px;color:var(--slate-500)}.empty-state-icon{font-size:64px;margin-bottom:16px}.empty-state-title{font-size:18px;font-weight:700;color:var(--slate-800);margin-bottom:8px}.empty-state-desc{font-size:14px}.country-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.country-modal{background:#fff;border-radius:24px;padding:24px;width:100%;max-width:320px;max-height:60vh;overflow-y:auto}.country-modal-title{font-size:20px;font-weight:800;text-align:center;margin-bottom:20px}.country-list{display:flex;flex-direction:column;gap:8px}.country-item{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border:none;border-radius:14px;cursor:pointer;font-size:16px;font-weight:600;transition:all .2s}.country-item.selected{background:var(--primary);color:#fff}.country-item:not(.selected){background:var(--background-light);color:var(--slate-800)}.country-item:hover:not(.selected){background:var(--slate-100)}.country-item-left{display:flex;align-items:center;gap:12px}.country-item-flag{font-size:28px}.country-item-count{font-size:14px;opacity:.8}.load-more-btn{padding:16px;background:#fff;border:1px dashed var(--slate-300);border-radius:12px;color:var(--slate-500);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.load-more-btn:hover{background:var(--slate-100);border-color:var(--slate-400)}.full-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;background:#fff;z-index:10000;overflow:hidden}.crew-map-modal-content{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr;background:#fff;padding-bottom:env(safe-area-inset-bottom,0px)!important;position:relative;overflow:hidden}.crew-map-view-area{width:100%;height:100%;position:relative;overflow:hidden}.crew-map-view-area .leaflet-container{height:100%!important;width:100%!important;position:absolute!important;top:0;left:0;right:0;bottom:0!important}.full-modal-crew-count-badge{height:32px;padding:0 12px;background:#1a1a1a;color:#fff;border-radius:10px;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.crew-map-modal-content .standard-header-right{width:auto!important;height:auto!important;display:flex;align-items:center;justify-content:flex-end;padding-right:16px}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:.8}to{transform:translate(0);opacity:1}}.full-modal-map-view .leaflet-container{height:100%!important;width:100%!important}.runner-grade-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#fafafa;z-index:10000;overflow:hidden;display:flex;flex-direction:column}.runner-grade-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;padding-top:max(16px,env(safe-area-inset-top));background-color:#fff;border-bottom:1px solid #f0f0f0;flex-shrink:0}.runner-grade-title{font-size:18px;font-weight:700;margin:0;color:#1a1a1a}.runner-grade-back{background:none;border:none;font-size:20px;cursor:pointer;padding:8px;color:#666;transition:color .2s;width:40px;display:flex;align-items:center;justify-content:center}.runner-grade-back:hover{color:#3b7bf6}.runner-grade-content{flex:1;overflow-y:auto;padding:20px;padding-bottom:calc(40px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.runner-grade-current-card{background:#fff;border-radius:20px;padding:28px 24px;margin-bottom:24px;text-align:center;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0}.runner-grade-label{font-size:13px;color:#999;margin-bottom:16px;font-weight:600;letter-spacing:.5px}.runner-grade-shoe-img{width:80px;height:80px;-o-object-fit:contain;object-fit:contain;margin-bottom:16px}.runner-grade-name{font-size:24px;font-weight:800;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:10px}.runner-grade-badge{font-size:12px;padding:4px 10px;border-radius:6px;font-weight:700}.runner-grade-progress{margin-top:20px}.runner-grade-progress-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px}.runner-grade-progress-min,.runner-grade-progress-max{font-size:12px;color:#bbb;font-weight:600}.runner-grade-progress-current{font-size:14px;font-weight:800}.runner-grade-progress-bar{height:10px;background-color:#f0f0f0;border-radius:5px;overflow:hidden;position:relative}.runner-grade-progress-fill{position:absolute;left:0;top:0;height:100%;border-radius:5px;transition:width 1s cubic-bezier(.34,1.56,.64,1)}.runner-grade-progress-remain{margin-top:10px;font-size:12px;color:#999;font-weight:500}.runner-grade-section-title{font-size:15px;font-weight:700;margin-bottom:14px;color:#1a1a1a;display:flex;align-items:center;gap:8px}.runner-grade-list{display:flex;flex-direction:column;gap:10px}.runner-grade-item{display:flex;align-items:center;gap:14px;padding:14px;background-color:#fff;border:1px solid #f0f0f0;border-radius:14px;transition:all .2s;box-shadow:0 1px 4px #00000008}.runner-grade-item.active{border:2px solid currentColor;box-shadow:0 2px 12px #00000014}.runner-grade-item-icon{flex-shrink:0;width:40px;height:40px;display:flex;justify-content:center;align-items:center}.runner-grade-item-icon img{width:36px;height:36px;-o-object-fit:contain;object-fit:contain}.runner-grade-item-info{flex:1}.runner-grade-item-name{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}.runner-grade-item-title{font-size:15px;font-weight:700}.runner-grade-item-badge{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}.runner-grade-item-current{font-size:10px;padding:2px 8px;color:#fff;border-radius:10px;font-weight:700}.runner-grade-item-desc{font-size:12px;color:#888;line-height:1.4}.runner-grade-content::-webkit-scrollbar{width:4px}.runner-grade-content::-webkit-scrollbar-track{background:transparent}.runner-grade-content::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}@media (max-width: 768px){.runner-grade-header{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}.runner-grade-content{padding:16px;padding-bottom:calc(60px + env(safe-area-inset-bottom))}.runner-grade-current-card{padding:24px 20px}}@keyframes gauge-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.gauge-shine-effect{position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(90deg,#fff0,#ffffff80,#fff0);animation:gauge-shine 2s infinite linear}.auth-header{text-align:center;margin-bottom:2.5rem}.auth-title{font-size:2.2rem;font-weight:800;margin:0 0 .75rem;background:linear-gradient(to right,#60a5fa,#a855f7);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-1px}.auth-subtitle{font-size:1rem;color:#666;margin:0;line-height:1.5}.auth-form{width:100%;display:flex;flex-direction:column;gap:1.25rem}.input-group{width:100%}.auth-input{width:100%;padding:1rem 1.25rem;border-radius:14px;background:#0f172a99;border:1px solid rgba(255,255,255,.08);color:#fff;font-size:1rem;outline:none;transition:all .2s ease;box-sizing:border-box}.auth-input:focus{border-color:#60a5fa;background:#0f172acc;box-shadow:0 0 0 2px #60a5fa33}.auth-input::-moz-placeholder{color:#64748b}.auth-input::placeholder{color:#64748b}.auth-submit-btn{width:100%;padding:1.1rem;border-radius:14px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:700;font-size:1.05rem;border:none;cursor:pointer;transition:all .2s;margin-top:.5rem;box-shadow:0 4px 15px #2563eb4d}.auth-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}.divider{width:100%;display:flex;align-items:center;text-align:center;margin:2rem 0;color:#64748b;font-size:.85rem;font-weight:500}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.1)}.divider span{padding:0 14px;text-transform:uppercase;letter-spacing:.5px}.social-login-buttons{width:100%;display:flex;flex-direction:column;gap:.85rem}.social-btn{width:100%;padding:.9rem;border-radius:14px;font-weight:600;font-size:.95rem;border:none;cursor:pointer;transition:all .2s;display:flex;justify-content:center;align-items:center;gap:10px;position:relative;font-family:inherit}.social-btn:hover{opacity:.95;transform:translateY(-1px)}.social-icon{width:20px;height:20px}.social-btn.kakao{background-color:#fee500;color:#191919}.social-btn.naver{background-color:#03c75a;color:#fff}.naver-icon{font-weight:900;font-size:14px;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.social-btn.google{background-color:#fff;color:#3f3f3f;border:1px solid #e2e8f0}.auth-footer{margin-top:2rem;font-size:.95rem;color:#94a3b8;text-align:center}.toggle-auth-mode-btn{background:none;border:none;color:#60a5fa;font-weight:600;cursor:pointer;margin-left:.5rem;font-size:.95rem;padding:0;transition:color .2s}.toggle-auth-mode-btn:hover{color:#93c5fd;text-decoration:underline}.password-conditions{display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0 1rem;width:100%}.condition{font-size:.9rem;color:#64748b;display:flex;align-items:center;gap:.5rem;transition:color .3s}.error-message{color:#ef4444;font-size:.85rem;margin-top:-.5rem;margin-bottom:.5rem;text-align:left;width:100%}.term-item{display:flex;justify-content:space-between;align-items:center;font-size:1rem;color:#333;font-weight:500}.term-item.all-agree{font-weight:700;color:#1a1a1a;margin-bottom:.2rem;font-size:1.05rem}.checkmark{position:absolute;top:50%;left:0;transform:translateY(-50%);height:22px;width:22px;background-color:#f8f9fa;border:2px solid #d1d5db;border-radius:6px;transition:all .2s}.checkbox-label:hover input~.checkmark{background-color:#e5e7eb;border-color:#9ca3af}.checkbox-label input:checked~.checkmark{background-color:#60a5fa;border-color:#60a5fa}.term-detail-btn{background:none;border:none;color:#64748b;font-size:1.2rem;cursor:pointer;padding:0 5px;transition:color .2s}.term-detail-btn:hover{color:#94a3b8}.terms-divider{height:1px;background-color:#ffffff1a;width:100%;margin:.2rem 0}.terms-divider.dashed{background-color:transparent;border-bottom:1px dashed rgba(255,255,255,.1)}.terms-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:10;border-radius:24px}.terms-modal{background:#1e293b;width:90%;max-height:80%;border-radius:16px;padding:1.5rem;box-shadow:0 10px 25px #00000080;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.1)}.terms-content{flex:1;overflow-y:auto;font-size:.9rem;color:#cbd5e1;line-height:1.6;margin-bottom:1rem;padding-right:.5rem}.terms-content::-webkit-scrollbar{width:6px}.terms-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.terms-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.close-terms-btn{width:100%;padding:.8rem;border-radius:10px;background:#334155;color:#fff;border:none;font-weight:600;cursor:pointer;transition:background .2s}.auth-nav-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:2rem;position:relative}.nav-title{color:#1a1a1a;font-weight:600;font-size:1.1rem}.back-btn{background:none;border:none;color:#fff;font-size:1.5rem;font-weight:700;cursor:pointer;padding:0 5px;height:24px;line-height:24px;display:flex;align-items:center;transition:color .2s}.back-btn:hover{color:#aeaeae}.info-section{display:flex;flex-direction:column;gap:.8rem}.info-title{font-size:1rem;font-weight:700;color:#1a1a1a;margin:0 0 .2rem}.info-label{color:#6b7280;font-weight:500}.info-value{color:#1a1a1a;font-weight:600}*{box-sizing:border-box;margin:0;padding:0}.auth-container{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-height:100vh;min-height:calc(var(--vh, 1vh) * 100);min-height:100dvh;background:#0a0a14;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden}.auth-card{width:100%;max-width:480px;padding:0;position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.auth-hero-section{width:100%;position:relative;flex:1;min-height:0;overflow:hidden}.auth-hero-bg{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.auth-hero-section:after{content:"";position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to top,#0d0d1a 0%,rgba(13,13,26,.8) 40%,transparent 100%);pointer-events:none;z-index:2}.auth-logo-icon{display:inline-block;width:28px;height:28px;margin-right:4px;vertical-align:middle}.auth-tagline{font-size:.95rem;color:#888;margin:0}.auth-form{width:100%;background:linear-gradient(180deg,#0d0d1a,#111128);padding:1.5rem 1.5rem 2rem;position:relative;z-index:3;flex-shrink:0}.input-group{margin-bottom:.75rem}.auth-input{width:100%;padding:.95rem 1.1rem;border:1.5px solid rgba(255,255,255,.12);border-radius:14px;font-size:1rem;color:#fff;background:#ffffff0f;transition:all .25s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-input:focus{outline:none;border-color:#4ea0ff99;background:#ffffff1a;box-shadow:0 0 0 3px #4ea0ff26}.auth-input::-moz-placeholder{color:#ffffff59}.auth-input::placeholder{color:#ffffff59}.auth-submit-btn{width:100%;padding:.95rem;background:linear-gradient(135deg,#4e7cff,#3b5eff,#6c3aed);color:#fff;border:none;border-radius:14px;font-size:1.05rem;font-weight:700;cursor:pointer;margin-top:.25rem;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px #4e7cff59;letter-spacing:.5px}.auth-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #4e7cff80}.auth-submit-btn:active{transform:translateY(0)}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.divider{display:flex;align-items:center;text-align:center;margin:1.25rem 0;color:#ffffff4d;font-size:.8rem}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.08)}.divider span{padding:0 1rem}.social-login-buttons{display:flex;flex-direction:row;justify-content:center;gap:1.25rem;width:100%}.social-btn{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;font-weight:600;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;border:none;padding:0}.social-btn:hover{transform:translateY(-3px) scale(1.08)}.social-btn.kakao{background:#fee500;color:#191919;box-shadow:0 4px 16px #fee5004d}.social-btn.naver{background:#03c75a;color:#fff;box-shadow:0 4px 16px #03c75a4d}.social-btn.google{background:#fff;color:#3c4043;border:1.5px solid rgba(255,255,255,.15);box-shadow:0 4px 16px #ffffff1a}.social-icon{width:24px;height:24px}.naver-icon{font-weight:900;font-size:20px}.auth-footer{text-align:center;margin-top:1rem;font-size:.7rem;color:#ffffff40;line-height:1.5;padding:0 1rem}.auth-footer a{color:#4ea0ffb3;text-decoration:none}.password-conditions{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0 1rem;max-height:150px;overflow:hidden;opacity:1;transition:max-height .4s ease-out,opacity .3s ease-out,margin .4s ease-out}.password-conditions.all-valid{max-height:0;opacity:0;margin:0}.condition{font-size:.875rem;color:#ffffff59;display:flex;align-items:center;gap:.5rem;transition:color .3s,transform .3s,opacity .3s}.condition.valid{color:#4ade80}.password-conditions.all-valid .condition{transform:translateY(-10px);opacity:0}.check-icon{font-weight:700;opacity:.5}.condition.valid .check-icon{opacity:1}.error-message{color:#ef4444;font-size:.875rem;margin-top:.5rem;text-align:left}.auth-nav-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:1.5rem}.nav-title{font-size:1.1rem;font-weight:600;color:#ffffffe6}.back-btn{background:none;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;padding:.5rem;transition:color .2s}.back-btn:hover{color:#4e7cff}.auth-header{text-align:left;margin-bottom:2rem}.auth-title{font-size:1.6rem;font-weight:800;margin:0 0 .5rem;color:#fff;letter-spacing:-.5px;background:none;-webkit-text-fill-color:unset}.auth-subtitle{font-size:.95rem;color:#ffffff73;margin:0;line-height:1.5}.terms-container{display:flex;flex-direction:column;gap:.8rem;width:100%;margin-bottom:1rem}.term-item{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;color:#ffffffbf;font-weight:500}.term-item.all-agree{font-weight:700;color:#fff;margin-bottom:.2rem;font-size:1.05rem}.checkbox-label{display:flex;align-items:center;position:relative;padding-left:32px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:50%;left:0;transform:translateY(-50%);height:22px;width:22px;background-color:#ffffff0f;border:2px solid rgba(255,255,255,.15);border-radius:6px;transition:all .2s}.checkbox-label:hover input~.checkmark{background-color:#ffffff1a;border-color:#ffffff40}.checkbox-label input:checked~.checkmark{background-color:#4e7cff;border-color:#4e7cff}.checkmark:after{content:"";position:absolute;display:none}.checkbox-label input:checked~.checkmark:after{display:block}.checkbox-label .checkmark:after{left:7px;top:3px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.term-text{line-height:1.4}.term-detail-btn{background:none;border:none;color:#ffffff4d;font-size:1.2rem;cursor:pointer;padding:0 5px;transition:color .2s}.term-detail-btn:hover{color:#fff9}.terms-divider{height:1px;background-color:#ffffff0f;width:100%;margin:.2rem 0}.terms-divider.dashed{background-color:transparent;border-bottom:1px dashed rgba(255,255,255,.08)}.terms-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:100}.terms-modal{background:#1a1a2e;width:90%;max-width:420px;max-height:80%;border-radius:20px;padding:1.5rem;box-shadow:0 20px 60px #0009;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.08)}.terms-modal h3{margin:0 0 1rem;font-size:1.2rem;color:#fff}.terms-content{flex:1;overflow-y:auto;font-size:.9rem;color:#fff9;line-height:1.6;margin-bottom:1rem;padding-right:.5rem}.terms-content::-webkit-scrollbar{width:4px}.terms-content::-webkit-scrollbar-track{background:#ffffff08;border-radius:2px}.terms-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.close-terms-btn{width:100%;padding:.9rem;border-radius:12px;background:#ffffff14;color:#fff;border:none;font-weight:600;cursor:pointer;transition:background .2s}.close-terms-btn:hover{background:#ffffff1f}.confirmation-content{display:flex;flex-direction:column;gap:1.5rem;width:100%}.info-section{display:flex;flex-direction:column;gap:.8rem;background:#ffffff0a;border-radius:14px;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.06)}.info-title{font-size:.85rem;font-weight:700;color:#4ea0ffcc;margin:0 0 .2rem;text-transform:uppercase;letter-spacing:.5px}.info-row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.info-label{color:#fff6;font-weight:500}.info-value{color:#ffffffd9;font-weight:600}@media (max-width: 480px){.auth-card{padding:0}.auth-form{padding:1.25rem 1.25rem 1.75rem}.auth-input{padding:.875rem 1rem;font-size:.95rem}.auth-submit-btn{padding:.875rem;font-size:1rem}.social-btn{width:50px;height:50px}}@media (max-width: 360px){.auth-form{padding:1rem}.social-login-buttons{gap:1rem}.social-btn{width:46px;height:46px}}.shop-profile-page{min-height:100vh;background:#0a0a0a;color:#fff;padding-bottom:40px}.shop-profile-hero{position:relative;width:100%;height:240px;overflow:hidden}.shop-profile-hero img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.shop-profile-hero-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;font-size:64px}.shop-profile-hero-overlay{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(transparent,#0a0a0a)}.shop-profile-back-btn{position:absolute;top:16px;left:16px;width:36px;height:36px;border-radius:50%;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.shop-profile-info{padding:0 20px;margin-top:-20px;position:relative;z-index:1}.shop-profile-name{font-size:24px;font-weight:800;margin:0 0 6px;letter-spacing:-.5px}.shop-profile-description{font-size:14px;color:#999;margin:0 0 16px;line-height:1.6}.shop-profile-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;margin-bottom:16px}.shop-profile-actions{display:flex;gap:10px;padding:0 20px;margin-bottom:24px}.shop-profile-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 0;border-radius:14px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s,opacity .15s}.shop-profile-action-btn:active{transform:scale(.97);opacity:.8}.shop-profile-action-btn.phone{background:#1a1a2e;color:#60a5fa}.shop-profile-action-btn.navigate{background:linear-gradient(135deg,#1db954,#1ed760);color:#fff}.shop-profile-nav-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.shop-profile-nav-sheet{width:100%;max-width:480px;background:#1a1a1a;border-radius:20px 20px 0 0;padding:20px 20px 32px;animation:slideUp .3s ease}.shop-profile-nav-sheet h3{text-align:center;margin:0 0 16px;font-size:16px;color:#fff}.shop-profile-nav-option{display:flex;align-items:center;gap:14px;padding:16px;border-radius:12px;border:none;background:#252525;color:#fff;font-size:15px;width:100%;cursor:pointer;margin-bottom:8px;transition:background .15s}.shop-profile-nav-option:active{background:#333}.shop-profile-nav-option .nav-icon{font-size:24px;width:36px;text-align:center}.shop-profile-nav-cancel{display:block;width:100%;padding:14px;margin-top:8px;border-radius:12px;border:none;background:#333;color:#999;font-size:14px;font-weight:600;cursor:pointer}.shop-profile-info-row{display:flex;align-items:flex-start;gap:10px;padding:12px 20px;font-size:14px;color:#ccc}.shop-profile-info-row .info-icon{font-size:16px;flex-shrink:0;margin-top:1px}.shop-profile-info-row .info-text{flex:1;line-height:1.5}.shop-profile-divider{height:8px;background:#111;margin:16px 0}.shop-profile-menu-section{padding:0 20px}.shop-profile-menu-title{font-size:18px;font-weight:700;margin:0 0 16px;display:flex;align-items:center;gap:8px}.shop-profile-menu-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #1a1a1a}.shop-profile-menu-item:last-child{border-bottom:none}.shop-profile-menu-img{width:80px;height:80px;border-radius:10px;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.shop-profile-menu-img-placeholder{width:80px;height:80px;border-radius:10px;background:#1a1a1a;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.shop-profile-menu-info{flex:1;display:flex;flex-direction:column;justify-content:center}.shop-profile-menu-name{font-size:15px;font-weight:600;margin:0 0 4px}.shop-profile-menu-price{font-size:15px;font-weight:700;color:#e87352;margin:0 0 4px}.shop-profile-menu-desc{font-size:13px;color:#777;margin:0;line-height:1.4}.shop-profile-empty-menu{text-align:center;padding:40px 0;color:#555;font-size:14px}.shop-profile-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:#0a0a0a;color:#aaa;font-size:15px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.rb-container{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a1628,#0d1f35,#0a1a2e);display:flex;flex-direction:column;z-index:10000;overflow:hidden}.rb-header{display:flex;align-items:center;justify-content:space-between;padding:max(36px,env(safe-area-inset-top,36px)) 16px 8px;background:transparent;z-index:10}.rb-header-title{display:flex;align-items:center;gap:8px}.rb-header-title img{width:28px;height:28px;-o-object-fit:contain;object-fit:contain}.rb-header-title span{font-size:17px;font-weight:700;color:#d4a853;text-shadow:0 2px 8px rgba(212,168,83,.3)}.rb-close-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(180,140,80,.4);background:#1e283c99;color:#d4a853;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.rb-character-area{position:relative;width:100%;height:210px;flex-shrink:0;overflow:hidden}.rb-canvas-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;overflow:hidden}.rb-equip-slots{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.rb-equip-slot{position:absolute;width:80px;height:80px;border-radius:14px;border:2px solid rgba(180,140,80,.5);background:#23324bd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:center;transition:all .25s ease;overflow:hidden}.rb-equip-slot:hover,.rb-equip-slot:active{border-color:#d4a853;box-shadow:0 0 12px #d4a85380;transform:scale(1.08)}.rb-equip-slot.active{border-color:#3b82f6;box-shadow:0 0 14px #3b82f699}.rb-equip-slot img{width:92%;height:92%;-o-object-fit:contain;object-fit:contain}.rb-equip-slot .slot-label{font-size:14px;color:#fff6;font-weight:600}.rb-equip-slot.slot-hair{top:8px;left:12px}.rb-equip-slot.slot-shirt{bottom:8px;left:12px}.rb-equip-slot.slot-pants{top:8px;right:12px}.rb-equip-slot.slot-shoes{bottom:8px;right:12px}.rb-quickslots{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:#0a1628d9;border-top:1px solid rgba(180,140,80,.2);border-bottom:1px solid rgba(180,140,80,.2);flex-shrink:0;position:relative}.rb-quick-slot.editing{border-color:#d4a853;box-shadow:0 0 12px #d4a85399;animation:rb-pulse 1s ease infinite}.rb-item-slot.selectable{cursor:pointer;animation:rb-pulse 1.5s ease infinite}.rb-quickslots .divider{width:1px;height:32px;background:#b48c504d;margin:0 4px}.rb-quick-slot{width:40px;height:40px;border-radius:8px;border:1.5px solid rgba(255,255,255,.15);background:#142337b3;cursor:pointer;position:relative;overflow:hidden;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0}.rb-quick-slot.filled{border-color:#d4a85380;box-shadow:0 0 6px #d4a85326}.rb-quick-slot.filled:hover{border-color:#d4a853;box-shadow:0 0 10px #d4a8534d}.rb-quick-slot .slot-num{position:absolute;top:1px;left:3px;font-size:8px;font-weight:700;color:#ffffff59;z-index:2}.rb-quick-slot img{width:28px;height:28px;-o-object-fit:contain;object-fit:contain}.rb-quick-slot .qty{position:absolute;bottom:1px;right:2px;font-size:8px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);z-index:2}.rb-quick-slot .empty-num{font-size:12px;color:#fff3;font-weight:700}.rb-tabs{display:flex;gap:0;padding:0 16px;background:#0a162899;flex-shrink:0}.rb-tab{flex:1;padding:12px 4px 10px;border:none;background:transparent;color:#ffffff73;font-size:12px;font-weight:600;cursor:pointer;transition:all .25s;position:relative;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.rb-tab.active{color:#d4a853}.rb-tab.active:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:2.5px;background:linear-gradient(90deg,transparent,#d4a853,transparent);border-radius:2px}.rb-tab .count{font-size:10px;background:#ffffff1a;padding:1px 6px;border-radius:8px;font-weight:700}.rb-tab.active .count{background:#d4a85333;color:#d4a853}.rb-grid-area{flex:1;padding:12px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.rb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:400px;margin:0 auto}.rb-item-slot{aspect-ratio:1;border-radius:10px;border:2px solid rgba(156,163,175,.4);background:linear-gradient(145deg,#142337e6,#0f1928f2);cursor:pointer;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.rb-item-slot:active{transform:scale(.95)}.rb-item-slot img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:4px}.rb-item-slot.rarity-common{border-color:#9ca3af80}.rb-item-slot.rarity-rare{border-color:#3b82f6b3;box-shadow:0 0 8px #3b82f64d}.rb-item-slot.rarity-epic{border-color:#8b5cf6b3;box-shadow:0 0 12px #8b5cf666}.rb-item-slot.rarity-legendary{border-color:#eab308cc;box-shadow:0 0 16px #eab30880}.rb-item-slot .qty-badge{position:absolute;bottom:3px;right:3px;background:#000c;color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:5px;border:1px solid rgba(255,255,255,.15)}.rb-item-slot .equip-mark{position:absolute;top:3px;left:3px;background:#3b82f6d9;color:#fff;font-size:8px;font-weight:800;padding:1px 4px;border-radius:4px;letter-spacing:.5px}.rb-item-slot .effect-icon{position:absolute;bottom:3px;left:3px;font-size:12px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.rb-empty-slot{aspect-ratio:1;border-radius:10px;border:1.5px dashed rgba(100,120,140,.25);background:#0f192866}.rb-item-slot .opening-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center}.rb-slot-gauge{display:flex;align-items:center;gap:8px;padding:10px 20px 6px;justify-content:center}.rb-slot-gauge .gauge-bar{flex:1;max-width:200px;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.rb-slot-gauge .gauge-fill{height:100%;background:linear-gradient(90deg,#d4a853,#e8b960);border-radius:3px;transition:width .3s ease}.rb-slot-gauge .gauge-text{font-size:11px;color:#fff6;font-weight:600;white-space:nowrap}.rb-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#ffffff80}.rb-empty-state img{width:48px;height:48px;-o-object-fit:contain;object-fit:contain;opacity:.4;margin-bottom:10px}.rb-empty-state .title{font-size:15px;margin-bottom:6px}.rb-empty-state .subtitle{font-size:12px;opacity:.7}.rb-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#fff9}.rb-spinner{width:36px;height:36px;border:3px solid rgba(212,168,83,.2);border-top-color:#d4a853;border-radius:50%;animation:rb-spin 1s linear infinite;margin-bottom:10px}@keyframes rb-spin{to{transform:rotate(360deg)}}.rb-gear-panel{position:fixed;bottom:0;left:0;right:0;max-height:75vh;min-height:60vh;background:linear-gradient(180deg,#0f1928f7,#0a121efc);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(180,140,80,.3);border-radius:20px 20px 0 0;padding:16px 16px max(16px,env(safe-area-inset-bottom));z-index:10010;transition:transform .3s ease;overflow-y:auto}.rb-gear-panel.hidden{transform:translateY(100%)}.rb-gear-panel .panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rb-gear-panel .panel-title{font-size:15px;font-weight:700;color:#d4a853}.rb-gear-panel .panel-close{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#ffffff80;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.rb-gear-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.rb-gear-item{aspect-ratio:1;border-radius:10px;border:2px solid rgba(255,255,255,.12);background:#142337cc;cursor:pointer;position:relative;overflow:hidden;transition:all .2s}.rb-gear-item.equipped{border-color:#3b82f699;box-shadow:0 0 10px #3b82f64d}.rb-gear-item img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:6px}.rb-gear-item .equipped-badge{position:absolute;top:3px;right:3px;background:#3b82f6d9;color:#fff;font-size:7px;font-weight:800;padding:1px 4px;border-radius:3px}.rb-quickslot-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:10020;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.rb-quickslot-edit-panel{background:linear-gradient(180deg,#142337fa,#0a1423fc);border-radius:16px;border:1px solid rgba(180,140,80,.3);padding:20px;width:100%;max-width:360px;max-height:70vh;overflow-y:auto}@keyframes rb-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes rb-slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes rb-fadeIn{0%{opacity:0}to{opacity:1}}.monster-hunt-screen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background:#0a0a1a}.monster-hunt-screen .leaflet-container{filter:hue-rotate(240deg) saturate(1.3) brightness(.85)}.monster-hunt-screen .leaflet-tile-pane{opacity:.92}.game-hud{position:absolute;top:0;left:0;right:0;z-index:10001;padding:calc(env(safe-area-inset-top,20px) + 8px) 16px 12px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,rgba(10,10,30,.95) 0%,rgba(10,10,30,.6) 70%,transparent 100%)}.game-hud-left{display:flex;gap:12px;align-items:center}.game-hud-stat{display:flex;align-items:center;gap:6px;background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:6px 14px;color:#fff;font-size:13px;font-weight:600}.game-hud-stat .stat-icon{font-size:16px}.game-hud-stat .stat-value{color:#ffd740;font-weight:700}.game-exit-btn{background:#ff525233;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,82,82,.3);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#ff5252;font-size:18px;cursor:pointer;transition:all .2s}.game-exit-btn:active{transform:scale(.9);background:#ff525266}.game-action-bar{position:absolute;bottom:0;left:0;right:0;z-index:10001;padding:16px 16px calc(env(safe-area-inset-bottom,20px) + 12px);background:linear-gradient(0deg,rgba(10,10,30,.95) 0%,rgba(10,10,30,.6) 70%,transparent 100%);display:flex;justify-content:center;align-items:center;gap:12px}.game-attack-btn{min-width:160px;padding:14px 28px;border-radius:28px;border:none;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:1px}.game-attack-btn.ready{background:linear-gradient(135deg,#ff6e40,#ff3d00);color:#fff;box-shadow:0 4px 20px #ff3d0066;animation:pulse-attack 1.5s infinite}.game-attack-btn.disabled{background:#ffffff14;color:#ffffff4d;box-shadow:none}@keyframes pulse-attack{0%,to{box-shadow:0 4px 20px #ff3d0066}50%{box-shadow:0 4px 30px #ff3d00b3}}.game-distance-info{position:absolute;bottom:100px;left:50%;transform:translate(-50%);z-index:10001;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:8px 16px;color:#fff;font-size:12px;text-align:center;white-space:nowrap}@keyframes emberUp{0%{transform:translateY(110vh) translate(0) scale(1);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(-20vh) translate(100px) scale(.5);opacity:0}}.game-distance-info .distance-value{font-weight:700;font-size:14px;color:#ffd740}.monster-marker{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;animation:monster-float 2s ease-in-out infinite;cursor:pointer;transition:all .3s}.monster-marker-inner{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:2px solid rgba(255,255,255,.3);box-shadow:0 0 20px #8000ff66}.monster-marker-name{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8);background:#00000080;padding:1px 6px;border-radius:6px}@keyframes monster-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.monster-marker.defeating{animation:monster-defeat .8s forwards}@keyframes monster-defeat{0%{transform:scale(1);opacity:1}30%{transform:scale(1.3);opacity:1}60%{transform:scale(1.5) rotate(15deg);opacity:.6}to{transform:scale(0) rotate(45deg);opacity:0}}.item-box-marker{display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;transition:all .2s}.item-box-inner{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;background:#ffd70033;border:2px solid rgba(255,215,0,.5);box-shadow:0 0 16px #ffd7004d;animation:item-glow 1.5s ease-in-out infinite}@keyframes item-glow{0%,to{box-shadow:0 0 16px #ffd7004d}50%{box-shadow:0 0 28px #ffd70099}}.item-box-marker.dropping{animation:item-drop .6s ease-out}@keyframes item-drop{0%{transform:translateY(-40px) scale(0);opacity:0}60%{transform:translateY(5px) scale(1.1);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.item-collect-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10050;animation:fadeIn .3s ease-out}.item-collect-glass-card{position:relative;width:320px;background:linear-gradient(135deg,#19192de6,#0f0f1ef2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,215,64,.3);border-radius:32px;padding:40px 24px 32px;text-align:center;box-shadow:0 20px 50px #00000080,inset 0 0 20px #ffd7400d;animation:slideUpScale .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden}.card-shine{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 60%);pointer-events:none}.new-item-badge{position:absolute;top:20px;left:50%;transform:translate(-50%);background:linear-gradient(90deg,#ff6e40,#ff3d00);color:#fff;font-size:10px;font-weight:900;padding:4px 12px;border-radius:20px;letter-spacing:1px;box-shadow:0 4px 10px #ff3d004d}.item-visual-section{position:relative;height:140px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.item-glow-effect{position:absolute;width:100px;height:100px;background:radial-gradient(circle,rgba(255,215,64,.4) 0%,transparent 70%);border-radius:50%;animation:pulseGlow 2s ease-in-out infinite}.item-display-emoji .item-img-floating{width:80px;height:80px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 10px 15px rgba(0,0,0,.5));animation:floatAnim 3s ease-in-out infinite}.item-display-emoji .emoji-large{font-size:64px;filter:drop-shadow(0 10px 15px rgba(0,0,0,.3));animation:floatAnim 3s ease-in-out infinite}.item-info-section{margin-bottom:32px}.item-name-text{color:#fff;font-size:24px;font-weight:800;margin-bottom:8px;text-shadow:0 2px 10px rgba(0,0,0,.5)}.item-qty-tag{font-size:16px;color:#ffd740;margin-left:8px}.rarity-label{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;text-transform:uppercase;padding:4px 12px;border-radius:8px;margin-bottom:12px}.rarity-label.common{color:#90a4ae;background:#90a4ae1a}.rarity-label.rare{color:#42a5f5;background:#42a5f51a}.rarity-label.epic{color:#ab47bc;background:#ab47bc1a}.rarity-label.legendary{color:#ffd740;background:#ffd7401a}.item-desc-text{color:#fff9;font-size:13px;line-height:1.5;padding:0 10px}.confirm-collect-btn{position:relative;width:100%;padding:16px;border-radius:18px;border:none;background:linear-gradient(135deg,#ffd740,#ffa000);color:#1a1a2e;font-size:18px;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 20px #ffa0004d}.confirm-collect-btn:active{transform:scale(.96)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpScale{0%{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes floatAnim{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulseGlow{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.3);opacity:.6}}.game-fog-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:10000;pointer-events:none;background:radial-gradient(ellipse at center,transparent 30%,rgba(10,10,30,.3) 100%)}.player-marker{width:20px;height:20px;border-radius:50%;background:#448aff;border:3px solid #fff;box-shadow:0 0 20px #448aff99;animation:player-pulse 2s infinite}@keyframes player-pulse{0%,to{box-shadow:0 0 20px #448aff99}50%{box-shadow:0 0 40px #448affe6,0 0 60px #448aff4d}}@media (max-width: 400px){.game-hud-stat{padding:5px 10px;font-size:11px}.game-attack-btn{min-width:140px;padding:12px 24px;font-size:14px}}.dev-sim-notice{position:absolute;top:80px;left:50%;transform:translate(-50%);z-index:10002;background:#ffd70026;border:1px solid rgba(255,215,0,.3);border-radius:12px;padding:6px 14px;color:#ffd740;font-size:11px;white-space:nowrap}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.isolate{isolation:isolate}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--header-height: 104px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}html,body{margin:0;padding:0;min-height:100vh;min-height:100dvh;background:#fafafa}*,*:before,*:after{-webkit-tap-highlight-color:transparent}.location-filter-scroll::-webkit-scrollbar{display:none}.gm-style-cc,.gmnoprint,.gm-style-cc+div,a[href^="https://maps.google.com/maps"],.gm-control-active{display:none!important}button[aria-label="키보드 단축키"],button[aria-label="Keyboard shortcuts"]{display:none!important}.leaflet-div-icon{background:transparent!important;border:none!important}.leaflet-pane,.leaflet-top,.leaflet-bottom,.leaflet-left,.leaflet-right,.leaflet-control,.leaflet-control-container,.leaflet-control-zoom,.leaflet-control-layers{z-index:10!important}.full-modal-safe{padding-top:max(36px,env(safe-area-inset-top,36px))!important;padding-bottom:max(20px,env(safe-area-inset-bottom,20px))!important}.full-modal-container{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;padding-top:max(36px,env(safe-area-inset-top,36px))}.full-modal-content{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 80px)!important}@keyframes location-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.6}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}@keyframes treasure-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes treasure-beam-pulse{0%,to{opacity:.7}50%{opacity:.3}}@keyframes treasure-glow-pulse{0%,to{opacity:.7;transform:translate(-50%) scale(1)}50%{opacity:.4;transform:translate(-50%) scale(1.1)}}@keyframes treasure-ripple{0%{width:20px;height:20px;opacity:.5}to{width:100px;height:100px;opacity:0}}.treasure-effect-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.treasure-light-beam{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);width:60px;height:80px;background:linear-gradient(to top,#fbbf2466,#fbbf2433 40%,#fbbf2400);clip-path:polygon(30% 100%,70% 100%,100% 0%,0% 0%);animation:treasure-beam-pulse 4s ease-in-out infinite}.treasure-floor-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border:3px solid rgba(251,191,36,.7);border-radius:50%;box-shadow:0 0 10px #fbbf2466}.treasure-ripple{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid #fbbf24;border-radius:50%;opacity:0;animation:treasure-ripple 5s ease-out infinite}.treasure-ripple-1{animation-delay:0s}.treasure-ripple-2{animation-delay:2.5s}@keyframes glow-pulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes flash-green{0%{opacity:0}20%{opacity:1}to{opacity:0}}
