body { font-family: 'Poppins', sans-serif; background: #f8f9fa; color: #333; }
.hero { background: linear-gradient(135deg, #0c6a93, #06a9f2); color: white; padding: 4rem 1rem; text-align: center; }
.hero h1 { font-weight: 700; margin-bottom: 1rem; }
.hero p { font-size: 1.1rem; max-width: 600px; margin: 0 auto; opacity: 0.9; }

.tool-container { max-width: 800px; margin: -2rem auto 4rem; background: white; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); padding: 2rem; position: relative; z-index: 10; border: 1px solid rgba(12, 106, 147, 0.08); }

.dropzone { border: 2px dashed #007acc; border-radius: 12px; padding: 3rem 1rem; text-align: center; background: #f0f8ff; cursor: pointer; transition: all 0.3s ease; }
.dropzone.dragover { background: #e0f0ff; border-color: #005fa3; }
.dropzone i { font-size: 3rem; color: #007acc; margin-bottom: 1rem; }
.dropzone h3 { font-size: 1.2rem; font-weight: 600; color: #0c6a93; margin-bottom: 0.5rem; }
.dropzone p { color: #555; font-size: 0.9rem; margin-bottom: 1.5rem; }

#fileInput { display: none; }

.btn-custom { background: #007acc !important; color: white !important; border: none; padding: 0.8rem 3.5rem; min-width: 240px; border-radius: 12px !important; font-weight: 600; font-size: 1.05rem; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
.btn-custom:hover { background: #005fa3 !important; color: white !important; transform: translateY(-2px); box-shadow: 0 8px 15px rgba(0,122,204,0.3); }

.btn-modern { padding: 0.65rem 1.75rem; border-radius: 12px !important; font-weight: 600; font-size: 0.85rem; display: inline-flex; align-items: center; gap: 8px; margin: 8px 10px; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
.btn-modern:hover { transform: translateY(-2px); box-shadow: 0 8px 15px rgba(0,0,0,0.1); }
.btn-modern:active { transform: translateY(0); box-shadow: 0 2px 4px rgba(0,0,0,0.05); }

/* Refined Action Buttons for Success State */
.btn-action-primary {
    background: linear-gradient(135deg, #10b981, #059669) !important;
    color: white !important;
    border: none;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
}
.btn-action-primary:hover {
    background: linear-gradient(135deg, #059669, #047857) !important;
    color: white !important;
    box-shadow: 0 8px 20px rgba(16, 185, 129, 0.4);
}

.btn-action-studio {
    background: linear-gradient(135deg, #0c6a93, #06a9f2) !important;
    color: white !important;
    border: none;
    box-shadow: 0 4px 15px rgba(6, 169, 242, 0.3);
}
.btn-action-studio:hover {
    background: linear-gradient(135deg, #095373, #058bc7) !important;
    color: white !important;
    box-shadow: 0 8px 20px rgba(6, 169, 242, 0.4);
}

.btn-action-secondary {
    background: white !important;
    color: #475569 !important;
    border: 2px solid #cbd5e1 !important;
}
.btn-action-secondary:hover {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
}

.btn-cta { background: linear-gradient(135deg, #f0932b, #ffbe76) !important; color: #fff !important; border: none; box-shadow: 0 4px 15px rgba(240, 147, 43, 0.4); }
.btn-cta:hover { background: linear-gradient(135deg, #e58e26, #f0932b) !important; color: #fff !important; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(240, 147, 43, 0.5); }

.success-area { display: none; text-align: center; background: #e8f5e9; border: 1px solid #c8e6c9; border-radius: 8px; padding: 2rem; margin-top: 2rem; }
.success-area i { font-size: 3rem; color: #2e7d32; margin-bottom: 1rem; }
.success-area h4 { color: #2e7d32; font-weight: 700; margin-bottom: 0.5rem; }

/* Validator specific */
.results-area { display: none; margin-top: 2rem; }
.error-list { max-height: 300px; overflow-y: auto; text-align: left; background: #fff5f5; border: 1px solid #ffcdd2; border-radius: 8px; padding: 1rem; margin-bottom: 1.5rem; }
.error-item { margin-bottom: 0.5rem; padding-bottom: 0.5rem; border-bottom: 1px solid #ffebee; font-size: 0.9rem; }
.error-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.error-item strong { color: #d32f2f; }

/* Shifter specific */
.settings-area { display: none; background: linear-gradient(180deg, #ffffff, #f8fbff); border: 1px solid #ddd; border-radius: 8px; padding: 2rem; text-align: center; }
.settings-area input { font-size: 1.5rem; text-align: center; max-width: 200px; margin: 1rem auto; display: block; border-radius: 8px; border: 2px solid #ccc; padding: 0.5rem; }

/* Footer */
.footer-tools { background: #222; color: #fff; padding: 2rem; text-align: center; margin-top: auto; }
.footer-tools a { color: #03A9F3; margin: 0 10px; text-decoration: none; }
.footer-tools a:hover { text-decoration: underline; }

/* Aspect Ratio Calculator */
.calculator-card { background: white; border-radius: 16px; padding: 2rem; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
.preset-btn { border: 2px solid #e0e0e0; background: white; border-radius: 8px; padding: 0.8rem; text-align: center; cursor: pointer; transition: all 0.2s; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.preset-btn:hover { border-color: #007acc; background: #f0f8ff; }
.preset-btn.active { border-color: #007acc; background: #e0f0ff; font-weight: 700; color: #007acc; box-shadow: 0 4px 10px rgba(0,122,204,0.15); }

.sim-container { background: #e9ecef; border-radius: 12px; height: 400px; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; padding: 1rem; border: 1px solid #dee2e6; }
.sim-target { background: #1a1a1a; display: flex; align-items: center; justify-content: center; position: relative; box-shadow: 0 5px 15px rgba(0,0,0,0.3); overflow: hidden; transition: all 0.3s ease; }
.sim-video { background: url('data:image/svg+xml;utf8,<svg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg"><rect width="40" height="40" fill="%23007acc" opacity="0.8"/><circle cx="20" cy="20" r="10" fill="%23ffffff" opacity="0.3"/></svg>') repeat; display: flex; align-items: center; justify-content: center; position: relative; transition: all 0.3s ease; }

/* Safe Zones */
.safe-zone-overlay { position: absolute; inset: 0; pointer-events: none; border: 2px dashed rgba(255,255,255,0.4); display: none; }
.safe-zone-overlay .sz-top { position: absolute; top: 0; left: 0; right: 0; height: 15%; background: rgba(255,0,0,0.2); }
.safe-zone-overlay .sz-bottom { position: absolute; bottom: 0; left: 0; right: 0; height: 20%; background: rgba(255,0,0,0.2); }
.safe-zone-overlay .sz-right { position: absolute; bottom: 20%; right: 0; top: 30%; width: 15%; background: rgba(255,0,0,0.2); }

.ffmpeg-box { background: #2d2d2d; color: #a6e22e; padding: 1rem; border-radius: 8px; font-family: monospace; font-size: 0.9rem; word-break: break-all; margin-top: 1rem; border: 1px solid #1a1a1a; }
.btn-copy { position: absolute; top: 10px; right: 10px; background: rgba(255,255,255,0.1); border: none; color: white; padding: 4px 8px; border-radius: 4px; font-size: 0.8rem; cursor: pointer; transition: background 0.2s; }
.btn-copy:hover { background: rgba(255,255,255,0.2); }