@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/pinhole-ai/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/pinhole-ai/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/pinhole-ai/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/pinhole-ai/assets/spline-sans-latin-ext-wght-normal-DGzmlScV.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/pinhole-ai/assets/spline-sans-latin-wght-normal-DI10v4rJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/pinhole-ai/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/pinhole-ai/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/pinhole-ai/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/pinhole-ai/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/pinhole-ai/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/pinhole-ai/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/pinhole-ai/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/pinhole-ai/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/pinhole-ai/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/pinhole-ai/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#14282c;font-synthesis:none;text-rendering:optimizelegibility;--ink:#14282c;--muted-ink:#536c70;--mist:#dce7e8;--paper:#f7faf7;--sea-glass:#aac5c5;--safelight:#ed6547;--safelight-ink:#ad3e28;--deep-water:#284c52;--line:#14282c33;background:#dce7e8;font-family:Spline Sans Variable,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--mist);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}.boot-state{color:var(--ink-muted);letter-spacing:.13em;text-transform:uppercase;margin:0;font:500 10px/1.4 IBM Plex Mono,monospace;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--safelight);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;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}}.app-shell{background:linear-gradient(90deg, transparent 49.9%, #14282c09 50%, transparent 50.1%), var(--mist);min-height:100vh}.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;min-height:68px;padding:0 30px;display:grid}.wordmark{width:fit-content;color:var(--ink);letter-spacing:-.04em;align-items:center;gap:10px;font-family:Bricolage Grotesque Variable,sans-serif;font-size:22px;font-weight:720;text-decoration:none;display:inline-flex}.aperture-mark{border:1.5px solid var(--ink);border-radius:50%;width:25px;height:25px;display:inline-block;position:relative;overflow:hidden;transform:rotate(10deg)}.aperture-mark:after{content:"";z-index:2;background:var(--safelight);border-radius:50%;position:absolute;inset:8px}.aperture-mark i{transform-origin:1px 12px;background:var(--ink);width:1px;height:12px;position:absolute;top:0;left:11px}.aperture-mark i:nth-child(2){transform:rotate(60deg)}.aperture-mark i:nth-child(3){transform:rotate(120deg)}.aperture-mark i:nth-child(4){transform:rotate(180deg)}.aperture-mark i:nth-child(5){transform:rotate(240deg)}.aperture-mark i:nth-child(6){transform:rotate(300deg)}.challenge-label{width:fit-content;color:var(--ink);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #0000;padding:4px 0;font-family:IBM Plex Mono,monospace;font-size:10px;text-decoration:none;transition:border-color .16s}.challenge-label:hover{border-color:currentColor}.engine-state{color:var(--muted-ink);justify-self:end;align-items:center;gap:8px;font-size:12px;display:flex}.engine-state>span{background:#d7a02d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #d7a02d21}.engine-state--ready>span{background:#2b8a66;box-shadow:0 0 0 4px #2b8a6621}.engine-state--error>span{background:var(--safelight);box-shadow:0 0 0 4px #ed654721}.engine-state--offline{color:var(--paper);background:var(--ink);letter-spacing:.08em;text-transform:uppercase;border:1px solid #dce7e852;border-radius:999px;padding:9px 12px;font:500 10px/1 IBM Plex Mono,monospace;box-shadow:0 10px 28px #14282c2e}.engine-state--offline>span{background:var(--safelight);flex:none;box-shadow:0 0 0 3px #ed654733}.workspace{grid-template-columns:minmax(360px,39%) minmax(0,61%);min-height:calc(100vh - 68px);display:grid}.control-room{border-right:1px solid var(--line);flex-direction:column;padding:clamp(38px,5vw,78px) clamp(28px,4vw,68px) 32px;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--safelight-ink);margin:0 0 16px;font-family:IBM Plex Mono,monospace;font-size:10px}.control-copy h1{letter-spacing:-.075em;max-width:590px;margin:0;font-family:Bricolage Grotesque Variable,sans-serif;font-size:clamp(48px,5.3vw,88px);font-weight:480;line-height:.9}.lede{max-width:530px;color:var(--muted-ink);margin:25px 0 0;font-size:15px;line-height:1.6}.search-box{background:var(--paper);border:1px solid #14282c73;align-content:center;min-height:76px;margin-top:clamp(34px,5vh,66px);padding:14px 132px 14px 50px;transition:border-color .14s ease-out,box-shadow .14s ease-out;display:grid;position:relative;box-shadow:6px 7px #284c521c}.search-box:focus-within{border-color:var(--safelight-ink);box-shadow:6px 7px #ad3e282e}.search-box>svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:24px;position:absolute;top:25px;left:17px}.search-box label{text-transform:uppercase;letter-spacing:.11em;color:var(--muted-ink);font-family:IBM Plex Mono,monospace;font-size:9px;display:block}.search-box input{width:100%;color:var(--ink);letter-spacing:-.02em;background:0 0;border:0;outline:0;padding:4px 0 0;font-size:clamp(16px,1.4vw,20px)}.search-box input::placeholder{color:#8aa0a3}.search-box>button[type=submit]{width:108px;color:var(--paper);background:var(--deep-water);cursor:pointer;border:0;font-weight:650;transition:background-color .14s ease-out;position:absolute;top:10px;bottom:10px;right:10px}.search-box>button[type=submit]:not(:disabled):hover{background:var(--ink)}.search-box .clear-query{min-height:24px;color:var(--muted-ink);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:11px;text-decoration:underline;position:absolute;bottom:-31px;right:2px}.search-box[data-active=true]+.import-actions{margin-top:29px}.import-actions{gap:9px;margin-top:18px;display:flex}.import-actions button{border:1px solid var(--line);cursor:pointer;min-height:44px;font-size:12px;font-weight:620}.primary-action{color:var(--ink);background:var(--sea-glass);flex:1;justify-content:center;align-items:center;gap:8px;transition:background-color .14s ease-out;display:inline-flex}.primary-action:not(:disabled):hover{background:#9bbaba}.secondary-action:not(:disabled):hover{background:#14282c0f}.primary-action svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:18px}.secondary-action{color:var(--ink);background:0 0;padding:0 17px;transition:background-color .14s ease-out}.import-progress{background:#14282c1f;height:3px;margin-top:12px;position:relative}.import-progress>span{background:var(--safelight);transition:width .18s;position:absolute;inset:0 auto 0 0}.import-progress p{color:var(--muted-ink);text-overflow:ellipsis;white-space:nowrap;margin:7px 0 0;font-family:IBM Plex Mono,monospace;font-size:9px;overflow:hidden}.error-message{border-left:3px solid var(--safelight);color:#913b2c;background:#f7faf7b3;margin-top:14px;padding:11px 13px;font-size:12px}.instrument-strip{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:auto 0 0;padding:36px 0 18px;display:grid}.instrument-strip div{border-left:1px solid var(--line);min-width:0;padding:0 10px}.instrument-strip div:first-child{border-left:0;padding-left:0}.instrument-strip dt{color:var(--muted-ink);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:9px;overflow:hidden}.instrument-strip dd{font-variation-settings:"wdth" 82;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:6px 0 0;font-family:Bricolage Grotesque Variable,sans-serif;font-size:clamp(15px,1.3vw,21px)}.privacy-proof{padding:20px 0 0 46px;position:relative}.privacy-proof p{margin:0;font-size:12px}.privacy-proof small{color:var(--muted-ink);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:9px}.privacy-orbit{border:1px solid var(--deep-water);border-radius:50%;width:31px;height:31px;position:absolute;top:17px;left:0}.privacy-orbit:before,.privacy-orbit:after{content:"";border:1px solid #284c5266;border-radius:50%;position:absolute;inset:5px -5px;transform:rotate(54deg)}.privacy-orbit:after{transform:rotate(-54deg)}.privacy-orbit span{background:var(--safelight);border-radius:50%;position:absolute;inset:11px}.contact-sheet{background:var(--paper);flex-direction:column;min-width:0;padding:25px 28px 14px;display:flex}.sheet-header,.sheet-footer{text-transform:uppercase;justify-content:space-between;align-items:center;font-family:IBM Plex Mono,monospace;display:flex}.sheet-header{border-bottom:1px solid var(--line);min-height:54px;padding-bottom:14px}.sheet-header p{letter-spacing:.11em;margin:0;font-size:10px}.sheet-header span{max-width:530px;color:var(--muted-ink);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;display:block;overflow:hidden}.sheet-header button{color:var(--muted-ink);cursor:pointer;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid;padding:5px 0;font-family:inherit;font-size:9px}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;scrollbar-width:thin;gap:10px;padding:17px 0;display:grid;overflow:auto}.photo-card{min-width:0;animation:.38s cubic-bezier(.16,.84,.44,1) both develop;animation-delay:var(--rank-delay);margin:0}.photo-grid[data-results=ranked] .photo-card[data-rank="0"]{grid-area:span 2/span 2}.photo-frame{aspect-ratio:1;background:#c8d2d2;position:relative;overflow:hidden}.photo-card img{object-fit:cover;filter:saturate(.72)contrast(.97);width:100%;height:100%;transition:filter .45s,transform .45s cubic-bezier(.2,.8,.2,1);display:block}.photo-card[data-searching=true] img{filter:saturate(1.04)contrast(1.02)}.photo-card:hover img{transform:scale(1.025)}.remove-photo{width:24px;height:24px;color:var(--paper);opacity:0;cursor:pointer;background:#14282cbf;border:0;border-radius:50%;place-items:center;transition:opacity .16s;display:grid;position:absolute;top:7px;right:7px}.photo-card:hover .remove-photo,.remove-photo:focus-visible{opacity:1}.photo-card figcaption{text-transform:uppercase;justify-content:space-between;gap:6px;padding:6px 1px 0;font-family:IBM Plex Mono,monospace;font-size:9px;display:flex}.photo-card figcaption span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo-card figcaption strong{color:var(--safelight-ink);font-variant-numeric:tabular-nums;font-weight:500}.empty-sheet{min-height:480px;color:var(--muted-ink);text-align:center;flex:1;align-content:center;place-items:center;gap:30px;display:grid}.empty-sheet p{color:var(--ink);letter-spacing:-.04em;margin:0 0 5px;font-family:Bricolage Grotesque Variable,sans-serif;font-size:24px}.empty-sheet>div:last-child span{max-width:380px;font-size:12px;line-height:1.55;display:block}.empty-frames{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(6,1fr);gap:8px;width:min(420px,75%);height:190px;display:grid;transform:rotate(-2deg)}.empty-frames span{background:#aac5c54d;border:1px dashed #8fa6a9;display:block}.empty-frames span:first-child{grid-area:1/1/3/3}.empty-frames span:nth-child(2){grid-area:1/3/4/5}.empty-frames span:nth-child(3){grid-area:1/5/3/7}.empty-frames span:nth-child(4){grid-area:3/1/5/3}.empty-frames span:nth-child(5){grid-area:3/5/5/7}.sheet-footer{border-top:1px solid var(--line);min-height:29px;color:var(--muted-ink);letter-spacing:.09em;padding-top:10px;font-size:9px}.sheet-footer strong{color:var(--safelight-ink);font-size:9px;font-weight:500}@keyframes develop{0%{opacity:0;filter:grayscale()brightness(1.2);transform:translateY(8px)}to{opacity:1;filter:grayscale(0)brightness();transform:translateY(0)}}@media (width<=1100px){.workspace{grid-template-columns:minmax(330px,43%) minmax(0,57%)}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.instrument-strip{grid-template-columns:repeat(2,1fr);row-gap:15px}.instrument-strip div:nth-child(3){border-left:0;padding-left:0}}@media (width<=760px){.topbar{z-index:20;background:var(--mist);grid-template-columns:1fr auto;min-height:58px;padding:0 16px;position:sticky;top:0}.challenge-label{display:none}.engine-state{text-overflow:ellipsis;white-space:nowrap;max-width:165px;font-size:10px;overflow:hidden}.engine-state:not(.engine-state--offline){color:var(--ink)}.engine-state--offline{max-width:210px;padding:8px 10px;font-size:9px}.workspace{display:block}.control-room{border-right:0;border-bottom:1px solid var(--line);min-height:calc(100svh - 58px);padding:42px 18px 24px}.control-copy h1{font-size:clamp(51px,16.5vw,74px)}.lede{max-width:460px}.search-box{margin-top:38px;padding-right:104px}.search-box>button[type=submit]{width:84px}.instrument-strip{margin-top:auto}.contact-sheet{min-height:100svh;padding:17px 12px 10px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.photo-card figcaption{font-size:8px}.sheet-footer span:first-child{display:none}}@media (width<=430px){.import-actions{grid-template-columns:1fr 1fr;display:grid}.instrument-strip dt{font-size:8px}.empty-sheet{min-height:420px}}
