:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f5fb;--surface:#fff;--border:#e4e1f0;--text:#1c1a27;--text-muted:#635f77;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-bg:#f1e9ff;--danger:#dc2626;--danger-bg:#fef2f2;--success:#16a34a;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px #1c1a270a, 0 12px 32px -16px #1c1a272e;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}img{max-width:100%;display:block}a{color:var(--accent)}button{font:inherit}.page{flex:1;width:100%;max-width:960px;margin:0 auto;padding:0 20px 64px}.site-header{align-items:center;gap:10px;padding:24px 20px 8px;display:flex}.site-header .logo{width:28px;height:28px}.site-header .brand{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.hero{text-align:center;padding:32px 0 28px}.hero h1{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.15}.hero .accent{color:var(--accent)}.hero p.lede{color:var(--text-muted);max-width:56ch;margin:0 auto;font-size:1.05rem}.hero .badges{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.badge{color:var(--accent);background:var(--accent-bg);border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:600}.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}@media (width<=560px){.tool-card{padding:18px}}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-sm);text-align:center;cursor:pointer;background:#fbfaff;padding:48px 24px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent);background:var(--accent-bg);outline:none}.dropzone.dragging{border-color:var(--accent);background:var(--accent-bg)}.dropzone .icon{width:44px;height:44px;color:var(--accent);margin:0 auto 14px}.dropzone h2{margin:0 0 6px;font-size:1.1rem}.dropzone p{color:var(--text-muted);margin:0;font-size:.92rem}.dropzone .browse-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;margin-top:16px;padding:10px 22px;font-weight:600;display:inline-block}.dropzone .browse-btn:hover{background:var(--accent-hover)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.progress-view{text-align:center;padding:40px 20px}.spinner{border:3px solid var(--accent-bg);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress-view h2{margin:0 0 6px;font-size:1.1rem}.progress-view p{color:var(--text-muted);margin:0 0 16px;font-size:.9rem}.progress-bar{background:var(--accent-bg);border-radius:999px;width:100%;max-width:320px;height:8px;margin:0 auto;overflow:hidden}.progress-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .2s}.error-view{text-align:center;padding:36px 20px}.error-view .icon{width:40px;height:40px;color:var(--danger);margin:0 auto 14px}.error-view h2{margin:0 0 8px;font-size:1.1rem}.error-view p{color:var(--text-muted);margin:0 0 20px}.result-view{flex-direction:column;gap:20px;display:flex}.compare-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=620px){.compare-grid{grid-template-columns:1fr}}.image-panel{border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden}.image-panel .panel-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:#fbfaff;padding:8px 12px;font-size:.78rem;font-weight:600}.image-panel .panel-body{justify-content:center;align-items:center;min-height:220px;padding:12px;display:flex}.image-panel .panel-body img{width:auto;max-height:360px;margin:0 auto}.checkerboard{background-color:#fff;background-image:linear-gradient(45deg,#d8d5e6 25%,#0000 25%),linear-gradient(-45deg,#d8d5e6 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#d8d5e6 75%),linear-gradient(-45deg,#0000 75%,#d8d5e6 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.crop-frame{touch-action:none;margin:0 auto;line-height:0;display:inline-block;position:relative;overflow:hidden}.crop-stage{position:absolute;inset:0}.crop-selection{outline:1px solid var(--accent);cursor:move;border:1.5px solid #fff;position:absolute;box-shadow:0 0 0 9999px #110f1e73}.crop-handle{border:2px solid var(--accent);background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%)}.crop-handle-nw{cursor:nwse-resize;top:0;left:0}.crop-handle-ne{cursor:nesw-resize;top:0;left:100%}.crop-handle-sw{cursor:nesw-resize;top:100%;left:0}.crop-handle-se{cursor:nwse-resize;top:100%;left:100%}.crop-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.aspect-group{gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:600}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip-active{background:var(--accent);border-color:var(--accent);color:#fff}.crop-buttons{gap:10px;display:flex}.btn-sm{padding:8px 18px;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary:disabled:hover{border-color:var(--border);color:var(--text)}.crop-error{color:var(--danger);text-align:center;margin:-8px 0 0;font-size:.85rem}.result-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:12px 26px;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.privacy-note{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;font-size:.85rem;display:flex}.privacy-note svg{width:16px;height:16px;color:var(--success);flex-shrink:0}.select-view{flex-direction:column;gap:16px;display:flex}.select-intro{text-align:center}.select-intro h2{margin:0 0 4px;font-size:1.15rem}.select-intro p{color:var(--text-muted);margin:0;font-size:.9rem}.select-stage{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fbfaff;justify-content:center;align-items:center;padding:12px;display:flex;overflow:hidden}.select-stage img{width:auto;max-height:420px}.select-canvas{cursor:pointer;touch-action:manipulation;border-radius:6px}.select-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.object-chips,.select-bulk{flex-wrap:wrap;gap:6px;display:flex}.select-count{text-align:center;color:var(--text-muted);margin:-8px 0 0;font-size:.85rem}.content{flex-direction:column;gap:36px;margin-top:56px;display:flex}.content h2{letter-spacing:-.01em;margin:0 0 10px;font-size:1.4rem}.content h3{margin:0 0 6px;font-size:1.05rem}.content p{color:var(--text-muted);margin:0 0 8px}.content .grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=700px){.content .grid-3{grid-template-columns:1fr}}.content .step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px}.content .step .num{background:var(--accent-bg);width:26px;height:26px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:10px;font-size:.85rem;font-weight:700;display:inline-flex}.faq-item{border-top:1px solid var(--border);padding:16px 0}.faq-item:first-child{border-top:none;padding-top:0}.site-footer{text-align:center;color:var(--text-muted);padding:28px 20px;font-size:.85rem}.site-footer a{color:var(--text-muted);text-decoration:underline}.kofi-banner{background:var(--accent-bg);border-bottom:1px solid var(--border);z-index:50;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:8px 16px;display:flex;position:sticky;top:0}.kofi-banner-text{color:var(--text);font-size:.9rem;font-weight:600}.kofi-widget{align-items:center;display:inline-flex}.kofi-widget .btn-container,.kofi-widget .kofi-button{margin:0}
