.deob-tool-wrapper { --p-bg: #ffffff; --p-border: #e2e8f0; --p-primary: #3b82f6; --p-text: #0f172a; width: 100%; max-width: 1400px; margin: 0 auto; background: var(--p-bg); border-radius: 20px; padding: 24px; border: 1px solid var(--p-border); box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05); box-sizing: border-box; }
.deob-header-main { font-size: 1.5rem; font-weight: 800; color: var(--p-text); margin-bottom: 8px; text-align: center; }
.deob-subtitle { color: #64748b; font-size: 0.95rem; padding-bottom: 20px; border-bottom: 1px solid var(--p-border); margin-bottom: 20px; text-align: center; max-width: 800px; margin-left: auto; margin-right: auto; line-height: 1.6; }

.deob-status-bar { padding: 12px 16px; border-radius: 8px; font-size: 0.95rem; font-weight: 600; font-family: monospace; margin-bottom: 20px; word-break: break-all; line-height: 1.5; }
.deob-status-success { background: #ecfdf5; border: 1px solid #a7f3d0; color: #047857; }
.deob-status-error { background: #fef2f2; border: 1px solid #fecaca; color: #dc2626; }
.deob-status-info { background: #eff6ff; border: 1px solid #bfdbfe; color: #1d4ed8; }

.deob-editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: stretch; }
.deob-panel { display: flex; flex-direction: column; background: #ffffff; border: 1px solid var(--p-border); border-radius: 12px; overflow: hidden; min-width: 0; }
.deob-panel-header { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; background: #f8fafc; border-bottom: 1px solid var(--p-border); }
.deob-panel-title { font-size: 0.9rem; font-weight: 700; color: #475569; }
.deob-text-btn { background: none; border: none; font-size: 0.85rem; font-weight: 600; color: var(--p-primary); cursor: pointer; transition: 0.2s; padding: 0; }
.deob-text-btn:hover { text-decoration: underline; color: #2563eb; }

.deob-textarea { flex: 1; min-height: 500px; width: 100%; min-width: 0; border: none; padding: 16px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 0.9rem; line-height: 1.6; color: #1e293b; outline: none; resize: vertical; background: #ffffff; white-space: pre; overflow-x: auto; box-sizing: border-box; }
.deob-textarea:focus { box-shadow: inset 0 0 0 2px rgba(59,130,246,0.1); }
#deobOutputBox { background: #f8fafc; color: #0f172a; }

.deob-panel-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; background: #f8fafc; border-top: 1px solid var(--p-border); box-sizing: border-box; }
.deob-btn-group { display: flex; gap: 8px; flex-wrap: wrap; }
.deob-action-btn { padding: 8px 14px; border-radius: 8px; font-weight: 600; font-size: 0.85rem; cursor: pointer; transition: 0.2s; border: 1px solid transparent; display: flex; align-items: center; justify-content: center; gap: 6px; white-space: nowrap; box-sizing: border-box; }

.deob-btn-primary { background: #eff6ff; color: #2563eb; border-color: #bfdbfe; }
.deob-btn-primary:hover { background: #3b82f6; color: #ffffff; }
.deob-btn-special { background: #ecfdf5; color: #059669; border-color: #a7f3d0; }
.deob-btn-special:hover { background: #10b981; color: #ffffff; }
.deob-btn-warning { background: #fff7ed; color: #d97706; border-color: #fde68a; }
.deob-btn-warning:hover { background: #f59e0b; color: #ffffff; }
.deob-btn-combo { background: linear-gradient(135deg, #8b5cf6, #d946ef); color: white; border: none; box-shadow: 0 2px 8px rgba(139, 92, 246, 0.3); }
.deob-btn-combo:hover { filter: brightness(1.1); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4); }
.deob-btn-danger { background: #fef2f2; color: #dc2626; border-color: #fecaca; }
.deob-btn-danger:hover { background: #ef4444; color: #ffffff; }
.deob-btn-outline { background: #ffffff; color: #8b5cf6; border-color: #c4b5fd; }
.deob-btn-outline:hover { background: #8b5cf6; color: #ffffff; }
.deob-btn-success { background: #10b981; color: #ffffff; }
.deob-btn-success:hover { background: #059669; }

@media(max-width: 950px) { .deob-editor-grid { grid-template-columns: 1fr; } }
@media(max-width: 640px) {
    .deob-tool-wrapper { padding: 16px; }
    .deob-header-main { font-size: 1.25rem; line-height: 1.4; gap: 8px; }
    .deob-panel-footer { flex-direction: column; align-items: stretch; }
    .deob-btn-group { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .deob-action-btn { width: 100%; }
    .deob-textarea { min-height: 250px; }
}

[data-theme="dark"] .deob-tool-wrapper { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .deob-header-main { color: #f8fafc; }
[data-theme="dark"] .deob-panel { background: #0f172a; border-color: #475569; }
[data-theme="dark"] .deob-panel-header, [data-theme="dark"] .deob-panel-footer { background: #1e293b; border-color: #475569; }
[data-theme="dark"] .deob-panel-title { color: #cbd5e1; }
[data-theme="dark"] .deob-textarea { background: #020617; color: #e2e8f0; }
[data-theme="dark"] #deobOutputBox { background: #0f172a; }
[data-theme="dark"] .deob-btn-primary { background: rgba(59,130,246,0.1); color: #60a5fa; border-color: #3b82f6; }
[data-theme="dark"] .deob-btn-primary:hover { background: #3b82f6; color: #ffffff; }
[data-theme="dark"] .deob-btn-special { background: rgba(16,185,129,0.1); color: #34d399; border-color: #10b981; }
[data-theme="dark"] .deob-btn-special:hover { background: #10b981; color: #ffffff; }
[data-theme="dark"] .deob-btn-warning { background: rgba(245,158,11,0.1); color: #fbbf24; border-color: #f59e0b; }
[data-theme="dark"] .deob-btn-warning:hover { background: #f59e0b; color: #ffffff; }
[data-theme="dark"] .deob-btn-danger { background: rgba(220,38,38,0.1); color: #f87171; border-color: #ef4444; }
[data-theme="dark"] .deob-btn-danger:hover { background: #ef4444; color: #ffffff; }
[data-theme="dark"] .deob-btn-outline { background: transparent; color: #a78bfa; border-color: #8b5cf6; }
[data-theme="dark"] .deob-btn-outline:hover { background: #8b5cf6; color: #ffffff; }
[data-theme="dark"] .deob-status-success { background: rgba(16,185,129,0.1); border-color: #059669; color: #34d399; }
[data-theme="dark"] .deob-status-error { background: rgba(220,38,38,0.1); border-color: #b91c1c; color: #fca5a5; }
[data-theme="dark"] .deob-status-info { background: rgba(59,130,246,0.1); border-color: #2563eb; color: #60a5fa; }