.gz-app{display:flex;flex-direction:column;height:100%;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;}
.gz-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap;}
.gz-header-left{display:flex;align-items:center;gap:12px;}
.gz-header-right{display:flex;align-items:center;gap:8px;}
.gz-title{font-size:15px;font-weight:700;color:var(--text);}
.gz-api-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:0.5px;}
.gz-api-badge.gz-supported{background:rgba(74,222,128,0.15);color:var(--green);}
.gz-api-badge.gz-unsupported{background:rgba(248,113,113,0.15);color:var(--red);}
.gz-mode-toggle{display:flex;gap:4px;background:var(--surface-2);padding:3px;border-radius:6px;}
.gz-mode-btn{padding:5px 14px;border:none;background:transparent;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;border-radius:4px;transition:all 0.15s;font-family:var(--font-sans);}
.gz-mode-btn:hover{color:var(--text);}
.gz-mode-btn.active{background:var(--accent);color:#080b14;font-weight:600;}
.gz-main{flex:1;overflow:auto;display:flex;flex-direction:column;padding:16px;gap:16px;}
.gz-warning-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:rgba(251,191,36,0.1);border:1px solid rgba(251,191,36,0.25);border-radius:var(--radius-sm);color:var(--orange);font-size:13px;font-weight:500;}
.gz-warning-bar svg{flex-shrink:0;}
.gz-input-section{display:flex;flex-direction:column;gap:8px;}
.gz-section-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-muted);display:block;}
.gz-input-tabs{display:flex;gap:4px;background:var(--surface-2);padding:3px;border-radius:6px;width:fit-content;}
.gz-input-tab{padding:4px 12px;border:none;background:transparent;color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;border-radius:4px;transition:all 0.15s;font-family:var(--font-sans);}
.gz-input-tab:hover{color:var(--text);}
.gz-input-tab.active{background:var(--accent);color:#080b14;font-weight:600;}
.gz-textarea{width:100%;height:140px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;font-family:var(--font-mono);font-size:13px;line-height:1.7;resize:vertical;outline:none;transition:border-color 0.15s;box-sizing:border-box;}
.gz-textarea:focus{border-color:var(--accent);}
.gz-textarea::placeholder{color:var(--text-muted);opacity:0.5;}
.gz-dropzone{border:2px dashed var(--border);border-radius:var(--radius-sm);padding:40px 20px;text-align:center;cursor:pointer;transition:all 0.2s;background:var(--bg);}
.gz-dropzone:hover,.gz-dropzone.gz-dragover{border-color:var(--accent);background:var(--accent-light);}
.gz-dropzone-icon{font-size:36px;color:var(--text-muted);margin-bottom:8px;}
.gz-dropzone-text{font-size:13px;color:var(--text-secondary);margin-bottom:4px;}
.gz-dropzone-hint{font-size:11px;color:var(--text-muted);}
.gz-file-input{display:none;}
.gz-file-info{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);}
.gz-file-icon{font-size:24px;color:var(--accent);}
.gz-file-details{flex:1;min-width:0;}
.gz-file-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gz-file-meta{font-size:11px;color:var(--text-muted);margin-top:2px;}
.gz-file-remove{padding:4px 10px;border:none;background:var(--surface-2);color:var(--text-muted);font-size:11px;cursor:pointer;border-radius:4px;transition:all 0.15s;font-family:var(--font-sans);}
.gz-file-remove:hover{background:rgba(248,113,113,0.15);color:var(--red);}
.gz-actions{display:flex;gap:8px;flex-wrap:wrap;}
.gz-btn{padding:8px 18px;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all 0.15s;font-family:var(--font-sans);}
.gz-btn-primary{background:var(--accent);color:#080b14;}
.gz-btn-primary:hover{background:var(--accent-hover);}
.gz-btn-primary:disabled{opacity:0.4;cursor:not-allowed;}
.gz-btn-secondary{background:var(--surface-2);color:var(--text-secondary);}
.gz-btn-secondary:hover{background:var(--surface-3);color:var(--text);}
.gz-results{display:flex;flex-direction:column;gap:16px;}
.gz-results-title{font-size:14px;font-weight:700;color:var(--text);}
.gz-stats-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.gz-stat-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;text-align:center;}
.gz-stat-value{font-size:20px;font-weight:700;color:var(--accent);font-family:var(--font-mono);}
.gz-stat-label{font-size:11px;color:var(--text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:0.5px;}
.gz-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.gz-comp-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;display:flex;flex-direction:column;gap:12px;}
.gz-comp-header{display:flex;align-items:center;justify-content:space-between;}
.gz-comp-algo{font-size:14px;font-weight:700;color:var(--text);}
.gz-comp-ratio{font-size:13px;font-weight:700;padding:3px 10px;border-radius:10px;}
.gz-comp-ratio.gz-good{background:rgba(74,222,128,0.15);color:var(--green);}
.gz-comp-ratio.gz-ok{background:rgba(251,191,36,0.15);color:var(--orange);}
.gz-comp-ratio.gz-poor{background:rgba(248,113,113,0.15);color:var(--red);}
.gz-comp-details{display:flex;flex-direction:column;gap:6px;}
.gz-comp-row{display:flex;justify-content:space-between;font-size:12px;}
.gz-comp-row-label{color:var(--text-muted);}
.gz-comp-row-value{color:var(--text);font-weight:600;font-family:var(--font-mono);}
.gz-chart-section{display:flex;flex-direction:column;gap:10px;}
.gz-chart-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-muted);}
.gz-chart{display:flex;flex-direction:column;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;}
.gz-bar-row{display:flex;align-items:center;gap:12px;}
.gz-bar-label{font-size:12px;font-weight:600;color:var(--text-secondary);min-width:70px;text-align:right;}
.gz-bar-track{flex:1;height:28px;background:var(--surface-2);border-radius:4px;overflow:hidden;position:relative;}
.gz-bar-fill{height:100%;border-radius:4px;transition:width 0.6s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;min-width:40px;}
.gz-bar-fill.gz-bar-original{background:var(--text-muted);}
.gz-bar-fill.gz-bar-gzip{background:var(--accent);}
.gz-bar-fill.gz-bar-deflate{background:var(--green);}
.gz-bar-size{font-size:11px;font-weight:700;color:#fff;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,0.3);}
.gz-download-section{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.gz-decompress-section{display:flex;flex-direction:column;gap:12px;}
.gz-decompress-output{width:100%;min-height:120px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;font-family:var(--font-mono);font-size:13px;line-height:1.7;resize:vertical;outline:none;box-sizing:border-box;}
.gz-decompress-info{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-muted);}
.gz-decompress-info span{font-weight:600;color:var(--text);}
.gz-large-file-msg{display:flex;align-items:center;gap:10px;padding:12px 16px;background:rgba(96,165,250,0.1);border:1px solid rgba(96,165,250,0.25);border-radius:var(--radius-sm);color:var(--accent);font-size:12px;}
.gz-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:gz-spin 0.6s linear infinite;margin-right:8px;vertical-align:middle;}
@keyframes gz-spin{to{transform:rotate(360deg);}}
.gz-processing{display:flex;align-items:center;justify-content:center;padding:24px;color:var(--text-secondary);font-size:13px;}
.gz-status-bar{padding:6px 16px;border-top:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-muted);}
.gz-hidden{display:none!important;}

@media (max-width:768px){
.gz-header{padding:10px 14px;flex-direction:column;align-items:flex-start;}
.gz-header-left{flex-wrap:wrap;}
.gz-main{padding:12px;gap:12px;}
.gz-stats-summary{grid-template-columns:repeat(2,1fr);gap:8px;}
.gz-comparison{grid-template-columns:1fr;}
.gz-comp-card{padding:12px;}
.gz-textarea{height:100px;}
.gz-dropzone{padding:24px 16px;}
.gz-actions{flex-direction:column;}
.gz-actions .gz-btn{width:100%;text-align:center;}
.gz-download-section{flex-direction:column;}
.gz-download-section .gz-btn{width:100%;text-align:center;}
.gz-bar-label{min-width:55px;font-size:11px;}
.gz-stat-value{font-size:16px;}
.gz-decompress-info{flex-direction:column;gap:6px;}
}