@font-face{font-family:Geunal Batang;src:url('./assets/gowun-batang.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
:root{color-scheme:light;--bg:#f5f2eb;--paper:#fffcf6;--surface:#eae6dc;--ink:#333b31;--muted:#72786a;--accent:#526447;--line:#dedfd3;--camera:#242b23;--serif:'Geunal Batang','AppleMyungjo',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',sans-serif}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;touch-action:manipulation}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button svg,svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.app-shell{max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 420px;gap:110px;padding:36px 76px;min-height:100dvh}.camera-app{width:100%;max-width:440px;margin:auto;min-width:0}.desktop-story{display:flex;flex-direction:column;position:sticky;top:36px;align-self:start;height:calc(100dvh - 72px);max-height:1000px;min-height:580px}.wordmark,.mobile-wordmark{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:-1.2px}.wordmark svg{width:26px;height:26px;color:#7b8768}.story-copy{margin:auto 0;transform:translateY(-8px)}.eyebrow{display:block;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:1px}.story-copy>.eyebrow{font-size:9px;letter-spacing:2px;color:#8b947e}.story-copy h1{font-family:var(--serif);font-size:45px;line-height:1.75;font-weight:400;letter-spacing:-2px;white-space:nowrap;margin:25px 0 18px}.story-copy>p{font-size:14px;color:#828979;line-height:2}.story-line{height:1px;width:35px;background:#aeb59e;margin:29px 0 20px}.story-note{font-family:var(--serif);font-size:13px;color:#738268}.story-steps{display:flex;gap:23px;margin-top:43px;font-size:10px;color:#828c79}.story-steps span{display:flex;flex-direction:column;gap:10px}.story-steps i{font-family:monospace;font-style:normal;font-size:10px;color:#a0aa91}.desktop-privacy{display:flex;gap:7px;align-items:center;font-size:11px;color:#8b9282}.desktop-privacy svg{width:14px;height:14px}
.app-header{height:79px;display:flex;align-items:center;justify-content:space-between;gap:6px}.mobile-wordmark{font-size:21px;gap:6px;flex:0 0 auto}.mobile-wordmark svg{width:20px;height:20px;color:#7a866a}.mobile-wordmark>span{display:flex;flex-direction:column;gap:6px}.mobile-wordmark small{font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:-.25px;color:#909783}.header-actions{display:flex;align-items:center;gap:2px}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex:0 0 auto;color:#6c775e}.icon-button:hover{background:#3f56300b}.info-button svg{width:18px;height:18px}.pwa-status-button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:8px 6px;font-size:10px;color:#7c866e;white-space:nowrap}.pwa-dot{display:inline-block;flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:#b6bba9}.pwa-dot.is-ready{background:#7a9467}.pwa-dot.is-offline{background:#b89059}.pwa-dot.is-error{background:#aa7766}
.camera-workspace{background:var(--camera);border-radius:16px;padding:0 12px 0;color:#e4e8da;box-shadow:0 8px 25px #29311d0c}.camera-toolbar{height:43px;display:flex;align-items:center;justify-content:space-between;gap:8px}.mode-name{display:flex;align-items:center;gap:6px;font-size:10px;color:#b7c2a8;font-weight:400;letter-spacing:.1px}.live-dot{height:4px;width:4px;border-radius:50%;background:#acb995}.live-dot.is-live{background:#c4d79f;box-shadow:0 0 7px #bddc8b50}.toolbar-actions{display:flex;align-items:center;gap:0}.toolbar-actions .icon-button{color:#bac5ab;width:38px;height:40px;min-height:40px}.toolbar-actions svg{width:16px;height:16px}.icon-button[aria-pressed=true]{color:#f4f6e9;background:#ffffff12}.timer-button{position:relative}.timer-button>span{position:absolute;right:0;top:1px;background:#c6d1b1;color:#293220;width:13px;height:13px;border-radius:50%;font-size:9px}
.viewfinder{position:relative;aspect-ratio:3/4;width:100%;overflow:hidden;background:#323b2c;border-radius:5px;isolation:isolate}.viewfinder canvas{display:block;width:100%;height:100%;object-fit:cover}.viewfinder video{position:absolute;width:1px;height:1px;left:0;top:0;opacity:0;pointer-events:none}.viewfinder-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0002,transparent 23%,transparent 60%,#0005)}.sample-label{position:absolute;left:14px;top:14px;display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:20px;background:#1e271f80;color:#f2f2e6;font-size:9px;backdrop-filter:blur(8px)}.sample-label>span{height:3px;width:3px;border-radius:50%;background:#f3f3e0}.frame-corner{position:absolute;width:13px;height:13px;border-style:solid;border-width:0;border-color:#ffffff90;pointer-events:none}.corner-tl{left:12px;top:12px;border-left-width:1px;border-top-width:1px}.corner-tr{right:12px;top:12px;border-right-width:1px;border-top-width:1px}.corner-bl{left:12px;bottom:12px;border-left-width:1px;border-bottom-width:1px}.corner-br{right:12px;bottom:12px;border-right-width:1px;border-bottom-width:1px}.is-sample .corner-tl{top:46px}.camera-start{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:11px;padding-bottom:41px;background:linear-gradient(0deg,#151c0e65,transparent 60%)}.start-caption{font-family:var(--serif);font-size:15px;color:#fffcf2;text-shadow:0 1px 12px #0009;letter-spacing:-.5px}.start-camera-button{background:#fcf8efef;color:#343f2b;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:24px;padding:12px 23px;font-size:12px;font-weight:600;box-shadow:0 3px 14px #0002;backdrop-filter:blur(10px)}.start-camera-button svg{width:16px;height:16px}.start-camera-button:hover{background:#fff}.sample-import-button{color:#faf7eb;min-height:32px;font-size:11px;display:flex;align-items:center;justify-content:center;gap:6px;padding:4px 10px;text-shadow:0 1px 8px #0009}.sample-import-button svg{height:13px;width:13px}.viewfinder-caption{position:absolute;bottom:18px;left:23px;right:23px;display:flex;align-items:center;justify-content:space-between;font-family:monospace;font-size:8px;letter-spacing:1px;color:#f7f3e4d9;pointer-events:none}.camera-status{height:35px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#b0bba0;letter-spacing:-.25px}.text-button{min-height:35px;display:flex;align-items:center;gap:5px;padding:0 0 0 8px;font-family:monospace;font-size:11px;color:#d5ddc8}.text-button svg{width:11px;height:11px;transform:rotate(90deg)}
.grid-overlay{position:absolute;inset:0;pointer-events:none}.grid-overlay i{position:absolute;background:#ffffff60}.grid-overlay i:nth-child(1){width:1px;height:100%;left:33.33%}.grid-overlay i:nth-child(2){width:1px;height:100%;left:66.66%}.grid-overlay i:nth-child(3){height:1px;width:100%;top:33.33%}.grid-overlay i:nth-child(4){height:1px;width:100%;top:66.66%}.countdown{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-size:100px;color:white;text-shadow:0 1px 20px #0006;pointer-events:none}.flash-overlay{position:absolute;inset:0;background:#faf7ed;opacity:0;pointer-events:none}.flash-overlay.flash{animation:shutter-flash .24s ease-out}.processing-overlay{position:absolute;inset:0;background:#17191680;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;color:white}.spinner{width:16px;height:16px;border:1.5px solid #ffffff4a;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
.section-heading{display:flex;align-items:center;justify-content:space-between;margin:19px 0 15px;gap:6px}.section-heading .eyebrow{font-size:9px;letter-spacing:.2px;color:#8a947d}.step-number{font-family:monospace;font-size:9px;letter-spacing:1px;margin-right:5px;color:#a8b09a}.section-heading h2{font-family:var(--serif);font-size:19px;letter-spacing:-.7px;font-weight:400;margin:5px 0 0}.subtle-button{display:flex;gap:6px;align-items:center;justify-content:center;font-size:12px;color:#697a5b;min-height:44px;padding:10px}.subtle-button svg{width:15px;height:15px}.subtle-button[aria-expanded=true]{background:#e4e9dc;border-radius:10px}.film-strip{display:flex;gap:10px;overflow-x:auto;padding:1px 0 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.film-strip::-webkit-scrollbar{display:none}.film-button{padding:0 0 3px;text-align:left;flex:0 0 74px;min-width:0;color:#8d9482;border-radius:4px}.film-thumb{position:relative;display:block;aspect-ratio:1/1.1;overflow:hidden;border-radius:5px;background:#d8d9cc;opacity:.72;transition:opacity .18s,transform .18s}.film-thumb canvas{width:100%;height:100%;display:block;object-fit:cover}.film-button[aria-pressed=true] .film-thumb{opacity:1;transform:translateY(-1px)}.film-button[aria-pressed=true]{color:#3d4f30}.film-button:hover .film-thumb{opacity:1}.film-index{position:absolute;left:5px;top:5px;font-family:monospace;font-size:8px;color:#fff9}.film-label{display:flex;align-items:center;justify-content:center;gap:3px;font-size:10px;white-space:nowrap;margin-top:9px;letter-spacing:-.5px;min-height:16px}.film-selected-dot{display:none;width:3px;height:3px;border-radius:50%;background:#6a8253}.film-button[aria-pressed=true] .film-selected-dot{display:block}.film-button[aria-pressed=true] .film-label{font-weight:600}.film-description{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:10px;font-size:11px;color:#8a947c;letter-spacing:-.2px;line-height:1.5}.film-description>span:last-child{flex:0 0 auto;font-family:monospace;font-size:9px;letter-spacing:1px}.adjust-panel{padding:20px 0 3px}.adjust-panel label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#526447}.adjust-panel output{font-family:monospace;font-size:12px}input[type=range]{width:100%;height:36px;accent-color:#74865f;margin:3px 0 0;cursor:pointer;background:transparent}.range-captions{display:flex;justify-content:space-between;margin:0 0 17px;font-size:10px;color:#8f9983}.option-row{display:flex;gap:9px}.option-toggle{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-height:44px;padding:10px;background:#ebece2;border-radius:7px;font-size:12px;color:#7d8970}.option-toggle svg{height:15px;width:15px}.option-toggle[aria-pressed=true]{background:#dce5d0;color:#425934}
.capture-controls{text-align:center;margin-top:21px;padding:17px 6px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.capture-row{display:flex;align-items:center;justify-content:space-between}.secondary-capture-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:4px 0;min-width:76px;font-size:11px;letter-spacing:-.4px;color:#7d8b70}.secondary-icon{width:44px;height:44px;display:grid;place-items:center}.secondary-icon svg{width:23px;height:23px;stroke-width:1.3}.shutter-group{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:85px}.shutter{position:relative;display:grid;place-items:center;width:70px;height:70px;border:1px solid #acb59c;border-radius:50%;padding:5px;background:#fbfaf4;transition:transform .12s}.shutter:hover{transform:scale(1.03)}.shutter:active{transform:scale(.94)}.shutter-inner{display:block;width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#6f8060,#475c3a);box-shadow:inset 0 1px 3px #ffffff40,0 2px 6px #20311420}.shutter-action{font-size:12px;font-weight:600;color:#4b603c;letter-spacing:-.35px}.shutter-caption{font-size:10px;color:#9ba38e;display:block;margin-top:10px;line-height:1.5}.toast{position:fixed;left:50%;bottom:max(25px,env(safe-area-inset-bottom));transform:translateX(-50%);background:#303e29;color:#f9f8ef;padding:13px 19px;border-radius:25px;box-shadow:0 4px 40px #1b2c2026;width:max-content;max-width:calc(100% - 30px);font-size:12px;line-height:1.6;text-align:center;z-index:1000}.noscript{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);padding:30px}
dialog{color:var(--ink);background:var(--paper);border:0;padding:0;width:min(450px,calc(100vw - 28px));max-width:unset;max-height:calc(100dvh - 32px);border-radius:20px;box-shadow:0 20px 100px #14200c30;overscroll-behavior:contain}dialog::backdrop{background:#1c251b80;backdrop-filter:blur(7px)}dialog:focus{outline:none}.dialog-close{position:absolute;right:10px;top:10px}.result-dialog{padding:18px 20px 22px}.result-header{display:flex;align-items:center;justify-content:space-between;text-align:center;margin-bottom:16px}.result-header .eyebrow{font-size:9px;letter-spacing:.3px}.result-header h2{font-family:var(--serif);font-size:20px;font-weight:400;margin:6px 0 0}.result-header-spacer{width:44px}.result-image-wrap{position:relative;display:flex;align-items:center;justify-content:center;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;min-height:120px}.result-image-wrap img{display:block;max-width:100%;max-height:43dvh;object-fit:contain;border-radius:4px}.result-original-hint{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);background:#28371f70;color:#fff;font-size:10px;padding:6px 11px;border-radius:20px;white-space:nowrap;pointer-events:none}.result-copy{display:flex;align-items:center;justify-content:space-between;margin:18px 0 12px}.result-copy>div>span{font-family:var(--serif);font-size:17px}.result-copy p{font-size:10px;color:#939d86;margin:7px 0 0}.result-check{height:27px;width:27px;display:grid;place-items:center;border-radius:50%;background:#e1e9d5;color:#6e8459}.result-check svg{width:14px;height:14px}.save-notice{font-size:11px;color:#7c8970;line-height:1.7;margin:0 0 15px}.result-actions{display:flex;gap:8px;flex-direction:column}.primary-button,.outline-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:47px;padding:12px 16px;font-size:13px;font-weight:500;border-radius:9px;flex:1}.primary-button{background:#536747;color:#fffcf3}.primary-button:hover{background:#465a3a}.outline-button{border:1px solid #d8dece;color:#687c56;background:transparent}.primary-button svg,.outline-button svg{width:16px;height:16px}.result-actions .primary-button{order:-1}.result-help{font-size:10px;line-height:1.8;color:#8a957d;margin:12px 0 0;text-align:center}.text-link{display:block;margin:5px auto 0;padding:10px;min-height:40px;font-size:11px;color:#8a967c;text-decoration:underline;text-underline-offset:4px}.info-dialog,.error-dialog,.pwa-dialog{padding:36px 27px 24px}.info-sparkle{width:30px;height:30px;color:#87976e;margin:2px 0 20px}.info-dialog>.eyebrow,.pwa-dialog>.eyebrow{font-size:10px;letter-spacing:.5px;color:#9aa38d}.info-dialog h2,.pwa-dialog h2{font-family:var(--serif);font-size:29px;font-weight:400;line-height:1.65;letter-spacing:-1.3px;margin:15px 0}.info-dialog>p{font-size:13px;line-height:1.9;color:#8b967f}.info-dialog ol{padding:15px 0 0;margin:20px 0 21px;border-top:1px solid #e5e8db;list-style:none}.info-dialog li{display:flex;gap:14px;padding:11px 0}.info-dialog li>span{font-family:monospace;font-size:10px;color:#a6b097;padding-top:3px}.info-dialog strong{font-size:13px;font-weight:500}.info-dialog li p{font-size:11px;line-height:1.7;color:#98a18c;margin:5px 0 0}.welcome-actions{display:flex;flex-direction:column;gap:9px}.privacy-note{font-size:10px!important;line-height:1.9!important;color:#9aa48c!important;background:#f0f2e7;padding:12px 13px;border-radius:9px;margin:13px 0 0}.error-icon{width:32px;height:32px;color:#94a17e;margin:7px 0 16px}.error-dialog h2{font-family:var(--serif);font-weight:400;font-size:23px;margin:0 0 15px}.error-dialog>p{font-size:13px;line-height:1.9;color:#8a967c;white-space:pre-line;margin-bottom:23px}.error-dialog>.primary-button,.pwa-dialog>.primary-button,.pwa-dialog>.outline-button{width:100%}.pwa-app-icon{display:block;border-radius:15px;width:61px;height:61px;margin:3px 0 25px}.pwa-dialog h2{font-size:26px}.offline-readiness{display:flex;align-items:flex-start;gap:10px;padding:17px 0;margin:12px 0 16px;border-top:1px solid #e2e6d8;border-bottom:1px solid #e2e6d8}.offline-readiness>.pwa-dot{width:7px;height:7px;margin-top:6px}.offline-readiness strong{font-size:13px;font-weight:500}.offline-readiness p{font-size:11px;line-height:1.8;margin:5px 0 0;color:#939e85}.pwa-dialog>.outline-button{margin-top:9px}.install-guide{margin-top:23px}.install-guide h3{font-size:12px;font-weight:500;color:#748663}.install-guide ol{padding-left:18px;margin:9px 0 0;font-size:11px;line-height:2;color:#939e85}.pwa-update{padding:14px 0 0;margin-top:17px;border-top:1px solid #e2e6d8}.pwa-update p{font-size:11px;line-height:1.8;color:#8c997e}.pwa-update .outline-button{width:100%;font-size:12px}.is-comparing .result-original-hint{background:#27371ee0}.is-counting .shutter-inner{background:#9bab87}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes shutter-flash{0%{opacity:.85}100%{opacity:0}}
@media(min-width:1300px){.app-shell{max-width:1360px;padding-left:100px;padding-right:100px;gap:130px}.story-copy h1{font-size:49px}}
@media(min-width:760px) and (max-height:950px){.app-shell{grid-template-columns:1fr 355px;padding-top:20px;padding-bottom:20px;gap:80px}.app-header{height:74px}.camera-app{max-width:355px}.viewfinder{max-height:410px}.film-thumb{aspect-ratio:1/1}.section-heading{margin-top:15px;margin-bottom:12px}.capture-controls{margin-top:16px;padding-top:14px}.desktop-story{top:20px;height:calc(100dvh - 40px);min-height:520px}}
@media(max-width:980px){.app-shell{padding-left:37px;padding-right:37px;gap:50px}.story-copy h1{font-size:35px}.story-copy>p{font-size:12px}.story-copy>.eyebrow{font-size:7px}.story-note{font-size:11px}.story-steps{gap:15px;font-size:9px}}
@media(max-width:759px){.desktop-story{display:none}.app-shell{display:block;padding:0 16px;min-height:100dvh}.camera-app{max-width:460px}.app-header{height:78px;padding-top:max(3px,env(safe-area-inset-top))}.mobile-wordmark{font-size:21px}.mobile-wordmark small{font-size:10px}.camera-workspace{border-radius:14px;padding:0 10px}.camera-toolbar{height:39px}.camera-status{height:34px}.camera-toolbar .icon-button{width:40px}.mode-name{font-size:10px}.section-heading{margin:16px 1px 13px}.section-heading h2{font-size:18px}.section-heading .eyebrow{font-size:9px}.film-strip{gap:9px}.film-thumb{aspect-ratio:1/1}.film-label{font-size:10px;letter-spacing:-.6px;margin-top:7px}.film-description{font-size:10px;margin-top:8px}.capture-controls{margin-top:16px;padding-top:13px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.shutter{width:65px;height:65px}.shutter-group{gap:6px}.secondary-capture-button{font-size:11px;gap:4px}.shutter-caption{margin-top:9px;font-size:10px}.camera-start{padding-bottom:37px;gap:9px}.start-caption{font-size:14px}.viewfinder-caption{font-size:8px}.sample-label{font-size:9px}.result-dialog{max-height:calc(100dvh - 20px)}}
@media(max-width:359px){.app-shell{padding:0 12px}.app-header{height:74px}.mobile-wordmark{font-size:19px}.mobile-wordmark small{font-size:9px}.header-actions{gap:0}.pwa-status-button{font-size:9px;padding:4px}.info-button{width:32px}.film-strip{gap:6px}.film-label{font-size:9px;letter-spacing:-.75px}.section-heading h2{font-size:17px}.section-heading .eyebrow{font-size:8px}.secondary-capture-button{min-width:70px;font-size:10px}.film-description{font-size:9px}.start-caption{font-size:12px}.viewfinder-caption{left:16px;right:16px}.sample-import-button{font-size:10px}.info-dialog,.pwa-dialog{padding:31px 23px 20px}.info-dialog h2{font-size:27px}.info-dialog li{padding:8px 0}}
@media(max-width:759px) and (max-height:719px){.app-header{height:67px}.section-heading{margin-top:12px;margin-bottom:10px}.camera-toolbar{height:36px}.camera-status{height:31px}.film-thumb{max-height:52px}.film-label{margin-top:5px}.film-description{margin-top:5px}.capture-controls{margin-top:12px;padding-top:10px}.shutter{width:58px;height:58px}.shutter-caption{margin-top:5px}.shutter-action{font-size:11px}.camera-start{gap:7px;padding-bottom:32px}.start-camera-button{min-height:40px;padding:10px 17px}.start-caption{font-size:12px}}
@media(orientation:landscape) and (max-width:759px){.camera-app{max-width:430px}.app-shell{padding-bottom:25px}.app-header{height:65px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.sample-import-button{min-height:44px}.toolbar-actions .icon-button{width:44px;min-height:44px;height:44px}.camera-toolbar{min-height:44px}.info-button{width:44px}

/* Keep fifteen films readable and browsable at every screen width. */
.film-categories{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;margin:-5px 0 1px}.film-categories::-webkit-scrollbar{display:none}.film-category{flex:0 0 auto;min-height:44px;padding:7px 13px;font-size:11px;color:#7a866e;border-radius:7px;white-space:nowrap}.film-category[aria-pressed=true]{color:#435b35;background:#e2e8d9;font-weight:600}.film-browse-hint{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#929a87;margin:7px 1px 10px;line-height:1.5}.film-strip{position:relative;scroll-snap-type:x proximity;scroll-padding:2px;padding:2px 1px 5px;overscroll-behavior-x:contain}.film-button{scroll-snap-align:start}.film-button:focus-visible{outline-offset:1px}.film-label{font-size:10px;letter-spacing:-.55px}.film-thumb{aspect-ratio:1/1}.film-index{color:#fff;opacity:.85;text-shadow:0 1px 3px #0008}
@media(max-width:359px){.film-button{flex-basis:70px}.film-category{padding-inline:11px}.film-browse-hint{margin-bottom:8px}.film-label{font-size:10px;letter-spacing:-.6px}}
/* A shelf of original cameras, each with its own body and story. */
:root{--camera-body:#9a7557;--camera-accent:#d29b57;--camera-trim:#d6cbb5}
.camera-workspace{background:#323c30;background:color-mix(in srgb,var(--camera-body) 43%,#17231e);transition:background .3s ease;box-shadow:0 9px 25px #303c2414,inset 0 1px 0 #ffffff15}.camera-toolbar{border-bottom:1px solid #ffffff0b}.shutter-inner{background:linear-gradient(135deg,var(--camera-trim),var(--camera-body));box-shadow:inset 0 1px 3px #ffffff65,0 2px 6px #20311430}.account-button{width:34px;height:44px;position:relative}.account-button svg{width:17px;height:17px}.account-button.is-signed-in:after{content:'';position:absolute;right:7px;top:9px;width:4px;height:4px;border-radius:50%;background:#749260}.header-actions{gap:0}.pwa-status-button{font-size:9px;padding-inline:3px}.info-button{width:31px}.section-heading{margin:15px 0 10px}.collection-open{font-size:11px;padding-right:0;gap:3px}.collection-open svg{width:13px;height:13px}.camera-strip{gap:8px;padding:3px 1px 4px;overflow-x:auto}.camera-choice{flex:0 0 calc((100% - 16px)/3);text-align:center;border-radius:8px;padding:0;color:#7d8773;scroll-snap-align:start}.camera-choice-art{height:64px;display:block;overflow:hidden;background:var(--camera-paper);border-radius:8px;transition:transform .2s,box-shadow .2s}.camera-choice-art svg{width:100%;height:100%;display:block;stroke:none}.camera-choice-name{font-size:10px;display:flex;justify-content:center;align-items:center;gap:4px;min-height:25px;white-space:nowrap;letter-spacing:-.4px}.camera-choice[aria-pressed=true]{color:#3f5135}.camera-choice[aria-pressed=true] .camera-choice-name:before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.camera-choice[aria-pressed=true] .camera-choice-art{transform:translateY(-2px);box-shadow:0 4px 9px #3e4d2515}.camera-current{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:7px;min-height:43px}.camera-current>div:first-child{display:flex;gap:4px 7px;align-items:baseline;flex-wrap:wrap;min-width:0;max-width:75%}.camera-current #active-camera-model{font-family:monospace;font-size:8px;letter-spacing:.4px;color:#8e9881;order:1}.camera-current strong{font-weight:500;font-size:12px;letter-spacing:-.4px;order:0}.camera-current #active-camera-lens{display:block;width:100%;font-size:10px;color:#89947b;order:2}.camera-current-actions{display:flex;align-items:center;gap:0}.camera-current-actions .icon-button{width:30px}.camera-current-actions .icon-button svg{width:14px;height:14px}.camera-current-actions .subtle-button{font-size:11px;padding:7px 0 7px 4px;gap:4px}.film-description{display:none}.shelf-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.collection-invite{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:7px 11px;margin-top:8px;background:#e9eade;border-radius:8px;color:#7f8b70;font-size:10px}.collection-invite>span{display:flex;align-items:center;gap:5px}.collection-invite svg{width:12px;height:12px}.collection-invite strong{font-size:10px;font-weight:500;color:#536847;white-space:nowrap}.collection-invite strong>span{margin-left:3px}.capture-controls{margin-top:13px;padding-top:12px}
.collection-dialog{width:min(640px,calc(100vw - 20px));padding:25px 22px 15px;max-height:calc(100dvh - 24px)}.collection-header{display:flex;justify-content:space-between;gap:4px}.collection-header .eyebrow{font-size:8px;letter-spacing:1px}.collection-header h2{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:-1px;line-height:1.6;margin:10px 0 4px}.collection-header p{font-size:12px;line-height:1.6;color:#8a947c;margin:6px 0 19px}.collection-header .icon-button{margin:-10px -12px 0 0}.collection-summary{display:flex;justify-content:space-between;align-items:center;gap:5px;border-top:1px solid var(--line);padding-top:8px;margin-bottom:8px;font-size:10px;color:#7c896c;min-height:44px}.collection-summary button{font-size:10px;color:#546d42;padding:8px 0;min-height:36px}.collection-dialog .film-categories{margin:0 -4px;gap:1px}.collection-dialog .film-category{padding-inline:12px}.collection-category-count{font-size:10px;color:#8b967e;margin:14px 0}.camera-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collection-card{position:relative;display:flex;flex-direction:column;text-align:left;min-width:0;padding:0 0 11px;background:#f0eee5;border-radius:11px;overflow:hidden;transition:transform .16s}.collection-card:hover{transform:translateY(-2px)}.collection-artwork{display:block;width:100%;height:123px;background:var(--camera-paper)}.collection-artwork svg{display:block;width:100%;height:100%;stroke:none}.camera-access{position:absolute;right:7px;top:7px;display:block;color:#5c6e4e;background:#fffcf3bd;border-radius:20px;padding:4px 6px;font-size:8px;letter-spacing:-.2px}.is-locked .camera-access{background:#384534b5;color:#fffdf4}.collection-card .camera-model{margin:11px 10px 5px;font-family:monospace;font-size:8px;color:#969d8b;letter-spacing:.35px}.collection-card strong{font-family:var(--serif);font-size:17px;font-weight:400;letter-spacing:-.6px;margin:0 10px;line-height:1.5}.camera-mood{font-size:9px;color:#8c967e;margin:7px 10px 0;line-height:1.7;letter-spacing:-.35px}.collection-footnote{text-align:center;font-size:10px;color:#939d86;line-height:1.9;margin:20px 4px 6px}.camera-detail-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}.camera-detail-art{height:180px;display:flex;justify-content:center;align-items:center}.camera-detail-art svg{height:170px;width:240px;stroke:none}.camera-detail-copy{padding:23px 25px 13px}.camera-detail-copy>.camera-model{font-family:monospace;font-size:10px;letter-spacing:1.3px;color:#879379}.camera-detail-copy h2{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:-1px;margin:10px 0 14px}.camera-detail-copy>p{font-size:12px;color:#859078;line-height:1.85}.camera-specs{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#949d88;margin:16px 0 20px;padding-top:14px;border-top:1px solid var(--line)}.camera-sample{display:flex;align-items:center;gap:18px;background:#eeece2;padding:12px;border-radius:8px}.camera-sample canvas{width:84px;height:112px;object-fit:cover;border:5px solid #faf8f0;box-shadow:0 2px 6px #41483014;flex:0 0 auto;transform:rotate(-3deg)}.camera-sample .eyebrow{font-size:8px;letter-spacing:0;color:#909a82}.camera-sample p{font-family:var(--serif);font-size:17px;line-height:1.8;margin:8px 0;color:#6d7f5d}.camera-sample small{font-size:8px;color:#939d86;line-height:1.7;display:block}.camera-detail-copy .primary-button{width:100%}.camera-detail-copy .camera-detail-access{text-align:center;font-size:10px;margin:19px 0 10px;color:#81906f}.account-dialog{padding:39px 27px 18px}.account-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e5eadc;color:#7a9067;margin-bottom:23px}.account-symbol svg{width:25px;height:25px}.account-dialog>.eyebrow{font-size:8px;letter-spacing:1px;color:#8a987b}.account-dialog h2{font-family:var(--serif);font-size:27px;line-height:1.7;font-weight:400;letter-spacing:-1px;margin:16px 0}.account-dialog>p{font-size:12px;line-height:1.9;color:#89957b}.account-dialog>.outline-button{width:100%;margin-top:12px}.google-signin-slot{display:flex;justify-content:center;min-height:0;margin:20px 0 0}.google-signin-slot:empty{display:none}.account-dialog .account-email{font-size:11px;color:#738666;padding:8px 0}.account-privacy{text-align:center;font-size:9px!important;color:#9ba58f!important;line-height:1.9!important}.account-dialog .privacy-note{margin-top:20px}.account-dialog .text-link{margin-top:14px}
@media(min-width:760px){.camera-choice-art{height:74px}.camera-current{margin-top:9px}.collection-header h2{font-size:29px}.collection-artwork{height:160px}.collection-card strong{font-size:20px}.collection-card .camera-model{font-size:9px}.camera-mood{font-size:10px}.collection-dialog{padding:29px}.camera-choice-name{font-size:11px}}
@media(max-width:359px){.mobile-wordmark{font-size:18px;gap:4px}.mobile-wordmark svg{width:17px;height:17px}.pwa-status-button{font-size:8px;padding-inline:2px;gap:3px}.account-button{width:30px}.info-button{width:28px}.camera-choice-art{height:58px}.camera-choice-name{font-size:9px;letter-spacing:-.6px}.camera-current strong{font-size:11px}.camera-current #active-camera-model{font-size:7px}.camera-current #active-camera-lens{font-size:9px}.collection-invite{font-size:9px;padding-inline:8px;min-height:40px;margin-top:6px}.collection-invite strong{font-size:9px}.camera-current{margin-top:3px}.collection-dialog{padding:24px 15px 12px}.collection-header h2{font-size:23px}.collection-artwork{height:105px}.collection-card strong{font-size:15px}.collection-dialog .film-category{padding-inline:10px}.camera-detail-art{height:145px}.camera-detail-art svg{height:142px}.camera-detail-copy{padding:20px}.camera-detail-copy h2{font-size:25px}.camera-sample{gap:12px}.collection-card .camera-model{font-size:7px}.camera-mood{font-size:8px}.section-heading h2{font-size:18px}.camera-current-actions .subtle-button{font-size:10px}}

.account-dialog h2{white-space:pre-line;text-wrap:balance}
@media(max-width:759px) and (max-height:720px){.app-header{height:62px}.camera-choice-art{height:50px}.section-heading{margin:10px 0 6px}.camera-current{min-height:36px;margin-top:3px}.shutter{width:58px;height:58px}.shutter-caption{display:none}.capture-controls{margin-top:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.camera-choice-name{min-height:23px}}
/* Discover a camera through the moment, then compare its actual rendering. */
.discovery-entry{width:100%;display:flex;align-items:center;gap:10px;text-align:left;min-height:58px;margin:13px 0 0;padding:10px 13px;background:#eae7da;border-radius:10px;color:#5c6b4c}.discovery-entry-icon{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#f9f6eb;color:#8d9b74;flex:0 0 auto}.discovery-entry-icon svg{width:19px;height:19px}.discovery-entry>span:nth-child(2){display:flex;flex-direction:column;gap:5px}.discovery-entry small{font-size:9px;color:#8a937c}.discovery-entry strong{font-family:var(--serif);font-size:15px;font-weight:400;letter-spacing:-.4px}.discovery-entry-arrow{margin-left:auto;font-size:19px;color:#8c9979}.collection-discovery{width:100%;display:flex;align-items:center;gap:7px;padding:9px 11px;min-height:44px;background:#e9eadd;border-radius:8px;color:#637953;font-size:11px;margin:2px 0 13px}.collection-discovery svg{width:15px;height:15px}.collection-discovery>span{margin-left:auto}.camera-detail-compare{font-size:10px;color:#677e56;margin:8px auto 0;line-height:1.6;min-height:44px}.discovery-dialog{width:min(600px,calc(100vw - 20px));padding:27px 24px 23px;max-height:calc(100dvh - 24px);scrollbar-width:none;scrollbar-color:#c9ccbb transparent}.discovery-header{display:flex;gap:5px;align-items:flex-start;justify-content:space-between}.discovery-header .eyebrow{font-size:8px;letter-spacing:1.3px;color:#8c997f}.discovery-header h2{font-family:var(--serif);font-weight:400;font-size:27px;letter-spacing:-1.2px;line-height:1.6;margin:12px 0 5px}.discovery-header p{font-size:11px;line-height:1.8;color:#8e9882;margin:7px 0 19px;letter-spacing:-.3px}.discovery-header .icon-button{width:34px;margin:-13px -12px 0 0}.situation-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.situation-option{display:flex;gap:7px;align-items:center;justify-content:center;min-height:44px;border-radius:8px;background:#edede2;color:#89947a;font-size:11px;padding:10px 5px}.situation-option svg{width:16px;height:16px;display:block}.situation-option[aria-pressed=true]{background:#dce6cf;color:#4e673d;font-weight:600}.recommend-situation{padding:19px 0 11px}.recommend-situation>strong{font-weight:500;font-size:13px;color:#596b4b;letter-spacing:-.4px}.recommend-situation p{font-size:10px;color:#939b87;line-height:1.7;margin:6px 0 0;letter-spacing:-.3px}.recommendation-cameras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:2px 1px 14px;border-bottom:1px solid var(--line)}.recommendation-camera{display:flex;flex-direction:column;align-items:center;min-width:0;padding:0 0 2px;color:#7d8970}.recommendation-art{display:block;width:100%;height:72px;overflow:hidden;background:var(--camera-paper);border-radius:7px;opacity:.78;transition:opacity .16s,transform .16s}.recommendation-art svg{width:100%;height:100%;display:block;stroke:none}.recommendation-camera strong{font-size:10px;letter-spacing:-.4px;font-weight:400;margin-top:9px;line-height:1.7;text-align:center;min-height:17px}.recommendation-camera small{font-size:8px;color:#9aa38d;margin-top:3px;line-height:1.7}.recommendation-camera[aria-pressed=true] .recommendation-art{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px #3b4c2412}.recommendation-camera[aria-pressed=true] strong{font-weight:600;color:#4c663c}.recommendation-camera[aria-pressed=true] strong:before{content:'•';font-weight:400;margin-right:3px}.recommend-selected{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:18px 0 13px}.recommend-selected>div:first-child{min-width:0}.recommend-selected #recommend-camera-model{font-family:monospace;font-size:8px;letter-spacing:.6px;color:#9aa28e}.recommend-selected h3{font-family:var(--serif);font-size:21px;font-weight:400;letter-spacing:-.6px;margin:6px 0 0}.discovery-source-toggle{display:flex;align-items:center;gap:1px;padding:3px;background:#eeeee4;border-radius:20px;flex:0 0 auto}.discovery-source-toggle button{font-size:9px;min-height:38px;padding:8px 10px;white-space:nowrap;border-radius:17px;color:#959d87}.discovery-source-toggle button[aria-pressed=true]{background:#fffcf4;color:#647d51;box-shadow:0 1px 4px #3b4b2510}.discovery-source-toggle button:disabled{opacity:.45;cursor:not-allowed}.comparison-frame{width:100%;min-width:0}.comparison-stage{position:relative;isolation:isolate;aspect-ratio:4/3;width:100%;max-width:100%;margin-inline:auto;border-radius:9px;overflow:hidden;background:#dddcd0;--split:50%}.comparison-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill}.comparison-filtered{clip-path:inset(0 0 0 var(--split))}.comparison-divider{position:absolute;top:0;bottom:0;left:var(--split);width:1px;background:#fff8;box-shadow:0 0 6px #16201835;pointer-events:none}.comparison-divider i{font-size:13px;font-family:var(--sans);font-style:normal;position:absolute;top:50%;left:0;transform:translate(-50%,-50%);display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:#68765b;background:#fffcf2e8;box-shadow:0 1px 9px #22331920}.comparison-image-labels{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.comparison-image-labels span{font-size:8px;background:#26321f75;color:#fffaf0;border-radius:18px;backdrop-filter:blur(4px);padding:5px 8px}.discovery-loading,.discovery-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:9px;background:#ebe9dd;color:#7e8b6d;font-size:11px;padding:20px;text-align:center;line-height:1.9}.discovery-loading .spinner{border-color:#9aa8884d;border-top-color:#71845d}.discovery-error{flex-direction:column;font-size:11px}.discovery-error p{margin:0}.discovery-error .outline-button{flex:0 0 auto;font-size:11px;min-height:44px;background:#fffcf2}.comparison-controls{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap;margin:11px 0 0}.comparison-controls label{font-size:9px;color:#8c987e;line-height:1.6}.comparison-controls output{font-size:8px;color:#91a080;line-height:1.6}.comparison-controls input{flex:0 0 100%;margin:0;height:32px}.comparison-label{font-size:8px;color:#a0a88f;text-align:center;line-height:1.7;margin:0 0 17px}.recommend-mood{display:flex;gap:5px;flex-wrap:wrap}.recommend-mood span{padding:5px 9px;background:#e9eddf;border-radius:18px;font-size:10px;color:#798e65;line-height:1.5}.recommend-reason{font-size:12px;line-height:1.9;color:#78896a;letter-spacing:-.3px;margin:12px 0 16px}.recommend-tip{background:#f0eee3;border-radius:9px;padding:13px 14px}.recommend-tip>span{font-size:10px;font-weight:500;color:#879574}.recommend-tip p{font-size:11px;line-height:1.85;color:#8c987e;margin:7px 0 0;letter-spacing:-.3px}.comparison-note{font-size:9px;line-height:1.85;color:#a0a98f;margin:14px 1px}.recommend-access{font-size:9px;text-align:center;color:#8e9d7b;line-height:1.8;margin:15px 0 10px}.recommend-photo-section>.primary-button{width:100%;font-size:12px}
@media(min-width:760px){.discovery-dialog{padding:32px}.discovery-header h2{font-size:30px}.recommendation-art{height:100px}.recommendation-camera strong{font-size:12px}.recommendation-camera small{font-size:9px}.comparison-stage{max-width:440px}.recommend-situation>strong{font-size:14px}.recommend-situation p{font-size:11px}.recommend-selected h3{font-size:24px}}
@media(max-width:359px){.discovery-entry{min-height:49px;margin-top:9px;padding:8px 11px;gap:8px}.discovery-entry strong{font-size:13px}.discovery-entry small{font-size:8px}.discovery-entry-icon{width:28px;height:28px}.discovery-dialog{padding:24px 16px 18px}.discovery-header h2{font-size:23px}.discovery-header p{font-size:10px}.situation-option{font-size:10px;gap:5px}.recommendation-art{height:59px}.recommendation-camera strong{font-size:9px;letter-spacing:-.6px}.recommendation-camera small{font-size:7px}.recommend-situation>strong{font-size:12px}.recommend-selected h3{font-size:18px}.discovery-source-toggle button{padding-inline:8px;font-size:8px}.comparison-controls label{font-size:8px}.comparison-controls output{font-size:7px}.recommend-reason{font-size:11px}.recommend-mood span{font-size:9px}.collection-discovery{font-size:10px}}
@media(max-width:759px) and (max-height:720px){.discovery-entry{min-height:45px;padding-block:7px;margin-top:8px}.discovery-entry>span:nth-child(2){gap:3px}.discovery-entry strong{font-size:13px}.discovery-entry small{font-size:8px}.discovery-entry-icon{height:27px;width:27px}}

/* Native scrolling without a visible track around the camera sheets. */
html,body,dialog,.film-strip,.film-categories,.recommendation-cameras{scrollbar-width:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,dialog::-webkit-scrollbar,.film-strip::-webkit-scrollbar,.film-categories::-webkit-scrollbar,.recommendation-cameras::-webkit-scrollbar{display:none;width:0;height:0}
html:has(dialog[open]){overflow:hidden}
dialog[class]{overflow:auto;max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);border-radius:24px;scroll-padding-block:24px;box-shadow:0 24px 80px #14200c26}
dialog h2{word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}
dialog p{word-break:keep-all;overflow-wrap:break-word}
@media(forced-colors:active){
  html,body,dialog,.film-strip,.film-categories,.recommendation-cameras{scrollbar-width:auto!important}
  html::-webkit-scrollbar,body::-webkit-scrollbar,dialog::-webkit-scrollbar,.film-strip::-webkit-scrollbar,.film-categories::-webkit-scrollbar,.recommendation-cameras::-webkit-scrollbar{display:revert;width:revert;height:revert}
}
