body{padding-bottom:0}.p-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 8px;font-size:13px;display:flex}.p-meta .live,.p-meta .ended{color:var(--text);font-weight:600}.p-desc{color:var(--text);margin:0 0 10px;font-weight:600}.p-about{white-space:pre-line;color:var(--text-2);margin:0 0 14px}.p-feat{background:var(--surface);border-radius:12px;gap:8px;margin:0 0 14px;padding:14px 16px;font-size:14px;list-style:none;display:grid}.p-feat li{grid-template-columns:11em minmax(0,1fr);gap:12px;display:grid}.p-feat b{font-weight:700}.p-feat span{color:var(--text-2)}@media (max-width:560px){.p-feat li{grid-template-columns:minmax(0,1fr);gap:0}}.p-role{color:var(--text-2);margin:-2px 0 8px;font-size:14px;font-weight:600}.p-npm{font:600 13px var(--code);color:var(--text);margin:0 0 8px}.p-tech{color:var(--muted);margin:0 0 14px;font-size:13px}.pj-tabs{border-bottom:1px solid var(--line);gap:28px;margin:0 0 20px;display:flex}.pj-tabs button{color:var(--muted);font:inherit;letter-spacing:-.02em;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:baseline;gap:8px;margin-bottom:-1px;padding:0 2px 12px;font-size:22px;font-weight:700;display:inline-flex}.pj-tabs button span{letter-spacing:0;font-size:15px;font-weight:500}.pj-tabs button:hover{color:var(--text-2)}.pj-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--text)}.pj-tabs button:focus-visible{outline:2px solid var(--text);outline-offset:4px;border-radius:4px}@media (max-width:720px){.pj-tabs{gap:20px}.pj-tabs button{font-size:19px}}@media (max-width:360px){.pj-tabs{gap:14px}.pj-tabs button{gap:5px;font-size:17px}}.oss-contrib{margin:0 0 48px;padding:0;list-style:none}.oss-contrib li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,15em) 3.5em minmax(0,1fr);align-items:baseline;gap:4px 16px;padding:14px 0;display:grid}.oss-contrib a{text-underline-offset:3px;align-items:center;gap:8px;display:inline-flex}.oss-contrib .ic{flex:none;align-self:center;width:16px;height:16px}.oss-contrib .n{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.oss-contrib .d{color:var(--text-2);font-size:15px}@media (max-width:720px){.oss-contrib li{grid-template-columns:minmax(0,1fr) auto}.oss-contrib .d{grid-column:1/-1}}.pj-sh{margin-bottom:18px}.pj-sh h2{letter-spacing:-.02em;align-items:baseline;gap:10px;margin:0;font-size:28px;display:flex}.pj-sh h2 span{letter-spacing:0;color:var(--muted);font-size:15px;font-weight:500}.pj-sh p{color:var(--text-2);margin:6px 0 0}.pj-sec .tabs{margin-bottom:20px}.pl-top{border-top:2px solid var(--text)}.co-mark{aspect-ratio:16/10;border:1px solid var(--line);background:#16161a;border-radius:14px;flex-direction:column;justify-content:center;align-self:start;align-items:center;gap:14px;padding:28px 24px;display:flex}.co-mark img{object-fit:contain;width:78%;max-height:48px}.co-mark span{color:#8e8e96;font-size:13px}.pl-row h3 .co-ic{vertical-align:-3px;border-radius:6px;width:24px;height:24px;margin-right:8px;display:inline-block}.pl-wrap{grid-template-columns:var(--side-w) minmax(0, 1fr);column-gap:var(--side-gap);align-items:start;display:grid}.pl-main{grid-area:1/2;min-width:0}.pl-side{top:var(--side-top);grid-area:1/1;position:sticky}.pl-side ul li b{color:var(--text);font-variant-numeric:tabular-nums}.pl-side ul li a{text-underline-offset:3px}.side-p{color:var(--text-2);margin:0 0 10px;font-size:14px}.pl-yr{border-bottom:2px solid var(--text);align-items:baseline;gap:10px;margin:8px 0 0;padding-bottom:12px;font-size:20px;display:flex}.pl-yr span{color:var(--muted);font-size:14px;font-weight:500}.pl{margin:0 0 48px;padding:0;list-style:none}.pl-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:28px;padding:28px 0;scroll-margin-top:80px;display:grid}.pl-row.is-target{animation:1.8s ease-out pl-flash}@keyframes pl-flash{0%,35%{background:var(--surface);box-shadow:0 0 0 16px var(--surface)}to{background:0 0;box-shadow:0 0 0 16px #0000}}@media (prefers-reduced-motion:reduce){.pl-row.is-target{background:var(--surface);box-shadow:0 0 0 16px var(--surface);animation:none}}.p-head{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 8px;display:flex}.pl-row h3{letter-spacing:-.02em;margin:0;font-size:22px}.pl-row h3 a{text-decoration:none}.pl-row h3 a:hover{text-underline-offset:4px;text-decoration:underline}.pl-row h3 small{color:var(--muted);font-size:14px;font-weight:500}@media (max-width:1080px){.pl-wrap{grid-template-columns:minmax(0,1fr)}.pl-main,.pl-side{grid-area:auto}.pl-side{margin-top:40px;position:static}}@media (max-width:720px){.pl-row{grid-template-columns:minmax(0,1fr);gap:14px}.pl-row>:last-child{order:-1}.co-mark{display:none}.pj-sh h2{font-size:24px}}.pg.pd{max-width:908px}.pd-back{color:var(--text-2);text-underline-offset:3px;margin-bottom:20px;font-size:15px;display:inline-block}.pd-head h1{letter-spacing:-.03em;margin:0;font-size:40px}.pd-line{margin:4px 0 28px;font-size:19px;font-weight:600}.pd-cover{margin-bottom:48px}.pd-cover .pcover{aspect-ratio:16/9;border-radius:18px}.pd-sec h2{letter-spacing:-.02em;margin:0 0 12px;font-size:22px}.pd-sec+.pd-sec{margin-top:36px}.pd-shots{gap:24px;margin-top:20px;display:grid}.pd-shots-note{color:var(--muted);margin:0;font-size:14px}.pd-shots figure{margin:0}.pd-shots a{border:1px solid var(--line);border-radius:12px;display:block;overflow:hidden}.pd-shots img{width:100%;height:auto;display:block}.pd-shots figcaption{color:var(--text-2);margin-top:8px;font-size:14px;font-weight:600}.pd-sec .p-about{font-size:17px}.pd-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:56px;display:grid}.pd-nav-a{border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:4px;padding:18px 20px;display:flex}.pd-nav-a:hover{background:var(--surface)}.pd-nav-a small{color:var(--muted);font-size:13px}.pd-nav-a b{font-size:17px}.pd-nav-a span{color:var(--text-2);font-size:14px}.pd-nav-a:last-child{text-align:right}@media (max-width:720px){.pd-head h1{font-size:30px}.pd-nav{grid-template-columns:minmax(0,1fr)}.pd-nav-a:last-child{text-align:left}}.pd-more{text-underline-offset:3px;font-size:14px;font-weight:600}.pd-tech{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pd-tech li{background:var(--surface);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600}
