@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(../media/source-sans-3-latin-400-normal.1h1rt903zk-ir.woff2)format("woff2"),url(../media/source-sans-3-latin-400-normal.32x8nn8azcbel.woff)format("woff")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(../media/source-sans-3-latin-600-normal.3s8u80raf8n99.woff2)format("woff2"),url(../media/source-sans-3-latin-600-normal.23phpl45324hp.woff)format("woff")}
:root{--bg:#f2f2f2;--card:#fff;--ink:#222;--ink-2:#666;--ink-3:#9a9a9a;--rule:#ddd;--accent:#2a9d8f;--sidebar:240px;--gutter:clamp(20px, 2.4vw, 52px);--content:1200px;--font:"Source Sans 3", "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:16px;font-weight:400;line-height:1.5}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img,video{max-width:100%;height:auto;display:block}::selection{background:#cfe9e5}.shell{grid-template-columns:var(--sidebar) 1fr;max-width:1640px;min-height:100vh;margin:0 auto;display:grid}.sidebar{flex-direction:column;height:100vh;padding:36px 24px 28px 32px;font-size:14px;display:flex;position:sticky;top:0}.sidebar .name{letter-spacing:-.01em;margin:0 0 22px;font-size:22px;font-weight:600;line-height:1.15}.sidebar .name a:hover{color:var(--ink)}.sidebar nav ul{margin:0;padding:0;list-style:none}.sidebar nav li{margin:0 0 7px}.sidebar nav.primary a{color:var(--ink-2);font-size:16px}.sidebar nav.primary a.active,.sidebar nav a.active{color:var(--accent)}.sidebar hr{border:0;border-top:1px solid var(--rule);width:100%;margin:22px 0 20px}.sidebar nav.projects a{color:var(--ink);padding:2px 0;line-height:1.3;display:block}.sidebar nav.projects a.active{color:var(--accent)}.sidebar .foot{color:var(--ink-3);margin-top:auto;font-size:12px;line-height:1.7}.sidebar .foot a{color:var(--ink-3)}.sidebar .foot a:hover{color:var(--accent)}.menu-btn{display:none}main{padding:36px var(--gutter) 90px var(--gutter);max-width:calc(var(--content) + 2 * var(--gutter));justify-self:center;width:100%;min-width:0}.page-head{margin:0 0 28px}.page-head h1{letter-spacing:-.01em;margin:0 0 6px;font-size:24px;font-weight:600}.page-head .sub{color:var(--ink-2);max-width:60ch;margin:0;font-size:16px}.meta{color:var(--ink-2);flex-wrap:wrap;gap:6px 28px;margin:14px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.meta b{color:var(--ink);margin-right:6px;font-weight:600}.status{border:1px solid var(--rule);color:var(--ink-2);background:#fff;border-radius:3px;padding:1px 8px;font-size:12px;display:inline-block}.status.done{color:#1f7a6e;background:#effaf8;border-color:#bfe3dc}.status.wip{color:#8a5a00;background:#fff8e8;border-color:#f0d9a8}.entry{margin:0 0 44px}.entry figure{background:var(--card);border:1px solid #e6e6e6;margin:0}.entry figure img,.entry figure video{width:100%;margin-inline:auto;display:block}.entry figure.pad{padding:24px}.entry figure.contain img{width:auto;max-height:78vh;margin:0 auto}.entry figcaption,.entry .cap{color:var(--ink-2);text-align:center;margin:10px 0 0;font-size:14px;line-height:1.45}.entry p{max-width:none;margin:0 0 12px}.entry h2{margin:40px 0 10px;font-size:18px;font-weight:600}.entry h3{margin:24px 0 6px;font-size:16px;font-weight:600}.entry ul,.entry ol{max-width:none;margin:0 0 12px;padding-left:22px}.entry li{margin:0 0 4px}.entry .two{grid-template-columns:1fr 1fr;gap:16px;display:grid}.entry .two figure{margin:0}.entry pre{font-family:var(--mono);background:#fff;border:1px solid #e6e6e6;margin:0;padding:14px 16px;font-size:13px;line-height:1.45;overflow:auto}.entry code{font-family:var(--mono);background:#fff;border:1px solid #e6e6e6;border-radius:3px;padding:0 4px;font-size:.92em}.entry pre code{background:0 0;border:0;padding:0}.entry table{border-collapse:collapse;background:#fff;border:1px solid #e6e6e6;width:100%;font-size:14px}.entry th,.entry td{text-align:left;vertical-align:top;border-bottom:1px solid #eee;padding:7px 10px}.entry th{color:var(--ink-2);font-size:13px;font-weight:600}.entry tr:last-child td{border-bottom:0}.entry .note{color:var(--ink-2);border-left:2px solid var(--rule);padding-left:12px;font-size:14px}.date{color:var(--ink-3);letter-spacing:.02em;text-transform:uppercase;margin:0 0 6px;font-size:13px}.links a{color:var(--accent)}.hero{background:var(--card);aspect-ratio:16/9;border:1px solid #e6e6e6;position:relative;overflow:hidden}.hero canvas{width:100%;height:100%;display:block}.hero .hud{color:var(--ink-2);font-size:12px;font-family:var(--mono);pointer-events:none;line-height:1.5;position:absolute;bottom:12px;left:14px}.hero .hint{color:var(--ink-3);font-size:12px;position:absolute;top:12px;right:14px}.hero .hint kbd{font-family:var(--mono);border:1px solid var(--rule);background:#fff;border-radius:3px;padding:0 4px}.hero.tall{aspect-ratio:auto;height:78vh;min-height:420px}.grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.tile{background:var(--card);aspect-ratio:4/3;border:1px solid #e6e6e6;display:block;position:relative;overflow:hidden}.tile img,.tile video{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.tile:hover img,.tile:hover video{transform:scale(1.03)}.tile .label{color:#fff;opacity:0;background:linear-gradient(#0000,#0000008c);padding:14px 16px;font-size:15px;transition:opacity .25s;position:absolute;bottom:0;left:0;right:0}.tile .label small{opacity:.8;font-size:12px;display:block}.tile:hover .label{opacity:1}@media (hover:none){.tile .label{opacity:1}}.tile.wide{aspect-ratio:2;grid-column:1/-1}.rv{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(14px)}.rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.rv{opacity:1;transition:none;transform:none}}.lb{z-index:50;cursor:zoom-out;background:#141414f0;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.lb.open{display:flex}.lb img{width:auto;max-width:94vw;height:auto;max-height:92vh}.lb .lbcap{text-align:center;color:#ccc;font-size:14px;position:absolute;bottom:18px;left:0;right:0}.masonry{columns:2;column-gap:18px}.masonry figure{break-inside:avoid;cursor:zoom-in;background:#fff;border:1px solid #e6e6e6;margin:0 0 18px}.masonry figcaption{color:var(--ink-2);padding:8px 10px;font-size:13px}@media (max-width:820px){.shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid var(--rule);height:auto;padding:22px 20px 0;position:relative}.sidebar .name{margin-bottom:12px}.sidebar nav.primary ul{gap:18px;display:flex}.sidebar hr{margin:14px 0}.sidebar nav.projects ul{padding-bottom:10px;display:none}.sidebar nav.projects.open ul{display:block}.menu-btn{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;margin:0 0 10px;padding:0;display:inline-block}.sidebar .foot{display:none}main{max-width:none;padding:24px 20px 60px}.grid{grid-template-columns:1fr}.tile.wide{aspect-ratio:4/3}.entry .two{grid-template-columns:1fr}.masonry{columns:1}.hero.tall{height:60vh}:root{--gutter:20px}}#arm-hero{aspect-ratio:auto;touch-action:none;height:72vh;min-height:440px}#arm-hero .hud{top:12px;bottom:auto;left:14px}#arm-hero .hint{text-align:right;line-height:1.5;top:auto;bottom:12px;right:14px}#arm-hero .tools{gap:6px;display:flex;position:absolute;bottom:12px;left:14px}#arm-hero .tools button{font:inherit;color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;background:#fff;border-radius:3px;padding:3px 9px;font-size:12px}#arm-hero .tools button:hover{color:var(--accent);border-color:var(--accent)}#arm-hero:not(.ready):before{content:"loading the CAD…";color:var(--ink-3);pointer-events:none;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}#arm-hero.nogl:before{content:"The 3D model needs WebGL"}#arm-hero.nogl canvas{display:none}.kin{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.kin pre{font-size:12.5px}@media (max-width:820px){#arm-hero{height:62vh}#arm-hero .hint{display:none}#arm-hero .hud{font-size:11px}.kin{grid-template-columns:1fr}}.masonry figcaption{margin:0}.entry figure.lead img{width:auto;max-height:82vh;margin:0 auto}.entry figure.film video{aspect-ratio:4/3;background:#000;width:100%}main{min-width:0}.hero.emu{font-family:var(--mono);grid-template-columns:minmax(0,5fr) minmax(0,6fr);height:min(78vh,600px);font-size:12.5px;display:grid}.emu-l,.emu-r{flex-direction:column;min-width:0;min-height:0;display:flex}.emu-l{border-right:1px solid #e6e6e6}.emu-bar{font-family:var(--font);border-bottom:1px solid #eee;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex}.emu-bar select,.emu-bar button{font:inherit;border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:#fff;border-radius:3px;padding:3px 9px;font-size:13px}.emu-bar button:hover{border-color:var(--accent);color:var(--accent)}.emu-bar button.on{background:var(--accent);border-color:var(--accent);color:#fff}.emu-bar .spd{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-size:12px;display:flex}.emu-bar input[type=range]{width:90px;accent-color:var(--accent);margin:0}.emu textarea{resize:none;width:100%;min-height:0;font:inherit;font-family:var(--mono);color:var(--ink);tab-size:4;background:#fff;border:0;outline:none;flex:1;padding:10px 12px;font-size:12.5px;line-height:1.5}.emu-status{color:var(--ink-2);min-height:29px;font-size:12px;font-family:var(--font);border-top:1px solid #eee;padding:6px 12px}.emu-status.err{color:#b23a3a}.emu-prog{flex:0 auto;min-height:80px;max-height:46%;padding:6px 0;position:relative;overflow:auto}.emu-prog .w{white-space:nowrap;color:var(--ink-2);gap:12px;padding:1px 12px;display:flex}.emu-prog .w .i{color:var(--ink-3);text-align:right;width:2ch}.emu-prog .w .h{color:var(--ink);letter-spacing:.04em}.emu-prog .w.cur{background:color-mix(in srgb, var(--accent) 14%, #fff);color:var(--ink)}.emu-prog .w.cur .h{color:var(--accent);font-weight:600}.emu-prog .empty{color:var(--ink-3);padding:2px 12px}.emu-regs{border-top:1px solid #eee;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;padding:10px 12px;display:grid}.reg{border:1px solid var(--rule);background:#fff;border-radius:3px;justify-content:space-between;align-items:baseline;gap:6px;min-width:0;padding:3px 8px;transition:background .55s,border-color .55s;display:flex}.reg .n{color:var(--ink-3);font-size:11px}.reg .v{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.reg.hit{background:color-mix(in srgb, var(--accent) 24%, #fff);border-color:var(--accent);transition:none}.emu-ram{align-items:stretch;gap:3px;padding:0 12px 10px;display:flex;overflow-x:auto}.emu-ram .lbl{color:var(--ink-3);white-space:nowrap;align-self:center;padding-right:4px;font-size:11px}.emu-ram .c{text-align:center;border:1px solid #eee;flex:1;min-width:24px;padding:1px 0;font-size:11px;line-height:1.3;transition:background .55s,border-color .55s}.emu-ram .c i{color:var(--ink-3);font-size:9px;font-style:normal;display:block}.emu-ram .c b{font-weight:600}.emu-ram .c.hit{background:color-mix(in srgb, var(--accent) 24%, #fff);border-color:var(--accent);transition:none}.emu-con{white-space:pre-wrap;word-break:break-all;cursor:text;background:#fff;border-top:1px solid #eee;outline:none;flex:84px;min-height:84px;padding:8px 12px;overflow:auto}.emu-con:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 45%, #fff)}.emu-con .ph{color:var(--ink-3);font-family:var(--font);font-size:12px}.emu-con .caret{background:var(--accent);vertical-align:-2px;width:7px;height:13px;animation:1s step-end infinite emu-blink;display:inline-block}@keyframes emu-blink{50%{opacity:0}}.entry table .hw{color:#1f7a6e;vertical-align:1px;background:#effaf8;border:1px solid #bfe3dc;border-radius:3px;margin-left:6px;padding:0 5px;font-size:11px;display:inline-block}.entry table .sw{color:var(--ink-2);border:1px solid var(--rule);vertical-align:1px;background:#fff;border-radius:3px;margin-left:6px;padding:0 5px;font-size:11px;display:inline-block}.entry table code{background:0 0;border:0;padding:0}.entry .tbl{overflow-x:auto}@media (max-width:820px){.hero.emu{grid-template-columns:1fr;height:auto;min-height:0}.emu-l{border-bottom:1px solid #e6e6e6;border-right:0}.emu textarea{flex:none;height:220px}.emu-prog{flex:none;max-height:170px}.emu-bar .spd{margin-left:0}}.entry figure.embed{flex-direction:column;align-items:center;padding:20px;display:flex}.embed .frame{aspect-ratio:485/402;background:#111;width:100%;max-width:485px;position:relative;overflow:hidden}.embed .frame img,.embed .frame iframe{border:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.embed .frame img{object-fit:cover;object-position:top}.embed figcaption{width:100%}.embed figcaption .play{color:var(--accent);white-space:nowrap}.games{grid-template-columns:repeat(3,1fr);gap:16px;max-width:none;margin:0;padding:0;list-style:none;display:grid}.games li{margin:0}.games a{background:var(--card);border:1px solid #e6e6e6;display:block}.games a:hover{color:var(--ink);border-color:var(--accent)}.games img{aspect-ratio:4/3;object-fit:cover;width:100%}.games .t{padding:8px 10px 10px;font-size:14px;line-height:1.3;display:block}.games .t small{color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.entry p a,.timeline a{color:var(--accent)}.accounts{color:var(--ink-3);max-width:none;margin:16px 0 0;font-size:13px;line-height:1.5}.timeline{border-left:2px solid var(--rule);max-width:66ch;margin:0;padding:0 0 0 18px;list-style:none}.timeline li{margin:0 0 12px;position:relative}.timeline li:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;left:-24px}.timeline b{font-weight:600;font-family:var(--mono);color:var(--ink-2);margin-right:8px;font-size:13px}@media (max-width:820px){.entry figure.embed{padding:10px}.games{grid-template-columns:1fr 1fr;gap:12px}.games .t{padding:6px 8px 8px;font-size:13px}}#rocket-scrolly{height:340vh;margin:0 0 44px;position:relative}#rocket-scrolly .hero{aspect-ratio:auto;touch-action:pan-y;height:calc(100vh - 40px);position:sticky;top:20px}#rocket-scrolly .hero.nogl canvas{display:none}#rocket-scrolly .hero.nogl:after{content:"The 3D flight needs WebGL";color:var(--ink-3);place-items:center;display:grid;position:absolute;inset:0}#rocket-scrolly .cap{max-width:46ch;color:var(--ink-2);pointer-events:none;font-size:13px;line-height:1.4;position:absolute;top:10px;left:14px}.stats{background:#e6e6e6;border:1px solid #e6e6e6;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.stats div{background:#fff;padding:14px 16px}.stats b{letter-spacing:-.01em;font-size:22px;font-weight:600;display:block}.stats span{color:var(--ink-2);font-size:13px}@media (max-width:820px){#rocket-scrolly{height:280vh}#rocket-scrolly .hero{height:72vh;top:12px}#rocket-scrolly .cap{display:none}.hero .hint{font-size:11px}.stats{grid-template-columns:1fr 1fr}}.rv{opacity:1;transform:none}.skip-link{z-index:100;background:#fff;padding:10px;position:fixed;top:-80px;left:12px}.skip-link:focus{top:12px}.tile .label{opacity:1}.tile:focus-visible{outline:3px solid var(--accent)}.entry table{display:block;overflow:auto}.entry pre{white-space:pre-wrap;overflow-wrap:anywhere}.photo-dialog{color:#fff;background:#171717;border:0;max-width:96vw;padding:22px}.photo-dialog::backdrop{background:#000d}.photo-dialog img{width:auto;max-width:90vw;max-height:82vh;margin:auto}.photo-dialog button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:0;right:6px}.photo-dialog p{max-width:65ch;margin:8px auto 0}.about-grid{grid-template-columns:minmax(0,1fr) clamp(300px,34vw,470px);align-items:start;gap:34px;display:grid}.about-grid .about-text{margin-bottom:0}.montage{min-width:0;position:sticky;top:24px}.montage-frame{aspect-ratio:3/4;background:var(--card);border:1px solid #e6e6e6;max-height:calc(100vh - 140px);position:relative;overflow:hidden}.montage-frame figure{opacity:0;pointer-events:none;margin:0;transition:opacity .7s;position:absolute;inset:0}.montage-frame figure.is-active{opacity:1;pointer-events:auto}.montage-frame img{object-fit:cover;width:100%;height:100%;display:block}.montage-banner{color:#fff;background:linear-gradient(#0000,#000000ad);padding:26px 14px 11px;font-size:13px;line-height:1.35;position:absolute;bottom:0;left:0;right:0}.montage-controls{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.montage-controls>button{font:inherit;color:var(--ink-2);border:1px solid var(--rule);background:var(--card);cursor:pointer;border-radius:3px;padding:5px 10px;font-size:13px;line-height:1}.montage-controls>button:hover{border-color:var(--accent);color:var(--accent)}.montage-dots{gap:7px;display:flex}.montage-dots button{background:var(--rule);cursor:pointer;border:0;border-radius:50%;width:7px;height:7px;padding:0}.montage-dots button.is-active{background:var(--accent)}@media (prefers-reduced-motion:reduce){.montage-frame figure{transition:none}}@media (max-width:980px){.about-grid{grid-template-columns:1fr}.montage{max-width:460px;margin-inline:auto;position:static}}.yt-short{aspect-ratio:9/16;background:#111;border:1px solid #e6e6e6;width:100%;max-width:340px;margin:0 auto}.yt-short iframe{border:0;width:100%;height:100%;display:block}.page-banner{aspect-ratio:3;object-fit:cover;background:var(--card);border:1px solid #e6e6e6;width:100%;margin:0 0 26px;display:block}.page-banner.tall{aspect-ratio:21/9}.doodle{width:var(--dw,120px);height:auto;transform:rotate(var(--rot,0deg));pointer-events:none;-webkit-user-select:none;user-select:none;margin-bottom:12px}.doodle-right{float:right;margin-left:24px;margin-right:-30px}.doodle-left{float:left;margin-left:-30px;margin-right:24px}.doodle-center{margin:18px auto 0;display:block}@media (max-width:900px){.doodle{width:calc(var(--dw,120px) * .66)}.doodle-right{margin-left:16px;margin-right:0}.doodle-left{margin-left:0;margin-right:16px}.page-banner{aspect-ratio:5/2}}.banner-wrap{background:var(--card);border:1px solid #e6e6e6;margin:0 0 26px;position:relative;overflow:hidden}.banner-wrap .page-banner{filter:brightness(.72)saturate(.96);border:0;margin:0}.banner-title{background:linear-gradient(#0000,#00000080);padding:46px clamp(18px,3vw,34px) clamp(16px,2.4vw,26px);position:absolute;bottom:0;left:0;right:0}.banner-title h1{color:#fff;letter-spacing:-.015em;text-shadow:0 1px 16px #0006;margin:0;font-size:clamp(23px,2.9vw,40px);font-weight:600;line-height:1.1}.entry figure,.entry .two figure,.entry video,.entry iframe,.entry .cap,.entry figcaption{margin-inline:auto}@media (max-width:820px){.banner-title{padding-top:30px}}.launch-top{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.launch-top .yt-short{background:var(--card);border:1px solid #e6e6e6;max-width:none}.launch-top .yt-short iframe{aspect-ratio:9/16;height:auto}@media (max-width:820px){.launch-top{grid-template-columns:1fr}.launch-top .yt-short{max-width:320px;margin-inline:auto}}#arm-hero .tools button.on{color:#fff;background:var(--accent);border-color:var(--accent)}.exploded-scrolly{height:230vh;margin:0 0 44px;position:relative}.exploded-stage{background:var(--bg);touch-action:pan-y;cursor:grab;border:1px solid #e6e6e6;height:min(100vh - 40px,680px);position:sticky;top:20px;overflow:hidden}.exploded-stage:active{cursor:grabbing}.exploded-stage canvas{width:100%;height:100%;display:block}.exploded-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.exploded-lines line{stroke:#c9c9c9;stroke-width:1px;opacity:0}.exploded-label{opacity:0;color:var(--ink-2);background:var(--card);white-space:nowrap;pointer-events:none;will-change:transform;border:1px solid #e6e6e6;border-radius:3px;padding:3px 7px;font-size:12.5px;line-height:1.35;position:absolute;top:0;left:0;transform:translate(-9999px,-9999px)}.exploded-hint{color:var(--ink-3);pointer-events:none;margin:0;font-size:12px;position:absolute;top:12px;right:14px}.exploded-nogl{color:var(--ink-3);place-items:center;margin:0;font-size:13px;display:grid;position:absolute;inset:0}.exploded-scrolly.nogl{height:auto}.exploded-scrolly.nogl .exploded-stage{aspect-ratio:16/9;height:auto;position:relative;top:0}.exploded-scrolly.nogl canvas,.exploded-scrolly.nogl .exploded-lines,.exploded-scrolly.nogl .exploded-label,.exploded-scrolly.nogl .exploded-hint{display:none}@media (max-width:820px){.exploded-scrolly{height:210vh}.exploded-stage{height:76vh;top:12px}.exploded-label{padding:2px 6px;font-size:12px}.exploded-hint{font-size:11px}}.art-intro{align-items:center;gap:16px;display:flex}.art-intro .note{margin:0}.art-intro .art-doodle{flex:none;order:2;width:84px;height:auto;transform:rotate(-7deg)}@media (max-width:520px){.art-intro .art-doodle{width:68px}}.art-feature{margin:0 0 34px}.art-feature-frame{background:var(--card);border:1px solid #e6e6e6;height:min(66vh,560px);position:relative;overflow:hidden}.art-feature-frame figure{opacity:0;pointer-events:none;margin:0;padding:16px;transition:opacity .45s;display:block;position:absolute;inset:0}.art-feature-frame figure.is-active{opacity:1;pointer-events:auto}.art-feature-frame img{object-fit:contain;cursor:zoom-in;width:100%;height:100%;display:block}.art-feature-bar{align-items:center;gap:14px;margin-top:10px;display:flex}.art-feature-cap{color:var(--ink-2);text-align:center;flex:1;font-size:14px}.art-feature-bar>button{font:inherit;color:var(--ink-2);border:1px solid var(--rule);background:var(--card);cursor:pointer;border-radius:3px;padding:6px 11px;font-size:13px;line-height:1}.art-feature-bar>button:hover{border-color:var(--accent);color:var(--accent)}.art-feature-dots{gap:7px;display:flex}.art-feature-dots button{background:var(--rule);cursor:pointer;border:0;border-radius:50%;width:7px;height:7px;padding:0}.art-feature-dots button.is-active{background:var(--accent)}@media (prefers-reduced-motion:reduce){.art-feature-frame figure{transition:none}}@media (max-width:820px){.art-feature-frame{height:52vh}.art-feature-cap{font-size:13px}}
