:root{color:#151515;font-synthesis:none;--spark-pink:#df246a;--spark-pink-deep:#d9185d;--spark-pink-soft:#ff7eae;--spark-blue:#82c9ee;--spark-lavender:#aaa4df;--spark-black:#151515;--spark-gray:#66666d;--spark-border:#dedee3;--spark-bg:#fff;--spark-bg-soft:#f7f7f8;--spark-focus:#186fa2;background:#f7f7f8;font-family:Inter,Helvetica Neue,Arial,Noto Sans JP,sans-serif}*{box-sizing:border-box}html{background:var(--spark-bg-soft);scroll-behavior:smooth}body{min-width:320px;min-height:100vh;color:var(--spark-black);background:var(--spark-bg-soft);margin:0}button,input{font:inherit}button,a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--spark-bg);width:100%;max-width:1100px;min-height:100vh;margin:0 auto;overflow:hidden;box-shadow:0 0 48px #28263a14}.hero{isolation:isolate;min-height:245px;padding:calc(18px + env(safe-area-inset-top)) 20px 27px;background:var(--spark-bg);border-bottom:1px solid var(--spark-border);position:relative;overflow:hidden}.hero:before{z-index:-2;content:"";background:radial-gradient(circle at 10% 24%,#82c9ee57,#0000 38%),radial-gradient(circle at 83% 40%,#ff317538,#0000 43%),linear-gradient(120deg,#82c9ee1f,#aaa4df1f 52%,#ff2b7a1a);position:absolute;inset:0}.hero:after{z-index:-1;content:"";border:34px solid #ffffff70;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-86px;right:-44px}.hero__topline{letter-spacing:.18em;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;line-height:1;display:flex}.hero__topline span:first-child{color:#fff;background:var(--spark-black);align-items:center;min-height:28px;padding:0 10px;display:inline-flex}.hero__title{text-transform:uppercase;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:end;width:fit-content;margin-top:26px;display:grid}.hero__spark{letter-spacing:-.065em;grid-column:1;font-size:clamp(46px,14vw,78px);font-weight:900;line-height:.84}.hero__year{letter-spacing:-.035em;background:linear-gradient(100deg, #299ed8 3%, var(--spark-lavender) 48%, var(--spark-pink) 96%);color:#0000;-webkit-background-clip:text;background-clip:text;grid-column:2;align-self:center;margin-left:11px;font-size:clamp(27px,8vw,46px);font-weight:900;line-height:1}.hero__edition{letter-spacing:.28em;grid-column:1/-1;margin-top:11px;padding-left:2px;font-size:19px;font-weight:900;line-height:1}.hero p{color:#35353b;letter-spacing:.12em;flex-wrap:wrap;gap:8px 16px;margin:22px 0 0;font-size:10px;font-weight:800;line-height:1.3;display:flex}main{padding-bottom:42px}.artist-search{background:var(--spark-bg);padding:16px 16px 4px}.date-picker{background:var(--spark-bg);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 16px 0;display:grid}.date-picker button{min-height:66px;color:var(--spark-black);cursor:pointer;background:#fff;border:1px solid #a9a9ae;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:auto auto;justify-content:center;align-items:end;column-gap:6px;padding:10px 8px 9px;display:grid}.date-picker button span{letter-spacing:.12em;grid-column:1;font-size:9px;font-weight:800}.date-picker button strong{font-variant-numeric:tabular-nums;grid-area:2/1;font-size:26px;font-weight:900;line-height:.95}.date-picker button small{letter-spacing:.08em;grid-area:2/2;align-self:center;font-size:9px;font-weight:800}.date-picker button.is-active{color:#fff;background:var(--spark-pink);border-color:var(--spark-pink);box-shadow:0 6px 16px #f3317533}.view-switch{grid-template-columns:1fr 1fr;gap:8px;padding:20px 16px 0;display:grid}.view-switch button{border:1px solid var(--spark-black);letter-spacing:.04em;cursor:pointer;background:#fff;border-radius:7px;min-height:50px;padding:10px 8px;font-size:10px;font-weight:900}.view-switch button.is-active{color:#fff;background:var(--spark-black)}.view-switch button:last-child.is-active{background:var(--spark-pink);border-color:var(--spark-pink)}.view-switch em{min-width:19px;height:19px;color:var(--spark-pink);background:#fff;border-radius:20px;place-items:center;margin-left:4px;padding:0 5px;font-size:10px;font-style:normal;display:inline-grid}.filters{border-bottom:1px solid var(--spark-border);padding:14px 16px 18px}.search-field{background:#fff;border:1px solid #bdbdc2;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:0 13px;display:flex}.search-field>span[aria-hidden]{color:var(--spark-pink);font-size:23px;transform:rotate(-15deg)}.search-field input{width:100%;min-height:46px;color:var(--spark-black);background:0 0;border:0;outline:0;padding:11px 0;font-size:16px}.search-field input::-webkit-search-cancel-button{display:none}.search-field input::placeholder{color:#77777d;opacity:1}.search-clear-button{min-width:62px;min-height:44px;color:var(--spark-pink-deep);border:0;border-left:1px solid var(--spark-border);letter-spacing:.08em;cursor:pointer;background:0 0;padding:0 8px;font-size:10px;font-weight:900}.stage-filters{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--spark-pink-soft) #eeeef1;gap:8px;margin:0 -16px;padding:0 16px 5px;display:flex;position:relative;overflow-x:auto}.stage-filters::-webkit-scrollbar{height:3px}.stage-filters::-webkit-scrollbar-track{background:#eeeef1}.stage-filters::-webkit-scrollbar-thumb{background:var(--spark-pink-soft);border-radius:3px}.stage-filters button{min-height:44px;color:var(--spark-black);letter-spacing:.05em;cursor:pointer;background:#fff;border:1px solid #c8c8cd;border-radius:7px;flex:none;align-items:center;gap:7px;padding:8px 13px;font-size:10px;font-weight:800;display:flex}.stage-filters button.is-active{color:#fff;background:var(--spark-black);border-color:var(--spark-black)}.stage-filters button:first-child.is-active{background:var(--spark-pink);border-color:var(--spark-pink)}.stage-filters i{border:1px solid #1515152e;border-radius:50%;flex:none;width:8px;height:8px}.schedule{padding:28px 16px 0}.section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.section-heading>div{border-left:5px solid var(--spark-pink);min-width:0;padding-left:12px}.section-heading span{color:var(--spark-pink-deep);letter-spacing:.2em;font-size:9px;font-weight:900}.section-heading h2{overflow-wrap:anywhere;letter-spacing:-.035em;margin:3px 0 0;font-size:clamp(21px,6.2vw,30px);font-weight:900;line-height:1.03}.section-heading p{color:var(--spark-gray);letter-spacing:.1em;flex:none;margin:0;padding-bottom:2px;font-size:10px;font-weight:800}.performance-list{gap:10px;display:grid}.performance-card{--stage-color:#777;border:1px solid var(--spark-border);border-left:5px solid var(--stage-color);background:#fff;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:1fr 48px;min-height:116px;display:grid;position:relative;overflow:hidden;box-shadow:0 2px 8px #1515150d}.performance-card--favorite{border-color:var(--spark-pink-soft);border-left-color:var(--spark-pink);background:#fff7fa;box-shadow:0 3px 12px #f331751a}.performance-card--overlap{border-color:#b81148}.performance-card__time{font-variant-numeric:tabular-nums;grid-area:1/1;align-items:baseline;gap:7px;padding:14px 14px 0;display:flex}.performance-card__time strong{font-size:15px;font-weight:900;line-height:1}.performance-card__time span{color:#595960;font-size:12px;font-weight:700}.performance-card__time span:before{content:"— "}.performance-card__body{grid-area:2/1;align-self:start;min-width:0;padding:7px 14px 14px}.performance-card__labels{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.performance-date{color:#fff;background:var(--spark-black);letter-spacing:.06em;border-radius:3px;padding:3px 6px;font-size:9px;font-weight:900;line-height:1.2}.stage-badge{color:var(--stage-color);letter-spacing:.11em;font-size:9px;font-weight:900;line-height:1.25;display:block}.performance-card h3{overflow-wrap:anywhere;letter-spacing:-.015em;margin:6px 0 0;font-size:18px;font-weight:900;line-height:1.2}.slot-kind-badge{color:#5b2850;letter-spacing:.03em;background:#f4e7f5;border:1px solid #d7b9da;border-radius:3px;margin-top:8px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-block}.favorite-button{color:#77777e;cursor:pointer;background:0 0;border:0;border-left:1px solid #ededf0;grid-area:1/2/-1;align-self:stretch;min-width:48px;min-height:48px;font-size:29px}.favorite-button.is-active{color:var(--spark-pink)}.overlap-warning{color:#a50d3f;margin:9px 0 0;font-size:10px;font-weight:800}.overlap-warning span{color:#fff;background:#a50d3f;border-radius:50%;place-items:center;width:16px;height:16px;margin-right:3px;display:inline-grid}.gap-label{color:#55555b;margin:8px 0 0;font-size:10px}.empty-state{text-align:center;background:linear-gradient(135deg,#82c9ee14,#fff 45%,#f3317512);border:1px dashed #a8a8ae;border-radius:10px;padding:50px 22px}.empty-state>span{color:var(--spark-pink);font-size:42px}.empty-state h3{margin:12px 0 6px;font-size:18px;font-weight:900;line-height:1.25}.empty-state p{color:var(--spark-gray);margin:0;font-size:13px;line-height:1.65}.empty-state button{color:#fff;background:var(--spark-pink);cursor:pointer;border:0;border-radius:6px;min-height:44px;margin-top:18px;padding:10px 18px;font-size:12px;font-weight:800}footer{padding:34px 20px calc(34px + env(safe-area-inset-bottom));color:#cfcfd4;background:var(--spark-black)}.footer-brand{border-bottom:1px solid #3f3f45;flex-direction:column;gap:5px;margin-bottom:29px;padding-bottom:23px;display:flex}.footer-brand strong{color:#fff;letter-spacing:-.03em;font-size:25px;font-weight:900}.footer-brand span{color:var(--spark-pink-soft);letter-spacing:.14em;font-size:9px;font-weight:800}footer h2{color:#fff;margin:0 0 12px;font-size:18px;font-weight:900;line-height:1.2}footer p{margin:0;font-size:11px;line-height:1.75}.disclaimer p+p{margin-top:9px}footer nav{border-top:1px solid #3f3f45;border-left:1px solid #3f3f45;grid-template-columns:1fr 1fr;gap:0;margin-top:20px;display:grid}footer nav a{color:#fff;min-height:46px;-webkit-text-decoration-color:var(--spark-pink);text-decoration-color:var(--spark-pink);text-underline-offset:3px;border-bottom:1px solid #3f3f45;border-right:1px solid #3f3f45;align-items:center;padding:9px 11px;font-size:11px;font-weight:800;text-decoration-thickness:2px;display:flex}.privacy-note{color:#dedee2;border-left:3px solid var(--spark-pink);background:#222226;margin-top:23px;padding:13px}footer small{color:#94949c;letter-spacing:.14em;margin-top:28px;font-size:9px;display:block}.footer-data-note{color:#a8a8af;margin-top:22px;font-size:10px}.footer-data-note p{font-size:inherit;line-height:1.7}.footer-data-note a{color:#d7d7dc;-webkit-text-decoration-color:var(--spark-pink);text-decoration-color:var(--spark-pink);text-underline-offset:3px}.footer-data-note p.footer-data-note__verified{color:#8e8e96;font-variant-numeric:tabular-nums;margin-top:7px;font-size:9px}.fatal-error{min-height:100vh;color:var(--spark-black);text-align:center;background:linear-gradient(130deg,#82c9ee38,#fff 44%,#f3317529);align-content:center;place-items:center;padding:32px;display:grid}.fatal-error>span{color:#fff;background:var(--spark-pink);border-radius:50%;place-items:center;width:54px;height:54px;font-size:28px;font-weight:900;line-height:1;display:grid}.fatal-error h1{max-width:430px;margin:22px 0 8px;font-size:23px;font-weight:900;line-height:1.3}.fatal-error p{color:var(--spark-gray);margin:0;font-size:14px}.fatal-error a{color:#fff;background:var(--spark-pink);border-radius:6px;align-items:center;min-height:44px;margin-top:24px;padding:12px 16px;font-size:12px;font-weight:800;display:inline-flex}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--spark-focus);outline-offset:3px}.search-field:focus-within{border-color:var(--spark-focus);box-shadow:0 0 0 3px #186fa229}@media (width>=700px){.hero{min-height:300px;padding:25px 38px 38px}.hero__title{margin-top:48px}.hero__edition{font-size:22px}.artist-search,.date-picker,.view-switch,.filters,.schedule{padding-left:38px;padding-right:38px}.stage-filters{margin-left:-38px;margin-right:-38px;padding-left:38px;padding-right:38px}.performance-list{grid-template-columns:1fr 1fr;gap:12px}footer{padding-left:38px;padding-right:38px}footer nav{grid-template-columns:repeat(4,1fr)}}@media (width>=1000px){.hero{min-height:320px;padding-left:52px;padding-right:52px}.hero__title{margin-top:54px}.hero__spark{font-size:84px}.hero__year{font-size:48px}.artist-search,.date-picker,.view-switch,.filters,.schedule{padding-left:52px;padding-right:52px}.date-picker{gap:12px}.stage-filters{margin-left:-52px;margin-right:-52px;padding-left:52px;padding-right:52px}footer{padding-left:52px;padding-right:52px}}@media (prefers-reduced-motion:no-preference){button{transition:background-color .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s}button:active{transform:scale(.98)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
