.ht{--void:#0c0d0f;--graphite:#131417;--hair:#26282d;--ink40:#6a6e76;--ink60:#9498a0;--ink0:#f2f3f0;--signal:#6fa8b0;--axis-x:34%;--step:66px;--ease:cubic-bezier(.22, .61, .36, 1);--dur:.52s;--warm:0deg;--font-display:var(--mt-font-latin);--font-body:var(--mt-font-jp);background:var(--void);height:calc(100vh - 72px);min-height:560px;color:var(--ink0);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.ht *,.ht :before,.ht :after{box-sizing:border-box}.ht-viewtoggle{z-index:20;border:1px solid var(--hair);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#13141699;border-radius:3px;gap:2px;display:flex;position:absolute;top:32px;left:50%;overflow:hidden;transform:translate(-50%)}.ht-viewtoggle button{color:var(--ink40);cursor:pointer;font-family:var(--font-display);letter-spacing:.14em;background:0 0;border:0;padding:8px 16px;font-size:11px;transition:color .25s,background .25s}.ht-viewtoggle button.on{color:var(--ink0);background:#26282be6}.ht-viewtoggle button:focus-visible{outline:1px solid var(--signal);outline-offset:-1px}.ht-index{z-index:15;background:var(--void);padding:92px 48px 40px;position:absolute;inset:0;overflow-y:auto}.ht-index[hidden]{display:none}.ht-index-head{max-width:1220px;color:var(--ink40);letter-spacing:.26em;font-variant-numeric:tabular-nums;margin:0 auto 26px;font-size:11px}.ht-cols{grid-template-columns:repeat(3,1fr);gap:44px;max-width:1220px;margin:0 auto;display:grid}.ht-col-head{border-bottom:1px solid var(--ink40);align-items:baseline;gap:12px;margin:0 0 6px;padding-bottom:12px;display:flex}.ht-cn{font-family:var(--font-display);letter-spacing:.3em;color:var(--ink40);font-size:12px}.ht-ct{letter-spacing:.04em;color:var(--ink0);font-size:15px;font-weight:600}.ht-cy{color:var(--ink40);font-variant-numeric:tabular-nums;letter-spacing:.08em;margin-left:auto;font-size:11px}.ht-evt{text-align:left;border:0;border-top:1px solid var(--hair);cursor:pointer;width:100%;color:inherit;background:0 0;grid-template-columns:64px 1fr;align-items:baseline;gap:14px;padding:11px 6px 11px 0;font-family:inherit;transition:background .2s;display:grid;position:relative}.ht-evt:first-of-type{border-top:0}.ht-evt:hover{background:#1d1e20b3}.ht-evt:hover .ht-etitle{color:var(--ink0)}.ht-evt:focus-visible{outline:1px solid var(--signal);outline-offset:-1px}.ht-edate{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--ink60);white-space:nowrap;padding-top:1px;font-size:12px}.ht-etitle{color:var(--ink40);font-size:13px;line-height:1.5;transition:color .2s}.ht-evt--spine .ht-edate{color:var(--signal)}.ht-evt--spine .ht-etitle{color:var(--ink0)}.ht-evt--spine:before{content:"";background:var(--signal);border-radius:50%;width:6px;height:6px;position:absolute;top:15px;left:-14px;box-shadow:0 0 8px 1px #72a5ac80}.ht-story-wrap{position:absolute;inset:0}.ht-story-wrap[hidden]{display:none}.ht-stage{outline:none;position:absolute;inset:0}.ht-ambient{background:radial-gradient(120% 90% at 30% 42%, #1a1b1e 0%, var(--void) 62%), radial-gradient(60% 60% at var(--axis-x) 50%, hsl(var(--warm) 8% 14% / .55) 0%, transparent 70%);transition:background 1.1s var(--ease);position:absolute;inset:0}.ht-chapter{z-index:5;text-align:right;position:absolute;top:34px;right:48px}.ht-ch-num{font-family:var(--font-display);letter-spacing:.3em;color:var(--ink40);font-size:13px}.ht-ch-ttl{letter-spacing:.08em;color:var(--ink60);margin-top:6px;font-size:14px;font-weight:500}.ht-axis{left:var(--axis-x);z-index:3;background:linear-gradient(var(--void), var(--hair) 14%, var(--hair) 86%, var(--void));width:1px;position:absolute;top:0;bottom:0}.ht-ruler{left:var(--axis-x);z-index:4;position:absolute;top:50%;transform:translate(-100%)}.ht-tick{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--ink40);white-space:nowrap;cursor:pointer;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease), color .3s;background:0 0;border:0;padding:2px 4px;font-size:13px;position:absolute;right:22px;transform:translateY(-50%)}.ht-tick:hover{color:var(--ink0)}.ht-tick:focus-visible{outline:1px solid var(--signal);outline-offset:3px}.ht-node{left:var(--axis-x);background:var(--ink0);z-index:6;width:9px;height:9px;transition:background var(--dur), box-shadow var(--dur);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ht-node--spine{background:var(--signal);box-shadow:0 0 0 5px #72a5ac29,0 0 22px 2px #72a5ac61}.ht-year{left:calc(var(--axis-x) - 28px);font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink0);text-shadow:0 2px 60px #00000080;animation:ht-year-in .5s var(--ease) both;font-size:clamp(90px,13vw,190px);font-weight:800;line-height:.86;position:absolute;top:50%;transform:translate(-100%,-50%)}.ht-year--spine{color:#dff0f1;text-shadow:0 0 46px #6da9b04d}@keyframes ht-year-in{0%{opacity:0;transform:translate(-100%,-42%)}to{opacity:1;transform:translate(-100%,-50%)}}.ht-card{left:calc(var(--axis-x) + 78px);z-index:5;width:min(46ch,42vw);position:absolute;top:50%;transform:translateY(-50%)}.ht-meta{align-items:center;gap:14px;margin-bottom:16px;display:flex}.ht-month{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.22em;color:var(--ink60);font-size:13px}.ht-tag{letter-spacing:.2em;color:var(--ink40);border:1px solid var(--hair);border-radius:2px;padding:3px 9px 2px;font-size:10px}.ht-tag--spine{color:var(--signal);border-color:#72a5ac80}.ht-title{letter-spacing:.01em;text-wrap:balance;color:var(--ink0);margin:0;font-size:clamp(21px,2.5vw,31px);font-weight:600;line-height:1.28}.ht-card--spine .ht-title{border-bottom:1px solid #72a5ac59;padding-bottom:14px}.ht-desc{color:var(--ink60);max-width:40ch;margin:16px 0 0;font-size:15px;line-height:1.85}.ht-meta{animation:ht-up var(--dur) var(--ease) both}.ht-title{animation:ht-up var(--dur) var(--ease) 40ms both}.ht-desc{animation:ht-up var(--dur) var(--ease) 80ms both}@keyframes ht-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ht-foot{z-index:5;align-items:center;gap:22px;display:flex;position:absolute;bottom:30px;left:44px;right:48px}.ht-nav{gap:8px;display:flex}.ht-nav button{border:1px solid var(--hair);width:34px;height:34px;color:var(--ink60);cursor:pointer;background:0 0;border-radius:2px;font-size:15px;line-height:1;transition:border-color .25s,color .25s}.ht-nav button:hover{border-color:var(--ink40);color:var(--ink0)}.ht-nav button:focus-visible{outline:1px solid var(--signal);outline-offset:2px}.ht-nav button:disabled{opacity:.3;cursor:default}.ht-rail{background:var(--hair);flex:1;height:1px;position:relative;overflow:hidden}.ht-fill{background:var(--ink0);transition:width var(--dur) var(--ease);position:absolute;top:0;bottom:0;left:0}.ht-count{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.14em;color:var(--ink40);white-space:nowrap;font-size:12px}.ht-count b{color:var(--ink0);font-weight:600}.ht-hint{letter-spacing:.16em;color:var(--ink40);white-space:nowrap;font-size:11px}@media (width<=720px){.ht{height:auto;min-height:100vh;overflow:visible}.ht-index{padding:76px 22px 40px;position:relative;inset:auto;overflow:visible}.ht-cols{grid-template-columns:1fr;gap:30px}.ht-story-wrap{min-height:100vh;position:relative;inset:auto}.ht-stage{flex-direction:column;min-height:100vh;padding:76px 22px 96px;display:flex;position:relative;inset:auto}.ht-axis,.ht-ruler,.ht-node,.ht-ambient{display:none}.ht-chapter{text-align:left;margin-bottom:16px;position:static}.ht-year{text-shadow:none;margin:0 0 18px;font-size:clamp(84px,24vw,120px);line-height:.92;display:block;position:static;transform:none}.ht-year--spine{color:#cfe3e6;text-shadow:0 0 24px #6da9b059}@keyframes ht-year-in{0%{opacity:0}to{opacity:1}}.ht-card{width:100%;max-width:100%;position:static;transform:none}.ht-desc{max-width:100%}.ht-foot{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-top:1px solid var(--hair);background:#0e0f10eb;margin:40px -22px -96px;padding:16px 22px;position:sticky;bottom:0;left:0;right:0}.ht-hint{display:none}}@media (prefers-reduced-motion:reduce){.ht *,.ht :before,.ht :after{transition-duration:1ms!important;animation-duration:1ms!important}}
