:root{--ground:#FBF8F3;--ground2:#F4EEE4;--plate:#ECE4D6;--line:rgba(45,34,22,.13);--line-strong:rgba(45,34,22,.24);--ink:#1F1A15;--mut:#4D443B;--dim:#7A6D60;--gold:#D18A1F;--link:#93560B;--coral:#B8452B;--mint:#2D7A5F;--lb-ground:#1F1811;--lb-plate:#2A2119;--lb-ink:#F4EDE2;--lb-mut:#BBA990;--lb-line:rgba(244,237,226,.14);--disp:"Fraunces", Georgia, "Times New Roman", serif;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--hand:"Caveat", "Bradley Hand", cursive;--gut:20px;--maxw:980px}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.62;margin:0;padding-inline:var(--gut);padding-block:0;-webkit-font-smoothing:antialiased}.wrap{max-width:var(--maxw);margin:0 auto}h1,h2,h3,h4{margin:0;font-family:var(--disp);font-weight:500;color:var(--ink);text-wrap:balance;letter-spacing:-.01em;font-variation-settings:"SOFT" 30,"WONK" 0,"opsz" 72}p{margin:0}img,canvas,svg{max-width:100%}a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--coral)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:10px;z-index:99;background:var(--ink);color:var(--ground);padding:8px 14px;border-radius:3px}.hand{font-family:var(--hand);font-size:1.32rem;color:#e4674a;line-height:1.15}.mono{font-family:var(--mono)}.todo{color:var(--coral);border-bottom:1px dashed rgba(184,69,43,.55)}header.top{position:sticky;top:0;z-index:50;background:rgba(251,248,243,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)}.topin{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;padding-block:12px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.logo:hover{color:var(--ink)}.logo .glyph{width:28px;height:28px;flex:none}.logo b{font-family:var(--disp);font-size:1.08rem;font-weight:600;white-space:nowrap;display:block;line-height:1.15}.logo i{font-family:var(--mono);font-size:.6rem;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);display:block}nav.main{margin-left:auto;display:flex;gap:4px 18px;flex-wrap:wrap}nav.main a{font-size:.88rem;color:var(--mut);text-decoration:none;padding-block:2px;border-bottom:2px solid transparent}nav.main a:hover{color:var(--ink)}nav.main a[aria-current=true]{color:var(--ink);border-bottom-color:var(--gold)}nav.main a.cta{color:var(--link)}@media(max-width:720px){nav.main{margin-left:0;width:100%;gap:4px 14px}nav.main a{font-size:.84rem}}section{padding-block:52px 0}h2.sec{font-size:1.45rem;line-height:1.2;padding-bottom:10px;margin-bottom:22px;border-bottom:1px solid var(--line)}h2.sec em{font-style:italic;color:var(--link)}.sechead{display:flex;align-items:flex-end;gap:8px 22px;flex-wrap:wrap;margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:10px}.sechead h2{font-size:1.45rem;line-height:1.2}.sechead .side{margin-left:auto;font-size:.86rem;color:var(--dim);max-width:40ch}.note{margin-top:16px;font-size:.88rem;color:var(--dim)}.empty{color:var(--dim);font-size:.92rem}.pagehead{padding-block:46px 22px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.pagehead h1{font-size:clamp(2rem,4.4vw,2.8rem);line-height:1.08}.pagehead .lead{font-size:clamp(1rem,1.8vw,1.14rem);line-height:1.55;color:var(--mut);max-width:62ch}.crumb{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.crumb a{color:var(--dim);text-decoration:none}.crumb a:hover{color:var(--link)}.prose{max-width:70ch;font-size:1rem;line-height:1.7;color:var(--mut)}.prose.solo{padding-top:30px}.prose>*+*{margin-top:1.05em}.prose h2{font-size:1.4rem;margin-top:1.9em;color:var(--ink)}.prose h3{font-family:var(--sans);font-size:1.02rem;font-weight:600;letter-spacing:0;margin-top:1.7em;color:var(--ink)}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{padding-left:1.2em;display:flex;flex-direction:column;gap:.35em}.prose blockquote{border-left:2px solid var(--gold);padding-left:18px;color:var(--ink);font-family:var(--disp);font-size:1.08rem;font-style:italic;margin-inline:0}.prose code{font-family:var(--mono);font-size:.86em;background:var(--ground2);padding:1px 5px;border-radius:2px;color:var(--mint)}.prose pre{background:var(--ground2);border:1px solid var(--line);border-radius:3px;padding:14px 16px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{border:1px solid var(--line);border-radius:3px}.prose figure{margin:0}.prose figcaption{font-family:var(--mono);font-size:.68rem;color:var(--dim);margin-top:8px;letter-spacing:.04em}.profile{display:grid;grid-template-columns:200px minmax(0,1fr);gap:34px;align-items:center;padding-block:52px 0}.portrait img{width:200px;height:200px;object-fit:cover;display:block;border-radius:14px;border:1px solid var(--line);background:var(--ground2)}.profile h1{font-size:clamp(2.2rem,5vw,3rem);line-height:1.05;font-weight:600}.profile .pos{margin-top:8px;font-size:1.06rem;color:var(--ink);font-weight:500}.profile .aff{margin-top:8px;color:var(--mut);font-size:.95rem;line-height:1.55}.profile .aff .inst{color:var(--dim);font-size:.88rem}.profile .links{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.profile .links a{font-size:.84rem;text-decoration:none;color:var(--ink);border:1px solid var(--line-strong);border-radius:100px;padding:4px 12px;background:#fff}.profile .links a:hover{border-color:var(--gold);color:var(--link)}.profile .links a.cv{background:var(--ink);color:var(--ground);border-color:var(--ink)}@media(max-width:640px){.profile{grid-template-columns:1fr;gap:20px;padding-block:34px 0}.portrait img{width:140px;height:140px}}.overview{padding-block:34px 0}.overview p{font-size:1.08rem;line-height:1.68;color:var(--mut);max-width:70ch}.overview strong{color:var(--ink);font-weight:600}.news{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.news li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:16px;padding:9px 0;border-top:1px solid var(--line);font-size:.95rem;color:var(--mut)}.news li:first-child{border-top:0;padding-top:0}.news time{font-family:var(--mono);font-size:.76rem;color:var(--dim);padding-top:3px;font-variant-numeric:tabular-nums}.news strong{color:var(--ink);font-weight:600}@media(max-width:520px){.news li{grid-template-columns:1fr;gap:2px}}.axislist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.axislist li{display:flex;flex-direction:column;gap:2px}.axislist a{font-weight:600;color:var(--ink);text-decoration:none;font-size:1rem}.axislist a:hover{color:var(--link);text-decoration:underline}.axislist span{font-size:.92rem;color:var(--mut);line-height:1.55;max-width:72ch}p.more{margin-top:18px;display:flex;gap:22px;flex-wrap:wrap;font-size:.9rem}.longbio{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.longbio summary{cursor:pointer;font-weight:600;color:var(--link);font-size:.95rem;list-style:none}.longbio summary::-webkit-details-marker{display:none}.longbio summary::before{content:"+";display:inline-block;width:1.1em;font-family:var(--mono);color:var(--gold)}.longbio[open] summary::before{content:"–"}.longbio .prose{margin-top:6px}.longbio .prose h3:first-child{margin-top:.8em}.where{display:grid;grid-template-columns:minmax(0,1fr)260px;gap:34px;align-items:start}.where address{font-style:normal;font-size:.92rem;line-height:1.65;color:var(--mut);border-left:2px solid var(--gold);padding-left:16px}@media(max-width:760px){.where{grid-template-columns:1fr;gap:18px}}.demo{display:grid;grid-template-columns:minmax(0,1fr)400px;gap:40px;align-items:center}.demo h2.sec{border:0;padding:0;margin-bottom:14px;font-size:1.7rem}.demotext p{color:var(--mut)}.demotext strong{color:var(--ink);font-weight:600}.demotext .note{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:860px){.demo{grid-template-columns:1fr;gap:24px}}.viewer{background:var(--lb-ground);border:1px solid var(--lb-line);border-radius:8px;padding:12px;position:relative;box-shadow:0 18px 44px rgba(45,34,22,.22)}.viewer .frame{position:relative;aspect-ratio:1/1;background:#0c0906;border-radius:4px;overflow:hidden}.viewer canvas{width:100%;height:100%;display:block}.viewer .scalebar{position:absolute;left:12px;bottom:12px;display:flex;flex-direction:column;gap:4px;z-index:2;background:rgba(12,9,6,.62);padding:6px 8px;border-radius:2px}.viewer .scalebar i{display:block;width:58px;height:3px;background:#f4ede2}.viewer .scalebar span{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;color:#f4ede2}.tabs{display:flex;gap:1px;margin-top:10px;background:var(--lb-line);border:1px solid var(--lb-line);border-radius:4px;overflow:hidden}.tabs button{flex:1;appearance:none;border:0;cursor:pointer;background:var(--lb-plate);color:var(--lb-mut);font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:9px 4px;transition:background .15s,color .15s;min-width:0}.tabs button:hover{color:var(--lb-ink)}.tabs button[aria-selected=true]{background:#e8a33d;color:#17120e;font-weight:500}.viewer .cap{margin-top:10px;font-size:.84rem;color:var(--lb-mut);line-height:1.5;min-height:3.6em}.viewer .cap strong{color:var(--lb-ink);font-weight:500}.annot{display:none}.axes{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:28px 22px}.axis{display:flex;flex-direction:column;gap:9px}.axis .plate{display:block;aspect-ratio:4/3;border:1px solid var(--line);overflow:hidden;background:#0f0b08;border-radius:6px}.axis .plate svg,.axis .plate img{width:100%;height:100%;display:block;object-fit:cover}.axis .n{font-family:var(--mono);font-size:.63rem;letter-spacing:.14em;color:var(--dim);text-transform:uppercase}.axis h3{font-family:var(--sans);font-size:1.02rem;font-weight:600;letter-spacing:0}.axis h3 a{color:var(--ink);text-decoration:none}.axis h3 a:hover{color:var(--link);text-decoration:underline}.axis p{font-size:.9rem;color:var(--mut);line-height:1.55}.projects,.courses{display:flex;flex-direction:column}.proj,.course{padding:22px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.projects .proj:first-child,.courses .course:first-child{border-top:0;padding-top:4px}.proj h3,.course h3,.transfer h3{font-size:1.3rem;font-weight:600;line-height:1.2}.proj h3 a,.course h3 a,.transfer h3 a{color:var(--ink);text-decoration:none}.proj h3 a:hover,.course h3 a:hover,.transfer h3 a:hover{color:var(--link);text-decoration:underline}.meta{display:flex;flex-wrap:wrap;gap:4px 0;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--dim);text-transform:uppercase}.meta span+span::before{content:"·";margin-inline:8px;color:var(--gold)}.desc{font-size:.97rem;color:var(--mut);line-height:1.62;max-width:72ch}.partners{font-size:.86rem;color:var(--dim)}.partners b{font-weight:600;color:var(--mut)}.proj .more{font-size:.86rem;margin-top:2px}.transfer{background:var(--ground2);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:6px;padding:20px 22px;display:flex;flex-direction:column;gap:8px}.papers{display:flex;flex-direction:column}.paper{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:16px 0;border-top:1px solid var(--line);align-items:baseline}.papers .paper:first-child{border-top:0}.paper .yr{font-family:var(--mono);font-size:.78rem;color:var(--dim);font-variant-numeric:tabular-nums}.paper .ti{font-size:1rem;line-height:1.4;font-weight:600}.paper .ti a{color:var(--ink);text-decoration:none}.paper .ti a:hover{color:var(--link);text-decoration:underline}.paper .jr{font-size:.82rem;color:var(--dim);margin-top:4px}.paper .tk{font-size:.9rem;color:var(--mut);margin-top:7px;max-width:66ch;line-height:1.55}@media(max-width:600px){.paper{grid-template-columns:1fr;gap:4px}}.papers.hasfigs .paper{grid-template-columns:52px 132px minmax(0,1fr);gap:20px;align-items:start}.papers.hasfigs .paper .yr{padding-top:3px}.paper .snap{width:132px;height:99px;object-fit:cover;display:block;border:1px solid var(--line);border-radius:4px;background:var(--plate)}.paper .snap-empty{width:132px}@media(max-width:760px){.papers.hasfigs .paper{grid-template-columns:1fr;gap:10px}.paper .snap{width:100%;height:auto;max-height:220px}.paper .snap-empty{display:none}}.pubyear{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;padding:14px 0;border-top:1px solid var(--line)}.pubyear h3{font-family:var(--mono);font-size:.8rem;font-weight:500;color:var(--dim);letter-spacing:.06em;font-variant-numeric:tabular-nums;padding-top:3px}.publist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.publist li{display:flex;flex-direction:column;gap:1px}.publist .t{font-size:.95rem;line-height:1.45;color:var(--ink)}.publist .t a{color:var(--ink);text-decoration:none}.publist .t a:hover{color:var(--link);text-decoration:underline}.publist .v{font-size:.8rem;color:var(--dim)}.tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--link);border:1px solid rgba(147,86,11,.35);border-radius:2px;padding:1px 5px;margin-left:6px;vertical-align:2px}@media(max-width:600px){.pubyear{grid-template-columns:1fr;gap:6px}}.embargo{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);border:1px solid rgba(184,69,43,.4);padding:2px 6px;border-radius:2px;margin-left:8px}.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:28px 22px}.member{display:flex;flex-direction:column;gap:6px}.member .ph{aspect-ratio:1/1;background:var(--ground2);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:grid;place-items:center;margin-bottom:4px}.member .ph img{width:100%;height:100%;object-fit:cover;display:block}.member .ph span{font-family:var(--disp);font-size:2.4rem;color:var(--dim)}.member .role{font-family:var(--mono);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:var(--link);min-height:2.3em;display:flex;align-items:flex-end}.member h3{font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:0}.member p{font-size:.86rem;color:var(--mut);line-height:1.5}.links{font-size:.8rem}.links a{text-decoration:none}.links a:hover{text-decoration:underline}.openings{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.open{padding:12px 14px;display:flex;gap:12px;align-items:baseline;border-top:1px solid var(--line)}.open:first-child{border-top:0}.open .t{font-size:.92rem;font-weight:500}.open .d{font-family:var(--mono);font-size:.68rem;color:var(--dim);margin-left:auto;white-space:nowrap}.open .dot{width:7px;height:7px;border-radius:50%;background:var(--mint);flex:none;transform:translateY(-1px)}.open.closed .dot{background:var(--dim)}@media(max-width:520px){.open{flex-wrap:wrap}.open .d{margin-left:19px}}.alumgroup+.alumgroup{margin-top:30px}.alumgroup h3{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-weight:500;margin-bottom:8px}.alumni{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:0 34px}@media(max-width:520px){.alumni{grid-template-columns:1fr}}.alum{display:grid;grid-template-columns:60px minmax(0,1fr);gap:14px;padding:12px 0;border-top:1px solid var(--line);align-items:start}.alum img,.alum .ini{width:60px;height:60px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:var(--ground2)}.alum .ini{display:grid;place-items:center;font-family:var(--disp);font-size:1.4rem;color:var(--dim)}.alum .nm{display:flex;flex-direction:column;gap:2px;font-size:.9rem;color:var(--mut)}.alum .l1 b{color:var(--ink);font-weight:600}.alum .yrs{color:var(--dim)}.alum .l2{font-size:.85rem}.alum .links{font-size:.76rem;margin-top:2px}.collabs{font-size:.92rem;color:var(--mut);line-height:1.8}.collabs i{font-style:normal;color:var(--dim)}.code{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.repo{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px;display:flex;flex-direction:column;gap:10px}.repo h3{font-family:var(--mono);font-size:.95rem;font-weight:500;letter-spacing:0}.repo h3 a{color:var(--ink);text-decoration:none}.repo h3 a:hover{color:var(--link)}.repo p{font-size:.88rem;color:var(--mut);line-height:1.5;flex:1}.repo .inst{font-family:var(--mono);font-size:.74rem;background:var(--ground2);border:1px solid var(--line);padding:8px 10px;border-radius:3px;color:var(--mint);overflow-x:auto;white-space:nowrap}.repo .cite{font-size:.78rem;color:var(--dim)}.repo .tags{display:flex;gap:6px;flex-wrap:wrap}.repo .tags span{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);padding:3px 7px;border-radius:2px}.pagebody{display:grid;grid-template-columns:minmax(0,1fr)240px;gap:48px;padding-block:36px 0;align-items:start}@media(max-width:900px){.pagebody{grid-template-columns:1fr;gap:30px}}.rail{display:flex;flex-direction:column;gap:18px;position:sticky;top:86px}@media(max-width:900px){.rail{position:static}}.railbox{border:1px solid var(--line);border-radius:6px;padding:15px 17px;background:#fff}.railbox h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dim);font-weight:500;margin-bottom:10px}.railbox dl{margin:0;display:flex;flex-direction:column;gap:8px}.railbox dt{font-family:var(--mono);font-size:.6rem;letter-spacing:.11em;text-transform:uppercase;color:var(--dim)}.railbox dd{margin:0;font-size:.88rem;color:var(--ink)}.railbox dd.mono{font-size:.8rem}.railbox ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;font-size:.88rem;color:var(--mut)}.railbox a{text-decoration:none}.railbox a:hover{text-decoration:underline}.pagehero{margin:30px 0 0;display:flex;flex-direction:column;gap:10px}.pagehero img,.pagehero svg{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:6px;background:#0f0b08;max-height:420px;object-fit:cover}.pagehero figcaption{font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;color:var(--dim)}.fig{margin:0;display:flex;flex-direction:column;gap:10px}.fig img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:4px}.fig figcaption{font-family:var(--mono);font-size:.68rem;line-height:1.6;letter-spacing:.04em;color:var(--dim)}@media(min-width:1000px){.fig-wide{width:min(112%,calc(100vw - 44px));max-width:none}}footer.site{margin-top:72px;border-top:1px solid var(--line);padding-block:28px 46px;display:flex;flex-direction:column;gap:18px}footer .addr{font-size:.88rem;color:var(--mut);line-height:1.7}footer .addr b{color:var(--ink);font-weight:600;font-family:var(--disp);font-size:1.05rem;display:block}.colophon{font-family:var(--mono);font-size:.63rem;letter-spacing:.06em;color:var(--dim);display:flex;gap:6px 18px;flex-wrap:wrap}.colophon a{color:var(--dim)}.proj.hasthumb{display:grid;grid-template-columns:104px minmax(0,1fr);gap:24px;align-items:start}.proj.hasthumb .body{display:flex;flex-direction:column;gap:8px;min-width:0}.thumb{display:block;width:104px;height:104px;border-radius:14px;overflow:hidden;background:var(--ground2);border:1px solid var(--line)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .projicon{width:100%;height:100%;display:block;padding:14px}.projicon .ic-line{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.projicon .ic-faint{fill:none;stroke:var(--dim);stroke-opacity:.55;stroke-width:1.1}.projicon .ic-accline{fill:none;stroke:var(--gold);stroke-width:2.2;stroke-linecap:round}.projicon .ic-dash{stroke-dasharray:3 3.5}.projicon .ic-acc{fill:var(--gold)}.projicon .ic-ink{fill:var(--ink)}.projicon .ic-fillg{fill:var(--ground)}.projicon .ic-fillacc{fill:#f3ddb3}@media(max-width:560px){.proj.hasthumb{grid-template-columns:64px minmax(0,1fr);gap:16px}.thumb{width:64px;height:64px;border-radius:10px}.thumb .projicon{padding:8px}}.deckwrap{padding-top:34px}.deck{position:relative;width:100%;max-width:100%;background:#fff;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;box-shadow:0 14px 40px rgba(45,34,22,.14);outline:none}.deck:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.deck:fullscreen{border:0;border-radius:0;background:#000;display:flex;align-items:center;justify-content:center}.deck .frame{position:absolute;inset:0;margin:0}.deck:fullscreen .frame{inset:auto;position:absolute;width:min(100vw,calc(100vh * 1.7778));aspect-ratio:16/9;left:50%;top:50%;transform:translate(-50%,-50%)}.deck .frame img{width:100%;height:100%;display:block;object-fit:contain;background:#fff}.deck .anim{position:absolute;overflow:hidden}.deck .anim video{position:absolute;display:block;object-fit:fill;background:0 0}.deck .zone{position:absolute;top:0;bottom:0;width:30%;border:0;background:0 0;cursor:pointer;z-index:5;padding:0}.deck .zone.prev{left:0;cursor:w-resize}.deck .zone.next{right:0;width:70%;cursor:e-resize}.deckbar{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;flex-wrap:wrap}.deckbar .db{appearance:none;border:1px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:100px;min-width:40px;height:36px;padding:0 12px;font-size:1rem;cursor:pointer}.deckbar .db:hover{border-color:var(--gold);color:var(--link)}.deckbar .db.wide{font-size:.82rem;margin-left:10px}.deckbar .count{font-family:var(--mono);font-size:.85rem;color:var(--dim);min-width:72px;text-align:center}.deckbar .count b{color:var(--ink);font-weight:500}.deckwrap .note{text-align:center}kbd{font-family:var(--mono);font-size:.8em;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:3px;padding:0 4px}.thumbs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.thumbs a{display:block;position:relative;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#fff}.thumbs a:hover{border-color:var(--gold)}.thumbs img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.thumbs span{position:absolute;left:6px;bottom:5px;font-family:var(--mono);font-size:.62rem;color:var(--ink);background:rgba(251,248,243,.9);padding:0 5px;border-radius:2px}.credits{margin-top:30px;font-style:italic}@media(max-width:520px){.thumbs{grid-template-columns:repeat(3,1fr);gap:8px}}