.class-diagram-generator{padding:20px;max-width:1600px;margin:0 auto}.class-diagram-generator h1{text-align:center;margin-bottom:10px;color:#2c3e50}.class-diagram-generator .tool-description{text-align:center;color:#666;margin-bottom:30px}.class-diagram-generator .generator-layout{display:grid;grid-template-columns:var(--tool-controls-width, 420px) 1fr;gap:30px;margin-bottom:30px}.class-diagram-generator .controls-panel{display:flex;flex-direction:column;gap:20px;max-height:800px;overflow-y:auto}.class-diagram-generator .control-section{background:#f8f9fa;border-radius:8px;padding:15px}.class-diagram-generator .control-section h3{font-size:1.15rem;font-weight:700;color:var(--gray-900);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--primary);letter-spacing:.03em}.class-diagram-generator .add-btn{width:100%;padding:10px;background:#3498db;color:var(--white);border:none;border-radius:5px;cursor:pointer;font-size:14px;margin-bottom:10px}.class-diagram-generator .add-btn:hover{background:#2980b9}.class-diagram-generator .add-btn:disabled{background:#bdc3c7;cursor:not-allowed}.class-diagram-generator .items-list{display:flex;flex-direction:column;gap:10px}.class-diagram-generator .item-card{background:var(--white);border:1px solid #ddd;border-radius:5px;padding:10px;cursor:pointer;transition:all .2s}.class-diagram-generator .item-card:hover{border-color:#3498db}.class-diagram-generator .item-card.editing{border-color:#3498db;box-shadow:0 2px 8px #3498db33}.class-diagram-generator .item-header{display:flex;justify-content:space-between;align-items:center}.class-diagram-generator .item-name{font-weight:500;color:#2c3e50}.class-diagram-generator .item-name em{color:#7f8c8d;font-size:12px}.class-diagram-generator .item-actions{display:flex;gap:5px}.class-diagram-generator .remove-btn{width:24px;height:24px;border:none;background:#e74c3c;color:var(--white);border-radius:50%;cursor:pointer;font-size:16px;line-height:1}.class-diagram-generator .remove-btn:hover{background:#c0392b}.class-diagram-generator .item-edit{margin-top:15px;padding-top:15px;border-top:1px solid #eee}.class-diagram-generator .input-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.class-diagram-generator .input-row label{min-width:100px;font-size:13px;color:#555}.class-diagram-generator .input-row input,.class-diagram-generator .input-row select{flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px}.class-diagram-generator .input-row input:focus,.class-diagram-generator .input-row select:focus{border-color:#3498db;outline:none}.class-diagram-generator .subsection{margin-top:15px;padding:10px;background:#f8f9fa;border-radius:5px}.class-diagram-generator .subsection h4{margin:0 0 10px;font-size:13px;color:#2c3e50}.class-diagram-generator .member-item{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;background:var(--white);border-radius:3px;margin-bottom:5px;font-family:Courier New,monospace;font-size:12px}.class-diagram-generator .member-item button{width:20px;height:20px;border:none;background:#e74c3c;color:var(--white);border-radius:50%;cursor:pointer;font-size:14px;line-height:1}.class-diagram-generator .add-member{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap}.class-diagram-generator .add-member select{width:80px;padding:5px;border:1px solid #ddd;border-radius:3px;font-size:11px}.class-diagram-generator .add-member input{flex:1;min-width:60px;padding:5px;border:1px solid #ddd;border-radius:3px;font-size:12px}.class-diagram-generator .add-member button{width:30px;height:30px;border:none;background:#27ae60;color:var(--white);border-radius:5px;cursor:pointer;font-size:18px}.class-diagram-generator .add-member button:hover{background:#219a52}.class-diagram-generator .method-add{display:grid;grid-template-columns:80px 1fr 1fr 80px 30px;gap:5px}.class-diagram-generator .checkbox-row{margin-bottom:10px}.class-diagram-generator .checkbox-row label{display:flex;align-items:center;gap:8px;font-size:13px;color:#555;cursor:pointer}.class-diagram-generator .checkbox-row input[type=checkbox]{width:16px;height:16px}.class-diagram-generator .theme-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:15px}.class-diagram-generator .theme-btn{padding:8px;border:2px solid transparent;border-radius:5px;color:var(--white);font-size:11px;cursor:pointer;text-transform:capitalize;transition:all .2s}.class-diagram-generator .theme-btn:hover{transform:scale(1.05)}.class-diagram-generator .theme-btn.active{border-color:#2c3e50;box-shadow:0 2px 8px #0003}.class-diagram-generator .color-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.class-diagram-generator .color-row{display:flex;align-items:center;gap:8px}.class-diagram-generator .color-row label{font-size:12px;color:#555;flex:1}.class-diagram-generator .color-row input[type=color]{width:35px;height:25px;border:1px solid #ddd;border-radius:3px;cursor:pointer}.class-diagram-generator .preview-panel{position:sticky;top:20px}.class-diagram-generator .preview-panel h3{margin:0 0 15px;color:#2c3e50}.class-diagram-generator .preview-container{border:2px solid #d1d5db;border-radius:8px;padding:20px;background:#f9fafb;min-height:500px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000001a}.class-diagram-generator .class-diagram-svg{width:100%;height:auto;max-height:600px}.class-diagram-generator .export-section{background:#f8f9fa;border-radius:8px;padding:20px}.class-diagram-generator .export-section h3{margin:0 0 15px;color:#2c3e50}.class-diagram-generator .export-buttons{display:flex;gap:10px;margin-bottom:20px}.class-diagram-generator .export-buttons button{padding:10px 20px;background:#27ae60;color:var(--white);border:none;border-radius:5px;cursor:pointer;font-size:14px}.class-diagram-generator .export-buttons button:hover{background:#219a52}.class-diagram-generator .code-preview{background:#2c3e50;border:2px solid #d1d5db;border-radius:8px;padding:15px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.class-diagram-generator .code-preview h4{margin:0 0 10px;color:#ecf0f1;font-size:14px}.class-diagram-generator .code-preview pre{margin:0;padding:15px;background:#1a252f;border-radius:5px;overflow-x:auto;max-height:400px}.class-diagram-generator .code-preview code{color:#ecf0f1;font-family:Courier New,monospace;font-size:12px;white-space:pre}.class-diagram-generator.style-minimal .item-card{border:none;box-shadow:0 1px 3px #0000001a}.class-diagram-generator.style-modern .control-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.class-diagram-generator.style-rounded .item-card,.class-diagram-generator.style-rounded .control-section{border-radius:15px}.control-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.class-diagram-generator.style-flat .item-card{border-radius:0}.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){.class-diagram-generator .generator-layout{grid-template-columns:1fr}.class-diagram-generator .controls-panel{max-height:none}.class-diagram-generator .preview-panel{position:relative;top:0}}@media (max-width: 768px){.class-diagram-generator{padding:10px}.class-diagram-generator .theme-presets{grid-template-columns:repeat(2,1fr)}.class-diagram-generator .color-inputs{grid-template-columns:1fr}.class-diagram-generator .export-buttons{flex-wrap:wrap}.class-diagram-generator .method-add{grid-template-columns:1fr 1fr}}
