.us-map-container{background:#fff;border-radius:20px;padding:16px 12px;margin-bottom:40px;margin-top:0;box-shadow:0 8px 24px #0003,inset 0 -4px 8px #0000001a;position:relative}.us-map-title{text-align:center;font-size:2rem;color:#b4e7ce;margin-bottom:24px;font-weight:800;text-shadow:3px 3px 0px #2D3748,-1px -1px 0px #2D3748,1px -1px 0px #2D3748,-1px 1px 0px #2D3748,1px 1px 0px #2D3748;letter-spacing:1px}.us-map-wrapper{position:relative;max-width:100%;margin:0 auto;padding:20px;background:#fff;border-radius:16px;display:flex;justify-content:center;align-items:flex-start;overflow:hidden;box-shadow:inset 0 4px 8px #ffffff4d,inset 0 -4px 8px #0000001a}.us-map-wrapper svg{width:100%;height:auto;max-width:100%;display:block}.us-map-svg{width:100%;max-width:100%;height:auto;display:block}.rsm-geography{outline:none}.geography-hovered{filter:drop-shadow(0 6px 12px rgba(0,0,0,.5)) drop-shadow(0 0 8px rgba(255,107,107,.6));animation:bounce .5s ease}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.chronicle-marker{cursor:pointer;transition:all .3s ease}.chronicle-marker:hover .pin-shape{fill:#ff8e8e;transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.chronicle-marker:hover{animation:markerBounce .6s ease}@keyframes markerBounce{0%,to{transform:translateY(0)}25%{transform:translateY(-5px)}50%{transform:translateY(-2px)}75%{transform:translateY(-4px)}}.pin-shape{transition:all .2s ease}.pin-icon{pointer-events:none}.state-tooltip{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#2d3748;color:#fff;padding:8px 16px;border-radius:4px;font-size:.95rem;font-weight:600;pointer-events:none;white-space:nowrap;z-index:100}.marker-tooltip{position:absolute;top:20px;left:50%;transform:translate(-50%) rotate(-2deg);background:#ff6b6b;color:#fff;padding:10px 20px;border-radius:20px;font-size:.95rem;font-weight:700;pointer-events:none;white-space:nowrap;z-index:101;box-shadow:4px 4px #2d3748,0 6px 12px #0000004d;border:3px solid #2D3748;animation:popIn .3s cubic-bezier(.68,-.55,.265,1.55);text-align:center}.marker-tooltip strong{display:block;margin-bottom:4px;font-size:1.05rem}.marker-tooltip div{font-size:.85rem;opacity:.9}.us-map-subtitle{text-align:center;color:#2d3748;font-size:1rem;margin-top:16px;font-weight:600;letter-spacing:.5px}.map-attribution{text-align:center;color:#64748b;font-size:.75rem;margin-top:12px;padding-top:12px;border-top:2px solid #e2e8f0}.map-attribution a{color:#0077be;text-decoration:none;font-weight:600}.map-attribution a:hover{color:#4a90e2;text-decoration:underline}@media(max-width:768px){.us-map-container{padding:24px 16px;margin-bottom:32px}.us-map-title{font-size:1.5rem;margin-bottom:20px}.us-map-wrapper{padding:10px}.state-tooltip{font-size:.85rem;padding:6px 12px}.us-map-subtitle{font-size:.8rem}.map-attribution{font-size:.7rem}}@media(max-width:480px){.us-map-container{padding:20px 12px}.us-map-title{font-size:1.3rem}.us-map-wrapper{padding:5px}}.adventure-chronicles-wrapper{min-height:100vh}.adventure-chronicles-hero{position:relative;background:linear-gradient(135deg,#4a90e2,#0077be,#00bfff);color:#fff;padding:80px 24px 120px;text-align:center;box-shadow:0 4px 20px #0000001a;overflow:hidden}.hero-wave-top,.hero-wave-bottom{position:absolute;left:0;width:100%;height:80px;background-repeat:repeat-x;background-size:1000px 80px;animation:wave-animation 36s linear infinite}.hero-wave-top{top:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 80'%3E%3Cpath fill='%23e3f2fd' d='M0,20 Q250,60 500,20 T1000,20 L1000,0 L0,0 Z'/%3E%3C/svg%3E");opacity:.7}.hero-wave-bottom{bottom:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 80'%3E%3Cpath fill='%23fff9e6' fill-opacity='0.1' d='M0,20 Q250,60 500,20 T1000,20 L1000,80 L0,80 Z'/%3E%3C/svg%3E")}@keyframes wave-animation{0%{background-position:0 0}to{background-position:1000px 0}}.adventure-chronicles-hero-content h1{display:flex;align-items:center;justify-content:center;gap:16px;font-size:3.5rem;margin-bottom:12px;text-shadow:0 2px 4px rgba(0,0,0,.2);font-weight:700}.adventure-chronicles-hero-content h2{font-size:1.5rem;font-weight:700;opacity:.95;max-width:800px;margin:0 auto;text-align:center}.adventure-chronicles-container{max-width:1200px;margin:0 auto;padding:0 24px 40px}.upload-section{margin-bottom:32px;display:flex;justify-content:center}.btn-upload{display:flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,#0077be,#4a90e2);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0077be4d}.btn-upload:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0077be66}.btn-upload:active{transform:translateY(0)}.upload-form-card{background:#fff;border-radius:16px;padding:32px;margin-bottom:40px;box-shadow:0 4px 20px #0000001a;max-width:800px;margin-left:auto;margin-right:auto}.upload-form-card h3{color:#0077be;margin-bottom:24px;font-size:1.5rem}.form-group{margin-bottom:24px}.file-upload-label{display:block;cursor:pointer}.upload-placeholder{border:3px dashed #dee2e6;border-radius:12px;padding:48px 24px;text-align:center;background:#f8f9fa;transition:all .3s ease}.upload-placeholder:hover{border-color:#0077be;background:#f0f8ff}.upload-placeholder svg{color:#adb5bd;margin-bottom:16px}.upload-placeholder p{color:#495057;font-weight:600;margin-bottom:8px}.file-hint{color:#6c757d;font-size:.9rem}.file-input{display:none}.upload-preview{width:100%;max-height:400px;object-fit:contain;border-radius:12px}.upload-previews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;padding:12px;background:#f8f9fa;border-radius:12px;border:2px solid #dee2e6}.upload-previews-grid .upload-preview{width:100%;height:250px;object-fit:contain;border-radius:8px;border:3px solid #fff;background:#fff;box-shadow:0 2px 8px #0000001a;padding:8px;transition:all .3s ease}.upload-previews-grid .upload-preview:hover{transform:scale(1.02);box-shadow:0 4px 16px #0077be33;border-color:#0077be}.file-count{text-align:center;color:#0077be;font-weight:600;margin-top:12px;font-size:.95rem;padding:8px 16px;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:20px;display:inline-block;width:auto;margin-left:auto;margin-right:auto}.upload-items-container{display:flex;flex-direction:column;gap:24px;margin-top:24px}.upload-item{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:20px;background:#f8f9fa;border-radius:12px;border:2px solid #dee2e6;transition:all .3s ease}.upload-item:hover{border-color:#0077be;box-shadow:0 4px 12px #0077be1a}.upload-item-preview{position:relative;border-radius:8px;overflow:hidden;background:#fff}.upload-item-preview img{width:100%;height:200px;object-fit:cover;border-radius:8px;border:3px solid white;box-shadow:0 2px 8px #0000001a}.upload-item-number{position:absolute;top:8px;left:8px;background:#0077bef2;color:#fff;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;box-shadow:0 2px 4px #0003}.upload-item-description{display:flex;flex-direction:column}.upload-item-description textarea{width:100%;padding:14px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;transition:all .2s ease;min-height:120px}.upload-item-description textarea:focus{outline:none;border-color:#0077be;box-shadow:0 0 0 3px #0077be1a}.upload-form-card textarea{width:100%;padding:14px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;transition:all .2s ease}.upload-form-card textarea:focus{outline:none;border-color:#0077be;box-shadow:0 0 0 3px #0077be1a}.form-actions{display:flex;gap:12px}.btn-primary{flex:1;padding:12px 24px;background:linear-gradient(135deg,#0077be,#4a90e2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0077be4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:12px 24px;background:#fff;color:#495057;border:2px solid #dee2e6;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#f8f9fa;border-color:#adb5bd}.error-message{background:#fff5f5;color:#c33;padding:12px 16px;border-radius:8px;border-left:4px solid #c33;margin-bottom:20px}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.photo-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:all .3s ease}.photo-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.photo-image-container{width:100%;height:300px;overflow:hidden;background:#f8f9fa}.photo-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-card:hover .photo-image{transform:scale(1.05)}.photo-details{padding:20px}.photo-author{display:flex;align-items:center;gap:12px;margin-bottom:12px}.author-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0}.author-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0077be,#4a90e2);color:#fff;font-weight:700;font-size:.9rem}.author-info{display:flex;flex-direction:column}.author-name{font-weight:700;color:#212529;font-size:.95rem}.photo-date{color:#6c757d;font-size:.85rem}.photo-description{color:#495057;line-height:1.6;margin-bottom:12px;word-wrap:break-word}.btn-delete{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;color:#dc3545;border:1px solid #dc3545;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-delete:hover{background:#dc3545;color:#fff}.loading-spinner{text-align:center;padding:80px 24px}.spinner{width:50px;height:50px;margin:0 auto 20px;border:4px solid #f3f3f3;border-top:4px solid #0077BE;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner p{color:#6c757d;font-size:1.1rem}.empty-state{text-align:center;padding:80px 24px;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a}.empty-state svg{color:#dee2e6;margin-bottom:24px}.empty-state h3{color:#212529;margin-bottom:8px;font-size:1.5rem}.empty-state p{color:#6c757d;font-size:1.1rem}@media(max-width:1024px){.photo-gallery{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.upload-previews-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media(max-width:768px){.adventure-chronicles-hero{padding:32px 16px}.adventure-chronicles-hero-content h1{font-size:1.75rem;flex-direction:column;gap:12px}.adventure-chronicles-hero-content p{font-size:1rem}.adventure-chronicles-container{padding:24px 16px}.photo-gallery{grid-template-columns:1fr;gap:16px}.upload-previews-grid{grid-template-columns:1fr;gap:12px}.upload-previews-grid .upload-preview{height:220px}.upload-form-card{padding:24px 16px}.upload-item{grid-template-columns:1fr;gap:16px}.upload-item-preview img{height:250px}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.btn-upload{width:100%;justify-content:center}}.chronicles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-top:32px}.chronicle-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:transform .2s,box-shadow .2s;cursor:pointer}.chronicle-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.chronicle-image-container{position:relative;width:100%;height:250px;overflow:hidden}.chronicle-image{width:100%;height:100%;object-fit:cover}.chronicle-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%);color:#fff;padding:20px}.chronicle-overlay h3{margin:0 0 8px;font-size:1.3rem;font-weight:600}.chronicle-location{display:flex;align-items:center;gap:4px;font-size:.9rem;opacity:.9}.chronicle-details{padding:16px}.chronicle-author{display:flex;align-items:center;gap:12px;margin-bottom:12px}.chronicle-description{color:#555;line-height:1.6;font-size:.95rem}.chronicle-date{font-size:.85rem;color:#888}@media(max-width:768px){.chronicles-grid{grid-template-columns:1fr}}
