:root{--col-logo-dark: #B87CAC;--col-logo: #D4A8C0;--glass-bg: rgb(244 241 255 / .9);--glass-dark-bg: rgb(79 69 143 / .9);--glass-blur: blur(14px) saturate(1.8);--glass-knob-bg: rgb(255 255 255 / .7);--glass-knob-drag-bg: rgb(255 255 255 / .45);--glass-knob-blur: blur(6px) saturate(1.8);--hour: 72px;--head: 56px;--divider: 39px;--axis: 26px;--axis-bleed: 4px;--colmin: 96px}@media (max-width: 900px){:root{--head: 66px}}@media (max-width: 640px){:root{--hour: 60px;--head: 66px;--divider: 39px;--colmin: 112px}}.main__inner{max-width:1120px;margin:0 auto;padding:0 var(--gap)}.board{position:relative;display:flex;flex-direction:column;height:100svh;padding:0;background:var(--col-paper)}@media (max-width: 640px){.board{padding:0 0 8px}}@property --board-w{syntax: "<percentage>"; inherits: false; initial-value: 50%;}@property --split-extra{syntax: "<length>"; inherits: false; initial-value: 0px;}@media (min-width: 641px){html{scrollbar-width:none}html::-webkit-scrollbar{display:none}.main{display:grid;grid-template-columns:calc(var(--board-w, 50%) - var(--split-extra) / 2) calc(var(--gap) + var(--split-extra)) 1fr;transition:--split-extra .2s cubic-bezier(.22,1,.36,1);align-items:start}.main:has(>.split:is(:hover,:focus-visible,.is-dragging)){--split-extra: 12px}@media (prefers-reduced-motion: reduce){.main{transition:none}}.board{position:sticky;top:var(--gap);height:calc(100svh - var(--gap) * 2);height:calc(100dvh - var(--gap) * 2);height:calc(var(--app-h, 100dvh) - var(--gap) * 2);margin:0 0 0 var(--gap);overflow:hidden;border-radius:16px;box-shadow:0 4px 16px #4f458f14}.main__inner{max-width:none;width:100%;margin:0;padding:0 var(--gap) 0 0}.split{position:sticky;top:var(--gap);display:flex;align-items:center;justify-content:center;height:calc(100svh - var(--gap) * 2);height:calc(100dvh - var(--gap) * 2);height:calc(var(--app-h, 100dvh) - var(--gap) * 2);cursor:col-resize;touch-action:none;outline:none}.split:before{content:"";width:6px;height:48px;border-radius:999px;background:var(--col-secondary-light);transition:background-color .15s,width .15s,height .15s}.split:hover:before,.split:focus-visible:before,.split.is-dragging:before{width:10px;height:72px;background:var(--col-primary)}.is-resizing .tl-sign__num,.is-resizing .tl-map__heading path,.is-resizing .tl-map__pulse{animation-play-state:paused}.is-frozen .venue-card{overflow:clip}.is-frozen,.is-frozen .venue-card{min-width:0}.is-frozen .venue-card>*{width:var(--cw)}.is-frozen .venue-card--live>.train-live{width:calc(var(--cw) + 2 * var(--pad))}.is-frozen .venue-card--live{position:relative;z-index:0}.is-frozen .venue-card--live>.train-live{border-top-color:transparent;background:none}.is-frozen .venue-card--live>.train-live:before{content:"";position:absolute;z-index:-1;left:0;right:0;height:100%;margin-top:-15px;border-top:1px dashed var(--c-light);background:var(--col-paper)}.main:has(>.split:hover) .main__inner,.is-resizing .main__inner{will-change:transform}}@media (max-width: 640px){.split{display:none}}.board__hint{display:none;margin:4px 0 0;font-size:.7rem;text-align:center;opacity:.7}.day-nav{display:flex;align-items:stretch;gap:6px}.day-nav__title{margin:0;padding:15px 15px 0;font-size:1rem;font-weight:900;line-height:1.3}.day-nav__brand{font-family:var(--font-display);font-weight:400;color:var(--col-ink-primary);letter-spacing:.08em}.day-chip{flex:none;display:inline-flex;white-space:nowrap;align-items:baseline;gap:4px;padding:4px 12px;border:2px solid var(--col-secondary-light);border-radius:999px;background:var(--col-paper);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.day-chip:hover{background:var(--col-secondary-lighter)}.day-chip__date{font-family:var(--font-display);font-size:1rem;line-height:1.2}.day-chip__week{font-family:var(--font-display);font-size:.62rem;color:var(--col-ink-primary)}.day-chip.is-active{border-color:transparent;color:var(--col-paper);background:var(--brand-gradient) border-box}.day-chip--train{max-width:12em;min-width:0;overflow:hidden;text-decoration:none;font-weight:900;font-size:.85rem;color:var(--col-paper);border-color:transparent;background:#4f458f}.day-chip--train .day-chip__label,.day-chip--train .day-chip__week{display:block;box-sizing:border-box;flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-chip--train .day-chip__week{color:var(--col-secondary-light)}.day-chip--train:hover{background:#352d6b}.day-chip{flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:46px;border-radius:14px}.day-chip[data-day],.day-chip--train{flex:1 1 0;min-width:0;padding:4px 2px}.day-chip__date{font-size:1.05rem}.day-chip__week{display:block;font-size:.58rem}.day-chip--train{font-size:.78rem;line-height:1.2;letter-spacing:0;max-width:none}.day-chip--train .day-chip__label,.day-chip--train .day-chip__week{width:100%;text-align:center}@media (min-width: 641px){.day-nav{position:absolute;right:28px;bottom:20px;z-index:20;width:min(360px,calc(100% - 44px));padding:8px;border:1px solid var(--col-secondary-light);border-radius:20px;background:var(--col-paper);box-shadow:0 8px 24px #4f458f40}.to-board{display:none}}@media (min-width: 641px) and (max-height: 500px){.board,.split{top:calc(var(--gap) / 2);height:calc(100svh - var(--gap));height:calc(100dvh - var(--gap));height:calc(var(--app-h, 100dvh) - var(--gap))}.board .day-nav{bottom:8px;padding:4px;gap:4px}.board .day-chip{min-height:34px}.board .day-chip__date{font-size:.9rem}}@media (max-width: 640px){.board{padding-bottom:0}.board__hint{order:2;margin:4px 0}.day-nav{order:3;flex-wrap:nowrap;gap:6px;margin:0;padding:8px 8px calc(8px + var(--safe-b));border-top:1px solid var(--col-secondary-lighter);background:var(--col-paper);box-shadow:0 -6px 16px #4f458f1a}}.day-nav__title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width: 360px){.day-chip--train{font-size:.68rem}}.tt-scroll{position:relative;flex:1;touch-action:pan-x pan-y;min-height:0;overflow:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch;scrollbar-width:thin}@media (min-width: 641px){@supports selector(::-webkit-scrollbar){.tt-scroll{scrollbar-width:auto}}.tt-scroll::-webkit-scrollbar{width:13px;height:13px}.tt-scroll::-webkit-scrollbar-track{background:var(--col-paper)}.tt-scroll::-webkit-scrollbar-thumb{border:3px solid var(--col-paper);border-radius:999px;background:var(--col-primary)}.tt-scroll::-webkit-scrollbar-thumb:hover{background:var(--col-ink-primary)}.tt-scroll::-webkit-scrollbar-corner{background:var(--col-paper)}@supports not selector(::-webkit-scrollbar){.tt-scroll{scrollbar-color:var(--col-primary) var(--col-paper)}}}.tt{position:relative;display:grid;grid-template-columns:var(--axis) repeat(var(--cols),minmax(var(--colmin),1fr));column-gap:5px;padding-bottom:12px;min-width:min-content;background:var(--col-paper)}.tt-corner{grid-row:2;position:sticky;top:var(--divider);left:0;z-index:5;margin-right:calc(-1 * var(--axis-bleed))}.tt-head-cell{grid-row:2;position:sticky;top:var(--divider);z-index:4;background:var(--col-paper)}.tt-head{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(max-content,calc(100% / 3));grid-template-areas:"letter name kind";align-items:center;column-gap:8px;height:100%;padding:4px 10px;border-radius:10px 10px 0 0;border-bottom:2px solid var(--c-light);color:var(--c-dark);background:var(--c-tint);line-height:1.25}.tt-head__letter{grid-area:letter;font-family:var(--font-display);font-size:1.3rem;line-height:1;color:var(--c);opacity:.7}.tt-head__name{grid-area:name;overflow:hidden;font-weight:900;font-size:.82rem;white-space:nowrap;text-overflow:ellipsis}.tt-head__name small{font-size:.78em;font-weight:700;letter-spacing:0}.tt-head__kind{grid-area:kind;align-self:stretch;display:flex;align-items:center;margin:-4px -10px -4px 0;justify-content:center;padding:0 10px 0 18px;border-radius:0 10px 0 0;font-weight:900;font-size:.9rem;white-space:nowrap}.tt-head__kind--official{color:var(--c-dark);font-weight:700;background:linear-gradient(to right,transparent,var(--c-light) 70%)}.tt-head__kind--fan{flex-direction:column;align-items:center;gap:1px;line-height:1.15;color:var(--col-fan);background:linear-gradient(to right,var(--c-tint),transparent 40%),repeating-linear-gradient(-45deg,#c2354f29 0 5px,#fff9 5px 10px)}.tt-head__kind small{font-size:.6em;font-weight:700}.tt-head-cell{container-type:inline-size}@container (max-width: 230px){.tt-head{grid-template-columns:auto minmax(0,1fr);grid-template-rows:1fr 1fr;grid-template-areas:"letter name" "kind kind";column-gap:5px;padding:0 6px;overflow:hidden}.tt-head__letter{font-size:1rem}.tt-head__name{font-size:round(down,clamp(.5rem,calc((100cqw - 44px) / var(--nl)),.85rem),1px);line-height:1.3}.tt-head .tt-head__kind{flex-direction:row;align-items:baseline;justify-content:center;gap:4px;align-self:stretch;align-items:center;margin:0 -6px;padding:0 6px;border-radius:0;white-space:nowrap;font-size:15px;line-height:1.3}.tt-head .tt-head__kind--official{font-weight:700;background:var(--c-light)}.tt-head .tt-head__kind--fan{background:repeating-linear-gradient(-45deg,#c2354f29 0 5px,#fff9 5px 10px)}}.tt-day{grid-column:1 / -1;display:flex;align-items:center;height:var(--divider);position:sticky;top:0;z-index:6;pointer-events:none}.tt-day:not(.tt-day--top){margin-top:calc(-1 * var(--head));margin-bottom:var(--head)}.tt-axis.tt-ghost,.tt-col.tt-ghost{overflow:hidden}.tt.no-ghost .tt-ghost{display:none}.tt-day--top{background:var(--col-paper)}.tt-day-tools{grid-column:1 / -1;grid-row:1;position:sticky;top:0;z-index:7;display:flex;align-items:center;height:var(--divider);pointer-events:none}.tt-tools{position:sticky;right:6px;z-index:1;flex:none;display:flex;gap:6px;margin-left:auto;margin-right:6px}.tt-tools .tt-refresh{pointer-events:auto}.tt-refresh{flex:none;padding:8px 14px;border:2px solid transparent;border-radius:999px;font-size:.8rem;font-weight:900;line-height:1;color:var(--col-primary-dark);background:linear-gradient(var(--col-paper),var(--col-paper)) padding-box,var(--brand-gradient) border-box;cursor:pointer}.tt-refresh:active,.is-refreshing .tt-refresh:not(.tt-sort){color:var(--col-paper);background:var(--brand-gradient) border-box}.is-refreshing .tt-refresh{pointer-events:none}html:not(.is-ready) .main{visibility:hidden}.toast{position:fixed;top:60px;right:8px;z-index:40;max-width:min(280px,calc(100% - 16px));padding:10px 14px;border-radius:12px;font-size:.8rem;line-height:1.5;color:#fff;background:#282246f0;box-shadow:0 6px 18px #4f458f4d;animation:install-in .2s ease-out}.toast:before{content:"";position:absolute;top:-6px;right:var(--tail, 20px);border:6px solid transparent;border-top:0;border-bottom-color:#282246f0}.toast[hidden]{display:none}.toast__sub{margin-top:2px;font-size:.72rem;color:#fff9;display:flex;justify-content:space-between;gap:8px}.toast__sub>:first-child{min-width:0;overflow-wrap:anywhere}.toast__sub>:last-child{flex:none;font-variant-numeric:tabular-nums}.tt-day__label{position:sticky;left:0;z-index:1;display:inline-flex;align-items:baseline;gap:6px;margin:0 10px 0 0;box-sizing:border-box;height:var(--divider);padding:7px 20px 0 10px;border-radius:0 999px 999px 0;background:var(--col-paper);line-height:1}.tt-day__date{font-family:var(--font-display);font-size:1.69rem;color:var(--col-ink-primary);background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tt-day__week{font-family:var(--font-display);font-size:.858rem;letter-spacing:.14em;color:var(--col-secondary)}.tt-day__sub{margin-left:4px;font-size:.936rem;font-weight:700;color:var(--col-ink)}.tt-day__ja{font-size:.884rem;font-weight:700;opacity:.6}@media (max-width: 640px){.tt-day__date{font-size:1.495rem}}.tt-axis{position:sticky;left:0;z-index:2;margin-right:calc(-1 * var(--axis-bleed));padding-right:var(--axis-bleed)}.tt-axis__hour{position:absolute;left:0;display:flex;align-items:baseline;justify-content:center;width:calc(var(--axis) + 8px);transform:translateY(-50%);line-height:1}.tt-axis__hour:first-child,.tt-axis__hour:last-child{display:none}.tt-axis__h{min-width:1.9em;padding:3px 0;border-radius:999px;background:var(--col-paper);font-family:var(--font-display);font-size:.88rem;letter-spacing:-.04em;text-align:center}.tt-col{position:relative;background:linear-gradient(to bottom,var(--c-light) 0 1px,transparent 1px calc(50% - 1px),var(--col-paper) 0 50%,transparent 0) 0 0 / 8px var(--hour),var(--c-tint);border-radius:0 0 10px 10px}.tt-col--round{border-radius:10px}.tt-hint{position:absolute;z-index:1;top:0;bottom:0;left:0;width:calc(var(--span) * 100% + (var(--span) - 1) * 5px);display:flex;align-items:center;justify-content:center;pointer-events:none}.tt-hint__card{margin:0;padding:16px 20px;border-radius:14px;background:#ffffffd9;box-shadow:0 4px 16px #4f458f26;color:var(--col-ink);font-weight:700;font-size:.95rem;line-height:1.6;text-align:center}.tt-hint__arrow{display:block;margin-top:4px;font-size:1.8rem;line-height:1.2;color:var(--col-ink-primary);animation:tt-hint-bob 1.4s ease-in-out infinite}@keyframes tt-hint-bob{50%{transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){.tt-hint__arrow{animation:none}}.ev{position:absolute;container-type:size;left:6px;right:6px;display:flex;flex-direction:column;padding:0;border:2px solid var(--c);border-radius:10px;background:var(--col-paper);box-shadow:0 3px 0 var(--c-light);cursor:pointer;text-align:center;transition:transform .15s,box-shadow .15s}.ev:hover,.ev:focus-visible{transform:translateY(-2px);box-shadow:0 5px 0 var(--c-light),0 6px 16px #4f458f33;outline:none}.ev--tentative{--c: #8b8b96;--c-dark: #5c5c66;--c-light: #d3d3d9;--c-tint: #f0f0f3;border-bottom-style:dashed}.ev--tentative-end{border-bottom:2px dashed #8b8b96;background:linear-gradient(to bottom,var(--col-paper) 55%,#ececf0);box-shadow:0 3px #d3d3d9}.tbd{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:currentColor;opacity:.75}.ev__open{flex:none;border-radius:8px 8px 0 0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:round(clamp(.55rem,min(5cqw,7cqh),.95rem),1px);color:var(--c-dark);background:repeating-linear-gradient(-45deg,var(--c-tint) 0 6px,var(--col-paper) 6px 12px);border-bottom:1px dashed var(--c)}.ev__inner{position:sticky;z-index:1;top:calc(var(--head) + var(--divider) + 4px);flex:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:10px 5px;min-height:0}.ev__time{display:inline-block;padding:1px 8px;border-radius:.7em;text-align:center;word-break:keep-all;font-family:var(--font-display);font-size:round(clamp(.58rem,min(5.2cqw,8cqh),1rem),1px);letter-spacing:.02em;color:var(--col-paper);background:var(--c)}.ev .badge{padding:1px 8px;border-radius:999px;font-size:round(clamp(.58rem,min(5.2cqw,8cqh),1rem),1px);letter-spacing:.02em;line-height:inherit}.ev__title{font-weight:900;font-size:round(clamp(.83rem,min(7.5cqw,10.5cqh),1.43rem),1px);line-height:1.3;color:var(--c-dark);word-break:keep-all;overflow-wrap:anywhere}.ev__sub{font-size:round(clamp(.6rem,min(5.6cqw,9cqh),1.05rem),1px);font-weight:700}.ev__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px 6px;margin-bottom:2px}.ev__badges{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.ev--nobadge .ev__badges,.ev--nosub .ev__sub,.ev--notime .ev__time{display:none}.ev--noopentext .ev__open{font-size:0;position:absolute;top:0;left:0;right:0}.tt .ev.ev--noopentext .ev__open+.ev__inner{padding-top:2px}.ev.ev--fan{border:5px solid transparent;background:linear-gradient(var(--col-paper),var(--col-paper)) padding-box,repeating-linear-gradient(-45deg,var(--col-fan) 0 8px,transparent 8px 16px) border-box;box-shadow:none}.ev--fan .ev__fan-label{display:block;margin:0 auto 4px;width:fit-content;padding:2px 4px;white-space:nowrap;border-radius:999px;font-size:round(clamp(.7rem,min(6.5cqw,10cqh),1.2rem),1px);letter-spacing:min(.08em,.5cqw);color:var(--col-paper);background:var(--col-fan)}.ev:not(.ev--fan){color:var(--col-paper);background:linear-gradient(to bottom,var(--c),var(--c-dark));box-shadow:0 3px 0 var(--c-light)}.ev:not(.ev--fan).ev--tentative-end{border-bottom:none;border-radius:10px 10px 0 0;box-shadow:none}.ev:not(.ev--fan).ev--tentative-end:after{content:"";position:absolute;top:100%;left:-2px;right:-2px;height:calc(.25 * var(--hour));border:2px solid var(--c);border-top:none;border-bottom:none;background:linear-gradient(to bottom,var(--c-dark),var(--c-dark));-webkit-mask:linear-gradient(to bottom,#000,transparent);mask:linear-gradient(to bottom,#000,transparent);pointer-events:none}.ev:not(.ev--fan) .ev__title,.ev:not(.ev--fan) .ev__open{color:var(--col-paper)}.ev:not(.ev--fan) .ev__open{background:repeating-linear-gradient(-45deg,rgb(255 255 255 / .18) 0 6px,transparent 6px 12px);border-bottom-color:#fff9}.ev:not(.ev--fan) .ev__time{background:#ffffff38;box-shadow:inset 0 0 0 1px #fff9}.ev--allday{top:8px;bottom:8px;border-style:dashed;background:#ffffffbf;box-shadow:none}.ev--allday .ev__time{font-family:var(--font-base);font-weight:700;background:var(--c-dark)}@media (max-width: 640px){.ev{left:3px;right:3px}.ev__time,.ev .badge{padding:1px 6px}}.ev-wait{position:absolute;left:6px;right:6px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:20px;border-radius:10px 10px 0 0;background:linear-gradient(to bottom,transparent,var(--c-light));cursor:pointer;text-align:center;line-height:1.3}.ev-wait:before{content:"";position:absolute;inset:0;border:2px dashed var(--c);border-bottom:none;border-radius:inherit;-webkit-mask:linear-gradient(to bottom,transparent,#000 70%);mask:linear-gradient(to bottom,transparent,#000 70%)}.ev-wait:hover,.ev-wait:focus-visible{filter:brightness(1.04) saturate(1.2);outline:none}.ev-wait__label{font-weight:900;font-size:.8rem;color:var(--c-dark)}.ev-mark{position:absolute;left:0;right:0;z-index:1;height:0;border-top:2px solid var(--c-dark);cursor:pointer}.ev-mark__label{position:absolute;top:2px;left:6px;padding:0 6px;border-radius:999px;font-size:.62rem;font-weight:700;line-height:1.6;white-space:nowrap;color:var(--col-paper);background:var(--c-dark)}.ev__last{position:absolute;left:0;right:0;height:0;font-size:round(clamp(.55rem,min(5cqw,7cqh),.95rem),1px);font-weight:700;line-height:1;color:#fff;border-top:2px solid #fff}.ev__last-label{position:absolute;left:0;right:0;bottom:6px;text-align:center;white-space:nowrap}@media (max-width: 640px){.ev-wait{left:3px;right:3px}}.tt-now{grid-column:2 / -1;align-self:start;position:relative;z-index:1;height:0;border-top:2px solid var(--col-ink-primary);pointer-events:none}.tt-now:before{content:"NOW";position:absolute;left:0;top:-9px;padding:0 6px;border-radius:999px;font-family:var(--font-display);font-size:.6rem;line-height:16px;color:var(--col-paper);background:var(--col-ink-primary)}.badge{display:inline-block;padding:0 6px;border-radius:4px;font-size:.62rem;font-weight:700;line-height:1.6;white-space:nowrap}.badge--fan{color:var(--col-fan);background:var(--col-paper);border:1.5px dashed var(--col-fan);font-size:.68rem;line-height:1.4}.badge--tentative{color:#5c5c66;background:#f0f0f3;border:1px dashed #8b8b96}.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:0;padding:0 0 12px;list-style:none;font-size:.78rem}.legend li{display:flex;align-items:center;gap:6px}.legend__open{display:inline-block;width:22px;height:12px;border:1px dashed var(--col-secondary);background:repeating-linear-gradient(-45deg,var(--col-secondary-lighter) 0 4px,var(--col-paper) 4px 8px)}.legend__wait{display:inline-block;width:22px;height:12px;background:linear-gradient(to bottom,transparent,var(--col-primary-light));border-bottom:2px solid var(--col-ink-primary)}.train-live{container:train-live / inline-size;margin-top:16px;padding-top:14px;border-top:1px dashed var(--c-light);scroll-margin-top:var(--gap)}.train-live__title{margin:0 0 12px;font-size:1rem;font-weight:900;color:var(--c-dark)}.train-live__title small{font-size:.75em;font-weight:700;opacity:.7}.tl-controls{display:flex;align-items:center;gap:10px;margin-bottom:16px}.tl-now{flex:1 1 0;min-width:0;height:40px;box-sizing:border-box;padding:0 8px;border:2px solid var(--c);border-radius:999px;background:var(--col-paper);font-weight:900;color:var(--c);cursor:pointer}.tl-now.is-active{color:var(--col-paper);background:var(--c)}.tl-date{flex:1 1 0;min-width:0;height:40px;box-sizing:border-box;text-align:center;padding:0 8px;border:2px solid var(--c);border-radius:999px;font:inherit;font-size:.9rem;color:var(--col-ink)}.tl-time{display:flex;align-items:center;justify-content:center;gap:14px;margin:-4px 0 16px}.tl-step{flex:none;width:68px;height:68px;padding:0;border:2px solid var(--step-c);border-radius:50%;background:var(--col-paper);font:inherit;font-size:1.15rem;font-weight:900;color:var(--step-c);cursor:pointer;user-select:none;touch-action:manipulation}.tl-step[data-step^="-"]{--step-c: var(--col-ink-primary)}.tl-step[data-step="30"]{--step-c: var(--col-secondary)}.tl-step:active{color:var(--col-paper);background:var(--step-c)}.tl-wheel{--item: 40px;position:relative;display:flex;align-items:center;gap:2px;padding:0 10px;border:2px solid var(--col-secondary-light);border-radius:14px;background:var(--col-paper)}.tl-wheel__band{position:absolute;left:6px;right:6px;top:50%;height:var(--item);transform:translateY(-50%);border-radius:10px;background:var(--c-tint);pointer-events:none}.tl-wheel__col{position:relative;z-index:1;width:3.4em;height:calc(var(--item) * 3);padding:var(--item) 0;box-sizing:border-box;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;-webkit-mask:linear-gradient(to bottom,transparent,#000 32%,#000 68%,transparent);mask:linear-gradient(to bottom,transparent,#000 32%,#000 68%,transparent);outline:none}.tl-wheel__col::-webkit-scrollbar{display:none}.tl-wheel__col{cursor:grab}.tl-wheel__col.is-dragging{cursor:grabbing}.tl-wheel__col:focus-visible{background:#00000008}.tl-wheel__item{display:flex;align-items:center;justify-content:center;height:var(--item);scroll-snap-align:center;font-family:var(--font-display);font-size:1.1rem;color:var(--c);opacity:.5;cursor:pointer;user-select:none}.tl-wheel__item.is-sel{font-size:1.6rem;color:var(--c-dark);opacity:1}.tl-wheel__colon{position:relative;z-index:1;font-family:var(--font-display);font-size:1.6rem;color:var(--c-dark)}.tl-grid{display:grid;grid-template-columns:3fr 4fr;align-items:start}.tl-side{display:flex;flex-direction:column;gap:15px;min-width:0;container-type:inline-size;position:sticky;top:var(--gap);z-index:3}.tl-side .train-live__title,.tl-side .vc-ev__note,.tl-side .tl-controls,.tl-side .tl-time{width:100%;max-width:390px;margin:0 auto}.tl-side .tl-time{gap:15px}.tl-side .tl-status{position:static}@container (max-width: 340px){.tl-step{width:56px;height:56px;font-size:1.05rem}}@container (max-width: 260px){.tl-time{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tl-wheel{grid-column:1 / -1;grid-row:1;justify-self:center}.tl-step{grid-row:2;justify-self:center}.tl-date{font-size:.8rem}}@container train-live (max-width: 560px){.tl-grid{grid-template-columns:1fr;gap:8px}.tl-side{position:static}}@media (max-width: 767px){.tl-date{font-size:.85rem}}.tl-status{position:sticky;top:var(--gap);z-index:3;container-type:inline-size;width:100%;max-width:400px;margin:0 auto}.tl-off{margin:0;padding:16px;border-radius:12px;font-weight:700;text-align:center;background:var(--c-tint)}@media (max-width: 767px){.tl-status{position:static}}.tl-sign{--line: var(--track-outer);--sign-bg: #fbf7ea;display:flex;flex-direction:column;aspect-ratio:7 / 4;overflow:hidden;color:#1e1e1e;background:var(--sign-bg);box-shadow:0 0 0 1px #00000014,0 3px 8px #00000014;font-family:var(--font-base);font-feature-settings:normal}.tl-sign--inner{--line: var(--track-inner);--sign-bg: #f6faff}.tl-sign__top{display:flex;flex:none;flex-direction:column;justify-content:center;height:30%;padding:0 8cqw;background:var(--line)}.tl-sign__name{margin:0;text-align:center;font-size:round(7cqw,1px);font-weight:900;line-height:1.1;letter-spacing:.1em}.tl-sign__roma{margin:.6cqw 0 0;text-align:center;font-size:round(down,min(3cqw,calc(80cqw / var(--rlen, 20))),1px);font-weight:700;line-height:1.2;text-transform:uppercase;white-space:nowrap}.tl-sign__times{--mid-pad: 3cqw;display:grid;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;box-sizing:border-box;height:7cqw;padding:2cqw var(--mid-pad) 0;text-align:center;font-size:round(5cqw,1px);font-weight:900;line-height:1.2}.tl-sign__times span{margin-top:2.6cqw}.tl-sign__times span:last-child{transform:translate(-4cqw)}.tl-sign__times small{margin-left:.8cqw;font-size:round(2.3cqw,1px);font-weight:700;opacity:.75}.tl-sign__times .is-cur{margin-top:0;font-size:round(6cqw,1px);color:#c8322c}.tl-sign__times .is-cur small{font-size:round(2.6cqw,1px);opacity:1}.tl-sign__mid{--mid-pad: 3cqw;--cy: 9.5cqw;--tip: 3.4cqw;position:relative;flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;padding:4cqw var(--mid-pad) 0}.tl-sign__mid:before{content:"";position:absolute;left:2.7cqw;right:var(--tip);top:var(--cy);height:2.4cqw;transform:translateY(-50%);background:var(--line);clip-path:polygon(0 0,calc(100% - 1.2cqw) 0,100% 50%,calc(100% - 1.2cqw) 100%,0 100%)}.tl-sign__arrow{position:absolute;right:2.4cqw;top:var(--cy);width:5.6cqw;height:11.2cqw;overflow:visible;transform:translateY(-50%);fill:none;stroke:var(--line);stroke-width:5;stroke-linecap:square;stroke-linejoin:miter}.tl-sign__st{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.2}.tl-sign__num{display:grid;place-items:center;width:6.4cqw;height:6.4cqw;margin-top:2.3cqw;border:.9cqw solid var(--line);border-radius:50%;font-size:round(1.9cqw,1px);font-weight:900;line-height:1.05;background:#fff}.tl-sign__st--cur .tl-sign__num{width:11cqw;height:11cqw;margin-top:0;border:1.1cqw solid #e2403a;font-size:round(4cqw,1px)}.tl-sign.is-here .tl-sign__st--cur .tl-sign__num{animation:tl-here 1.6s ease-in-out infinite}@keyframes tl-here{50%{box-shadow:0 0 0 2cqw #e2403a40}}.tl-sign__st b{margin-top:.8cqw;font-size:round(down,min(3.4cqw,calc(26cqw / var(--len, 4))),1px);font-weight:900;white-space:nowrap}.tl-sign__st small{margin-top:.3cqw;font-size:round(2.3cqw,1px);font-weight:500;white-space:nowrap}.tl-sign__st--next{transform:translate(-4cqw)}.tl-sign__st small.is-long{max-width:100%;white-space:normal;text-wrap:balance}.tl-sign__train{position:absolute;z-index:2;left:calc(var(--p) * 100%);top:var(--cy);width:8cqw;height:8cqw;overflow:visible;transform:translate(-50%,-50%)}.tl-sign__dir{margin:0 2.7cqw 2.2cqw;padding:.7cqw;border-radius:999px;font-size:round(3.4cqw,1px);font-weight:900;line-height:1.2;text-align:center;background:var(--line)}.tl-sign__dir span{margin-left:4cqw;font-weight:700}@media (prefers-reduced-motion: reduce){.tl-sign.is-here .tl-sign__st--cur .tl-sign__num{animation:none}}.train-live{--track-outer: #F2A31B;--track-inner: #4BA9E3}.tl-map-wrap{min-width:0;padding:0 5px}.tl-map{display:block;max-height:750px;margin:0 auto;overflow:visible;font-family:var(--font-base);text-rendering:geometricPrecision}.tl-sub__line line,.tl-sub__line polyline{fill:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;opacity:.35}.tl-sub__line circle{fill:#fff;stroke-width:2.5}.tl-sub__line--tozai{--sub: #F39800}.tl-sub__line--nanboku{--sub: #00A040}.tl-sub__line--toho{--sub: #0079C2}.tl-sub__line line,.tl-sub__line polyline,.tl-sub__line circle{stroke:var(--sub)}.tl-sub__st{font-size:10.5px;font-weight:700;fill:#6b6b78}.tl-sub__name{font-size:10.5px;font-weight:900;fill:var(--sub)}.tl-sub__link{stroke:#9b98b5;stroke-width:1.5;stroke-dasharray:2 3}.tl-sub__odori rect{fill:#fff;stroke:#9b98b5;stroke-width:1.5}.tl-sub__odori text{font-size:11px;font-weight:900;fill:#55536b}.tl-zepp path{fill:var(--col-ink-primary)}.tl-zepp circle{fill:#fff}.tl-zepp text{font-size:10.5px;font-weight:900;fill:var(--col-primary-dark);paint-order:stroke;stroke:#fff;stroke-width:3px}.tl-sync path{fill:#d08100}.tl-sync text{fill:#8f5900}.tl-statue path{fill:#39c5d9}.tl-statue text{fill:#1f7f8c}.tl-map__track>path:first-child{fill:none;stroke-width:5;stroke-linejoin:round;transition:opacity .3s,stroke-width .3s}.tl-map__track--outer>path:first-child{stroke:var(--track-outer)}.tl-map__track--inner>path:first-child{stroke:var(--track-inner)}.tl-map__arrows{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.tl-map__track--outer .tl-map__arrows{stroke:var(--track-outer)}.tl-map__track--inner .tl-map__arrows{stroke:var(--track-inner)}.tl-map__track{transition:opacity .3s}.tl-map[data-dir=outer] .tl-map__track--inner,.tl-map[data-dir=inner] .tl-map__track--outer{opacity:.18}.tl-map[data-dir=outer] .tl-map__track--outer>path:first-child,.tl-map[data-dir=inner] .tl-map__track--inner>path:first-child{stroke-width:7}.tl-map__st circle{fill:var(--col-paper);stroke:var(--col-ink);stroke-width:2}.tl-map__st.is-transfer circle{fill:#ffe45c}.tl-map__sc{font-size:8.5px;font-weight:900;text-anchor:middle;fill:var(--col-ink)}.tl-map__label text{font-size:14px;font-weight:700;fill:var(--col-ink);paint-order:stroke;stroke:var(--col-paper);stroke-width:4px;stroke-linejoin:round}.tl-map__time{font-size:12.5px;font-weight:900;fill:var(--c)}.tl-map__st.is-next circle{stroke:var(--col-ink-primary);stroke-width:4}.tl-map__st.is-current circle{fill:var(--col-ink-primary);stroke:var(--col-ink-primary)}.tl-map__st.is-current .tl-map__sc{fill:var(--col-paper)}.tl-map__st.is-current .tl-map__label text,.tl-map__st.is-next .tl-map__label text{fill:var(--col-ink-primary)}.tl-map__heading path{fill:url(#tlBrandGrad);stroke:var(--col-paper);stroke-width:2.5;stroke-linejoin:round;animation:tl-nudge 1.2s ease-in-out infinite}@keyframes tl-nudge{50%{transform:translate(4px)}}@media (prefers-reduced-motion: reduce){.tl-map__heading path,.tl-map__pulse{animation:none}}.tl-map__body{fill:url(#tlBrandGrad);stroke:var(--col-paper);stroke-width:3}.tl-map__win{fill:var(--col-ink-primary)}.tl-map__pulse{fill:url(#tlBrandGrad);opacity:.35;transform-box:fill-box;transform-origin:center;animation:tl-pulse 1.8s ease-out infinite}@keyframes tl-pulse{0%{transform:scale(1);opacity:.45}to{transform:scale(1.9);opacity:0}}.tl-trips{margin-top:18px;font-size:.85rem}.tl-trips summary{cursor:pointer;font-weight:700;color:var(--c)}.tl-table{width:100%;max-width:420px;margin-top:10px;border-collapse:collapse;text-align:center}.tl-table th{padding:6px;font-size:.78rem;color:var(--col-paper);background:var(--c)}.tl-table td{padding:4px 6px;font-family:var(--font-display);border-bottom:1px solid var(--c-tint)}.tl-table td small{font-family:var(--font-base);font-size:.68rem}.tl-table tr.is-current td{background:var(--col-primary-light)}.venues{margin-top:var(--gap);scroll-margin-top:var(--gap)}.section-title{margin:0 0 16px;font-size:1.3rem;font-weight:900;text-align:center}.section-title:after{content:"";display:block;width:80px;height:3px;margin:6px auto 0;background:var(--gold-gradient)}.venue-list{display:grid;grid-template-columns:1fr;gap:14px}.venue-list__title{margin:26px 0 2px}.venue-card{--pad: 12px;padding:var(--pad);border-radius:16px;border-top:6px solid var(--c);background:var(--col-paper);box-shadow:0 4px 16px #4f458f14;scroll-margin-top:var(--gap)}.venue-card--wide{grid-column:1 / -1}@media (max-width: 767px){.venue-card{--pad: 12px;padding:14px var(--pad) var(--pad)}}.venue-card__name{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:1.05rem;font-weight:900;color:var(--c-dark)}.venue-card__name{flex-wrap:wrap}.venue-card__name>small:not(.venue-card__area){font-size:.75em}.venue-card__area{font-size:.75rem;font-weight:700;color:var(--c);opacity:.85}.venue-card__letter{display:inline-grid;place-items:center;flex:none;width:1.8em;height:1.8em;border-radius:50%;font-family:var(--font-display);font-weight:400;color:var(--col-paper);background:var(--c)}.venue-card__info{display:grid;grid-template-columns:auto 1fr;max-width:640px;gap:4px 10px;margin:0;font-size:.8rem}.venue-card__info dt{font-weight:700;color:var(--c)}.venue-card__info dd{margin:0;font-weight:700}.vc-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:10px;align-items:start;margin:12px 0 0;padding:0;list-style:none}.vc-ev{padding:12px;border-radius:12px;background:var(--c-tint);scroll-margin-top:var(--gap)}.vc-ev.is-flash,.venue-card.is-flash{animation:vc-flash 1.8s ease-out}.venue-card--single,.venue-card--live{background:var(--c-tint)}.venue-card--live .train-live{margin:16px calc(-1 * var(--pad)) calc(-1 * var(--pad));padding:14px var(--pad) var(--pad);border-radius:0 0 16px 16px;background:var(--col-paper)}.vc-live__period{margin:0;font-size:.88rem;font-weight:700;color:var(--c-dark)}.vc-live__time{margin:2px 0 0;font-family:var(--font-display);font-size:1.3rem;color:var(--c-dark)}.vc-single__info{margin-top:8px;align-items:baseline}.vc-single__info dd.vc-time{font-family:var(--font-display);font-weight:400;font-size:1.3rem;line-height:1.3;color:var(--c-dark)}@keyframes vc-flash{0%,30%{box-shadow:0 0 0 3px var(--col-ink-primary)}to{box-shadow:0 0 0 3px transparent}}.vc-ev__head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.vc-days{margin:10px 0 0;font-family:var(--font-display);font-size:1.3rem;color:var(--c-dark)}.vc-ev__days{font-family:var(--font-display);font-size:1.3rem;color:var(--c-dark)}.vc-ev__days small,.vc-days small{font-family:var(--font-base);font-weight:700;font-size:.85rem}.venue-card.venue-card--fan{border:8px solid transparent;background:linear-gradient(var(--col-paper),var(--col-paper)) padding-box,repeating-linear-gradient(-45deg,var(--col-fan) 0 8px,transparent 8px 16px) border-box}.venue-card .ev__badges{justify-content:flex-start;margin:0}.vc-ev__title{margin:6px 0 0;font-size:1rem;font-weight:900;line-height:1.4;color:var(--c-dark)}.vc-ev__title small{font-size:.78em;color:var(--c)}.vc-ev__times{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;font-size:.82rem}.vc-ev__times div{display:flex;gap:6px;align-items:baseline}.vc-ev__times dt{font-size:.85rem;font-weight:700;color:var(--c)}.vc-ev__times dd{margin:0;font-family:var(--font-display);font-size:1.3rem;color:var(--c-dark)}.vc-time__note{font-family:var(--font-base);font-weight:400;font-size:.8rem}.vc-ev__note{margin:8px 0 0;padding-left:10px;font-size:.78rem;border-left:3px solid var(--col-gold)}.vc-ev__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.vc-ev__links a{padding:5px 14px;border-radius:999px;font-size:.8rem;font-weight:700;text-decoration:none;color:var(--col-paper);background:var(--c)}.vc-ev__links a:hover{filter:brightness(1.1)}.vc-wait{margin-top:10px;border-radius:10px;background:var(--col-paper);scroll-margin-top:var(--gap)}.vc-wait summary{padding:8px 12px;font-size:.85rem;font-weight:700;color:var(--c-dark);cursor:pointer}.vc-wait__body{padding:0 12px 12px}.vc-wait__mark{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 0;font-size:.8rem}.vc-wait__mark .ev-mark__label{position:static}.vc-image{display:block;max-width:480px;border:2px solid var(--c-light);border-radius:10px;overflow:hidden;background:var(--col-paper-muted)}.vc-image img{display:block;width:100%;height:auto}.to-board{position:fixed;right:var(--gap);bottom:var(--gap);z-index:20;padding:10px 16px;border:none;border-radius:999px;font-weight:900;font-size:.85rem;color:var(--col-paper);background:var(--brand-gradient);box-shadow:0 6px 18px #4f458f59;cursor:pointer;transition:opacity .2s,transform .2s}.to-board[hidden]{display:block;opacity:0;transform:translateY(12px);pointer-events:none}@media (max-width: 640px){.board__hint{display:block}}.install{position:fixed;left:var(--gap);bottom:var(--gap);z-index:30;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:10px;container:install / inline-size;width:min(420px,calc(100% - var(--gap) * 2));padding:12px 10px 10px;overflow:hidden;border-radius:16px;background:var(--col-paper);box-shadow:0 10px 30px #4f458f4d;animation:install-in .3s ease-out}.install[hidden]{display:none}@keyframes install-in{0%{transform:translateY(16px);opacity:0}}.install:before,.install:after{content:"";position:absolute;top:0;left:0;right:0;height:4px}.install:before{background:var(--col-primary-light)}.install:after{background:var(--col-ink-primary);transform-origin:left;animation:install-timer 10s linear forwards}.install:is(:hover,:focus-within):after{animation-play-state:paused}@keyframes install-timer{to{transform:scaleX(0)}}.install.is-leaving{animation:install-out .3s ease-in forwards;pointer-events:none}@keyframes install-out{to{transform:translateY(16px);opacity:0}}.install__icon{grid-column:1;grid-row:1 / span 2;align-self:start;width:44px;height:44px;border-radius:11px}.install__body{display:contents}.install__title{grid-column:2 / -1;grid-row:1;padding-right:30px;margin:0;font-size:1rem;font-weight:900;line-height:1.3;white-space:nowrap;color:var(--col-primary-dark)}.install__text{grid-column:2;grid-row:2;margin:2px 0 0;font-size:.82rem;line-height:1.45}.install__share{width:1.1em;height:1.1em;vertical-align:-.2em;color:#0a84ff}.install__btn{grid-column:3;grid-row:2;align-self:end;justify-self:end;padding:5px 18px;border:none;border-radius:999px;font-weight:900;font-size:.85rem;color:var(--col-paper);background:var(--brand-gradient);cursor:pointer}@container install (max-width: 350px){.install__icon{width:36px;height:36px;border-radius:9px}.install__text{font-size:.78rem}.install__btn{padding:5px 12px;font-size:.8rem}}@container install (max-width: 331px){.install__text{grid-column:2 / -1}.install__btn{grid-column:2 / -1;grid-row:3;margin-top:6px}}.install__close{position:absolute;top:12px;right:10px;width:24px;height:24px;margin:0;border:none;border-radius:50%;font-size:.95rem;line-height:1;background:var(--col-secondary-lighter);cursor:pointer}@media (max-width: 640px){.install{left:8px;right:8px;width:auto;bottom:calc(76px + var(--safe-b))}}.migrate{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:16px;background:#4f458f73;animation:install-in .3s ease-out}.migrate__card{position:relative;width:min(400px,100%);padding:20px 18px 18px;border-radius:16px;text-align:center;background:var(--col-paper);box-shadow:0 10px 30px #4f458f4d}.migrate__title{margin:0 24px 8px;font-size:1.05rem;font-weight:900;line-height:1.4;color:var(--col-primary-dark)}.migrate__icons{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 12px;font-size:1.3rem;font-weight:900;color:var(--col-secondary)}.migrate__icons img{width:56px;height:56px;border-radius:22%;box-shadow:0 2px 8px #4f458f40}.migrate__text{margin:0 0 14px;font-size:.88rem;line-height:1.6}.migrate__btn{display:inline-block;padding:8px 24px;border-radius:999px;font-weight:900;color:var(--col-paper);text-decoration:none;background:var(--brand-gradient)}.migrate__close{position:absolute;top:12px;right:12px;width:26px;height:26px;margin:0;border:none;border-radius:50%;font-size:.95rem;line-height:1;background:var(--col-secondary-lighter);cursor:pointer}.app-nav__item{display:flex;align-items:center;justify-content:center;border-radius:12px;font-weight:900;line-height:1.2;letter-spacing:0;white-space:nowrap;color:var(--col-ink);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s}.app-nav__item:hover{background:var(--col-secondary-lighter)}.app-nav__item[aria-current=page]{color:var(--col-paper);background:var(--brand-gradient)}.app-nav__icon{flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app-view{position:fixed;z-index:25;inset:0;padding-left:var(--nav-w);background:radial-gradient(circle at 10% 0%,var(--col-primary-light) 0,transparent 40%),radial-gradient(circle at 100% 20%,var(--col-secondary-light) 0,transparent 35%),var(--col-secondary-lighter);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s,visibility 0s .18s}.app-view.is-open{z-index:26;visibility:visible;opacity:1;pointer-events:auto;transition:opacity .18s}.app-view.is-behind{transition:opacity 0s .18s,visibility 0s .18s}@media (prefers-reduced-motion: reduce){.app-view,.app-view.is-open{transition:none}}.app-view__frame{display:block;width:100%;height:100%;border:0}.is-view-open{overflow:hidden}@media (min-width: 1024px){.has-nav{--nav-w: calc(var(--gap) + 68px);--glass-btn: 60px;--glass-radius: 22px}.has-nav body{padding-left:var(--nav-w)}.app-nav{position:fixed;top:0;left:0;z-index:30;display:flex;flex-direction:column;gap:var(--gap);width:calc(var(--nav-w) + var(--gap));max-height:100dvh;padding:var(--gap);overflow-y:auto;scrollbar-width:none;pointer-events:none}.app-nav::-webkit-scrollbar{display:none}.app-nav .day-nav{position:static;flex-direction:column;gap:var(--gap);width:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.glass-bar{flex-direction:column}.glass-bar>:not(.glass-glider){flex:none;height:var(--glass-btn)}.app-nav__item{flex-direction:column;gap:3px;font-size:.6rem}.app-nav__icon{width:24px;height:24px}.glass-glider{right:4px;height:calc((100% - 8px) / var(--n, 1));transform:translateY(calc(var(--i, 0) * 100%))}.is-pressed>.glass-glider{scale:1.12 1.06}.is-dragging>.glass-glider{scale:1.22 1.12}.has-nav .day-nav .day-chip--train{height:var(--glass-btn);padding:0 2px;font-size:.66rem}.has-nav .day-chip--train .day-chip__label{white-space:normal;text-overflow:clip}}@media (min-width: 1024px) and (max-height: 500px){.app-nav{padding-block:calc(var(--gap) / 2)}}@media (max-width: 1023px){.has-nav{--nav-w: 0px;--glass-h: 50px;--glass-gap: var(--gap);--glass-radius: 999px;--nav-h: calc(var(--glass-h) + var(--glass-gap) * 2 + var(--safe-b))}.has-nav:not(.has-views){--nav-h: calc(var(--glass-gap) + var(--safe-b))}.app-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;gap:var(--gap);height:var(--nav-h);padding:var(--glass-gap) var(--gap) calc(var(--glass-gap) + var(--safe-b));pointer-events:none}.glass-bar{flex:1;min-width:0;height:var(--glass-h)}.glass-bar>:not(.glass-glider){flex:1 1 0}.app-nav__item{flex-direction:column;gap:1px;font-size:.62rem}.app-nav__icon{width:18px;height:18px}.glass-glider{bottom:4px;width:calc((100% - 8px) / var(--n, 1));transform:translate(calc(var(--i, 0) * 100%))}.is-pressed>.glass-glider{scale:1.06 1.12}.is-dragging>.glass-glider{scale:1.12 1.22}.has-nav .day-nav{position:absolute;left:0;right:0;bottom:var(--glass-gap);z-index:20;width:auto;padding:0 var(--gap);border:0;border-radius:0;background:none;box-shadow:none;pointer-events:none}.has-nav .day-nav .day-chip--train{flex:none;height:var(--glass-h);padding:0 calc(var(--glass-h) * .28)}.has-nav .day-chip--train .day-chip__label{overflow:visible;text-overflow:clip}.has-nav body{padding-bottom:var(--nav-h)}}@media (max-width: 640px){.has-nav .board{height:var(--app-h, 100dvh)}.has-nav .day-nav{bottom:var(--nav-h)}.has-nav .board__hint{position:absolute;left:50%;bottom:calc(var(--nav-h) + var(--glass-h) + var(--glass-gap));z-index:20;margin:0;padding:2px 10px;border-radius:999px;white-space:nowrap;translate:-50% 0;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);pointer-events:none}.has-nav .tt-scroll{padding-bottom:calc(var(--nav-h) + var(--glass-h) + 32px)}.has-nav .install{left:var(--gap);right:var(--gap);width:auto;bottom:calc(var(--nav-h) + var(--glass-h) + var(--glass-gap))}.has-nav .to-board{right:var(--gap);bottom:var(--nav-h);display:flex;align-items:center;height:var(--glass-h);padding:0 calc(var(--glass-h) * .28);font-size:.78rem;-webkit-tap-highlight-color:transparent}.has-nav .to-board[hidden]{display:flex}.app-view{inset:0}}@media (min-width: 641px) and (max-width: 1023px){.app-nav .day-nav{display:contents}.app-nav #dayNav,.app-nav .day-chip--train{order:-1}.app-nav .glass-bar{flex:var(--n, 1) 1 8px}.has-nav:not(.has-views){--nav-h: calc(var(--glass-h) + var(--glass-gap) * 2 + var(--safe-b))}.has-nav:not(.has-views) .app-nav #dayNav{max-width:400px}.app-nav{background:var(--col-secondary-lighter)}.has-nav .board,.has-nav .split{height:calc(var(--app-h, 100dvh) - var(--gap) - var(--nav-h))}.has-nav .install{bottom:calc(var(--nav-h) + var(--gap))}.app-view{inset:0 0 calc(var(--nav-h) - var(--gap)) 0}}.glass-bar{position:relative;display:flex!important;padding:4px;border-radius:var(--glass-radius);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 0 0 1px #ffffff8c,inset 0 1px 1px #fffc,0 2px 8px #4f458f29;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}.glass-bar>:not(.glass-glider){position:relative;z-index:1;min-width:0;-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;transition:color .2s}.glass-glider{position:absolute;top:4px;left:4px;display:block;border-radius:calc(var(--glass-radius) - 4px);background:var(--glass-knob-bg);-webkit-backdrop-filter:var(--glass-knob-blur);backdrop-filter:var(--glass-knob-blur);box-shadow:inset 0 1px 1px #fffffff2,inset 0 -1px 2px #4f458f14,0 2px 10px #4f458f29;transition:transform .5s cubic-bezier(.3,1.35,.5,1),scale .25s cubic-bezier(.3,1.35,.5,1),background-color .2s}.is-dragging>.glass-glider{background-color:var(--glass-knob-drag-bg);transition:scale .25s cubic-bezier(.3,1.35,.5,1),background-color .2s}@media (prefers-reduced-motion: reduce){.glass-glider{transition:none}}.glass-bar .app-nav__item{border-radius:calc(var(--glass-radius) - 4px)}.glass-bar .app-nav__item:hover,.glass-bar .app-nav__item[aria-current=page]{background:none}.glass-bar .app-nav__item[aria-current=page],.glass-bar .app-nav__item.is-hover{color:var(--col-ink-primary)}.is-dragging .app-nav__item[aria-current=page]:not(.is-hover){color:var(--col-ink)}.glass-bar .app-nav__item:focus-visible{outline:2px solid var(--col-ink-primary);outline-offset:-2px}.glass-bar .day-chip{width:auto;min-height:0;padding:0;border:0;border-radius:calc(var(--glass-radius) - 4px);background:none}.glass-bar .day-chip:hover{background:none}.glass-bar .day-chip.is-active,.glass-bar .day-chip.is-hover{color:var(--col-ink-primary);background:none}.is-dragging .day-chip.is-active:not(.is-hover){color:var(--col-ink)}.glass-bar .day-chip:focus-visible{outline:2px solid var(--col-ink-primary);outline-offset:-2px}.has-nav .day-nav .day-chip--train{flex:none;border:0;border-radius:var(--glass-radius);background:var(--glass-dark-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 1px #ffffff40,0 2px 8px #4f458f40;pointer-events:auto;-webkit-tap-highlight-color:transparent}[data-wd=weekday]{color:var(--col-weekday)}[data-wd=sat]{color:var(--col-sat)}[data-wd=sun]{color:var(--col-sun)}.day-chip.is-active [data-wd]{color:var(--col-paper)}.glass-bar .day-chip.is-active [data-wd=weekday]{color:var(--col-weekday)}.glass-bar .day-chip.is-active [data-wd=sat]{color:var(--col-sat)}.glass-bar .day-chip.is-active [data-wd=sun]{color:var(--col-sun)}.tt.is-sorting .tt-col .ev,.tt.is-sorting .tt-col .ev-wait{pointer-events:none}.tt-head-cell.is-off>.tt-head{opacity:.35}.tt-col.is-off{background:var(--col-paper-muted)}.tt-col.is-off>*{opacity:.35}.tt-vis{position:absolute;top:calc(100% + 6px);left:6px;right:6px;z-index:1;display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:3.6em;padding:4px;border:2px solid var(--col-logo-dark);border-radius:12px;font-size:.75rem;font-weight:900;line-height:1.3;text-align:center;word-break:keep-all;overflow-wrap:anywhere;color:var(--col-logo-dark);background:var(--col-paper);box-shadow:0 2px 6px #4f458f40;cursor:pointer;touch-action:manipulation}.tt-head-cell.is-off .tt-vis{color:var(--col-paper);background:var(--col-logo-dark)}.tt-vis:disabled{opacity:.45;cursor:default}.tt-move{position:absolute;top:calc(100% + 12px + 2.7rem);left:6px;right:6px;z-index:1;display:flex;flex-direction:column;gap:6px}.tt-move button{box-sizing:border-box;width:calc(100% - 14px);height:2.8rem;padding:0 4px;border:2px solid var(--col-secondary-dark);border-radius:12px;font-size:.85rem;font-weight:900;line-height:1;white-space:nowrap;color:var(--col-secondary-dark);background:var(--col-paper);box-shadow:0 2px 6px #4f458f40;cursor:pointer;touch-action:manipulation}.tt-move button+button{align-self:flex-end}.tt-move button[data-move$=":-1"]{border-color:var(--col-secondary);color:var(--col-secondary)}.tt-move button[data-move$=":1"]{border-color:var(--col-primary);color:var(--col-primary)}.tt-move button:disabled{opacity:.35;cursor:default}.tt-sort.is-on{color:var(--col-paper);background:var(--brand-gradient) border-box}
