@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#12141c;--surface:#1e212b;--surface-2:#2a2e3a;--viewer:#08080a;--border:#2f3340;--text:#f4ecdf;--text-muted:#9c978f;--text-faint:#5e5c58;--accent:#f0603a;--accent-press:#d44e2b;--on-accent:#fff;--selected-bg:#f4ecdf;--selected-text:#14161d;--danger:#e5484d;--success:#3dd68c;--r-sm:12px;--r-md:16px;--r-lg:24px;--r-full:999px;--ease:cubic-bezier(.2, .8, .2, 1);--sans:"Manrope Variable", Manrope, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Cascadia Mono", "Roboto Mono", "Droid Sans Mono", "DejaVu Sans Mono", "Liberation Mono", "Manrope Variable", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-size:100%;line-height:1.375}#root{min-height:100vh;min-height:100dvh}button,input,select{font:inherit;color:inherit}a{color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.t-display{margin:0;font-size:1.875rem;font-weight:800;line-height:2.25rem}.t-title{margin:0;font-size:1.375rem;font-weight:800;line-height:1.75rem}.t-headline{margin:0;font-size:1.125rem;font-weight:800;line-height:1.5rem}.t-body{font-size:1rem;line-height:1.375rem}.t-caption{color:var(--text-muted);font-size:.8125rem;line-height:1.125rem}.t-mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.875rem;line-height:1.125rem}.t-label{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;font-size:.6875rem;font-weight:500;line-height:.875rem}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.danger-text{color:var(--danger)}.page{min-height:100vh;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px);flex-direction:column;max-width:720px;margin:0 auto;display:flex}.stack>*+*{margin-top:16px}.stack-lg>*+*{margin-top:24px}.row{align-items:center;gap:8px;display:flex}.spacer{flex:1}.bottom-actions{margin-top:auto;padding-top:24px}.center{text-align:center}.btn{border-radius:var(--r-full);background:var(--accent);min-height:52px;color:var(--on-accent);cursor:pointer;transition:transform .15s var(--ease), background .15s var(--ease);touch-action:manipulation;border:0;justify-content:center;align-items:center;padding:0 32px;font-size:1.0625rem;font-weight:800;line-height:1.375rem;text-decoration:none;display:inline-flex}.btn:active{background:var(--accent-press);transform:scale(.98)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn.block{width:100%;display:flex}.btn.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn.danger{background:var(--danger);color:var(--on-accent)}.link-btn{min-height:44px;color:var(--text-muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0 8px;text-decoration:underline}.icon-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:0;text-decoration:none;display:inline-flex}.icon-btn .circle{border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);width:44px;height:44px;color:var(--text);justify-content:center;align-items:center;display:flex}.icon-btn svg{width:20px;height:20px}.chip{border-radius:var(--r-full);border:1px solid var(--border);min-height:44px;font-family:var(--mono);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 14px;font-size:.875rem;display:inline-flex}.chip[aria-pressed=true]{background:var(--selected-bg);color:var(--selected-text);border-color:var(--selected-bg)}.field{flex-direction:column;gap:6px;display:flex}.field label{font-weight:700}.input{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);min-height:52px;color:var(--text);padding:0 16px;font-size:1rem}.input:focus{border-color:var(--accent);outline:none}.check{align-items:flex-start;gap:12px;min-height:44px;display:flex}.check input{width:24px;height:24px;accent-color:var(--accent);flex:none;margin:0}.error-box{border-radius:var(--r-sm);border:1px solid var(--danger);background:#e5484d26;padding:12px 16px}.card{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);padding:16px}.list{margin:0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:56px;display:flex}.list>li:last-child{border-bottom:0}.list a{flex:1;padding:8px 0;text-decoration:none;display:block}.camera-header{grid-template-columns:56px 1fr 56px;align-items:start;min-height:88px;display:grid}.camera-header .title{text-align:center;padding-top:4px;overflow:hidden}.camera-header .title h1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.viewer{border-radius:var(--r-lg);background:var(--viewer);border:1px solid var(--border);flex:1;justify-content:center;align-items:center;min-height:240px;display:flex;position:relative;overflow:hidden}.viewer img{object-fit:cover;width:100%;height:100%}.viewer .corner{color:var(--text-faint);position:absolute}.viewer .corner.tl{top:14px;left:16px}.viewer .corner.br{bottom:14px;right:16px}.viewer-state{text-align:center;max-width:320px;padding:24px}.viewer-state .emoji{margin-bottom:12px;font-size:48px;line-height:1}.controls{grid-template-columns:1fr auto 1fr;align-items:center;padding-top:16px;display:grid}.controls .left{justify-self:start}.controls .right{justify-self:end}.shutter{cursor:pointer;width:76px;height:76px;transition:transform .15s var(--ease);touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:0 0;border:4px solid #f0603a80;border-radius:50%;padding:0;position:relative}.shutter.holding{transform:scale(1.12)}.shutter:before{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:4px;box-shadow:inset 0 0 0 3px #ffffff40}.shutter.video:before{background:var(--danger);border-radius:10px;inset:14px}.shutter:active{transform:scale(.92)}.shutter:disabled{border-color:var(--surface-2);cursor:default;transform:none}.shutter:disabled:before{background:var(--surface-2)}.shot-counter{border-radius:var(--r-md);background:var(--viewer);border:1px solid var(--border);width:56px;height:56px;font-family:var(--mono);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:center;align-items:center;display:flex}.shot-counter .now{font-size:1.5rem;font-weight:700;line-height:1.6rem}.shot-counter .next{color:var(--text-faint);font-size:.75rem}.pending-pill{border-radius:var(--r-full);background:var(--surface-2);font-family:var(--mono);margin-top:6px;padding:2px 8px;font-size:.75rem;display:inline-block}.mode-switch{justify-content:center;gap:8px;padding-top:12px;display:flex}.camera-foot{text-align:center;padding-top:8px}.notice{text-align:center;padding:8px 16px 0}.flash{pointer-events:none;z-index:50;background:#fff;animation:.12s linear forwards flash;position:fixed;inset:0}@keyframes flash{0%{opacity:.9}to{opacity:0}}.tabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tab{border-radius:var(--r-md);background:var(--surface);min-height:56px;color:var(--text);cursor:pointer;transition:background .25s var(--ease);border:0;flex-direction:column;justify-content:center;align-items:center;display:flex}.tab .sub{font-family:var(--mono);color:var(--text-muted);font-size:.8125rem}.tab[aria-selected=true]{background:var(--selected-bg);color:var(--selected-text)}.tab[aria-selected=true] .sub{color:var(--selected-text);opacity:.7}.grid-row{grid-template-columns:repeat(var(--cols,2), 1fr);gap:8px;display:grid}.tile{aspect-ratio:3/4;border-radius:var(--r-md);background:var(--viewer);position:relative;overflow:hidden}@supports not (aspect-ratio:3 / 4){.tile{height:0;padding-bottom:133.33%}}.tile img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s var(--ease);position:absolute;inset:0}.tile img.loaded{opacity:1}.tile .badge{border-radius:var(--r-full);font-family:var(--mono);background:#0009;padding:2px 8px;font-size:.75rem;position:absolute;bottom:8px;left:8px}.tile .author{text-shadow:0 1px 2px #000;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 56px);font-size:.75rem;position:absolute;top:8px;left:8px;overflow:hidden}.tile .del{cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;bottom:4px;right:4px}.tile .del span{background:#0009;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.tile .del svg{width:18px;height:18px}.tile.pending:after{content:"";background:#00000073;position:absolute;inset:0}.tile .spinner{z-index:1;margin:auto;position:absolute;inset:0}.tile.failed{outline:2px solid var(--danger)}.tile .tile-msg{z-index:1;font-size:.75rem;position:absolute;inset:auto 8px 8px}.tile-open{cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.spinner{border:3px solid #ffffff40;border-top-color:var(--text);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;padding:40px 8px}.empty .emoji{margin-bottom:12px;font-size:48px;line-height:1}.empty .btn{margin-top:24px}.sheet-backdrop{z-index:40;animation:fade .25s var(--ease);background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:560px;max-height:92vh;padding:28px 16px calc(env(safe-area-inset-bottom) + 12px);animation:slide-up .35s var(--ease);position:relative;overflow-y:auto}.sheet:before{content:"";background:var(--text-faint);border-radius:2px;width:40px;height:4px;margin-left:-20px;position:absolute;top:12px;left:50%}.sheet .close{margin:8px auto 0;display:block}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.qr-box{background:var(--text);border-radius:var(--r-lg);width:288px;max-width:100%;margin:0 auto;padding:24px}.qr-box svg{width:100%;height:auto;display:block}.copy-field{border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text-muted);font-family:var(--mono);text-align:center;overflow-wrap:anywhere;cursor:pointer;padding:16px;font-size:.875rem}.toast-zone{left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 24px);pointer-events:none;z-index:60;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed}.toast{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-full);max-width:100%;animation:fade .25s var(--ease);padding:12px 20px}.download-bar{margin:16px -16px calc(-1 * (env(safe-area-inset-bottom) + 16px));padding:12px 16px calc(env(safe-area-inset-bottom) + 12px);background:var(--bg);border-top:1px solid var(--border);position:sticky;bottom:0}.download-bar .row>.btn{flex:1;padding:0 12px}.switch-row{justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.switch-row input{width:48px;height:28px;accent-color:var(--accent)}.viewer-overlay{z-index:45;background:var(--viewer);flex-direction:column;display:flex;position:fixed;inset:0}.viewer-overlay img,.viewer-overlay video{object-fit:contain;flex:1;width:100%;min-height:0}.viewer-overlay .bar{padding:calc(env(safe-area-inset-top) + 8px) 16px 8px;align-items:center;gap:12px;display:flex}@media (min-width:600px){.grid-row{--cols:3}}@media (prefers-reduced-motion:reduce){.flash{display:none}.sheet{animation:.25s linear fade}.btn,.shutter,.tab{transition:none}.spinner{animation-duration:2s}}.usage{flex-direction:column;gap:6px;display:flex}.usage-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.meter{background:var(--border);-webkit-appearance:none;appearance:none;border:0;border-radius:4px;width:100%;height:8px;overflow:hidden}.meter::-webkit-progress-bar{background:var(--border);border-radius:4px}.meter::-webkit-progress-value{background:var(--accent);border-radius:4px}.meter::-moz-progress-bar{background:var(--accent);border-radius:4px}.meter.warn::-webkit-progress-value{background:var(--danger)}.meter.warn::-moz-progress-bar{background:var(--danger)}.compare{border-collapse:collapse;width:100%}.compare th,.compare td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 6px}.compare thead th{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem}.compare td{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.875rem}.compare td.premium{color:var(--accent);font-weight:600}.price{font-size:2rem;font-weight:800;line-height:1.1}.tile.selected{outline:3px solid var(--accent,#fff);outline-offset:-3px}.tile .select-mark{pointer-events:none;background:#00000073;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-weight:800;display:flex;position:absolute;top:8px;right:8px}.tile.selected .select-mark{background:var(--accent,#fff);color:var(--bg,#000)}.steps{gap:8px;display:flex}.option-list{flex-direction:column;gap:8px;display:flex}.option{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);align-items:center;gap:12px;min-height:56px;padding:12px 16px;display:flex}.option.on{border-color:var(--accent,#fff)}.qty{align-items:center;gap:12px;display:flex}.sum-row{justify-content:space-between;gap:12px;display:flex}.sum-row.total{font-size:1.125rem;font-weight:800}.selection-bar{padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--bg);position:sticky;bottom:0}.notice .spinner{flex:none}.tile .fav{color:#fff;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:absolute;top:4px;right:4px}.tile .fav span{background:#0009;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.tile .fav svg{width:20px;height:20px}.fav[aria-pressed=true]{color:var(--fav,#ff4d6d)}.viewer-overlay .fav-btn{color:#fff;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 8px;display:inline-flex}.viewer-overlay .fav-btn svg{width:24px;height:24px}.viewer-overlay .fav-btn[aria-pressed=true]{color:var(--fav,#ff4d6d)}.chip .chip-count{font-variant-numeric:tabular-nums;opacity:.8}.install-steps{flex-direction:column;gap:6px;margin:0;padding-left:1.4em;display:flex}.share-glyph{vertical-align:-4px;width:20px;height:20px;display:inline-block}.stale-banner{z-index:50;padding:calc(env(safe-area-inset-top) + 6px) 16px 6px;background:var(--surface-2);color:var(--text);text-align:center;font-size:.8125rem;position:sticky;top:0}.crop-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:8px;margin:0;padding:0;list-style:none;display:grid}.crop-thumb{border-radius:var(--r-sm,6px);background:var(--surface);height:0;position:relative;overflow:hidden}.crop-thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.crop-frame{position:absolute;box-shadow:0 0 0 2px #fff,0 0 0 999px #0009}.line-row{align-items:flex-start;gap:12px;padding:8px 0;display:flex}.line-thumb{border-radius:var(--r-sm,6px);cursor:pointer;background:0 0;border:0;flex:0 0 96px;width:96px;padding:0}.line-thumb .crop-thumb{display:block}.line-thumb:focus-visible{outline:2px solid var(--accent,#fff);outline-offset:2px}.crop-editor{border-radius:var(--r-sm,6px);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:move;height:0;position:relative;overflow:hidden}.crop-wrap{--crop-max-h:52vh;max-width:100%;margin:0 auto}@media (max-height:560px){.crop-wrap{--crop-max-h:40vh}}.field-error{color:#ff8a80;margin:0;font-size:.875rem}.input[aria-invalid=true]{border-color:#ff8a80}.crop-editor img{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.crop-editor:focus-visible{outline:2px solid var(--accent,#fff);outline-offset:2px}.crop-frame.low{box-shadow:0 0 0 2px #ffb020,0 0 0 999px #0009}.crop-tools{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.warn-text{color:#ffb020}.list>li.stack{flex-direction:column;align-items:stretch}.legal{overflow-wrap:anywhere;line-height:1.55}.legal h2{margin:24px 0 8px;font-size:1.375rem}.legal h3{margin:20px 0 8px;font-size:1.125rem}.legal p,.legal ul,.legal ol,.legal blockquote,.legal .table-wrap{margin:0 0 12px}.legal ul,.legal ol{padding-left:20px}.legal li+li{margin-top:4px}.legal blockquote{border-left:3px solid var(--text-muted);color:var(--text-muted);padding-left:12px}.legal a{color:inherit;text-decoration:underline}.legal .table-wrap{overflow-x:auto}.legal table{border-collapse:collapse;min-width:100%;font-size:.875rem}.legal th,.legal td{border:1px solid var(--surface);text-align:left;vertical-align:top;padding:6px 8px}
