.shots-left{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;background:#0000008c;color:var(--fg-2);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:700;line-height:1.2;white-space:nowrap}button.shots-left{min-height:32px;padding:4px 10px}.shots-left.low{color:var(--accent-2)}.shots-left.empty{color:var(--accent)}.my-label{margin:0 0 6px;font-size:.8125rem;font-weight:600;color:var(--fg-2)}.my-count{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin:0 0 12px}.my-count-num{color:var(--accent);font-size:2.25rem;font-weight:800;line-height:1;letter-spacing:.02em}.my-count-num small{color:var(--fg-3);font-size:1rem;font-weight:700;margin-inline-start:2px}.my-count-word{font-weight:700}.my-marks{display:inline-flex;gap:4px;direction:ltr}.my-marks i{width:7px;height:12px;border-radius:2px;background:var(--line);transition:background-color .3s ease}.my-marks i.on{background:var(--accent)}.my-earned{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.my-earned>span{display:flex;flex-direction:column;gap:2px;min-width:0}.my-earned strong{flex:none;font-size:1.0625rem;font-variant-numeric:tabular-nums}.my-reset,.my-note{margin:10px 0 0}.my-ad-card .btn.wide{margin-top:0}.my-ad-note{margin:8px 0 0;text-align:center}.my-pro-head{display:flex;align-items:center;gap:8px;margin-bottom:2px}.my-pro-head h2{margin:0;font-size:1.125rem}.my-pro-head .badge{margin:0}.my-pro-lead,.my-pro-on{margin:0 0 12px}.my-pro-on{font-weight:700}.my-pro-on+.small{margin:-8px 0 4px}.my-plans{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}.my-plan{position:relative;display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.my-plan input{position:absolute;opacity:0;pointer-events:none}.my-plan:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.my-plan.on{border-color:var(--accent);background:#ff8a2b14}.my-plan:before{content:"";flex:none;width:18px;height:18px;border-radius:50%;border:2px solid var(--fg-3);box-sizing:border-box}.my-plan.on:before{border:5px solid var(--accent)}.my-plan-txt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.my-plan-name{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:700}.my-plan-best{padding:1px 7px;border-radius:6px;background:#ff8a2b29;color:var(--accent-2);font-size:.6875rem;font-weight:700}.my-plan-price{flex:none;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.my-price-note{margin:10px 0 0}.my-plans:disabled .my-plan{opacity:.6;cursor:default}.my-pro-pending{margin:12px 0 0;color:var(--accent-2)}.my-pro-nostore{margin:12px 0 0}.my-restore{display:block;min-height:44px;margin:8px auto 0}.my-legal{margin:8px 0 0;line-height:1.5}.my-legal a{color:var(--fg);text-underline-offset:3px}.my-app h2{margin-bottom:6px}.my-app-body{margin:0}.my-app.compact{margin-top:4px}.my-settings-h{margin:22px 4px 8px;font-size:.8125rem;font-weight:600;color:var(--fg-2)}.pw-lead{margin:0 0 8px}.pw-reset{margin:8px 0 0}:root{--bg: #0e0d0c;--bg-2: #171513;--bg-3: #221f1c;--line: #2f2b27;--fg: #f3efe8;--fg-2: #b8b0a5;--fg-3: #958d82;--accent: #ff8a2b;--accent-2: #ffb36b;--danger: #ff5a4e;--ok: #6fd08c;--radius: 14px;--tab-h: 64px;--safe-b: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--safe-t: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:1rem;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:manipulation}#app{min-height:100%}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:none}body{word-break:keep-all;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--fg-2)}.app-credit{margin:20px 0 4px;text-align:center}.small{font-size:.8125rem}.center{text-align:center}.warn{color:var(--accent-2);margin:4px 0 8px}.logo{font-family:var(--mono);font-weight:800;letter-spacing:.32em;color:var(--accent)}.splash{position:fixed;inset:0;display:grid;place-items:center;font-size:1.75rem}.app{min-height:100dvh;padding-bottom:calc(var(--tab-h) + var(--safe-b))}.screen{max-width:720px;margin:0 auto}.route-camera .screen{max-width:none}.page{padding:0 16px 32px}.hdr{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:calc(10px + var(--safe-t)) 0 10px;background:linear-gradient(var(--bg) 70%,transparent)}.hdr-title{min-width:0}.hdr h1{margin:0;font-size:1.25rem;font-weight:750;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hdr p{margin:0;color:var(--fg-2);font-size:.8125rem}.hdr-right{display:flex;gap:4px;align-items:center}.hdr-spacer{display:none}.hdr-spacer+.hdr-title{padding-inline-start:4px}.tnum{font-variant-numeric:tabular-nums}.icon-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--fg)}.icon-btn:active{background:var(--bg-3)}.icon-btn.big{width:56px;height:56px;background:#ffffff14}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;font-weight:650;background:var(--bg-3);transition:transform .08s ease}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--accent);color:#1a0f05}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.danger{background:#ff5a4e24;color:var(--danger)}.btn.small{min-height:44px;padding:0 14px;font-size:.875rem}.btn.wide{width:100%;margin-top:12px}.btn-row{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}.btn-row .btn{flex:1;white-space:nowrap}.badge{display:inline-block;margin-inline-start:6px;padding:1px 6px;border-radius:6px;font-size:.6875rem;font-weight:800;letter-spacing:.06em;background:#ff8a2b29;color:var(--accent);vertical-align:middle}.badge.new{background:var(--accent);color:#1a0f05}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:calc(64px + var(--safe-b));padding-bottom:var(--safe-b);background:#0e0d0ceb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:8px 1px;color:var(--fg-3);font-size:min(.6875rem,12px);font-weight:600;line-height:1.15;letter-spacing:-.01em;text-align:center;word-break:keep-all;overflow-wrap:normal;hyphens:none}.tabbar button.on{color:var(--accent)}.tabbar .dot{position:absolute;top:10px;inset-inline-start:calc(50% + 8px);width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg)}.camera{display:flex;flex-direction:column;height:calc(100dvh - var(--tab-h) - var(--safe-b));background:#000;overflow:hidden}.camera.unloaded{overflow-y:auto}.cam-top{position:relative;z-index:6;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:calc(8px + var(--safe-t)) 12px 8px}.cam-top::-webkit-scrollbar{display:none}.cam-top .chip{flex:0 0 auto}.chip{position:relative;min-width:44px;height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:999px;background:#ffffff14;color:var(--fg-2)}.chip:after{content:"";position:absolute;inset:-2px}.link-btn{color:var(--accent);text-decoration:underline;font-size:inherit;min-height:32px}.speed-def{color:var(--accent);font-weight:600}.speed>strong{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}.speed .speed-def{padding:1px 7px;border-radius:999px;background:#ff8a2b24;font-size:.75rem;white-space:nowrap}.chip.on{color:var(--accent);background:#ff8a2b29}.chip-txt{font-size:.75rem;font-weight:700}.cam-top .chip-txt{font-size:min(.75rem,12px)}.cam-top .more-dots{font-size:min(1.25rem,20px)}.cam-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;margin:0 12px}.viewfinder{position:relative;border-radius:6px;overflow:hidden;background:#050505;box-shadow:0 0 0 1px #ffffff0f}.preview{display:block;width:100%;height:100%}.fallback-video{width:100%;height:100%;object-fit:cover;filter:sepia(.25) contrast(1.1) saturate(1.1)}.grid-overlay{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,transparent calc(33.33% - .5px),rgba(255,255,255,.25) calc(33.33% - .5px),rgba(255,255,255,.25) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.66% - .5px),rgba(255,255,255,.25) calc(66.66% - .5px),rgba(255,255,255,.25) calc(66.66% + .5px),transparent calc(66.66% + .5px)),linear-gradient(to bottom,transparent calc(33.33% - .5px),rgba(255,255,255,.25) calc(33.33% - .5px),rgba(255,255,255,.25) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.66% - .5px),rgba(255,255,255,.25) calc(66.66% - .5px),rgba(255,255,255,.25) calc(66.66% + .5px),transparent calc(66.66% + .5px))}.vf-msg{position:absolute;inset:0;display:grid;place-items:center;color:var(--fg-2);font-size:.875rem}.vf-date{position:absolute;right:10px;bottom:10px;font-size:10px;color:var(--accent);opacity:.8;letter-spacing:.1em}.counter{position:absolute;left:10px;bottom:10px;padding:4px 8px;border-radius:6px;background:#0000008c;color:var(--accent);font-size:1.125rem;font-weight:800}.counter small{color:var(--fg-3);font-size:.75rem}.viewfinder .vf-shots{position:absolute;z-index:1;right:10px;bottom:10px}.vfs-lcd .vf-shots,.vfs-pixel .vf-shots{right:auto;left:10px}.vfs-pixel .vf-shots{left:14px;bottom:14px}.viewfinder:has(.vf-shots) .vf-date{bottom:48px}.viewfinder{container:vf / inline-size}@container vf (max-width: 14.5rem){.viewfinder .vf-shots{bottom:calc(24px + 1.65rem)}.vfs-pixel .vf-shots{bottom:calc(28px + 1.65rem)}.viewfinder:has(.vf-shots) .vf-date{bottom:calc(64px + 1.65rem)}}.countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:96px;font-weight:800;font-family:var(--mono);color:#ffffffeb;text-shadow:0 4px 30px rgba(0,0,0,.6)}.blink{position:absolute;inset:0;background:#000;animation:blink .22s ease-out}@keyframes blink{0%{opacity:1}to{opacity:0}}.screen-flash{position:fixed;inset:0;z-index:100;background:#fff}.cam-error{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:24px;text-align:center;background:#000000d9}.cam-error h2{margin:0 0 8px}.cam-error p{color:var(--fg-2)}.cam-error small{color:var(--fg-3);margin-top:12px}.cam-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:10px;align-items:center;padding:14px 16px 16px}.cam-bottom>:last-child{justify-self:end}.roll-btn{justify-self:start;display:flex;align-items:center;gap:6px;max-width:100%;min-height:48px;padding:6px 12px 6px 6px;border-radius:24px;background:#ffffff0f;font-size:.75rem;color:var(--fg-2);text-align:start;word-break:keep-all}.roll-btn>svg,.roll-btn>:first-child{flex:none}.roll-btn-txt{display:flex;flex-direction:column;min-width:0;line-height:1.2}.roll-btn-txt b{color:var(--accent);font-size:.8125rem;font-weight:750}.roll-btn.has-shots{background:#ff8a2b24;box-shadow:inset 0 0 0 1px #ff8a2b59}.shutter{width:76px;height:76px;border-radius:50%;border:4px solid var(--fg);display:grid;place-items:center}.shutter span{width:58px;height:58px;border-radius:50%;background:var(--fg);transition:transform .1s ease}.shutter:active:not(:disabled) span,.shutter.busy span{transform:scale(.86);background:var(--accent)}.load-panel{padding:12px 0 14px;background:linear-gradient(transparent,#000000e6 20%)}.load-head{display:flex;flex-direction:column;padding:0 16px 8px;gap:2px}.load-head .muted{font-size:.8125rem;min-height:2.6em}.load-row{display:flex;gap:10px;padding:10px 16px 0;align-items:center}.load-row .seg{flex:1}.stock-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 16px;scroll-snap-type:x proximity;scrollbar-width:none}.sheet .stock-strip,.dr-controls .stock-strip{margin:0 -16px}.stock-strip::-webkit-scrollbar{display:none}.stock-card{flex:0 0 auto;scroll-snap-align:start;width:84px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;border-radius:12px;background:var(--bg-2);border:1px solid transparent;position:relative}.stock-card.on{border-color:var(--accent);background:#ff8a2b14}.stock-card .badge{position:absolute;top:4px;inset-inline-end:4px;margin:0}.stock-name{font-size:.6875rem;font-weight:650;text-align:center;line-height:1.2}.seg{display:flex;padding:3px;border-radius:999px;background:var(--bg-3)}.seg button{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;min-height:44px;padding:0 6px;border-radius:999px;font-size:.8125rem;font-weight:650;color:var(--fg-2);white-space:nowrap}.seg.grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;border-radius:16px}.seg.grid button{border-radius:13px}.border-seg .seg.grid{grid-template-columns:repeat(4,1fr)}.seg button.on{background:var(--fg);color:var(--bg)}.seg.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,8.5rem),1fr));gap:3px;border-radius:16px}.seg.list button{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px;padding:8px 12px;border-radius:13px;text-align:start;white-space:normal;overflow:visible;font-size:.875rem;line-height:1.3}.seg.list .seg-label{min-width:0;overflow-wrap:anywhere}.seg.list button svg{flex:none}.card{background:var(--bg-2);border-radius:var(--radius);padding:14px 16px;margin:0 0 14px}.card h2{font-size:1rem;margin:0 0 10px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.card-head h2{margin:0}.card-head{flex-wrap:wrap}.card-head .btn{min-width:fit-content;max-width:100%}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:100%;border-bottom:1px solid var(--line);text-align:start}.card .row:last-child{border-bottom:0}.row.link{color:var(--fg)}.field{display:flex;flex-direction:column;gap:6px;padding:8px 0}.field>span{font-size:.8125rem;color:var(--fg-2)}.field input,.field select{min-height:46px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);width:100%}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form{display:flex;flex-direction:column;gap:4px}.toggle{position:relative;cursor:pointer}.toggle input{position:absolute;opacity:0;pointer-events:none}.switch{flex:0 0 auto;width:46px;height:28px;border-radius:999px;background:var(--bg-3);position:relative;transition:background .15s}.switch:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:22px;height:22px;border-radius:50%;background:var(--fg-2);transition:transform .15s,background .15s}.toggle input:checked+.switch{background:#ff8a2b59}.toggle input:checked+.switch:after{transform:translate(18px);background:var(--accent)}.toggle input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:2px}.slider{display:block;padding:10px 0}.slider-head{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:6px}.slider output{font-family:var(--mono);color:var(--accent)}.slider small{color:var(--fg-3)}input[type=range]{-webkit-appearance:none;appearance:none;display:block;margin:0;width:100%;height:28px;background:transparent}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to var(--range-fill, right),var(--accent) var(--p, 50%),var(--bg-3) var(--p, 50%))}input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:linear-gradient(to var(--range-fill, right),var(--accent) var(--p, 50%),var(--bg-3) var(--p, 50%))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-9px;border-radius:50%;background:var(--fg);box-shadow:0 1px 6px #00000080}input[type=range]::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:var(--fg)}.pills{display:flex;flex-wrap:wrap;gap:6px}.pills button{min-width:48px;min-height:44px;padding:0 10px;border-radius:10px;background:var(--bg-3);font-family:var(--mono);font-size:.875rem}.pills button.on{background:var(--accent);color:#1a0f05;font-weight:700}.sheet-backdrop{position:fixed;inset:0;z-index:50;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}.sheet{width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;background:var(--bg-2);border-radius:20px 20px 0 0;padding:8px 16px calc(20px + var(--safe-b));animation:up .2s cubic-bezier(.2,.8,.2,1)}.sheet-grip{width:40px;height:4px;border-radius:4px;background:var(--line);margin:4px auto 12px}.sheet-title{margin:0 0 8px;font-size:1.125rem}.sheet-head{display:flex;align-items:flex-start;gap:8px;margin:-4px -4px 0 0}.sheet-head .sheet-title{flex:1;min-width:0;margin-top:10px}.sheet-head.untitled{justify-content:flex-end;margin-bottom:-8px}.sheet-close{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;margin-inline-start:auto;border-radius:50%;color:var(--fg-2)}.sheet-close:active{background:var(--bg-3)}@media (hover: hover){.sheet-close:hover{color:var(--fg);background:var(--bg-3)}}@keyframes up{0%{transform:translateY(16px);opacity:0}}@keyframes fade{0%{opacity:0}}.confirm-text{font-size:1rem;margin:8px 0 0}.big-num{font-size:2.125rem;font-weight:800;color:var(--accent);margin:8px 0}.speed-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.speed{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border-radius:14px;background:var(--bg-3);text-align:start;border:1px solid transparent}.speed.def{border-color:#ff8a2b80}.speed span{font-size:.75rem;color:var(--fg-2)}.speed span.speed-at{font-size:.8125rem;font-weight:600;color:var(--accent)}.speed-why{margin:0 0 4px}.lab-intro{margin:0 0 12px}.app{--toast-lift: 0px}.route-photo{--toast-lift: 88px}.route-darkroom{--toast-lift: 124px}.app:has(.sel-bar),.app:has(.log-actions){--toast-lift: 72px}.app:has(.fab){--toast-lift: 84px}.toasts{position:fixed;left:0;right:0;bottom:calc(var(--tab-h) + var(--safe-b) + var(--toast-lift) + 12px);z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;padding:0 16px}.app:has(.sheet-backdrop) .toasts{top:calc(12px + var(--safe-t));bottom:auto}.toast{pointer-events:auto;display:flex;align-items:center;gap:4px;max-width:min(520px,100%);min-height:52px;padding:4px 4px 4px 16px;border-radius:12px;background:#2a2622;box-shadow:0 8px 30px #00000080;font-size:.875rem;animation:up .2s ease}.toast button{flex:none;color:var(--accent);font-weight:700;white-space:nowrap;min-height:44px;margin:0;padding:0 10px;border-radius:8px}.update-bar{position:fixed;top:calc(8px + var(--safe-t));left:16px;right:16px;margin-inline:auto;width:max-content;max-width:calc(100% - 32px);z-index:70;display:flex;gap:12px;align-items:center;padding:10px 16px;border-radius:999px;background:var(--accent);color:#1a0f05;font-weight:650;font-size:.875rem}.route-camera .update-bar{top:calc(124px + var(--safe-t))}.update-bar button{text-decoration:underline;font-weight:800}.lab-list,.roll-grid,.photo-grid,.list{list-style:none;margin:0;padding:0}.lab-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px;margin-bottom:10px;border-radius:var(--radius);background:var(--bg-2)}.lab-body{display:flex;flex-direction:column;gap:4px;min-width:0}.tank{position:relative;padding:6px;border-radius:12px;background:#2b1712;box-shadow:inset 0 0 20px #ff3c1e59}.bubbles i{position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:#ffb48c99;animation:bubble 2.4s infinite ease-in}.bubbles i:nth-child(1){left:12px}.bubbles i:nth-child(2){left:24px;animation-delay:.8s}.bubbles i:nth-child(3){left:36px;animation-delay:1.6s}@keyframes bubble{to{transform:translateY(-46px);opacity:0}}.progress{height:4px;border-radius:4px;background:var(--bg-3);overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);transition:width 1s linear}.banner{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;margin-bottom:14px;border-radius:12px;background:#ff8a2b1f;color:var(--accent);font-weight:650;font-size:.875rem}.banner svg:last-child{margin-inline-start:auto}.roll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.roll-card .thumb{aspect-ratio:4 / 5;border-radius:12px}.roll-meta{display:flex;flex-direction:column;align-items:flex-start;text-align:start;padding:6px 2px 0;width:100%}.thumb{display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:6px;background:var(--bg-3)}.thumb img{width:100%;height:100%;object-fit:cover;display:block;animation:fade .3s ease}.thumb-wait{display:block;width:100%;height:100%;background:linear-gradient(100deg,var(--bg-3) 30%,#2c2824 50%,var(--bg-3) 70%);background-size:300% 100%;animation:shimmer 1.4s infinite linear}.thumb-wait.err{animation:none;background:#2a1a18}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}.photo-grid li{position:relative}.frame-no{position:absolute;inset-inline-start:4px;bottom:4px;padding:0 4px;font-size:10px;border-radius:4px;background:#0000008c;color:var(--accent);pointer-events:none}.photo-grid li.quad .thumb img{object-fit:contain}.photo-grid li{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sel-toggle{position:absolute;inset:0;border-radius:6px;display:flex;align-items:flex-start;justify-content:flex-end;padding:6px}.sel-toggle[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--accent);background:#ff8a2b24}.sel-toggle:focus-visible{outline:3px solid var(--fg);outline-offset:2px}.sel-mark{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;border:2px solid #fff;background:#00000073;color:#1a0f05}.sel-toggle[aria-pressed=true] .sel-mark{background:var(--accent);border-color:var(--accent)}.page.selecting{padding-bottom:96px}.page.selecting .hdr{grid-template-columns:1fr auto}.sel-bar{position:fixed;left:0;right:0;bottom:calc(var(--tab-h) + var(--safe-b));z-index:15;display:flex;gap:10px;max-width:720px;margin:0 auto;padding:10px 16px;background:#0e0d0cf0;border-top:1px solid var(--line)}.sel-bar{flex-wrap:wrap}.sel-bar .btn{flex:1;min-width:fit-content;max-width:100%;padding:0 10px;font-size:min(1rem,18px);white-space:nowrap}@media (forced-colors: active){.sel-toggle[aria-pressed=true]{outline:3px solid Highlight;outline-offset:-3px}.sel-toggle[aria-pressed=true] .sel-mark{background:Highlight}}.working{position:fixed;left:50%;bottom:calc(var(--tab-h) + 70px);transform:translate(-50%);padding:8px 14px;border-radius:999px;background:var(--bg-3);color:var(--accent);font-size:.8125rem}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 24px;gap:6px}.empty-art{display:flex;gap:4px;margin-bottom:16px;padding:10px 6px;background:#15110e;border-radius:4px;box-shadow:inset 0 6px 0 -3px var(--bg-3),inset 0 -6px 0 -3px var(--bg-3)}.empty-art span{width:34px;height:46px;border-radius:2px;background:linear-gradient(135deg,#3a2d22,#21190f)}.empty-title{margin:0;font-weight:700}.empty-hint{margin:0 0 12px;color:var(--fg-2);font-size:.875rem}.viewer{display:flex;flex-direction:column;height:calc(100dvh - var(--tab-h) - var(--safe-b));padding:0 16px}.viewer-stage{position:relative;flex:1;min-height:0;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;touch-action:pan-y}.print{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 12px 40px #0009;animation:develop 1.2s ease-out}@keyframes develop{0%{filter:brightness(.2) sepia(1) hue-rotate(-30deg) saturate(2);opacity:.4}60%{filter:brightness(.8) sepia(.4)}}.developing-tray{padding:40px;border-radius:12px;background:#2b1712;color:#ff9c7a;box-shadow:inset 0 0 40px #ff3c1e66}.nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#00000073;display:grid;place-items:center}.nav.prev{inset-inline-start:0}.nav.next{inset-inline-end:0}.viewer-actions{display:grid;grid-template-columns:repeat(4,1fr);padding:10px 0 12px}.viewer-actions button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.75rem;color:var(--fg-2);min-height:56px;justify-content:center}.contact-preview{display:block;width:100%;border-radius:8px;margin:4px 0}.info-box{container-type:inline-size}.info{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:8px 0 0}.info dt{color:var(--fg-2);overflow-wrap:break-word}.info dd{margin:0;min-width:0;overflow-wrap:break-word}@container (max-width: 21em){.info{grid-template-columns:minmax(0,1fr);row-gap:2px}.info dt{font-size:.875rem}.info dt:not(:first-child){margin-top:10px}}.dr-top{position:sticky;top:0;z-index:5;margin:0 -16px;padding:0 16px 6px;background:var(--bg);box-shadow:0 10px 12px -10px #000000b3}.dr-top .hdr{position:static;background:none}.dr-top .dr-stage{min-height:150px;height:clamp(150px,36dvh,460px);max-height:none}.dr-top .dr-stage canvas{max-height:calc(clamp(150px,36dvh,460px) - 16px)}.dr-top .dr-hint{margin:4px 0 0}@media (max-height: 700px){.dr-top .dr-stage{height:clamp(140px,31dvh,460px)}.dr-top .dr-stage canvas{max-height:calc(clamp(140px,31dvh,460px) - 16px)}}.darkroom .slider-head{align-items:baseline;gap:12px}.darkroom .slider-head output{flex:none;white-space:nowrap;font-family:inherit;font-variant-numeric:tabular-nums}.darkroom,.page.analog,.page.log,.page.settings{word-break:keep-all;overflow-wrap:break-word}.darkroom{padding:0 16px 32px}.dr-stage{position:relative;display:grid;place-items:center;min-height:200px;max-height:52dvh;padding:8px;border-radius:12px;background:radial-gradient(circle at 50% 40%,#3a120c,#160705 70%);user-select:none;-webkit-user-select:none;touch-action:none}.dr-stage canvas{max-width:100%;max-height:calc(52dvh - 16px);box-shadow:0 8px 30px #0009}.dr-badge{position:absolute;top:12px;inset-inline-start:12px;padding:2px 8px;border-radius:4px;background:#0009;color:var(--accent);font-size:.6875rem}.dr-hint{text-align:center;margin:6px 0 4px}.dr-controls h2{font-size:.875rem;margin:14px 0 8px;font-weight:650}.dr-controls h2 .muted{font-weight:400;font-size:.75rem}.dr-toggles .btn{margin:6px 0}.tone-seg .seg.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,5.5rem),1fr))}.dr-controls>.btn-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dr-controls>.btn-row .btn{min-width:0;padding:0 12px}@media (min-width: 1024px){.route-darkroom .screen{max-width:1240px}.darkroom{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,1fr);gap:0 32px;align-items:start;padding:0 24px 32px}.dr-top{margin:0;padding:0 0 8px;box-shadow:none}.dr-top .dr-stage{height:calc(100dvh - var(--tab-h) - var(--safe-b) - 130px);min-height:320px}.dr-top .dr-stage canvas{max-height:calc(100dvh - var(--tab-h) - var(--safe-b) - 146px)}.dr-controls{padding-top:calc(16px + var(--safe-t))}.dr-controls .stock-strip{margin:0;padding:4px 0}}.log-active{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;width:100%;text-align:start;color:var(--fg)}.log-active-txt,.log-active-side{display:flex;flex-direction:column;min-width:0}.log-active-txt strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-active-side{align-items:flex-end}.log-active-side strong{font-size:1.375rem;color:var(--accent)}.log-active-go{display:inline-flex;align-items:center;gap:2px;font-size:.8125rem;color:var(--accent);white-space:nowrap}.log-active-bar{grid-column:1 / -1;height:4px;border-radius:2px;background:var(--bg-3);overflow:hidden}.log-active-bar span{display:block;height:100%;background:var(--accent)}.list-row .list-row-end{flex-direction:row;align-items:center;gap:6px;flex:none}.stop-picker{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 4px;scroll-padding-inline:16px}.stop-picker::-webkit-scrollbar{display:none}.stop-picker button{flex:none;min-width:56px;min-height:44px;padding:0 12px;border-radius:10px;background:var(--bg-3);font-family:var(--mono);font-size:.9375rem}.stop-picker button.on{background:var(--accent);color:#1a0f05;font-weight:700}.log-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin:2px 0 4px}.frame-row .frame-main{flex:1;display:flex;align-items:center;gap:12px;min-width:0;min-height:44px;text-align:start;color:inherit}.page.log{padding-bottom:104px}.sheet .log-sheet-save{position:sticky;bottom:0;box-shadow:0 -10px 16px 4px var(--bg-2)}.log-actions{position:fixed;left:0;right:0;bottom:calc(var(--tab-h) + var(--safe-b));z-index:10;display:flex;gap:8px;max-width:720px;margin:0 auto;padding:16px 16px 10px;background:linear-gradient(transparent,var(--bg) 35%)}.log-actions .btn{flex:1;min-height:56px;padding:0 12px;word-break:keep-all}.log-actions .log-repeat{flex:1.5;flex-direction:column;gap:0;line-height:1.2}.log-repeat small{font-size:.75rem;font-weight:600;opacity:.8}.log-actions .btn.ghost{background:var(--bg)}.persist-row{padding:10px 0}.persist-txt{display:flex;flex-direction:column;gap:2px;min-width:0}.persist-txt small{font-size:.75rem;line-height:1.4}.persist-on{display:inline-flex;align-items:center;gap:4px;flex:none}.persist-row .btn{flex:none}.backup-where{display:block;margin-top:4px;color:var(--fg)}.backup-again{display:block;margin:0 0 4px}.backup-restore{margin-top:4px}.meter-result{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;padding:14px;margin-bottom:8px;border-radius:12px;background:#0b0a09;box-shadow:inset 0 0 0 1px var(--line)}.meter-result div{display:flex;flex-direction:column}.meter-result strong{font-size:1.75rem;color:var(--accent);line-height:1.1}.meter-result div+div strong{font-size:1.25rem;color:var(--fg)}.list-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;text-align:start;border-bottom:1px solid var(--line)}.list-row span{display:flex;flex-direction:column}.frame-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.frame-row .grow{flex:1;display:flex;flex-direction:column;min-width:0}.frame-num{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--bg-3);color:var(--accent);font-weight:700}.page[data-testid=log-screen]{padding-bottom:96px}.fab{position:fixed;inset-inline-end:max(16px,calc(50% - 344px));bottom:calc(var(--tab-h) + var(--safe-b) + 16px);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#1a0f05;box-shadow:0 8px 24px #00000080;z-index:10}.onboarding{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;justify-content:flex-start;padding:calc(24px + var(--safe-t)) 28px 0;background:radial-gradient(circle at 50% 30%,#2a1a10,var(--bg) 70%);animation:fade .3s ease;overflow:hidden}.onb-scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto;margin:0 -28px;padding:0 28px 12px}.onb-brand{display:flex;flex-direction:column;gap:2px;margin-bottom:auto;padding:4px 0 16px}.onb-actions{position:relative;z-index:1;flex:none;display:flex;flex-direction:column;margin:0 -28px;padding:8px 28px calc(16px + var(--safe-b))}.onb-actions>.btn-row{margin-top:0}@media (max-height: 700px){.onboarding h1{margin-top:12px}}.onb-brand .logo{font-size:1.125rem}.onboarding h1{font-size:min(1.875rem,30px);margin:24px 0 8px;letter-spacing:-.02em}.onboarding p{color:var(--fg-2);margin:0;max-width:420px}#onb-body{font-size:min(1rem,18px)}.onb-privacy{margin-top:16px!important;padding:10px 12px;border-radius:10px;background:#6fd08c1a;color:var(--ok)!important}.onb-art{display:flex;gap:6px;height:clamp(0px,calc(100dvh - 31rem),120px);align-items:center;flex:none;overflow:hidden;padding-left:6px}.onb-art span{height:min(88px,calc(100% - 14px));aspect-ratio:64 / 88;width:auto;border-radius:4px;background:linear-gradient(160deg,#ffb36b,#c2410c);box-shadow:0 0 0 6px #120d09;animation:up .5s ease backwards}.onb-art span:nth-child(2){animation-delay:.08s;filter:hue-rotate(-20deg)}.onb-art span:nth-child(3){animation-delay:.16s;filter:hue-rotate(160deg) saturate(.6)}.onb-art span:nth-child(4){animation-delay:.24s;filter:grayscale(1)}.art-lab span{background:linear-gradient(160deg,#ff6a4d,#3b0d06)}.art-dark span{background:linear-gradient(160deg,#e8e1d3,#3d5a80)}.dots{display:flex;gap:6px;margin-top:20px}.dots i{width:6px;height:6px;border-radius:6px;background:var(--line);transition:width .2s}.dots i.on{width:20px;background:var(--accent)}@media (max-width: 360px){.seg button{font-size:.75rem}}@media (min-width: 900px){.camera{padding:0 10vw}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}html.tap-guard *{pointer-events:none!important}.toast{flex-wrap:wrap}.toast>span+button{margin-inline-start:auto}.viewer .hdr h1{font-size:min(1.25rem,22px)}.toast>span{flex:1 1 11em;min-width:0;padding:8px 0;line-height:1.35;overflow-wrap:anywhere}.toast .toast-close{flex:none;display:grid;place-items:center;width:44px;min-height:44px;margin:0;padding:0;color:var(--fg-2);border-radius:10px}.import-hint{margin:0 0 10px}.import-pick{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:10px;border-radius:12px;background:var(--bg-3)}.import-pick .canister{flex:none}.import-pick p{display:flex;flex-direction:column;gap:2px;margin:0;min-width:0}.onb-restore{align-self:flex-start;min-height:44px;margin-top:4px;padding:0;color:var(--accent-2);font-size:min(.875rem,15px);font-weight:600;text-align:start;text-decoration:underline;text-underline-offset:3px}.attention{outline:2px solid var(--accent)!important;outline-offset:3px;animation:attention .8s ease 3}@keyframes attention{50%{outline-offset:7px}}.load-head-row{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:4px 12px}.all-cams-btn{min-height:44px;margin:-12px 0 -8px;padding:0 4px;color:var(--accent-2);font-size:.8125rem;font-weight:650;text-decoration:underline;text-underline-offset:3px}.all-cams h3{margin:14px 0 8px;font-size:.875rem;color:var(--fg-2)}.all-cams ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,9.5rem),1fr));gap:8px;margin:0;padding:0;list-style:none}.all-cam{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;min-height:56px;padding:8px 12px;border-radius:12px;background:var(--bg-3);border:1px solid transparent;text-align:start}.all-cam strong{font-size:.875rem}.all-cam span{font-size:.75rem;color:var(--fg-2)}.all-cam.on{border-color:var(--accent);background:#ff8a2b1a}.load-row{flex-wrap:wrap}.load-row .seg{flex:1 1 10em}.load-row .seg button{white-space:nowrap;word-break:keep-all}.load-row .seg{flex:1 1 auto}.camera.unloaded .cam-stage{flex:1 1 0;min-height:min(28dvh,200px);max-height:min(52dvh,560px);overflow:hidden}.camera.unloaded .load-row{position:sticky;bottom:0;z-index:3;padding-bottom:10px;background:#000;box-shadow:0 -14px 14px -2px #000}.load-row .btn{flex:1 0 auto;max-width:100%;white-space:normal;text-align:center}.stock-card{width:clamp(84px,5.25rem,124px)}.stock-name{overflow-wrap:normal}.seg{flex-wrap:wrap}.seg button{min-width:auto;overflow:visible;text-overflow:clip;white-space:normal;line-height:1.15;padding:4px 8px;overflow-wrap:normal;hyphens:none}.seg.grid button{min-width:0;padding:4px 5px}.border-seg .seg.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr))}.hdr h1{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:normal}.hdr.wrap{display:flex;flex-wrap:wrap;align-items:center;row-gap:2px}.hdr.wrap>.icon-btn,.hdr.wrap>.hdr-spacer{flex:none}.hdr.wrap>.hdr-title{flex:1 1 6.5em}.hdr.wrap>.icon-btn+.hdr-title{flex:1 1 auto;max-width:calc(100% - 52px)}.hdr.wrap>.hdr-right{flex:none;margin-inline-start:auto}.hdr.wrap h1{display:block;-webkit-line-clamp:unset;line-clamp:none;overflow:visible;overflow-wrap:break-word}.roll-btn{font-size:min(.75rem,16px)}.roll-btn{gap:5px;padding-inline-end:10px}.roll-btn-txt b{font-size:min(.8125rem,14.5px);overflow-wrap:normal;hyphens:none}.viewer-actions button{font-size:min(.75rem,16px);text-align:center;line-height:1.15;overflow-wrap:normal;hyphens:auto}.btn{text-align:center;overflow-wrap:normal;hyphens:none}.btn-row .btn{white-space:normal;min-width:fit-content;max-width:100%}:root:lang(ja) :is(.btn,.seg button,.tabbar button,.roll-btn-txt b,.speed-def),:root:lang(zh) :is(.btn,.seg button,.tabbar button,.roll-btn-txt b,.speed-def){word-break:normal;overflow-wrap:anywhere}@media (forced-colors: active){html .btn,html .chip,html .pills button,html .speed,html .roll-btn,html .icon-btn.big,html .stock-card,html .camera-card,html .all-cam,html .seg,html .toast,html .sheet,html .more-item{border:1px solid ButtonText}html .btn.primary{forced-color-adjust:none;background:Highlight;color:HighlightText;border:2px solid Highlight}html .btn.primary:disabled{background:Canvas;color:GrayText;border-color:GrayText}html .btn.danger{border:2px solid ButtonText}html .btn:disabled,html button:disabled{color:GrayText;border-color:GrayText}html .seg button.on,html .pills button.on,html .chip.on,html .stop-picker button.on{forced-color-adjust:none;background:Highlight;color:HighlightText}html .stock-card.on,html .camera-card.on,html .all-cam.on,html .speed.def{border:3px solid Highlight;outline:2px solid Highlight;outline-offset:1px}html .camera-pin.on .camera-pin-dot{background:Highlight;color:HighlightText;border-color:Highlight}html .tabbar{border-top:1px solid CanvasText}html .tabbar button{color:CanvasText}html .tabbar button.on{color:Highlight}html .tabbar button.on:before{content:"";position:absolute;top:0;left:18%;right:18%;height:4px;background:Highlight}html .tabbar button.on span:not(.sr-only){text-decoration:underline 2px;text-underline-offset:3px}html .tabbar .dot{background:Highlight}html .switch{border:2px solid ButtonText;background:Canvas}html .switch:after{top:1px;inset-inline-start:1px;background:ButtonText}html .toggle input:checked+.switch{background:Highlight;border-color:Highlight}html .toggle input:checked+.switch:after{background:HighlightText}html .toggle input:focus-visible+.switch,html :focus-visible{outline:2px solid Highlight}html input[type=range]{forced-color-adjust:none}html input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to var(--range-fill, right),Highlight var(--p, 50%),Canvas var(--p, 50%));border:1px solid CanvasText;height:6px}html input[type=range]::-moz-range-track{background:linear-gradient(to var(--range-fill, right),Highlight var(--p, 50%),Canvas var(--p, 50%));border:1px solid CanvasText;height:6px}html input[type=range]::-webkit-slider-thumb{background:ButtonText;border:2px solid Canvas;outline:1px solid ButtonText;margin-top:-10px}html input[type=range]::-moz-range-thumb{background:ButtonText;border:2px solid Canvas}html .shutter{border-color:ButtonText}html .shutter span{background:ButtonText}html .badge,html .progress{border:1px solid CanvasText}html .progress span{background:Highlight}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.camera-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 16px 6px;scroll-snap-type:x proximity;scrollbar-width:none}.camera-strip::-webkit-scrollbar{display:none}.camera-cell{position:relative;flex:0 0 auto;display:flex;scroll-snap-align:start}.camera-card{position:relative;flex:0 0 auto;width:clamp(112px,7rem,160px);display:flex;flex-direction:column;align-items:center;gap:2px;padding:40px 4px 8px;border-radius:12px;background:var(--bg-2);border:1px solid transparent}.camera-card.on{border-color:var(--accent);background:#ff8a2b14}.camera-card .badge{position:absolute;top:4px;inset-inline-end:4px;margin:0}.camera-pin{position:absolute;top:0;inset-inline-start:0;width:48px;height:44px;display:flex;align-items:flex-start;justify-content:flex-start;padding:6px;border:0;border-radius:12px 0;background:none;color:var(--fg);-webkit-tap-highlight-color:transparent}.camera-pin-dot{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#2c2824;border:1.5px solid var(--fg-2);transition:background-color .15s ease,color .15s ease,transform .15s ease}.camera-pin:active .camera-pin-dot{transform:scale(.88)}.camera-pin.on{color:#1a0f05}.camera-pin.on .camera-pin-dot{background:var(--accent);border-color:var(--accent)}.camera-pin.on svg path{fill:currentColor}@media (hover: hover){.camera-pin:not(.on):hover{color:var(--fg)}}.camera-divider{flex:0 0 1px;align-self:stretch;margin:10px 0;background:var(--line)}.camera-name{font-size:.75rem;font-weight:700;line-height:1.2}.camera-name{max-width:100%;text-align:center;overflow-wrap:normal}.camera-era{max-width:100%;font-size:.6875rem;color:var(--fg-2);text-align:center;line-height:1.2;overflow-wrap:normal}.camera-body{display:block;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}.load-sub{display:flex;flex-direction:column;gap:1px;padding:6px 16px 2px;font-size:.8125rem;font-weight:650}.load-sub .muted{font-weight:400;font-size:.75rem}.fixed-cap{flex:1;font-size:.8125rem;color:var(--fg-2);padding-inline-start:4px}.ev-row{padding:0 20px}.cam-name{color:var(--fg);font-weight:700}.flash-charge{position:relative}.charge-led{width:7px;height:7px;border-radius:50%;background:#3a3a3a}.flash-charge.charge-charging .charge-led{background:#ff3b30;animation:led .35s steps(2) infinite}.flash-charge.charge-ready{color:var(--accent);background:#ff8a2b29}.flash-charge.flash-charge.off{color:var(--fg-3);background:#ffffff14}.flash-charge.flash-charge.off .charge-led{background:#3a3a3a;box-shadow:none}.cam-top.locked{opacity:.55}.route-camera .toasts{top:calc(124px + var(--safe-t));bottom:auto}.route-camera.has-update .toasts{top:calc(184px + var(--safe-t))}@media (orientation: landscape) and (max-height: 500px){.route-camera .update-bar,.route-camera .toasts{top:calc(60px + var(--safe-t))}.route-camera.has-update .toasts{top:calc(108px + var(--safe-t))}}.flash-charge.charge-ready .charge-led{background:#ff3b30;box-shadow:0 0 6px #ff3b30}@keyframes led{50%{opacity:.2}}.cam-right{justify-self:end;display:flex;align-items:center;gap:6px}.last-shot{justify-self:start;width:56px}.last-shot .thumb{border-radius:6px;box-shadow:0 0 0 2px #ffffff26}.last-shot.instant .thumb{background:#f3f0e8;padding:4px 4px 12px;border-radius:2px}.last-shot.instant img{animation:instant-dev 45s ease-out both}.cam-hint{margin:-8px 0 8px;text-align:center;font-size:.75rem;color:var(--fg-2)}.shutter{position:relative}.shutter.starting{border-style:dashed;border-color:var(--fg-3);animation:shutter-spin 2.4s linear infinite;cursor:progress}.shutter.starting span{transform:scale(.7);background:var(--fg-3);opacity:.5}@keyframes shutter-spin{to{rotate:1turn}}.shutter.cancel{border-color:#ff6b5e}.shutter.cancel span{display:grid;place-items:center;transform:scale(.86);background:#3a1d1a;color:#ff8a7f}.shutter-queue{position:absolute;top:-6px;right:-8px;min-width:28px;padding:2px 6px;border-radius:999px;background:var(--accent);color:#1a0f05;font-size:.75rem;font-weight:800;font-style:normal;line-height:1.3;pointer-events:none}.cam-top.locked.counting{opacity:1}.chip.cancel{color:#ff8a7f;background:#ff6b5e2e;box-shadow:inset 0 0 0 1px #ff6b5e80}.countdown-wrap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer}.countdown-wrap .countdown{position:static;display:block;line-height:1}.countdown-hint{padding:6px 14px;border-radius:999px;background:#0009;color:#fff;font-size:.875rem;font-weight:650}.vf-flip{position:absolute;z-index:2;background:#00000080;box-shadow:0 0 0 1px #ffffff2e}.last-shot{position:relative}.last-shot-quick{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:6px;pointer-events:none;z-index:1}.last-shot.instant .last-shot-quick{inset:4px 4px 12px;width:calc(100% - 8px);height:calc(100% - 16px);border-radius:0;animation:instant-dev 45s ease-out both}.last-shot:has(.thumb img) .last-shot-quick{display:none}.last-shot .thumb-wait{background:linear-gradient(100deg,#3a352f 30%,#5a534a,#3a352f 70%);background-size:300% 100%}.last-shot.instant .thumb-wait{background:linear-gradient(100deg,#cfc9bb 30%,#e8e3d6,#cfc9bb 70%);background-size:300% 100%}.last-shot .thumb{transition:opacity .2s ease}.last-shot.landing .thumb,.last-shot.landing .last-shot-quick{opacity:0}.eject-print{position:fixed;left:0;top:0;z-index:50;aspect-ratio:.82;padding:5% 5% 18%;background:#f3f0e8;border-radius:2px;box-shadow:0 12px 36px #0000008c;transform-origin:0 0;pointer-events:none;opacity:0}.eject-print.wide{aspect-ratio:1.23;padding:4% 4% 14%}.eject-print img{display:block;width:100%;height:100%;object-fit:cover}.cam-more-wrap{position:relative;flex:0 0 auto}.more-dots{font-size:1.25rem;line-height:1;letter-spacing:-1px}.cam-more{position:absolute;top:calc(100% + 6px);inset-inline-end:0;z-index:20;display:flex;flex-direction:column;min-width:168px;max-width:calc(100vw - 24px);padding:6px;border-radius:14px;background:#1f1b18;box-shadow:0 10px 30px #0009,0 0 0 1px #ffffff14}.cam-more[hidden]{display:none}.more-item{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:10px;color:var(--fg);font-size:.9375rem;text-align:start;white-space:nowrap}.more-item:active{background:var(--bg-3)}.more-item small{margin-inline-start:auto;color:var(--fg-3);font-size:.8125rem}.more-item.on small,.more-item.on svg{color:var(--accent)}.cam-name .chip-txt{white-space:nowrap}.cam-top .chip.timer-chip,.bp-body .cam-top .chip.timer-chip{width:44px;min-width:44px;padding:0}.timer-badge{position:absolute;top:0;inset-inline-end:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--accent);color:#1a0f05;font-size:min(.6875rem,13px);font-weight:800;line-height:18px;text-align:center;pointer-events:none}.chip.cancel .timer-badge{background:#ff8a7f}.roll-btn-can{display:inline-flex;flex:0 0 auto}.quick-start{display:flex;align-items:center;gap:6px;padding:0 16px 8px;overflow-x:auto;scrollbar-width:none}.quick-start::-webkit-scrollbar{display:none}.quick-start-label{flex:0 0 auto;font-size:.8125rem;font-weight:700;color:var(--fg-2);margin-inline-end:2px}.quick-chip{flex:0 0 auto;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg-2);color:var(--fg);font-size:.875rem;font-weight:650;white-space:nowrap}.quick-chip.on{border-color:var(--accent);color:var(--accent);background:#ff8a2b1a}@media (max-width: 374px){.cam-top{gap:4px;padding-left:8px;padding-right:8px}.cam-top .chip{padding:0 8px}}.counter-tick{display:inline-block;animation:counter-tick .32s ease-out}@keyframes counter-tick{0%{transform:translateY(-40%);opacity:.2}to{transform:none;opacity:1}}.sheet-sub{margin:6px 4px 4px;line-height:1.4;word-break:keep-all}.empty-hint,.empty-title,.banner,.confirm-text,.speed,.lab-body{word-break:keep-all}.eject{position:absolute;left:18%;right:18%;top:-10%;aspect-ratio:.82;background:linear-gradient(#f3f0e8 0 80%,#ece8de 80%);border-radius:2px;box-shadow:0 10px 30px #00000080;animation:eject 1.3s cubic-bezier(.3,.7,.3,1) both}.eject:before{content:"";position:absolute;inset:7% 7% 27%;background:#6d7a6a}@keyframes eject{0%{transform:translateY(-110%)}60%{transform:translateY(20%)}to{transform:translateY(120%);opacity:0}}.instant-dev{animation:instant-dev 45s ease-out both}@keyframes instant-dev{0%{filter:brightness(1.7) saturate(0) contrast(.25) sepia(.4) hue-rotate(60deg)}35%{filter:brightness(1.25) saturate(.4) contrast(.6) sepia(.2)}to{filter:none}}.dr-camera{margin:10px 0 0}.vf{position:absolute;inset:0;pointer-events:none}.vf-slr .vf-split{position:absolute;left:50%;top:50%;width:14%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.45);background:linear-gradient(transparent 49.5%,rgba(255,255,255,.35) 49.5% 50.5%,transparent 50.5%)}.vf-slr .vf-prism{position:absolute;left:50%;top:50%;width:24%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed rgba(255,255,255,.25)}.vf-range .vf-lines,.vf-compact .vf-lines,.vf-pano .vf-lines,.vf-cine .vf-lines{position:absolute;inset:8%;--c: rgba(255, 255, 255, .75);background:linear-gradient(var(--c),var(--c)) top left / 18px 2px no-repeat,linear-gradient(var(--c),var(--c)) top left / 2px 18px no-repeat,linear-gradient(var(--c),var(--c)) top right / 18px 2px no-repeat,linear-gradient(var(--c),var(--c)) top right / 2px 18px no-repeat,linear-gradient(var(--c),var(--c)) bottom left / 18px 2px no-repeat,linear-gradient(var(--c),var(--c)) bottom left / 2px 18px no-repeat,linear-gradient(var(--c),var(--c)) bottom right / 18px 2px no-repeat,linear-gradient(var(--c),var(--c)) bottom right / 2px 18px no-repeat}.vf-range .vf-patch{position:absolute;left:50%;top:50%;width:16%;height:11%;transform:translate(-50%,-50%);background:#ffd27838;border:1px solid rgba(255,220,150,.4)}.vf-compact .vf-lines{inset:12%;--c: rgba(255, 255, 255, .5)}.vf-tunnel{background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.55) 78%,rgba(0,0,0,.9) 100%);box-shadow:inset 0 0 0 6px #141414e6}.vf-toy{background:radial-gradient(circle at center,transparent 55%,rgba(0,0,0,.35) 100%)}.vf-instant{box-shadow:inset 0 0 0 5px #f3f0e8d9}.vf-half-tag,.vf-double-tag,.vf-cine-tag{position:absolute;right:10px;top:10px;padding:2px 8px;border-radius:4px;background:#0000008c;color:var(--accent);font-size:.8125rem;font-weight:800}.vf-cine-tag{color:#fff;font-size:10px;letter-spacing:.1em}.vf-cine .vf-lines{inset:6% 4%;--c: rgba(255, 255, 255, .55)}.vf-quad{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.vf-cell{display:grid;place-items:start;padding:6px 8px;border:1px solid rgba(255,255,255,.35);color:#ffffffb3;font:700 12px var(--mono);transition:background .1s}.vf-cell.on{background:#ffffff59;color:#000}.vf-cell.done{background:#00000059}.vf-ghost{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;mix-blend-mode:screen}.vf-lcd{font-size:.6875rem;color:#fff;text-shadow:0 1px 2px #000}.vf-lcd span{position:absolute}.lcd-tl{left:10px;top:8px}.lcd-tr{right:10px;top:8px;display:flex;align-items:center;gap:6px}.lcd-br{right:10px;bottom:8px;color:#ffb347}.lcd-batt{width:18px;height:9px;border:1.5px solid #fff;border-radius:2px;background:linear-gradient(90deg,#7cfc00 70%,transparent 70%)}.lcd-focus{left:50%;top:50%;width:22%;height:22%;transform:translate(-50%,-50%);--c: #7cfc00;background:linear-gradient(var(--c),var(--c)) top left / 12px 2px no-repeat,linear-gradient(var(--c),var(--c)) top left / 2px 12px no-repeat,linear-gradient(var(--c),var(--c)) top right / 12px 2px no-repeat,linear-gradient(var(--c),var(--c)) top right / 2px 12px no-repeat,linear-gradient(var(--c),var(--c)) bottom left / 12px 2px no-repeat,linear-gradient(var(--c),var(--c)) bottom left / 2px 12px no-repeat,linear-gradient(var(--c),var(--c)) bottom right / 12px 2px no-repeat,linear-gradient(var(--c),var(--c)) bottom right / 2px 12px no-repeat}.vf-pixel{box-shadow:inset 0 0 0 8px #2b2b2b,inset 0 0 0 10px #555;image-rendering:pixelated}.vfs-pixel .preview{image-rendering:pixelated}.vf-sport{background:radial-gradient(ellipse at center,transparent 55%,rgba(0,40,60,.4) 100%)}.vf-sport-frame,.vf-sport-ring{position:absolute;border:2px solid rgba(255,214,0,.75)}.vf-sport-frame{inset:9%;border-radius:4px}.vf-sport-ring{left:50%;top:50%;width:16%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%}.vfs-waist .preview{transform:scaleX(-1)}.vf-waist{background:radial-gradient(circle at center,rgba(255,255,255,.06) 0 30%,transparent 55%,rgba(0,0,0,.5) 100%);box-shadow:inset 0 0 0 6px #0a0a0ad9}.vf-waist-grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.2) 1px,transparent 1px);background-size:25% 25%}.vf-waist-spot{position:absolute;left:50%;top:50%;width:18%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.4);background:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.5px) 0 0 / 4px 4px}.vf-gate{border-radius:9%/12%;box-shadow:0 0 0 60px #050505,inset 0 0 18px 10px #000c}.cam-instaw .eject{left:8%;right:8%;aspect-ratio:1.23}.cam-instaw .eject:before{inset:5% 4% 20%}.px-tag{position:absolute;right:16px;bottom:14px;padding:1px 6px;background:#0f380f;color:#9bbc0f;font-size:.75rem;font-weight:800}.backup-hint{margin:0;line-height:1.45}.backup-status{margin:8px 0 4px}.backup-status:empty{display:none}.backup-save{margin:8px 0}.storage-banner{word-break:keep-all;margin:calc(8px + var(--safe-t)) 16px 0;padding:10px 14px;border-radius:12px;background:#5a1d14;color:#ffe2d8;font-size:.8125rem;line-height:1.4}.hdr-import{margin-inline-start:auto;min-height:44px;gap:6px;padding:0 12px;white-space:nowrap}.gal-restore{margin-top:6px}.help-link{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:var(--fg-2);font-size:.875rem;text-underline-offset:3px}.gal-help{margin:16px 0 0;text-align:center}.page.settings>.hdr{background:var(--bg);box-shadow:0 1px 0 var(--line);margin-bottom:10px}.page.analog>.hdr,.page.log>.hdr{background:var(--bg);box-shadow:0 1px 0 var(--line)}button[aria-disabled=true]{opacity:.45;cursor:default}.field-hint{margin:0 0 2px;line-height:1.45}.persist-why{margin-top:4px;color:var(--fg);font-size:.75rem;line-height:1.4}.backup-send{margin:4px 0 8px}.lab-item{grid-template-columns:auto 1fr}.lab-item>.btn{grid-column:2;justify-self:start}.lab-name span,.lab-name bdi,.lab-eta span{display:inline-block;max-width:100%;overflow-wrap:anywhere}.meter-result{display:flex;flex-wrap:wrap}.meter-result>div{flex:1 1 5.5em;min-width:0}.meter-result>div:first-child{flex-grow:1.4}.meter-result strong{overflow-wrap:anywhere}.persist-refused{font-size:14px}[dir=rtl] .icon-chevron,[dir=rtl] .icon-back{transform:scaleX(-1)}[dir=rtl] .toggle input:checked+.switch:after{transform:translate(-18px)}[dir=rtl] input[type=range]{--range-fill: left}.viewfinder,.camera-body,.print,.contact-preview{direction:ltr}:root:lang(ar) body,:root:lang(hi) body{line-height:1.6}:root{--bp-ease: cubic-bezier(.23, 1, .32, 1);--bp-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='1' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 -.4'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23f)'/%3E%3C/svg%3E");--bp-pebble: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.5 -.62'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23f)'/%3E%3C/svg%3E");--bp-pebble-hi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='9' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .7 -.36'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23f)'/%3E%3C/svg%3E");--bp-brush: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='240'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.003 .75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .8 -.33'/%3E%3C/filter%3E%3Crect width='1000' height='240' filter='url(%23f)'/%3E%3C/svg%3E");--bp-crinkle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='turbulence' baseFrequency='.32' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.5 -.42'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23f)'/%3E%3C/svg%3E")}.bp-body{--bp-r: 26px;--bp-bez-t: 9px;--bp-bez-x: 9px;--bp-bez-b: 9px;--bp-vf-r: 10px;--bp-win-r: 19px;--bp-win-ink: rgba(255, 255, 255, .5);--bp-pad-t: calc(var(--bp-bez-t) + 2px);--bp-pad-x: calc(var(--bp-bez-x) + 6px);--bp-pad-b: calc(var(--bp-bez-b) + 2px);position:relative;isolation:isolate;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;width:min(100% - 16px,640px);margin:calc(4px + var(--safe-t)) auto 6px;border-radius:var(--bp-r);background-color:var(--bp-body);box-shadow:0 0 0 1px #000000bf,0 14px 30px -10px #000000e6;transition:background-color .18s ease}.camera.unloaded .bp-body{flex:1 0 auto;margin-bottom:10px}.bp-decor{position:absolute;inset:0;border-radius:inherit;pointer-events:none;direction:ltr}.bp-skin{position:absolute;inset:0;border-radius:inherit;background:var(--bp-noise),linear-gradient(180deg,#ffffff0f,#0000001f),var(--bp-body);box-shadow:inset 0 1.5px #ffffff4d,inset 0 -3px #0000004d,inset 0 0 0 1px #ffffff0d,inset 0 0 28px #00000029;animation:bp-in .2s var(--bp-ease)}@keyframes bp-in{0%{opacity:.35}}[data-mat=leather] .bp-skin{background:var(--bp-pebble-hi),var(--bp-pebble),radial-gradient(130% 70% at 50% 0%,rgba(255,255,255,.08),transparent 60%),var(--bp-body);background-position:1px 1px,0 0,0 0,0 0}[data-mat=gloss] .bp-skin{background:radial-gradient(120% 55% at 25% 0%,rgba(255,255,255,.38),transparent 60%),linear-gradient(180deg,#ffffff1a,#00000024),var(--bp-body)}[data-mat=brushed] .bp-skin{background:linear-gradient(100deg,#fff0 8%,#ffffff4d 30%,#ffffff0f 48%,#fff0 70%),var(--bp-brush),repeating-linear-gradient(180deg,#ffffff0d 0 1px,#00000005 1px 2px),linear-gradient(180deg,#fff3,#00000024),var(--bp-body)}[data-mat=card] .bp-skin{background:var(--bp-noise),linear-gradient(180deg,#ffffff1f,#0000000f),var(--bp-body);background-size:90px 90px,auto,auto}[data-mat=jelly] .bp-skin{background:radial-gradient(90% 40% at 50% 0%,rgba(255,255,255,.42),transparent 62%),radial-gradient(70% 30% at 50% 100%,rgba(255,255,255,.2),transparent 70%),repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 10px,transparent 10px 20px),linear-gradient(180deg,var(--bp-body),var(--bp-shade));box-shadow:inset 0 2px #ffffff73,inset 0 0 0 2px #ffffff24,inset 0 -6px 14px #00000038,inset 0 0 30px #ffffff14}[data-mat=rubber] .bp-skin{background:var(--bp-noise),radial-gradient(110% 60% at 50% 0%,rgba(255,255,255,.16),transparent 65%),linear-gradient(180deg,var(--bp-body),var(--bp-shade));background-size:70px 70px,auto,auto;box-shadow:inset 0 2px #ffffff47,inset 0 0 0 4px #0000001f,inset 0 -5px #00000038}[data-mat=crinkle] .bp-skin{background:var(--bp-crinkle),radial-gradient(120% 60% at 50% 0%,rgba(255,255,255,.07),transparent 60%),var(--bp-body);background-size:120px 120px,auto,auto}[data-mat=housing] .bp-skin{background:radial-gradient(60% 22% at 30% 4%,rgba(255,255,255,.5),transparent 70%),radial-gradient(circle at 12% 62%,rgba(255,255,255,.35) 0 2px,transparent 2.5px),radial-gradient(circle at 15% 58%,rgba(255,255,255,.3) 0 1.2px,transparent 1.7px),linear-gradient(180deg,var(--bp-body),var(--bp-shade));box-shadow:inset 0 0 0 5px #ffffff38,inset 0 0 0 7px #001e2d59,inset 0 3px 0 5px #ffffff40,inset 0 -8px 16px #0014284d}.bp-body[data-band=top] .cam-top,.bp-body[data-band=both] .cam-top{border-radius:var(--bp-r) var(--bp-r) 4px 4px;background:repeating-linear-gradient(90deg,#ffffff29 0 1px,#00000009 1px 3px),linear-gradient(180deg,#fff9,#ffffff0d 45%,#00000029),var(--bp-band);box-shadow:inset 0 1px #ffffffd9,0 1.5px #0009,0 3px 3px #0000004d;padding-bottom:6px}.bp-body[data-band=both] .cam-bottom{border-radius:4px 4px var(--bp-r) var(--bp-r);background:repeating-linear-gradient(90deg,#ffffff29 0 1px,#00000009 1px 3px),linear-gradient(180deg,#ffffff80,#ffffff0a 40%,#0003),var(--bp-band);box-shadow:0 -1.5px #0009,inset 0 1px #ffffffd9,inset 0 -2px #0000002e}.bp-body[data-band=stage] .cam-stage{background:linear-gradient(180deg,#ffffff24,#0000001a),var(--bp-band);box-shadow:inset 0 1px #00000073,inset 0 2px #ffffff2e,inset 0 -1px #00000073}.bp-body[data-band=bottom] .cam-bottom{border-radius:4px 4px var(--bp-r) var(--bp-r);background:linear-gradient(180deg,#ffffff24,#0000001f),var(--bp-band);box-shadow:inset 0 1px #00000059,inset 0 2px #fff3}.bp-body[data-stripe] .cam-bottom:before{content:"";position:absolute;top:0;left:18px;right:18px;height:2px;border-radius:1px;background:var(--bp-accent);opacity:.85}.bp-lug{position:absolute;top:17%;width:6px;height:18px;border-radius:2px;background:linear-gradient(90deg,#5d6066,#e9eaec 45%,#8a8d92);box-shadow:0 1px 2px #000000b3}.bp-lug.bp-l{left:-5px}.bp-lug.bp-r{right:-5px}.bp-grip{position:absolute;right:0;top:32%;width:11px;height:32%;border-radius:8px 0 0 8px;background:repeating-linear-gradient(180deg,#ffffff1a 0 2px,#0006 2px 5px),#1b1b1b;box-shadow:inset 1px 0 #ffffff24,-1px 0 2px #00000073}.bp-screw,.bp-wscrew{position:absolute;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4f5f6,#a2a6ac 45%,#555a60 78%);box-shadow:0 0 0 .6px #000000a6,0 1px #ffffff40}.bp-screw:after,.bp-wscrew:after{content:"";position:absolute;left:.5px;right:.5px;top:50%;height:1px;margin-top:-.5px;background:#0009;transform:rotate(35deg)}.bp-screw{bottom:9px}.bp-screw.bp-bl{left:11px}.bp-screw.bp-br{right:11px}.bp-body[data-band=both] .bp-screw{z-index:1}.bp-body .cam-top{gap:5px;padding:7px 6px 5px}.bp-body[data-btn=rubber]{--bp-face: radial-gradient(120% 120% at 50% 15%, rgba(255, 255, 255, .17), rgba(255, 255, 255, 0) 55%), var(--bp-btn);--bp-btn-sh: 0 0 0 1.5px rgba(0, 0, 0, .6), 0 2px 0 1.5px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .16), inset 0 -2px 3px rgba(0, 0, 0, .4);--bp-btn-down: 0 0 0 1.5px rgba(0, 0, 0, .6), inset 0 2px 4px rgba(0, 0, 0, .6), inset 0 -1px 0 rgba(255, 255, 255, .08)}.bp-body[data-btn=chrome]{--bp-face: radial-gradient(110% 90% at 50% 0%, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 62%), linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(0, 0, 0, .2)), var(--bp-btn);--bp-btn-sh: 0 0 0 1px rgba(0, 0, 0, .5), 0 0 0 3px rgba(0, 0, 0, .1), 0 2px 3px rgba(0, 0, 0, .45), inset 0 1px 0 #fff, inset 0 -1.5px 1px rgba(0, 0, 0, .25);--bp-btn-down: 0 0 0 1px rgba(0, 0, 0, .5), 0 0 0 3px rgba(0, 0, 0, .1), inset 0 2px 3px rgba(0, 0, 0, .35)}.bp-body[data-btn=gloss]{--bp-face: radial-gradient(90% 60% at 50% 8%, rgba(255, 255, 255, .5), rgba(255, 255, 255, 0) 70%), linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(0, 0, 0, .18)), var(--bp-btn);--bp-btn-sh: 0 0 0 1px rgba(0, 0, 0, .35), 0 2px 0 rgba(0, 0, 0, .25), 0 3px 5px rgba(0, 0, 0, .3), inset 0 -2px 2px rgba(0, 0, 0, .2);--bp-btn-down: 0 0 0 1px rgba(0, 0, 0, .35), inset 0 2px 4px rgba(0, 0, 0, .35)}.bp-body[data-btn=jelly]{--bp-face: radial-gradient(70% 45% at 50% 16%, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0) 72%), radial-gradient(80% 50% at 50% 100%, rgba(255, 255, 255, .3), rgba(255, 255, 255, 0) 70%), var(--bp-btn);--bp-btn-sh: 0 3px 0 rgba(0, 0, 0, .26), 0 4px 7px rgba(0, 0, 0, .25), inset 0 -3px 4px rgba(0, 0, 0, .16), inset 0 0 0 1px rgba(255, 255, 255, .3);--bp-btn-down: 0 1px 0 rgba(0, 0, 0, .26), inset 0 2px 5px rgba(0, 0, 0, .28)}.bp-body .chip,.bp-body .icon-btn:not(.vf-flip){color:var(--bp-btn-ink);background:var(--bp-face);box-shadow:var(--bp-btn-sh);transition:transform .12s var(--bp-ease),box-shadow .12s var(--bp-ease)}.bp-body .chip:active:not(:disabled),.bp-body .icon-btn:not(.vf-flip):active:not(:disabled){transform:translateY(1px) scale(.97);box-shadow:var(--bp-btn-down);background:var(--bp-face)}.bp-body .chip.on,.bp-body .flash-charge.charge-ready{color:var(--bp-btn-on);background:var(--bp-face);box-shadow:var(--bp-btn-down)}.bp-body .flash-charge.flash-charge.off{color:var(--bp-btn-ink);background:var(--bp-face);box-shadow:var(--bp-btn-sh);opacity:.8}.bp-body .chip.cancel{color:#c62828;background:var(--bp-face);box-shadow:var(--bp-btn-down),0 0 0 2px #ff6b5e}.bp-body[data-btn=rubber] .chip.cancel{color:#ff8a7f}.bp-body .cam-top .cam-name{padding:0 9px;border-radius:7px;color:var(--bp-plate-ink);background:var(--bp-plate);box-shadow:none;font-family:var(--sans)}.bp-body .cam-name:disabled{opacity:1}.bp-body .cam-name .chip-txt{text-transform:uppercase;letter-spacing:.04em;font-weight:850}.bp-body[data-plate=badge] .cam-top .cam-name{height:30px;min-width:0;margin-block:7px;box-shadow:inset 0 1px #ffffff73,inset 0 -1px #00000038,0 0 0 1px #0000004d,0 1px 2px #0000004d}.bp-body[data-plate=badge] .cam-top .cam-name:after{inset:-7px -2px}.bp-body[data-band=top] .cam-name .chip-txt,.bp-body[data-band=both] .cam-name .chip-txt{text-shadow:0 1px 0 rgba(255,255,255,.65)}.bp-body[data-rainbow] .cam-name:before{content:"";flex:none;width:14px;height:12px;margin-inline-end:3px;border-radius:2px;background:linear-gradient(90deg,#e8452c 0 20%,#f39c1f 20% 40%,#f2cf2e 40% 60%,#3fa34d 60% 80%,#2d7dd2 80%);box-shadow:inset 0 0 0 .5px #00000040}.bp-body .cam-stage{margin:0;padding:var(--bp-pad-t) var(--bp-pad-x) var(--bp-pad-b)}.bp-body .cam-stage>.viewfinder,.bp-window{grid-area:1 / 1}.bp-body .viewfinder{border-radius:var(--bp-vf-r);box-shadow:none}.bp-body .viewfinder:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px #000000a6,inset 0 2px 7px #00000080}.bp-window{position:relative;margin:calc(-1 * var(--bp-bez-t)) calc(-1 * var(--bp-bez-x)) calc(-1 * var(--bp-bez-b));border-radius:var(--bp-win-r);pointer-events:none;direction:ltr}[data-win=optical] .bp-window{background:linear-gradient(180deg,#2c2c2c,#111 28%,#0b0b0b 72%,#1d1d1d);box-shadow:0 0 0 1.5px #000000b3,0 3px 5px #00000080,inset 0 1px #ffffff29,inset 0 0 0 4px #ffffff06,inset 0 0 0 5px #0006}.bp-body[data-win=lcd]{--bp-bez-t: 9px;--bp-bez-x: 9px;--bp-bez-b: 15px;--bp-vf-r: 3px;--bp-win-r: 9px}[data-win=lcd] .bp-window{background:linear-gradient(158deg,#ffffff21,#fff0 32%),linear-gradient(180deg,#23272c,#0f1113 60%,#16191c);box-shadow:0 0 0 1px #0009,0 1.5px 0 1px #fff6,0 -1px 0 1px #00000040,inset 0 1px #ffffff1f}.bp-body[data-win=instant]{--bp-bez-t: 10px;--bp-bez-x: 10px;--bp-bez-b: 14px;--bp-vf-r: 5px;--bp-win-r: 15px;--bp-win-ink: var(--bp-print-ink, var(--bp-plate-ink))}[data-win=instant] .bp-window{background:#0d0d0d;box-shadow:inset 0 1.5px #ffffff8c,inset 0 -1px #0003,inset 0 0 0 7px var(--bp-shade),0 1px #ffffff73,0 -1px #0000004d,0 2px 4px #00000040}[data-win=instant] .bp-window:before{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--bp-bez-b) - 2px);border-radius:0 0 var(--bp-win-r) var(--bp-win-r);background:var(--bp-shade)}[data-family=y2k] .bp-window{box-shadow:inset 0 1.5px #ffffff8c,inset 0 0 0 7px var(--bp-shade),0 0 0 2px #ffffff40,0 2px 5px #0000004d}.bp-body[data-family=y2k]{--bp-win-ink: rgba(255, 255, 255, .82)}.bp-body[data-win=console]{--bp-bez-t: 11px;--bp-bez-x: 12px;--bp-bez-b: 20px;--bp-vf-r: 2px;--bp-win-r: 10px;--bp-win-ink: rgba(255, 255, 255, .62)}[data-win=console] .bp-window{border-radius:10px 10px 36px;background:linear-gradient(180deg,#ffffff14,#0000001f),var(--bp-frame);box-shadow:inset 0 1px #fff3,inset 0 -1px #0000004d,0 1px #ffffff80,0 -1px #0003}[data-win=console] .bp-led{left:calc(var(--bp-bez-x) + 2px);right:auto}[data-win=console] .bp-grille{display:none}.bp-body[data-win=housing]{--bp-bez-t: 13px;--bp-bez-x: 13px;--bp-bez-b: 17px;--bp-vf-r: 12px;--bp-win-r: 25px;--bp-win-ink: rgba(255, 255, 255, .85)}[data-win=housing] .bp-window{background:radial-gradient(70% 30% at 30% 0%,rgba(255,255,255,.4),transparent 70%),#ffffff24;box-shadow:0 0 0 2px #fff6,0 0 0 4px #001e2d4d,inset 0 0 0 2px #ffffff40,inset 0 0 0 calc(var(--bp-bez-x) - 4px) #ffffff1a,inset 0 0 0 var(--bp-bez-x) #0a1c26}.bp-body[data-win=waist]{--bp-bez-t: 11px;--bp-bez-x: 11px;--bp-bez-b: 11px;--bp-vf-r: 3px;--bp-win-r: 8px}[data-win=waist] .bp-window{background:repeating-linear-gradient(90deg,#171717 0 2px,#0c0c0c 2px 4px);box-shadow:0 0 0 1.5px #000000bf,0 0 0 3px var(--bp-band),0 0 0 4px #00000073,0 4px 6px #00000073,inset 0 1px #ffffff1f}.bp-body[data-family=kid]{--bp-bez-t: 11px;--bp-bez-x: 11px;--bp-bez-b: 16px;--bp-vf-r: 8px;--bp-win-r: 16px;--bp-win-ink: var(--bp-btn-ink)}[data-family=kid] .bp-window{background:radial-gradient(90% 40% at 50% 0%,rgba(255,255,255,.45),transparent 70%),var(--bp-frame);box-shadow:0 3px #00000038,inset 0 -2px 3px #0000002e,inset 0 0 0 1px #ffffff59}[data-family=kid] .bp-wscrew{display:none}.bp-wscrew{width:6px;height:6px}[data-win=housing] .bp-wscrew{width:8px;height:8px}.bp-wscrew.bp-tl,.bp-wscrew.bp-bl{left:calc(var(--bp-bez-x) / 2 - 3px)}.bp-wscrew.bp-tr,.bp-wscrew.bp-br{right:calc(var(--bp-bez-x) / 2 - 3px)}.bp-wscrew.bp-tl,.bp-wscrew.bp-tr{top:calc(var(--bp-bez-t) / 2 - 3px)}.bp-wscrew.bp-bl,.bp-wscrew.bp-br{bottom:calc(var(--bp-bez-b) / 2 - 3px)}.bp-print{position:absolute;left:0;right:0;bottom:0;height:var(--bp-bez-b);display:flex;align-items:center;justify-content:center}.bp-print:after{content:attr(data-print);font:700 7.5px/1 var(--sans);letter-spacing:.2em;color:var(--bp-win-ink);white-space:nowrap}.bp-grille{position:absolute;left:calc(var(--bp-bez-x) + 16px);bottom:calc(var(--bp-bez-b) / 2 - 3.5px);width:21px;height:7px;background:radial-gradient(circle,var(--bp-win-ink) 0 .9px,transparent 1.3px) 0 0 / 3.5px 3.5px;opacity:.7}.bp-led{position:absolute;right:calc(var(--bp-bez-x) + 16px);bottom:calc(var(--bp-bez-b) / 2 - 2.5px);width:5px;height:5px;border-radius:50%;background:var(--bp-led);box-shadow:0 0 5px var(--bp-led),inset 0 -1px 1px #0000004d}.bp-window{container-type:inline-size}@container (max-width: 250px){.bp-grille,.bp-led{display:none}}@container (max-width: 170px){.bp-print{display:none}}.bp-body>.cam-bottom,.bp-body>.ev-row{position:relative}.bp-body .cam-bottom{padding:9px 16px 11px}.bp-body .ev-row{margin:0 12px 6px;padding:2px 12px;border-radius:12px;background:#15120f;box-shadow:inset 0 2px 4px #000000b3}.bp-body .roll-btn,.bp-body .roll-btn.has-shots{color:#ddd6c9;background:linear-gradient(180deg,#0c0b09,#1b1915);border-radius:12px;box-shadow:inset 0 2px 6px #000000d9,inset 0 0 0 1px #ffffff0d,0 0 0 3px var(--bp-frame),0 0 0 4px #00000059,0 2px 4px 3px #00000040;transition:transform .12s var(--bp-ease)}.bp-body .roll-btn.has-shots{box-shadow:inset 0 2px 6px #000000d9,inset 0 0 0 1px #ff8a2b73,0 0 0 3px var(--bp-frame),0 0 0 4px #00000059,0 2px 4px 3px #00000040}.bp-body .roll-btn:active:not(:disabled){transform:scale(.98)}.bp-body .last-shot .thumb{border-radius:6px;box-shadow:0 0 0 3px var(--bp-frame),0 0 0 4px #0006,0 3px 6px 3px #0000004d}.bp-body .last-shot.instant .thumb{border-radius:2px}.bp-body .shutter{border:0;transition:transform .12s var(--bp-ease)}.bp-body .shutter span{transition:transform .1s ease,filter .1s ease}.bp-body .shutter:active:not(:disabled) span,.bp-body .shutter.busy span{transform:scale(.92);filter:brightness(.86)}.bp-body .shutter.starting{animation:bp-wait 1.1s ease-in-out infinite alternate}.bp-body .shutter.starting span{transform:scale(.92);opacity:.65}@keyframes bp-wait{0%{opacity:1}to{opacity:.55}}.bp-body[data-shutter=knurl] .shutter{background:radial-gradient(closest-side,transparent 84%,rgba(0,0,0,.4) 86%,transparent 92%),repeating-conic-gradient(var(--bp-shutter-rim) 0 4deg,var(--bp-shutter) 4deg 8deg);box-shadow:0 0 0 2px #0000008c,0 0 0 5px #ffffff12,0 5px 9px #00000080,inset 0 0 0 1px #ffffff4d}.bp-body[data-shutter=knurl] .shutter span{width:58px;height:58px;background:repeating-radial-gradient(circle at 50% 50%,#ffffff29 0 1px,#0000000d 1px 2.4px),radial-gradient(circle at 50% 28%,#fff,var(--bp-shutter) 46%,var(--bp-shutter-rim) 135%);box-shadow:0 1px 3px #000000a6,inset 0 1px 1px #ffffffd9,inset 0 -2px 3px #0000004d}.bp-body[data-shutter=dome] .shutter{background:radial-gradient(circle at 50% 30%,#ffffff8c,#fff0 62%),var(--bp-shade);box-shadow:0 0 0 1px #00000047,0 4px 8px #00000059,inset 0 2px 1px #ffffff80,inset 0 -2px 3px #00000038}.bp-body[data-shutter=dome] .shutter span{width:60px;height:60px;background:radial-gradient(circle,#fbf8f2 0 5.5px,rgba(0,0,0,.22) 6px,transparent 7.5px),radial-gradient(70% 50% at 50% 20%,#fff9,#fff0 72%),radial-gradient(circle at 50% 62%,var(--bp-shutter) 55%,var(--bp-shutter-rim));box-shadow:0 2px 3px #00000073,inset 0 -3px 5px #00000040}.bp-body[data-shutter=rubber] .shutter{background:radial-gradient(circle at 50% 28%,#3c3c3c,#151515 70%);box-shadow:0 0 0 1.5px #000000bf,0 4px 8px #00000080,inset 0 1px #ffffff29}.bp-body[data-shutter=rubber] .shutter span{width:54px;height:54px;background:radial-gradient(60% 45% at 50% 22%,#ffffff73,#fff0 70%),var(--bp-shutter);box-shadow:0 0 0 3px #00000080,0 1px 0 3px #ffffff14,inset 0 -2px 3px #00000059}.bp-body[data-shutter=jelly] .shutter{background:radial-gradient(circle at 50% 30%,#ffffff59,#fff0 65%),var(--bp-shutter-rim);box-shadow:0 4px #00000040,0 6px 10px #0000004d,inset 0 2px #ffffff59}.bp-body[data-shutter=jelly] .shutter span{width:64px;height:64px;background:radial-gradient(60% 38% at 50% 18%,#ffffffd9,#fff0 75%),radial-gradient(80% 50% at 50% 100%,#ffffff59,#fff0 70%),var(--bp-shutter);box-shadow:inset 0 -4px 6px #0000002e,0 2px #0000002e}.bp-body[data-shutter=trigger] .shutter{border-radius:24px;background:linear-gradient(180deg,#3a3a3a,#141414);box-shadow:0 0 0 1.5px #000c,0 4px 8px #00000080,inset 0 1px #ffffff2e}.bp-body[data-shutter=trigger] .shutter span{width:56px;height:56px;border-radius:16px;background:radial-gradient(70% 45% at 50% 18%,#ffffff73,#fff0 72%),linear-gradient(180deg,var(--bp-shutter),var(--bp-shutter-rim));box-shadow:0 2px 3px #0009,inset 0 1px #ffffff4d,inset 0 -2px 2px #0000004d}.bp-body[data-shutter=console] .shutter{background:radial-gradient(circle at 50% 65%,#ffffff59,#fff0 70%),var(--bp-shade);box-shadow:inset 0 3px 5px #00000059,0 1px #ffffff8c}.bp-body[data-shutter=console] .shutter span{width:58px;height:58px;background:radial-gradient(60% 40% at 50% 22%,#ffffff73,#fff0 72%),radial-gradient(circle at 50% 60%,var(--bp-shutter) 60%,var(--bp-shutter-rim));box-shadow:0 3px 0 var(--bp-shutter-rim),0 4px 5px #00000059}.bp-body .shutter.cancel span{background:#3a1d1a;color:#ff8a7f;box-shadow:inset 0 0 0 2px #ff6b5e;transform:scale(.86)}@media (max-width: 374px){.bp-body{width:calc(100% - 8px);--bp-r: 22px}.bp-body .cam-top{gap:4px;padding-left:3px;padding-right:3px}.bp-body .cam-top .chip{padding:0 7px}.bp-body .cam-top .cam-name{padding:0 6px}.bp-body .cam-name .chip-txt{letter-spacing:0}.bp-body .cam-bottom{padding-left:12px;padding-right:12px}}@media (orientation: landscape) and (max-height: 500px){.bp-body{--bp-r: 18px;margin-top:calc(2px + var(--safe-t));margin-bottom:4px}.bp-body .cam-top{padding-top:3px;padding-bottom:2px}.bp-body .cam-bottom{padding-top:4px;padding-bottom:6px}}@media (forced-colors: active){html .bp-decor,html .bp-window{display:none}html .bp-body{border:1px solid CanvasText}html .bp-body .shutter{border:4px solid ButtonText}html .bp-body .shutter span{background:ButtonText}}
