/* Forecast and live views are separate: each answers a different travel question. */
.home-page .home-fuji-planner .fuji-planner-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:24px; align-items:stretch; }
.home-page .home-fuji-planner .home-fuji-vis__head { margin-bottom:24px; }
.home-page .home-fuji-planner .home-fuji-vis__head p { max-width:720px; line-height:1.6; margin-top:10px; }
.fuji-outlook,.fuji-camera { min-width:0; padding:24px; border:1px solid #e2eae5; border-radius:20px; background:#fff; box-shadow:0 8px 30px rgb(15 23 42 / 4%); }
.fuji-outlook { display:flex; flex-direction:column; border-top:3px solid var(--brand-primary,#00D233); }
.fuji-outlook__top { display:flex; justify-content:space-between; gap:12px; align-items:center; font-size:11px; font-weight:700; color:#64748b; letter-spacing:.03em; }
.fuji-outlook__top>span { display:flex; align-items:center; gap:6px; }
.fuji-outlook__top .material-symbols-outlined { font-size:20px; color:var(--brand-primary,#00D233); }
.fuji-outlook__top>b { white-space:nowrap; padding:5px 9px; background:#f3f6f5; border-radius:6px; color:#334155; letter-spacing:normal; }
.fuji-outlook__summary { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:center; gap:20px; margin:24px 0; }
.fuji-outlook__score { display:flex; width:112px; height:112px; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:radial-gradient(closest-side,#fff 84%,transparent 85%),conic-gradient(var(--brand-primary,#00D233) calc(var(--score)*1%),#edf2ef 0); }
.fuji-outlook__score strong { color:#0f172a; font-size:34px; font-weight:750; line-height:1.15; letter-spacing:-.04em; }
.fuji-outlook__score strong small { font-size:16px; margin-left:2px; }
.fuji-outlook__score>span { font-size:10px; color:#64748b; margin-top:5px; }
.fuji-outlook__tier { display:inline-flex; padding:4px 9px; border-radius:6px; background:var(--brand-primary-soft,#E5FBEB); color:#166534; font-size:12px; font-weight:650; }
.fuji-outlook__tier--medium { background:#fff7df; color:#854d0e; }
.fuji-outlook__tier--poor { background:#f1f5f9; color:#475569; }
.fuji-outlook h3 { margin:10px 0 6px; color:#0f172a; font-size:21px; font-weight:750; line-height:1.4; letter-spacing:-.02em; }
.fuji-outlook p { color:#64748b; font-size:13px; line-height:1.6; }
.fuji-outlook__recommendation { display:grid; grid-template-columns:1fr 1.2fr; gap:16px; padding:16px; border-radius:12px; background:#f6faf7; border:1px solid #e5efe7; }
.fuji-outlook__recommendation>div { display:flex; gap:9px; min-width:0; }
.fuji-outlook__recommendation .material-symbols-outlined { color:var(--brand-primary,#00D233); font-size:21px; }
.fuji-outlook__recommendation small { display:block; color:#64748b; font-size:11px; margin-bottom:5px; }
.fuji-outlook__recommendation strong { display:block; color:#1e293b; font-size:14px; font-weight:650; line-height:1.4; }
.fuji-outlook__periods { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.fuji-outlook__periods>div>span:first-child { display:flex; gap:6px; align-items:center; color:#475569; font-size:12px; }
.fuji-outlook__periods .material-symbols-outlined { font-size:18px; color:#64748b; }
.fuji-outlook__periods b { margin-left:auto; font-size:14px; color:#0f172a; }
.fuji-outlook__bar { display:block; height:5px; overflow:hidden; border-radius:9px; background:#edf2ef; margin-top:9px; }
.fuji-outlook__bar i { display:block; height:100%; border-radius:9px; background:var(--brand-primary,#00D233); }
.fuji-outlook p.fuji-outlook__source { margin:14px 0 18px; font-size:10px; color:#64748b; }
.fuji-outlook__cta { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; margin-top:auto; border-radius:10px; background:var(--brand-primary,#00D233); color:#fff; font-size:14px; font-weight:650; }
.fuji-outlook__cta:hover { background:var(--brand-primary-hover,#00B82C); }
.fuji-outlook__cta .material-symbols-outlined { font-size:18px; }
.fuji-camera header>div { display:flex; align-items:center; gap:8px; }
.fuji-camera header h3 { margin:0; font-size:18px; font-weight:700; color:#0f172a; }
.fuji-camera header p { margin:7px 0 18px; font-size:13px; color:#64748b; line-height:1.5; }
.fuji-camera__dot { width:8px; height:8px; border-radius:50%; background:#ef4444; }
.home-page .home-fuji-planner .home-fuji-vis__regions { display:flex; gap:6px; margin:0 0 16px; flex-wrap:wrap; }
.home-page .home-fuji-planner .home-fuji-vis__region { min-height:40px; padding:8px 14px; border:1px solid #e2e8f0; border-radius:8px; background:#fff; color:#475569; font-size:13px; font-weight:600; }
.home-page .home-fuji-planner .home-fuji-vis__region.is-active { background:var(--brand-primary-soft,#E5FBEB); border-color:var(--brand-primary,#00D233); color:#166534; }
.home-page .home-fuji-planner .home-fuji-teaser__media { display:block; position:relative; width:100%; height:auto; min-height:0; max-height:none; aspect-ratio:16/9; overflow:hidden; border-radius:12px; background-size:cover; background-position:center; }
.home-page .home-fuji-planner .home-fuji-teaser__media::after { display:none; }
.home-page .home-fuji-planner .home-fuji-teaser__media>img { width:100%; height:100%; object-fit:cover; }
.home-page .home-fuji-planner .home-fuji-teaser__stream { position:absolute; inset:0; }
.home-page .home-fuji-planner .home-fuji-teaser__stream :is(iframe,img) { width:100%; height:100%; border:0; }
.home-page .home-fuji-planner .home-fuji-teaser__live-badge { position:absolute; top:10px; left:10px; z-index:1; pointer-events:none; font-size:10px; }
.fuji-camera__location { display:flex; align-items:flex-start; gap:7px; margin:14px 0 0; color:#64748b; font-size:12px; line-height:1.5; }
.fuji-camera__location .material-symbols-outlined { flex-shrink:0; color:var(--brand-primary,#00D233); font-size:18px; }
.home-fuji-planner :is(a,button):focus-visible { outline:2px solid #166534; outline-offset:3px; }
@media(max-width:900px) { .home-page .home-fuji-planner .fuji-planner-grid { grid-template-columns:1fr; gap:16px; } }
@media(max-width:520px) {
    .fuji-outlook,.fuji-camera { padding:18px; border-radius:16px; }
    .fuji-outlook__summary { grid-template-columns:88px minmax(0,1fr); gap:14px; margin:20px 0; }
    .fuji-outlook__score { width:88px; height:88px; }
    .fuji-outlook__score strong { font-size:28px; }
    .fuji-outlook__score>span { font-size:9px; }
    .fuji-outlook h3 { font-size:18px; }
    .fuji-outlook__recommendation { padding:12px; gap:10px; }
    .fuji-outlook__recommendation>div { gap:6px; }
    .fuji-outlook__top { flex-wrap:wrap; }
    .fuji-outlook__periods { gap:16px; }
}
