/* Himalayan Lighthouse. Every theme is a whole look: page, cards, text, accent and the mountain scene all change. */
:root,[data-theme=paper]{color-scheme:light;--bg:#f4efe6;--card:#fbf7ef;--fg:#1b1814;--mute:#655d52;--line:#ddd0b8;--acc:#1b1814;--acc-fg:#f4efe6;--link:#1a56c4;--good:#3f6212;
  --sky1:#f3cfa6;--sky2:#f6ead8;--star:transparent;--m1:#d3c2ad;--m2:#ad9a84;--m3:#6f6051;--snow:#fffaf2;--beam:#ffb347;--lamp:#e8890c}
[data-theme=night]{color-scheme:dark;--bg:#0b0c10;--card:#151821;--fg:#eef0f4;--mute:#a3a9b4;--line:#262a35;--acc:#f2c14e;--acc-fg:#0b0c10;--link:#7fb0ff;--good:#4ade80;
  --sky1:#05070f;--sky2:#1b2545;--star:#dfe7ff;--m1:#2b3760;--m2:#1c2544;--m3:#0f1528;--snow:#dfe7ff;--beam:#ffe9a8;--lamp:#ffd76a}
[data-theme=blush]{color-scheme:light;--bg:#fdeef4;--card:#fff8fb;--fg:#4a1d31;--mute:#8a4f68;--line:#f6cfe0;--acc:#d14f81;--acc-fg:#fff;--link:#b02e68;--good:#2f855a;
  --sky1:#f7bcd4;--sky2:#fde6ef;--star:transparent;--m1:#ebb0c9;--m2:#d786ab;--m3:#a9557e;--snow:#fff;--beam:#ff9ec1;--lamp:#ff6fa3}
[data-theme=forest]{color-scheme:dark;--bg:#0f2a1f;--card:#173a2c;--fg:#ecf3e6;--mute:#a9c2b2;--line:#24503d;--acc:#e0c173;--acc-fg:#0f2a1f;--link:#9fd6b4;--good:#86efac;
  --sky1:#06170f;--sky2:#15432f;--star:#e8f5ec;--m1:#226247;--m2:#184a35;--m3:#0b281c;--snow:#e8f5ec;--beam:#f6e7a8;--lamp:#f0d27a}
[data-theme=ocean]{color-scheme:light;--bg:#e5effb;--card:#f4f8fe;--fg:#0b1f3d;--mute:#465f84;--line:#c6d8ef;--acc:#1d5bd6;--acc-fg:#fff;--link:#1d5bd6;--good:#15803d;
  --sky1:#a9c9f2;--sky2:#deebfb;--star:transparent;--m1:#a3bde0;--m2:#7198cd;--m3:#3c5f96;--snow:#fff;--beam:#ffc65c;--lamp:#ff9f1a}
[data-theme=clay]{color-scheme:dark;--bg:#873720;--card:#96412a;--fg:#fff4ea;--mute:#fde3d4;--line:#a9543b;--acc:#fff4ea;--acc-fg:#873720;--link:#ffd9a8;--good:#d9f99d;
  --sky1:#571d0f;--sky2:#a44b30;--star:#ffe9d6;--m1:#b86443;--m2:#8f3f26;--m3:#5a2313;--snow:#ffe9d6;--beam:#ffe2a6;--lamp:#ffd27a}
@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#0b0c10;--card:#151821;--fg:#eef0f4;--mute:#a3a9b4;--line:#262a35;--acc:#f2c14e;--acc-fg:#0b0c10;--link:#7fb0ff;--good:#4ade80;
  --sky1:#05070f;--sky2:#1b2545;--star:#dfe7ff;--m1:#2b3760;--m2:#1c2544;--m3:#0f1528;--snow:#dfe7ff;--beam:#ffe9a8;--lamp:#ffd76a}}

*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari","Noto Sans Arabic","PingFang SC","Microsoft YaHei",Arial,sans-serif;padding-bottom:44px}
a{color:inherit}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.wrap{max-width:880px;margin:0 auto;padding:0 16px;overflow-wrap:break-word}
.lk{color:var(--link);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.mute{color:var(--mute)}.hide{display:none!important}

header.top{display:flex;align-items:center;gap:14px;padding:14px 0;position:sticky;top:0;z-index:40;background:var(--bg)}
.logo{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;margin-inline-end:auto}
.logo svg{flex:none}
/* controls: no text padding, no margins - size from the line, space from the parent's gap */
select,button{font:inherit;color:inherit}
select{background:transparent;border:0;padding:0;margin:0;font-weight:600;cursor:pointer;max-width:42vw}
select option{background:var(--card);color:var(--fg)}
button.plain{background:none;border:0;padding:0;margin:0;font-weight:600;cursor:pointer;color:var(--fg)}
@media (max-width:560px){header.top{flex-wrap:wrap;row-gap:6px}.logo{flex-basis:100%}}

.scene{display:block;width:100%;height:auto;border-radius:18px;background:var(--sky2)}
.scene .beam{transform-box:view-box;transform-origin:562px 62px;animation:sweep 9s cubic-bezier(.37,0,.63,1) infinite alternate}
.scene .glow{animation:pulse 4.5s ease-in-out infinite}
.scene .dot{animation:twinkle 5s ease-in-out infinite}
@keyframes sweep{from{transform:scaleX(1)}to{transform:scaleX(-1)}}
@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.scene .beam,.scene .glow,.scene .dot{animation:none}}

.hero{padding:18px 0 8px;text-align:center}
h1,h2{white-space:nowrap;overflow:hidden;margin:0}
h1{font-size:min(54px,calc((min(100vw,880px) - 32px)/var(--fit,18)));line-height:1.12;letter-spacing:-.03em;margin:22px 0 10px}
.hero p{color:var(--mute);margin:0 auto;max-width:640px;font-size:17px}
h2{font-size:min(22px,calc((min(100vw,880px) - 32px)/var(--fit2,14)));letter-spacing:-.01em;margin:38px 0 12px}

.nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:26px 0 0;padding:0;list-style:none}
.nums li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 10px;text-align:center;min-width:0}
.nums b{display:block;font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.nums span{display:block;color:var(--mute);font-size:12.5px;line-height:1.3;margin-top:4px}
.nums b.up{color:var(--good);transition:color .3s}
@media (max-width:640px){.nums{grid-template-columns:repeat(2,minmax(0,1fr))}.nums li:last-child{grid-column:1/-1}}

.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 0;padding:0;list-style:none;counter-reset:how}
.how li{border-top:2px solid var(--fg);padding-top:8px;color:var(--mute);font-size:14.5px;counter-increment:how}
.how li::before{content:counter(how);display:block;color:var(--fg);font-weight:700}
@media (max-width:640px){.how{grid-template-columns:1fr}}

ol.now{list-style:none;margin:0;padding:0}
ol.now li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:baseline;padding:9px 0;border-top:1px solid var(--line)}
ol.now time{color:var(--mute);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
ol.now .to{color:var(--mute);font-size:13px;text-decoration:none;white-space:nowrap;max-width:34vw;overflow:hidden;text-overflow:ellipsis}
ol.now .to:hover{color:var(--fg);text-decoration:underline}
ol.now li.in{animation:in .6s ease-out}@keyframes in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (max-width:560px){ol.now li{grid-template-columns:minmax(0,1fr)}ol.now .to{max-width:none}}
.cap:not(.open)>:nth-child(n+11){display:none}
.empty{color:var(--mute);border-top:1px solid var(--line);padding:12px 0;margin:0}
.more{display:block;padding-top:8px;font-size:14px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;min-width:0;transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--acc)}.card:active{transform:scale(.99)}
.card b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card i{display:block;font-style:normal;color:var(--mute);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.site h1{white-space:normal;font-size:clamp(28px,6vw,44px);text-align:start;margin:26px 0 10px}
.site .lead{font-size:17px;margin:0 0 16px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--acc);color:var(--acc-fg);border-radius:12px;padding:10px 16px;font-weight:700;text-decoration:none;line-height:1.2}
ul.facts{list-style:none;margin:18px 0 0;padding:0}
ul.facts li{display:flex;gap:10px;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding:9px 0}
ul.facts li>span:first-child{color:var(--mute);flex:none}
ul.facts li>:last-child{text-align:end;min-width:0}

footer{border-top:1px solid var(--line);margin-top:56px;padding:18px 0 26px;color:var(--mute);font-size:13.5px;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}
footer nav{display:flex;flex-wrap:wrap;gap:4px 16px}footer a{text-decoration:none}footer a:hover{text-decoration:underline}
@media (max-width:560px){footer{flex-direction:column;align-items:center;text-align:center}footer nav{justify-content:center}}

.hint{margin:0 0 6px;font-size:14px;color:var(--mute);text-align:center}
.bbar{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:50;background:var(--bg);display:flex;align-items:baseline;white-space:nowrap;max-width:100vw;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
.bbar a{color:var(--fg);font-weight:600;font-size:clamp(12px,3.8vw,15px);text-decoration:none}
.bbar a:not(.hide)~a:not(.hide)::before{content:"·";display:inline-block;margin:0 .6em;color:var(--mute)}
.bbar a:hover{text-decoration:underline}
@media (display-mode:standalone){.install{display:none!important}}
dialog.sheet{border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--fg);max-width:min(360px,92vw);padding:20px}
dialog.sheet::backdrop{background:rgba(0,0,0,.45)}dialog.sheet h3{margin:0 0 8px}dialog.sheet p{margin:0 0 14px;color:var(--mute)}
.sitepage ol.now .to{display:none}
