.tagline,body{color:var(--text-main)}.badge,.card-title,.filter-btn,.tagline{font-weight:700}:root{--ocean-dark:#006994;--ocean-light:#48CAE4;--sand:#FFFDF7;--coral:#FF8FAB;--sun:#FFD166;--text-main:#2B2D42;--text-gray:#6D6E7C;--white:#ffffff;--shadow-card:0 10px 30px rgba(0, 105, 148, 0.1);--shadow-hover:0 20px 40px rgba(0, 105, 148, 0.2);--radius-card:24px;--radius-btn:50px}*{box-sizing:border-box}body{margin:0;font-family:'Noto Sans TC',sans-serif;background-color:var(--sand);overflow-x:hidden}.main-navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:15px 20px;transition:.3s;background:0 0}.main-navbar.scrolled{background:rgba(0,105,148,.95);backdrop-filter:blur(10px);box-shadow:0 4px 20px rgba(0,0,0,.15);padding:10px 20px}.filter-btn.active,.main-navbar.scrolled .nav-right a:hover{background:var(--ocean-light);color:var(--white)}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{height:40px}.nav-right a{text-decoration:none;color:var(--white);font-weight:600;margin-left:20px;padding:8px 16px;border-radius:var(--radius-btn);transition:.3s;text-shadow:0 2px 4px rgba(0,0,0,.1)}.nav-right a:hover{background:rgba(255,255,255,.2)}.main-navbar.scrolled .nav-right a{color:var(--white);text-shadow:none}.island-hero{position:relative;height:70vh;min-height:500px;background:linear-gradient(180deg,rgba(0,105,148,.3),rgba(0,105,148,.1)),url('DSC_2287.webp') center/cover no-repeat;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-top:60px}.hero-content{z-index:2;padding:20px;animation:1s ease-out floatUp}.tagline{display:inline-block;background:var(--sun);padding:6px 12px;border-radius:20px;font-size:14px;margin-bottom:10px;letter-spacing:1px;box-shadow:0 4px 10px rgba(255,209,102,.4)}.island-hero h1{font-size:3.5rem;color:var(--white);margin:10px 0;text-shadow:0 4px 12px rgba(0,0,0,.2);letter-spacing:2px}.island-hero p{font-size:1.2rem;color:rgba(255,255,255,.95);margin-bottom:30px;font-weight:500}.ocean-waves{position:absolute;bottom:0;left:0;width:100%;overflow:hidden;line-height:0}.attraction-card,.card-image-box{position:relative;overflow:hidden}.waves{width:100%;height:100px}.parallax>use{animation:25s cubic-bezier(.55,.5,.45,.5) infinite move-forever}.parallax>use:first-child{animation-delay:-2s;animation-duration:7s}.parallax>use:nth-child(2){animation-delay:-3s;animation-duration:10s}.parallax>use:nth-child(3){animation-delay:-4s;animation-duration:13s}.parallax>use:nth-child(4){animation-delay:-5s;animation-duration:20s}@keyframes move-forever{0%{transform:translate3d(-90px,0,0)}100%{transform:translate3d(85px,0,0)}}.filter-container{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.filter-btn{background:rgba(255,255,255,.9);border:none;padding:12px 24px;border-radius:var(--radius-btn);color:var(--ocean-dark);font-size:15px;cursor:pointer;transition:.3s cubic-bezier(.175, .885, .32, 1.275);box-shadow:0 4px 15px rgba(0,0,0,.1)}.filter-btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.15)}.filter-btn.active{box-shadow:0 4px 15px rgba(72,202,228,.4)}.main-content{max-width:1200px;margin:0 auto;padding:40px 20px 80px}.attractions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;margin-top:20px}.attraction-card{background:var(--white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:.4s;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.02);animation:.8s cubic-bezier(.22,1,.36,1) backwards cardEntrance}.attraction-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-hover)}.card-image-box{height:240px}.card-image-box img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.attraction-card:hover .card-image-box img{transform:scale(1.1)}.badge{position:absolute;top:16px;padding:6px 14px;border-radius:12px;font-size:12px;box-shadow:0 4px 10px rgba(0,0,0,.15);backdrop-filter:blur(4px);z-index:2}.badge-price{right:16px;background:rgba(255,255,255,.95);color:var(--ocean-dark)}.badge-price.paid,.close-map-btn:hover{color:#e63946}.badge-price.free{color:#2a9d8f}.badge-secret{left:16px;background:linear-gradient(135deg,var(--sun),orange);color:var(--text-main)}#fab-map-btn:hover,.btn-map{background:var(--ocean-light)}.card-body{padding:24px;flex:1;display:flex;flex-direction:column}.card-title-container{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.card-title{font-size:1.4rem;color:var(--ocean-dark);margin:0;flex-grow:1;min-width:0}#visitor-count,.card-desc,.info-row{color:var(--text-gray)}.image-source,.image-source-link{margin:0;padding:0;font-size:.8rem;font-weight:500;color:var(--text-gray);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;transition:color .2s}.image-source-link:hover{color:var(--coral);opacity:1;text-decoration:underline}.card-desc{font-size:.95rem;line-height:1.6;margin-bottom:20px;flex-grow:1}.btn-map,.info-row{align-items:center;display:flex}.info-row{gap:8px;font-size:.9rem;margin-bottom:6px}.info-row svg{width:18px;height:18px;color:var(--ocean-light)}.btn-map{width:100%;justify-content:center}.visitor-section{text-align:center;margin-top:60px}#visitor-count{display:inline-block;padding:10px 24px;background:var(--white);border-radius:50px;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.05);border:1px solid #eee}@keyframes floatUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(40px) scale(.92);filter:blur(5px)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.no-result-message{animation:.6s ease-out cardEntrance}#fab-map-btn{position:fixed;bottom:30px;right:30px;background:var(--ocean-dark);color:#fff;border:none;padding:15px 25px;border-radius:50px;font-size:16px;font-weight:700;box-shadow:0 4px 15px rgba(0,105,148,.4);cursor:pointer;z-index:999;transition:transform .3s,background .3s;display:flex;align-items:center;gap:8px}#fab-map-btn:hover{transform:scale(1.05)}.map-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0);z-index:2000;justify-content:center;align-items:center;backdrop-filter:blur(0px);transition:background .4s,backdrop-filter .4s}.map-modal.show{background:rgba(0,0,0,.6);backdrop-filter:blur(5px)}.map-content{background:#fff;width:90%;max-width:1000px;height:80vh;border-radius:20px;position:relative;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);opacity:0;transform:scale(.9) translateY(20px);transition:opacity .4s cubic-bezier(.34, 1.56, .64, 1),transform .4s cubic-bezier(.34, 1.56, .64, 1)}.map-modal.show .map-content{opacity:1;transform:scale(1) translateY(0)}.map-content h3{padding:15px 20px;margin:0;background:var(--sand,#fffdf7);color:var(--ocean-dark,#006994);border-bottom:1px solid #eee}#map-container{flex:1;width:100%;background:#eef}.close-map-btn{position:absolute;top:10px;right:15px;background:0 0;border:none;font-size:30px;color:#6d6e7c;cursor:pointer;z-index:1001;transition:color .2s}@media (max-width:768px){.island-hero{height:60vh;min-height:350px;padding-top:70px}.tagline{font-size:12px;padding:4px 10px;margin-bottom:8px}.island-hero h1{font-size:2rem;margin:5px 0 10px;line-height:1.3}.island-hero p{font-size:.95rem;margin-bottom:20px;padding:0 15px;opacity:.9}.filter-container{gap:8px}.filter-btn{padding:8px 16px;font-size:13px;flex:1 1 auto;min-width:80px;display:flex;justify-content:center}.nav-right a{font-size:14px;margin-left:5px;padding:6px 10px}.logo{height:32px}.main-content{padding:20px 15px 60px}.attractions-grid{grid-template-columns:1fr;gap:25px}.card-title-container{flex-direction:column;align-items:flex-start;gap:0}.image-source{font-size:.75rem;margin-top:4px;white-space:normal;text-align:left}}.card-footer{margin-top:20px;border-top:1px solid #f0f0f0;padding-top:16px;display:flex;gap:12px}.btn-map{flex:1;min-width:0;background:var(--ocean-light);color:#fff;border:none;padding:12px;border-radius:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.3s;text-decoration:none;font-size:15px}.btn-map:hover{background:var(--ocean-dark)}.btn-star{background:var(--text-gray)}.btn-star:hover{background:var(--text-main)}