@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/open-sans-400.woff2)format("woff2")}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/open-sans-600.woff2)format("woff2")}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/open-sans-700.woff2)format("woff2")}@font-face{font-family:Open Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/open-sans-800.woff2)format("woff2")}:root{--bg:#0b0f1a;--panel:#121828;--panel-2:#182034;--text:#e8ecf6;--muted:#93a0bd;--accent:#4f8cff;--accent-2:#37d3c3;--outside:#e6ad7c;--outside-bg:#e6ad7c0e;--line:#ffffff17;--sans:"Open Sans", "Segoe UI", system-ui, -apple-system, Roboto, "Noto Sans CJK JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}a{color:var(--accent);text-decoration:none}.kiosk{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(1200px 600px at 15% -10%, #4f8cff24, transparent 60%), radial-gradient(900px 500px at 110% 110%, #37d3c31a, transparent 55%), var(--bg);flex-direction:column;height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:clamp(16px,2.5vw,40px);padding:clamp(10px,1.6vh,20px) clamp(24px,3vw,56px);display:flex}.topbar-group{align-items:center;gap:clamp(14px,2vw,30px);min-width:0;display:flex}.brand{align-items:center;gap:clamp(10px,1.2vw,18px);min-width:0;display:flex}.brand-logo{height:clamp(30px,4.4vh,54px);display:block}.brand-text{letter-spacing:.05em;text-transform:uppercase;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(15px,2vh,26px);font-weight:800;overflow:hidden}.preview-chip{color:#1a1205;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:#e6ad7c;border-radius:999px;padding:4px clamp(8px,.8vw,14px);font-size:clamp(11px,1.4vh,17px);font-weight:800}.clock{color:var(--text);font-size:clamp(20px,2.8vh,36px);font-weight:600}.page-of{color:var(--muted);margin-left:.75em;font-weight:700}.stage{flex:1;min-height:0;animation:.7s both fade-in;position:relative}.slide{gap:clamp(20px,2.5vw,44px);height:100%;min-height:0;padding:clamp(20px,3.5vh,56px) clamp(28px,4vw,72px);display:grid}.slide.split{grid-template-columns:2fr 1fr}.slide.full{grid-template-columns:1fr}.pane-inside{touch-action:pan-y;flex-direction:column;justify-content:center;gap:clamp(12px,1.8vh,26px);min-width:0;min-height:0;padding-bottom:clamp(104px,13vh,150px);display:flex;overflow:hidden}.slide.full .pane-inside{width:100%;max-width:1200px;margin:0 auto}.progress{background:var(--line);height:6px}.bar{background:linear-gradient(90deg, var(--accent), var(--accent-2));width:0;height:100%;animation:11.52s linear both progress}@keyframes progress{0%{width:0}to{width:100%}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nav-arrows{gap:10px;display:flex;position:absolute;bottom:clamp(28px,4.5vh,56px);left:clamp(28px,4vw,72px)}.nav-arrows button{border:1px solid var(--line);width:clamp(40px,5.5vh,56px);height:clamp(40px,5.5vh,56px);color:var(--muted);cursor:pointer;background:#121828b3;border-radius:50%;font-size:clamp(22px,3vh,32px);line-height:1;transition:color .15s,border-color .15s}.nav-arrows button:hover{color:var(--accent);border-color:var(--accent)}.nav-arrows button.pause.on{color:var(--accent-2);border-color:var(--accent-2)}.viewer{z-index:5;background:var(--bg);overscroll-behavior:contain;animation:.3s both fade-in;position:absolute;inset:0;overflow-y:auto}.viewer-hold{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(10px,1.8vh,20px);max-width:880px;min-height:100%;margin:0 auto;padding:clamp(24px,5vh,64px);display:flex}.hold-kicker{color:var(--accent-2);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:clamp(12px,1.5vh,16px);font-weight:700}.hold-title{margin:0;font-size:clamp(22px,3.4vh,42px);line-height:1.2}.hold-text{color:var(--text);margin:0;font-size:clamp(14px,1.9vh,21px);line-height:1.55}.hold-note{color:var(--muted);margin:0;font-size:clamp(13px,1.7vh,18px);line-height:1.5}.hold-open{background:var(--accent);color:#fff;cursor:pointer;border-radius:12px;padding:clamp(12px,1.9vh,20px) clamp(22px,2.4vw,38px);font-size:clamp(15px,2vh,24px);font-weight:700;text-decoration:none;display:inline-block}.hold-sub{color:var(--muted);margin:0;font-size:clamp(12px,1.5vh,16px)}.viewer-snap{background:#fff;width:min(100%,1400px);margin:0 auto;display:block;box-shadow:0 0 60px #00000080}.viewer-frame{background:#fff;border:0;width:100%;height:100%;display:block}.viewer-note{border:1px solid var(--line);max-width:46ch;color:var(--muted);background:#0b0f1ae0;border-radius:10px;margin:0;padding:8px 14px;font-size:clamp(12px,1.6vh,16px);line-height:1.4;position:absolute;bottom:clamp(16px,2vh,28px);right:clamp(16px,2vw,32px)}.viewer-back{border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;white-space:nowrap;touch-action:manipulation;border-radius:999px;padding:clamp(6px,.9vh,12px) clamp(16px,1.6vw,28px);font-family:inherit;font-size:clamp(15px,2vh,24px);font-weight:700;transition:color .15s,border-color .15s}@media (hover:hover){.viewer-back:hover{border-color:var(--accent);color:var(--accent)}}.viewer-back:active{border-color:var(--accent);color:var(--accent);background:var(--panel)}.viewer-meta{white-space:nowrap;align-items:center;gap:clamp(14px,2vw,30px);font-size:clamp(14px,1.9vh,24px);display:flex}.viewer-meta a{font-weight:600}.viewer-count{color:var(--accent-2);font-weight:700}.toast{z-index:30;border:1px solid var(--line);max-width:min(92vw,74ch);color:var(--text);text-align:center;background:#0b0f1af0;border-radius:999px;padding:clamp(10px,1.4vh,16px) clamp(18px,2vw,30px);font-size:clamp(14px,1.9vh,22px);animation:.3s both fade-in;position:fixed;bottom:clamp(20px,3.5vh,44px);left:50%;transform:translate(-50%);box-shadow:0 18px 50px #00000080}.pane-outside{background:var(--outside-bg);border:1px solid #e6ad7c47;border-left:4px solid var(--outside);touch-action:none;border-radius:18px;flex-direction:column;gap:clamp(10px,1.6vh,20px);min-width:0;min-height:0;padding:clamp(16px,2.4vh,30px);display:flex;overflow:hidden}.outside-head{flex-direction:column;gap:6px;display:flex}.outside-badge{letter-spacing:.14em;text-transform:uppercase;color:var(--outside);background:#e6ad7c24;border:1px solid #e6ad7c66;border-radius:6px;align-self:flex-start;padding:4px 12px;font-size:clamp(12px,1.6vh,17px);font-weight:800}.outside-sub{color:var(--outside);font-size:clamp(12px,1.6vh,17px);line-height:1.35}.outside-items{flex-direction:column;flex:1;gap:clamp(6px,1vh,12px);min-height:0;display:flex;overflow:hidden}.signals.outside-items li{background:0 0;border:none;flex-direction:column;flex:1 1 0;gap:clamp(6px,.9vh,10px);min-height:0;padding:0;display:flex}.outside-items .card{border:1px solid var(--line);border-left:3px solid var(--accent);background:linear-gradient(90deg,#4f8cff1f,#0000 70%);border-radius:12px;flex-direction:column;flex:none;gap:4px;height:clamp(140px,21vh,250px);padding:10px 16px;display:flex;position:relative;overflow:hidden}.outside-items .card-head{flex-direction:column;gap:4px;display:flex}.outside-items .card-shot{cursor:pointer;background-color:#0c1a3859;background-position:top;background-size:cover;border-radius:8px;flex:1;min-height:0;display:block;position:relative;overflow:hidden}.outside-items .card-shot .shot-text{-webkit-line-clamp:6;color:#e0ecffb8;-webkit-box-orient:vertical;padding:6px 8px;font-size:clamp(11px,1.4vh,14px);line-height:1.4;text-decoration:none;display:-webkit-box;overflow:hidden}.outside-items .card-shot.has-snap:before{content:"";z-index:0;background:linear-gradient(#0c1a3899,#0c1a38c7);position:absolute;inset:0}.outside-items .card>*{z-index:1;position:relative}.outside-items li>.caption{margin:0}.outside-items a{color:var(--text)}.outside-items .caption{color:var(--outside)}.outside-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.outside-hint{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:clamp(11px,1.4vh,15px)}.dots{gap:clamp(12px,1.6vw,22px);display:flex}.dots button{cursor:pointer;background:#e6ad7c47;border:none;border-radius:50%;width:clamp(13px,1.7vh,17px);height:clamp(13px,1.7vh,17px);padding:0;transition:background .15s,transform .15s;position:relative}.dots button:after{content:"";position:absolute;inset:-11px}.dots button.on{background:var(--outside);transform:scale(1.2)}.person-head{grid-template-columns:clamp(150px,24vh,280px) 1fr;align-items:center;gap:clamp(20px,3vw,44px);display:grid}.photo{object-fit:cover;border:1px solid var(--line);background:var(--panel);border-radius:24px;width:clamp(150px,24vh,280px);height:clamp(150px,24vh,280px);box-shadow:0 24px 60px #00000073}.photo.fallback{color:var(--accent);justify-content:center;align-items:center;font-size:clamp(44px,8vh,84px);font-weight:700;display:flex}.photo-sm{object-fit:cover;border:1px solid var(--line);background:var(--panel);border-radius:50%;width:clamp(44px,7vh,72px);height:clamp(44px,7vh,72px)}.photo-sm.fallback{color:var(--accent);justify-content:center;align-items:center;font-size:clamp(15px,2.2vh,24px);font-weight:700;display:flex}.roster{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(6px,1.2vh,18px) clamp(6px,1vw,18px);min-height:0;display:grid}.who-card{min-width:0;min-height:0;font:inherit;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;background:0 0;border:0;flex-direction:column;align-items:center;gap:clamp(3px,.6vh,8px);padding:clamp(4px,.7vh,10px) 4px;display:flex}@media (hover:hover){.who-card:hover .photo-md{border-color:var(--accent)}}.who-card:active .photo-md{border-color:var(--accent)}.photo-md{object-fit:cover;border:1px solid var(--line);background:var(--panel);border-radius:18px;width:clamp(52px,10vh,124px);height:clamp(52px,10vh,124px);transition:border-color .15s}.photo-md.fallback{color:var(--accent);justify-content:center;align-items:center;font-size:clamp(18px,3.6vh,40px);font-weight:700;display:flex}.who-card .who-name{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(12px,1.7vh,19px);font-weight:700;overflow:hidden}.who-card .who-role{text-align:center;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(10px,1.3vh,14px);line-height:1.3;display:-webkit-box;overflow:hidden}.twin-pair{justify-content:center;align-items:flex-start;gap:clamp(24px,5vw,72px);margin:clamp(4px,1.5vh,18px) 0 clamp(10px,2.5vh,28px);display:flex}.twin-face{width:min(42%,340px);min-width:0;font:inherit;color:inherit;text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;gap:clamp(3px,.6vh,8px);padding:0;display:flex}.twin-face>:not(.twin-map),.twin-kicker,.twin-reason{z-index:1;position:relative}.twin-kicker{text-align:center;font-size:clamp(16px,2.4vh,32px)}.twin-map{z-index:0;aspect-ratio:1;pointer-events:none;width:min(50vw,84vh);position:absolute;top:50%;transform:translateY(-50%)}.twin-pair .twin-face:first-child .twin-map{left:0}.twin-pair .twin-face:last-child .twin-map{right:0}.twin-map-NLA{transform:translateY(-72%)}.twin-map path{fill:none;stroke:#005fff;stroke-opacity:.5;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}button.twin-face{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}@media (hover:hover){button.twin-face:hover .photo-md{border-color:var(--accent)}}button.twin-face:active .photo-md{border-color:var(--accent)}.twin-face .photo-md{border-radius:24px;width:clamp(72px,15vh,180px);height:clamp(72px,15vh,180px)}.twin-face .who-name{font-size:clamp(15px,2.2vh,26px)}.twin-romaji{color:var(--muted);font-size:clamp(12px,1.7vh,19px)}.twin-face .twin-dept{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(11px,1.5vh,16px);line-height:1.3;display:-webkit-box;overflow:hidden}.twin-lab{letter-spacing:.12em;color:var(--accent);border:1px solid var(--line);border-radius:999px;margin-top:2px;padding:clamp(3px,.6vh,7px) clamp(14px,1.6vw,26px);font-size:clamp(15px,2vh,24px);font-weight:700}.twin-reason{text-align:center;max-width:52ch;margin:0 auto;font-size:clamp(18px,2.8vh,34px);font-weight:600;line-height:1.4}.subs-groups{flex-direction:column;gap:clamp(8px,1.5vh,20px);min-height:0;display:flex;overflow:hidden}.subs-group h2{letter-spacing:.14em;color:var(--accent);margin-bottom:clamp(6px,.9vh,10px);font-size:clamp(13px,1.7vh,18px)}button.chip{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-size:clamp(13px,1.8vh,20px)}@media (hover:hover){button.chip:hover{border-color:var(--accent);color:var(--accent)}}button.chip:active{border-color:var(--accent);color:var(--accent);background:var(--panel)}.authors{flex-wrap:wrap;gap:clamp(10px,1.6vh,18px) clamp(16px,2vw,30px);display:flex}.who{font:inherit;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.who-name{font-size:clamp(14px,1.9vh,21px);font-weight:600}.person-id h1{letter-spacing:-.01em;margin-top:6px;font-size:clamp(30px,4.6vh,64px);line-height:1.05}.role{color:var(--accent-2);margin-top:8px;font-size:clamp(17px,2.4vh,28px);font-weight:600}.dept{color:var(--muted);margin-top:4px;font-size:clamp(15px,2vh,24px)}.bio{color:var(--text);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:clamp(16px,2.2vh,26px);line-height:1.5;display:-webkit-box;overflow:hidden}section h2{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:10px;font-size:clamp(13px,1.7vh,18px)}.pubs{flex-direction:column;gap:10px;list-style:none;display:flex}.pubs li{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.pubs a{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(15px,2vh,22px);font-weight:600;display:-webkit-box;overflow:hidden}.pubs .meta{color:var(--muted);font-size:clamp(12px,1.6vh,16px)}.signals{flex-direction:column;gap:10px;list-style:none;display:flex}.signals li{border:1px solid var(--line);border-left:3px solid var(--accent);background:linear-gradient(90deg,#4f8cff1f,#0000 70%);border-radius:12px;flex-direction:column;gap:4px;padding:10px 16px;display:flex}.signals a{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(14px,1.9vh,20px);font-weight:600;display:-webkit-box;overflow:hidden}.signals .caption{color:var(--accent-2);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:clamp(13px,1.7vh,18px);line-height:1.35;display:-webkit-box;overflow:hidden}.signals .meta{color:var(--muted);font-size:clamp(11px,1.5vh,15px)}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{background:var(--panel-2);border:1px solid var(--line);color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:100%;padding:8px 18px;font-size:clamp(13px,1.8vh,20px);overflow:hidden}.kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:14px;font-size:clamp(13px,1.7vh,18px);font-weight:700}h1.big{letter-spacing:-.015em;max-width:22ch;font-size:clamp(30px,5.2vh,72px);line-height:1.05}.lede{color:var(--muted);-webkit-line-clamp:5;-webkit-box-orient:vertical;max-width:70ch;font-size:clamp(16px,2.4vh,28px);line-height:1.5;display:-webkit-box;overflow:hidden}.stats{color:var(--muted);gap:clamp(24px,4vw,56px);font-size:clamp(16px,2.4vh,28px);display:flex}.stats strong{color:var(--accent-2);font-size:1.4em}.stats a{font-weight:600}.boot{-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100vh;display:flex}.boot h1{font-size:clamp(28px,4vw,56px)}.boot p{color:var(--muted);font-size:clamp(15px,2vw,22px)}@media (width<=900px){.slide.split{grid-template-columns:1fr}.slide.split .pane-outside{display:none}}
