@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/latin/Space-Grotesk-400.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/latin/Space-Grotesk-500.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/latin/Space-Grotesk-600.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/latin/Space-Grotesk-700.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/latin/Archivo-400.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/latin/Archivo-500.woff2) format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/latin/Archivo-600.woff2) format("woff2")}{}@font-face{font-family:TpsShow;font-weight:700;font-display:swap;src:url(/fonts/showcase/Tps-B.woff2) format("woff2")}@font-face{font-family:TpsRShow;font-weight:400;font-display:swap;src:url(/fonts/showcase/Tps-R.woff2) format("woff2")}:root{--bg:var(--paper);--fg:var(--ink);--card:var(--paper-2);--muted-fg:var(--ink-2);--line:var(--border);--line-soft:color-mix(in srgb, var(--ink) 12%, var(--paper));--accent:var(--ink);--on-accent:var(--paper);--disp:"Space Grotesk","TpsShow","PingFang TC",sans-serif;--body:"Archivo","TpsRShow","PingFang TC",sans-serif;--t-h1:clamp(1.5rem,1.1rem + 1.6vw,2.2rem);--t-body:.94rem;--t-sm:.83rem;--t-xs:.72rem;--sp-2:16px;--sp-3:24px;--sp-4:36px;--r-xs:4px;--r-s:6px;--r-m:10px;--r-glass:18px;--r-pill:999px;--side:264px;--e:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font:var(--t-body)/1.8 var(--body);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}:where(a,button,label,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--disp);font-weight:600;letter-spacing:-.026em;line-height:1.2}.u-nums{font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:100vh}.side{position:sticky;inset-block-start:0;align-self:start;height:100vh;border-inline-end:1px solid var(--line-soft);padding:22px 18px;display:flex;flex-direction:column;gap:var(--sp-3);overflow-y:auto}.brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:600;font-size:15px}.brand i{width:24px;height:24px;border-radius:var(--r-s);background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-style:normal;font-size:12px}.sgrp{display:grid;gap:2px}.sgrp .lbl{font-size:var(--t-xs);letter-spacing:.14em;color:var(--muted-fg);text-transform:uppercase;padding:8px 10px 6px}.side a,.side label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--r-s);font-size:var(--t-sm);color:var(--muted-fg);cursor:pointer;transition:background-color .18s var(--e),color .18s var(--e)}.side a:hover,.side label:hover{background:var(--line-soft);color:var(--fg)}.side a.on{background:var(--accent);color:var(--on-accent)}.side b{font-family:var(--disp);font-size:var(--t-xs);color:var(--muted-fg);background:var(--line-soft);border-radius:var(--r-xs);padding:2px 6px;font-variant-numeric:tabular-nums}.sfoot{margin-block-start:auto;font-size:var(--t-xs);color:var(--muted-fg);border-block-start:1px solid var(--line-soft);padding-block-start:14px}.main{padding:clamp(24px,3vw,40px) clamp(20px,3vw,44px) 80px;min-width:0}.main section{padding:0}.main h1{font-size:var(--t-h1);max-width:26ch}.main .sub{margin-block-start:10px;color:var(--muted-fg);font-size:var(--t-sm);max-width:36em}.axes{margin-block-start:var(--sp-4);display:grid;gap:14px}.axis{border:0;padding:0;margin:0;display:grid;grid-template-columns:var(--axis-lbl,150px) minmax(0,1fr);gap:12px;align-items:start}.axis legend{float:left;width:var(--axis-lbl,150px);padding:0;font-size:var(--t-sm);color:var(--fg);line-height:32px}.axis legend em{display:block;font-style:normal;font-size:var(--t-xs);color:var(--muted-fg);line-height:1.75;margin-block-start:-6px}.axis .opener{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.axis .axlbl{display:inline-flex;align-items:center;gap:6px;color:inherit}.axis .axlbl i{display:none;width:8px;height:8px;border:1.5px solid var(--muted-fg);border-block-start:0;border-inline-start:0;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s var(--e)}.pills{display:flex;flex-wrap:wrap;gap:7px}.axis+.axis{padding-block-start:14px;border-block-start:1px solid var(--line-soft)}@media(max-width:640px){.axis{grid-template-columns:minmax(0,1fr);gap:8px}.axis legend{float:none;width:auto;line-height:1.4}.axis legend em{margin-block-start:2px}.axis .axlbl{cursor:pointer;min-height:32px}.axis .axlbl i{display:block}.axis .pills{display:none}.axis:has(.opener:checked) .pills{display:flex}.axis:has(.opener:checked) .axlbl i{transform:rotate(-135deg) translate(-2px,-2px)}}.count{margin-block-start:var(--sp-3);font-size:var(--t-sm);color:var(--muted-fg)}.count b{color:var(--fg);font-variant-numeric:tabular-nums}.count em{font-style:normal;display:block;margin-block-start:6px;font-size:var(--t-xs)}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-block-start:var(--sp-4)}.pills label,.chips label{font-size:var(--t-sm);padding:7px 14px;border-radius:var(--r-s);border:1px solid var(--line);color:var(--muted-fg);cursor:pointer;transition:background-color .18s var(--e),color .18s var(--e),border-color .18s var(--e)}.pills label:hover,.chips label:hover{color:var(--fg);border-color:var(--fg)}.pills label b{margin-inline-start:7px;font-size:var(--t-xs);color:var(--muted-fg);background:var(--line-soft);border-radius:var(--r-xs);padding:1px 6px}input[name]:focus-visible+label,.shell input:focus-visible~.main label[for],.shell input:focus-visible~.side label[for]{outline:2px solid var(--fg);outline-offset:2px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-auto-flow:dense;gap:28px 12px;margin-block-start:var(--sp-4)}@media(min-width:1100px){.grid:not(:has(.ghead)) .card:nth-child(9n+1){grid-column:span 2}.grid:not(:has(.ghead)) .card:nth-child(9n+1) figure{aspect-ratio:16/7}}.card{position:relative;display:block}.labix{grid-column:1/-1;font-size:14px;margin:0}.labix a{color:inherit;border-bottom:1px solid currentColor;padding-bottom:2px}.card figure{position:relative;margin:0;aspect-ratio:16/10;overflow:hidden;border-radius:var(--r-m);background:var(--card);border:1px solid var(--line-soft)}.card figure img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .42s var(--e)}.card .ttl{margin-block-start:10px;font-family:var(--disp);font-weight:700;font-size:var(--t-sm);line-height:1.75}.card .ttl a{color:inherit;text-decoration:none}.card .ttl a:after{content:"";position:absolute;inset:0;z-index:1}.card .tax{margin-block-start:4px;font-size:var(--t-xs);color:var(--muted-fg);line-height:1.75}.card .tax i{font-style:normal;color:var(--muted-fg);margin-inline:5px}.card .dsc{margin-block-start:3px;font-size:var(--t-xs);color:var(--muted-fg)}.tags{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:5px;margin-block-start:8px}.tags span,.tags label{font-size:var(--t-xs);letter-spacing:.03em;color:var(--muted-fg);background:var(--line-soft);border-radius:var(--r-xs);padding:3px 7px}.tags label{cursor:pointer;border:1px solid transparent;transition:color .16s var(--e),border-color .16s var(--e)}.tags label:hover{color:var(--fg);border-color:var(--line)}.badge{position:absolute;inset-block-start:8px;inset-inline-end:8px;z-index:2;font-size:10px;letter-spacing:.08em;color:var(--on-deep);background:#000000b8;border-radius:var(--r-xs);padding:3px 7px;backdrop-filter:blur(6px)}@media(hover:hover)and (pointer:fine){.card:hover figure img{transform:scale(1.04)}.card:hover figure{border-color:var(--line)}}.card:focus-within figure{border-color:var(--fg)}.shell input[type=radio]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.shell form.filters{display:contents}.grid .card{display:block}.ghead{display:none;grid-column:1/-1;align-items:baseline;gap:12px;margin-block-start:var(--sp-3);padding-block-end:12px;border-block-end:1px solid var(--line-soft)}.ghead h2{font-family:var(--disp);font-weight:700;font-size:1.02rem}.ghead b{font-size:var(--t-xs);color:var(--muted-fg);background:var(--line-soft);border-radius:var(--r-xs);padding:2px 7px;font-variant-numeric:tabular-nums}.grid .ghead:first-child{margin-block-start:0}.fxbox{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;background:#0a0b0e;--bg:#0A0B0E;--fg:var(--on-deep);--muted-fg:var(--on-deep-3);--line:var(--on-deep-line);--line-soft:color-mix(in srgb, var(--on-deep) 12%, transparent);--accent:var(--on-deep);--on-accent:#0A0B0E;color:var(--on-deep-2)}.fxbox canvas{position:absolute;inset:0;width:100%;height:100%}.fxglassbed{position:absolute;inset:0;background:radial-gradient(40% 48% at 28% 32%,#3c4b6b,transparent 62%),radial-gradient(44% 42% at 72% 66%,#4a3c5e,transparent 64%),linear-gradient(150deg,#141821,#0a0d13);animation:bd 26s ease-in-out infinite alternate}@keyframes bd{to{transform:scale(1.14) translate3d(-3%,-4%,0)}}.fxglass{position:relative;width:62%;padding:14px;border-radius:var(--r-glass);overflow:hidden;border:1px solid rgba(255,255,255,.22);background:#ffffff05}.fxglass canvas{filter:url(#chroma)}.fxglass .fr{position:absolute;inset:0;border-radius:var(--r-glass);pointer-events:none;background-color:#ffffff0d;box-shadow:inset 0 1.5px 2px #ffffff47,inset 0 -1px 2px #00000047}.fxglass p{position:relative;z-index:2;font-family:var(--disp);font-weight:600;font-size:.95rem;color:#fff;text-align:center}.fxsw{width:76%;border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}.fxsw>input{position:absolute;width:1px;height:1px;clip-path:inset(50%)}.fxsw .tb{display:grid;grid-template-columns:repeat(4,1fr);border-block-end:1px solid var(--line)}.fxsw .tb label{padding:8px 4px;text-align:center;font-size:var(--t-xs);color:var(--muted-fg);cursor:pointer;border-inline-end:1px solid var(--line);transition:background-color .18s var(--e),color .18s var(--e)}.fxsw .tb label:last-child{border-inline-end:0}.fxsw .pn{display:grid}.fxsw .pn>div{grid-area:1/1;padding:16px;text-align:center;opacity:0;transition:opacity .18s var(--e)}.fxsw .pn b{display:block;font-family:var(--disp);font-size:1.5rem;font-variant-numeric:tabular-nums}.fxsw .pn span{font-size:var(--t-xs);color:var(--muted-fg)}#x-1:checked~.pn .n1,#x-2:checked~.pn .n2,#x-3:checked~.pn .n3,#x-4:checked~.pn .n4{opacity:1}#x-1:checked~.tb label[for=x-1],#x-2:checked~.tb label[for=x-2],#x-3:checked~.tb label[for=x-3],#x-4:checked~.tb label[for=x-4]{background-color:var(--accent);color:var(--on-accent)}.fxseq{width:76%;display:grid;gap:7px}.fxseq i{display:block;height:16px;border-radius:var(--r-xs);background:#ffffff24;transform-origin:0 50%;transform:scaleX(0);animation:sq .62s var(--e) infinite alternate;animation-delay:calc(var(--d) * 1ms)}@keyframes sq{to{transform:scaleX(1);background-color:#ffffff57}}.fxcham{min-height:44px;padding-inline:24px;border:0;cursor:pointer;background:var(--accent);color:var(--on-accent);font-family:var(--disp);font-weight:600;font-size:var(--t-sm);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}.fxsheen{position:relative;isolation:isolate;overflow:hidden;min-height:44px;padding-inline:26px;border-radius:var(--r-s);font-family:var(--disp);font-weight:500;font-size:var(--t-sm);color:#f3f3f3;border:1px solid rgba(198,198,198,.5);cursor:pointer;background:linear-gradient(105deg,#050505,#2a2a2a 48%,#4a4a4a)}.fxsheen:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.24) 50%,transparent 70%);transform:translate(-120%);animation:sh 2.6s var(--e) infinite}@keyframes sh{0%,55%{transform:translate(-120%)}85%,to{transform:translate(120%)}}.fxgrid{position:absolute;inset:0;overflow:hidden;background:linear-gradient(118deg,#12233f,#2e1338 46%,#0a0b0e)}.fxgrid .ph{position:absolute;inset:0;background:radial-gradient(38% 46% at 26% 30%,#6E86C8,transparent 60%),radial-gradient(34% 40% at 74% 72%,#B0578E,transparent 62%)}.fxgrid svg{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:difference;pointer-events:none}.fxgrid svg line{stroke:#fff;stroke-width:1}.fxgrid svg path{stroke:#fff;stroke-width:1.4}.fxstat{position:absolute;inset:0;display:grid;place-items:center;background:#0a0b0e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.fxstat .rd{width:78%;display:flex;justify-content:space-between;gap:10px;font-size:var(--t-xs);color:var(--fg);font-variant-numeric:tabular-nums}.fxstat .rd span{opacity:.62}.fxstat .rd b{font-weight:400;letter-spacing:.06em}.fxstat .hint{position:absolute;inset-block-end:12px;inset-inline:0;text-align:center;font-size:var(--t-xs);color:var(--muted-fg)}.fxkey{position:absolute;inset:0;display:grid;place-items:center;gap:14px;align-content:center;background:#0a0b0e;transition:none}.fxkey[data-mode=light]{background:#f4f4f5}.fxkey .plate{width:64%;padding:16px 18px;border-radius:var(--r-s);border:1px solid rgba(255,255,255,.22);color:#fff}.fxkey[data-mode=light] .plate{border-color:#0f172a38;color:#0f172a}.fxkey .plate b{display:block;font-family:var(--disp);font-size:1.05rem;font-weight:600}.fxkey .plate span{font-size:var(--t-xs);opacity:.68}.fxkey button{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-xs);letter-spacing:.14em;padding:7px 12px;border-radius:var(--r-xs);cursor:pointer;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.32)}.fxkey[data-mode=light] button{color:#0f172a;border-color:#0f172a52}.fxbeam{position:absolute;inset:0;overflow:hidden;background:#0a1030}.fxbeam i{position:absolute;inset-block:-60%;inset-inline-start:var(--x);width:var(--w);background:linear-gradient(90deg,transparent,rgba(150,180,255,var(--o)),transparent);transform:rotate(18deg) translateZ(0);animation:fxbm var(--t) linear infinite;animation-delay:calc(var(--d) * -1s)}@keyframes fxbm{0%{transform:rotate(18deg) translate3d(0,-62%,0)}to{transform:rotate(18deg) translate3d(0,62%,0)}}.fxpuff{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(70% 90% at 50% 30%,#2f3fc8,#101a5c 70%,#0a0f3a)}.fxpuff svg{width:82%;height:auto;overflow:visible}.fxpuff text{font-family:var(--disp);font-weight:500;font-size:66px;letter-spacing:.3em;text-anchor:middle;fill:#7c90f5;filter:url(#puff)}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.side{position:static;height:auto;border-inline-end:0;border-block-end:1px solid var(--line-soft)}.side .sgrp.cats{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fxglassbed,.fxseq i,.fxsheen:before,.fxbeam i{animation:none}.fxseq i{transform:scaleX(1)}.card figure img{transition:none}}
