:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background-color:var(--bg-page);--bg-page:#eddeca;--backdrop:#3a2c20;--workspace:#c2a67f;--panel:#e6d6bd;--surface:#f4ead6;--surface-alt:#ecdfc8;--surface-hover:#e1d2b6;--inverse-surface:#57432f;--text:#322416;--text-muted:#5f4a32;--text-faint:#69543b;--accent:#8a3524;--accent-strong:#6f2818;--accent-tint:#8a352429;--accent-tint-strong:#8a352461;--glow:#8a352440;--success:#4e7c3a;--success-strong:#3d6330;--success-soft:#e3ecd2;--success-text:#3d6330;--success-glow:#4e7c3a4d;--danger:#9c352c;--danger-strong:#7e2820;--danger-soft:#f3ded4;--danger-text:#7e2820;--warning-soft:#f2e3c0;--warning-text:#7a5a17;--info-soft:#dbe1e8;--info-text:#3a5266;--border:#d3c1a3;--scrollbar-thumb:#8a352473;--scrollbar-thumb-hover:#8a3524a6;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}.dark-mode{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-page:#242424;--backdrop:#333;--workspace:#373737f2;--panel:#424242;--surface:#3d3d3d;--surface-alt:#484848;--surface-hover:#555;--inverse-surface:#4a4a4a;--text:#f0f0f0;--text-muted:#c8c8c8;--text-faint:#909090;--accent:#b86d44;--accent-strong:#9a5638;--accent-tint:#b86d4440;--accent-tint-strong:#b86d4473;--glow:#a0a0a04d;--success:#4d9a4d;--success-strong:#3d7a3d;--success-soft:#1e641ee6;--success-text:#4ade80;--success-glow:#66bb6a59;--danger:#b34a4a;--danger-strong:#9b4a4a;--danger-soft:#641e1ee6;--danger-text:#ff6b6b;--warning-soft:#64501ee6;--warning-text:#fbbf24;--info-soft:#1e4664e6;--info-text:#7dd3fc;--border:#5a5a5a;--scrollbar-thumb:#b86d4480;--scrollbar-thumb-hover:#b86d44b3}a{color:var(--accent);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:var(--accent-strong)}body{width:100%;min-width:320px;height:100%;margin:0}#root{width:100%;height:100%}h1{font-size:3.2em;line-height:1.1}button{background-color:var(--surface-alt);color:var(--text);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:var(--accent)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.faq-page{background:var(--backdrop);min-height:100vh;padding:2rem;position:relative}.camera-logo:focus{outline-offset:2px;border-radius:8px;outline:2px solid #fffc}.faq-container{background:var(--surface);border-radius:16px;width:100%;max-width:800px;margin:0 auto;padding:3rem 2rem;box-shadow:0 10px 40px #0003}.faq-container h1{text-align:center;color:var(--text);margin-bottom:2rem;font-size:2.5rem;font-weight:700}.faq-list{flex-direction:column;gap:1rem;display:flex}.faq-item{border:1px solid var(--border);border-radius:8px;transition:box-shadow .2s;overflow:hidden}.faq-item:hover{box-shadow:0 2px 8px #0000001a}.faq-question{background:var(--surface-alt);text-align:left;width:100%;color:var(--text);cursor:pointer;border:none;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;font-size:1.1rem;font-weight:600;transition:background-color .2s;display:flex}.faq-question:hover{background-color:var(--surface-hover)}.faq-question:focus{outline:2px solid var(--accent);outline-offset:-2px}.faq-icon{color:var(--accent);flex-shrink:0;transition:transform .3s}.faq-icon.open{transform:rotate(180deg)}.faq-answer{background:var(--surface-hover);max-height:0;transition:max-height .3s,padding .3s;overflow:hidden}.faq-answer.open{max-height:500px;padding:1.5rem}.faq-answer p{color:var(--text-muted);margin:0;line-height:1.6}@media (width<=768px){.faq-page{padding:8rem 1rem 1rem}.camera-logo{top:.75rem;left:.75rem}.camera-logo svg{width:128px;height:128px}.faq-container{margin-top:0;padding:2rem 1.25rem}.faq-container h1{margin-bottom:1.5rem;font-size:1.8rem}.faq-question{padding:1rem 1.25rem;font-size:1rem}.faq-answer.open{padding:1.25rem}.faq-answer p{font-size:.95rem}}@media (width<=480px){.faq-page{padding:7rem .75rem .75rem}.camera-logo{top:.5rem;left:.5rem}.camera-logo svg{width:112px;height:112px}.faq-container{margin-top:0;padding:1.5rem 1rem}.faq-container h1{margin-bottom:1rem;font-size:1.5rem}.faq-question{padding:.875rem 1rem;font-size:.95rem}.faq-answer.open{padding:1rem}.faq-answer p{font-size:.9rem}}.tabbar{box-sizing:border-box;align-items:center;gap:.25rem;width:100%;max-width:1400px;margin:0 auto;padding:.25rem .5rem 0;display:flex}.tabbar-dragover{outline:2px dashed var(--accent);outline-offset:-4px;background:var(--accent-tint);border-radius:10px}.tabbar-tabs{scrollbar-width:thin;flex:1;align-items:flex-end;gap:2px;min-width:0;display:flex;overflow-x:auto}.tabbar-tab{min-width:0;max-width:190px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;background:#f4ead699;border:1px solid #2e20144d;border-bottom:none;border-radius:10px 10px 0 0;flex:0 auto;align-items:center;gap:.4rem;padding:.4rem .5rem .4rem .6rem;transition:background .15s;display:flex;position:relative}.tabbar-tab:hover{background:#f8f0e2d9}.tabbar-tab-active{background:var(--surface);font-weight:600}.tabbar-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:22px;height:22px}.tabbar-icon{opacity:.55;flex-shrink:0;width:16px;height:16px}.tabbar-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.8rem;overflow:hidden}.tabbar-close{width:18px;height:18px;color:inherit;opacity:.45;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.tabbar-close svg{width:11px;height:11px}.tabbar-close:hover{opacity:1;background:#2e201426}.tabbar-new{width:28px;height:28px;color:var(--text);background:#f4ead699;border:1px solid #2e20144d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.tabbar-new svg{width:14px;height:14px}.tabbar-new:hover{background:var(--surface)}.tabbar-spinner{border:2px solid var(--accent-tint);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.8s linear infinite tabbar-spin}@keyframes tabbar-spin{to{transform:rotate(360deg)}}.dark-mode .tabbar-tab{color:#ffffffd9;background:#ffffff0f;border-color:#ffffff1f}.dark-mode .tabbar-tab:hover{background:#ffffff1f}.dark-mode .tabbar-tab-active,.dark-mode .tabbar-close:hover{background:#ffffff2e}.dark-mode .tabbar-new{color:#ffffffd9;background:#ffffff0f;border-color:#ffffff26}.dark-mode .tabbar-new:hover{background:#ffffff24}@media (width<=768px){.tabbar-tab{max-width:130px}}.history-panel{width:var(--history-panel-width,180px);min-width:var(--history-panel-width,180px);background:var(--panel);border-radius:12px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}.history-resizer{cursor:col-resize;z-index:10;touch-action:none;justify-content:center;align-items:center;width:9px;height:100%;display:flex;position:absolute;top:0;left:0}.history-resizer:before{content:"";background:var(--accent-tint);border-radius:3px;width:3px;height:28px;transition:background .15s,height .15s}.history-panel:hover .history-resizer:before,.history-resizer:hover:before{background:var(--accent-tint-strong);height:40px}.history-resizer.dragging:before{background:var(--accent);height:52px}.history-panel-header{flex-direction:column;flex-shrink:0;gap:.5rem;display:flex}.history-panel-title-row{justify-content:space-between;align-items:center;display:flex}.history-panel-title{color:var(--text);font-size:.95rem;font-weight:700}.history-panel-count{color:var(--text-faint);font-size:.7rem;font-weight:500}.history-panel-controls{justify-content:center;gap:.375rem;display:flex}.history-btn{border:1px solid var(--border);background:var(--surface-alt);cursor:pointer;width:32px;height:32px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:.8rem;line-height:1;transition:all .2s;display:flex}.history-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);box-shadow:0 2px 6px var(--glow)}.history-btn:disabled{opacity:.35;cursor:not-allowed}.history-btn.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger);box-shadow:0 2px 6px #dc262633}.history-panel-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex;overflow-y:auto}.history-panel-list::-webkit-scrollbar{width:5px}.history-panel-list::-webkit-scrollbar-track{background:0 0}.history-panel-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.history-panel-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.history-thumb{background:var(--surface-alt);cursor:pointer;border:2px solid #0000;border-radius:8px;flex-shrink:0;padding:.375rem;transition:all .2s;position:relative}.history-thumb:hover{box-shadow:0 2px 8px var(--glow);border-color:var(--accent-tint-strong)}.history-thumb.active{border-color:var(--accent);box-shadow:0 2px 10px var(--glow)}.history-thumb.future{opacity:.45}.history-thumb-image{aspect-ratio:1;object-fit:cover;background:var(--surface-hover);border-radius:4px;width:100%;display:block}.history-thumb-info{justify-content:space-between;align-items:center;gap:.25rem;margin-top:.25rem;padding:0 .125rem;display:flex}.history-thumb-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.65rem;font-weight:600;overflow:hidden}.history-thumb-time{color:var(--text-faint);flex-shrink:0;font-size:.55rem}.history-thumb-delete{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:.85rem;line-height:1;transition:background .15s;display:none;position:absolute;top:6px;right:6px}.history-thumb:hover .history-thumb-delete{display:flex}.history-thumb-delete:hover{background:#dc2626e6}.history-panel-footer{border-top:1px solid var(--accent-tint);flex-shrink:0;padding-top:.375rem}.history-panel-shortcuts{text-align:center;color:var(--text-faint);font-size:.55rem;font-weight:500}@media (width<=900px){.history-panel{border-radius:8px;flex-direction:column;gap:.375rem;width:100%;min-width:100%;padding:.5rem;overflow:visible}.history-resizer{display:none}.history-panel-header{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.history-panel-title-row,.history-panel-controls{flex-shrink:0}.history-btn{width:28px;height:28px}.history-panel-list{flex-direction:row;flex:none;gap:.375rem;min-height:0;padding-bottom:4px;overflow:auto hidden}.history-thumb{flex-shrink:0;width:72px;padding:.25rem}.history-thumb-image{aspect-ratio:1;width:100%;height:auto}.history-thumb-info{flex-direction:column;gap:0}.history-thumb-label{white-space:normal;text-overflow:unset;word-break:break-word;font-size:.6rem;line-height:1.2;overflow:visible}.history-thumb-time{white-space:normal;font-size:.5rem}.history-thumb-delete{width:16px;height:16px;font-size:.7rem;display:flex;top:4px;right:4px}.history-panel-footer{display:none}}.landing{background:var(--backdrop);color:#fff;flex-direction:column;width:100%;min-height:100vh;display:flex}.landing-topbar{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:1160px;margin:0 auto;padding:1rem 1.5rem;display:flex}.landing-brand{align-items:center;gap:.625rem;display:flex}.landing-brand-name{letter-spacing:.02em;color:#fff;font-size:1.25rem;font-weight:700}.landing .camera-logo{cursor:pointer;position:static}.landing .camera-logo svg{width:44px;height:44px}.landing .theme-toggle{position:relative;top:auto;right:auto}.landing .theme-toggle-btn{width:40px;height:40px}.landing-topbar-actions{align-items:center;gap:.5rem;display:flex}.landing-topbar-actions .btn{white-space:nowrap;align-items:center;width:auto;height:40px;display:inline-flex}.landing-inner{width:100%;max-width:1160px;margin:0 auto;padding:0 1.5rem}.landing-hero{grid-template-columns:minmax(0,1.1fr) minmax(340px,440px);align-items:center;gap:clamp(2rem,6vw,5rem);min-height:calc(100vh - 96px);padding:1.5rem 0 3rem;display:grid}.landing-copy{flex-direction:column;align-items:flex-start;gap:1.25rem;max-width:580px;display:flex}.landing-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#ffffffd9;background:#ffffff14;border:1px solid #ffffff40;border-radius:999px;margin:0;padding:.35rem .85rem;font-size:.8rem;font-weight:600}.landing-title{color:#fff;text-wrap:balance;margin:0;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;line-height:1.05}.landing-subtitle{color:#ffffffd9;max-width:34rem;margin:0;font-size:1.1rem;line-height:1.6}.landing-features{flex-direction:column;gap:.8rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.landing-features li{color:#ffffffeb;align-items:flex-start;gap:.75rem;font-size:1rem;line-height:1.5;display:flex}.landing-features strong{color:#fff}.landing-feature-icon{background:#ffffff1f;border:1px solid #fff3;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:2px;display:inline-flex}.landing-feature-icon svg{color:#fff;width:14px;height:14px}.landing-note{color:#ffffffbf;margin:.25rem 0 0;font-size:.9rem;font-weight:600}.landing-scroll-link{color:#fff;text-underline-offset:4px;font-size:.95rem;font-weight:600;-webkit-text-decoration:underline #fff6;text-decoration:underline #fff6}.landing-scroll-link:hover{color:#fff;text-decoration-color:#fff}.landing-auth{justify-content:center;display:flex}.auth-card{-webkit-backdrop-filter:blur(20px);background:#00000061;border:1px solid #ffffff24;border-radius:20px;flex-direction:column;gap:1rem;width:100%;max-width:440px;padding:1.75rem;display:flex;box-shadow:0 24px 60px #00000059}.auth-card-heading h2{color:#fff;margin:0 0 .25rem;font-size:1.4rem;font-weight:700}.auth-card-heading p{color:#ffffffbf;margin:0;font-size:.9rem;line-height:1.45}.auth-segment{background:#ffffff1a;border:1px solid #ffffff1f;border-radius:12px;gap:4px;padding:4px;display:flex}.auth-segment-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:1;padding:.55rem .75rem;font-size:.95rem;font-weight:600;transition:background .2s,color .2s}.auth-segment-btn:hover{color:#fff;background:#ffffff14;border-color:#0000}.auth-segment-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 10px #0000004d}.auth-segment-btn:focus-visible{outline-offset:2px;outline:2px solid #fffc}.auth-field{flex-direction:column;gap:.35rem;display:flex}.auth-field label{color:#ffffffe6;font-size:.85rem;font-weight:600}.auth-label-row{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.auth-inline-link{color:#ffffffbf;text-underline-offset:3px;font-size:.8rem;font-weight:500;text-decoration:underline}.auth-inline-link:hover{color:#fff}.auth-field input,.auth-input-wrap input{color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:10px;width:100%;padding:.7rem .85rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,background .2s,box-shadow .2s}.auth-field input::placeholder,.auth-input-wrap input::placeholder{color:#fff6}.auth-field input:focus,.auth-input-wrap input:focus{background:#ffffff24;border-color:#ffffffa6;outline:none;box-shadow:0 0 0 3px #ffffff1f}.auth-input-wrap{position:relative}.auth-input-wrap input{padding-right:2.9rem}.auth-visibility-toggle{color:#fff9;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:color .15s,background .15s;display:flex;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.auth-visibility-toggle:hover{color:#fff;background:#ffffff1f;border-color:#0000}.auth-visibility-toggle svg{width:18px;height:18px}.auth-hint{color:#ffffff8c;margin:0;font-size:.75rem}.auth-submit{background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;padding:.75rem 1rem;font-family:inherit;font-size:1rem;font-weight:700;transition:background .2s,transform .15s,box-shadow .2s;display:inline-flex}.auth-submit:hover:not(:disabled){background:var(--accent-strong);border-color:#0000;transform:translateY(-1px);box-shadow:0 6px 18px #00000059}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-resend{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:10px;width:100%;padding:.65rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .2s,border-color .2s}.auth-resend:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff8c}.auth-resend:disabled{opacity:.6;cursor:not-allowed}.auth-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-footnote{text-align:center;color:#ffffff8c;margin:0;font-size:.78rem;line-height:1.45}.landing-examples{padding:1rem 0 2rem;scroll-margin-top:1.5rem}.landing-examples-intro{text-align:center;max-width:640px;margin:0 auto 1.5rem}.landing-examples-intro h2{color:#fff;margin:0 0 .4rem;font-size:1.9rem;font-weight:700}.landing-examples-intro p{color:#fffc;margin:0;font-size:1rem}@media (width<=960px){.landing-hero{grid-template-columns:1fr;gap:2rem;min-height:0;padding:1rem 0 2.5rem}.landing-copy{max-width:640px}.auth-card{max-width:480px;margin:0 auto}}@media (width<=640px){.landing-topbar{padding:.75rem 1rem}.landing-inner{padding:0 1rem}.landing-brand-name{display:none}.landing-title{font-size:2rem}.auth-card{padding:1.25rem}.landing-examples-intro h2{font-size:1.5rem}}@media (prefers-reduced-motion:reduce){.landing a,.auth-segment-btn,.auth-field input,.auth-input-wrap input,.auth-visibility-toggle,.auth-submit,.auth-resend{transition:none}.auth-submit:hover:not(:disabled){transform:none}}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow-x:hidden}.app{background:var(--backdrop);flex-direction:column;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.camera-logo{cursor:pointer;z-index:10;transition:transform .2s;position:absolute;top:1rem;left:1rem}.camera-logo svg{width:56px;height:56px}.theme-toggle{z-index:10;position:absolute;top:1rem;right:1rem}.theme-toggle-btn{cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4ead638;border:none;border-radius:50%;justify-content:center;align-items:center;gap:2px;width:44px;height:44px;padding:0;transition:all .3s;display:flex;box-shadow:0 2px 8px #0000001a}.theme-toggle-btn:hover{background:#f4ead657;transform:scale(1.05);box-shadow:0 4px 12px #0003}.theme-toggle-btn:focus{outline-offset:2px;outline:2px solid #fffc}.theme-toggle-btn svg{color:#fff}.theme-toggle-icon{width:20px;height:20px;display:block}.theme-toggle-icon svg{width:100%;height:100%;display:block}.theme-toggle-chevron{flex-shrink:0;width:9px;height:9px;transition:transform .2s}.theme-toggle-btn.open .theme-toggle-chevron{transform:rotate(180deg)}.theme-toggle-menu{background:var(--surface);border:1px solid var(--border);z-index:20;border-radius:12px;flex-direction:column;gap:2px;min-width:200px;padding:.375rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 8px 24px #0000002e}.theme-toggle-item{cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--text);background:0 0;border:none;border-radius:8px;align-items:center;gap:.625rem;padding:.5rem .625rem;transition:background .15s;display:flex}.theme-toggle-item:hover,.theme-toggle-item.active{background:var(--surface-hover)}.theme-toggle-item-icon{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.theme-toggle-item-icon svg{width:100%;height:100%;display:block}.theme-toggle-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.theme-toggle-item-label{font-size:.875rem;font-weight:600;line-height:1.3}.theme-toggle-item-desc{color:var(--text-faint);font-size:.75rem;line-height:1.3}.theme-toggle-check{width:14px;height:14px;color:var(--accent);flex-shrink:0}.top-actions{z-index:10;align-items:center;gap:.5rem;display:flex;position:absolute;top:calc(1rem + 9px);left:calc(1.75rem + 56px)}.top-actions .btn.faq-link{white-space:nowrap;align-items:center;min-width:fit-content;max-width:fit-content;height:38px;padding:0 12px;font-size:.875rem;display:inline-flex;position:static;top:auto;left:auto}@media (width<=768px){.top-actions{gap:.5rem;top:calc(.5rem + 9px);left:calc(1.5rem + 56px)}.top-actions .btn.faq-link{height:38px;padding:0 8px;font-size:.75rem}}.camera-logo:hover{transform:scale(1.05)}.camera-logo:focus{outline-offset:2px;outline:2px solid #fffc}.header{text-align:center;color:#fff;padding:2rem 1rem}.header h1{text-shadow:2px 2px 4px #0003;margin-bottom:.5rem;font-size:3rem;font-weight:700}.header p{opacity:.9;font-size:1.2rem}.main{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:.5rem;display:flex;position:relative;overflow:auto}.upload-area{background:var(--surface);cursor:pointer;border-radius:16px;width:100%;max-width:600px;padding:4rem 3rem;transition:all .3s;box-shadow:0 10px 40px #0003}.upload-area:hover{transform:translateY(-5px);box-shadow:0 15px 50px #0000004d}.upload-content{flex-direction:column;align-items:center;gap:1rem;display:flex}.upload-icon{width:80px;height:80px;color:var(--accent)}.upload-area p{color:var(--text);text-align:center;font-size:1.2rem;font-weight:500}.upload-hint{color:var(--text-muted);font-size:.9rem}.file-input{display:none}.upload-wrapper{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:600px;display:flex}.url-divider{width:100%;color:var(--text-faint);align-items:center;gap:1rem;font-size:.85rem;display:flex}.url-divider:before,.url-divider:after{content:"";background:var(--border);flex:1;height:1px}.url-input-row{gap:.5rem;width:100%;display:flex}.url-input{border:2px solid var(--border);background:var(--surface-alt);color:var(--text);border-radius:8px;outline:none;flex:1;padding:.65rem 1rem;font-size:.95rem;transition:border-color .2s}.url-input:focus{border-color:var(--accent)}.url-input:disabled{opacity:.6;cursor:not-allowed}.url-submit-btn{white-space:nowrap;min-width:80px}.workspace{background:var(--workspace);width:100%;max-width:100%;height:100%;box-shadow:none;border-radius:16px;flex-direction:column;padding:0;display:flex;position:relative}.panel-toggle-btn{z-index:100;background:var(--accent);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .3s;display:none;position:absolute;top:1rem;right:1rem;box-shadow:0 4px 12px #0003}.panel-toggle-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px #0000004d}.panel-toggle-btn svg{color:#fff;width:24px;height:24px}.panel-overlay{z-index:50;background:#00000080;display:none;position:absolute;inset:0}.panel-overlay.overlay-visible{display:block}@media (width<=768px){.panel-overlay.overlay-visible{z-index:55;position:fixed}}.workspace-content{flex:1;gap:2rem;min-height:0;display:flex}.left-panel{width:var(--left-panel-width,400px);min-width:var(--left-panel-width,400px);background:var(--panel);border-radius:12px;flex-direction:column;padding:1.5rem;display:flex;position:relative;box-shadow:0 4px 12px #0000001a}.left-panel-resizer{cursor:col-resize;z-index:10;touch-action:none;justify-content:center;align-items:center;width:9px;height:100%;display:flex;position:absolute;top:0;right:0}.left-panel-resizer:before{content:"";background:var(--accent-tint);border-radius:3px;width:3px;height:28px;transition:background .15s,height .15s}.left-panel:hover .left-panel-resizer:before,.left-panel-resizer:hover:before{background:var(--accent-tint-strong);height:40px}.left-panel-resizer.dragging:before{background:var(--accent);height:52px}.panel-mobile-close-btn{display:none}.panel-header{border-bottom:2px solid var(--accent-tint);flex-direction:column;gap:.75rem;min-height:45px;margin-bottom:1.5rem;padding-top:.5rem;padding-bottom:1rem;display:flex;position:relative}.panel-header h2{color:var(--accent);margin:0;font-size:1.5rem;font-weight:700}.panel-header-actions{z-index:10;position:absolute;top:.5rem;left:0}.btn-download{padding:8px 16px;font-size:.9rem;display:inline-block}.processing-timer{background:var(--accent);color:#fff;text-align:center;border-radius:8px;padding:.75rem 1rem;font-size:.95rem;font-weight:600;animation:2s ease-in-out infinite pulse}.processing-timer.job-done{background:var(--success);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.85}}.drop-image-btn{background:var(--danger);border-radius:6px;align-self:flex-start;padding:8px 16px;font-size:.85rem;transition:all .3s}.drop-image-btn:hover{background:var(--danger-strong);transform:translateY(-1px);box-shadow:0 4px 12px #b91c1c59}.panel-functions{scrollbar-width:auto;scrollbar-color:var(--scrollbar-thumb) #00000014;flex-direction:column;flex:1;gap:.5rem;padding-right:12px;display:flex;overflow-y:scroll}.panel-functions::-webkit-scrollbar{width:14px}.panel-functions::-webkit-scrollbar-track{background:#00000014;border-radius:7px}.panel-functions::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:7px;min-height:40px}.panel-functions::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.panel-search{margin-bottom:1rem;position:relative}.panel-search-input{border:2px solid var(--border);background:var(--surface-alt);width:100%;color:var(--text);box-sizing:border-box;border-radius:8px;outline:none;padding:.65rem 2.6rem .65rem 1rem;font-size:.95rem;transition:border-color .2s}.panel-search-input:focus{border-color:var(--accent)}.panel-search-clear{background:var(--border);width:1.5rem;height:1.5rem;color:var(--text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.panel-search-clear:hover{background:var(--accent);color:var(--surface-alt)}.panel-search-clear svg{width:.85rem;height:.85rem}.panel-search-empty{text-align:center;color:var(--text-muted);opacity:.8;padding:1.5rem 0;font-weight:600}.function-card{background:var(--surface-alt);border-radius:10px;padding:.6rem .75rem;transition:all .3s;position:relative;box-shadow:0 2px 8px #00000014}.function-card:hover{box-shadow:0 4px 16px var(--glow)}.function-card.active{border:2px solid var(--accent)}.function-card-wrapper{display:block}.function-card-wrapper.current-operation .function-card{border:2px solid var(--success);box-shadow:0 0 0 3px var(--success-glow), 0 4px 16px var(--success-glow);animation:1.6s ease-in-out infinite current-operation-pulse}@keyframes current-operation-pulse{0%,to{box-shadow:0 0 0 3px var(--success-glow), 0 4px 16px var(--success-glow)}50%{box-shadow:0 0 0 6px var(--accent-tint), 0 4px 16px var(--success-glow)}}@media (prefers-reduced-motion:reduce){.function-card-wrapper.current-operation .function-card{animation:none}}.function-header{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.function-icon{width:20px;height:20px;color:var(--accent);flex-shrink:0}.function-header h3{color:var(--text);min-width:0;margin:0;font-size:.95rem;font-weight:600;line-height:1.2}.function-cost-badge{background:var(--accent);color:#fff;white-space:nowrap;border-radius:999px;flex-shrink:0;align-self:flex-start;margin-left:auto;padding:.2rem .4rem;font-size:.7rem;font-weight:600;line-height:1}.function-description{color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem;line-height:1.3}.function-card .btn{padding:6px 12px;font-size:.8rem}.angle-selector{margin-bottom:.5rem}.function-card .angle-label{margin-bottom:.25rem}.function-card .angle-select,.function-card .angle-custom-input{padding:.375rem .5rem;font-size:.8rem}.angle-label{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}.angle-controls{flex-direction:column;gap:.5rem;display:flex}.angle-select{border:1px solid var(--border);background-color:var(--surface-alt);width:100%;color:var(--text);cursor:pointer;border-radius:8px;padding:.625rem;font-size:.9rem;transition:border-color .2s}.angle-select:hover{border-color:var(--accent)}.angle-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);outline:none}.angle-select:disabled{background-color:var(--surface-hover);cursor:not-allowed;opacity:.6}.angle-custom-input{border:1px solid var(--border);background-color:var(--surface-alt);width:100%;color:var(--text);border-radius:8px;padding:.625rem;font-size:.9rem;transition:border-color .2s}.angle-custom-input:hover{border-color:var(--accent)}.angle-custom-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);outline:none}.angle-custom-input:disabled{background-color:var(--surface-hover);cursor:not-allowed;opacity:.6}.angle-custom-input::placeholder{color:var(--text-faint)}.function-actions{flex-direction:column;gap:.5rem;display:flex}.panel-footer{border-top:2px solid var(--accent-tint);margin-top:auto;padding-top:1rem}.right-panel{flex-direction:column;flex:1;min-width:0;display:flex}.mode-switcher{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1rem;display:flex}.mode-btn{border:2px solid var(--accent);cursor:pointer;background:var(--surface-alt);color:var(--text);text-transform:uppercase;letter-spacing:.5px;border-radius:8px;padding:10px 24px;font-size:.95rem;font-weight:600;transition:all .3s}.mode-btn:hover{box-shadow:0 4px 12px var(--glow);transform:translateY(-2px)}.mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-full{text-align:center;width:100%}.buttons{gap:1rem;display:flex}.example-showcase{width:100%;max-width:1400px;box-shadow:none;background:0 0;border-radius:16px;margin:0 auto 2rem;padding:2rem}.example-header{text-align:center;margin-bottom:2rem}.example-header h2{color:#fff;margin-bottom:.5rem;font-size:2rem;font-weight:700}.example-header p{color:#ffffffd9;font-size:1.1rem}.examples-row{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.examples-row+.examples-row{margin-top:2rem}.examples-row-bottom{justify-content:center}.example-card{min-width:240px;max-width:calc(25% - 1.125rem);box-shadow:none;-webkit-backdrop-filter:blur(16px);background:#00000040;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;flex:calc(25% - 1.125rem);gap:1rem;padding:1.25rem;display:flex}.example-card-header{text-align:center}.example-card-header h3{color:#fff;margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.example-card-header p{color:#fffc;margin:0;font-size:.9rem}.example-container{flex-direction:column;gap:1.5rem;display:flex}.example-comparison-wrapper{width:100%}.example-comparison-wrapper .comparison-container{border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000026}.example-comparison-wrapper .comparison-container>div{min-height:unset!important;max-height:unset!important;height:auto!important}.example-description{text-align:center;background:#00000026;border-left:4px solid #ffffff80;border-radius:8px;padding:.75rem}.example-description p{color:#ffffffe6;margin:0;font-size:.9rem;line-height:1.5}.example-description strong{color:#fff;font-weight:700}@media (width<=768px){.example-showcase{padding:1.5rem}.example-header h2{font-size:1.5rem}.examples-row{flex-direction:column;align-items:center}.example-card{max-width:100%;min-width:unset}}.btn{cursor:pointer;text-transform:uppercase;letter-spacing:.5px;text-align:center;border:none;border-radius:8px;padding:12px 32px;font-size:1rem;font-weight:600;transition:all .3s;display:inline-block}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #0003}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-secondary{background:var(--inverse-surface);color:#fff}.processing-hint{opacity:.9;text-transform:none;letter-spacing:normal;margin-left:.5rem;font-size:.85rem;font-style:italic;font-weight:400}.error-message{background:var(--danger-soft);color:var(--danger-text);text-align:center;border-radius:8px;margin-bottom:1rem;padding:1rem;font-weight:500}.image-container{justify-content:center;align-items:center;width:100%;min-height:400px;display:flex;position:relative}.image-area{align-items:flex-start;gap:.75rem;width:100%;display:flex}.image-area .image-container{flex:1;min-width:0}.zoomable-image{justify-content:center;align-items:center;width:100%;display:flex}.image-tools-panel{background:var(--panel);border-radius:10px;flex-direction:column;flex-shrink:0;gap:.5rem;padding:.5rem;display:flex;box-shadow:0 2px 8px #0000001a}.image-tools-btn{background:var(--surface-alt);cursor:pointer;width:40px;height:40px;color:var(--accent);border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.image-tools-btn:hover:not(:disabled){border-color:var(--accent);box-shadow:0 2px 8px var(--glow)}.image-tools-btn.active{background:var(--accent);color:#fff;border-color:var(--accent-strong);box-shadow:inset 0 2px 6px #00000059, 0 0 0 2px var(--accent-tint);transform:translateY(1px)}.image-tools-btn:disabled{opacity:.5;cursor:not-allowed}.image-tools-btn svg{width:22px;height:22px}.image-tools-save-group{display:flex;position:relative}.image-tools-btn-done{background:var(--success);color:#fff;border-color:var(--success-strong)}.image-tools-btn-done:hover:not(:disabled){border-color:var(--success-strong);box-shadow:0 2px 8px var(--success-glow)}.image-tools-btn-cancel{background:var(--danger);color:#fff;border-color:var(--danger-strong)}.image-tools-btn-cancel:hover:not(:disabled){border-color:var(--danger-strong);box-shadow:0 2px 8px #b91c1c73}.image-tools-save-group .image-tools-btn.is-spinning svg{animation:.8s linear infinite image-tools-spin}@keyframes image-tools-spin{to{transform:rotate(360deg)}}.save-format-menu{z-index:20;background:var(--surface);border:1px solid var(--accent-tint);border-radius:8px;flex-direction:column;gap:2px;min-width:92px;padding:6px;display:flex;position:absolute;top:0;left:calc(100% + 6px);box-shadow:0 4px 16px #0003}.save-format-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:2px 6px 4px;font-size:.7rem}.save-format-option{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:.85rem;font-weight:600;transition:background .15s,color .15s}.save-format-option:hover:not(:disabled){background:var(--accent);color:#fff}.save-format-option:disabled{opacity:.5;cursor:not-allowed}.crop-overlay{z-index:5;cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;position:absolute;inset:0}.crop-selection{pointer-events:none;position:absolute;box-shadow:0 0 0 9999px #00000059}.crop-selection-border{border:2px dashed #fff;position:absolute;inset:0}.single-image{width:100%;max-width:800px}.single-image img{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:70vh;display:block}.comparison-container{aspect-ratio:auto;border-radius:8px;width:100%;max-width:1000px;overflow:hidden}.comparison-container>div{min-height:50vh;max-height:75vh;height:auto!important}.comparison-item{width:100%;height:100%;position:relative}.comparison-item img{object-fit:contain;width:100%;height:100%;display:block}.comparison-label{color:#fff;white-space:nowrap;background:#000000b3;border-radius:20px;padding:8px 16px;font-size:.9rem;font-weight:500;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (width>=769px){.right-panel{min-height:0}.image-area{flex:1;min-height:0}.image-container{align-self:stretch;min-height:0}.image-container .zoomable-image{height:100%}.image-container .comparison-container{flex-direction:column;justify-content:center;height:100%;display:flex}.image-container .comparison-container>div{min-height:0;max-height:100%}.image-container .single-image{flex-direction:column;justify-content:center;height:100%;display:flex}.image-container .single-image img{max-height:100%}}.dialog-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);text-align:center;border-radius:16px;width:90%;max-width:400px;padding:2rem;box-shadow:0 20px 60px #0000004d}.dialog p{color:var(--text);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.5}.dialog-buttons{justify-content:center;gap:1rem;display:flex}.dialog-buttons .btn{min-width:100px}@media (width<=768px){.camera-logo{width:48px;height:48px;top:.75rem;left:.75rem}.camera-logo svg{width:34px;height:34px}.theme-toggle{top:.75rem;right:.75rem}.theme-toggle-btn{width:48px;height:48px}.header{padding:6rem .5rem 1rem}.header h1{font-size:1.8rem}.header p{font-size:.9rem}.main{padding:1rem 1rem 0}.upload-area{padding:2rem 1.5rem}.upload-wrapper{padding:0 .5rem}.url-input-row{flex-direction:column}.url-submit-btn{width:100%}.upload-icon{width:60px;height:60px}.upload-area p{font-size:1rem}.workspace{flex-direction:column;height:auto;max-height:none;padding:0;display:flex;overflow-y:visible}.main{flex:none;justify-content:flex-start;align-items:stretch;padding:0;overflow:visible}.app{height:auto;min-height:0;overflow:visible}.panel-toggle-btn{display:flex}.panel-toggle-btn.panel-open{display:none}.workspace-content{flex-direction:column;flex:none;gap:.5rem}.left-panel{width:100%;min-width:0;transition:all .3s}.left-panel-resizer,.left-panel.panel-hidden{display:none}.left-panel.panel-visible{z-index:60;scrollbar-width:auto;scrollbar-color:var(--scrollbar-thumb) #0000001a;border-radius:16px 16px 0 0;max-height:70vh;animation:.3s ease-out slideUp;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 20px #0000004d}.left-panel.panel-visible::-webkit-scrollbar{width:18px}.left-panel.panel-visible::-webkit-scrollbar-track{background:#0000001a;border-radius:9px}.left-panel.panel-visible::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:9px;min-height:50px}.left-panel.panel-visible::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.panel-mobile-close-btn{z-index:10;background:var(--accent);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;min-width:32px;max-width:32px;height:32px;min-height:32px;max-height:32px;margin-left:auto;padding:0;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0003}.panel-mobile-close-btn svg{color:#fff;width:16px;height:16px}.dark-mode .panel-mobile-close-btn{background:#626262}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.panel-header h2{font-size:1.2rem}.panel-header.has-active-timer{z-index:5;background:var(--panel);margin:-1.5rem -1.5rem 1.5rem;padding:.5rem 1.5rem 1rem;position:sticky;top:0}.function-card{padding:.6rem .75rem}.function-header h3{font-size:.95rem}.function-description{font-size:.8rem}.panel-functions{flex:0 auto;overflow-y:visible}.buttons{flex-direction:column;gap:.75rem;margin-bottom:1rem}.btn{width:100%;padding:10px 24px;font-size:.9rem}.right-panel{flex:none}.image-area{flex-direction:column;flex:none;align-items:stretch;min-height:0}.image-area .image-container{flex:none;justify-content:center;align-items:center;min-height:0;max-height:50vh;display:flex;overflow:hidden}.image-tools-panel{flex-direction:row;justify-content:center}.image-tools-btn{width:36px;height:36px}.image-tools-btn svg{width:20px;height:20px}.save-format-menu{top:calc(100% + 6px);left:0}.single-image{width:100%;max-width:100%}.single-image img{object-fit:contain;width:100%;max-height:45vh}.comparison-container{width:100%;max-width:100%}.comparison-container>div{min-height:30vh;max-height:50vh}.comparison-item img{object-fit:contain;width:100%;height:100%}.comparison-label{padding:6px 12px;font-size:.8rem;bottom:8px}}@media (width<=480px){.camera-logo{top:.5rem;left:.5rem}.camera-logo svg{width:70px;height:70px}.theme-toggle{top:.5rem;right:.5rem}.theme-toggle-btn{width:56px;height:56px}.header{padding-top:5rem}.header h1{font-size:1.5rem}.header p{font-size:.8rem}.workspace{max-height:calc(100vh - 100px);padding:0}.buttons{margin-bottom:.75rem}.btn{padding:8px 20px;font-size:.85rem}.single-image img{max-height:40vh}.comparison-container>div{min-height:25vh;max-height:40vh}}.auth-page{background:var(--backdrop);grid-template:"logo.""auth showcase""auth showcase"1fr/auto 1fr;gap:1rem;width:100%;min-height:100vh;padding:5rem 1rem 1rem;display:grid;position:relative}.auth-page>.header{grid-area:header;align-self:start;display:none}.auth-page>.example-showcase{grid-area:showcase;margin-top:1rem}.auth-container{background:var(--surface);border-radius:16px;width:100%;max-width:450px;margin-top:1rem;padding:2rem;box-shadow:0 10px 40px #0003}.auth-container-compact{-webkit-backdrop-filter:blur(20px);z-index:5;background:#00000059;border:1px solid #ffffff26;border-radius:12px;grid-area:auth;place-self:start;width:300px;max-width:calc(100vw - 2rem);margin-top:1rem;padding:1.25rem;box-shadow:0 8px 32px #0003}.auth-form-compact{flex-direction:column;gap:.75rem;display:flex}.form-group-compact{flex-direction:column;gap:.35rem;display:flex}.form-group-compact label{color:#fff;font-size:.85rem;font-weight:500}.form-group-compact input{color:#fff;background:#ffffff1f;border:2px solid #ffffff40;border-radius:6px;padding:.6rem .75rem;font-size:.9rem;transition:border-color .3s}.form-group-compact input::placeholder{color:#ffffff73}.form-group-compact input:focus{border-color:#fff9;outline:none}.form-group-compact input:disabled{color:#fff6;background:#ffffff14}.auth-submit-compact{margin-top:.5rem;padding:.6rem 1rem;font-size:.9rem}.auth-tabs{border-bottom:2px solid #ffffff26;margin-bottom:1.5rem;display:flex}.auth-tab{color:#fff9;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:12px;font-size:1rem;font-weight:600;transition:all .3s}.auth-tab.active{color:#fff;border-bottom-color:#fff}.auth-tab:hover:not(.active){color:#ffffffd9}.auth-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text);font-size:.9rem;font-weight:500}.form-group input{border:2px solid var(--border);background:var(--surface-alt);color:var(--text);border-radius:8px;padding:12px;font-size:1rem;transition:border-color .3s}.form-group input:focus{border-color:var(--accent);outline:none}.form-group input:disabled{background:var(--surface-hover);color:var(--text-faint)}.auth-message{text-align:center;border-radius:8px;padding:12px;font-size:.9rem}.auth-message.error{background:var(--danger-soft);color:var(--danger-text)}.auth-message.success{background:var(--success-soft);color:var(--success-text)}.auth-submit{margin-top:.5rem}.user-bar{background:#ffffff1a;border-radius:8px;align-items:center;gap:1rem;margin-top:calc(1rem + 56px);margin-bottom:1rem;padding:.5rem 1rem;display:flex}.user-bar-toggle{display:none}.user-bar-content{display:contents}.user-bar-overlay{display:none}.user-email{color:#fff;font-size:.9rem}.btn-small{padding:6px 12px;font-size:.85rem}.faq-button{margin-left:auto}.btn-danger{background:var(--danger);color:#fff}.account-info{margin-bottom:1.5rem}.status-badge{border-radius:20px;padding:6px 12px;font-size:.85rem;font-weight:500;display:inline-block}.status-badge.confirmed{background:var(--success-soft);color:var(--success-text)}.status-badge.unconfirmed{background:var(--warning-soft);color:var(--warning-text)}.account-actions{flex-direction:column;gap:.75rem;display:flex}.delete-confirm{border-top:2px solid var(--border);padding-top:1.5rem}.delete-confirm h3{color:var(--danger-text);margin-bottom:.5rem}.change-password-section{border-top:2px solid var(--border);padding-top:1.5rem}.change-password-section h3{color:var(--accent);margin-bottom:1rem}.change-password-actions{gap:1rem;margin-top:1rem;display:flex}.warning-text{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.delete-actions{gap:1rem;margin-top:1rem;display:flex}.loading-screen{background:var(--backdrop);color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}.loading-spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.auth-page{flex-direction:column;padding:5rem 1rem 1rem;display:flex}.auth-container{padding:1.5rem}.auth-container-compact{order:2;justify-self:stretch;width:100%;max-width:100%;margin:1rem auto;position:relative;top:0;right:0}.auth-page>.header{display:none}.auth-page>.example-showcase{order:3;margin-top:1rem}.camera-logo{top:.5rem;left:.5rem}.theme-toggle{top:.5rem;right:.5rem}.user-bar{background:0 0;margin:56px 0 1rem;padding:0;position:static}.user-bar-toggle{cursor:pointer;flex:none;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex}.user-bar-toggle svg{width:20px;height:20px}.user-bar-overlay{z-index:90;display:block}.user-bar-content{background:var(--surface);z-index:100;border-radius:8px;flex-direction:column;align-items:stretch;gap:.5rem;padding:1rem;display:none;position:fixed;top:56px;left:.5rem;right:.5rem;box-shadow:0 4px 16px #00000040}.user-bar-open .user-bar-content{display:flex}.user-bar-content .user-email,.user-bar-content .credits-badge,.user-bar-content .btn{text-align:center;justify-content:center;width:100%}.delete-actions,.change-password-actions{flex-direction:column}}.dark-mode .theme-toggle-btn{background:#5a5a5a99;box-shadow:0 2px 8px #0000004d}.dark-mode .theme-toggle-btn:hover{background:#6e6e6eb3;box-shadow:0 4px 12px #0006}.dark-mode .header h1{text-shadow:2px 2px 4px #00000080}.dark-mode .auth-container{box-shadow:none;background:0 0}.dark-mode .user-bar{background:#0003}@media (width<=768px){.dark-mode .user-bar-content{background:#2a2a2a}}.dark-mode-toggle{justify-content:center;align-items:center;min-width:36px;padding:6px 12px;display:flex}.dark-mode-toggle svg{display:block}.credits-badge{background:var(--accent);color:#fff;white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.credits-balance-card{text-align:center;background:var(--accent);color:#fff;border-radius:12px;margin-bottom:24px;padding:24px}.credits-balance-number{font-size:3rem;font-weight:700;line-height:1.2}.credits-balance-label{opacity:.85;margin-bottom:16px;font-size:1rem}.credits-stats{justify-content:center;gap:32px;display:flex}.credit-stat{flex-direction:column;align-items:center;display:flex}.credit-stat-value{font-size:1.25rem;font-weight:600}.credit-stat-label{opacity:.75;font-size:.8rem}.credits-purchase-section{margin-bottom:24px}.credits-package{border:2px solid var(--border);text-align:center;border-radius:12px;padding:20px}.credits-package h3{margin:0 0 4px;font-size:1.25rem}.credits-package p{color:var(--text-muted);margin:0 0 16px;font-size:.9rem}.credits-tabs{border:1px solid var(--border);border-radius:8px;gap:0;margin-bottom:16px;display:flex;overflow:hidden}.credits-tab{background:var(--surface-alt);cursor:pointer;color:var(--text-muted);border:none;flex:1;padding:10px 16px;font-size:.9rem;font-weight:500;transition:all .2s}.credits-tab.active{background:var(--accent);color:#fff}.credits-tab:hover:not(.active){background:var(--surface-hover)}.credits-history{flex-direction:column;gap:8px;display:flex}.credits-empty{text-align:center;color:var(--text-faint);padding:24px}.credits-history-item{border:1px solid var(--border);background:var(--surface-alt);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.credits-history-left{flex-direction:column;gap:2px;display:flex}.credits-history-title{font-size:.95rem;font-weight:500}.credits-history-date{color:var(--text-faint);font-size:.8rem}.credits-history-right{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.credits-history-amount{font-size:.95rem;font-weight:600}.credits-history-status{border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:500}.status-completed{background:var(--success-soft);color:var(--success-text)}.status-pending{background:var(--warning-soft);color:var(--warning-text)}.status-failed{background:var(--danger-soft);color:var(--danger-text)}.status-refunded{background:var(--info-soft);color:var(--info-text)}.admin-nav-btn{font-weight:600;background:var(--accent)!important;color:#fff!important;border:none!important}.admin-nav-btn:hover{opacity:.9}.admin-container{width:100%;max-width:100%!important}.admin-search{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.admin-search-input{border:1px solid var(--border);background:var(--surface-alt);color:var(--text);border-radius:8px;outline:none;flex:1;padding:.6rem .8rem;font-size:.9rem;transition:border-color .15s}.admin-search-input:focus{border-color:var(--accent)}.admin-user-count{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.admin-table-wrap{margin:0 -.5rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th{text-align:left;border-bottom:2px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:.7rem .6rem;font-size:.75rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.7rem .6rem}.admin-table tr:hover td{background:var(--accent-tint)}.admin-email-cell{min-width:200px}.admin-balance{text-align:right;min-width:5em;margin-right:.3rem;font-weight:600;display:inline-block}.admin-allowance-active{color:var(--success-text);font-weight:600}.admin-allowance-none{color:var(--text-faint)}.admin-date-cell{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.admin-credits-cell{flex-wrap:nowrap;align-items:center;gap:.3rem;display:inline-flex}.admin-actions-cell{white-space:nowrap;flex-wrap:wrap;gap:.5rem;display:flex}.admin-action-btn{padding:.2rem .5rem;font-size:.75rem}.admin-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.admin-tag-admin{background:var(--accent);color:#fff}.admin-tag-user{background:var(--surface-hover);color:var(--text-muted)}.admin-tag-unconfirmed{background:var(--warning-soft);color:var(--warning-text);margin-left:.4rem;font-size:.65rem}.admin-dialog{width:460px}.admin-dialog h3{margin-top:0;margin-bottom:.5rem;font-size:1.1rem}.admin-dialog-subtitle{color:var(--text-muted);margin-bottom:1rem;font-size:.85rem}.admin-dialog-note{color:var(--text-muted);margin:.5rem 0 0;font-size:.8rem;line-height:1.4}.admin-dialog .form-group:last-of-type{margin-bottom:0}.admin-dialog .dialog-buttons{margin-top:1.5rem}.dialog-buttons-stacked{flex-direction:column;align-items:stretch}.dialog-buttons-stacked .btn{width:100%}.auth-message.success{border-radius:8px;margin-bottom:1rem;padding:.7rem 1rem;font-size:.9rem}.credits-daily-info{text-align:center;color:var(--text-muted);margin-top:.5rem;font-size:.85rem}.credits-daily-info strong{color:var(--success-text)}.credits-next-credit{color:var(--text-faint);margin-top:.2rem;font-size:.8rem}@media (width<=768px){.admin-container{padding:0 .5rem}.admin-table{font-size:.8rem}.admin-table th,.admin-table td{padding:.5rem .3rem}.admin-dialog{width:95vw}}.tab-bodies{flex:1;width:100%;min-height:0;display:flex}.tab-body{flex:1;min-width:0;min-height:0;display:none}.tab-body-active{display:flex}.workspace-root{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}
