:root{color-scheme:dark;--color-void: oklch(12.311% .0342 256.84);--color-deep-navy: oklch(16.009% .04765 255.04);--color-tech-blue: oklch(30.51% .06134 237.42);--color-electric-cyan: oklch(79.504% .13606 216.35);--color-signal-cyan: oklch(68.613% .12658 226.51);--color-acid-lime: oklch(90.139% .21586 121.8);--color-lime-shade: oklch(70.008% .16501 121.45);--color-ice-white: oklch(98.51% .005 256.84);--color-steel: oklch(75.573% .006 256.84);--color-surface: oklch(16.009% .04765 255.04 / .88);--color-surface-solid: oklch(16.009% .04765 255.04);--color-surface-raised: oklch(21% .055 249);--color-rule: oklch(79.504% .13606 216.35 / .28);--color-rule-strong: oklch(79.504% .13606 216.35 / .64);--color-text: oklch(98.51% .005 256.84);--color-text-muted: oklch(75.573% .006 256.84);--color-focus: oklch(90.139% .21586 121.8);--color-danger: oklch(70% .19 25);--color-shadow: oklch(8% .02 256.84 / .52);--color-accent: var(--color-acid-lime);--color-accent-ink: var(--color-void);--font-display: "Inter Display", "Avenir Next Condensed", "Hiragino Kaku Gothic ProN", sans-serif;--font-body: "Noto Sans CJK JP", "Hiragino Sans", "Yu Gothic", sans-serif;--font-data: "Noto Sans Mono", "SFMono-Regular", Consolas, monospace;--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: clamp(1.25rem, 3vw, 1.5rem);--text-2xl: clamp(1.65rem, 5vw, 2.4rem);--text-display-s: clamp(2.75rem, 13vw, 6.5rem);--text-display: clamp(4.25rem, 22vw, 11rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-instant: 0ms;--dur-fast: .12s;--dur-normal: .22s;--dur-tick: .5s;--rule-hair: 1px;--rule-emphasis: 2px;--radius-xs: .25rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.25rem;--radius-pill: 999px;--content-max: 76rem;--reading-max: 48rem;--tap-min: 2.75rem;--banner-height: 4.25rem;--z-sticky: 10;--z-sticky-nav: 30}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--color-void);scroll-behavior:smooth;scroll-padding-top:calc(var(--banner-height) + var(--space-lg))}body{margin:0;min-width:0;overscroll-behavior-y:contain;min-height:100vh;overflow-x:clip;background:radial-gradient(circle at 82% 7%,color-mix(in oklch,var(--color-electric-cyan) 15%,transparent),transparent 31rem),linear-gradient(color-mix(in oklch,var(--color-rule) 28%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklch,var(--color-rule) 28%,transparent) 1px,transparent 1px),var(--color-void);background-size:auto,3rem 3rem,3rem 3rem,auto;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;line-height:1.7;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.52}img,svg{display:block}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{min-width:0;font-family:var(--font-display);line-height:1.08;overflow-wrap:anywhere}.nav-pill{position:fixed;z-index:var(--z-sticky-nav);top:max(var(--space-sm),env(safe-area-inset-top));left:50%;display:inline-flex;width:max-content;max-width:calc(100vw - (var(--space-md) * 2));min-height:var(--tap-min);align-items:center;gap:var(--space-2xs);padding:var(--space-2xs);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-pill);background:color-mix(in oklch,var(--color-deep-navy) 84%,transparent);box-shadow:0 1rem 2.5rem -1.5rem var(--color-shadow);-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);transform:translate(-50%);transition:transform .22s ease,opacity .22s ease}.nav-pill.is-hidden{transform:translate(-50%) translateY(calc(-100% - var(--space-lg)));opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.nav-pill{transition:none}}.nav-pill a{display:inline-flex;min-height:var(--tap-min);align-items:center;justify-content:center;padding-inline:var(--space-xs);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-sm);line-height:1;text-decoration:none;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.nav-pill a:hover{background:color-mix(in oklch,var(--color-tech-blue) 74%,transparent);color:var(--color-text)}.nav-pill a:active{transform:scale(.97)}.nav-pill .nav-pill__mark{display:inline-flex;width:var(--tap-min);flex:none;align-items:center;padding:var(--space-3xs);pointer-events:none;user-select:none;-webkit-user-select:none}.nav-pill__mark img{width:100%;height:auto;border-radius:50%;transform:translateY(2px)}.app-shell{min-height:100vh}.home,.schedule,.guide,.foot-line{width:min(calc(100% - (var(--space-md) * 2)),var(--content-max));margin-inline:auto}.home{padding-top:calc(var(--banner-height) + var(--space-2xl))}.hero-field{position:relative;display:grid;min-height:31rem;align-items:center;border-bottom:var(--rule-hair) solid var(--color-rule-strong);isolation:isolate}.hero-copy{position:relative;z-index:2;max-width:48rem;padding-block-start:var(--space-xl);padding-block-end:var(--space-2xl)}.hero-event{max-width:32rem;color:var(--color-electric-cyan);font-size:var(--text-sm);font-variant-numeric:tabular-nums;letter-spacing:.08em}.hero-copy h1{margin-top:var(--space-sm);color:var(--color-text);font-size:var(--text-2xl);letter-spacing:.02em}.hero-stat{display:flex;align-items:baseline;gap:var(--space-xs);margin-top:var(--space-lg);font-variant-numeric:tabular-nums lining-nums}.hero-stat__figure{color:var(--color-ice-white);font-family:var(--font-display);font-size:var(--text-display);font-weight:800;letter-spacing:-.07em;line-height:.78}.hero-stat__unit{color:var(--color-acid-lime);font-family:var(--font-display);font-size:var(--text-xl);font-weight:800}.hero-stat__clock{margin-top:var(--space-sm);color:var(--color-electric-cyan);font-family:var(--font-data);font-size:var(--text-lg);font-variant-numeric:tabular-nums;letter-spacing:.06em}.hero-target{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-md);margin-top:var(--space-lg);color:var(--color-text-muted)}.hero-target time{color:var(--color-text);font-variant-numeric:tabular-nums}.hero-mark{position:absolute;z-index:1;right:0;display:grid;width:min(35vw,24rem);place-items:center;opacity:.74}.hero-mark:before{position:absolute;width:74%;aspect-ratio:1;border:var(--rule-hair) solid var(--color-rule-strong);border-radius:50%;content:""}.hero-mark img{position:relative;width:100%;height:auto;filter:drop-shadow(0 1.5rem 2rem var(--color-shadow))}@keyframes refresh-spin{to{transform:rotate(1turn)}}.content-warning{width:min(calc(100% - (var(--space-md) * 2)),var(--content-max));margin-inline:auto}.content-warning{margin-top:var(--space-md);padding:var(--space-sm);border-left:var(--rule-emphasis) solid var(--color-acid-lime);color:var(--color-text-muted)}.fact-list dt{color:var(--color-text-muted);font-size:var(--text-sm)}.schedule{padding-block:var(--space-3xl);scroll-margin-top:calc(var(--banner-height) + var(--space-md))}.section-index{width:min(calc(100% - (var(--space-md) * 2)),var(--content-max));margin:var(--space-lg) auto 0}.section-index ul{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin:0;padding:0;list-style:none}.section-index a{display:inline-flex;min-height:var(--tap-min);align-items:center;padding-inline:var(--space-sm);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-pill);background:color-mix(in oklch,var(--color-deep-navy) 60%,transparent);color:var(--color-text-muted);font-size:var(--text-sm);line-height:1;text-decoration:none;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.section-index a:hover{border-color:var(--color-electric-cyan);color:var(--color-text)}.section-index a:active{border-color:var(--color-acid-lime);color:var(--color-acid-lime);transform:scale(.97)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-lg)}.section-heading h2{font-size:var(--text-2xl)}.section-heading p{color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap}.timeline{margin:0;padding:0;list-style:none}.timeline__entry{position:relative;display:grid;grid-template-columns:5.5rem 1fr auto;min-height:6.5rem;align-items:start;gap:var(--space-md);padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule)}.timeline__entry:before{position:absolute;top:2.45rem;left:4.7rem;width:.5rem;height:.5rem;border:var(--rule-hair) solid var(--color-electric-cyan);border-radius:50%;background:var(--color-void);content:""}.timeline__entry.is-key:before{border-color:var(--color-acid-lime);background:var(--color-acid-lime);box-shadow:0 0 0 .35rem color-mix(in oklch,var(--color-acid-lime) 12%,transparent)}.timeline__entry time{color:var(--color-electric-cyan);font-family:var(--font-data);font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.timeline__entry h3{font-size:var(--text-lg)}.timeline__entry p{margin-top:var(--space-2xs);color:var(--color-text-muted)}.guide{display:grid;grid-template-columns:1fr;gap:var(--space-md);padding-bottom:var(--space-3xl)}.guide-section{min-width:0;padding:var(--space-lg) var(--space-md) var(--space-xl);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-lg);background:var(--color-surface);scroll-margin-top:calc(var(--banner-height) + var(--space-md))}.guide-section header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-sm)}.guide-section h2{max-width:24rem;font-size:var(--text-xl);overflow-wrap:anywhere}.fact-list{margin-top:var(--space-lg)}.fact-list div{display:grid;grid-template-columns:minmax(5rem,.4fr) minmax(0,1fr);gap:var(--space-md);padding-block:var(--space-xs);border-top:var(--rule-hair) solid var(--color-rule)}.fact-list dd{color:var(--color-text);overflow-wrap:anywhere}.guide-section--rules .fact-list div{display:block;padding-block:var(--space-sm)}.guide-section--rules .fact-list dt{color:var(--color-acid-lime);font-family:var(--font-display);font-size:var(--text-base);font-weight:800;letter-spacing:.02em}.guide-section--rules .fact-list dd{margin-top:var(--space-2xs);color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.85}.item-list{display:grid;gap:var(--space-xs);margin:var(--space-lg) 0 0;padding:0;list-style:none}.item-list li{position:relative;padding-left:var(--space-md)}.item-list li:before{position:absolute;top:.78em;left:0;width:.38rem;height:.38rem;border-radius:50%;background:var(--color-acid-lime);content:""}.section-links{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-lg)}.section-links a{display:inline-flex;min-height:var(--tap-min);align-items:center;gap:var(--space-2xs);padding-inline:var(--space-sm);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-pill);color:var(--color-electric-cyan);text-decoration:none;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.section-links a:hover{border-color:var(--color-acid-lime);color:var(--color-acid-lime)}.section-links a:active{transform:scale(.98)}.foot-line{padding:var(--space-lg) 0 max(var(--space-xl),env(safe-area-inset-bottom));border-top:var(--rule-hair) solid var(--color-rule-strong);color:var(--color-text-muted);font-size:var(--text-sm)}.foot-line p{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-xs) var(--space-md)}.preview-banner{position:fixed;z-index:calc(var(--z-sticky-nav) + 1);right:var(--space-sm);bottom:max(var(--space-sm),env(safe-area-inset-bottom));padding:var(--space-2xs) var(--space-sm);border:var(--rule-hair) solid var(--color-acid-lime);border-radius:var(--radius-pill);background:var(--color-surface-solid);color:var(--color-acid-lime);font-size:var(--text-xs);white-space:nowrap}.login-shell,.loading-shell,.empty-shell{display:grid;min-height:100vh;place-items:center;padding:var(--space-xl) var(--space-md)}.login-panel{display:grid;width:min(100%,58rem);grid-template-columns:minmax(12rem,.85fr) minmax(18rem,1.15fr);gap:var(--space-xl);align-items:center;padding-block:var(--space-xl);border-block:var(--rule-hair) solid var(--color-rule-strong)}.login-form,.login-status{grid-column:2}.login-form{display:grid;gap:var(--space-xs)}.login-form label{color:var(--color-text-muted);font-size:var(--text-sm)}.login-form input{width:100%;font-size:max(16px,var(--text-base));min-height:3.5rem;padding-inline:var(--space-sm);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-surface-solid);color:var(--color-text);caret-color:var(--color-acid-lime);outline:2px solid transparent;outline-offset:1px;transition:border-color var(--dur-fast) var(--ease-out)}.login-form input:hover:not(:disabled),.login-form input:focus{border-color:var(--color-electric-cyan)}.login-form input:active:not(:disabled){border-color:var(--color-acid-lime)}.login-form input[aria-invalid=true]{border-color:var(--color-danger)}.login-form input:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.login-form input:disabled{cursor:not-allowed;opacity:.55}.login-form button{display:inline-flex;min-height:3.5rem;align-items:center;justify-content:center;gap:var(--space-2xs);margin-top:var(--space-2xs);padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-acid-lime);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-ink);cursor:pointer;font-weight:800;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.login-form button:hover:not(:disabled){background:var(--color-ice-white);color:var(--color-void)}.login-form button:active:not(:disabled){transform:scale(.985)}.login-status{min-height:1lh}.system-message{padding:var(--space-sm);border-left:var(--rule-emphasis) solid currentColor;background:color-mix(in oklch,var(--color-surface-raised) 80%,transparent)}.system-message.is-offline{color:var(--color-acid-lime)}.system-message.is-error{color:var(--color-danger)}.loading-shell,.empty-shell{text-align:center}.loading-shell img,.empty-shell img{width:8rem;height:auto;margin-inline:auto}.loading-shell p,.empty-shell p{margin-top:var(--space-md);color:var(--color-text-muted)}.empty-shell button{min-height:var(--tap-min);margin-top:var(--space-md);padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-pill);background:transparent;color:var(--color-text);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.empty-shell button:hover:not(:disabled){border-color:var(--color-acid-lime);color:var(--color-acid-lime)}.empty-shell button:active:not(:disabled){transform:scale(.98)}@media(max-width:760px){.home,.schedule,.guide,.foot-line,.content-warning{width:min(calc(100% - (var(--space-sm) * 2)),var(--content-max))}.home{padding-top:calc(var(--banner-height) + var(--space-xl))}.hero-field{min-height:27rem}.hero-copy{padding-top:var(--space-xl)}.hero-mark{top:6.5rem;right:calc(var(--space-sm) * -1);width:11rem;opacity:.42}.login-panel{grid-template-columns:1fr;gap:var(--space-lg)}.login-form,.login-status{grid-column:1}}@media(max-width:420px){.nav-pill{gap:0;padding:var(--space-3xs)}.nav-pill a{padding-inline:var(--space-2xs);font-size:var(--text-xs)}.nav-pill .nav-pill__mark{width:2.5rem}.hero-field{min-height:25rem}.hero-stat__figure{font-size:clamp(4rem,28vw,7rem)}.hero-stat__unit{font-size:var(--text-lg)}.timeline__entry{grid-template-columns:4.4rem minmax(0,1fr);gap:var(--space-sm)}.timeline__entry:before{left:3.8rem}.timeline__entry time{font-size:var(--text-base)}.fact-list div{grid-template-columns:1fr;gap:var(--space-3xs)}.section-links a{max-width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
