.input-form{max-width:100%}.form-header{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.form-logo{height:50px;width:auto;object-fit:contain}.input-form h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#555;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .2s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group select{cursor:pointer}.form-group textarea{resize:vertical;min-height:80px}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500!important}.checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}small{display:block;margin-top:.25rem;font-size:.8rem;color:#777}.context-fields{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e1e5e9}.context-fields .form-group{margin-bottom:1rem}.context-fields .form-group:last-child{margin-bottom:0}.generate-button{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #667eea66}.generate-button:active:not(:disabled){transform:translateY(0)}.generate-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.export-section{margin-top:2rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;border:1px solid #e1e5e9}.export-section h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#333}.export-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.export-button{padding:.75rem 1rem;border:2px solid #dee2e6;border-radius:8px;background:#fff;color:#495057;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.9rem}.export-button:hover{border-color:#667eea;background:#f8f9ff;color:#667eea}.export-button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.export-button-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d;border-color:#5a6fd8}@media (max-width: 768px){.form-header{gap:.75rem}.form-logo{height:35px}.input-form h2{font-size:1.3rem}.form-group input,.form-group select,.form-group textarea{padding:.6rem;font-size:.95rem}.generate-button{padding:.875rem;font-size:1rem}}.color-swatch{position:relative;min-height:220px;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #00000026;transform:translateZ(0);transition:transform .2s ease,box-shadow .2s ease}.color-swatch:before{content:"";position:absolute;inset:0;background:radial-gradient(1200px 300px at 50% 120%,rgba(255,255,255,.16),transparent 60%);pointer-events:none}.color-swatch:hover{transform:translateY(-4px);box-shadow:0 14px 32px #00000038}.color-info{position:absolute;left:0;right:0;bottom:0;padding:16px 18px 18px;background:linear-gradient(to top,#000000c7,#0000008c 35%,#0000);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.color-name{font-weight:700;font-size:1.1rem;margin:0 0 6px}.color-hex{display:inline-flex;align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:600;font-size:.95rem;padding:4px 8px;border-radius:6px;background:#ffffff1f;margin-bottom:8px}.color-hex:before{content:"";width:10px;height:10px;border-radius:2px;background:currentColor;opacity:.8}.color-rgb,.color-hsl,.color-contrast,.color-luminance{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85rem;opacity:.95}.color-rgb,.color-hsl{margin:2px 0}.color-contrast,.color-luminance{opacity:.85}@media (max-width: 768px){.color-swatch{min-height:180px;border-radius:14px}.color-hex{font-size:.9rem;padding:3px 7px}.color-info{padding:12px 14px 14px}}.typography-preview{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:start}.font-info{display:flex;flex-direction:column;gap:1rem}.font-pair{padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e1e5e9}.font-pair h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#333}.font-name{margin:0 0 .5rem;font-size:1.1rem;font-weight:500;color:#555}.font-weights{margin:0;font-size:.85rem;color:#777}.typography-samples{display:flex;flex-direction:column;gap:1rem}.sample-headline{font-size:2rem;font-weight:700;line-height:1.2;margin:0}.sample-body{font-size:1rem;line-height:1.6;color:#333;margin:0}@media (max-width: 768px){.typography-preview{grid-template-columns:1fr;gap:1rem}.font-info{flex-direction:row;gap:1rem}.font-pair{flex:1;padding:.75rem}.sample-headline{font-size:1.5rem}.sample-body{font-size:.9rem}}.palette-preview{max-width:100%}.palette-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid #e1e5e9}.tab-button{padding:.75rem 1.5rem;background:#f8f9fa;border:1px solid #e1e5e9;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;font-weight:500;transition:all .2s ease;color:#666}.tab-button:hover{background:#e9ecef}.tab-button.active{background:#fff;color:#333;border-color:#dee2e6;position:relative;top:1px}.palette-content{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 10px #0000001a}.palette-section{margin-bottom:2rem}.palette-section:last-child{margin-bottom:0}.palette-section h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#333;border-bottom:2px solid #e1e5e9;padding-bottom:.5rem}.color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.brand-elements{display:flex;flex-direction:column;gap:1rem}.element-item{padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e1e5e9}.element-item strong{display:block;margin-bottom:.5rem;color:#333;font-weight:600}.element-item ul{margin:0;padding-left:1.5rem}.element-item li{margin-bottom:.25rem;color:#555}.palette-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:2rem}.control-group{display:flex;gap:.5rem;align-items:center}.control-group label{display:flex;align-items:center;gap:.5rem;font-weight:500;cursor:pointer}.copy-button,.export-button{padding:.5rem 1rem;border:1px solid #dee2e6;border-radius:6px;background:#fff;cursor:pointer;font-weight:500;transition:all .2s ease}.copy-button:hover{background:#e9ecef;border-color:#adb5bd}.export-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.export-button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.component-preview{padding:2rem;border-radius:8px;border:1px solid #e1e5e9;min-height:200px}.component-preview h1{margin:0 0 1rem;font-size:1.5rem}.component-preview p{margin:0 0 1.5rem;line-height:1.6}.component-preview a{font-weight:500}.component-preview button{margin-right:.5rem;font-weight:500}@media (max-width: 768px){.palette-tabs{flex-wrap:wrap}.tab-button{padding:.5rem 1rem;font-size:.9rem}.palette-content{padding:1rem}.color-grid{grid-template-columns:1fr}.palette-controls{flex-direction:column;gap:1rem;align-items:stretch}.control-group{justify-content:center}.component-preview{padding:1rem}.component-preview h1{font-size:1.25rem}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e1e5e9}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.modal-close:hover{background-color:#f0f0f0;color:#333}.modal-body{padding:1.5rem}.modal-description{margin:0 0 1.5rem;color:#666;line-height:1.5}.selected-palette{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #e1e5e9}.selected-palette h3{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#333}.palette-preview-colors{display:flex;gap:.75rem}.color-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.selected-palette .color-swatch{width:32px;height:32px;border-radius:6px;border:2px solid #e1e5e9}.color-item span{font-size:.75rem;font-weight:500;color:#666}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#333;font-size:.9rem}.form-group input{padding:.75rem;border:2px solid #e1e5e9;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error{border-color:#dc3545}.error-message{color:#dc3545;font-size:.8rem;font-weight:500}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid #e1e5e9}.btn-secondary,.btn-primary{padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;font-size:.9rem}.btn-secondary{background:#f8f9fa;color:#666;border:1px solid #dee2e6}.btn-secondary:hover{background:#e9ecef;border-color:#adb5bd}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.modal-overlay{padding:.5rem}.modal-content{max-height:95vh}.modal-header,.modal-body{padding:1rem}.palette-preview-colors{flex-wrap:wrap;justify-content:center}.modal-actions{flex-direction:column-reverse}.btn-secondary,.btn-primary{width:100%}}.app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#333}.app-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;text-align:center;box-shadow:0 2px 20px #0000001a}.app-header h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-header p{margin:0;font-size:1.1rem;color:#666;font-weight:400}.app-main{display:grid;grid-template-columns:400px 1fr;min-height:calc(100vh - 140px)}.input-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-right:1px solid rgba(0,0,0,.1);overflow-y:auto}.preview-section{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;overflow-y:auto}.error-message{margin-top:2rem;padding:1rem;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33}.error-message h3{margin:0 0 .5rem;font-size:1.1rem}.error-message p{margin:0;font-size:.9rem}@media (max-width: 1024px){.app-main{grid-template-columns:1fr;grid-template-rows:auto 1fr}.input-section{border-right:none;border-bottom:1px solid rgba(0,0,0,.1);max-height:50vh}}@media (max-width: 768px){.app-header{padding:1rem}.app-header h1{font-size:2rem}.app-header p{font-size:1rem}.app-main{padding:0}.input-section,.preview-section{padding:1rem}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}#root{min-height:100vh}.visually-hidden,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*:focus{outline:2px solid #667eea;outline-offset:2px}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #667eea;outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
