.kailash { --k-paper:#e7e2d7; --k-muted:#a8b2b0; --k-gold:#cbb88c; margin-top:90px; padding-top:36px; border-top:1px solid #515851; color:var(--k-paper); scroll-margin-top:24px; }
.kailash * { box-sizing:border-box; }
.kailash:focus { outline:none; }
.kailash .k-eyebrow { margin:0 0 25px; color:var(--k-gold); font-size:10px; letter-spacing:.22em; line-height:1.8; }
.k-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:50px; align-items:end; margin:35px 0 44px; }
.k-intro h1 { font-size:clamp(36px,4.2vw,64px); line-height:1.25; letter-spacing:.025em; font-weight:500; margin:0; font-family:Georgia,'Noto Serif TC','Microsoft JhengHei',serif; }
.k-intro>p { margin:0; color:var(--k-muted); font-size:14px; line-height:2.1; max-width:430px; }
.k-player { background:#101716; border:1px solid #38413b; overflow:hidden; }
.k-stage { position:relative; aspect-ratio:16/9; overflow:hidden; background:#151d20; isolation:isolate; touch-action:pan-y; }
.k-frame { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; transition:opacity 1.2s ease; }
.k-frame.is-active { opacity:1; }
.k-stage::after { content:''; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,#080e128c); pointer-events:none; }
.k-stage-tag { position:absolute; z-index:2; left:24px; top:22px; font-size:10px; letter-spacing:.18em; color:#fff; text-shadow:0 1px 8px #000; }
.k-stage-count { position:absolute; z-index:2; right:24px; top:22px; font-size:11px; font-variant-numeric:tabular-nums; color:#fff; text-shadow:0 1px 8px #000; }
.k-start { position:absolute; z-index:3; left:50%; top:50%; transform:translate(-50%,-50%); border:1px solid #fff7; background:#102122ad; backdrop-filter:blur(8px); color:#fff; padding:18px 25px; font-size:13px!important; display:flex; align-items:center; gap:18px; white-space:nowrap; }
.k-start:hover { background:#283d37de; }
.k-stage-title { position:absolute; z-index:2; bottom:28px; left:32px; right:32px; margin:0; font-family:Georgia,'Microsoft JhengHei',serif; font-size:clamp(20px,2.8vw,38px); letter-spacing:.12em; text-shadow:0 2px 12px #0008; font-weight:400; }
.k-progress { height:2px; background:#37423c; }
.k-progress>span { height:100%; display:block; background:var(--k-gold); width:0; }
.k-toolbar { display:flex; align-items:center; gap:10px; padding:15px 22px; border-bottom:1px solid #333e38; flex-wrap:wrap; }
.kailash button { color:var(--k-paper); }
.k-control { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:9px 13px; border:1px solid #4b574c; background:transparent; font-size:12px!important; }
.k-control:hover { background:#303f35; border-color:var(--k-gold); }
.k-control[aria-pressed=true] { color:var(--k-gold); border-color:var(--k-gold); }
.k-time { font-size:11px; color:var(--k-muted); font-variant-numeric:tabular-nums; margin-left:9px; }
.k-full { margin-left:auto; }
.k-caption { min-height:110px; padding:22px 25px; display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.k-caption p { margin:0; line-height:1.9; font-size:14px; }
.k-caption small { color:var(--k-muted); font-size:10px; line-height:1.8; flex-shrink:0; padding-top:4px; }
.k-credit { margin:-12px 25px 20px; color:var(--k-muted); font-size:10px; line-height:1.8; }
.k-credit a,.k-sources a { text-decoration:underline; text-underline-offset:3px; }
.k-sources { max-width:700px; margin:0 auto 36px; color:var(--k-muted); font-size:11px; line-height:1.9; }
.k-sources summary { cursor:pointer; padding:12px 0; }
.k-sources ul { padding-left:20px; }
.k-sources li { margin:12px 0; overflow-wrap:anywhere; }
.k-sources small { display:block; }
.k-chapters { display:flex; gap:8px; overflow-x:auto; padding:20px 0 12px; scrollbar-width:thin; scrollbar-color:#657468 transparent; }
.k-chapter { flex-shrink:0; background:transparent; border:0; border-bottom:1px solid #434c44; padding:10px 13px; font-size:11px!important; }
.k-chapter[aria-current=true] { color:var(--k-gold); border-color:var(--k-gold); }
.k-thumbs { display:flex; gap:9px; overflow-x:auto; padding:5px 0 18px; scrollbar-width:thin; scrollbar-color:#657468 transparent; }
.k-thumb { position:relative; flex:0 0 96px; padding:0; background:#17221d; border:1px solid transparent; opacity:.62; }
.k-thumb[aria-current=true] { opacity:1; outline:1px solid var(--k-gold); outline-offset:2px; }
.k-thumb img { display:block; width:96px; height:54px; object-fit:cover; }
.k-thumb span { position:absolute; bottom:3px; right:5px; font-size:9px; color:#fff; text-shadow:0 1px 3px #000; }
.k-below { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:28px; margin-top:32px; }
.k-map-panel,.k-music { min-width:0; border:1px solid #354239; background:#111914; }
.k-map-heading { padding:23px 24px 15px; }
.kailash h3 { margin:0; font-size:18px; font-weight:400; letter-spacing:.06em; }
.k-map-heading p,.k-music p { color:var(--k-muted); font-size:12px; line-height:1.9; }
.k-map-wrap { height:360px; position:relative; overflow:hidden; background:#18221e; }
.k-map { position:absolute; inset:0; }
.k-map-fallback { width:100%; height:100%; position:absolute; inset:0; }
.k-map-fallback text { fill:#c5cfc4; font:13px 'Microsoft JhengHei',sans-serif; }
.k-map-fallback .k-map-active { fill:#f0c67c; stroke:#fff1b3; stroke-width:2; }
.k-map-status { margin:0; padding:10px 22px; color:var(--k-muted); font-size:10px; line-height:1.8; }
.k-map-hint { margin:0; padding:12px 22px 0; color:#dbd6bf; font-size:12px; line-height:1.8; }
.k-map-hint kbd { font:inherit; padding:1px 5px; border:1px solid #65715e; border-radius:3px; }
.k-map-hint-touch { display:none; }
@media (hover:none) and (pointer:coarse) { .k-map-hint-desktop{display:none}.k-map-hint-touch{display:inline} }
.k-waypoints { padding:0 20px 20px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.k-map-panel>[data-k-map-retry] { margin:0 20px 20px; }
.k-waypoint { display:flex; align-items:center; gap:9px; text-align:left; border:1px solid #465548; padding:8px; min-height:64px; font-size:12px!important; background:transparent; line-height:1.5; }
.k-waypoint img { width:56px; height:42px; object-fit:cover; flex-shrink:0; }
.k-waypoint span { min-width:0; }
.k-waypoint small { display:block; margin-top:3px; font-size:11px; color:#b7c2b5; font-weight:400; }
.k-waypoint:hover { background:#ffffff08; }
@media(max-width:600px) {
  .k-waypoints { grid-template-columns:1fr; }
  .k-waypoint { gap:12px; font-size:13px!important; }
  .k-waypoint img { width:68px; height:48px; }
  .k-waypoint small { font-size:12px; }
}
.k-waypoint[aria-current=true] { color:var(--k-gold); border-color:var(--k-gold); }
.k-map-pin { color:#132119; padding:5px 7px; background:#dfd5b8; font:11px sans-serif; white-space:nowrap; border:1px solid #203d27; border-radius:3px; }
.k-map-pin.is-current { background:#ffcf73; outline:3px solid #8a6828; }
.k-music { padding:23px 20px; align-self:start; }
.k-music .k-eyebrow { margin-bottom:14px; }
.k-music h3 { font-family:Georgia,serif; font-size:25px; line-height:1.2; letter-spacing:0; }
.k-music-player { width:100%; min-height:200px; margin:20px 0 12px; background:#080f0a; display:grid; place-items:center; }
.k-music-player iframe { width:100%; height:210px; min-width:200px; border:0; }
.k-music-empty { color:#b5bba9; font-size:11px; text-align:center; padding:20px; line-height:2; }
.k-music a { display:inline-block; color:var(--k-gold); font-size:11px; text-underline-offset:4px; margin-top:12px; }
.k-music-status { min-height:46px; }
.k-ending { text-align:center; padding:85px 20px 75px; }
.k-ending .k-eyebrow { margin-bottom:24px; }
.k-ending blockquote { margin:0 auto 24px; max-width:720px; font:400 clamp(22px,2.7vw,37px)/1.8 Georgia,'Microsoft JhengHei',serif; letter-spacing:.06em; }
.k-ending>p { font-size:13px; color:var(--k-muted); line-height:2; }
.k-provenance { margin-top:35px!important; font-size:10px!important; color:#879287!important; }
.kailash:fullscreen { background:#070c0b; padding:20px; margin:0; overflow-y:auto; border:0; }
.kailash:fullscreen .k-intro,.kailash:fullscreen>.k-eyebrow,.kailash:fullscreen .k-map-panel,.kailash:fullscreen .k-ending,.kailash:fullscreen .k-thumbs { display:none; }
.kailash:fullscreen .k-below { display:block; max-width:1280px; margin:24px auto; }
.kailash:fullscreen .k-music { display:grid; grid-template-columns:1fr 280px; gap:0 24px; }
.kailash:fullscreen .k-music-player { grid-column:2; grid-row:1/6; margin:0; }
.kailash:fullscreen .k-player { max-width:1280px; margin:auto; }
.kailash:fullscreen .k-stage { max-height:72vh; }
.kailash:fullscreen .k-chapters { justify-content:center; }
@media(max-width:900px) { .k-intro{grid-template-columns:1fr;gap:25px}.k-below{grid-template-columns:1fr}.k-music{display:grid;grid-template-columns:1fr 280px;gap:0 28px}.k-music-player{grid-column:2;grid-row:1/6;margin:0}.k-music-status{grid-column:1} }
@media(max-width:600px) { .kailash{margin-top:60px}.k-intro{margin:20px 0 30px}.k-intro>p{font-size:13px}.k-stage-tag{left:12px;top:12px;font-size:8px}.k-stage-count{right:12px;top:12px;font-size:9px}.k-stage-title{left:16px;bottom:16px;font-size:21px}.k-start{padding:12px 17px;font-size:11px!important;gap:10px}.k-toolbar{padding:9px;gap:5px}.k-control{padding:8px;font-size:10px!important}.k-time{margin-left:2px;font-size:9px}.k-caption{padding:16px;min-height:115px;display:block}.k-caption p{font-size:12px;min-height:46px}.k-caption small{display:block;margin-top:9px}.k-below{gap:20px;margin-top:25px}.k-map-wrap{height:320px}.k-map-heading{padding:20px}.k-map-fallback text{font-size:14px}.k-music{display:block;padding:20px}.k-music-player{margin-top:20px;max-width:360px}.k-ending{padding:60px 8px 50px}.k-ending blockquote{font-size:23px}.k-full{margin-left:auto} }
@media(prefers-reduced-motion:reduce) { .k-frame{transition:none} }

.kailash-page { background:#0b100e; }
@font-face { font-family:'Lucifa Tibetan';src:url('/assets/fonts/lucifa-tibetan.ttf') format('truetype');font-display:swap;font-weight:400; }
.k-intro { grid-template-columns:1.1fr 1fr 230px;gap:32px;align-items:center; }
.k-wheel { margin:0;text-align:center;position:relative;min-width:0; }
.k-wheel canvas { display:block;width:100%;height:220px;max-width:230px;margin:auto; }
.k-wheel figcaption { display:flex;flex-direction:column;align-items:center;gap:7px; }
.k-wheel-name { font:400 26px/1.8 'Lucifa Tibetan','Microsoft Himalaya',serif;color:#debd7e; }
.k-wheel small { color:#9dada0;font-size:9px;line-height:1.6; }
.k-wheel button { border:0;background:none;min-height:36px;font-size:10px;color:#acb7a7;text-decoration:underline;text-underline-offset:4px;padding:5px 10px; }
.k-wheel-download { display:flex;align-items:center;justify-content:center;min-height:44px;width:fit-content;max-width:100%;margin:4px auto 8px;padding:7px 12px;border:1px solid #786f52;border-radius:3px;color:#e0c99a;font-size:11px;line-height:1.5;text-decoration:none;transition:background .2s,border-color .2s; }
.k-wheel-download:hover { background:#c8ac6e16;border-color:#c8ac6e; }
.k-wheel .k-wheel-keepsake { display:block;font-size:10px;color:#b7baa8; }
.k-wheel [data-wheel-status] { min-height:30px;font-size:10px;color:#a9b4a3; }
@media(max-width:1100px) { .k-intro{grid-template-columns:1fr 200px;gap:18px 25px}.k-intro>h1{grid-column:1;grid-row:1}.k-intro>p{grid-column:1;grid-row:2}.k-wheel{grid-column:2;grid-row:1/3}.k-wheel canvas{height:210px} }
@media(max-width:600px) { .k-intro{grid-template-columns:minmax(0,1fr) 130px;gap:18px 8px}.k-intro>h1{font-size:clamp(29px,6.8vw,36px);letter-spacing:0}.k-intro>p{grid-column:1/-1;grid-row:2}.k-wheel{grid-column:2;grid-row:1}.k-wheel canvas{height:156px}.k-wheel-name{font-size:20px;line-height:1.8}.k-wheel small{font-size:8px}.k-wheel button{font-size:9px}.k-wheel figcaption{gap:2px} }
:where(.kailash-page) button { font:inherit; cursor:pointer; }
.kailash-page [hidden] { display:none!important; }
.kailash-page :focus-visible { outline:2px solid #cbb88c; outline-offset:4px; }
.k-page-nav,.k-page-main,.k-page-footer { width:100%; max-width:1408px; margin:auto; padding-inline:var(--pad); }
.k-page-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:24px; border-bottom:1px solid #303b32; }
.k-page-nav .brand { mix-blend-mode:normal; }
.k-page-nav nav { display:flex; align-items:center; gap:28px; }
.k-page-edition { color:#a8b2b0; font-size:10px; letter-spacing:.18em; }
.k-back { color:#c2c9bf; font-size:12px; }
.k-back:hover { color:#e8d5a7; }
.k-page-main>.kailash { margin-top:0; padding-top:48px; border-top:0; }
.k-page-footer { border-top:1px solid #303b32; padding-block:28px; display:flex; justify-content:space-between; gap:24px; font-size:11px; color:#a8b2b0; }
.k-page-footer>span { font-size:10px; letter-spacing:.15em; }
.k-page-noscript { padding:20px var(--pad); color:#c2c9bf; font-size:13px; }
.kailash-entry { margin:80px 0 55px; scroll-margin-top:24px; }
.k-entry-card { display:grid; grid-template-columns:1.15fr 1fr; align-items:stretch; border:1px solid #454e42; background:#131b16; }
.k-entry-card>img { width:100%; height:100%; min-height:320px; object-fit:cover; }
.k-entry-copy { padding:clamp(28px,4vw,60px); align-self:center; }
.k-entry-copy .k-entry-eyebrow { margin:0 0 23px; color:#cbb88c; font-size:10px; letter-spacing:.17em; }
.birthday-page .k-entry-copy h2 { margin:0 0 22px; font:400 clamp(29px,3.1vw,46px)/1.4 Georgia,'Microsoft JhengHei',serif; letter-spacing:.035em; }
.k-entry-copy>p:not(.k-entry-eyebrow) { margin:0; color:#afb9ad; font-size:13px; line-height:2; }
.k-entry-link { display:inline-flex; align-items:center; gap:32px; margin-top:27px; padding-bottom:8px; border-bottom:1px solid #7e8b70; font-size:12px; color:#e7ddbd; }
.k-entry-card:hover { border-color:#bdae81; }
.k-entry-card:hover .k-entry-link { border-color:#e7ddbd; }
@media(max-width:760px) { .k-page-edition{display:none}.k-page-nav nav{gap:18px}.k-entry-card{grid-template-columns:1fr}.k-entry-card>img{min-height:0;height:auto;aspect-ratio:16/9}.kailash-entry{margin-top:60px}.k-page-main>.kailash{padding-top:30px}.k-page-nav{gap:12px}.k-page-nav .brand{font-size:18px}.k-back{font-size:10px}.k-page-footer{flex-wrap:wrap} }
@media(max-width:360px) { .k-page-nav{padding-inline:16px}.k-page-nav nav{gap:10px}.k-start{white-space:normal;width:max-content;max-width:90%;text-align:center}.k-stage-title{font-size:18px} }
@media(max-width:600px) { .k-page-nav nav{flex-direction:column;align-items:flex-end;gap:10px}.k-page-nav .k-back{order:2}.k-page-nav .lang-switch{flex-shrink:0}.k-page-nav .brand{flex-shrink:0}.k-page-nav{padding-block:18px}.k-page-main>.kailash{padding-top:25px} }
