*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green-primary: #006B3F;--green-light: #00894F;--green-pale: #e8f5e9;--green-glow: rgba(0, 107, 63, .15);--bg: #0c0f14;--bg-card: #161b22;--bg-card-hover: #1c222b;--bg-input: #0d1117;--border: #2d333b;--border-hover: #444c56;--text: #e6edf3;--text-muted: #8b949e;--text-dim: #636c76;--danger: #c04040;--amber: #d4a030;--radius: 12px;--radius-sm: 8px;--shadow: 0 2px 8px rgba(0, 0, 0, .3)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}.header{background:linear-gradient(135deg,var(--green-primary) 0%,#004d2e 100%);border-bottom:1px solid rgba(255,255,255,.08);padding:20px 0}.header-content{max-width:960px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:14px}.logo-icon{width:44px;height:44px;background:#ffffff26;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff}.logo h1{font-size:20px;font-weight:700;color:#fff;letter-spacing:-.02em}.subtitle{font-size:13px;color:#ffffffb3;margin-top:2px}.security-badge{display:flex;align-items:center;gap:6px;font-size:12px;color:#fffc;background:#ffffff1a;padding:6px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.15)}.main{max-width:960px;margin:0 auto;padding:32px 24px;display:flex;flex-direction:column;gap:28px}.section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.section-header h2{font-size:16px;font-weight:600;letter-spacing:-.01em}.step-number{width:28px;height:28px;background:var(--green-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:36px 24px;text-align:center;cursor:pointer;transition:all .2s ease;position:relative}.drop-zone:hover,.drop-zone.dragover{border-color:var(--green-primary);background:var(--green-glow)}.drop-zone.has-file{border-color:var(--green-primary);border-style:solid;background:#006b3f14}.drop-icon{color:var(--text-dim);margin-bottom:12px;transition:color .2s}.drop-zone:hover .drop-icon,.drop-zone.has-file .drop-icon{color:var(--green-primary)}.drop-label{font-size:15px;font-weight:600;margin-bottom:4px}.drop-hint{font-size:13px;color:var(--text-muted)}.drop-file{font-size:13px;color:var(--green-light);margin-top:8px;font-weight:500}.drop-zone.has-file .drop-hint{display:none}.config-bar{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.config-left{display:flex;gap:20px}.config-option{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;color:var(--text-muted)}.config-option input[type=radio]{accent-color:var(--green-primary)}.config-upload{display:flex;align-items:center;gap:10px}.config-file-name{font-size:13px;color:var(--green-light)}.options-row{margin-top:16px;display:flex;gap:16px}.option-field{display:flex;flex-direction:column;gap:6px}.option-field label{font-size:13px;font-weight:500;color:var(--text-muted)}.option-field input[type=text]{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px;color:var(--text);font-size:14px;font-family:inherit;width:260px;outline:none;transition:border-color .2s}.option-field input:focus{border-color:var(--green-primary)}.btn-secondary{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;font-family:inherit;cursor:pointer;transition:all .15s}.btn-secondary:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.btn-generate{display:flex;align-items:center;gap:10px;background:var(--green-primary);color:#fff;border:none;padding:14px 32px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;letter-spacing:-.01em}.btn-generate:hover:not(:disabled){background:var(--green-light);transform:translateY(-1px);box-shadow:0 4px 12px #006b3f4d}.btn-generate:disabled{opacity:.4;cursor:not-allowed}.btn-generate:active:not(:disabled){transform:translateY(0)}.generate-area{display:flex;align-items:center;gap:20px}.progress-bar{flex:1;height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--green-primary),var(--green-light));border-radius:3px;width:0%;transition:width .3s ease}.log-container{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;max-height:300px;overflow-y:auto}.log-container pre{font-family:SF Mono,Fira Code,monospace;font-size:12.5px;line-height:1.7;color:var(--text-muted);white-space:pre-wrap;word-break:break-word}.log-container .log-success{color:var(--green-light)}.log-container .log-error{color:var(--danger)}.log-container .log-info{color:var(--text)}.footer{max-width:960px;margin:0 auto;padding:20px 24px 40px;text-align:center}.footer p{font-size:12px;color:var(--text-dim)}.tab-bar{background:var(--bg-card);border-bottom:1px solid var(--border)}.tab-bar-inner{max-width:960px;margin:0 auto;padding:0 24px;display:flex;gap:4px}.tab{display:flex;align-items:center;gap:8px;padding:14px 20px;font-size:14px;font-weight:500;font-family:inherit;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--green-light);border-bottom-color:var(--green-primary)}.tab-content{display:none}.tab-content.active{display:flex}.section-desc{font-size:13px;color:var(--text-muted);margin-bottom:16px;line-height:1.6}.config-hint{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--amber);margin-top:12px}.config-hint a{color:var(--green-light);text-decoration:underline;cursor:pointer}.results-container{display:flex;flex-direction:column;gap:16px}.result-card{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.result-card h3{font-size:14px;font-weight:600;margin-bottom:8px;color:var(--green-light)}.result-card h4{font-size:13px;font-weight:500;margin:10px 0 4px;color:var(--text)}.result-card p,.result-card li{font-size:13px;color:var(--text-muted);line-height:1.5}.result-card ul{padding-left:18px;list-style:disc}.result-card code{font-family:SF Mono,Fira Code,monospace;font-size:12px;background:#ffffff0f;padding:2px 6px;border-radius:4px;color:var(--green-light)}.cell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:4px;margin-top:6px}.cell-item{font-size:12px;color:var(--text-muted);font-family:SF Mono,Fira Code,monospace;padding:4px 8px;background:#ffffff08;border-radius:4px}.cell-item .cell-ref{color:var(--green-light)}.cell-item .cell-val{color:var(--text)}.config-editor-wrap{margin-bottom:16px}.config-editor-wrap textarea{width:100%;min-height:350px;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;font-family:SF Mono,Fira Code,monospace;font-size:12.5px;line-height:1.6;resize:vertical;outline:none;-moz-tab-size:2;tab-size:2}.config-editor-wrap textarea:focus{border-color:var(--green-primary)}.config-actions{display:flex;gap:12px}@media(max-width:640px){.upload-grid{grid-template-columns:1fr}.header-content{flex-direction:column;gap:12px;align-items:flex-start}.security-badge{align-self:flex-start}.config-left{flex-direction:column;gap:10px}.tab-bar-inner{padding:0 12px}.tab{padding:12px 14px;font-size:13px}}
