*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#d0c8d8;background:#141220;font-family:Raleway,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#1a1628}::-webkit-scrollbar-thumb{background:#f97a3a4d;border-radius:3px}.auth-container{background:#141220;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:#231e32f2;border:1px solid #f97a3a14;border-radius:20px;width:100%;max-width:420px;padding:48px 40px;box-shadow:0 24px 80px #00000080,0 0 60px #f97a3a0a}.auth-logo{text-align:center;margin-bottom:36px}.auth-logo-icon{border-radius:16px;width:80px;height:80px;margin:0 auto 12px;display:block}.auth-logo h1{color:#f0ebe4;letter-spacing:1px;margin:0;font-family:Raleway,sans-serif;font-size:26px;font-weight:700}.auth-subtitle{color:#7a7290;margin:8px 0 0;font-size:14px;font-weight:400}.auth-form{flex-direction:column;gap:20px;display:flex}.auth-field label{color:#9990a8;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.auth-field input{color:#e8e0f0;box-sizing:border-box;background:#141220e6;border:1px solid #786e8c26;border-radius:12px;outline:none;width:100%;padding:14px 16px;font-family:Raleway,sans-serif;font-size:15px;transition:border-color .25s,box-shadow .25s}.auth-field input:focus{border-color:#f97a3a66;box-shadow:0 0 16px #f97a3a1a}.auth-field input::placeholder{color:#4e4660}.auth-error{color:#f97a3a;text-align:center;background:#e845301a;border:1px solid #e8453033;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:500}.auth-submit{color:#fff;cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,#e84530,#f97a3a);border:none;border-radius:12px;margin-top:4px;padding:14px;font-family:Raleway,sans-serif;font-size:15px;font-weight:700;transition:all .25s}.auth-submit:hover:not(:disabled){background:linear-gradient(135deg,#f05540,#ffa04a);transform:translateY(-2px);box-shadow:0 6px 28px #f97a3a59}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.generator-container{color:#d0c8d8;background:#141220;min-height:100vh}.gen-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#141220f2;border-bottom:1px solid #f97a3a14;justify-content:space-between;align-items:center;padding:16px 28px;display:flex;position:sticky;top:0}.gen-header-left{align-items:center;gap:10px;display:flex}.gen-logo{border-radius:6px;width:32px;height:32px}.gen-header h1{letter-spacing:1px;color:#f0ebe4;margin:0;font-family:Raleway,sans-serif;font-size:18px;font-weight:700}.gen-header-right{align-items:center;gap:14px;display:flex}.gen-user{color:#9990a8;font-size:14px}.gen-logout{color:#f97a3a;cursor:pointer;background:#e845301a;border:1px solid #e8453026;border-radius:10px;padding:7px 18px;font-family:Raleway,sans-serif;font-size:13px;font-weight:600;transition:all .2s}.gen-logout:hover{background:#e8453033;border-color:#e845304d}.gen-main{gap:24px;max-width:1100px;margin:0 auto;padding:24px 28px;display:flex}@media (width<=768px){.gen-main{flex-direction:column;padding:16px}}.gen-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#231e32d9;border:1px solid #f97a3a0f;border-radius:16px;padding:24px}.gen-panel h2{text-transform:uppercase;letter-spacing:1.5px;color:#9990a8;margin:0 0 20px;font-family:Raleway,sans-serif;font-size:13px;font-weight:700}.gen-controls{flex-shrink:0;width:340px}@media (width<=768px){.gen-controls{width:100%}}.gen-preview-panel{flex-direction:column;flex:1;display:flex}.gen-group{margin-bottom:22px}.gen-group label{color:#8a8098;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.gen-input{color:#e8e0f0;letter-spacing:1px;box-sizing:border-box;background:#141220e6;border:1px solid #786e8c1f;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-family:Courier New,monospace;font-size:14px;transition:border-color .25s}.gen-input:focus{border-color:#f97a3a59}.gen-hint{color:#5e5570;margin-top:5px;font-size:11px;display:block}.gen-color-mode{background:#14122099;border-radius:10px;gap:4px;padding:3px;display:flex}.gen-color-mode button{color:#7a7290;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:9px;font-family:Raleway,sans-serif;font-size:13px;font-weight:600;transition:all .2s}.gen-color-mode button.active{color:#f97a3a;background:#f97a3a26}.gen-color-stops{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.gen-color-stops-compact{margin-bottom:8px}.gen-color-stop{position:relative}.gen-color-stop.active .gen-color-swatch{box-shadow:0 0 0 2px #f97a3a}.gen-color-swatch{cursor:pointer;border:2px solid #ffffff1a;border-radius:8px;width:32px;height:32px;transition:box-shadow .2s}.gen-color-swatch:hover{border-color:#ffffff4d}.gen-color-remove{color:#fff;cursor:pointer;background:#f44;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.gen-color-add{color:#7a7290;cursor:pointer;background:0 0;border:2px dashed #f97a3a40;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .2s;display:flex}.gen-color-add:hover{color:#f97a3a;border-color:#f97a3a80}.gen-picker-wrap{flex-direction:column;align-items:center;gap:8px;display:flex}.gen-picker-wrap-compact{gap:6px}.gen-picker-wrap .react-colorful{border-radius:10px;width:100%!important;height:132px!important}.gen-hex-input{color:#e8e0f0;text-align:center;box-sizing:border-box;background:#141220e6;border:1px solid #786e8c1f;border-radius:8px;outline:none;width:100%;padding:8px 12px;font-family:Courier New,monospace;font-size:13px}.gen-range{accent-color:#f97a3a;width:100%}.gen-preview-area{background-color:#0a081280;background-image:linear-gradient(45deg,#322a3c66 25%,#0000 25%),linear-gradient(-45deg,#322a3c66 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#322a3c66 75%),linear-gradient(-45deg,#0000 75%,#322a3c66 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-repeat:repeat;background-size:16px 16px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:12px;flex:1;justify-content:center;align-items:center;min-height:120px;margin-bottom:16px;padding:24px;display:flex}.gen-preview-img{image-rendering:pixelated;image-rendering:crisp-edges;max-width:100%}.gen-preview-empty{color:#5e5570;font-style:italic}.gen-preview-info{text-align:center;margin-bottom:16px}.gen-size-info{color:#7a7290;font-size:12px}.gen-actions{gap:10px;display:flex}.gen-btn{cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px;font-family:Raleway,sans-serif;font-size:14px;font-weight:700;transition:all .25s}.gen-btn:disabled{opacity:.4;cursor:not-allowed}.gen-btn-primary{color:#fff;background:linear-gradient(135deg,#e84530,#f97a3a)}.gen-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#f05540,#ffa04a);transform:translateY(-1px);box-shadow:0 5px 24px #f97a3a59}.gen-btn-secondary{color:#f9974a;background:#f97a3a14;border:1px solid #f97a3a26}.gen-btn-secondary:hover:not(:disabled){background:#f97a3a26;border-color:#f97a3a4d}.gradient-bar-wrap{margin-bottom:14px;padding:0 8px}.gradient-bar-track{height:12px;padding-bottom:22px;position:relative}.gradient-bar-fill{box-sizing:border-box;border:1px solid #786e8c2e;border-radius:6px;width:100%;height:12px}.gradient-flag{cursor:grab;z-index:2;filter:drop-shadow(0 1px 3px #00000059);flex-direction:column;align-items:center;width:16px;transition:filter .12s;display:flex;position:absolute;top:14px;transform:translate(-50%)}.gradient-flag:active{cursor:grabbing}.gradient-flag.active{z-index:3;filter:drop-shadow(0 0 6px #f97a3a8c)}.gradient-flag-arrow{border-bottom:5px solid #ffffffd9;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0}.gradient-flag.active .gradient-flag-arrow{border-bottom-color:#fff}.gradient-flag-body{box-sizing:border-box;border:2px solid #ffffffd9;border-radius:3px;width:16px;height:16px;position:relative;overflow:hidden}.gradient-flag.active .gradient-flag-body{border-color:#fff;width:18px;height:18px}.gradient-flag-checker{z-index:-1;background-image:linear-gradient(45deg,#5046644d 25%,#0000 25%),linear-gradient(-45deg,#5046644d 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#5046644d 75%),linear-gradient(-45deg,#0000 75%,#5046644d 75%);background-position:0 0,0 3px,3px -3px,-3px 0;background-size:6px 6px;position:absolute;inset:0}.gen-divider{background:#f97a3a14;height:1px;margin:18px 0}.gen-badge-mode-switch{margin-bottom:10px}.gen-color-editor{background:linear-gradient(#1f1b2ed1,#151221eb);border:1px solid #786e8c24;border-radius:16px;padding:14px;box-shadow:inset 0 1px #ffffff08}.gen-color-editor-head{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px;display:flex}.gen-color-editor-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;display:grid}.gen-color-editor-head label{letter-spacing:.9px;margin-bottom:0;font-size:11px}.gen-color-mode-compact{width:100%;min-width:0}.gen-color-mode-compact button{padding:8px;font-size:12px}.gen-color-mode-scope{width:100%}.gen-color-editor .gradient-bar-wrap{margin:6px 0 10px;padding:0 6px}.gen-inline-color-control{margin-top:8px}.gen-color-code-field{width:100%}.gen-color-code-shell{background:linear-gradient(#1b1728e6,#141220f2);border:1px solid #786e8c24;border-radius:12px;padding:10px;box-shadow:inset 0 1px #ffffff08}.gen-color-code-field.compact label{margin-bottom:6px;font-size:10px}.gen-inline-color-row{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px;display:grid}.gen-color-format-switch{margin-bottom:8px}.gen-color-format-switch button{padding:7px;font-size:12px}.gen-color-native{cursor:pointer;background:#141220e6;border:1px solid #786e8c1f;border-radius:8px;width:44px;height:36px;padding:4px}.gen-color-code-input-wrap{flex:1;position:relative}.gen-inline-color-input{flex:1}.gen-color-code-input{padding-right:42px}.gen-eyedropper-btn{color:#ffd2b2;cursor:pointer;background:linear-gradient(135deg,#e8453038,#f97a3a2e);border:1px solid #f97a3a2e;border-radius:8px;justify-content:center;align-items:center;width:34px;height:30px;line-height:1;transition:all .2s;display:inline-flex;position:absolute;top:50%;right:5px;transform:translateY(-50%);box-shadow:0 0 0 1px #ffffff05,0 4px 12px #f97a3a24}.gen-eyedropper-btn:hover{color:#fff2e8;background:linear-gradient(135deg,#e8453057,#f97a3a47);border-color:#f97a3a61}.gen-eyedropper-icon-svg{color:#ffcfaa;width:15px;height:15px}.gen-eyedropper-overlay{z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gen-eyedropper-overlay-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05060cd1;position:absolute;inset:0}.gen-eyedropper-overlay-panel{background:linear-gradient(#1a1726fa,#100e18fa);border:1px solid #f97a3a2e;border-radius:18px;flex-direction:column;width:min(92vw,1100px);height:min(88vh,760px);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 80px #00000073}.gen-eyedropper-overlay-head{color:#f0e8de;border-bottom:1px solid #f97a3a1a;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.gen-eyedropper-toolbar{align-items:center;gap:8px;display:flex}.gen-eyedropper-zoom-btn{color:#ffd1ad;cursor:pointer;background:#f97a3a14;border:none;border-radius:10px;width:32px;height:32px;font-size:18px}.gen-eyedropper-zoom-label{text-align:center;color:#ffba88;min-width:44px;font-size:13px;font-weight:700}.gen-eyedropper-close{color:#ffba88;cursor:pointer;background:#f97a3a14;border:none;border-radius:10px;width:32px;height:32px;font-size:20px}.gen-eyedropper-canvas-wrap{cursor:crosshair;flex:1;justify-content:flex-start;align-items:flex-start;padding:16px;display:flex;position:relative;overflow:auto}.gen-eyedropper-canvas{border-radius:12px;flex-shrink:0;box-shadow:0 10px 30px #00000059}.gen-eyedropper-hover{pointer-events:none;z-index:2;position:absolute;transform:translate(20px,20px)}.gen-eyedropper-hover-zoom{background-color:#1a1726;background-repeat:no-repeat;border:2px solid #ffd2b2e6;border-radius:12px;width:72px;height:72px;box-shadow:0 8px 20px #00000059}.gen-eyedropper-hover-color{border:2px solid #ffd2b2e6;border-radius:8px;width:72px;height:18px;margin-top:6px;box-shadow:0 8px 20px #00000040}.icon-picker{margin-top:8px}.icon-picker-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px;margin-bottom:8px;display:grid}.icon-picker-item{cursor:pointer;background:#141220b3;border:2px solid #786e8c1f;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;padding:4px;transition:all .2s;display:flex}.icon-picker-item img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.icon-picker-item:hover{background:#f97a3a0f;border-color:#f97a3a59}.icon-picker-item.active{background:#f97a3a1a;border-color:#f97a3a;box-shadow:0 0 8px #f97a3a4d}.icon-upload-btn{color:#7a7290;font-size:20px;font-weight:300}.icon-upload-btn:hover{color:#f97a3a}.gen-icon-clear{color:#e84530;cursor:pointer;background:#e8453014;border:1px solid #e845301f;border-radius:8px;padding:6px 14px;font-family:Raleway,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.gen-icon-clear:hover{background:#e8453026;border-color:#e8453040}.gen-size-inputs{align-items:center;gap:8px;margin-top:4px;display:flex}.gen-size-field{flex:1;align-items:center;gap:6px;display:flex}.gen-size-field span{color:#7a7290;min-width:14px;font-size:12px;font-weight:700}.gen-size-field .gen-input{width:100%;padding:8px 10px;font-size:13px}.gen-size-x{color:#5e5570;font-size:14px;font-weight:600}.app-loading{color:#f9974a;background:#141220;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;font-family:Raleway,sans-serif;font-size:14px;display:flex}.app-loading-spinner{border:3px solid #f97a3a33;border-top-color:#f97a3a;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
