@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101216;--panel:#181b21;--line:#2b2f37;--muted:#989eaa;--accent:#53D4D1;--font:'Space Grotesk','Noto Sans JP',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f3f5f7;font:14px var(--font);line-height:1.7}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}header{height:94px;max-width:1256px;padding:0 44px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;font-size:21px;font-weight:700;letter-spacing:1.2px;line-height:1.25}.brand svg{width:32px;height:38px;color:var(--accent)}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:2px;margin-top:5px}.header-right{display:flex;gap:22px;align-items:center}.game{font-size:10px;letter-spacing:1.3px;color:var(--muted)}.timezone{border:1px solid var(--line);padding:5px 12px;border-radius:5px;color:var(--accent);font-size:12px}.timezone small{color:var(--muted);font-size:10px;margin-left:7px}main{max-width:1168px;margin:auto;padding:42px 0 50px}.intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:8px}.dot{height:6px;width:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px #53D4D166}.intro h1{font-size:29px;letter-spacing:1px;margin:9px 0 7px;font-weight:700}.intro p{margin:0;font-size:12px;color:var(--muted)}.clock{text-align:right;color:var(--muted);font-size:11px;letter-spacing:1px}.clock strong{display:block;font-size:26px;font-weight:500;color:#c6cbd2;line-height:1.5;font-variant-numeric:tabular-nums}.hero{position:relative;background:linear-gradient(110deg,#1d2d30,#1a262b 48%,#1b242c);border:1px solid #355355;border-radius:12px;min-height:300px;overflow:hidden;display:flex;justify-content:space-between}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#53D4D105 1px,transparent 1px),linear-gradient(90deg,#53D4D105 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent,#000)}.hero-content{padding:28px 34px;position:relative;z-index:1}.hero h2{font-size:12px;color:#a9bdc0;font-weight:500;margin:17px 0 0}.next-location{font-size:36px;font-weight:800;letter-spacing:1px;line-height:1.6;margin:3px 0 10px}.next-meta{display:flex;gap:10px;align-items:center}.time-icon{color:var(--accent);font-size:21px}.next-meta strong{font-size:18px;font-weight:500;letter-spacing:1px}.hero-tag{font-size:10px;background:#53D4D110;border:1px solid #53D4D124;padding:2px 8px;border-radius:4px;color:#b9d4d5;margin-left:6px}.hero-bottom{display:flex;align-items:baseline;gap:17px;margin-top:22px;color:#a9bdc0;font-size:11px}.hero-bottom strong{font:500 38px var(--font);letter-spacing:1px;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}.unit{font-size:10px;color:#90a0a3}.hero-art{position:relative;flex:0 0 37%;display:grid;place-items:center;min-height:280px}.glow{position:absolute;width:170px;height:170px;border-radius:50%;background:#53D4D133;filter:blur(45px)}.hero-art>svg{position:relative;width:125px;height:155px;color:var(--accent);transform:rotate(-8deg);filter:drop-shadow(0 0 24px #53D4D133)}.orbit{position:absolute;width:225px;height:225px;border:1px solid #53D4D118;transform:rotate(45deg)}.orbit2{width:270px;height:270px;border-style:dashed;transform:rotate(25deg)}.particle{width:8px;height:8px;position:absolute;background:var(--accent);opacity:.55}.p1{left:24%;top:23%}.p2{right:22%;top:35%;width:5px;height:5px}.p3{left:25%;bottom:23%;width:5px;height:5px}.hero-art>span{position:absolute;bottom:22px;font-size:8px;letter-spacing:3px;color:#869b9d}.upcoming-heading{display:flex;align-items:center;gap:12px;margin:25px 0 12px}.upcoming-heading h2{font-size:13px;font-weight:600;margin:0}.upcoming-heading>span{font-size:10px;color:var(--muted)}.upcoming{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upcoming-card{display:flex;align-items:center;gap:15px;padding:17px 20px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.location-icon{width:43px;height:43px;border:1px solid color-mix(in srgb,var(--color) 25%,transparent);background:color-mix(in srgb,var(--color) 9%,transparent);color:var(--color);border-radius:7px;display:grid;place-items:center;flex-shrink:0}.location-icon svg{width:27px;height:27px}.card-time{font-size:18px;line-height:1.2;letter-spacing:.5px}.card-time small{font-size:10px;color:var(--muted);margin-left:7px}.card-location{font-size:11px;color:#c0c5cd;margin-top:5px}.card-number{margin-left:auto;color:#69707a;font-size:11px}.schedule-section{margin-top:42px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title .eyebrow{color:#868d9a;font-size:9px;letter-spacing:1.8px}.section-title h2{font-size:20px;margin:4px 0 0;letter-spacing:.5px}.today-button{border:1px solid var(--line);background:var(--panel);color:#c6cbd2;border-radius:6px;font-size:11px;padding:7px 13px}.today-button:hover,.arrow:hover{border-color:#53D4D1;color:var(--accent)}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.date-controls{display:flex;align-items:center;gap:7px}.arrow{width:32px;height:34px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);border-radius:5px;color:#b1b7c1;font-size:23px;line-height:1}input[type=date]{font-size:13px;background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:5px 10px;color:#e3e6ea;width:162px}.filters{display:flex;align-items:center;gap:22px}select{border:1px solid var(--line);background:var(--panel);color:#c6cbd2;padding:7px 28px 7px 12px;border-radius:5px;font-size:11px;max-width:220px}.toggle{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);cursor:pointer;position:relative}.toggle input{position:absolute;opacity:0;width:28px;height:18px;left:0}.switch{width:28px;height:16px;display:block;border-radius:20px;background:#454a54;position:relative;transition:.15s}.switch:after{content:'';position:absolute;left:3px;top:3px;width:10px;height:10px;border-radius:50%;background:#15181c;transition:.15s}.toggle input:checked+.switch{background:var(--accent)}.toggle input:checked+.switch:after{transform:translateX(12px)}.toggle input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:3px}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#14171c}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:10px;font-weight:500;color:var(--muted);padding:13px 22px;background:#1b1e24;border-bottom:1px solid var(--line)}th small{font-size:8px;margin-left:4px;opacity:.6}th:first-child{width:23%}th:last-child{width:22%}td{padding:13px 22px;border-bottom:1px solid #262a31;font-size:12px}tr:last-child td{border-bottom:0}td:first-child{font-size:19px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.5px}.row-place{display:flex;align-items:center;gap:12px}.row-place .location-icon{width:30px;height:30px;border-radius:4px}.row-place .location-icon svg{width:20px;height:20px}tr.next-row{background:#53D4D107}tr.next-row td:first-child{color:var(--accent)}tr.past{opacity:.48}.badge{font-size:10px;padding:3px 8px;border-radius:4px;color:#b0b6c0;background:#282d35;white-space:nowrap}.badge-next{color:var(--accent);background:#53D4D112;border:1px solid #53D4D129}.badge-next:before{content:'●';font-size:7px;margin-right:6px}.empty{padding:40px;text-align:center;color:#c5cad2;font-size:13px}.empty small{font-size:11px;color:var(--muted)}.table-footer{display:flex;justify-content:space-between;font-size:10px;color:#7f8794;margin-top:10px}.cycle-section{margin-top:39px}.cycle-note{font-size:10px;color:var(--muted)}.rotation{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.rotation-item{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:15px 5px;text-align:center}.rotation-item.active{border-color:#438c8b;background:#53D4D108}.rotation-number{position:absolute;left:9px;top:7px;color:#666e7a;font-size:9px}.rotation-item .location-icon{margin:5px auto 12px;width:43px;height:43px}.rotation-name{font-size:10px;line-height:1.6;min-height:32px;display:flex;align-items:center;justify-content:center}.rotation-time{font-size:10px;color:#8e98a6;margin-top:3px}.rotation-item.active .rotation-time{color:var(--accent)}.info{display:flex;align-items:start;gap:13px;background:#171a20;border:1px solid #282d35;border-radius:7px;padding:17px 20px;margin-top:26px}.info-icon{border:1px solid #737e8d;color:#a3adba;width:17px;height:17px;border-radius:50%;line-height:15px;text-align:center;font-size:11px;margin-top:3px;flex-shrink:0}.info h3{font-size:11px;margin:0 0 5px;font-weight:500;color:#c8ced6}.info p{margin:0;color:#8e98a6;font-size:10px;line-height:1.9}.info strong{font-weight:500;color:#b1bac6}footer{max-width:1256px;margin:auto;padding:22px 44px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;color:#727b89;font-size:9px}footer a{font-size:12px;font-weight:600;letter-spacing:1px;color:#bcc4cd}footer small{color:#727b89;font-size:9px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1255px){main{margin:0 44px}}@media(max-width:850px){main{margin:0 24px;padding-top:30px}header{padding:0 24px;height:80px}.game{display:none}.hero-art{flex-basis:29%}.hero-art>svg{width:90px;height:110px}.orbit{width:160px;height:160px}.orbit2{width:210px;height:210px}.next-location{font-size:29px}.hero-content{padding:25px}.upcoming-card{padding:15px 12px;gap:10px}.card-number{display:none}.filters{gap:12px}.rotation{grid-template-columns:repeat(4,1fr)}footer{padding:22px 24px;flex-wrap:wrap}footer>span:last-child{display:none}}
@media(max-width:600px){header{padding:0 18px;height:74px}.brand{font-size:17px;gap:8px}.brand small{font-size:8px}.brand svg{width:26px}.timezone{font-size:10px;padding:3px 7px}.timezone small{display:none}main{margin:0 18px;padding-top:27px}.intro{align-items:start}.intro h1{font-size:22px;margin:8px 0}.intro p{font-size:10px;max-width:240px}.clock{font-size:9px;padding-top:2px}.clock strong{font-size:16px}.eyebrow{font-size:8px}.hero{min-height:270px}.hero-content{padding:22px;max-width:100%}.hero h2{margin-top:15px}.next-location{font-size:27px;max-width:100%;position:relative;z-index:2;letter-spacing:0}.next-meta strong{font-size:16px}.hero-tag{font-size:8px;margin-left:0;padding:2px 5px}.hero-art{position:absolute;right:-15px;bottom:3px;width:145px;min-height:160px;opacity:.19}.hero-bottom{margin-top:26px;gap:12px}.hero-bottom strong{font-size:36px}.hero-art>span,.orbit,.particle{display:none}.upcoming{grid-template-columns:1fr;gap:8px}.upcoming-card{padding:12px 15px}.upcoming-card .location-icon{width:33px;height:33px}.card-time{font-size:17px}.card-location{margin-top:0;font-size:12px}.upcoming-card>div:nth-child(2){display:flex;align-items:center;justify-content:space-between;flex:1;gap:8px}.card-time small{font-size:8px;margin-left:5px}.card-number{display:none}.schedule-section{margin-top:30px}.section-title h2{font-size:18px}.toolbar{align-items:start;flex-direction:column;gap:12px}.filters{width:100%;justify-content:space-between;gap:8px}select{max-width:180px;font-size:10px}.toggle{font-size:10px}.section-title{margin-bottom:17px}th{padding:12px;font-size:9px}td{padding:12px;font-size:11px}td:first-child{font-size:17px}th:first-child{width:22%}th:last-child{width:21%}.row-place{gap:8px}.row-place .location-icon{width:24px;height:24px}.badge{font-size:9px;padding:2px 5px}.badge-next:before{display:none}.table-footer{font-size:8px}.cycle-note{font-size:8px}.rotation{grid-template-columns:repeat(2,1fr)}.rotation-item{display:flex;gap:9px;align-items:center;text-align:left;padding:14px 10px}.rotation-item .location-icon{margin:0;width:32px;height:32px}.rotation-number{left:auto;right:7px;top:5px}.rotation-name{font-size:10px;min-height:0;text-align:left;justify-content:start}.rotation-time{font-size:9px;margin-top:3px}.info{padding:14px;gap:10px}.info p{font-size:9px}footer{padding:20px 18px;align-items:start;flex-direction:column;gap:7px}.cycle-section{margin-top:28px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.next-strip{display:flex;align-items:center;gap:20px;margin-top:12px;padding:15px 22px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.next-strip>span:first-child{font-size:11px;color:var(--muted)}.next-strip strong{font-size:15px;font-weight:600}.next-strip>span:last-child{margin-left:auto;font-size:15px;color:#c6cbd2}.hero.inactive{background:var(--panel);border-color:var(--line)}.hero.inactive .hero-art{opacity:.25}.hero.inactive .eyebrow{color:var(--muted)}.hero.inactive .next-location{font-size:28px}.hero.inactive .hero-tag{display:none}tr.current-row{background:#53D4D115}tr.current-row td:first-child{color:var(--accent)}.badge-current{color:#0c2426;background:var(--accent);font-weight:700}@media(max-width:600px){.next-strip{gap:10px;padding:13px 15px;flex-wrap:wrap}.next-strip strong{font-size:12px}.next-strip>span:last-child{font-size:12px}.hero.inactive .next-location{font-size:23px}.next-meta strong{font-size:13px;letter-spacing:0}}

.brand-storm-icon{width:42px;height:42px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}.hero-art>.hero-storm-icon{position:relative;width:180px;height:180px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 22px #53D4D133)}@media(max-width:850px){.hero-art>.hero-storm-icon{width:140px;height:140px}}@media(max-width:600px){.brand-storm-icon{width:34px;height:34px}.hero-art>.hero-storm-icon{width:120px;height:120px}}

.hero h2{margin-top:0}

.brand{font-size:23px;letter-spacing:.5px}@media(max-width:600px){.brand{font-size:19px;letter-spacing:0}}

footer .copyright{font:inherit;letter-spacing:inherit;margin-left:8px;color:inherit}footer .copyright:hover{color:var(--accent);text-decoration:underline}

body{background-color:#101216;background-image:url("background.webp");background-position:center top;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}
