:root{
  color-scheme:dark;
  --bg:#080808;--fg:#f5f2eb;--muted:#8d8a84;--line:#292929;--panel:#111;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Sans","Yu Gothic",sans-serif}
body{min-height:100dvh;overflow:hidden}
button,input{font:inherit}
.tm{max-width:640px;height:100dvh;margin:auto;padding:max(14px,env(safe-area-inset-top)) 16px max(14px,env(safe-area-inset-bottom));display:grid;grid-template-rows:auto 1fr auto;gap:8px;background:var(--bg)}
.tm-top{display:flex;align-items:center;justify-content:space-between;min-height:42px}
.tm-logo{font-size:15px;font-weight:800;letter-spacing:.23em}
.tm-now{border:0;background:#f5f2eb;color:#090909;border-radius:999px;padding:8px 13px;font-weight:650;cursor:pointer}
.tm-stage{min-height:0;display:flex;flex-direction:column;justify-content:center;touch-action:pan-y;user-select:none}
.tm-date-hit{position:relative;display:inline-block;align-self:flex-start;cursor:pointer}
.tm-date-label{display:block;font-size:clamp(42px,13vw,76px);line-height:.95;font-weight:680;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.tm-date-hit input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.tm-relative{margin-top:9px;color:var(--muted);font-size:13px}
.tm-hero{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.tm-source{min-height:16px;color:#76736d;font-size:10px;font-weight:650;letter-spacing:.14em;text-transform:uppercase}
.tm-hero h1{margin:8px 0 0;font-size:clamp(25px,7vw,38px);line-height:1.08;letter-spacing:-.035em}
.tm-hero p{margin:10px 0 0;max-width:48ch;color:#a9a59d;font-size:14px;line-height:1.65}
.tm-image{display:block;width:100%;max-height:30dvh;object-fit:cover;border-radius:15px;margin-top:16px;background:#151515}
.tm-more{display:flex;gap:7px;overflow-x:auto;margin-top:15px;padding-bottom:2px;scrollbar-width:none}
.tm-more::-webkit-scrollbar{display:none}
.tm-chip{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:#aaa;font-size:11px;text-decoration:none;background:#0e0e0e}
.tm-bottom{padding-top:8px}
.tm-rail-wrap{padding:2px 0}
.tm-rail{appearance:none;width:100%;height:34px;background:transparent;margin:0}
.tm-rail::-webkit-slider-runnable-track{height:2px;background:#343434;border-radius:2px}
.tm-rail::-webkit-slider-thumb{appearance:none;width:26px;height:26px;margin-top:-12px;border:0;border-radius:50%;background:var(--fg);box-shadow:0 0 0 5px rgba(255,255,255,.05)}
.tm-rail::-moz-range-track{height:2px;background:#343434}
.tm-rail::-moz-range-thumb{width:26px;height:26px;border:0;border-radius:50%;background:var(--fg)}
.tm-rail-labels{display:flex;justify-content:space-between;gap:12px;color:#5f5d59;font-size:10px;font-variant-numeric:tabular-nums}
.tm-rail-labels span:nth-child(2){color:#96928a}
.tm-hint{height:18px;margin:8px 0 0;text-align:center;color:#5f5d59;font-size:11px;transition:opacity .25s ease}
.tm.is-used .tm-hint{opacity:0}
.tm-empty{margin:auto;color:var(--muted);text-align:center;font-size:14px}
.tm-shift{animation:tm-shift .18s ease}
@keyframes tm-shift{from{opacity:.28;transform:translateX(8px)}to{opacity:1;transform:none}}
@media (min-width:700px){.tm{padding-left:28px;padding-right:28px}.tm-image{max-height:34dvh}}
@media (prefers-reduced-motion:reduce){.tm-shift{animation:none}}
