:root{--accent:#e75480;--card-bg:rgba(255,255,255,0.88);--header-bg:rgba(255,255,255,0.65);}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;min-height:100vh;font-family:"Noto Sans TC","Hiragino Sans","PingFang TC",sans-serif;color:#222;background-size:cover;background-position:center;background-attachment:fixed;transition:background 0.8s ease;}
body.season-spring{background-image:linear-gradient(180deg,#fff0f5 0%,#ffd9e6 45%,#ffc2d6 100%);--accent:#e75480;}
body.season-summer{background-image:linear-gradient(180deg,#eafaf0 0%,#c3ecd0 45%,#8fd6a0 100%);--accent:#2f9e44;}
body.season-autumn{background-image:linear-gradient(180deg,#fff3e0 0%,#ffd39c 45%,#e8752c 100%);--accent:#c1440e;}
body.season-winter{background-image:linear-gradient(180deg,#eef7ff 0%,#d3ecff 45%,#a3cfe8 100%);--accent:#2166ac;}
header{position:sticky;top:0;z-index:10;backdrop-filter:blur(10px);background:var(--header-bg);display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid rgba(0,0,0,0.08);flex-wrap:wrap;}
header .logo{font-weight:700;font-size:1.15rem;color:var(--accent);text-decoration:none;}
header nav a{margin-left:16px;color:#333;text-decoration:none;font-size:0.92rem;}
header nav a:hover{color:var(--accent);}
main{max-width:980px;margin:0 auto;padding:32px 20px 80px;}
.card{background:var(--card-bg);border-radius:14px;padding:24px;margin-bottom:24px;box-shadow:0 4px 20px rgba(0,0,0,0.08);}
h1,h2,h3{color:#222;}
h1{color:var(--accent);}
.hero{text-align:center;padding:60px 20px 40px;}
.hero h1{font-size:2.3rem;margin-bottom:10px;}
.hero p{font-size:1.08rem;color:#333;max-width:640px;margin:0 auto;}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.tool-card{background:var(--card-bg);border-radius:14px;padding:20px;box-shadow:0 4px 16px rgba(0,0,0,0.08);text-decoration:none;color:#222;display:block;transition:transform .2s;}
.tool-card:hover{transform:translateY(-4px);}
.tool-card .icon{font-size:1.8rem;}
.tool-card h3{margin:8px 0 4px;}
.tool-card p{margin:0;font-size:.88rem;color:#555;}
footer{text-align:center;padding:26px;color:#444;font-size:.83rem;}
table{width:100%;border-collapse:collapse;margin-top:12px;}
th,td{padding:8px 10px;border-bottom:1px solid rgba(0,0,0,0.1);text-align:left;font-size:.9rem;}
label{display:block;margin:12px 0 4px;font-weight:600;font-size:.88rem;}
input[type=number],select{width:100%;padding:9px 10px;border-radius:8px;border:1px solid #ccc;font-size:.95rem;background:#fff;}
.checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;margin-top:8px;}
.checkgrid label{display:flex;align-items:center;gap:6px;font-weight:400;margin:0;}
button.primary{background:var(--accent);color:#fff;border:none;padding:11px 24px;border-radius:24px;font-size:1rem;cursor:pointer;margin-top:16px;}
button.primary:hover{opacity:.9;}
.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.72rem;color:#fff;background:var(--accent);}
.result-highlight{font-size:1.35rem;font-weight:700;color:var(--accent);}
.timeline-item{border-left:3px solid var(--accent);padding-left:16px;margin-bottom:22px;}
.timeline-item h3{margin:0 0 4px;}
.anchor-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;}
.anchor-nav a{background:var(--card-bg);padding:6px 14px;border-radius:16px;text-decoration:none;color:#333;font-size:.85rem;}
.disclaimer{font-size:.78rem;color:#666;margin-top:10px;}

.pref-block{margin-bottom:20px;}
.pref-block h3{margin-bottom:6px;font-size:1.05rem;}
.peak-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.72rem;color:#fff;background:var(--accent);margin-left:8px;vertical-align:middle;}
.spot-list{list-style:none;padding:0;margin:0;}
.spot-list li{padding:7px 0;border-bottom:1px solid rgba(0,0,0,0.08);font-size:.88rem;}
.spot-list a{color:var(--accent);text-decoration:none;font-weight:600;}
.spot-list a:hover{text-decoration:underline;}

.region-block{margin-bottom:26px;}
.region-block h2{margin-bottom:10px;font-size:1.15rem;border-bottom:2px solid var(--accent);padding-bottom:6px;}
.pref-summary-list{list-style:none;padding:0;margin:0;}
.pref-summary-list li{padding:8px 0;border-bottom:1px solid rgba(0,0,0,0.08);font-size:.9rem;}
.status-tag{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.72rem;color:#333;background:rgba(0,0,0,0.08);margin-left:6px;}
