.grid-generator{min-height:auto;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:2rem}.grid-header{text-align:center;margin-bottom:2rem}.grid-header h1{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;margin-bottom:.5rem}.grid-header p{color:#a0a0b0;font-size:1.1rem}.grid-content{display:grid;grid-template-columns:1fr 360px;gap:var(--tool-content-gap, 2rem);max-width:1500px;margin:0 auto}.grid-main{display:flex;flex-direction:column;gap:1.5rem}.preview-section{background:#f9fafb;border-radius:16px;padding:1.5rem;border:2px solid #d1d5db;box-shadow:0 1px 3px #0000001a}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.preview-header h3{color:#fff;font-size:1.1rem;margin:0}.preview-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.size-control{display:flex;align-items:center;gap:.5rem}.size-control label{color:#a0a0b0;font-size:.85rem}.size-control input{width:70px;padding:.4rem .5rem;background:#0000004d;border:2px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;font-size:.85rem}.color-control input[type=color]{width:36px;height:36px;padding:0;border:2px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;background:none}.checkbox-control{display:flex;align-items:center;gap:.4rem;color:#a0a0b0;font-size:.85rem;cursor:pointer}.checkbox-control input{cursor:pointer;width:16px;height:16px}.preview-container{margin-bottom:1rem}.grid-preview{margin:0 auto;transition:all .3s ease}.grid-preview.show-grid-lines{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:20px 20px}.item-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn{padding:.6rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-add{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-add:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-remove{background:#ef444433;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.btn-remove:hover:not(:disabled){background:#ef44444d}.btn-reset{background:#ffffff26;color:#a0a0b0;border:2px solid rgba(255,255,255,.25)}.btn-reset:hover{background:#ffffff26;color:#fff}.presets-section{background:#ffffff14;border-radius:16px;padding:1.5rem;border:2px solid rgba(255,255,255,.25)}.presets-section h3{color:#fff;font-size:1.1rem;margin:0 0 1rem}.presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.preset-btn{display:flex;flex-direction:column;align-items:flex-start;padding:.75rem;background:#0000004d;border:2px solid rgba(255,255,255,.25);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.preset-btn:hover{background:#667eea33;border-color:#667eea66;transform:translateY(-2px)}.preset-name{color:#fff;font-weight:600;font-size:.875rem;margin-bottom:.25rem}.preset-desc{color:#a0a0b0;font-size:.75rem}.code-section{background:#ffffff14;border-radius:16px;padding:1.5rem;border:2px solid rgba(255,255,255,.25)}.code-section h3{color:#fff;font-size:1.1rem;margin:0 0 1rem}.code-tabs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.code-tab{background:#0000004d;border-radius:8px;overflow:hidden}.code-tab-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.code-tab-header span{color:#fff;font-weight:600;font-size:.875rem}.copy-btn{padding:.4rem .8rem;background:#667eea33;border:1px solid rgba(102,126,234,.3);border-radius:6px;color:#667eea;font-size:.8rem;cursor:pointer;transition:all .2s ease}.copy-btn:hover{background:#667eea4d}.code-output{padding:1rem;margin:0;color:#a0a0b0;font-family:Fira Code,Consolas,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto;white-space:pre;max-height:300px;overflow-y:auto}.grid-sidebar{display:flex;flex-direction:column;gap:1.5rem}.control-section{background:#ffffff14;border-radius:16px;padding:1.25rem;border:2px solid rgba(255,255,255,.25)}.control-section h3{color:#fff;font-size:1rem;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.control-group{margin-bottom:1rem}.control-group:last-child{margin-bottom:0}.control-group>label{display:block;color:#a0a0b0;font-size:.85rem;margin-bottom:.5rem}.quick-controls{display:flex;gap:.5rem;margin-bottom:.5rem}.count-input{width:60px;padding:.5rem;background:#0000004d;border:2px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;font-size:.875rem;text-align:center}.unit-select{flex:1;padding:.5rem;background:#0000004d;border:2px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;font-size:.875rem;cursor:pointer}.text-input{width:100%;padding:.6rem;background:#0000004d;border:2px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;font-size:.85rem;font-family:Fira Code,monospace}.text-input:focus{outline:none;border-color:#667eea80}.gap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.gap-header>label{margin:0}.checkbox-control.small{font-size:.75rem}.slider-control{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.slider-control:last-child{margin-bottom:0}.slider-control label{color:#a0a0b0;font-size:.8rem;min-width:30px}.slider-control input[type=range]{flex:1;height:6px;-webkit-appearance:none;background:#ffffff26;border-radius:3px;cursor:pointer}.slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;cursor:pointer}.slider-value{color:#fff;font-size:.85rem;font-weight:600;min-width:45px;text-align:right}.btn-group{display:flex;flex-wrap:wrap;gap:.4rem}.btn-group.wrap{flex-wrap:wrap}.btn-option{padding:.4rem .6rem;background:#0000004d;border:2px solid rgba(255,255,255,.25);border-radius:6px;color:#a0a0b0;font-size:.75rem;cursor:pointer;transition:all .2s ease}.btn-option:hover{background:#667eea33;border-color:#667eea4d}.btn-option.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.areas-input{width:100%;padding:.6rem;background:#0000004d;border:2px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;font-size:.8rem;font-family:Fira Code,monospace;resize:vertical;margin-top:.5rem}.areas-input:focus{outline:none;border-color:#667eea80}.span-controls{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.5rem}.span-input{display:flex;flex-direction:column;gap:.25rem}.span-input label{color:#a0a0b0;font-size:.75rem}.span-input input{padding:.5rem;background:#0000004d;border:2px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;font-size:.85rem;font-family:Fira Code,monospace}.span-input input:focus{outline:none;border-color:#667eea80}.span-presets{display:flex;gap:.4rem;flex-wrap:wrap}.span-presets button{padding:.35rem .6rem;background:#667eea26;border:1px solid rgba(102,126,234,.25);border-radius:6px;color:#667eea;font-size:.7rem;cursor:pointer;transition:all .2s ease}.span-presets button:hover{background:#667eea40}.btn-deselect{width:100%;padding:.6rem;background:#ffffff26;border:2px solid rgba(255,255,255,.25);border-radius:8px;color:#a0a0b0;font-size:.85rem;cursor:pointer;margin-top:.5rem;transition:all .2s ease}.btn-deselect:hover{background:#ffffff26;color:#fff}.btn-save{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:1rem}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.saved-list{display:flex;flex-direction:column;gap:.5rem}.saved-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;background:#0000004d;border-radius:8px}.saved-name{color:#fff;font-size:.85rem}.saved-actions{display:flex;gap:.4rem}.saved-actions button{padding:.3rem .6rem;background:#ffffff26;border:none;border-radius:4px;color:#a0a0b0;font-size:.75rem;cursor:pointer;transition:all .2s ease}.saved-actions button:hover{background:#fff3;color:#fff}.no-saved{color:#a0a0b0;font-size:.85rem;text-align:center;margin:0}.tips-section{max-width:1500px;margin:2rem auto 0;padding:0 2rem}.tips-section h3{color:#fff;font-size:1.25rem;margin-bottom:1rem;text-align:center}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.tip-card{background:#ffffff14;border-radius:12px;padding:1.25rem;border:2px solid rgba(255,255,255,.25)}.tip-icon{font-size:1.5rem;margin-bottom:.5rem}.tip-card h4{color:#fff;font-size:1rem;margin:0 0 .5rem}.tip-card p{color:#a0a0b0;font-size:.85rem;line-height:1.6;margin:0}.cta-section{max-width:800px;margin:3rem auto 0;text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:20px;border:1px solid rgba(102,126,234,.2)}.cta-section h2{color:#fff;font-size:1.75rem;margin-bottom:.75rem}.cta-section p{color:#a0a0b0;font-size:1.05rem;margin-bottom:1.5rem}.cta-button{display:inline-block;padding:1rem 2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;font-size:1.05rem;transition:all .3s ease}.cta-button:hover{transform:translateY(-3px);box-shadow:0 10px 30px #667eea66}.control-panel{background-color:#1f2937f2!important;border:2px solid var(--gray-400)!important;border-radius:6px}[data-theme=dark] .control-section{background-color:#1f2937e6!important;border-color:var(--gray-400)!important;border-width:2px}[data-theme=dark] .control-group input,[data-theme=dark] .control-group select,[data-theme=dark] .control-group textarea{background-color:#0f172acc!important;border:2px solid var(--gray-500)!important;color:var(--text-primary)}[data-theme=dark] .control-group label{display:block;color:var(--gray-900);font-size:1rem;margin-bottom:.5rem;font-weight:600;line-height:1.5;letter-spacing:.3px}@media (max-width: 1200px){.grid-content{grid-template-columns:1fr}.grid-sidebar{order:-1}}@media (max-width: 768px){.grid-generator{padding:1rem}.grid-header h1{font-size:1.75rem}.preview-header{flex-direction:column;align-items:flex-start}.code-tabs{grid-template-columns:1fr}.presets-grid{grid-template-columns:repeat(2,1fr)}.btn-group{justify-content:flex-start}.cta-section{padding:2rem 1rem}.cta-section h2{font-size:1.5rem}}
