/* ===== 亚欧非环线漫游指南 · 宫崎骏漫画风（吉卜力自然色板） =====
 * 奶油米白 × 草原绿 × 天空蓝 · 手绘描边 · 漂浮白云
 */
:root{
  --bg:#faf6ec;                     /* 奶油米白 */
  --bg-grad:linear-gradient(180deg,#fdf9f0 0%,#eef5f1 100%);
  --card:#fffdf6;                   /* 暖白卡片 */
  --primary:#6a9a4e;                /* 草原绿 */
  --primary-2:#8fbf6f;              /* 嫩草绿 */
  --secondary:#6fa8c9;              /* 天空蓝 */
  --secondary-2:#a8cfe3;            /* 浅天蓝 */
  --danger:#d4704f;                 /* 陶土红 */
  --text:#4a4238;                   /* 暖深棕文字 */
  --text-light:#9c907f;             /* 暖灰棕 */
  --border:#e6dcc4;                 /* 米棕细边 */
  --ink:#5c4a3d;                    /* 手绘深棕描边 */
  --shadow:0 6px 20px rgba(190,140,66,0.16);
  --radius:20px;
  --visited-bg:#e9f3dc;             /* 嫩绿高亮 */
  --chip-hover:#f7efda;             /* 暖黄悬停 */
  --header-grad:linear-gradient(135deg,rgba(106,154,78,0.60),rgba(111,168,201,0.60));
  --sticky-bg:rgba(255,253,246,0.98);
  --cloud:#ffffff;
  --hero-h:320px;
  /* 攻略卡片内衬色块（吉卜力暖色系） */
  --tint-yellow-bg:#fff8e1; --tint-yellow-text:#8a6a1f;
  --tint-pink-bg:#fce4ec; --tint-pink-text:#880e4f;
  --tint-orange-bg:#fff3e0; --tint-orange-text:#c76a0f; --tint-orange-border:#f39c12;
}
/* 星夜暗色模式 */
html[data-theme="dark"]{
  --bg:#16222e;
  --bg-grad:linear-gradient(180deg,#16222e 0%,#101d2e 100%);
  --card:#1f3140;
  --primary:#a3c98a;
  --primary-2:#c4dfae;
  --secondary:#7fb3d9;
  --secondary-2:#9cc6e4;
  --danger:#e28a6a;
  --text:#efe9dd;
  --text-light:#a89f8c;
  --border:#33495c;
  --ink:#9db0bd;
  --shadow:0 6px 24px rgba(0,0,0,0.4);
  --visited-bg:#2c4557;
  --chip-hover:#26394a;
  --header-grad:linear-gradient(135deg,rgba(28,56,82,0.80),rgba(30,58,95,0.75));
  --sticky-bg:rgba(31,49,64,0.98);
  --cloud:#c9d6e2;
  --tint-yellow-bg:#3d3a22; --tint-yellow-text:#e6d9a8;
  --tint-pink-bg:#42263a; --tint-pink-text:#f0b9d8;
  --tint-orange-bg:#3d3222; --tint-orange-text:#e8c9a8; --tint-orange-border:#f39c12;
}
*{box-sizing:border-box;}
body{
  background:var(--bg);
  background-image:
    radial-gradient(ellipse 240px 70px at 8% 6%, rgba(255,255,255,0.55), transparent 70%),
    radial-gradient(ellipse 320px 90px at 88% 10%, rgba(255,255,255,0.50), transparent 70%),
    radial-gradient(ellipse 180px 55px at 55% 2%, rgba(255,255,255,0.45), transparent 70%),
    radial-gradient(ellipse 260px 75px at 30% 88%, rgba(255,255,255,0.40), transparent 70%),
    var(--bg-grad);
  color:var(--text);
  font-family:"幼圆","YouYuan","Yuanti SC",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  line-height:1.7;margin:0;padding-bottom:76px;
}
/* 暗色：星空点缀 */
html[data-theme="dark"] body{
  background-image:
    radial-gradient(1.5px 1.5px at 10% 12%, rgba(255,255,255,.8), transparent 100%),
    radial-gradient(1px 1px at 28% 30%, rgba(255,255,255,.6), transparent 100%),
    radial-gradient(1.5px 1.5px at 45% 8%, rgba(255,255,255,.7), transparent 100%),
    radial-gradient(1px 1px at 62% 22%, rgba(255,255,255,.5), transparent 100%),
    radial-gradient(1.5px 1.5px at 78% 10%, rgba(255,255,255,.7), transparent 100%),
    radial-gradient(1px 1px at 90% 35%, rgba(255,255,255,.6), transparent 100%),
    radial-gradient(1.5px 1.5px at 18% 62%, rgba(255,255,255,.5), transparent 100%),
    radial-gradient(1px 1px at 74% 58%, rgba(255,255,255,.45), transparent 100%),
    var(--bg-grad);
}
.container{max-width:900px;margin:0 auto;padding:16px;}

/* ---------- Hero 风景轮播 · 水彩滤镜 + 白云 ---------- */
.hero{position:relative;min-height:var(--hero-h);border-radius:26px;overflow:hidden;margin-bottom:20px;box-shadow:var(--shadow);border:3px solid rgba(255,255,255,0.45);}
/* 滤镜已移到图片 URL 参数（sat/bri），避免运行时 filter 导致全屏大图逐帧重算 */
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity 1s ease;transform:scale(1.05);}
.hero-bg.show{opacity:1;visibility:visible;transform:scale(1);}
.hero::before{content:"";position:absolute;inset:0;background:var(--header-grad);z-index:1;}
.cloud{position:absolute;background:var(--cloud);border-radius:50%;opacity:0.8;z-index:2;animation:cloudDrift linear infinite;}
.cloud::before,.cloud::after{content:"";position:absolute;background:var(--cloud);border-radius:50%;}
.cloud.c1{width:130px;height:38px;top:16%;animation-duration:95s;}
.cloud.c1::before{width:56px;height:56px;left:24px;top:-28px;}
.cloud.c1::after{width:40px;height:40px;left:64px;top:-18px;}
.cloud.c2{width:100px;height:30px;top:32%;animation-duration:130s;animation-delay:-40s;opacity:0.6;transform:scale(0.8);}
.cloud.c2::before{width:44px;height:44px;left:18px;top:-22px;}
.cloud.c2::after{width:30px;height:30px;left:50px;top:-14px;}
.cloud.c3{width:80px;height:24px;top:6%;animation-duration:160s;animation-delay:-80s;opacity:0.5;transform:scale(0.7);}
.cloud.c3::before{width:34px;height:34px;left:14px;top:-18px;}
.cloud.c3::after{width:24px;height:24px;left:42px;top:-10px;}
@keyframes cloudDrift{from{left:-20%;}to{left:110%;}}
.hero-content{position:relative;z-index:3;min-height:var(--hero-h);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;padding:32px 20px;}
.hero-content h1{margin:0 0 10px;font-size:2.1rem;letter-spacing:2px;text-shadow:0 3px 14px rgba(0,0,0,0.35);}
.hero-content h1::after{content:"🌿";margin-left:6px;display:inline-block;}
.hero-content p{margin:0;font-size:0.98rem;opacity:0.96;text-shadow:0 1px 10px rgba(0,0,0,0.4);}
#themeToggle{background:var(--card);border:2px solid var(--ink);border-radius:50%;width:44px;height:44px;cursor:pointer;font-size:1.15rem;box-shadow:0 3px 0 rgba(92,74,61,0.25);transition:transform .2s;}
#themeToggle:hover,#styleToggle:hover{transform:translateY(-2px) rotate(-8deg);}

/* ---------- Tabs · 贴纸按钮 ---------- */
.tabs{display:flex;gap:10px;overflow-x:auto;padding:6px;margin-bottom:18px;}
.tab-btn{flex-shrink:0;padding:10px 20px;border:2px solid var(--ink);background:var(--card);border-radius:999px;cursor:pointer;font-size:0.9rem;font-weight:700;color:var(--text);box-shadow:0 4px 0 rgba(92,74,61,0.22);white-space:nowrap;transition:all .2s;font-family:inherit;}
.tab-btn:hover{transform:translateY(-2px) rotate(-1deg);}
.tab-btn.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-color:var(--ink);transform:translateY(-2px);}

/* ---------- 筛选按钮 ---------- */
.filter-btn{padding:6px 14px;border:2px solid var(--ink);background:var(--card);border-radius:999px;cursor:pointer;font-size:0.85rem;font-weight:700;color:var(--text);transition:all .2s;box-shadow:0 2px 0 rgba(92,74,61,0.18);font-family:inherit;}
.filter-btn:hover{transform:translateY(-1px);}
.filter-btn.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-color:var(--ink);}

.section{display:none;}.section.active{display:block;animation:fadeIn 0.15s ease;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.card{background:var(--card);border-radius:var(--radius);padding:18px;margin-bottom:14px;box-shadow:var(--shadow);border:2px solid var(--border);}

/* ---------- 区域标题（水彩风景背景 + 画框） ---------- */
.region-title{font-size:1.15rem;font-weight:700;margin:18px 0 12px;padding:16px 18px;border-radius:18px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,0.55);background-size:cover;background-position:center;background-repeat:no-repeat;filter:sepia(0.15) saturate(1.05);box-shadow:var(--shadow);position:relative;overflow:hidden;border:3px solid rgba(255,255,255,0.5);}
.region-title::after{content:"";position:absolute;inset:0;background:var(--header-grad);}
.region-title span{position:relative;z-index:1;}
.region-title[data-region="出发地"]{background-image:url('https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="中亚"]{background-image:url('https://images.unsplash.com/photo-1501785888041-af3ef285b470?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="高加索"]{background-image:url('https://images.unsplash.com/photo-1519681393784-d120267933ba?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="土耳其"]{background-image:url('https://images.unsplash.com/photo-1539635278303-d4002c07eae3?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="巴尔干"]{background-image:url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="欧洲"]{background-image:url('https://images.unsplash.com/photo-1533105079780-92b9be482077?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="北非"]{background-image:url('https://images.unsplash.com/photo-1537996194471-e657df975ab4?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="中东"]{background-image:url('https://images.unsplash.com/photo-1518684079-3c830dcef090?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="东北亚"]{background-image:url('https://images.unsplash.com/photo-1519451241324-20b4ea2c4220?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="东非"]{background-image:url('https://images.unsplash.com/photo-1516426122078-c23e76319801?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="南非"]{background-image:url('https://images.unsplash.com/photo-1547471080-7cc2caa01a7e?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="南亚"]{background-image:url('https://images.unsplash.com/photo-1548013146-72479768bada?w=1400&q=80&fm=jpg&fit=crop');}
.region-title[data-region="东南亚"]{background-image:url('https://images.unsplash.com/photo-1524231757912-21f4fe3a7200?w=1400&q=80&fm=jpg&fit=crop');}

/* ---------- 城市网格 ---------- */
.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;}
.city-chip{padding:10px;border-radius:16px;background:var(--card);border:2px solid var(--border);cursor:pointer;text-align:center;font-size:0.85rem;font-weight:700;transition:all .2s;}
.city-chip:hover{background:var(--chip-hover);border-color:var(--primary-2);transform:translateY(-3px) rotate(-1deg);box-shadow:var(--shadow);}
.city-chip.selected{border-color:var(--primary);background:var(--visited-bg);color:var(--primary);}
/* 行程锁定：城市不可误触 */
.city-chip.locked{cursor:not-allowed;opacity:0.72;filter:grayscale(0.5);}
.city-chip.locked:hover{transform:none;box-shadow:none;border-color:var(--border);}
.city-chip.locked.selected:hover{border-color:var(--primary);background:var(--visited-bg);color:var(--primary);}
/* 行程跟随 */
.journey-dot{display:inline-block;padding:6px 12px;border-radius:999px;border:2px solid var(--border);background:var(--card);font-size:0.8rem;font-weight:700;cursor:pointer;transition:all .2s;}
.journey-dot:hover{border-color:var(--primary-2);transform:translateY(-2px);}
.journey-dot.visited{border-color:var(--secondary);background:#eef7e2;color:var(--secondary);}
.journey-dot.current{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 3px 0 rgba(92,74,61,0.22);}

/* ---------- 标签 ---------- */
.tag{display:inline-block;padding:4px 10px;border-radius:999px;font-size:0.75rem;font-weight:700;margin-right:6px;}
.visa-free{background:#e8f3dc;color:#4d7a33;}.visa-landing{background:#fdf3d3;color:#8a6a1f;}
.visa-evisa{background:#dcebf7;color:#2f6487;}.visa-schengen{background:#e9dcf5;color:#6a3d93;}
.visa-hard{background:#f8e0d7;color:#a05030;}
.trek-box{background:linear-gradient(135deg,#eef7e2,#e3f1fa);border-radius:16px;padding:12px 14px;margin:8px 0;border:2px solid var(--border);border-left:5px solid var(--primary);}
.check-item{display:flex;align-items:center;padding:8px 12px;background:var(--card);border-radius:14px;margin-bottom:6px;border:2px solid var(--border);cursor:pointer;transition:background .15s;}
.check-item:hover{background:var(--chip-hover);}
.check-item.checked{opacity:0.6;text-decoration:line-through;background:var(--chip-hover);}
.trip-summary{background:var(--header-grad);color:white;border-radius:22px;padding:20px;margin-bottom:16px;text-align:center;box-shadow:var(--shadow);border:3px solid rgba(255,255,255,0.4);}
.timeline{position:relative;padding-left:24px;}.timeline::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--primary),var(--secondary));}
.timeline-item{position:relative;margin-bottom:16px;padding-left:16px;}
.timeline-item::before{content:"";position:absolute;left:-20px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--primary);border:2px solid var(--card);}
.sticky-bar{position:sticky;bottom:0;background:var(--sticky-bg);padding:12px 16px;border-top:2px solid var(--border);display:flex;gap:8px;justify-content:center;z-index:100;}
.btn{padding:10px 20px;border:2px solid var(--ink);border-radius:999px;background:var(--card);color:var(--text);font-weight:700;cursor:pointer;font-size:0.9rem;box-shadow:0 4px 0 rgba(92,74,61,0.22);transition:all .2s;font-family:inherit;}
.btn:hover{filter:brightness(1.05);transform:translateY(-2px);}
.btn:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(92,74,61,0.22);}
.btn.small{padding:6px 12px;font-size:0.8rem;}
.btn-blue{background:var(--secondary);color:#fff;}
.btn-red{background:var(--danger);color:#fff;}
.tips-table{width:100%;border-collapse:collapse;font-size:0.88rem;}
.tips-table th{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;padding:10px;text-align:left;}
.tips-table td{padding:10px;border-bottom:1px solid var(--border);}
.tips-table tr:hover td{background:var(--chip-hover);}
/* 行前贴士：顶部分类导航胶囊（横向滚动） */
.tips-nav{position:sticky;top:0;z-index:50;display:flex;gap:8px;overflow-x:auto;padding:10px 2px;margin-bottom:4px;background:var(--bg);scrollbar-width:thin;}
.tips-nav::-webkit-scrollbar{height:4px;}
.tips-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}
.tips-nav-btn{flex-shrink:0;padding:8px 14px;border:2px solid var(--border);border-radius:999px;background:var(--card);color:var(--text);font-size:0.82rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s;box-shadow:0 2px 0 rgba(92,74,61,0.15);}
.tips-nav-btn:hover{transform:translateY(-1px);border-color:var(--primary);color:var(--primary);}
.tips-nav-btn:active{transform:translateY(1px);box-shadow:none;}
/* 行前贴士：可折叠卡片 */
.tip-card{background:var(--card);border:2px solid var(--border);border-radius:16px;margin-bottom:12px;box-shadow:var(--shadow);overflow:hidden;}
.tip-card summary{list-style:none;cursor:pointer;padding:14px 18px;font-size:1rem;font-weight:800;color:var(--primary);display:flex;justify-content:space-between;align-items:center;gap:8px;transition:background .2s;}
.tip-card summary::-webkit-details-marker{display:none;}
.tip-card summary:hover{background:var(--chip-hover);}
.tip-card summary::after{content:"▾";transition:transform .25s;color:var(--text-light);font-size:0.85rem;flex-shrink:0;}
.tip-card:not([open]) summary::after{transform:rotate(-90deg);}
.tip-card .tip-sum-hint{font-size:0.72rem;font-weight:400;color:var(--text-light);opacity:0;transition:opacity .2s;}
.tip-card summary:hover .tip-sum-hint{opacity:1;}
.tip-card > *:not(summary){padding-left:18px;padding-right:18px;}
.tip-card > *:not(summary):last-child{padding-bottom:14px;}
/* 装备推荐 */
.gear-count{margin-left:auto;font-size:0.75rem;font-weight:400;color:var(--text-light);background:var(--chip-hover);border-radius:999px;padding:2px 10px;}
.gear-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed var(--border);}
.gear-item:last-child{border-bottom:none;}
.gear-badge{display:inline-block;font-size:0.68rem;font-weight:700;border-radius:999px;padding:1px 8px;margin-left:6px;vertical-align:1px;}
.gear-badge.must{background:#ffe8e6;color:#d35400;border:1px solid #f5c6c0;}
.gear-badge.opt{background:#e8f4e8;color:#3d7a3d;border:1px solid #bfd9bf;}
.gear-add{background:none;border:2px solid var(--border);border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:0.9rem;flex-shrink:0;transition:all .2s;font-family:inherit;line-height:1;}
.gear-add:hover{border-color:var(--primary);background:var(--chip-hover);transform:scale(1.08);}
.visit-btn{background:none;border:2px solid var(--border);border-radius:999px;padding:4px 10px;cursor:pointer;font-size:0.75rem;color:var(--text-light);flex-shrink:0;font-family:inherit;}
.visit-btn:hover{border-color:var(--primary);color:var(--primary);}
.visit-btn.visited{background:var(--visited-bg);color:var(--primary);border-color:var(--primary);font-weight:700;}
.visa-table{width:100%;border-collapse:collapse;}
.visa-table th{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;padding:10px;text-align:left;}
.visa-table td{padding:10px;border-bottom:1px solid var(--border);}

/* ---------- 城市攻略：用户自己补充的笔记 ---------- */
.city-notes{margin-top:16px;padding-top:14px;border-top:2px dashed var(--border);}
.note-item{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:10px 40px 10px 14px;margin-bottom:8px;}
.note-item strong{color:var(--primary);font-size:0.9rem;}
.note-item .note-time{font-size:0.7rem;color:var(--text-light);margin-left:8px;font-weight:400;}
.note-item p{margin:4px 0 0;font-size:0.85rem;white-space:pre-wrap;word-break:break-word;}
.note-del{position:absolute;top:8px;right:8px;background:none;border:none;cursor:pointer;font-size:0.9rem;opacity:.55;font-family:inherit;}
.note-del:hover{opacity:1;transform:scale(1.15);}
.note-inputs{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.note-inputs input,.note-inputs textarea{width:100%;box-sizing:border-box;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);font-size:0.88rem;font-family:inherit;resize:vertical;}
.note-inputs input:focus,.note-inputs textarea:focus{outline:none;border-color:var(--primary);}

/* ================================================================
   极光北欧风（Aurora Nordic）
   雪白 × 深夜蓝 × 极光绿紫渐变 · 柔和圆角 · 清透高级感
   html 默认 data-style="aurora"，吉卜力风保留为可切换（ghibli）
================================================================ */
html[data-style="aurora"]{
  --bg:#f4f6fb; --bg-grad:linear-gradient(180deg,#f7f9fe 0%,#eef2fb 100%);
  --card:#ffffff; --primary:#1d3a6e; --primary-2:#4c7fd0;
  --secondary:#3d6bb5; --secondary-2:#7ea8e0; --danger:#d4535a;
  --text:#1c2333; --text-light:#7c86a1; --border:#dfe5f2; --ink:#2a3550;
  --shadow:0 8px 30px rgba(42,53,80,.10); --radius:16px;
  --visited-bg:#eaf1ff; --chip-hover:#f0f3fa;
  --header-grad:linear-gradient(135deg,rgba(16,28,51,.86),rgba(61,107,181,.72));
  --sticky-bg:rgba(255,255,255,.92); --cloud:transparent;
  --tint-yellow-bg:#f2f6ff; --tint-yellow-text:#3d5fa8;
  --tint-pink-bg:#eef2ff; --tint-pink-text:#4c5bb8;
  --tint-orange-bg:#eaf6ff; --tint-orange-text:#2f6e8f; --tint-orange-border:#4c7fd0;
}
html[data-style="aurora"] body{
  background-image:
    radial-gradient(ellipse 700px 320px at 88% -6%, rgba(65,217,141,.10), transparent 65%),
    radial-gradient(ellipse 600px 280px at 8% -4%, rgba(111,123,255,.10), transparent 60%),
    var(--bg-grad);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}
/* 极光暗色：星空 + 极光 */
html[data-style="aurora"][data-theme="dark"]{
  --bg:#0d1424; --bg-grad:linear-gradient(180deg,#0d1424 0%,#101c33 100%);
  --card:#1a2540; --primary:#8fb0e8; --primary-2:#b9cdf3;
  --secondary:#6f9fe0; --secondary-2:#94bdf0; --danger:#f08a8f;
  --text:#e8edf7; --text-light:#8f9cb8; --border:#2c3a5e; --ink:#c3cee4;
  --shadow:0 8px 30px rgba(0,0,0,.35); --visited-bg:#243254; --chip-hover:#202c4c;
  --header-grad:linear-gradient(135deg,rgba(8,12,26,.9),rgba(38,72,138,.75));
  --sticky-bg:rgba(13,20,36,.94);
  --tint-yellow-bg:#232f4f; --tint-yellow-text:#a9c0f0;
  --tint-pink-bg:#2b2a52; --tint-pink-text:#b9b8f0;
  --tint-orange-bg:#1f3148; --tint-orange-text:#9fc9e8; --tint-orange-border:#6f9fe0;
}
html[data-style="aurora"][data-theme="dark"] body{
  background-image:
    radial-gradient(1.5px 1.5px at 12% 18%, rgba(255,255,255,.55), transparent 100%),
    radial-gradient(1px 1px at 34% 8%, rgba(255,255,255,.4), transparent 100%),
    radial-gradient(1.5px 1.5px at 60% 26%, rgba(255,255,255,.5), transparent 100%),
    radial-gradient(1px 1px at 82% 12%, rgba(255,255,255,.4), transparent 100%),
    radial-gradient(ellipse 700px 300px at 85% -8%, rgba(65,217,141,.16), transparent 65%),
    radial-gradient(ellipse 600px 280px at 5% -4%, rgba(111,123,255,.16), transparent 60%),
    var(--bg-grad);
}
/* 极光风组件覆盖 */
html[data-style="aurora"] .cloud{display:none;}
html[data-style="aurora"] .hero{border:none;box-shadow:0 12px 40px rgba(29,58,110,.18);}
html[data-style="aurora"] .hero::before{background:linear-gradient(150deg,rgba(16,28,51,.85),rgba(29,58,110,.75) 55%,rgba(61,107,181,.60));}
html[data-style="aurora"] .hero-content h1{font-weight:800;letter-spacing:1px;}
html[data-style="aurora"] .hero-content h1::after{content:"✦";color:#7ee0a3;font-size:1.2rem;}
html[data-style="aurora"] #themeToggle,
html[data-style="aurora"] #styleToggle{border:1px solid var(--border);box-shadow:0 2px 8px rgba(42,53,80,.08);}
html[data-style="aurora"] .tab-btn{border:1px solid var(--border);background:var(--card);color:var(--text-light);box-shadow:none;font-weight:600;}
html[data-style="aurora"] .tab-btn.active{background:linear-gradient(135deg,#1d3a6e,#4c7fd0);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(61,107,181,.35);transform:none;}
html[data-style="aurora"] .filter-btn{border:1px solid var(--border);background:var(--card);color:var(--text-light);box-shadow:none;font-weight:600;}
html[data-style="aurora"] .filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);}
html[data-style="aurora"] .card{border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);}
html[data-style="aurora"] .city-chip{border:1px solid var(--border);border-radius:12px;box-shadow:none;}
html[data-style="aurora"] .city-chip:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(61,107,181,.12);}
html[data-style="aurora"] .city-chip.selected{border:1.5px solid var(--secondary);background:var(--visited-bg);color:var(--primary);}
html[data-style="aurora"] .region-title{border:2px solid rgba(255,255,255,.35);border-radius:16px;filter:sepia(0.05) saturate(1.1);}
html[data-style="aurora"] .journey-dot{border:1px solid var(--border);}
html[data-style="aurora"] .journey-dot.visited{background:#eaf1ff;color:var(--secondary);border-color:var(--secondary);}
html[data-style="aurora"] .trip-summary{border:none;border-radius:20px;}
html[data-style="aurora"] .timeline-item::before{background:linear-gradient(135deg,#41d98d,#3d6bb5);}
html[data-style="aurora"] .trek-box{border:1px solid var(--border);border-left:5px solid var(--secondary);background:linear-gradient(135deg,#eaf1ff,#f0f8f6);}
html[data-style="aurora"] .check-item{border:1px solid var(--border);border-radius:12px;}
html[data-style="aurora"] .btn{border:1px solid var(--border);background:var(--card);color:var(--text);box-shadow:0 2px 6px rgba(42,53,80,.06);font-weight:600;}
html[data-style="aurora"] .btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(42,53,80,.12);}
html[data-style="aurora"] .btn-blue{background:linear-gradient(135deg,#1d3a6e,#4c7fd0);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(61,107,181,.3);}
html[data-style="aurora"] .btn-red{background:var(--danger);color:#fff;border-color:transparent;}
html[data-style="aurora"] .tips-nav-btn{border:1px solid var(--border);background:var(--card);color:var(--text-light);box-shadow:none;}
html[data-style="aurora"] .tips-nav-btn:hover{border-color:var(--primary);color:var(--primary);}
html[data-style="aurora"] .tip-card{border:1px solid var(--border);border-radius:16px;}
html[data-style="aurora"] .tips-table th,html[data-style="aurora"] .visa-table th{background:linear-gradient(135deg,#1d3a6e,#4c7fd0);}
html[data-style="aurora"] .visit-btn.visited{background:var(--visited-bg);}
html[data-style="aurora"] .sticky-bar{background:var(--sticky-bg);border-top:1px solid var(--border);}

@media print{
  :root,html[data-style="aurora"],html[data-theme="dark"],html[data-style="aurora"][data-theme="dark"]{
    --bg:#fff;--card:#fff;--primary:#6a9a4e;--secondary:#6fa8c9;--danger:#d4704f;
    --text:#000;--text-light:#555;--border:#ccc;--shadow:none;--ink:#333;
  }
  .tabs,.sticky-bar,.filter-btns,.btn,#citySearch,#themeToggle,input,select,.visit-btn,.hero-bg,.cloud{display:none!important;}
  .section{display:block!important;page-break-inside:avoid;}
  .card,.city-detail{box-shadow:none;border:1px solid #ccc;}
  .hero{min-height:0;padding:10px;}
  .hero::before{display:none;}
  .region-title{color:#000;text-shadow:none;filter:none;background:#eee!important;padding:8px;border:none;}
  body{background:#fff;color:#000;padding-bottom:0;}
}
