:root{--black:#0b0b0b;--white:#fff;--accent:#0b0;--accent-ink:#007a00;--d-bg:#0b0b0b;--d-panel:#141414;--d-ph:#1f1f1f;--d-line:#262626;--d-line-2:#2a2a2a;--d-line-3:#3a3a3a;--d-grid:#1e1e1e;--d-text:#fff;--d-muted:#9a9a9a;--d-soft:#bdbdbd;--l-bg-lab:#eee;--l-cta-lab:#e4e4e4;--l-bg:#fff;--l-cta:#f2f2f2;--l-ph:#e6e6e6;--l-line:#d4d4d4;--l-line-2:#e0e0e0;--l-line-3:#f0f0f0;--l-text:#0b0b0b;--l-muted:#5c5c5c;--l-soft:#666;--footer-logo:#6b6b6b;--font:"Google Sans Flex",system-ui,sans-serif;--font-code:"Google Sans Code",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--fs-hero:clamp(60px,16vw,230px);--fs-section:clamp(38px,7vw,100px);--fs-page:clamp(28px,3.6vw,52px);--fs-label:12px;--ls-tight:-.06em;--ls-label:.03em;--fw-display:400;--cols:12;--gap:20px;--pad:40px;--max:1400px;--header-h:58px}@media (width<=960px){:root{--cols:6}}@media (width<=600px){:root{--gap:12px;--pad:20px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--d-bg);color:var(--d-text);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;height:auto;display:block}section{scroll-margin-top:var(--header-h)}.wrap{grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gap);padding-inline:var(--pad);max-width:var(--max);margin:0 auto;display:grid}.row{grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gap);align-items:baseline;display:grid}@media (width<=960px){.t-full{grid-column:1/-1!important}.t-half{grid-column:span 3!important}.t-span4{grid-column:span 4!important}.t-span5{grid-column:span 5!important}.t-hide{display:none!important}.t-left{text-align:left!important;justify-content:flex-start!important}}@media (width<=600px){.m-full{grid-column:1/-1!important}.m-span4{grid-column:span 4!important}.m-span2{justify-self:end;grid-column:span 2!important}.m-2col{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 12px!important}.m-left{text-align:left!important}.m-hide{display:none!important}}@media (width>=601px){.d-hide{display:none!important}}.label{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--ls-label);font-weight:500}.h-section{font-size:var(--fs-section);letter-spacing:var(--ls-tight);text-transform:uppercase;line-height:.85;font-weight:var(--fw-display);margin:0}.h-page{font-size:var(--fs-page);letter-spacing:-.04em;text-transform:uppercase;line-height:.9;font-weight:var(--fw-display);margin:0}.h-section sup{letter-spacing:0;vertical-align:top;font-size:16px}.h-page sup{letter-spacing:0;vertical-align:top;font-size:14px}.count{color:var(--accent)}.ar{vertical-align:-.04em;fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:square;width:.8em;height:.8em;margin-inline:.3em;display:inline-block;overflow:visible}.ar-l{transform:rotate(180deg)}.ar-u{transform:rotate(-90deg)}.ar-ur{transform:rotate(-45deg)}:focus{outline:none}:focus-visible{outline-offset:2px;border-radius:1px;outline:2px solid var(--accent)!important;box-shadow:0 0 0 4px var(--black)!important}div:has(>input[type=range]:focus-visible){outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px var(--black)}@media (hover:hover) and (pointer:fine){*{cursor:none!important}}.nh-cursor{pointer-events:none;z-index:9999;mix-blend-mode:difference;width:0;height:0;transition:opacity .2s;position:fixed;top:0;left:0}.nh-cursor .dot{background:#fff;border-radius:50%;width:32px;height:32px;position:absolute;top:-16px;left:-16px}.nh-cursor .logo{color:#fff;width:36px;height:36px;animation:8s linear infinite nh-spin;display:none;position:absolute;top:-18px;left:-18px}.nh-cursor.on-link .dot{display:none}.nh-cursor.on-link .logo{display:block}@media (hover:none),(pointer:coarse){.nh-cursor{display:none!important}}@keyframes nh-spin{to{transform:rotate(360deg)}}@keyframes nh-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.nh-pulse{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite nh-pulse;display:inline-block}.hover-thumb{pointer-events:none;z-index:50;opacity:0;object-fit:cover;will-change:transform;transition:opacity .2s;position:fixed;top:0;left:0}.hover-thumb.show{opacity:1}@media (hover:none){.hover-thumb{display:none}}.demo{background-color:var(--l-ph);position:relative}.demo>span{color:var(--black);text-transform:uppercase;letter-spacing:.03em;background:#fff;padding:3px 6px;font-size:11px;line-height:1.2;position:absolute;bottom:12px;left:12px}.demo-1{background-color:#0b0b0b;background-image:radial-gradient(circle at 62% 46%,#0b0 0 27%,#0000 27.4%)}.demo-2{background-color:#e6e6e6;background-image:repeating-linear-gradient(0deg,#0b0b0b 0 2px,#0000 2px 14px)}.demo-3{background-color:#0b0;background-image:radial-gradient(circle at 0 100%,#0b0b0b 0 62%,#0000 62.4%)}.demo-4{background-color:#1f1f1f;background-image:repeating-linear-gradient(90deg,#ffffff38 0 1px,#0000 1px 28px),repeating-linear-gradient(0deg,#ffffff38 0 1px,#0000 1px 28px)}.demo-5{background-color:#e6e6e6;background-image:linear-gradient(90deg,#0b0b0b 0 38%,#0000 38.2%),radial-gradient(circle at 70% 45%,#0b0 0 18%,#0000 18.4%)}.demo-6{background-color:#0b0b0b;background-image:repeating-radial-gradient(circle at 50% 55%,#fff 0 1px,#0000 1.6px 18px)}.ba{aspect-ratio:16/9;position:relative;overflow:hidden}.ba>.before,.ba>.after{position:absolute;inset:0}.ba>.after{clip-path:inset(0 var(--ba-right,50%) 0 0)}.ba>input[type=range]{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.ba>.handle{background:var(--accent);width:2px;top:0;bottom:0;left:calc(100% - var(--ba-right,50%));pointer-events:none;position:absolute}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.on-dark{--bg:var(--d-bg);--fg:var(--d-text);--muted:var(--d-muted);--soft:var(--d-soft);--line:var(--d-line);--hline:var(--d-line-2);--rule:#fff;--panel:var(--d-panel);--grid:var(--d-grid)}.on-light{--bg:var(--l-bg);--fg:var(--l-text);--muted:var(--l-muted);--soft:var(--l-soft);--line:var(--l-line);--hline:var(--l-line-2);--rule:var(--black);--panel:var(--l-cta);--accent-text:var(--accent-ink)}.on-lab{--bg:var(--l-bg-lab);--fg:var(--l-text);--muted:var(--l-muted);--soft:var(--l-soft);--line:var(--l-line);--hline:var(--l-line);--rule:var(--black);--panel:var(--l-cta-lab);--accent-text:var(--accent-ink)}.on-grey{--bg:#e8e8e8;--fg:var(--l-text);--muted:#555;--soft:#555;--line:var(--l-line);--hline:var(--l-line);--rule:var(--black)}body{background:var(--bg);color:var(--fg)}.on-lab{--font:var(--font-code)}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.surface{background:var(--bg);color:var(--fg)}.site-header{z-index:50;background:var(--bg);color:var(--fg);border-bottom:1px solid var(--hline);position:sticky;top:0}.site-header .wrap{align-items:center;row-gap:12px;padding-block:18px}.brand{letter-spacing:-.02em;grid-column:1/span 3;font-size:16px;font-weight:600}.brand i{color:var(--accent);font-style:normal}.nav-main{text-transform:uppercase;letter-spacing:.02em;flex-wrap:wrap;grid-column:4/span 6;gap:8px 28px;font-size:13px;display:flex}.hdr-note{text-align:right;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);grid-column:10/span 3;margin:0;font-size:13px}.crumbs{text-transform:uppercase;letter-spacing:.02em;color:var(--muted);flex-wrap:wrap;grid-area:1/4/auto/span 6;gap:8px 16px;font-size:13px;display:flex}.crumbs [aria-current]{color:var(--fg)}.hdr-back{text-transform:uppercase;letter-spacing:.02em;grid-column:10/span 3;justify-self:end;align-items:center;min-height:44px;font-size:13px;display:inline-flex}.menu-btn{min-height:44px;color:inherit;font:500 13px var(--font);text-transform:uppercase;letter-spacing:.02em;background:0 0;border:1px solid;padding:0 16px;display:none}.mobile-menu-wrap{grid-column:1/-1}.mobile-menu{border-top:1px solid var(--hline);letter-spacing:-.045em;text-transform:uppercase;flex-direction:column;gap:4px;padding:20px 0 16px;font-size:38px;font-weight:500;line-height:1;display:flex}.mobile-menu a{align-items:flex-start;gap:6px;min-height:44px;display:flex}.mobile-menu a span{letter-spacing:0;padding-top:4px;font-size:12px}.mobile-menu p{letter-spacing:.03em;color:var(--muted);text-transform:none;margin:12px 0 0;font-size:12px}@media (width>=601px){.mobile-menu-wrap{display:none!important}}@media (width<=960px){.hdr-note{display:none}.nav-main{grid-column:1/-1}.hdr-back{grid-column:5/span 2}.crumbs{white-space:nowrap;flex-wrap:nowrap;grid-area:2/1/auto/-1;font-size:12px;overflow-x:auto}}@media (width<=600px){.brand{grid-column:1/span 4}.nav-main{display:none}.menu-btn{grid-column:span 2;justify-self:end;align-items:center;display:inline-flex}}.site-footer{background:var(--bg);color:var(--muted);border-top:1px solid var(--hline)}.site-footer .wrap{text-transform:uppercase;letter-spacing:.03em;align-items:center;row-gap:10px;padding-block:28px;font-size:12px}.site-footer .f-brand{grid-column:1/span 3;align-items:center;display:flex}.site-footer .f-mid{grid-column:4/span 6}.site-footer .f-logo{color:var(--footer-logo);grid-column:10/span 3;justify-self:end}.site-footer .f-logo svg{display:block}@media (width<=960px){.site-footer .f-mid{display:none}.site-footer .f-brand{grid-column:1/span 9}}.btn{text-transform:uppercase;letter-spacing:.02em;min-height:48px;color:inherit;background:0 0;border:1px solid;align-items:center;padding:0 22px;font-family:inherit;font-size:14px;font-weight:500;display:inline-flex}.btn-solid{color:var(--black);background:#fff;border-color:#fff}.btn-solid:hover{color:var(--black);background:var(--accent);border-color:var(--accent)}.btn-end{grid-column:1/-1;justify-content:flex-end;padding-top:28px;display:flex}.chip{border:1px solid var(--rule);min-height:44px;color:var(--fg);font:500 13px var(--font);text-transform:uppercase;letter-spacing:.02em;background:0 0;padding:0 18px;transition:background .2s,color .2s}.chip[aria-pressed=true],.chip[aria-current=page]{background:var(--rule);color:var(--bg)}.chip:disabled{opacity:.35}.sec-head{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.sec-head p{max-width:32ch;margin:0;font-size:18px;line-height:1.35}.sec-head .h-section{align-items:flex-start;gap:.08em;display:flex}.sec-head .num,.h-page .num{letter-spacing:0;padding-top:.4em;font-size:16px}.h-page{letter-spacing:-.045em;align-items:flex-start;gap:.12em;line-height:.98;display:flex}.h-page .num{padding-top:.5em;font-size:14px}.h-page .count{letter-spacing:0;color:var(--accent);padding-top:.5em;font-size:14px}.on-light .count,.on-lab .count{color:var(--accent-ink)}.hero{position:relative;overflow:hidden}.hero-lines{pointer-events:none;z-index:0;width:100%;position:absolute;inset:0}.hero-lines span{border-inline:1px solid var(--grid,#262626)}.hero-lines span:nth-child(n+7){display:block}@media (width<=960px){.hero-lines span:nth-child(n+7){display:none}}.hero-pixels{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero>:not(.hero-lines):not(.hero-pixels){z-index:1;position:relative}.meta-row{border-bottom:1px solid var(--line)}.meta-row .wrap{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);row-gap:12px;padding-block:28px 32px;font-size:12px;line-height:1.35}.meta-row p{margin:0}.meta-row p:first-child{grid-column:1/span 3}.meta-row p:nth-child(2){grid-column:4/span 3}.meta-row p:nth-child(3){grid-column:7/span 3}.meta-row p:nth-child(4){text-align:right;grid-column:10/span 3}@media (width<=960px){.meta-row p:nth-child(-n+2){grid-column:span 3}.meta-row p:nth-child(n+3){display:none}}.page-title .wrap{align-items:start;row-gap:20px;padding-block:56px}.page-title h1{grid-column:1/span 7}.page-title .lead{text-align:right;letter-spacing:-.01em;text-wrap:pretty;grid-column:8/span 5;justify-self:end;max-width:30ch;margin:0;font-size:22px;line-height:1.3}@media (width<=960px){.page-title h1,.page-title .lead{text-align:left;grid-column:1/-1;justify-self:start}}.toolbar{border-top:1px solid var(--line)}.toolbar .wrap{padding-block:24px}.tb{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px 24px;display:flex}.tb-chips,.tb-view{flex-wrap:wrap;gap:8px;display:flex}.tb-tools{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.per{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.per span{display:inline-flex;position:relative}.per select{border:1px solid var(--rule);background:var(--bg);min-width:76px;min-height:44px;color:var(--fg);font:500 13px var(--font);appearance:none;border-radius:0;padding:0 34px 0 14px}.per svg{pointer-events:none;stroke:var(--fg);margin-top:-6px;position:absolute;top:50%;right:12px}@media (width<=600px){.tb{flex-direction:column;align-items:stretch}.tb-chips{scrollbar-width:none;flex-wrap:nowrap;width:calc(100% + 40px);max-width:calc(100% + 40px);margin-inline:-20px;padding-inline:20px;overflow-x:auto}.tb-tools{width:100%}.tb-chips .chip{flex:none;padding:0 14px;font-size:12px}.tb-tools{justify-content:space-between}}.list-wrap{padding-bottom:120px}#list .items{grid-column:1/-1;margin:0;padding:0;list-style:none}#list[data-view=grid] .items,#list:not([data-view]) .items{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:48px 20px;display:grid}#list[data-view=grid] .index-row,#list:not([data-view]) .index-row,#list[data-view=grid] .index-head,#list:not([data-view]) .index-head,#list[data-view=index] .card{display:none}#list[data-view=index] .items{border-bottom:1px solid var(--line-strong,var(--rule))}#list[data-view=index] .items>li{border-top:1px solid var(--d-line-3)}.on-light #list[data-view=index] .items>li,.on-lab #list[data-view=index] .items>li{border-top-color:var(--rule)}.card{flex-direction:column;gap:14px;display:flex}.card .thumb{aspect-ratio:5/4;background:var(--panel);position:relative;overflow:hidden}.card .badge{color:var(--black);text-transform:uppercase;letter-spacing:.03em;background:#fff;padding:3px 6px;font-size:11px;line-height:1.2;position:absolute;bottom:12px;left:12px}.card .thumb img{object-fit:cover;width:100%;height:100%}.card .meta{border-top:1px solid var(--rule);flex-direction:column;gap:6px;padding-top:12px;display:flex}.card .meta .t{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card .meta .name{letter-spacing:-.03em;font-size:26px;line-height:1.05}.card .meta .yr{color:var(--muted);font-size:13px}.card .meta .tags{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:12px}.index-head{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);grid-column:1/-1;align-items:baseline;padding-bottom:12px;font-size:12px;display:none}#list[data-view=index] .index-head{display:grid}.index-row{grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gap);align-items:baseline;padding:22px 0;display:grid}.index-row .no{color:var(--muted);grid-column:span 1;font-size:14px}.index-row .ttl{letter-spacing:-.035em;grid-column:span 5;font-size:clamp(22px,2.1vw,30px);line-height:1.05}.index-head .no,.index-head .ttl{font-size:12px}.index-row .xc{font-size:15px}.index-row .xc.end,.index-head .xc.end{text-align:right}@media (width<=960px){.index-row .xc,.index-head .xc{display:none}}@media (width<=600px){#list .items{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 12px!important}#list[data-view=index] .items{display:block!important}.card .meta .name{font-size:20px}}.empty-note{color:var(--soft);grid-column:1/-1;margin:0;padding:48px 0;font-size:18px}.pager{border-top:1px solid var(--hline);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:64px;padding-top:16px;display:flex}.pager .info{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:12px}.pager .nums,.pager .arrows{flex-wrap:wrap;gap:4px;display:flex}.pager .arrows{gap:8px}.pager .nums .chip{border-color:var(--line);min-width:44px;padding:0 10px;font-size:14px}.pager .nums .chip[aria-current=page]{border-color:var(--rule)}@media (width<=600px){.pager{flex-direction:column;align-items:stretch}.pager .nums{justify-content:center}.pager .arrows .chip{flex:1}}.stack-full{grid-column:1/-1}@media (width<=960px){.t-stack{grid-column:1/-1!important}}svg{flex:none}:root,.on-dark,.on-light,.on-lab,.on-grey{--divider:color-mix(in srgb,var(--fg) 22%,transparent)}.on-dark{--item-line:#2a2a2a}.on-light,.on-lab,.on-grey{--item-line:var(--black)}.index-head .no{grid-column:span 1}.index-head .ttl{grid-column:span 5}.collapse{visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1),visibility 0s .4s;display:grid}.collapse[data-open]{visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1),visibility}.collapse-in{min-height:0;overflow:hidden}.collapse-in>*{opacity:0;transition:opacity .25s,transform .4s cubic-bezier(.4,0,.2,1);transform:translateY(-8px)}.collapse[data-open] .collapse-in>*{opacity:1;transition-delay:80ms;transform:none}.svc-sign,.ch-sign{width:var(--sign,18px);height:var(--sign,18px);place-items:center;display:grid}.svc-sign .ar,.ch-sign .ar{vertical-align:0;width:100%;height:100%;margin:0;transition:transform .3s cubic-bezier(.4,0,.2,1);transform:rotate(90deg)}[aria-expanded=true]>.svc-sign .ar,[aria-expanded=true] .ch-sign .ar{transform:rotate(-90deg)}.svc-btn:hover .svc-sign,.ch-mob-btn:hover .ch-sign{color:var(--accent)}@keyframes lb-in{0%{opacity:0}to{opacity:1}}.site-header .wrap{padding-block:7px}.brand,.f-logo{align-items:center;min-height:44px;display:inline-flex}.site-footer .wrap{padding-block:14px}@media (width<=600px){.index-nav a{min-height:44px}}.to-top{z-index:90;bottom:calc(20px + var(--lift,0px));color:#fff;mix-blend-mode:difference;opacity:0;visibility:hidden;place-items:center;width:44px;height:44px;transition:opacity .25s,transform .25s,visibility 0s .25s;display:grid;position:fixed;right:20px;transform:translateY(8px)}.to-top.is-on{opacity:1;visibility:visible;transition:opacity .25s,transform .25s;transform:none}.to-top .ar{vertical-align:0;width:22px;height:22px;margin:0;transition:translate .25s}.to-top:hover .ar{translate:0 -4px}.skip-link{z-index:200;color:var(--black);text-transform:uppercase;letter-spacing:.02em;background:#fff;padding:12px 16px;font-size:13px;font-weight:500;transition:top .2s;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}main:focus{box-shadow:none!important;outline:none!important}
