.banner{position:relative;width:var(--card-w);height:var(--card-h);overflow:hidden;display:flex;flex-direction:column;background:#fff}.band-top{flex:1 1 48%;background:var(--blue)}.band-bottom{flex:1 1 52%;background:var(--green)}.card{position:absolute;top:9%;bottom:9%;left:7%;right:7%;background:#fff;border-radius:32px;box-shadow:0 10px 30px #0000001f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.2%;padding:4% 6%;overflow:hidden}.space-above-logo{flex:0 1 4%;width:100%}.logo-wrap{flex:0 1 36%;width:100%;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}.logo-wrap img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.text-block{flex:1 1 auto;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.5%;min-height:0}.title{color:#111;font-family:Alike,Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.5px;text-align:center;line-height:1.15;width:calc(var(--card-w) - 40px);margin-left:calc(-1 * (var(--card-w) * .06 - 20px));margin-right:calc(-1 * (var(--card-w) * .06 - 20px));max-width:none}.subtitle{color:var(--gold);font-family:Garet,Trebuchet MS,sans-serif;font-weight:700;letter-spacing:3px;text-transform:uppercase;text-align:center}.cta-btn{background:var(--red);color:#fff;font-family:Norwester,Arial Narrow,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:1px;text-align:center;border-radius:10px;padding:2.2% 6%;box-shadow:0 6px 14px #d81b4a59;white-space:nowrap}.website{color:#111;text-align:center;letter-spacing:.5px}.download-button{padding:.95rem 2.5rem;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:8px;font-family:var(--font-ui);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 16px var(--accent-glow);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.download-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 24px var(--accent-glow)}.download-button:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 8px var(--accent-glow)}.download-button:disabled{background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border-primary);box-shadow:none;cursor:not-allowed}.download-spinner{width:14px;height:14px;border:2px solid var(--text-muted);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.preview-container{flex:1;display:flex;flex-direction:column;background-color:var(--bg-primary);background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;position:relative;overflow:hidden;height:100%}.workspace-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#0a0a0abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-primary);height:48px;flex-shrink:0;z-index:5}.workspace-title{display:flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-primary)}.pulse-dot{width:6px;height:6px;background-color:var(--success);border-radius:50%;display:inline-block;box-shadow:0 0 8px var(--success);animation:pulse-ring 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-ring{0%,to{opacity:1}50%{opacity:.4}}.workspace-stats{display:flex;align-items:center;gap:.75rem;font-size:.7rem;font-weight:500;color:var(--text-secondary)}.dimension-badge{background:var(--bg-tertiary);border:1px solid var(--border-primary);padding:.15rem .5rem;border-radius:4px;font-family:monospace}.zoom-badge{background:var(--bg-tertiary);border:1px solid var(--border-primary);padding:.15rem .5rem;border-radius:4px;color:var(--text-primary);font-weight:600}.canvas-viewport{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:2rem}.preview-wrapper{position:absolute;top:50%;left:50%;width:1080px;height:760px;background:var(--bg-secondary);border-radius:20px;overflow:hidden;box-shadow:0 30px 70px #000000b3,0 0 0 1px var(--border-primary);transform-origin:center center;transition:transform var(--transition-fast) ease-out}.workspace-footer{display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#0a0a0abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border-primary);height:64px;flex-shrink:0;z-index:5}@media (max-width: 1024px){.preview-container{height:45%;border-bottom:none;flex-shrink:0}}.text-control{margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem}.text-control label{display:block;font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px}.text-control input,.text-control textarea{width:100%;padding:.65rem .85rem;border:1px solid var(--border-primary);border-radius:6px;font-size:.85rem;font-family:var(--font-ui);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background:var(--bg-primary)}.text-control input::placeholder,.text-control textarea::placeholder{color:var(--text-muted)}.text-control input:hover,.text-control textarea:hover{border-color:var(--border-secondary)}.text-control input:focus,.text-control textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #ffffff14}.text-control textarea{resize:vertical;min-height:72px;line-height:1.4}.slider-control{margin-bottom:1.25rem;display:flex;flex-direction:column}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.slider-control label{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px}.slider-value{font-size:.8rem;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-primary);padding:.1rem .4rem;border-radius:4px}.slider-control input[type=range]{width:100%;height:6px;border-radius:3px;background:var(--border-primary);outline:none;-webkit-appearance:none;cursor:pointer;transition:background var(--transition-fast)}.slider-control input[type=range]:hover{background:var(--border-secondary)}.slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:1px solid var(--accent-contrast);box-shadow:0 0 4px #0006;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.slider-control input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);background:var(--accent-hover)}.slider-control input[type=range]::-webkit-slider-thumb:active{transform:scale(.9)}.slider-control input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:1px solid var(--accent-contrast);box-shadow:0 0 4px #0006;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.slider-control input[type=range]::-moz-range-thumb:hover{transform:scale(1.2);background:var(--accent-hover)}.slider-control input[type=range]::-moz-range-thumb:active{transform:scale(.9)}.logo-extractor{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.logo-extractor-label{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px}.input-group{display:flex;gap:.5rem}.url-input{flex:1;padding:.65rem .85rem;border:1px solid var(--border-primary);border-radius:6px;font-size:.85rem;font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-primary);transition:all var(--transition-fast)}.url-input::placeholder{color:var(--text-muted)}.url-input:hover{border-color:var(--border-secondary)}.url-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 2px #ffffff14}.extract-button{padding:0 1.25rem;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:6px;cursor:pointer;font-family:var(--font-ui);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;transition:all var(--transition-fast)}.extract-button:hover:not(:disabled){background:var(--accent-hover)}.extract-button:disabled{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-muted);cursor:not-allowed}.error-message{padding:.6rem .8rem;background:var(--error-bg);border:1px solid var(--error);color:var(--error);border-radius:6px;font-size:.75rem;margin-top:.25rem}.logo-preview{margin-top:.75rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;display:flex;justify-content:center;align-items:center}.logo-preview img{max-width:64px;max-height:64px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.control-panel{width:360px;background:var(--bg-secondary);border-left:1px solid var(--border-primary);display:flex;flex-direction:column;height:100%;flex-shrink:0}.control-tabs{display:flex;border-bottom:1px solid var(--border-primary);background:var(--bg-primary);flex-shrink:0}.tab-btn{flex:1;background:none;border:none;color:var(--text-secondary);font-family:var(--font-ui);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:1rem 0;cursor:pointer;transition:all var(--transition-fast);border-bottom:2px solid transparent}.tab-btn:hover{color:var(--text-primary);background:#ffffff05}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:#ffffff08}.tab-content{flex:1;overflow-y:auto;padding:1.5rem}.control-section{display:flex;flex-direction:column}.section-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-primary);margin-bottom:1.25rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.divider{height:1px;background:var(--border-primary);margin:1.5rem 0}.control-label-header{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:.75rem;display:block}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.palette-card{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;padding:.6rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;align-items:center;transition:all var(--transition-fast)}.palette-card:hover{border-color:var(--border-secondary);transform:translateY(-1px)}.palette-card.active{border-color:var(--border-focus);box-shadow:0 0 0 2px #ffffff1a}.palette-preview{width:100%;height:24px;border-radius:4px;overflow:hidden;display:flex;border:1px solid rgba(255,255,255,.1)}.palette-color-block{flex:1;height:100%}.palette-name{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.palette-card.active .palette-name{color:var(--text-primary)}.custom-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.custom-color-field{display:flex;flex-direction:column;gap:.4rem}.color-label{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.color-input-row{display:flex;align-items:center;gap:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;padding:.35rem .5rem}.color-picker-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border:none;border-radius:4px;cursor:pointer;background:none;padding:0}.color-picker-input::-webkit-color-swatch-wrapper{padding:0}.color-picker-input::-webkit-color-swatch{border:1px solid rgba(255,255,255,.2);border-radius:4px}.color-picker-input::-moz-color-swatch{border:1px solid rgba(255,255,255,.2);border-radius:4px}.color-hex-value{font-size:.75rem;font-family:monospace;color:var(--text-primary);text-transform:uppercase}@media (max-width: 1024px){.control-panel{width:100%;border-left:none;border-top:1px solid var(--border-primary);height:55%;flex-shrink:0}}.app{display:flex;flex-direction:column;height:100vh;width:100vw;background:var(--bg-primary);color:var(--text-primary)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);height:56px;flex-shrink:0;z-index:10}.header-brand{display:flex;align-items:center;gap:.75rem}.brand-icon{width:24px;height:24px;background:var(--accent);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--accent-contrast);font-weight:800;font-size:.85rem;letter-spacing:-.5px}.brand-title{font-size:1rem;font-weight:700;letter-spacing:-.2px;color:var(--text-primary)}.brand-subtitle{font-size:.75rem;color:var(--text-muted);font-weight:400;border-left:1px solid var(--border-primary);padding-left:.75rem;margin-left:.25rem}.header-meta{display:flex;align-items:center;gap:1rem}.status-badge{font-size:.7rem;font-weight:600;background:var(--bg-tertiary);border:1px solid var(--border-secondary);color:var(--text-secondary);padding:.25rem .6rem;border-radius:100px;text-transform:uppercase;letter-spacing:.5px}.app-content{display:flex;flex-direction:row;flex:1;height:calc(100vh - 56px);overflow:hidden}@media (max-width: 1024px){.app{height:100vh;overflow:hidden}.app-content{flex-direction:column;height:calc(100vh - 56px);overflow:hidden}}@font-face{font-family:Norwester;font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/norwester@latest/latin-400-normal.woff2) format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/norwester@latest/latin-400-normal.woff) format("woff")}:root{--bg-primary: #0a0b0e;--bg-secondary: #11131c;--bg-tertiary: #171b2a;--border-primary: #1f2438;--border-secondary: #313959;--border-focus: #6366f1;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #475569;--accent: #6366f1;--accent-hover: #4f46e5;--accent-contrast: #ffffff;--accent-glow: rgba(99, 102, 241, .25);--error: #f43f5e;--error-bg: rgba(244, 63, 94, .1);--success: #10b981;--font-ui: "Outfit", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .5);--shadow-md: 0 8px 24px rgba(0, 0, 0, .6);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .8);--transition-fast: .15s ease;--transition-normal: .25s ease}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{width:100%;height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
