:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#000;--paper:#f2f1ed;--paper-2:#f2f1eda8;--paper-3:#f2f1ed94;--line:#f2f1ed1f;--line-strong:#f2f1ed47;--icon-edge:#ffffff14;--bg:var(--ink);--fg:var(--paper);--fg-2:var(--paper-2);--fg-3:var(--paper-3);--rule:var(--line);--rule-strong:var(--line-strong);--font-sans:"Geist", "Geist Fallback", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-mono:"Geist Mono", "Geist Mono Fallback", ui-monospace, Menlo, "Courier New", monospace;--text-display:clamp(3rem, 9.5vw, 11.5rem);--text-title:clamp(2.75rem, 6.5vw, 7rem);--text-h2:clamp(1.875rem, 3.4vw, 3.25rem);--text-h3:clamp(1.25rem, 1.6vw, 1.5rem);--text-lead:clamp(1.1875rem, 1.1vw + .75rem, 1.5rem);--text-body:clamp(1.0625rem, .35vw + .95rem, 1.1875rem);--text-small:.9375rem;--text-meta:.75rem;--text-meta-sm:.6875rem;--tracking-display:-.045em;--tracking-tight:-.025em;--tracking-meta:.08em;--leading-display:.92;--leading-body:1.55;--gutter:24px;--margin:clamp(20px, 4vw, 64px);--max:1680px;--section:clamp(72px, 9vw, 144px);--section-sm:clamp(56px, 7vw, 104px);--header-h:72px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--space-8:64px;--space-10:80px;--space-12:96px;--icon-grid:128px;--icon-list:40px;--icon-hero:176px;--ease:cubic-bezier(.22, 1, .36, 1);--dur-1:.5s;--dur-2:.7s;--dur-3:1s}@media (width<=767px){:root{--gutter:16px;--header-h:64px;--icon-grid:112px;--icon-hero:160px}}.inverted{--bg:var(--paper);--fg:var(--ink);--fg-2:#000000a3;--fg-3:#0000008f;--rule:#0000001f;--rule-strong:#0000004d;--icon-edge:#00000014;background:var(--bg);color:var(--fg)}@font-face{font-family:Geist;src:url(/assets/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);size-adjust:105.85%;ascent-override:94.94%;descent-override:27.87%;line-gap-override:0%}@font-face{font-family:Geist Mono Fallback;src:local(Menlo),local(Courier New),local(Courier);size-adjust:99.66%;ascent-override:100.84%;descent-override:29.6%;line-gap-override:0%}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--ink);color:var(--paper);font-family:var(--font-sans);font-size:100%;line-height:var(--leading-body);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:var(--header-h);overflow-x:clip}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);min-height:100svh;color:var(--fg);font-size:var(--text-body);font-feature-settings:"ss03", "cv11";padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);margin:0;overflow-x:clip}::selection{background:var(--paper);color:var(--ink)}.inverted ::selection{background:var(--ink);color:var(--paper)}h1,h2,h3,h4,p,ul,ol,dl,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}img,svg,picture,video{max-width:100%;height:auto;display:block}img{color:var(--fg-3);font-size:.75rem}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}hr{border:0;border-top:1px solid var(--rule);margin:0}table{border-collapse:collapse;width:100%}address{font-style:normal}strong,b{font-weight:560}em,i{font-style:italic}small{font-size:var(--text-small)}abbr[title]{text-decoration:none}:focus{outline:none}:focus-visible{outline:2px solid var(--fg);outline-offset:3px;border-radius:2px}.display,.title,.h2,.h3{letter-spacing:var(--tracking-tight);text-wrap:balance;font-weight:540;line-height:1.02}.display{font-size:var(--text-display);letter-spacing:var(--tracking-display);line-height:var(--leading-display);font-weight:560}.title{font-size:var(--text-title);letter-spacing:-.04em;font-weight:560;line-height:.96}.h2{font-size:var(--text-h2);letter-spacing:-.03em;line-height:1.04}.h3{font-size:var(--text-h3);letter-spacing:-.015em;font-weight:540;line-height:1.2}.lead{font-size:var(--text-lead);letter-spacing:-.012em;text-wrap:pretty;font-weight:420;line-height:1.35}.prose p,.prose li,p.body{text-wrap:pretty;max-width:62ch}.prose{max-width:62ch}.prose p+p,.prose ul+p,.prose p+ul,.prose h3+p,.prose p+h3,.prose ul+h3{margin-top:1.1em}.prose h3{letter-spacing:-.01em;margin-top:1.6em;font-size:1.0625em;font-weight:560}.prose ul{list-style:none}.prose li{margin-top:.4em;padding-left:1.4em;position:relative}.prose li:before{content:"—";color:var(--fg-3);position:absolute;left:0}.prose a{text-underline-offset:.18em;text-decoration:underline;-webkit-text-decoration-color:var(--fg-3);text-decoration-color:var(--fg-3)}.prose a:hover{text-decoration-color:currentColor}.muted{color:var(--fg-2)}.quiet{color:var(--fg-3)}.mono,.meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:normal}.meta{font-size:var(--text-meta);text-transform:uppercase;letter-spacing:var(--tracking-meta);color:var(--fg-3);line-height:1.4}.meta-sm{font-size:var(--text-meta-sm)}.num,.tabular{font-variant-numeric:tabular-nums}.link{transition:background-size var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:.1em;display:inline-block;position:relative}.link:hover,.link:focus-visible{background-size:100% 1px}.link-arrow:after{content:" →";transition:transform var(--dur-1) var(--ease);display:inline-block}.link-arrow:hover:after{transform:translate(.2em)}.link-ext:after{content:" ↗"}.skip{left:var(--margin);background:var(--paper);color:var(--ink);z-index:1000;font-size:var(--text-small);padding:12px 16px;position:absolute;top:-100px}.skip:focus{outline-offset:0;top:12px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.link,.footer-col a,.footer-bottom a,.card-sub,.app-links a{position:relative}.link:before,.footer-col a:before,.footer-bottom a:before{content:"";height:44px;position:absolute;top:50%;left:-4px;right:-4px;transform:translateY(-50%)}.container{width:100%;max-width:var(--max);padding-inline:var(--margin);margin-inline:auto}.grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.section{padding-block:var(--section);border-top:1px solid var(--rule)}.section-sm{padding-block:var(--section-sm)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--gutter);margin-bottom:clamp(40px,5vw,80px);display:flex}.rule{border-top:1px solid var(--rule)}.rule-strong{border-top:1px solid var(--rule-strong)}.col-1{grid-column:auto/span 1}.col-2{grid-column:auto/span 2}.col-3{grid-column:auto/span 3}.col-4{grid-column:auto/span 4}.col-5{grid-column:auto/span 5}.col-6{grid-column:auto/span 6}.col-7{grid-column:auto/span 7}.col-8{grid-column:auto/span 8}.col-9{grid-column:auto/span 9}.col-10{grid-column:auto/span 10}.col-11{grid-column:auto/span 11}.col-12{grid-column:auto/span 12}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-end{grid-column-end:-1}@media (width<=1023px){.col-7,.col-8,.col-9,.col-10{grid-column:auto/span 12}.col-5,.col-6,.col-3,.col-4{grid-column:auto/span 6}[class*=col-start-]{grid-column-start:auto}.col-end{grid-column-end:auto}}@media (width<=767px){[class*=col-]{grid-column:span 12}.section-head{align-items:flex-start;gap:var(--space-2);flex-direction:column}}main{display:block}.page{padding-top:var(--header-h)}.page-head{padding-top:clamp(56px,8vw,128px);padding-bottom:clamp(32px,5vw,72px)}.page-head .meta{margin-bottom:var(--space-3);display:block}.page-head .title{flex-wrap:wrap;align-items:baseline;gap:.25em;display:flex}.page-head .title .count{color:var(--fg-3);letter-spacing:-.01em;font-size:.42em;font-weight:420}.page-head .lead{margin-top:var(--space-4);max-width:44ch;color:var(--fg-2)}.header{height:var(--header-h);z-index:50;color:#fff;mix-blend-mode:difference;transition:transform var(--dur-2) var(--ease);padding-top:env(safe-area-inset-top);position:fixed;inset:0 0 auto}.header.is-hidden{transform:translateY(-100%)}.header .container{justify-content:space-between;align-items:center;gap:var(--gutter);height:100%;display:flex}.brand{align-items:center;height:44px;display:inline-flex}.brand svg{width:clamp(104px,9vw,122px);height:auto}.nav{align-items:center;gap:clamp(20px,2.4vw,40px);display:flex}.nav a{letter-spacing:-.005em;align-items:center;min-height:44px;font-size:.9375rem;display:inline-flex;position:relative}.nav a:after{content:"";transform-origin:0;height:1px;transition:transform var(--dur-1) var(--ease);background:currentColor;position:absolute;bottom:8px;left:0;right:0;transform:scaleX(0)}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.nav .count{color:#ffffff9e;font-family:var(--font-mono);margin-left:.35em;font-size:.8125rem}.menu-btn{align-items:center;min-width:44px;min-height:44px;font-size:.9375rem;display:none}@media (width<=767px){.nav{display:none}.menu-btn{display:inline-flex}}.menu{z-index:60;background:var(--ink);color:var(--paper);padding:calc(var(--header-h) + env(safe-area-inset-top)) var(--margin) calc(var(--margin) + env(safe-area-inset-bottom));flex-direction:column;display:none;position:fixed;inset:0}.menu[data-open=true]{display:flex}.menu-close{top:env(safe-area-inset-top);right:var(--margin);height:var(--header-h);align-items:center;min-width:44px;font-size:.9375rem;display:inline-flex;position:absolute}.menu-list{flex-direction:column;gap:4px;margin-top:auto;display:flex}.menu-list a{letter-spacing:-.04em;padding:6px 0;font-size:clamp(2.75rem,12vw,4.5rem);font-weight:540;line-height:1.05;display:block}.menu-list .count{font-family:var(--font-mono);color:var(--paper-3);letter-spacing:0;vertical-align:.9em;margin-left:.5em;font-size:.35em;font-weight:400}.menu-foot{margin-top:var(--space-8);justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}html.js .menu-list a{opacity:0;transform:translateY(24px)}html.js .menu[data-open=true] .menu-list a{animation:menu-in var(--dur-2) var(--ease) forwards}html.js .menu[data-open=true] .menu-list li:nth-child(2) a{animation-delay:60ms}html.js .menu[data-open=true] .menu-list li:nth-child(3) a{animation-delay:.12s}html.js .menu[data-open=true] .menu-list li:nth-child(4) a{animation-delay:.18s}@keyframes menu-in{to{opacity:1;transform:none}}body.menu-open{overflow:hidden}.footer{border-top:1px solid var(--rule);padding-top:clamp(56px,7vw,112px);overflow:hidden}.footer-cols{column-gap:var(--gutter);row-gap:var(--space-6);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.footer-col{grid-column:span 3}.footer-col .meta{margin-bottom:var(--space-3);display:block}.footer-col li+li{margin-top:6px}.footer-col a{font-size:var(--text-small);color:var(--fg-2);transition:color var(--dur-1) var(--ease);padding:5px 0;display:inline-block}.footer-col a:hover{color:var(--fg)}.footer-col .mono{color:var(--fg-2);font-size:.875rem}@media (width<=1023px){.footer-col{grid-column:span 6}}@media (width<=479px){.footer-col{grid-column:span 12}}.footer-mark{color:var(--fg);margin-top:clamp(64px,9vw,160px)}.footer-mark svg{width:100%;height:auto}html.js .footer-mark svg{clip-path:inset(100% 0 0)}html.js .footer-mark.is-in svg{animation:wipe-up 1s var(--ease) forwards}@keyframes wipe-up{to{clip-path:inset(0)}}.footer-bottom{justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0 calc(var(--space-3) + env(safe-area-inset-bottom));margin-top:var(--space-3);border-top:1px solid var(--rule);flex-wrap:wrap;display:flex}.footer-bottom>*{color:var(--fg-3);align-items:center;min-height:32px;display:inline-flex}.footer-bottom a{transition:color var(--dur-1) var(--ease)}.footer-bottom a:hover{color:var(--fg)}@media (width<=767px){.footer-bottom{gap:var(--space-1);flex-direction:column}}.icon{width:var(--size,var(--icon-grid));height:var(--size,var(--icon-grid));background:#ffffff0a;flex:none;display:block;position:relative;-webkit-mask:url(/assets/brand/squircle.svg) 50%/100% 100% no-repeat;mask:url(/assets/brand/squircle.svg) 50%/100% 100% no-repeat}.icon img,.icon picture{width:100%;height:100%}.icon img{object-fit:cover}.icon:after{content:"";pointer-events:none;box-shadow:inset 0 0 0 1px var(--icon-edge);border-radius:22%;position:absolute;inset:0}.icon-list{--size:var(--icon-list)}.icon-hero{--size:var(--icon-hero)}.icon-sm{--size:64px}.card{display:block;position:relative}.card-link{color:inherit;outline-offset:6px;display:block}.card .icon{margin-bottom:var(--space-3);transition:transform var(--dur-2) var(--ease)}.card-name{-webkit-line-clamp:2;letter-spacing:-.015em;text-wrap:balance;-webkit-box-orient:vertical;font-size:1.0625rem;font-weight:540;line-height:1.25;display:-webkit-box;overflow:hidden}.card-sub{color:var(--fg-2);font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;display:block;overflow:hidden}.card .meta{margin-top:var(--space-1);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}@media (hover:hover) and (pointer:fine){.card-link:hover .icon{transform:translateY(-2px)}}.tilt{perspective:600px}.tilt .icon{transform:rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg));transition:transform .35s var(--ease)}.tilt .icon:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(120px 120px at var(--px,50%) var(--py,50%), #ffffff42, transparent 70%);opacity:0;transition:opacity .35s var(--ease);position:absolute;inset:0}.tilt.is-active .icon{transition:transform .1s linear}.tilt.is-active .icon:before{opacity:1}.pill{z-index:70;pointer-events:none;background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-meta-sm);text-transform:uppercase;letter-spacing:var(--tracking-meta);opacity:0;transition:opacity .25s var(--ease), transform .35s var(--ease);white-space:nowrap;border-radius:999px;padding:7px 10px 6px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)scale(.6)}.pill.is-on{opacity:1;transform:translate(-50%,-50%)scale(1)}.app-grid{column-gap:var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));row-gap:clamp(40px,5vw,72px);display:grid}@media (width<=1023px){.app-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=639px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;row-gap:40px}.card .meta{font-size:var(--text-meta-sm)}}.app-list{border-top:1px solid var(--rule)}.app-list>li{border-bottom:1px solid var(--rule)}.row{grid-template-columns:48px var(--icon-list) minmax(0, 1.2fr) minmax(0, 1.6fr) minmax(0, .9fr) 56px 88px 24px;align-items:center;gap:var(--gutter);min-height:68px;color:inherit;transition:background-color var(--dur-1) var(--ease);padding:14px 0;display:grid}.row:hover{background:#f2f1ed08}.row .idx{color:var(--fg-3)}.row .name{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-weight:540;overflow:hidden}.row .sub,.row .genre{color:var(--fg-2);font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row .year,.row .rating{color:var(--fg-3)}.row .arrow{color:var(--fg-3);text-align:right;transition:transform var(--dur-1) var(--ease), color var(--dur-1) var(--ease)}.row:hover .arrow{color:var(--fg);transform:translate(2px,-2px)}@media (width<=1023px){.row{grid-template-columns:40px var(--icon-list) minmax(0, 1fr) minmax(0, 1fr) 24px}.row .genre,.row .year,.row .rating-cell{display:none}}@media (width<=639px){.row{grid-template-columns:var(--icon-list) minmax(0, 1fr) 24px;gap:var(--space-2)}.row .idx,.row .sub{display:none}}.rating{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-meta);color:var(--fg-2);align-items:center;gap:.4em;display:inline-flex}.rating svg{fill:currentColor;width:.8em;height:.8em}.rating .count{color:var(--fg-3)}.btn{border:1px solid var(--rule-strong);min-height:48px;font-size:var(--text-small);letter-spacing:-.005em;transition:border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);border-radius:2px;justify-content:center;align-self:flex-start;align-items:center;gap:.5em;padding:0 20px;font-weight:500;display:inline-flex}.btn:hover,.btn-solid{border-color:var(--fg)}.btn-solid:hover{background:var(--fg);color:var(--bg)}.badge{height:48px;display:inline-block}.badge img{width:auto;height:48px}.facts{border-top:1px solid var(--rule);font-size:var(--text-small)}.facts div{gap:var(--gutter);border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,2fr);padding:14px 0;display:grid}.facts dt{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-meta);text-transform:uppercase;letter-spacing:var(--tracking-meta);padding-top:.2em}.facts dd{font-variant-numeric:tabular-nums;margin:0}.field{flex-direction:column;gap:8px;display:flex}.field+.field{margin-top:var(--space-4)}.field-submit{margin-top:var(--space-5)}.field label{font-family:var(--font-mono);font-size:var(--text-meta);text-transform:uppercase;letter-spacing:var(--tracking-meta);color:var(--fg-3)}.input{border:0;border-bottom:1px solid var(--rule-strong);width:100%;min-height:48px;color:var(--fg);transition:border-color var(--dur-1) var(--ease);appearance:none;background:0 0;border-radius:0;padding:12px 0;font-size:1.0625rem}.input:hover{border-color:var(--fg-2)}.input:focus{border-color:var(--fg);outline:none}.input:focus-visible{outline:none}.input::placeholder{color:var(--fg-3)}textarea.input{resize:vertical;min-height:160px;line-height:1.5}select.input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23F2F1ED' stroke-opacity='.6' stroke-width='1.25'/%3E%3C/svg%3E");background-position:right 2px center;background-repeat:no-repeat;padding-right:28px}select.input option{background:var(--ink);color:var(--paper)}.input[aria-invalid=true]{border-color:var(--fg)}.field-error{color:var(--fg-2);min-height:1.2em;font-size:.8125rem}.field-error:empty{display:none}.hp{opacity:0;height:0;position:absolute;left:-9999px;overflow:hidden}.form-status{margin-top:var(--space-4);font-size:var(--text-small);color:var(--fg-2);text-wrap:pretty;min-height:1.5em}.form-status a{text-underline-offset:.18em;text-decoration:underline}.form-status[data-state=success]{color:var(--fg)}.controls-wrap{top:var(--header-h);z-index:20;background:var(--bg);transition:top var(--dur-2) var(--ease);position:sticky}.controls-wrap:before{content:"";height:calc(var(--header-h) + env(safe-area-inset-top));background:var(--bg);position:absolute;bottom:100%;left:0;right:0}html.header-hidden .controls-wrap{top:0}html:not(.js) .controls-wrap{display:none}.controls{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:10px 0;display:flex}html:not(.js) .controls{display:none}.filters{flex-wrap:wrap;gap:0 4px;margin-left:-8px;display:flex}.chip{min-height:44px;color:var(--fg-2);letter-spacing:-.005em;text-underline-offset:.4em;transition:color var(--dur-1) var(--ease), text-decoration-color var(--dur-1) var(--ease);align-items:center;gap:.4em;padding:0 8px;font-size:.9375rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px;display:inline-flex}.chip .n{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--fg-3);text-decoration:none}.chip:hover{color:var(--fg)}.chip[aria-pressed=true],.chip[aria-checked=true]{color:var(--fg);-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.controls-right{align-items:center;gap:var(--space-3);flex:none;display:flex}.seg{gap:2px;display:inline-flex}.seg .chip{padding:0 6px}.seg-label{font-family:var(--font-mono);font-size:var(--text-meta);text-transform:uppercase;letter-spacing:var(--tracking-meta);color:var(--fg-3);margin-right:6px}.results{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--fg-3);text-transform:uppercase;letter-spacing:var(--tracking-meta);padding:var(--space-4) 0 var(--space-2)}@media (width<=767px){.controls{gap:2px;padding:6px 0 8px}.seg-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.seg .chip{min-height:40px}.filters{scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-right:calc(-1 * var(--margin));padding-right:calc(var(--margin) + 24px);flex-wrap:nowrap;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000)}.filters::-webkit-scrollbar{display:none}.chip{white-space:nowrap}.controls-right{flex-wrap:nowrap;justify-content:space-between;gap:8px;width:100%}}.intro{z-index:100;background:var(--ink);color:var(--paper);justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow:hidden}.intro-line{background:var(--paper);transform-origin:0;height:1px;position:absolute;top:50%;left:0;right:0;transform:scaleX(0)}.intro-inner{text-align:left;width:min(52vw,560px);position:relative}.intro-mark svg{clip-path:inset(0 100% 0 0);width:100%;height:auto}.intro-tag{color:var(--paper-2);letter-spacing:-.005em;gap:.3em;margin-top:24px;font-size:clamp(.9375rem,1.3vw,1.125rem);display:flex}.intro-tag span{opacity:0;transform:translateY(6px)}html.intro-done .intro{display:none!important}.app-grid .row,.app-list .card-link{display:none}.app-list .card{border-bottom:1px solid var(--rule)}.app-list .card .icon{margin-bottom:0}.index-grid.app-list{border-top:1px solid var(--rule);display:block}.intro{grid-template-rows:1fr 1fr;place-items:stretch center;display:none}html.show-intro .intro{display:grid}.intro-inner{display:contents}.intro-mark{align-self:end;width:min(52vw,560px);padding-bottom:26px}.intro-tag{align-self:start;width:min(52vw,560px);margin:0;padding-top:24px}@media (width<=767px){.intro-mark,.intro-tag{width:72vw}}.hero{min-height:100svh;padding-top:calc(var(--header-h) + env(safe-area-inset-top));padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));isolation:isolate;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:hidden}.hero-eyebrow{padding-top:var(--space-3);z-index:2;position:relative}.hero-body{z-index:2;padding-block:var(--space-8);align-self:center;position:relative}.hero h1{max-width:12ch}.hero-sub{max-width:40ch;color:var(--fg-2);margin-top:clamp(28px,3.4vw,48px)}.hero-links{flex-wrap:wrap;gap:clamp(24px,3vw,40px);margin-top:clamp(28px,3vw,44px);display:flex}.hero-links a{align-items:center;min-height:44px;font-size:1.0625rem;display:inline-flex}.hero-foot{z-index:2;justify-content:space-between;display:flex;position:relative}.hero-foot .meta{align-items:center;min-height:24px;display:inline-flex}.h1-stack{justify-items:start;display:grid}.h1-stack>*{grid-area:1/1}.h1-ghost{color:#f2f1ed1a;-webkit-text-stroke:1px #f2f1ed8c;max-width:12ch}.h1-window{font-size:var(--text-display);margin:-.14em 0 -.32em;padding:.14em 0 .32em;overflow:hidden}html.js .h1-window{transform:translate(-100%)}html.js .h1-window>h1{transform:translate(100%)}html.js .h1-window,html.js .h1-window>h1{will-change:transform}html:not(.js) .h1-ghost{display:none}.astra-d{display:inline-block}.astra{z-index:1;pointer-events:none;color:var(--fg);position:absolute;inset:0}.astra>*{opacity:0;will-change:transform, opacity;position:absolute;top:0;left:0}.astra-shaft{transform-origin:0;background:currentColor;height:1px}.astra-head,.astra-fins{transform-origin:100%}.astra-head svg,.astra-fins svg{width:100%;height:100%;display:block;overflow:visible}.astra-head path{fill:currentColor}.astra-fins path{fill:currentColor;opacity:.85}.astra-mark{width:0;height:0}.astra-mark .ring{opacity:0;border:1px solid;border-radius:50%;position:absolute}.astra-mark .tick{opacity:0;background:currentColor;position:absolute}.astra-mark .dot{opacity:0;background:currentColor;border-radius:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;position:absolute}html:not(.js) .astra{display:none}.selected .app-grid{--icon-grid:clamp(96px, 8.5vw, 128px)}.pager{align-items:center;gap:var(--space-2);display:inline-flex}.pager>.meta:first-child{margin-right:var(--space-3)}.pager-btn{min-width:44px;min-height:44px;color:var(--fg-2);transition:color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);justify-content:center;align-items:center;font-size:1.125rem;display:inline-flex}.pager-btn:hover{color:var(--fg)}.pager-btn[data-prev]:hover{transform:translate(-2px)}.pager-btn[data-next]:hover{transform:translate(2px)}.pager-count{text-align:center;min-width:5.5ch}html:not(.js) .pager-btn,html:not(.js) .pager-count{display:none}.app-grid.paged{transition:opacity .19s var(--ease)}.app-grid.paged.is-paging{opacity:0}@media (width<=767px){.pager{justify-content:space-between;width:100%}.pager>.meta:first-child{margin-right:auto}}.selected-more{margin-top:clamp(48px,6vw,96px);font-size:1.0625rem}.name-section{padding-block:var(--section)}.name-word{width:min(100%,980px);color:var(--fg);margin-bottom:clamp(40px,6vw,96px)}.name-word svg{width:100%;height:auto}.name-cols{row-gap:var(--space-6);align-items:start}.name-gloss{font-size:var(--text-h2);letter-spacing:-.03em;text-wrap:balance;grid-column:1/span 5;max-width:20ch;font-weight:540;line-height:1.08}.name-gloss em{color:var(--fg-3);font-style:normal}.name-para{font-size:var(--text-lead);text-wrap:pretty;grid-column:7/span 6;max-width:40ch;padding-top:.35em;line-height:1.32}@media (width<=1023px){.name-gloss,.name-para{grid-column:1/span 12}.name-para{padding-top:0}}.name-para .w{display:inline-block}html.js .name-para.is-scrub .w{opacity:.15}.principles{border-top:1px solid var(--rule)}.principle{column-gap:var(--gutter);border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,2fr) minmax(0,7fr) minmax(0,3fr);align-items:start;padding:clamp(28px,3.2vw,44px) 0;display:grid}.principle .n{font-family:var(--font-mono);letter-spacing:-.03em;color:var(--fg);font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,5vw,5rem);font-weight:400;line-height:1}.principle h3{font-size:var(--text-h3);letter-spacing:-.02em;font-weight:540;line-height:1.2}.principle p{color:var(--fg-2);text-wrap:pretty;max-width:52ch;margin-top:8px}@media (width<=767px){.principle{grid-template-columns:1fr;row-gap:12px}.principle .n{font-size:2rem}}.numbers{column-gap:var(--gutter);row-gap:var(--space-8);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.numbers .n{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(3rem,7.2vw,8rem);font-weight:540;line-height:.92;display:block}.numbers .meta{text-wrap:pretty;max-width:24ch;margin-top:14px;display:block}@media (width<=1023px){.numbers{grid-template-columns:repeat(2,minmax(0,1fr))}}.closing .lead{max-width:36ch;color:var(--fg-2)}.talk{letter-spacing:-.05em;background-position:0 92%;background-size:0% 2px;margin-top:clamp(32px,4vw,56px);font-size:clamp(3.25rem,10vw,11rem);font-weight:560;line-height:.95;display:inline-block}.talk:hover,.talk:focus-visible{background-size:100% 2px}.closing .mail{margin-top:var(--space-5);color:var(--fg-2);align-items:center;min-height:44px;font-size:1rem;display:inline-flex}.closing .mail:hover{color:var(--fg)}.index-grid{padding-block:var(--space-4) var(--section)}.app-hero{padding-top:clamp(48px,7vw,112px);padding-bottom:clamp(40px,5vw,80px)}.app-hero .grid{align-items:start}.app-hero-icon{grid-column:1/span 3}.app-hero-text{grid-column:5/span 8}.app-hero h1{letter-spacing:-.04em;text-wrap:balance;font-size:clamp(2.5rem,5.6vw,6rem);font-weight:560;line-height:.98}.app-hero .sub{margin-top:var(--space-3);max-width:40ch;color:var(--fg-2)}.app-hero .summary{margin-top:var(--space-4);border-top:1px solid var(--rule);max-width:52ch}.app-hero .summary li{border-bottom:1px solid var(--rule);font-size:var(--text-small);color:var(--fg);text-wrap:pretty;padding:10px 0}.app-guide{margin-top:var(--space-5);font-size:1.0625rem}.app-hero-line{margin-top:var(--space-4);gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.app-hero .cta{gap:var(--space-4);flex-wrap:wrap;align-items:center;margin-top:clamp(28px,3vw,40px);display:flex}@media (width<=1023px){.app-hero-icon,.app-hero-text{grid-column:1/span 12}.app-hero-text{margin-top:var(--space-5)}}.shots{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);position:relative}.shots-track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--margin);padding:clamp(32px, 4vw, 64px) var(--margin);-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;gap:clamp(12px,1.4vw,20px);display:flex;overflow-x:auto}.shots-track::-webkit-scrollbar{display:none}.shots-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.shots-track.is-dragging img{pointer-events:none}.shot{scroll-snap-align:start;height:var(--shot-h,clamp(360px, 46vw, 620px));flex:none}.shot img{width:auto;height:100%;box-shadow:inset 0 0 0 1px var(--icon-edge);background:#ffffff0a;border-radius:clamp(14px,2.4vw,28px)}.shots-track:focus-visible{outline-offset:-3px}@media (width<=767px){.shot{--shot-h:clamp(300px, 70vw, 420px)}}.app-body{padding-block:var(--section-sm) var(--section-sm)}.app-facts{grid-column:1/span 4}.app-desc{grid-column:6/span 7}.app-desc .prose{max-width:60ch}.disclaimer{margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--rule);font-size:var(--text-small);color:var(--fg-3);text-wrap:pretty;max-width:60ch}.app-links{margin-top:var(--space-6);gap:var(--space-4);flex-wrap:wrap;display:flex}.app-links a{font-size:var(--text-small);min-height:44px;color:var(--fg-2);align-items:center;display:inline-flex}.app-links a:hover{color:var(--fg)}.app-support{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--rule)}.app-support a{font-size:1.0625rem}@media (width<=1023px){.app-facts,.app-desc{grid-column:1/span 12}.app-desc{margin-top:var(--space-8)}}.studio-name .name-word{width:min(100%,720px)}.studio-cols{row-gap:var(--space-6)}.steps{column-gap:var(--gutter);border-top:1px solid var(--rule);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.step{padding-top:var(--space-3);border-top:1px solid #0000;position:relative}.step .meta{margin-bottom:var(--space-3);display:block}.step h3{letter-spacing:-.03em;font-size:clamp(1.5rem,2.2vw,2.25rem);font-weight:540;line-height:1}.step h3:after{content:"→";color:var(--fg-3);margin-left:.35em;font-weight:400}.step:last-child h3:after{content:none}.step p{margin-top:var(--space-3);color:var(--fg-2);font-size:var(--text-small);text-wrap:pretty;max-width:28ch}@media (width<=1023px){.steps{row-gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.step h3:after{content:none}}@media (width<=479px){.steps{grid-template-columns:1fr}}.tools{gap:var(--space-2) var(--space-4);font-family:var(--font-mono);color:var(--fg-2);margin-bottom:var(--space-4);flex-wrap:wrap;font-size:.9375rem;display:flex}.tools li:before{content:"—";color:var(--fg-3);margin-right:.6em}.contact-cols{row-gap:var(--space-8)}.contact-form{grid-column:1/span 6}.contact-side{grid-column:9/span 4}.contact-side .meta{margin-bottom:var(--space-2);display:block}.contact-side p{color:var(--fg-2);text-wrap:pretty}.contact-side p+p{margin-top:var(--space-2)}.contact-side a.mail{font-size:var(--text-h3);letter-spacing:-.015em;color:var(--fg);word-break:break-all;font-weight:500}.contact-side section+section{margin-top:var(--space-8)}@media (width<=1023px){.contact-form,.contact-side{grid-column:1/span 12}}.legal .prose{max-width:66ch}.legal .prose h2{font-size:var(--text-h3);letter-spacing:-.02em;margin-top:2.2em;margin-bottom:.5em;font-weight:540}.legal .prose h2:first-child{margin-top:0}.legal .review{border:1px solid var(--rule-strong);margin-bottom:var(--space-6);border-radius:4px;padding:6px 10px;display:inline-block}.nf{min-height:calc(100svh - var(--header-h));padding-block:var(--section-sm);align-content:center;display:grid}.nf .display{font-family:var(--font-mono);letter-spacing:-.06em;font-weight:400}.nf .lead{margin-top:var(--space-5);color:var(--fg-2)}.nf .app-grid{--icon-grid:96px;margin-top:clamp(40px,5vw,72px)}.sg section{padding-block:var(--space-10);border-top:1px solid var(--rule)}.sg .swatches{gap:var(--space-3);flex-wrap:wrap;display:flex}.sg .swatch{width:120px}.sg .swatch i{border:1px solid var(--rule);height:72px;margin-bottom:8px;display:block}.sg .sample+.sample{margin-top:var(--space-4)}.sg .grid-demo>div{background:#f2f1ed0f;height:48px}.sg .icons{gap:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.sg .sw-ink{background:var(--ink)}.sg .sw-paper{background:var(--paper)}.sg .sw-paper2{background:var(--paper-2)}.sg .sw-paper3{background:var(--paper-3)}.sg .sw-line{background:var(--line)}.guide-list{border-top:1px solid var(--rule)}.guide-row{border-bottom:1px solid var(--rule)}.guide-link{column-gap:var(--gutter);color:inherit;grid-template-columns:56px minmax(0,5fr) minmax(0,6fr);align-items:baseline;row-gap:6px;padding:clamp(20px,2.4vw,32px) 0;display:grid}.guide-link .idx{color:var(--fg-3);grid-row:1/span 3}.guide-link .guide-title{font-size:var(--text-h3);letter-spacing:-.02em;text-wrap:balance;transition:color var(--dur-1) var(--ease);grid-column:2;font-weight:540;line-height:1.2}.guide-link .guide-lead{color:var(--fg-2);font-size:var(--text-small);text-wrap:pretty;grid-area:1/3/span 2;max-width:56ch}.guide-link>.meta{grid-column:2}.guide-link:hover .guide-title{color:var(--fg-2)}.guide-row .guide-link:not(:has(.idx)){grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.guide-row .guide-link:not(:has(.idx)) .guide-title{grid-column:1}.guide-row .guide-link:not(:has(.idx)) .guide-lead{grid-area:1/2}@media (width<=767px){.guide-link{grid-template-columns:1fr}.guide-link .idx{grid-row:auto}.guide-link .guide-title,.guide-link .guide-lead,.guide-link>.meta{grid-area:auto/1}.guide-row .guide-link:not(:has(.idx)){grid-template-columns:1fr}.guide-row .guide-link:not(:has(.idx)) .guide-lead{grid-area:auto/1}}.guide-h1{max-width:18ch;font-size:clamp(2.25rem,4.6vw,4.5rem)}.page-head .lead.guide-lead{max-width:56ch}.guide-cols{row-gap:var(--space-8);align-items:start}.guide-body{grid-column:1/span 7;max-width:64ch}.guide-body h2{font-size:var(--text-h3);letter-spacing:-.02em;margin-top:2em;margin-bottom:.5em;font-weight:540}.guide-body h2:first-child{margin-top:0}.guide-body ol{counter-reset:step;list-style:none}.guide-body ol li{counter-increment:step;margin-top:.6em;padding-left:2.2em;position:relative}.guide-body ol li:before{content:counter(step, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--text-meta);color:var(--fg-3);position:absolute;top:.35em;left:0}.guide-body .disclaimer{margin-top:var(--space-6)}.guide-aside{top:calc(var(--header-h) + 24px);grid-column:9/span 4;position:sticky}.guide-aside .meta{margin-bottom:var(--space-3);display:block}.guide-apps{row-gap:var(--space-5);--icon-grid:96px;grid-template-columns:1fr}@media (width<=1023px){.guide-body,.guide-aside{grid-column:1/span 12}.guide-aside{position:static}.guide-apps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=639px){.guide-apps{grid-template-columns:repeat(2,minmax(0,1fr))}}.faq{border-top:1px solid var(--rule);margin-top:var(--space-4);max-width:72ch}.faq div{border-bottom:1px solid var(--rule);padding:20px 0}.faq dt{letter-spacing:-.01em;font-weight:540}.faq dd{color:var(--fg-2);text-wrap:pretty;margin:8px 0 0}html.js .reveal{opacity:0;transform:translateY(18px)}html.js .reveal.is-in{opacity:1;transition:opacity var(--dur-3) var(--ease), transform var(--dur-3) var(--ease);transform:none}html.js .reveal-lines .line{display:block;overflow:hidden}html.js .reveal-lines .line>span{display:block;transform:translateY(105%)}html.js .reveal-lines.is-in .line>span{transition:transform var(--dur-3) var(--ease);transform:none}html.js .reveal-lines.is-in .line:nth-child(2)>span{transition-delay:80ms}html.js .reveal-lines.is-in .line:nth-child(3)>span{transition-delay:.16s}html.js .reveal-lines.is-in .line:nth-child(4)>span{transition-delay:.24s}html.js .reveal-lines.is-in .line:nth-child(5)>span{transition-delay:.32s}html.js .reveal-d1.is-in{transition-delay:.1s}html.js .reveal-d2.is-in{transition-delay:.2s}html.js .reveal-d3.is-in{transition-delay:.3s}html.js .stagger>*{opacity:0;transform:translateY(14px)}html.js .stagger.is-in>*{opacity:1;transition:opacity var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);transform:none}html.js .stagger.is-in>:nth-child(2){transition-delay:50ms}html.js .stagger.is-in>:nth-child(3){transition-delay:.1s}html.js .stagger.is-in>:nth-child(4){transition-delay:.15s}html.js .stagger.is-in>:nth-child(5){transition-delay:.2s}html.js .stagger.is-in>:nth-child(6){transition-delay:.25s}html.js .stagger.is-in>:nth-child(7){transition-delay:.3s}html.js .stagger.is-in>:nth-child(8){transition-delay:.35s}html.js .stagger.is-in>:nth-child(n+9){transition-delay:.4s}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.25s;animation-timing-function:var(--ease)}::view-transition-new(root){animation-duration:.25s;animation-timing-function:var(--ease)}::view-transition-group(*){animation-duration:.45s;animation-timing-function:var(--ease)}::view-transition-image-pair(*){isolation:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.js .reveal,html.js .stagger>*,html.js .reveal-lines .line>span{opacity:1;transform:none}html.js .name-para.is-scrub .w{opacity:1}html.js .footer-mark svg{clip-path:none}html.js .menu-list a{opacity:1;transform:none}@view-transition{navigation:none}.tilt .icon{transform:none!important}}[data-vt="faster-repost-story-and-reels"].icon-hero{view-transition-name:app-faster-repost-story-and-reels}[data-vt="ivault"].icon-hero{view-transition-name:app-ivault}[data-vt="locksy"].icon-hero{view-transition-name:app-locksy}[data-vt="dual-app-a"].icon-hero{view-transition-name:app-dual-app-a}[data-vt="hide-photos-and-videos"].icon-hero{view-transition-name:app-hide-photos-and-videos}[data-vt="all-email-login"].icon-hero{view-transition-name:app-all-email-login}[data-vt="dual-app-b"].icon-hero{view-transition-name:app-dual-app-b}[data-vt="wa-chat-backup"].icon-hero{view-transition-name:app-wa-chat-backup}[data-vt="dual-messenger"].icon-hero{view-transition-name:app-dual-messenger}[data-vt="mathscan"].icon-hero{view-transition-name:app-mathscan}[data-vt="authenticator-app"].icon-hero{view-transition-name:app-authenticator-app}[data-vt="hashtag-generator-ig"].icon-hero{view-transition-name:app-hashtag-generator-ig}[data-vt="pdfwiz"].icon-hero{view-transition-name:app-pdfwiz}[data-vt="santi"].icon-hero{view-transition-name:app-santi}[data-vt="cardbuddy"].icon-hero{view-transition-name:app-cardbuddy}[data-vt="soloclick"].icon-hero{view-transition-name:app-soloclick}[data-vt="teleprompter-camera"].icon-hero{view-transition-name:app-teleprompter-camera}[data-vt="eatok"].icon-hero{view-transition-name:app-eatok}[data-vt="textly-ai-email-letter-writing"].icon-hero{view-transition-name:app-textly-ai-email-letter-writing}[data-vt="daily-habit-tracker"].icon-hero{view-transition-name:app-daily-habit-tracker}[data-vt="foldr"].icon-hero{view-transition-name:app-foldr}[data-vt="gpsmark"].icon-hero{view-transition-name:app-gpsmark}[data-vt="mediaslim"].icon-hero{view-transition-name:app-mediaslim}[data-vt="morrow"].icon-hero{view-transition-name:app-morrow}[data-vt="vinari"].icon-hero{view-transition-name:app-vinari}