/* WRITTEN BY tools/build-app.mjs. Do not edit this file.
 * Three files make it, in this order:
 *   design/system.css   the design system, lane T1's, the one copy
 *   app/extra.css       what the running app needs on top of it, lane T5's
 *   app/craft.css       faces, the clock, the doors and the motion, lane T24's
 * Change one of those and run: node tools/build-app.mjs
 */

@font-face{
 font-family:"Newsreader";
 src:url("/fonts/Newsreader-display.woff2") format("woff2");
 font-weight:400 600;
 font-style:normal;
 font-display:swap;
 unicode-range:U+0000-00FF,U+2018-2019,U+201C-201D,U+2022,U+2026,U+00B7;
}
:root{
 color-scheme:light only;
 --paper:#ffffff;
 --paper-2:#f1f3f7;
 --paper-3:#e8ecf3;
 --ink:#162958;
 --ink-2:#45527a;
 --ink-3:#626c88;
 --accent:#f58320;
 --accent-strong:#d96a0a;
 --accent-ink:#b25000;
 --accent-soft:#fdf1e4;
 --accent-edge:#f9c28b;
 --copper:#a45a28;
 --rule:#e3e5eb;
 --rule-strong:#b6bfd0;
 --rule-control:#7a88a4;
 --now:#f58320;
 --done-ink:#626c88;
 --wait-ink:#45527a;
 --jp-mincho:"Hiragino Mincho ProN","Hiragino Mincho Pro","YuMincho","Yu Mincho","MS PMincho","Noto Serif JP",serif;
 --jp-gothic:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif;
 --en-display:"Newsreader",Georgia,"Times New Roman",serif;
 --en-body:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,"Helvetica Neue",Arial,sans-serif;
 --fs-numeral:clamp(3rem, 2.34rem + 2.93vw, 4.5rem); 
 --fs-h1:clamp(1.5rem, 1.32rem + 0.8vw, 2.125rem); 
 --fs-h2:clamp(1.25rem, 1.16rem + 0.4vw, 1.5rem);
 --fs-h3:1.125rem;
 --fs-body:1rem; 
 --fs-meta:0.9375rem; 
 --fs-hour:clamp(1.5rem, 1.35rem + 0.68vw, 1.875rem);
 --lh-jp:1.8; 
 --lh-jp-head:1.45;
 --lh-en:1.6;
 --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
 --s6:32px; --s7:48px; --s8:64px; --s9:96px;
 --r-lg:12px; --r-md:8px; --r-sm:4px;
 --sh-1:0.5px 1px 2px hsl(223 45% 32% / .07);
 --sh-2:
 1px 2px 3px hsl(223 45% 32% / .06),
 2px 4px 8px hsl(223 45% 32% / .05),
 4px 8px 16px hsl(223 45% 32% / .04);
 --sh-3:
 1px 2px 3px hsl(223 45% 32% / .05),
 2px 4px 8px hsl(223 45% 32% / .05),
 4px 8px 16px hsl(223 45% 32% / .045),
 8px 16px 32px hsl(223 45% 32% / .04);
 --sh-now:
 0.5px 1px 2px hsl(223 45% 32% / .09),
 2px 4px 10px hsl(223 45% 32% / .055);
 --sh-now-hi:
 1px 2px 3px hsl(223 45% 32% / .10),
 3px 6px 14px hsl(223 45% 32% / .06);
 --sh-card:
 0.5px 1px 1px hsl(223 45% 32% / .07),
 1px 2px 4px hsl(223 45% 32% / .06),
 3px 6px 14px hsl(223 45% 32% / .055),
 6px 12px 32px hsl(223 45% 32% / .045),
 0 0 0 1px hsl(223 45% 32% / .07);
 --e-spring:cubic-bezier(.34,1.32,.64,1);
 --face-s:28px; --face-m:36px; --face-l:88px;
 --t-fast:200ms; 
 --t-press:120ms; 
 --t-exit:120ms; 
 --t-mid:400ms; 
 --t-slow:600ms; 
 --e-out:cubic-bezier(.22,.7,.2,1);
 --e-in:cubic-bezier(.5,0,.8,.3);
 --e-std:cubic-bezier(.2,0,0,1); 
 --e-dec:cubic-bezier(.05,.7,.1,1); 
 --e-acc:cubic-bezier(.3,0,.8,.15); 
 --press:.985;
 --z-base:0; --z-raised:10; --z-sticky:20; --z-overlay:30;
 --col:44rem; 
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-gutter:stable}
body{
 margin:0;
 background:var(--paper);
 color:var(--ink);
 font-family:var(--en-body);
 font-size:var(--fs-body);
 line-height:var(--lh-en);
 -webkit-font-smoothing:antialiased;
 text-rendering:optimizeLegibility;
 font-variant-numeric:tabular-nums lining-nums;
 word-break:normal;
 overflow-wrap:break-word;
}
img{max-width:100%;display:block;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
:lang(ja){
 font-family:var(--jp-gothic);
 letter-spacing:normal;
 line-height:var(--lh-jp);
 font-feature-settings:"palt" 0;
}
:focus{outline:none}
:focus-visible{
 outline:2px solid var(--accent-ink);
 outline-offset:3px;
 border-radius:var(--r-sm);
 transition:none;
 scroll-margin-top:84px;
 scroll-margin-bottom:84px;
}
[data-lead="ja"] .en{display:none}
[data-lead="en"] .ja{display:none}
[data-lead="ja"] .both .en,[data-lead="en"] .both .ja{display:block}
@keyframes xfade{from{opacity:0}to{opacity:1}}
html.swapping .ja,html.swapping .en{animation:xfade var(--t-fast) var(--e-out) both}
.pair{display:flex;flex-direction:column;gap:2px}
.pair>.ja{font-family:var(--jp-gothic);line-height:var(--lh-jp)}
.pair>.en{font-family:var(--en-body);line-height:var(--lh-en)}
.pair.h1>.ja{font-family:var(--jp-mincho);font-size:var(--fs-h1);line-height:var(--lh-jp-head);color:var(--ink);font-weight:600}
.pair.h1>.en{font-family:var(--en-display);font-size:var(--fs-h1);line-height:1.25;color:var(--ink);font-weight:600}
.pair.h2>.ja{font-family:var(--jp-mincho);font-size:var(--fs-h2);line-height:var(--lh-jp-head);font-weight:600;color:var(--ink)}
.pair.h2>.en{font-family:var(--en-display);font-size:var(--fs-h2);line-height:1.3;font-weight:600;color:var(--ink)}
.pair.h3>.ja{font-family:var(--jp-gothic);font-size:var(--fs-h3);font-weight:600;line-height:1.55;color:var(--ink)}
.pair.h3>.en{font-family:var(--en-display);font-size:var(--fs-h3);font-weight:600;line-height:1.4;color:var(--ink)}
.pair.theme{margin:calc(var(--s3) * -1) 0 var(--s3);max-width:34rem}
.pair.theme>.ja{font-family:var(--jp-mincho);font-size:var(--fs-h3);line-height:var(--lh-jp-head);color:var(--ink-2);font-weight:600}
.pair.theme>.en{font-family:var(--en-display);font-size:var(--fs-h3);line-height:1.35;color:var(--ink-2);font-weight:600}
.pair.body>.ja,.pair.body>.en{font-size:var(--fs-body);color:var(--ink)}
.pair.body{gap:var(--s1);max-width:38rem}
.pair.meta>.ja,.pair.meta>.en{font-size:var(--fs-meta);color:var(--ink-2)}
.pair.both{gap:var(--s1)}
.pair.inline{flex-direction:row;align-items:baseline;gap:var(--s2);flex-wrap:wrap}
.eyebrow{
 font-family:var(--en-body);
 font-size:var(--fs-meta);
 font-weight:600;
 letter-spacing:.18em;
 text-transform:uppercase;
 color:var(--accent-ink);
 display:flex;align-items:center;gap:var(--s3);
 margin:0 0 var(--s3);
}
.eyebrow{align-items:flex-end}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--rule);min-width:var(--s5);margin-bottom:.45em}
.eyebrow:has(a){align-items:center}
.eyebrow:has(a)::after{margin-bottom:0}
.eyebrow a{display:inline-flex;align-items:center;min-height:44px}
.eyebrow.quiet{color:var(--ink-3)}
.qr .eyebrow::after{display:none}
.qr .eyebrow{justify-content:center}
.eyebrow .ja{font-family:var(--jp-gothic);letter-spacing:.04em;text-transform:none}
.wm{text-transform:none;letter-spacing:.08em}
.top{
 position:sticky;top:0;z-index:var(--z-sticky);
 background:var(--paper);
 border-bottom:1px solid var(--rule);
 padding:var(--s3) var(--s4) var(--s3);
 padding-top:calc(var(--s3) + env(safe-area-inset-top,0px));
 display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
 flex-wrap:wrap;row-gap:0;
}
.top .mark{height:20px;width:auto;flex:0 0 auto}
.top .mark img{height:20px;width:auto}
.top>.powered{
 flex:1 0 100%;
 margin:-12px 0 -12px;
 color:var(--ink-3);
 font-size:var(--fs-meta);
 line-height:1.35;
}
.top:has(.rehearsal)>.powered{margin-bottom:0}
.wrap{
 max-width:var(--col);
 margin:0 auto;
 padding:0 var(--s4) var(--s9);
}
@media (min-width:1040px){
 .top{padding-left:var(--s7);padding-right:var(--s7)}
 .spread{
 display:grid;
 grid-template-columns:300px minmax(0,640px);
 gap:var(--s9);
 max-width:1100px;
 margin:0 auto;
 padding:0 var(--s7) var(--s9);
 align-items:start;
 }
 .spread>.wrap{max-width:none;margin:0;padding:0}
 .rail{position:sticky;top:var(--s9);align-self:start}
}
.rail{display:none}
@media (min-width:1040px){.rail{display:block}}
.lang{
 display:flex;align-items:center;gap:var(--s4);
 border:0;border-radius:0;overflow:visible;
 flex:0 0 auto;
}
.lang button{
 appearance:none;border:0;background:none;
 color:var(--ink-3);
 font-size:var(--fs-meta);font-weight:600;
 padding:0;
 min-height:44px;min-width:44px;
 cursor:pointer;
 touch-action:manipulation;
 transition:color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
 position:relative;
}
@media (hover:hover){.lang button:hover{color:var(--ink)}}
.lang button:active{transform:scale(var(--press));transition-duration:var(--t-press)}
.lang button[aria-pressed="true"]{color:var(--ink)}
.lang button[aria-pressed="true"]::after{
 content:"";position:absolute;left:0;right:0;bottom:10px;height:2px;background:var(--accent-strong);
}
.top .lang{align-self:center}
.top-row{display:flex;align-items:center;gap:var(--s4);min-height:44px}
.hero{padding:var(--s6) 0 var(--s5);position:relative}
.datelock{
 font-size:var(--fs-body);font-weight:400;
 display:grid;
 grid-template-columns:auto minmax(0,1fr);
 gap:var(--s4);
 align-items:start;
 margin-left:calc(var(--s4) * -1);
 padding-left:var(--s4);
 border-left:2px solid var(--accent-strong);
}
.datelock .num{
 font-family:var(--en-display);
 font-size:var(--fs-numeral);
 font-weight:600;
 line-height:.82;
 letter-spacing:-.03em;
 color:var(--ink);
 font-variant-numeric:lining-nums tabular-nums;
 margin-top:-.04em;
}
.datelock .rest{padding-top:var(--s1)}
.datelock .rest .ja{font-family:var(--jp-mincho);font-size:1.25rem;line-height:1.5;color:var(--ink);font-weight:600}
.datelock .rest .en{font-family:var(--en-display);font-size:1.25rem;line-height:1.3;color:var(--ink);font-weight:600}
.datelock .rest{display:flex;flex-direction:column}
.hero .clockline{
 margin-top:var(--s4);
 display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);
 font-size:var(--fs-body);
 color:var(--ink-2);
 font-variant-numeric:tabular-nums lining-nums;
}
.hero .clockline b{font-weight:600;color:var(--ink)}
.hero .place{margin-top:var(--s4)}
.state{
 display:flex;gap:var(--s3);align-items:flex-start;
 padding:var(--s1) 0 var(--s1) var(--s4);
 border:0;
 border-left:2px solid var(--rule-control);
 border-radius:0;
 background:none;
 margin:var(--s6) 0;
}
.state .dot{
 flex:0 0 auto;width:10px;height:10px;border-radius:50%;
 background:var(--ink-3);margin-top:7px;
}
.state.now{background:none;border-left-color:var(--accent-strong);border-left-width:3px;box-shadow:none}
.state.now .dot{background:var(--accent-strong)}
.state.now.live .dot{position:relative}
.state.now.live .dot::after{
 content:"";position:absolute;inset:-4px;border-radius:50%;
 box-shadow:0 0 0 2px var(--accent-edge);
 animation:breathe 2s ease-in-out infinite;
}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.6}}
.state.waiting{border-left-color:var(--wait-ink)}
.state.done{border-left-color:var(--done-ink)}
.state .txt{min-width:0}
.state .lbl{
 font-size:var(--fs-meta);font-weight:600;letter-spacing:.1em;text-transform:uppercase;
 color:var(--ink-3);display:block;margin-bottom:var(--s1);
}
.state.now .lbl{color:var(--accent-ink)}
@property --rise{syntax:"<length>";inherits:false;initial-value:0px}
@property --press-sc{syntax:"<number>";inherits:false;initial-value:1}
@keyframes rowRise{from{--rise:6px}to{--rise:0px}}
@supports (animation-timeline:view()){
 @media (prefers-reduced-motion:no-preference){
 .timetable .row:not(.running){
 animation:rowRise linear both;
 animation-timeline:view();
 animation-range:entry 0% entry 55%;
 }
 }
}
.timetable{margin:var(--s5) 0 0;border-top:1px solid var(--rule-strong)}
.row{
 display:grid;
 grid-template-columns:4.5rem minmax(0,1fr);
 gap:var(--s4);
 padding:var(--s5) var(--s3) var(--s5) 0;
 border-bottom:1px solid var(--rule);
 position:relative;
 text-decoration:none;
 color:inherit;
 touch-action:manipulation;
 transition:background-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
 min-height:44px;
}
@media (hover:hover){
 a.row:hover{background:var(--paper-2)}
 a.row:hover .hour{color:var(--accent-ink)}
}
.row:not(.running){transform:translateY(var(--rise,0px)) scale(var(--press-sc,1))}
a.row:not(.running):active{background:var(--paper-3);--press-sc:var(--press);transition-duration:var(--t-press)}
a.row:active .hour{color:var(--accent-ink)}
.row .hour{
 white-space:nowrap;
 font-family:var(--en-display);
 font-size:var(--fs-hour);
 font-weight:600;
 line-height:1.05;
 color:var(--ink);
 font-variant-numeric:tabular-nums lining-nums;
 letter-spacing:-.01em;
 transition:color var(--t-fast) var(--e-out);
}
.row .till::before{content:"\301C"}
.row .till{
 display:block;font-size:var(--fs-meta);color:var(--ink-3);margin-top:var(--s1);
 font-variant-numeric:tabular-nums lining-nums;
}
.row .body{min-width:0}
@media (min-width:1040px){.row{grid-template-columns:6rem minmax(0,1fr)}}
.row.brk{
 background:var(--paper-2);
 padding-top:var(--s3);padding-bottom:var(--s3);
}
.row.brk .hour{color:var(--ink-2)}
.row.brk .till{margin-top:0}
.row.pending .hour{color:var(--ink-3)}
.row.notyet{cursor:default;border-bottom-style:dashed}
.row.notyet .body{color:var(--ink-3)}
.chip{
 display:inline-flex;align-items:center;gap:var(--s1);
 font-size:var(--fs-meta);font-weight:600;
 padding:2px var(--s2);
 border-radius:var(--r-sm);
 background:var(--paper-3);color:var(--ink-2);
 white-space:nowrap;
 max-width:100%;
}
@media (max-width:379px){.chip{white-space:normal}}
.chip.now{background:var(--accent);color:var(--ink)}
.chip.waiting{background:var(--paper-3);color:var(--ink-2)}
.chip.done{background:none;border:0;color:var(--ink-3);padding-left:0;padding-right:var(--s1)}
.chip.live{background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent-edge)}
.row.running{
 background:var(--paper);
 border-radius:0;
 border-bottom-color:var(--rule);
 box-shadow:var(--sh-now);
 margin:var(--s5) 0;
 padding:var(--s6) var(--s3) var(--s6) var(--s5);
 transform:translateY(-2px);
 overflow:visible;
}
.row.running::before{
 content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
 background:var(--rule);
}
.row.running::after{
 content:"";position:absolute;left:0;top:0;height:100%;width:4px;
 background:var(--accent-strong);
 transform-origin:top;
 transform:scaleY(var(--elapsed,0));
 animation:drawEdge var(--t-slow) var(--e-out) both;
}
@keyframes drawEdge{from{transform:scaleY(0)}to{transform:scaleY(var(--elapsed,0))}}
@media (hover:hover){
 a.row.running:hover{background:var(--paper-2);transform:translateY(-3px);box-shadow:var(--sh-now-hi)}
}
a.row.running:active{transform:translateY(0) scale(var(--press));box-shadow:var(--sh-1);transition-duration:var(--t-press)}
.row.running{transition:background-color var(--t-fast) var(--e-out),transform var(--t-mid) var(--e-out),box-shadow var(--t-mid) var(--e-out)}
@keyframes liftNow{
 from{opacity:.88;transform:translateY(10px);box-shadow:var(--sh-1)}
 to{opacity:1;transform:translateY(-2px);box-shadow:var(--sh-now)}
}
.row.running{animation:liftNow var(--t-mid) var(--e-dec) backwards}
.rowhead{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s2)}
.row.finished .hour,.row.finished .pair>.ja,.row.finished .pair>.en{color:var(--ink-3)}
.doors{
 display:flex;flex-wrap:wrap;gap:var(--s5) var(--s7);
 margin:var(--s6) 0;padding-top:var(--s4);
 border-top:1px solid var(--rule);
}
.door{
 flex:0 1 auto;min-width:8.5rem;
 display:flex;flex-direction:column;gap:2px;
 padding:0;
 border:0;
 background:none;
 text-decoration:none;color:inherit;
 min-height:44px;
 touch-action:manipulation;
 transition:color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
 transform-origin:left center;
}
@media (hover:hover){.door:hover .n{color:var(--accent-ink)}}
.door:active{transform:scale(var(--press));transition-duration:var(--t-press)}
.door:active .n{color:var(--accent-ink)}
.door .n{
 font-family:var(--en-display);font-size:2rem;font-weight:600;line-height:1;
 color:var(--ink);font-variant-numeric:tabular-nums lining-nums;
 transition:color var(--t-fast) var(--e-out);
}
.door .n small{font-size:var(--fs-meta);font-weight:500;color:var(--ink-3);margin-left:2px}
.door .k{font-size:var(--fs-meta);color:var(--ink-2)}
.door .go{
 font-size:var(--fs-meta);color:var(--accent-ink);font-weight:600;margin-top:var(--s2);
 display:flex;align-items:center;gap:var(--s1);
}
.door .go::after{content:"→";transition:transform var(--t-fast) var(--e-out)}
@media (hover:hover){.door:hover .go::after{transform:translateX(3px)}}
.door:active .go::after{transform:translateX(3px)}
.btn{
 display:inline-flex;align-items:center;justify-content:center;
 flex-wrap:wrap;column-gap:var(--s2);row-gap:0;
 min-height:44px;padding:var(--s2) var(--s5);
 text-align:center;line-height:1.35;
 border-radius:var(--r-md);
 border:1px solid var(--ink);
 background:var(--ink);color:#fff;
 font-size:var(--fs-body);font-weight:600;
 text-decoration:none;cursor:pointer;
 touch-action:manipulation;
 text-wrap:balance;
 transition:background var(--t-fast) var(--e-out),box-shadow var(--t-fast) var(--e-out),transform var(--t-fast) var(--e-out);
 box-shadow:var(--sh-1);
}
@media (hover:hover){
 .btn:hover{background:#0f1e42;box-shadow:var(--sh-2);transform:translateY(-1px)}
 .btn.ghost:hover{border-color:var(--ink);background:var(--paper-2);box-shadow:var(--sh-1)}
 .btn.accent:hover{background:#e87712;border-color:#e87712}
}
.btn:active{transform:translateY(0) scale(var(--press));box-shadow:none;transition-duration:var(--t-press)}
.btn.ghost{background:var(--paper);color:var(--ink);border-color:var(--rule-control);box-shadow:none}
.btn.ghost:active{background:var(--paper-3);border-color:var(--ink)}
.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.btn.accent:active{background:#e87712;border-color:#e87712}
.btn[disabled],.btn[aria-disabled="true"]{opacity:1;background:var(--paper-2);color:var(--ink-3);border-color:var(--rule);box-shadow:none;cursor:default}
.btnrow{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s4) 0}
.field{display:block;margin:0 0 var(--s4)}
.field>.lb{display:block;margin-bottom:var(--s2)}
.field input,.field textarea{
 width:100%;
 font-size:1rem; 
 line-height:1.5;
 padding:12px var(--s3);
 min-height:48px;
 border:1px solid var(--rule-control);
 border-radius:var(--r-md);
 background:var(--paper);
 transition:border-color var(--t-fast) var(--e-out),box-shadow var(--t-fast) var(--e-out);
}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-3)}
.field input:hover,.field textarea:hover{border-color:var(--ink-3)}
.field input:focus,.field textarea:focus{
 border-color:var(--accent-ink);
 box-shadow:0 0 0 3px var(--accent-soft);
 outline:none;
}
.field .help{display:block;margin-top:var(--s2);font-size:var(--fs-meta);color:var(--ink-3)}
select.pick{
 width:100%;font-size:1rem;min-height:48px;height:48px;padding:12px 44px 12px var(--s3);
 border:1px solid var(--rule-control);border-radius:var(--r-md);background:var(--paper);
 color:var(--ink);font-family:inherit;line-height:1.2;
 appearance:none;-webkit-appearance:none;
 background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23626c88' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;
 background-position:right var(--s4) center;
}
.plate{margin:var(--s5) 0}
.plate img{
 width:100%;
 border-radius:var(--r-md);
 border:0;
 outline:1px solid var(--rule);
 outline-offset:-1px;
 background:var(--paper-2);
}
.plate figcaption{
 display:flex;gap:var(--s3);align-items:baseline;
 margin-top:var(--s3);
 padding-left:var(--s3);
 border-left:2px solid var(--accent-strong);
}
.plate .cap{font-size:var(--fs-meta);color:var(--ink-2);max-width:44ch}
.plate .credit{display:block;font-size:var(--fs-meta);color:var(--ink-3);margin-top:var(--s1)}
.plate .credit a{color:var(--ink-3);text-decoration:underline;text-underline-offset:2px}
.plates{display:grid;grid-template-columns:1fr;gap:var(--s4)}
@media (min-width:560px){.plates{grid-template-columns:1fr 1fr}}
.plates .plate{margin:0}
.plates.trio{grid-template-columns:1fr}
@media (min-width:560px){.plates.trio{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.plates.trio{grid-template-columns:repeat(3,1fr)}}
.sec{padding:var(--s7) 0 0}
.sec.tight{padding-top:var(--s6)}
.sec>.head{margin-bottom:var(--s4)}
.hr{height:1px;background:var(--rule);margin:var(--s6) 0;border:0}
.ledger{border-top:1px solid var(--rule-strong)}
.ledger li{border-bottom:1px solid var(--rule)}
.ledger a,.ledger .cell{
 display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
 padding:var(--s4) var(--s2) var(--s4) 0;
 min-height:48px;
 text-decoration:none;color:inherit;
 touch-action:manipulation;
 transform-origin:left center;
 transition:background-color var(--t-fast) var(--e-out),padding-left var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
@media (hover:hover){
 .ledger a:hover{background:var(--paper-2);padding-left:var(--s3)}
 .ledger a:hover .arrow{color:var(--accent-ink);transform:translateX(3px)}
}
.ledger a:active{background:var(--paper-3);transform:scale(var(--press));transition-duration:var(--t-press)}
.ledger a:active .arrow{color:var(--accent-ink);transform:translateX(3px)}
.ledger .arrow{color:var(--ink-3);flex:0 0 auto;transition:color var(--t-fast) var(--e-out),transform var(--t-fast) var(--e-out)}
.person{
 padding:var(--s5) 0;
 border-bottom:1px solid var(--rule);
}
.person .part{font-size:var(--fs-meta);font-weight:600;color:var(--accent-ink);letter-spacing:.06em}
.person .org{font-size:var(--fs-meta);color:var(--ink-3);letter-spacing:.04em}
.person .role{font-size:var(--fs-meta);color:var(--ink-2);margin-top:2px}
.person .nm{
 font-family:var(--en-display);
 font-size:1.5rem;font-weight:600;line-height:1.2;
 color:var(--ink);margin-top:var(--s2);
 letter-spacing:.01em;
}
.person .kanji{font-family:var(--jp-mincho);font-size:1.125rem;color:var(--ink-2);margin-top:2px}
.person .kanji.waiting{font-family:var(--jp-gothic);font-size:var(--fs-meta);color:var(--ink-3)}
.person .li{margin-top:var(--s3)}
.person .li a.inlink{display:inline-flex;align-items:center;min-height:44px}
.stream{
 border:0;
 border-top:1px solid var(--rule);
 border-bottom:1px solid var(--rule);
 border-radius:0;
 background:none;
 padding:var(--s5) 0;
 box-shadow:none;
 min-height:16rem;
 display:flex;flex-direction:column;justify-content:flex-end;gap:var(--s4);
}
.stream .line{
 font-size:1.25rem;line-height:1.7;color:var(--ink);
 opacity:1;
}
.stream .line:lang(ja){line-height:var(--lh-jp)}
.stream .line.older{color:var(--ink-3);font-size:1.0625rem}
.stream .line.newest{
 animation:arrive var(--t-fast) var(--e-dec) both;
}
@keyframes arrive{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.stream .sub{font-size:var(--fs-meta);color:var(--ink-3);margin-top:-6px}
.qr{
 border:0;border-radius:0;
 background:none;padding:var(--s5) 0;
 display:flex;flex-direction:column;align-items:center;gap:var(--s4);
 text-align:center;
}
.qr .box{
 width:200px;height:200px;
 display:grid;place-items:center;
 border:0;border-radius:var(--r-sm);
 background:var(--paper-2);
 color:var(--ink-3);font-size:var(--fs-meta);padding:var(--s4);
}
.qr .box.filled{background:var(--paper);padding:0}
.qr .box.filled img,.qr .box.filled svg{width:100%;height:100%}
.panel{
 border:0;border-top:1px solid var(--rule);border-radius:0;
 background:none;padding:var(--s5) 0;
 box-shadow:none;
 margin:var(--s4) 0;
}
.panel.warn{border-top:0;border-left:3px solid var(--accent-strong);padding:var(--s2) 0 var(--s2) var(--s4)}
.meter{height:10px;border-radius:999px;background:var(--paper-2);overflow:hidden;
 margin-top:var(--s2);border:1px solid var(--rule-control)}
.meter i{display:block;height:100%;background:var(--accent-strong);width:var(--level,0%);transition:width var(--t-fast) linear}
.tabs{
 position:sticky;bottom:0;z-index:var(--z-sticky);
 display:grid;grid-template-columns:repeat(4,1fr);
 background:var(--paper);
 border-top:1px solid var(--rule-strong);
 padding-bottom:env(safe-area-inset-bottom,0px);
}
.tabs a{
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
 min-height:58px;padding:var(--s2) 4px;
 text-decoration:none;color:var(--ink-3);
 position:relative;
 touch-action:manipulation;
 transition:color var(--t-fast) var(--e-out),background-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
.tabs a .ja{font-family:var(--jp-gothic);font-size:15px;line-height:1.2;white-space:nowrap}
.tabs a .en{font-size:15px;line-height:1.2;white-space:nowrap}
@media (hover:hover){.tabs a:hover{background:var(--paper-2);color:var(--ink)}}
.tabs a:active{background:var(--paper-3);transform:scale(var(--press));transition-duration:var(--t-press)}
.tabs a[aria-current]{color:var(--ink);font-weight:600}
.tabs .tabmark{
 position:absolute;top:-1px;left:0;height:3px;
 width:var(--w,20%);
 background:var(--accent-strong);
 transform:translateX(var(--x,0px));
 transition:transform var(--t-fast) var(--e-std);
 pointer-events:none;
}
.tabs:not(:has(.tabmark)) a[aria-current]::before{
 content:"";position:absolute;top:-1px;left:var(--s3);right:var(--s3);height:3px;background:var(--accent-strong);
}
@media (min-width:1040px){.tabs{display:none}}
.foot{
 border-top:2px solid var(--ink);
 margin-top:var(--s8);
 padding-top:var(--s5);
}
.foot .paperless{font-size:var(--fs-body);color:var(--ink);max-width:38rem;margin-bottom:var(--s4)}
.powered{
 display:flex;align-items:baseline;gap:6px;
 font-size:var(--fs-meta);color:var(--ink-2);
 margin-top:var(--s4);
}
.powered .stop{width:9px;height:11px;display:inline-block;flex:0 0 auto;align-self:baseline;position:relative;top:1px}
.powered .stop svg,.powered .stop img{width:100%;height:100%;display:block;fill:var(--copper)}
.powered a{
 display:inline-flex;align-items:baseline;gap:6px;
 min-height:44px;padding:12px 0;
 color:inherit;text-decoration:none;
}
.powered a:hover,.powered a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.about{font-size:var(--fs-meta);color:var(--ink-3);margin-top:var(--s3)}
.about a{
 display:inline-flex;align-items:center;min-height:44px;
 color:inherit;text-decoration:none;
}
.about a:hover,.about a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.retire{font-size:var(--fs-meta);color:var(--ink-3);margin-top:var(--s2)}
.rail .railmark{margin-bottom:var(--s5)}
.rail .railmark img{height:24px;width:auto}
.rail .contents{margin-top:var(--s5)}
.rail .ledger a{padding:var(--s3) var(--s2) var(--s3) 0;min-height:44px}
.quiet{color:var(--ink-3)}
.num{font-variant-numeric:tabular-nums lining-nums}
.src{font-size:var(--fs-meta);color:var(--ink-3);margin-top:var(--s3)}
.skip{position:absolute;left:-9999px;display:inline-flex;align-items:center;min-height:44px}
.skip:focus{left:var(--s4);top:var(--s4);z-index:var(--z-overlay);background:var(--ink);color:#fff;padding:var(--s3) var(--s4);border-radius:var(--r-sm);display:inline-flex;align-items:center;min-height:44px}
.band{background:none;border-radius:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:var(--s5) 0;margin:var(--s5) 0}
.band.accent{background:none;border:0;border-left:3px solid var(--accent-strong);padding:var(--s2) 0 var(--s2) var(--s4);box-shadow:none}
.kv{display:grid;grid-template-columns:1fr;gap:var(--s1);padding:var(--s4) 0;border-bottom:1px solid var(--rule)}
@media (min-width:560px){.kv{grid-template-columns:9rem minmax(0,1fr);gap:var(--s4);align-items:baseline}}
.kv dt{font-size:var(--fs-meta);color:var(--ink-3);font-weight:600}
.kv dd{margin:0}
@keyframes riseIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.arrives{animation:riseIn var(--t-mid) var(--e-out) both}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .row.running{animation:none;transform:none;opacity:1;box-shadow:var(--sh-now)}
 a.row.running:hover{transform:none}
 a.row.running:active{transform:none}
 .row.running::after{animation:none;transform:scaleY(var(--elapsed,0))}
 .stream .line.newest{animation:none;opacity:1;transform:none}
 .arrives{animation:none;opacity:1;transform:none}
 html.swapping .ja,html.swapping .en{animation:none;opacity:1}
 .door:hover,.btn:hover,.btn:active,.door:active{transform:none}
 .door:hover .go::after{transform:none}
 .door:active .go::after{transform:none}
 .ledger a:hover{padding-left:0}
 .ledger a:active{transform:none}
 .meter i{transition:none}
 .row:not(.running),a.row:not(.running):active{transform:none;--press-sc:1;--rise:0px}
 .timetable .row{animation:none}
 .tabs a:active{transform:none}
 .tabs .tabmark{transition:none}
 .lang button:active{transform:none}
 .state.now.live .dot::after{animation:none;opacity:1}
 .door,.btn,.row,.ledger a,.ledger .cell,.tabs a,.lang button{transition-property:background-color,border-color,color,box-shadow}
 .ledger a:hover{padding-left:var(--s2)}
 .ledger .arrow{transition-property:color}
 .ledger a:hover .arrow{transform:none}
 .ledger a:active .arrow{transform:none}
 .row.running{transition-property:background-color,box-shadow}
}
main{position:relative}
main:focus{outline:none}
@keyframes viewIn{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes viewOut{from{opacity:1}to{opacity:0}}
.view.entering{animation:viewIn var(--t-fast) var(--e-dec) both}
.view.leaving{
 position:absolute;left:0;right:0;top:0;
 max-height:100vh;overflow:hidden;
 pointer-events:none;
 animation:viewOut var(--t-exit) var(--e-out) both;
}
@supports (animation-timeline:scroll()){
 @media (prefers-reduced-motion:no-preference){
 .top{border-bottom-color:transparent}
 .top::after{
 content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
 background:var(--rule);opacity:0;
 animation:topRule linear both;
 animation-timeline:scroll(root block);
 animation-range:0 24px;
 }
 @keyframes topRule{from{opacity:0}to{opacity:1}}
 }
}
.rehearsal{
 flex:1 0 100%;
 display:flex;align-items:center;justify-content:space-between;
 gap:var(--s3);flex-wrap:wrap;
 border-top:1px solid var(--rule);
 margin-top:var(--s3);padding-top:var(--s2);
}
.rehearsal .say{font-size:var(--fs-meta);color:var(--ink-2);min-width:0}
.rehearsal .out{
 appearance:none;border:0;background:none;padding:0;
 min-height:44px;display:inline-flex;align-items:center;
 font-size:var(--fs-meta);font-weight:600;color:var(--accent-ink);
 cursor:pointer;touch-action:manipulation;
 transition:color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
.rehearsal .out:active{transform:scale(var(--press));transition-duration:var(--t-press)}
.top:has(.rehearsal){flex-wrap:wrap}
.fresh{
 display:flex;gap:var(--s2);align-items:baseline;flex-wrap:wrap;
 font-size:var(--fs-meta);color:var(--ink-3);
 margin:var(--s3) 0 0;
}
.fresh.warn{color:var(--accent-ink)}
.fresh .num{font-variant-numeric:tabular-nums lining-nums}
.frames{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3);margin:var(--s4) 0 0}
@media (min-width:700px){.frames{grid-template-columns:repeat(3,1fr)}}
.frame{
 display:block;padding:0;border:1px solid var(--rule);border-radius:var(--r-md);
 background:var(--paper-2);overflow:hidden;cursor:pointer;
 touch-action:manipulation;min-height:44px;
 transition:border-color var(--t-fast) var(--e-out),box-shadow var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
@media (hover:hover){.frame:hover{border-color:var(--rule-control);box-shadow:var(--sh-1)}}
.frame:active{transform:scale(var(--press));border-color:var(--rule-control);transition-duration:var(--t-press)}
.frame img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;
 outline:1px solid var(--rule);outline-offset:-1px}
.viewer{
 position:fixed;inset:0;z-index:var(--z-overlay);
 background:var(--paper);
 display:flex;flex-direction:column;
 padding:calc(var(--s4) + env(safe-area-inset-top,0px)) var(--s4)
 calc(var(--s4) + env(safe-area-inset-bottom,0px));
 overflow:auto;
}
.viewer[hidden]{display:none}
@keyframes viewerIn{from{opacity:0}to{opacity:1}}
@keyframes viewerShot{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.viewer{animation:viewerIn var(--t-fast) var(--e-dec) both}
.viewer .shot img{animation:viewerShot var(--t-fast) var(--e-dec) backwards}
.viewer.closing{animation:viewerIn var(--t-exit) var(--e-acc) reverse both}
.viewer .shot{
 flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:0;
 touch-action:none;
 overflow:hidden;
}
.viewer .shot img{
 max-width:100%;max-height:72vh;width:auto;
 border-radius:var(--r-md);
 outline:1px solid var(--rule);outline-offset:-1px;
 transform-origin:center center;
 user-select:none;-webkit-user-select:none;-webkit-user-drag:none;
}
.viewer .shot img.moving{transition:none}
.viewer .shot img.settling{transition:transform var(--t-fast) var(--e-out)}
.viewer .cap{font-size:var(--fs-meta);color:var(--ink-2);margin-top:var(--s4);max-width:44ch}
.viewer .btnrow{margin-bottom:0}
.viewer .flip{
 display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
 margin-top:var(--s4);
}
.viewer .flip .of{font-size:var(--fs-meta);color:var(--ink-3);white-space:nowrap}
.viewer .flip{flex-wrap:wrap}
.viewer .flip .hint{white-space:normal;flex:1 1 12ch;min-width:0}
.viewer .flip button{flex:0 0 auto}
.viewer .flip button{
 appearance:none;background:none;border:1px solid var(--rule-control);
 border-radius:var(--r-md);color:var(--ink);
 min-height:44px;min-width:44px;padding:0 var(--s3);
 font-size:var(--fs-body);cursor:pointer;touch-action:manipulation;
 transition:background-color var(--t-fast) var(--e-out),border-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
.viewer .flip button:active{transform:scale(var(--press));background:var(--paper-3);transition-duration:var(--t-press)}
.viewer .flip button[disabled]{color:var(--ink-3);border-color:var(--rule);cursor:default}
.working{font-size:var(--fs-meta);color:var(--ink-3);margin-top:var(--s3)}
.qr .box.filled canvas{width:100%;height:100%;image-rendering:pixelated}
.qr .box video{width:100%;height:100%;object-fit:cover;border-radius:var(--r-sm)}
.card-note{font-size:var(--fs-meta);color:var(--ink-2);margin-top:var(--s3);max-width:44ch}
.card-note.bad{color:var(--accent-ink)}
.glyph{display:block;margin:0 auto}
.glyph-word{font-size:var(--fs-meta);color:var(--ink-2);text-align:center;margin-top:var(--s2)}
.inlink{color:var(--accent-ink);text-underline-offset:3px}
.newmark{
 display:inline-flex;align-items:center;gap:var(--s1);
 font-size:var(--fs-meta);font-weight:600;
 padding:2px var(--s2);border-radius:var(--r-sm);
 white-space:nowrap;
 color:var(--accent-ink);background:var(--accent-soft);
 border:1px solid var(--accent-edge);
 animation:newIn var(--t-fast) var(--e-dec) both,newDim var(--t-mid) var(--e-out) 4s both;
}
.newmark.seen{
 animation:none;color:var(--ink-3);background:var(--paper-2);border-color:var(--paper-3);
}
@keyframes newIn{from{opacity:0}to{opacity:1}}
@keyframes newDim{
 from{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-edge)}
 to{color:var(--ink-3);background:var(--paper-2);border-color:var(--paper-3)}
}
.door .n .cnt{display:inline-block}
.skel{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3);margin:var(--s4) 0 0}
@media (min-width:700px){.skel{grid-template-columns:repeat(3,1fr)}}
.skel i{
 display:block;aspect-ratio:3/2;border-radius:var(--r-md);
 background:var(--paper-2);outline:1px solid var(--rule);outline-offset:-1px;
 animation:skelIn 150ms var(--e-out) 150ms both;
}
.skel.gone{animation:skelOut 150ms var(--e-acc) both}
@keyframes skelIn{from{opacity:0}to{opacity:1}}
@keyframes skelOut{from{opacity:1}to{opacity:0}}
@keyframes qrIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.qr .box.filled canvas{animation:qrIn var(--t-fast) var(--e-dec) both;transform-origin:center center}
@media (prefers-reduced-motion:reduce){
 .frame:hover{box-shadow:none}
 .frame:active{transform:none}
 .view.entering,.view.leaving{animation:none;position:static;max-height:none}
 .viewer{animation:none}
 .viewer.closing{animation:none;opacity:0}
 .viewer .shot img{animation:none}
 .viewer .shot img.settling{transition:none}
 .viewer .flip button:active{transform:none}
 .qr .box.filled canvas{animation:none}
 .rehearsal .out:active{transform:none}
 .frame,.viewer .flip button,.rehearsal .out{transition-property:background-color,border-color,color,box-shadow}
 .skel i{animation:none}
 .skel.gone{animation:none;opacity:0}
}
button.door{
 appearance:none;-webkit-appearance:none;
 text-align:left;font:inherit;color:inherit;
}
.plate-open{
 appearance:none;-webkit-appearance:none;
 display:block;width:100%;padding:0;border:0;background:none;
 cursor:pointer;touch-action:manipulation;
}
.plate-open img{transition:border-color var(--t-fast) var(--e-out)}
.plate-open:hover img{border-color:var(--rule-control)}
.qr .box.filled .plate-open{height:100%}
.qr .box.filled .plate-open canvas{width:100%;height:100%}
.stream:not(:has(.newest)){justify-content:center}
.tabs{grid-template-columns:repeat(5,1fr)}
.ledger .txt{display:flex;flex-direction:column;gap:2px;min-width:0}
p.eyebrow:has(#goback)+.hero{padding-top:var(--s4)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ic{display:inline-flex;flex:0 0 auto;width:20px;height:20px}
.ic svg,.nd-go svg,.soon-go svg,.plate-hint svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.face{
 --fs:36px;
 position:relative;flex:0 0 auto;
 display:inline-grid;place-items:center;
 width:var(--fs);height:var(--fs);
 border-radius:50%;overflow:hidden;isolation:isolate;
 background:var(--paper-3);color:var(--ink);
 vertical-align:middle;
}
.face.warm{background:var(--accent-soft)}
.face .mono{
 font-family:var(--en-display);font-weight:600;
 font-size:max(15px, calc(var(--fs) * .38));line-height:1;letter-spacing:0;
 font-variant-numeric:lining-nums;
 user-select:none;
}
.face img{
 position:absolute;inset:0;width:100%;height:100%;
 object-fit:cover;object-position:50% 38%;
 opacity:0;transition:opacity 420ms var(--e-out);
}
.face img.in{opacity:1}
.face img.blur{filter:blur(6px);transform:scale(1.1)}
.face img.pic{z-index:1}
.face.has-pic::after{
 content:"";position:absolute;inset:0;border-radius:inherit;z-index:2;pointer-events:none;
 box-shadow:inset 0 0 0 1px hsl(223 45% 32% / .12);
}
.person .face,.p-tile .face.fluid{border-radius:var(--r-lg)}
.person .face{--fs:88px}
.person .face .mono{font-size:30px}
.stack{display:inline-flex;align-items:center;flex:0 0 auto;--ring:var(--paper)}
.stack .face{box-shadow:0 0 0 2px var(--ring);transition:box-shadow var(--t-fast) var(--e-out)}
.stack .face+.face{margin-left:calc(var(--fs) * -.18)}
.stack .face:nth-child(1){z-index:4}.stack .face:nth-child(2){z-index:3}
.stack .face:nth-child(3){z-index:2}.stack .face:nth-child(4){z-index:1}
.who{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:var(--s2);min-width:0}
.who .pair.meta{flex:1 1 8rem;min-width:auto}
.nw{white-space:nowrap}
.firm{display:inline-block;max-width:100%}
.recap-who{margin:2px 0 var(--s2)}
@media (hover:hover){a.row:hover .stack,.nextdoor:hover .stack,.ledger a:hover .stack{--ring:var(--paper-2)}}
.row .ttl{display:block}
.row .till.dur::before{content:none}
.row .till.dur{font-family:var(--en-body);font-weight:400;letter-spacing:0}
.row .till.dur .ja{font-family:var(--jp-gothic)}
.row .who{margin-top:10px}
.row.brk .ttl .pair.h3>span{color:var(--ink-2)}
a.row:active .stack{--ring:var(--paper-3)}
@keyframes rowIn{from{opacity:.001;transform:translateY(12px)}to{opacity:1;transform:none}}
.timetable.reveal>.row{
 animation:rowIn 460ms var(--e-dec) backwards;
 animation-delay:calc(min(var(--i,0), 9) * 40ms - var(--since, 0ms));
}
.earlier{border-bottom:1px solid var(--rule)}
.earlier>summary{
 list-style:none;cursor:pointer;
 display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;
 min-height:52px;padding:var(--s3) var(--s2) var(--s3) 0;
 font-size:var(--fs-meta);font-weight:600;color:var(--ink-2);
 touch-action:manipulation;transform-origin:left center;
 transition:background-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
.earlier>summary::-webkit-details-marker{display:none}
.earlier>summary .lbl{display:flex;flex-direction:column;gap:2px;min-width:0}
.earlier>summary .sum-sub{font-weight:400;color:var(--ink-3)}
.earlier>summary .chev{
 margin-left:auto;width:9px;height:9px;flex:0 0 auto;
 border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);
 transform:translateY(-2px) rotate(45deg);
 transition:transform var(--t-fast) var(--e-std);
}
.earlier[open]>summary .chev{transform:translateY(2px) rotate(-135deg)}
@media (hover:hover){.earlier>summary:hover{background:var(--paper-2)}}
.earlier>summary:active{background:var(--paper-2);transform:scale(var(--press));transition-duration:var(--t-press)}
@keyframes foldIn{from{opacity:.001;transform:translateY(-6px)}to{opacity:1;transform:none}}
.earlier[open]>.row{animation:foldIn 280ms var(--e-dec) backwards}
.nowmark{position:relative;height:0;z-index:3;pointer-events:none}
.nowmark .nm-line{position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--accent-strong)}
.nowmark .nm-dot{
 position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;
 background:var(--accent-strong);box-shadow:0 0 0 3px var(--paper);
}
.nowmark .nm-t{
 position:absolute;right:0;top:-13px;
 padding:0 0 0 8px;background:var(--paper);
 font-size:var(--fs-meta);font-weight:600;line-height:24px;color:var(--accent-ink);
}
.timetable.has-now .row.running{
 box-shadow:none;transform:none;margin:0;animation:none;
 padding:var(--s5) var(--s3) var(--s5) var(--s4);
}
.row.running::after{animation-fill-mode:backwards}
@media (hover:hover){.timetable.has-now a.row.running:hover{transform:none;box-shadow:none}}
.timetable.has-now a.row.running:active{transform:scale(var(--press));box-shadow:none}
.hero.lead{padding-top:var(--s5)}
.theme-h1{margin:0;display:flex;flex-direction:column}
.theme-h1 .ja{
 font-family:var(--jp-mincho);font-weight:600;color:var(--ink);
 font-size:clamp(1.75rem, 1.45rem + 1.3vw, 2.5rem);line-height:1.4;letter-spacing:.02em;
}
.theme-h1 .en{
 font-family:var(--en-display);font-weight:600;color:var(--ink);
 font-size:clamp(2.125rem, 1.6rem + 2.2vw, 3.25rem);line-height:1.04;letter-spacing:-.018em;
 text-wrap:balance;
}
.theme-h1.thanks .ln{display:block;white-space:nowrap;font-family:inherit}
.theme-h1.thanks .ja{font-size:clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem)}
.pair.dateline{margin-top:var(--s3)}
.pair.dateline>span{font-size:var(--fs-body);color:var(--ink-2);white-space:pre-line}
.countdown{
 margin:var(--s6) 0 0 calc(var(--s4) * -1);
 padding:var(--s1) 0 var(--s1) var(--s4);
 border-left:2px solid var(--accent-strong);
}
.countdown.compact{margin-top:var(--s4)}
.cd-label{font-size:var(--fs-meta);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}
.cd-label .ja{letter-spacing:.06em}
.cd-num{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6);align-items:flex-end;margin:var(--s3) 0 var(--s3)}
.cd-num .unit{display:flex;flex-direction:column;gap:6px}
.cd-num .u{font-size:var(--fs-meta);color:var(--ink-3);line-height:1.2}
.countdown.compact .cd-num{margin:var(--s2) 0 var(--s2)}
.roll{
 position:relative;display:inline-flex;overflow:hidden;
 font-family:var(--en-display);font-weight:600;color:var(--ink);
 font-size:clamp(3rem, 2.4rem + 2.6vw, 4.5rem);line-height:1;letter-spacing:-.03em;
 font-variant-numeric:tabular-nums lining-nums;
 padding:.06em 0;margin:-.06em 0;
 min-width:1.1ch;
}
.countdown.compact .roll{font-size:clamp(2.5rem, 2.1rem + 1.8vw, 3.5rem)}
.roll .dg{display:inline-block;font-family:inherit}
.roll .dg.out{position:absolute;pointer-events:none}
.nextdoor{
 display:block;position:relative;text-decoration:none;color:inherit;
 margin-top:var(--s5);padding:var(--s4) var(--s2) var(--s4) 0;
 border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
 touch-action:manipulation;transform-origin:left center;
 transition:background-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
.nd-label{display:block;font-size:var(--fs-meta);font-weight:600;color:var(--ink-3);margin-bottom:var(--s2)}
.nd-label [data-next-in]{color:var(--accent-ink)}
.nd-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s4);align-items:start}
.nd-hour{
 font-family:var(--en-display);font-weight:600;color:var(--ink);white-space:nowrap;
 font-size:1.625rem;line-height:1.05;font-variant-numeric:tabular-nums lining-nums;
}
.nd-body{min-width:0}
.nd-who{grid-column:2 / -1;min-width:0;margin-top:calc(var(--s2) * -1)}
.nd-who:empty{display:none}
.nd-who .who{margin-top:0}
.nd-go{width:22px;height:22px;color:var(--accent-ink);align-self:center;transition:transform var(--t-fast) var(--e-out)}
@media (hover:hover){
 a.nextdoor:hover{background:var(--paper-2)}
 a.nextdoor:hover .nd-go{transform:translateX(3px)}
}
a.nextdoor:active{background:var(--paper-2);transform:scale(var(--press));transition-duration:var(--t-press)}
a.nextdoor:active .nd-go{transform:translateX(3px)}
.nextdoor.big .nd-hour{font-size:1.875rem}
@media (max-width:699px){
 .nowcard .nd-row{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--s2)}
 .nowcard .nd-hour{grid-column:1;grid-row:1;font-size:1.5rem}
 .nowcard .nextdoor.big .nd-hour{font-size:1.75rem}
 .nowcard .nd-go{grid-column:2;grid-row:1}
 .nowcard .nd-body{grid-column:1 / -1;grid-row:2}
 .nowcard .nd-who{grid-column:1 / -1;grid-row:3;margin-top:0}
}
.actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}
.btn .ic{width:20px;height:20px;margin-right:2px}
.btn .lbl{display:inline-flex;flex-wrap:wrap;justify-content:center;column-gap:var(--s2)}
.actions .btn{min-height:48px;padding:var(--s2) var(--s5) var(--s2) var(--s4);column-gap:var(--s2)}
.btn.done{background:var(--paper-2);border-color:var(--rule-control);color:var(--ink)}
.hero-plate{margin:var(--s2) 0 0}
.hero-plate img{aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-lg);animation:plateIn 700ms var(--e-out) backwards}
.group-plate{margin:0 0 var(--s5)}
.group-plate img{aspect-ratio:1600/705;object-fit:cover;border-radius:var(--r-lg);animation:plateIn 700ms var(--e-out) backwards}
@keyframes plateIn{from{opacity:.001;transform:scale(1.015)}to{opacity:1;transform:none}}
.plate-open{position:relative;border-radius:var(--r-lg);overflow:hidden}
.plate-hint{
 position:absolute;right:10px;bottom:10px;z-index:1;
 width:36px;height:36px;border-radius:50%;padding:9px;
 background:hsl(0 0% 100% / .94);color:var(--ink);box-shadow:var(--sh-1);
 transition:transform var(--t-fast) var(--e-out);
}
@media (hover:hover){.plate-open:hover .plate-hint{transform:scale(1.08)}}
.plate-open:active .plate-hint{transform:scale(.94)}
.facts{margin-top:var(--s2)}
.facts .clockline{margin-top:var(--s5)}
.placeline{
 display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s3);align-items:center;
 margin-top:var(--s4);padding:var(--s3) var(--s2) var(--s3) 0;min-height:60px;
 border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
 text-decoration:none;color:inherit;touch-action:manipulation;transform-origin:left center;
 transition:background-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
.placeline>.ic{width:24px;height:24px;color:var(--accent-ink)}
.placeline .pl-t{display:flex;flex-direction:column;gap:2px;min-width:0}
@media (hover:hover){.placeline:hover{background:var(--paper-2)}.placeline:hover .nd-go{transform:translateX(3px)}}
.placeline:active{background:var(--paper-2);transform:scale(var(--press));transition-duration:var(--t-press)}
.hero.today{padding-top:var(--s4);padding-bottom:0}
.hero.today+#programme{padding-top:var(--s6)}
.hero.today>.eyebrow{margin-bottom:var(--s3)}
@keyframes cardIn{from{opacity:.001;transform:translateY(10px)}to{opacity:1;transform:none}}
.nowcard{
 position:relative;overflow:hidden;
 margin:0;padding:var(--s5) var(--s5) var(--s4) calc(var(--s5) + 2px);
 background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-card);
 animation:cardIn var(--t-mid) var(--e-dec) backwards;
}
.nowcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent-strong)}
.nowcard.waiting::before{background:var(--rule-control)}
.nc-main{position:relative}
.nc-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}
.nc-label{
 display:flex;align-items:center;gap:8px;
 font-size:var(--fs-meta);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);
}
.nc-label .ja{letter-spacing:.06em}
.nc-clock{letter-spacing:.02em}
.nowcard.waiting .nc-label{color:var(--ink-2)}
.nc-range{
 margin-top:var(--s3);
 font-family:var(--en-display);font-weight:600;color:var(--ink);white-space:nowrap;
 font-size:clamp(1.625rem, 1.45rem + .8vw, 2rem);line-height:1.1;letter-spacing:-.01em;
 font-variant-numeric:tabular-nums lining-nums;
}
.beat{position:relative;flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--accent-strong)}
.beat::after{
 content:"";position:absolute;inset:-4px;border-radius:50%;
 box-shadow:0 0 0 2px var(--accent-edge);
 animation:breathe 4s ease-in-out infinite;
}
.nc-title{margin:var(--s3) 0 var(--s2)}
.nc-title .pair.h2>span{font-size:clamp(1.375rem, 1.22rem + .7vw, 1.75rem);line-height:1.25}
.nc-title .pair.h2>.ja{line-height:1.5}
a.stretch{color:inherit;text-decoration:none;display:block}
a.stretch::after{content:"";position:absolute;inset:calc(var(--s5) * -1);z-index:1}
.nowcard .who{margin-top:var(--s3)}
.nowcard>.nc-main>.pair.meta{margin-top:var(--s1)}
.nc-bar{
 position:relative;height:6px;border-radius:3px;overflow:hidden;
 margin:var(--s5) 0 var(--s2);
 background:var(--paper-2);box-shadow:inset 0 0 0 1px hsl(223 45% 32% / .06);
}
.nc-bar i{
 display:block;width:100%;height:100%;border-radius:3px;
 background:var(--accent-strong);transform-origin:left center;
 transition:transform 1s linear;
}
.nc-left{display:flex;justify-content:space-between;gap:var(--s3);font-size:var(--fs-meta);color:var(--ink-3)}
.nc-nextline{
 display:flex;align-items:baseline;gap:var(--s2);position:relative;z-index:2;
 padding:var(--s3) 0 var(--s1);min-height:44px;
 font-size:var(--fs-meta);color:var(--ink-2);text-decoration:none;
 touch-action:manipulation;transform-origin:left center;
 transition:background-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
.nc-nextline .nl-lbl{font-weight:600;color:var(--ink-3);flex:0 0 auto}
.nc-nextline .nl-hour{font-weight:600;color:var(--ink);flex:0 0 auto}
.nc-nextline .nl-title{flex:1 1 auto;min-width:0}
.nc-nextline .nd-go{width:18px;height:18px;align-self:center;flex:0 0 auto}
@media (hover:hover){a.nc-nextline:hover .nd-go{transform:translateX(3px)}}
a.nc-nextline:active{transform:scale(var(--press));transition-duration:var(--t-press)}
@media (prefers-reduced-motion:reduce){a.nc-nextline:active,a.nc-nextline:active .nd-go{transform:none}.nc-nextline{transition-property:background-color,color}}
.nc-foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s3)}
.nc-foot .nc-left{flex-direction:column;gap:0;justify-content:center}
.nc-foot .nc-rest b{font-size:1.0625rem}
.nc-left b{font-weight:600;color:var(--ink)}
.nc-doors{position:relative;z-index:2;margin-top:var(--s3)}
.nc-door{
 display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 var(--s4) 0 var(--s3);
 border:1px solid var(--rule-control);border-radius:999px;
 font-size:var(--fs-meta);font-weight:600;color:var(--ink);text-decoration:none;
 touch-action:manipulation;
 transition:background-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
@media (hover:hover){.nc-door:hover{background:var(--paper-2)}}
.nc-door:active{background:var(--paper-3);transform:scale(.97);transition-duration:var(--t-press)}
.nc-next{position:relative;z-index:2;margin-top:var(--s3);border-top:1px solid var(--rule)}
.nc-next .nextdoor{margin:0;border:0;padding:var(--s4) 0 var(--s2)}
.runbar{margin-top:var(--s5)}
.recaplist a{align-items:flex-start}
.recaplist .hour{
 font-family:var(--en-display);font-weight:600;font-size:1.25rem;line-height:1.3;color:var(--ink);
 min-width:3.4rem;font-variant-numeric:tabular-nums lining-nums;
}
.recaplist .txt{flex:1}
.soons{display:grid}
.soon{
 display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s4);align-items:center;
 padding:var(--s4) var(--s2) var(--s4) 0;border-top:1px solid var(--rule);
 text-decoration:none;color:inherit;touch-action:manipulation;transform-origin:left center;
 transition:background-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
.soons>.soon:last-child,.sec>.soon{border-bottom:1px solid var(--rule)}
.soons>.doors{margin:var(--s4) 0}
.illus{display:block;width:96px;height:64px}
.illus .r{fill:none;stroke:var(--rule-strong);stroke-width:1}
.illus .l{fill:none;stroke:var(--ink-3);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.illus .p{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.4}
.illus .o{fill:var(--accent-strong)}
.soon-t{display:flex;flex-direction:column;gap:6px;min-width:0}
.soon-go{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-meta);font-weight:600;color:var(--accent-ink)}
.soon-go .nd-go{width:16px;height:16px}
@media (hover:hover){.soon:hover{background:var(--paper-2)}.soon:hover .nd-go{transform:translateX(3px)}}
.soon:active{background:var(--paper-2);transform:scale(var(--press));transition-duration:var(--t-press)}
.skel-lines{display:grid;gap:10px;margin-top:var(--s4)}
.skel-lines i{
 display:block;height:14px;border-radius:7px;background:var(--paper-2);
 animation:skelIn 150ms var(--e-out) 150ms both;
}
.skel-lines i:nth-child(2){width:86%}.skel-lines i:nth-child(3){width:64%}
@media (prefers-reduced-motion:reduce){.skel-lines i{animation:none}}
.viewer .takedown{margin-top:var(--s2)}
.linkish{
 appearance:none;border:0;background:none;padding:0;cursor:pointer;
 min-height:44px;display:inline-flex;align-items:center;text-align:left;
 font-size:var(--fs-meta);color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;
 touch-action:manipulation;
}
.linkish:active{color:var(--ink)}
.card-who{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:var(--s1)}
.card-who b{font-family:var(--en-display);font-size:1.25rem;font-weight:600;color:var(--ink)}
.card-who span{font-size:var(--fs-meta);color:var(--ink-2)}
.sec>.eyebrow+.doors,.sec>.eyebrow+.soons>.doors:first-child{border-top:0;padding-top:0;margin-top:var(--s3)}
.sec>.eyebrow+.soons>.soon:first-child{border-top:0}
.consent{margin-top:var(--s5)}
.consent-lbl{font-size:var(--fs-meta);font-weight:600;color:var(--ink-2);margin-bottom:var(--s1)}
.hero.sess .datelock .rest .until{white-space:nowrap}
@media (max-width:359px){.hero.sess .datelock{grid-template-columns:minmax(0,1fr);row-gap:var(--s1)}}
.hero.sess .datelock .rest .len{
 display:block;margin-top:4px;
 font-family:var(--en-body);font-weight:400;font-size:var(--fs-meta);color:var(--ink-3);
}
.people-cards{margin-top:var(--s1)}
.person{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--s4);align-items:start}
@media (max-width:359px){.person{grid-template-columns:72px minmax(0,1fr);gap:var(--s3)}.person .face{width:72px;height:72px}.person .face .mono{font-size:26px}}
.person .p-txt{min-width:0}
.person .nm{margin-top:0;font-size:1.375rem}
.person .part{margin-bottom:4px}
.person .role{margin-top:6px}
.person .li{margin-top:var(--s2)}
.person .li.none>span{color:var(--ink-3)}
.inlink .out,.p-tile .li .out{display:inline-block;margin-left:4px;transition:transform var(--t-fast) var(--e-out)}
@media (hover:hover){.inlink:hover .out{transform:translate(2px,-2px)}}
.inlink:active .out{transform:translate(2px,-2px)}
.faces-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5);margin-top:var(--s5)}
.p-tile{min-width:0}
.p-head{display:grid;grid-template-columns:var(--pf,112px) minmax(0,1fr);column-gap:var(--s4);align-items:start}
@media (max-width:359px){.p-tile{--pf:84px}}
.p-tile .p-txt{min-width:0}
@media (min-width:560px){
 .faces-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6) var(--s4)}
 .p-head{display:block}
 .p-tile .nm{margin-top:var(--s3)}
}
@media (min-width:700px){.faces-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:700px){.faces-grid.hosts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.p-tile .face.fluid{width:100%;height:auto;aspect-ratio:1}
.p-tile .face.fluid .mono{font-size:clamp(1.75rem, 1.4rem + 2.4vw, 3.5rem)}
.p-tile .face.fluid.small img{inset:auto;position:relative;width:min(88px, 100%);height:auto;aspect-ratio:1;border-radius:50%}
.p-tile .face.fluid.small .mono{display:none}
.p-tile .nm{
 margin-top:0;
 font-family:var(--en-display);font-size:1.25rem;font-weight:600;line-height:1.2;color:var(--ink);
 white-space:nowrap;
}
.person .nm{white-space:nowrap}
.p-tile .role{margin-top:6px;font-size:var(--fs-meta);line-height:1.45;color:var(--ink-2)}
.p-tile .org{margin-top:2px;font-size:var(--fs-meta);line-height:1.45;color:var(--ink-3)}
.p-sessions{margin-top:var(--s3);display:flex;flex-direction:column}
.p-sess{
 display:flex;align-items:center;gap:8px;min-height:44px;
 border-top:1px solid var(--rule);
 font-size:var(--fs-meta);font-weight:600;color:var(--accent-ink);text-decoration:none;
 touch-action:manipulation;transform-origin:left center;
 transition:background-color var(--t-fast) var(--e-out),transform var(--t-press) var(--e-out);
}
.p-sess .num{color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
.p-sess .p-part{flex:1;min-width:0}
.p-sess .p-part.is-title{color:var(--ink);font-weight:400}
.p-sess .p-part{text-wrap:balance}
.p-sess .arrow{color:var(--ink-3);transition:transform var(--t-fast) var(--e-out)}
@media (hover:hover){.p-sess:hover{background:var(--paper-2)}.p-sess:hover .arrow{transform:translateX(3px)}}
.p-sess:active{background:var(--paper-2);transform:scale(var(--press));transition-duration:var(--t-press)}
.p-tile .li{margin-top:2px;font-size:var(--fs-meta)}
.p-tile .li a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.logos{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
 margin-top:var(--s5);background:var(--rule);
 border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;
}
@media (min-width:700px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
.logos li{display:flex;background:var(--paper)}
.logos a,.logos .logo{
 flex:1;display:grid;place-items:center;min-height:112px;padding:var(--s5) var(--s4);
 touch-action:manipulation;
 transition:background-color var(--t-fast) var(--e-out);
}
.logos img{max-width:100%;height:auto;object-fit:contain;transition:transform var(--t-press) var(--e-out)}
@media (hover:hover){.logos a:hover{background:var(--paper-2)}}
.logos a:active{background:var(--paper-2)}
.logos a:active img{transform:scale(.97)}
.logos li.whole{grid-column:1/-1}
.logos li.whole a,.logos li.whole .logo{gap:var(--s3);align-content:center}
.logos .role{display:block;text-align:center}
.logos li.whole a{text-decoration:none}
.logos .role .pair.meta>span{color:var(--ink-2)}
.taxi{
 position:relative;overflow:hidden;
 margin:var(--s5) 0 0;padding:var(--s5);
 background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-card);
}
.taxi::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--ink)}
.t-lbl{font-size:var(--fs-meta);font-weight:600;color:var(--ink-3)}
.t-ja{margin-top:var(--s3)}
.t-ja p{font-family:var(--jp-mincho);color:var(--ink);margin:0}
.t-ask{font-size:1.0625rem;color:var(--ink-2)}
.t-ja .t-ask{color:var(--ink-2)}
.t-name{font-size:clamp(1.75rem, 1.45rem + 1.3vw, 2.25rem);font-weight:600;line-height:1.4;margin-top:var(--s1)}
.t-addr{font-size:clamp(1.5rem, 1.25rem + 1.1vw, 2rem);font-weight:600;line-height:1.45;font-variant-numeric:lining-nums}
.t-ja .t-note{font-family:var(--jp-gothic);font-size:var(--fs-meta);color:var(--ink-2);margin-top:var(--s2);line-height:1.7}
.t-en{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--rule);font-size:var(--fs-meta);color:var(--ink-2)}
.taxi .actions{margin-top:var(--s4);gap:var(--s2)}
.taxi .actions .btn{flex:1 1 auto;padding-left:var(--s3);padding-right:var(--s4)}
.stations{border-top:1px solid var(--rule-strong);margin-top:var(--s2)}
.stn{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s4);align-items:center;padding:var(--s4) 0;border-bottom:1px solid var(--rule)}
.stn-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.stn-min{text-align:right;white-space:nowrap;font-size:var(--fs-meta);color:var(--ink-3)}
.stn-min b{
 font-family:var(--en-display);font-size:2.25rem;font-weight:600;line-height:1;color:var(--ink);
 margin-right:3px;font-variant-numeric:tabular-nums lining-nums;
}
.stn-min.none{max-width:7.5rem;white-space:normal;line-height:1.35}
.viewer .driver{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:var(--s3);padding:var(--s5) var(--s2)}
.driver p{margin:0;font-family:var(--jp-mincho);color:var(--ink)}
.driver .d-ask{font-size:1.5rem;color:var(--ink-2)}
.driver .d-name{font-size:clamp(2.5rem, 9vw, 4rem);font-weight:600;line-height:1.3}
.driver .d-addr{font-size:clamp(2.125rem, 8vw, 3.5rem);font-weight:600;line-height:1.35}
.driver .d-note{font-family:var(--jp-gothic);font-size:1.125rem;color:var(--ink-2);line-height:1.7}
.tabs a{gap:2px;padding:6px 2px 8px;min-height:60px}
.tabs .ti{
 position:relative;z-index:1;width:24px;height:24px;
 fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
 transition:transform var(--t-press) var(--e-out);
}
.tabs .tl{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.tabs .tabmark{
 top:4px;height:30px;border-radius:15px;
 width:var(--w,56px);
 background:var(--paper-3);
 transition:transform 380ms var(--e-spring);
}
.tabs a[aria-current] .ti{stroke-width:1.9}
.tabs a:active .ti{transform:scale(.9)}
.lang{position:relative}
.langmark{
 position:absolute;left:0;bottom:10px;height:2px;width:1px;
 background:var(--accent-strong);transform-origin:0 0;
 transform:translateX(var(--x,0px)) scaleX(var(--w,40));
 transition:transform 380ms var(--e-spring);
 pointer-events:none;
}
.lang:has(.langmark) button[aria-pressed="true"]::after{display:none}
.toast{
 position:fixed;left:16px;right:16px;z-index:var(--z-overlay);
 bottom:calc(76px + env(safe-area-inset-bottom, 0px));
 display:flex;justify-content:center;pointer-events:none;
}
.toast .t-in{
 display:block;max-width:100%;padding:12px 18px;border-radius:var(--r-lg);
 background:var(--ink);color:#fff;box-shadow:var(--sh-3);
 font-size:var(--fs-meta);font-weight:600;line-height:1.45;
 opacity:0;transform:translateY(16px);
}
.toast.on .t-in{animation:toastIn 260ms var(--e-dec) both}
.toast.out .t-in{animation:toastOut 200ms var(--e-acc) both}
@keyframes toastIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes toastOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)}}
@media (min-width:1040px){.toast{bottom:32px}}
.ledger.more a .stack{margin-left:auto}
.ledger.more a .arrow{margin-left:var(--s2)}
::view-transition-old(root),::view-transition-new(root){animation-duration:260ms}
::view-transition-group(vt-hour),::view-transition-group(vt-title){
 animation-duration:440ms;animation-timing-function:cubic-bezier(.2,0,0,1);
}
::view-transition-old(vt-title),::view-transition-new(vt-title){height:100%;object-fit:none;object-position:left top}
.btn .ic svg{transition:transform var(--t-press) var(--e-out)}
.btn:active .ic svg{transform:scale(.92)}
.stream .sub{display:none}
.stream .line.newest{animation:none;opacity:1;transform:none}
.lagline{margin-top:14px;color:var(--ink-2)}
.field input:focus,.field textarea:focus{scroll-margin-top:112px;scroll-margin-bottom:96px}
.cd-num .unit{gap:0}
.roll .dg{line-height:1}
.cd-num .u{font-size:1rem;font-weight:600;color:var(--ink);line-height:1.25}
.field .help,.src,.t-lbl,.door .n small{color:var(--ink-2)}
.plate .credit,.plate .credit a{color:var(--ink-2)}
.ledger .arrow,.p-sess .arrow{
 color:var(--ink-2);position:relative;
 display:inline-block;width:18px;height:20px;flex:0 0 18px;
 overflow:hidden;white-space:nowrap;text-indent:40px;line-height:20px;
}
.ledger .arrow::before,.p-sess .arrow::before{
 content:"";position:absolute;inset:0;background-color:currentColor;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 20' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 10h13M10.5 5l5 5-5 5'/%3E%3C/svg%3E") center/18px 20px no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 20' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 10h13M10.5 5l5 5-5 5'/%3E%3C/svg%3E") center/18px 20px no-repeat;
}
@media (forced-colors:active){
 .ledger .arrow,.p-sess .arrow{width:auto;height:auto;flex:0 0 auto;overflow:visible;text-indent:0;line-height:inherit}
 .ledger .arrow::before,.p-sess .arrow::before{display:none}
}
h1,h2,h3,.pair.h1>span,.pair.h2>span,.pair.h3>span,.theme-h1>span,.nc-title{text-wrap:balance}
p,.pair.meta>span,.pair.body>span{text-wrap:pretty}
h1:lang(ja),h2:lang(ja),h3:lang(ja),.pair.h1>.ja,.pair.h2>.ja,.pair.h3>.ja,.theme-h1>.ja,.nc-title .ja{word-break:auto-phrase}
.eyebrow{letter-spacing:.14em}
.band .kv:has(+ .hr),.band>.kv:last-child{border-bottom:0}
.band .hr:has(+ .eyebrow){height:0;background:none;margin:var(--s6) 0 0}
.open{
 position:fixed;inset:0;z-index:1000;
 display:grid;grid-template-rows:minmax(0,1fr) auto;
 background:#0C3252;color:#fff;
 cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
 transition:transform 640ms cubic-bezier(.3,0,.8,.15),opacity 640ms cubic-bezier(.3,0,.8,.15);
}
.no-open .open{display:none}
.open.lift{transform:translateY(-100%)}
.open.lift.fast{transition-duration:320ms}
.open-photos{position:relative;overflow:hidden;background:#0C3252}
.open .op{
 position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
 opacity:0;transition:opacity 420ms cubic-bezier(.2,0,0,1);
 transform-origin:50% 60%;
}
.open .op1{object-position:50% 18%}
.open .op2{object-position:52% 30%;transition-duration:1100ms}
.open .op1.group{object-position:48% 50%}
.open .op.in{opacity:1;animation:openPush 5200ms linear both}
.open .op.now{transition:none}
@keyframes openPush{from{transform:scale(1)}to{transform:scale(1.07)}}
.open-panel{
 position:relative;
 padding:28px 24px calc(26px + env(safe-area-inset-bottom,0px));
 display:flex;flex-direction:column;align-items:flex-start;
}
.open-panel::before{
 content:"";position:absolute;left:0;right:0;top:0;height:2px;background:#EF5351;
 transform-origin:0 50%;transform:scaleX(0);animation:openRun 3400ms linear forwards;
}
@keyframes openRun{to{transform:scaleX(1)}}
.open-mark{display:block;width:150px;height:auto}
.open-city{
 margin:22px 0 0;font-family:var(--en-display);font-weight:600;color:#fff;
 font-size:clamp(2.75rem, 2.2rem + 2.4vw, 4rem);line-height:1;letter-spacing:-.02em;
 font-variant-numeric:lining-nums;
}
.open-city .ja{font-family:var(--jp-mincho);letter-spacing:.02em}
.open-city .ja,.open-city .en{line-height:1.05}
.open-theme{margin:12px 0 0;font-size:1.25rem;line-height:1.4;color:#F6F1E8}
.open-theme .ja{font-family:var(--jp-mincho);font-weight:600;line-height:1.5}
.open-theme .en{font-family:var(--en-display);font-weight:500}
.open-date{
 margin:18px 0 0;font-size:1rem;font-weight:600;color:#C9D2E3;letter-spacing:.02em;
 display:flex;align-items:center;gap:10px;
}
.open-date::before{content:"";width:22px;height:2px;background:#EF5351;flex:0 0 22px}
.open-powered{
 margin:22px 0 0;align-self:stretch;text-align:right;
 font-size:var(--fs-meta);color:#AEB9CF;letter-spacing:.01em;
}
.open-powered img{display:inline-block;margin-left:5px;vertical-align:-1px}
@media (min-width:900px) and (min-aspect-ratio:1/1){
 .open{grid-template-rows:none;grid-template-columns:minmax(0,1fr) 440px}
 .open-panel{justify-content:center;padding:48px 48px 40px}
 .open-panel::before{left:0;top:0;bottom:0;right:auto;width:2px;height:auto;transform:scaleY(0);transform-origin:50% 0}
 @keyframes openRun{to{transform:scaleY(1)}}
 .open-powered{margin-top:auto;padding-top:40px}
 .open-mark{margin-top:auto;width:180px}
 .open-city{font-size:4.5rem;margin-top:28px}
 .open-theme{font-size:1.625rem;margin-top:16px}
 .open-date{font-size:1.0625rem;margin-top:24px}
}
@media (max-height:620px){
 .open-city{margin-top:14px;font-size:2.5rem}
 .open-date{margin-top:12px}
 .open-powered{margin-top:12px}
}
@media (prefers-reduced-motion:reduce){
 .timetable.reveal>.row,.earlier[open]>.row{animation:none}
 .nowcard{animation:none}
 .hero-plate img,.group-plate img{animation:none}
 .nc-bar i{transition:none}
 .tabs .tabmark,.langmark{transition:none}
 .tabs a:active .ti,.btn:active .ic svg,.plate-open:active .plate-hint{transform:none}
 .earlier>summary .chev{transition:none}
 .earlier>summary:active,a.nextdoor:active,.placeline:active,.soon:active,.p-sess:active,.nc-door:active,
 .timetable.has-now a.row.running:active{transform:none}
 a.nextdoor:active .nd-go,.inlink:active .out{transform:none}
 .earlier>summary,.nextdoor,.placeline,.soon,.p-sess,.nc-door,.nd-go,.tabs .ti,.btn .ic svg,
 .plate-hint,.inlink .out,.p-tile .li .out,.p-sess .arrow,.logos img,.face img,.stack .face{transition-property:background-color,border-color,color,box-shadow,opacity}
 .beat::after{animation:none;opacity:1}
 .toast .t-in{transform:none}
 .toast.on .t-in{animation:toastFadeIn 200ms linear both}
 .toast.out .t-in{animation:toastFadeOut 150ms linear both}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}
 .open{transition-property:opacity;transition-duration:320ms;transition-timing-function:linear}
 .open.lift{transform:none;opacity:0}
 .open .op.in{animation:none}
 .open-panel::before{animation:none;transform:none;opacity:0}
}
@keyframes toastFadeIn{from{opacity:0}to{opacity:1}}
@keyframes toastFadeOut{from{opacity:1}to{opacity:0}}

/* WRITTEN BY tools/build-app.mjs: the pages outside the app that this
   build is serving, so the app draws a door to each one and to no other. */
:root{--page-screen:1;--page-words:1;--content-partners:1}
