
:root{
	--bg:#EBEBEB; /* updated from #F5F5F5 per request */
	--card:#FFFFFF; /* paint_2:0165 */
	--text:#14151A; /* 中性色10 paint_2:0150 */
	--muted:#797A80; /* 中性色50 paint_2:0453 */
	--primary:#36CFD9; /* paint_2:0267 */
	--grad:linear-gradient(156deg,#6DF2F2 8%,#36CFD9 91%); /* paint_2:0217 */
	--ov:linear-gradient(180deg, rgba(26,26,26,0) 0%, #1A1A1A 100%); /* paint_2:0282 */
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{font-family:MiSans,Inter,system-ui,-apple-system,'Segoe UI',Roboto,'Microsoft YaHei',Arial;color:var(--text);background:var(--bg)}

.app-header{position:sticky;top:0;z-index:1000;background:var(--card)}
.phone{width:min(100vw,393px);min-height:100dvh;margin:0 auto;background:var(--bg);position:relative;padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.status{height:54px;display:block;padding:0}
	/* Updated phone container height */
	height: 852px;
.status img{display:block;width:100%;height:100%;object-fit:contain}

.topbar{position:relative;height:42px;display:flex;align-items:center;justify-content:flex-start;padding:0 16px}
.topbar .loc-txt{font-size:14px;color:#14151A;margin-right:0;white-space:nowrap;flex-shrink:0}
.topbar .loc-btn{width:16px;height:16px;margin-left:2px;background-position:center;background-repeat:no-repeat;background-size:contain;background-image:url('images/Frame10.png');border:0;background-color:transparent;cursor:pointer;transition:transform .16s ease;flex-shrink:0}
.topbar .loc-btn[aria-expanded="true"]{transform:rotate(180deg)}
.topbar .icon{position:static;width:24px;height:24px;border-radius:6px;background:transparent;border:1px solid #e6e8ef}
.topbar .btn-left{display:none}
.topbar .btn-right{margin-left:0;background-color:transparent;background-image:url('images/Frame11111x.png');background-repeat:no-repeat;background-position:center;background-size:18px 18px}
.topbar .pill{display:flex;align-items:center;gap:4px;height:28px;border-radius:20px;background:transparent;border:1px solid #FFFFFF;padding:0 12px}
.topbar .pill .dot{width:16px;height:16px;background-position:center;background-repeat:no-repeat;background-size:contain;background-image:url('images/Frame10.png');border:0;background-color:transparent;padding:0;cursor:pointer;transition:transform .16s ease}
/* 展开状态小三角翻转提示 */
.topbar .pill .dot[aria-expanded="true"]{transform:rotate(180deg)}
/* 顶栏位置文字尺寸：91x19，字号14px */
.topbar .pill .txt{display:inline-block;width:91px;height:19px;line-height:19px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 顶部栏下拉菜单 */
.loc-menu{position:absolute;top:calc(100% + 6px);left:16px;z-index:1000;min-width:160px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:10px;box-shadow:0 10px 24px rgba(15,23,42,.12);padding:6px;display:flex;flex-direction:column;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .16s ease, transform .16s ease}
.loc-menu.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.loc-menu .loc-item{appearance:none;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;font-size:14px;line-height:20px;color:#14151A;cursor:pointer}
.loc-menu .loc-item[aria-selected="true"],
.loc-menu .loc-item:hover{background:#F3F4F6}

/* 搜索框 */
.search{display:flex;justify-content:center;margin:8px 0}
.search .search-input{width:196px;height:28px;border-radius:20px;background:#FFFFFF;border:1px solid #EBEBEB;outline:none;padding:0 12px;font-size:14px;line-height:28px}
/* 顶部栏内的搜索框布局覆盖 */
.topbar .search{margin:0 16px 0 20px;justify-content:flex-start;flex:1}
.topbar .search .search-input{width:100%;min-width:160px;height:28px}

/* 轮播图：361 x 181，水平居中，上 20px 下 8px */
.carousel{width:361px;height:181px;margin:20px auto 8px;border-radius:12px;overflow:hidden;position:relative;background:#f2f2f2}
.carousel .nav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 8px;pointer-events:none}
.carousel .nav button{pointer-events:auto;width:28px;height:28px;border-radius:999px;border:0;background:rgba(0,0,0,.35);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.carousel .nav .prev::before{content:'\2039';font-size:18px;line-height:1}
.carousel .nav .next::before{content:'\203A';font-size:18px;line-height:1}
.carousel .indicators{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:flex;gap:6px;z-index:2}
.carousel .indicators .dot{width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.7);border:0;padding:0;cursor:pointer;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.carousel .indicators .dot.active{width:16px;background:#fff}
.carousel .track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:0}
.carousel .track::-webkit-scrollbar{display:none}
.carousel .slide{flex:0 0 100%;height:100%;scroll-snap-align:center;position:relative;display:block}
.carousel .slide img{display:block;width:100%;height:100%;object-fit:cover}

.cats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:10px 16px 0;margin-top:8px;margin-bottom:0}
.cats + .cats{margin-top:0}
/* 当后一模块仍为分类时，移除前一分类的底部留白以实现视觉 0px 间距 */
.cats:has(+ .cats){padding-bottom:0}
.cats + .sec-hd{margin-top:0}
/* 紧贴“畅玩阿那亚”的双卡区域时，上间距为 0 */
.hero2 + .cats{margin-top:0}
.cat{display:flex;flex-direction:column;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer}
.cat .ico{width:40px;height:40px;border-radius:8px;background:transparent;border:0;position:relative;background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden}
.cat span{font-size:12px}

.sec-hd{margin:28px 16px 8px;font-size:16px;font-weight:600}
.hero2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:0 16px;margin:20px 0 0}
.hero-card{position:relative;display:block;border-radius:8px;overflow:hidden}
.hero-card img{display:block;width:100%;height:auto;aspect-ratio:176/108;object-fit:cover}
.hero-card .overlay{position:absolute;left:0;right:0;bottom:0;height:36px;background:var(--ov);backdrop-filter:blur(10px)}
.hero-card .tag{position:absolute;left:12px;bottom:10px;color:#fff;font-weight:600}

.sec-title{display:flex;justify-content:space-between;align-items:center;margin:28px 16px 12px}
.sec-title .t{font-size:15px;font-weight:600}
.sec-title .more{border:0;background:transparent;color:var(--muted);cursor:pointer}

.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 16px;margin-bottom:28px}
.note{background:transparent;border-radius:4px;overflow:hidden}
.note img{display:block;width:100%;height:auto;aspect-ratio:110/140;object-fit:cover}
.note .cap{padding:6px 6px 8px;font-size:12px}
.notes.wide{grid-template-columns:repeat(3,1fr);margin:0 16px 0;border-radius:12px;background:var(--card);padding:12px 10px 10px}
.notes.wide .note.tall{position:relative;display:flex;flex-direction:column;align-items:flex-start}
/* 宽版笔记：将标题放到图片上方，与图片左对齐，间距 12px，字号 15px */
.notes.wide .note.tall .cap{position:static;order:-1;font-size:15px;line-height:18px;font-weight:600;margin:0 0 12px 0;padding:0;background:transparent}
.notes.wide .note img{height:auto;aspect-ratio:107/155}

/* 让右侧两张卡片与左卡上下对齐：为第2、3项图片增加与左卡标题+间距等高的顶部空隙 */
.notes.wide > *:nth-child(2) img,
.notes.wide > *:nth-child(3) img{margin-top:30px}

.masonry{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:8px 16px 12px}
.mcard{position:relative;border-radius:8px;overflow:hidden}
.mcard img{display:block;width:100%;height:auto;aspect-ratio:176/202;object-fit:cover}
.mcard .ov{position:absolute;left:0;right:0;bottom:0;height:36px;background:var(--ov);backdrop-filter:blur(10px)}
.mcard .txt{position:absolute;left:12px;bottom:10px;color:#fff;font-weight:600}

.tabbar{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100vw,393px);height:84px;background:#FFFFFF;border-top:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding-bottom:env(safe-area-inset-bottom)}
.tabbar .tab{background:transparent;border:0;color:#14151A;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}
.tabbar .tab .ico{width:28px;height:28px;background-position:center;background-size:contain;background-repeat:no-repeat}
.tabbar .tab[data-tab="map"] .ico{width:40px;height:40px}
.tabbar .tab.active{color:#14151A;font-weight:700}

.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(10px);background:rgba(15,23,42,.9);color:#fff;padding:8px 12px;border-radius:999px;opacity:0;transition:.2s}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.98);background:#fff;border-radius:12px;box-shadow:0 40px 80px rgba(15,23,42,.18);min-width:280px;max-width:92vw;padding:16px;opacity:0;pointer-events:none;transition:.15s}
.modal.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.modal .footer{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}

/* 可访问性与交互优化 */
:where(button):focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* 降低动画以保护设备与用户偏好 */
@media (prefers-reduced-motion: reduce){
	*{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}
}