/* =====================================================================
   Yukeshceo tools — Sky over Nepal · Founder Altitude · Nepal Pulse
   ===================================================================== */
.tool{padding-bottom:110px}
.tool-sec{margin-top:110px}
.tool-credit{margin-top:70px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--ink-3);max-width:90ch}
.tool-credit a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.f-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:6px 0 10px}
.f-select,.sky-select select{width:100%;appearance:none;-webkit-appearance:none;border:0;border-bottom:1px solid var(--line-2);background:transparent;color:var(--ink);
  font-family:var(--font-body);font-weight:600;font-size:17px;padding:10px 26px 10px 0;border-radius:0;outline:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(-45deg,transparent 50%,var(--ink-2) 50%);
  background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.f-select:focus,.sky-select select:focus{border-color:var(--sun)}
.f-select option,.sky-select option{background:var(--surface-2);color:var(--ink)}
.btns canvas+.btns{margin-top:16px}

/* ---------- Sky ---------- */
.sky-lead{font-family:var(--font-serif);font-style:italic;font-size:clamp(20px,2.2vw,28px);line-height:1.35;color:var(--ink);max-width:52ch;margin:0 0 34px}
.sky-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-bottom:34px;padding:14px 0;border-block:1px solid var(--line)}
.sky-select{min-width:220px}
.sky-select select{font-family:var(--font-display);font-size:20px;letter-spacing:-.02em;border:0}
.sky-bar .btn-sun{margin-left:auto}
.sky-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:28px;align-items:start}
.sky-dome{margin:0;border-radius:var(--r-lg);border:1px solid var(--line-2);background:radial-gradient(circle at 50% 40%,var(--glow),transparent 70%),var(--surface);padding:22px}
.dome-wrap{position:relative}
.dome-wrap canvas{display:block;width:100%;touch-action:pan-y}
.sky-tip{position:absolute;transform:translate(-50%,calc(-100% - 14px));padding:6px 10px;border-radius:8px;background:var(--ink);color:var(--bg);font-family:var(--font-mono);font-size:11px;white-space:nowrap;pointer-events:none}
.dome-ctl{display:flex;align-items:center;gap:14px;margin-top:14px}
.dome-ctl input[type=range]{flex:1;accent-color:var(--sun)}
.dome-time{font-family:var(--font-mono);font-size:12px;color:var(--ink);margin:12px 0 4px}
.dome-hint{font-size:13px;color:var(--ink-3);margin:0}
.sky-cards{display:flex;flex-direction:column;gap:18px}
.sk-card{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);padding:24px 24px 14px}
.sk-card h3{font-size:24px;letter-spacing:-.04em;margin:10px 0 8px}
.sk-big{font-family:var(--font-serif);font-style:italic;font-size:22px;color:var(--ink-2);margin:0 0 10px}
.sk-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px dashed var(--line-2);font-size:14px}
.sk-row span{color:var(--ink-3);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding-top:2px}
.sk-row b{font-weight:700;text-align:right}
.sk-moon{display:flex;gap:18px;align-items:center;margin-bottom:6px}
.sk-moon canvas{width:84px;height:84px;flex:0 0 auto;border-radius:50%;box-shadow:0 0 40px -6px rgba(244,241,230,.35)}
.sk-moon h3{margin:6px 0 2px}
.sk-moon .sk-big{margin:0;font-size:18px}
.sk-note{color:var(--ink-2);font-size:15px;max-width:70ch}
.planet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.planet{display:flex;gap:16px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);padding:20px}
.planet.none{opacity:.55}
.pl-dot{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,var(--pc) 45%,color-mix(in srgb,var(--pc) 40%,#000));box-shadow:0 0 22px -2px var(--pc)}
.planet h3{font-size:19px;letter-spacing:-.03em;margin:2px 0 4px}
.pl-status{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px}
.planet.good .pl-status{color:var(--sun)}
.pl-best{font-size:14px;color:var(--ink-2);margin:0 0 10px}
.pl-best b{color:var(--ink)}
.pl-meta{display:flex;flex-wrap:wrap;gap:6px}
.pl-meta span{font-family:var(--font-mono);font-size:10.5px;padding:4px 8px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2)}
.pl-meta .hot{border-color:var(--sun);color:var(--sun)}
.iss-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.iss-pass{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);padding:20px}
.iss-pass.great{border-color:var(--sun);background:linear-gradient(160deg,var(--hi),transparent 60%),var(--surface)}
.iss-pass h3{font-size:28px;letter-spacing:-.04em;margin:8px 0 8px}
.iss-pass p{font-size:14px;color:var(--ink-2);margin:0 0 12px}
.iss-pass p b{color:var(--ink)}
.ev-list{border-top:1px solid var(--line-2)}
.ev{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.ev time{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.03em;line-height:1.1}
.ev time small{display:block;font-family:var(--font-mono);font-weight:400;font-size:11px;color:var(--ink-3);margin-top:4px}
.ev h3{font-size:19px;margin:6px 0 4px;letter-spacing:-.03em}
.ev p{margin:0;color:var(--ink-2);font-size:14.5px}
.ev.hi h3{color:var(--sun)}
.born-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:start}
.born-form h2{display:none}
.born-out canvas,.alt-preview canvas,.pulse-share canvas{display:block;width:100%;height:auto;border-radius:18px;border:1px solid var(--line-2);box-shadow:var(--shadow);background:#05060f}
.born-out .btns,.alt-preview .btns,.pulse-share .btns{margin-top:16px}
.city-links{display:flex;flex-wrap:wrap;gap:8px}
.city-links a{display:inline-flex;align-items:baseline;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:14px;font-weight:600;transition:all .25s}
.city-links a small{font-family:var(--font-mono);font-weight:400;font-size:10px;color:var(--ink-3)}
.city-links a:hover{border-color:var(--sun);color:var(--sun)}
.city-links a[aria-current]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.city-links a[aria-current] small{color:var(--bg);opacity:.6}
@media(max-width:960px){.sky-grid,.born-grid{grid-template-columns:1fr}.sky-bar .btn-sun{margin-left:0}}
@media(max-width:560px){.sky-dome{padding:12px}.ev{grid-template-columns:1fr;gap:6px}}

/* ---------- Altitude ---------- */
.alt-tool{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}
.alt-form h2{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.04em;margin:0 0 24px}
.alt-rows{display:flex;flex-direction:column;gap:8px}
.alt-row{display:grid;grid-template-columns:86px 74px minmax(0,1fr) 32px;gap:8px;align-items:center}
.alt-camp{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--sun)}
.alt-row input{width:100%;border:0;border-bottom:1px solid var(--line-2);background:transparent;color:var(--ink);font-family:var(--font-body);font-weight:600;font-size:15px;padding:9px 0;outline:none;border-radius:0}
.alt-row input:focus{border-color:var(--sun)}
.alt-x{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--ink-3);cursor:pointer;font-size:16px;line-height:1}
.alt-x:hover{color:var(--sun);border-color:var(--sun)}
.alt-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px}
.alt-preview{position:sticky;top:100px}
@media(max-width:960px){.alt-tool{grid-template-columns:1fr}.alt-preview{position:static}}
@media(max-width:480px){.alt-row{grid-template-columns:64px minmax(0,1fr) 30px}.alt-camp{display:none}.alt-row .alt-y{grid-column:1}}

/* ---------- Pulse ---------- */
.pulse-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;border:1px solid var(--line-2);margin-bottom:34px}
.pulse-tabs a{padding:9px 16px;border-radius:999px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);transition:all .25s}
.pulse-tabs a:hover{color:var(--ink)}
.pulse-tabs a[aria-current]{background:var(--ink);color:var(--bg)}
.pulse-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:30px;align-items:start}
.pulse-top .tag{margin:0 0 14px}
.pulse-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.pulse-list li{display:grid;grid-template-columns:48px minmax(0,1fr) 110px 90px;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.pr{font-family:var(--font-display);font-weight:600;font-size:26px;letter-spacing:-.04em;color:var(--ink-3)}
.pulse-list li:nth-child(-n+3) .pr{color:var(--sun)}
.pk a{display:block;font-weight:700;font-size:18px;line-height:1.3;overflow-wrap:anywhere}
.pk a:hover{color:var(--sun)}
.pk small{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-3);margin-top:4px;text-transform:uppercase}
.surge{color:var(--sun);font-weight:500}
.spark{width:100%;height:30px;overflow:visible}
.spark polyline{fill:none;stroke:var(--sun);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.gr{justify-self:end;font-family:var(--font-mono);font-size:12px;color:var(--ink-3);white-space:nowrap}
.gr.up{color:var(--sun)}
.gr.new{color:var(--sky);border:1px solid currentColor;border-radius:999px;padding:3px 8px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.pulse-side{display:flex;flex-direction:column;gap:18px}
.climb{list-style:none;margin:10px 0 6px;padding:0}
.climb li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px dashed var(--line-2);font-weight:700;font-size:15px}
.climb a:hover{color:var(--sun)}
.cat-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;margin:14px 0 14px;background:var(--line)}
.cat-bar i{display:block;height:100%}
.cat-legend{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.cat-legend li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2)}
.cat-legend b{margin-left:auto;color:var(--ink);font-family:var(--font-mono);font-weight:500;font-size:12px}
.cat-legend span{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.c0{background:var(--sun)}.c1{background:var(--sky)}.c2{background:var(--sun-2)}.c3{background:#ff8a3d}.c4{background:#b06ef0}.c5{background:#e9578f}.c6{background:var(--ink-2)}.c7{background:var(--ink-3)}
@media(max-width:960px){.pulse-grid{grid-template-columns:1fr}}
@media(max-width:560px){.pulse-list li{grid-template-columns:36px minmax(0,1fr) auto}.pulse-list .spark{display:none}}

/* maker's note + city at-a-glance */
.maker{display:flex;gap:14px;align-items:flex-start;max-width:760px;margin:-10px 0 30px;padding:14px 18px;border:1px solid var(--line);border-left:3px solid var(--sun);border-radius:14px;background:var(--surface)}
.maker img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:1px solid var(--line-2);background:var(--surface-2)}
.maker p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.6}
.maker b{color:var(--ink)}
.maker a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--sun);text-underline-offset:3px}
.glance-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.glance-grid div{padding:18px 16px 18px 0}
.glance-grid div+div{padding-left:16px;border-left:1px solid var(--line)}
.glance-grid dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.glance-grid dd{margin:6px 0 0;font-family:var(--font-display);font-size:clamp(17px,1.8vw,24px);letter-spacing:-.03em}
.glance-notes{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}
.glance-notes h3{font-family:var(--font-display);font-size:18px;letter-spacing:-.02em;margin:0 0 8px}
.glance-notes p{margin:0;color:var(--ink-2);font-size:15.5px;max-width:60ch}
@media(max-width:900px){.glance-grid{grid-template-columns:repeat(3,1fr)}.glance-grid div:nth-child(4){border-left:0;padding-left:0}.glance-grid div:nth-child(n+4){border-top:1px solid var(--line)}.glance-notes{grid-template-columns:1fr}}
@media(max-width:480px){.glance-grid{grid-template-columns:1fr 1fr}.glance-grid div{border-left:0!important;padding-left:0!important;border-top:1px solid var(--line)}}
