@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer: coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}:root{--bg: #0a0c13;--bg-soft: #101628;--surface: rgba(25, 31, 49, .78);--surface2: rgba(33, 41, 65, .88);--border: rgba(136, 159, 214, .22);--text: #eef2ff;--muted: #a8b2d3;--accent: #6f8cff;--accent-hover: #8ea5ff;--danger: #ff6b6b;--success: #5dd39e;--radius: 12px;--font: "Noto Sans SC", system-ui, sans-serif;--mono: "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,#2b3f8f44,transparent 70%),radial-gradient(900px 500px at 90% 0%,#9333ea2a,transparent 70%),linear-gradient(180deg,var(--bg-soft),var(--bg));color:var(--text);min-height:100vh;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button,input,select{font-family:inherit}button{cursor:pointer;border:1px solid #ffffff14;border-radius:var(--radius);padding:.58rem 1.08rem;font-weight:600;background:linear-gradient(135deg,var(--accent),#5573ff);color:#fff;box-shadow:0 6px 20px #5f7dfd30;transition:transform .15s,filter .15s,box-shadow .15s}button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 10px 22px #5f7dfd45}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:linear-gradient(180deg,#2a3558,#222d4d);color:var(--text);box-shadow:none}button.danger{background:linear-gradient(135deg,#ff6b6b,#e5484d);box-shadow:none}input,select{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:.5rem .75rem;outline:none}input:focus,select:focus{border-color:#9eb2ff;box-shadow:0 0 0 3px #6f8cff2a}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.35rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 40px #0000002e}.layout{max-width:1160px;margin:0 auto;padding:1.75rem 1.25rem 2.5rem}.nav{display:flex;align-items:center;gap:1.5rem;padding:.9rem 1.3rem;border-bottom:1px solid #ffffff10;background:#0d1324cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.nav-brand{font-weight:700;font-size:1.05rem;letter-spacing:.3px;color:var(--text)}.nav-links{display:flex;gap:.55rem;flex:1}.nav-links a{color:var(--muted);padding:.4rem .75rem;border-radius:999px}.nav-links a:hover{color:var(--text);background:#6f8cff21}.nav-user{color:var(--muted);font-size:.9rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 768px){.grid-2{grid-template-columns:1fr}}.form-group{margin-bottom:1rem}.error{color:var(--danger);font-size:.9rem;margin-top:.5rem}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.thumb-card{background:var(--surface2);border:1px solid transparent;border-radius:var(--radius);padding:.5rem;cursor:pointer;transition:border-color .15s,transform .15s}.thumb-card:hover,.thumb-card.selected{border-color:var(--accent);transform:translateY(-1px)}.thumb-card img{width:100%;image-rendering:pixelated;border-radius:6px}.thumb-params{font-size:.7rem;color:var(--muted);margin-top:.4rem;font-family:var(--mono);word-break:break-all}.color-swatch{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);flex-shrink:0}.palette-row{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--surface2);border-radius:var(--radius);margin-bottom:.5rem}.steps{display:flex;gap:.55rem;margin-bottom:1.5rem;flex-wrap:wrap}.step{padding:.38rem .82rem;border-radius:999px;font-size:.85rem;background:#7a8eff1a;color:var(--muted);border:1px solid #ffffff10}.step.active{background:var(--accent);color:#fff}.compare-slider{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.compare-slider img{max-width:100%;border-radius:var(--radius)}.page-title{font-size:1.65rem;margin-bottom:.45rem}.page-subtitle{color:var(--muted);margin-bottom:1.2rem;font-size:.95rem}.actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-card{width:100%;max-width:400px}.quality-options{display:flex;flex-direction:column;gap:.5rem}.quality-option{display:grid;grid-template-columns:auto 4rem 1fr;gap:.5rem .75rem;align-items:start;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2);cursor:pointer}.quality-option.active{border-color:var(--accent);box-shadow:0 0 0 1px #6f8cff55}.quality-label{font-weight:600}.quality-hint{grid-column:2 / -1;font-size:.82rem;color:var(--muted)}
