:root{--primary:#2563eb;--primary-dark:#1d4ed8;--surface:#ffffff;--surface-muted:#f4f6fb;--border:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b;--shadow-soft:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);}
.java-esc{margin-bottom:2rem;}
.java-esc-mode{display:flex;gap:0;border-radius:12px;padding:4px;background:var(--surface-muted);border:1px solid var(--border);max-width:280px;margin-bottom:1rem;}
.java-esc-mode-btn{flex:1;padding:0.5rem 1rem;border:none;border-radius:8px;font-size:0.9375rem;font-weight:600;cursor:pointer;background:transparent;color:var(--text-muted);transition:background 0.2s,color 0.2s;}
.java-esc-mode-btn:hover{color:var(--text-main);}
.java-esc-mode-btn.is-active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-soft);}
.java-esc-panels{display:flex;flex-direction:column;gap:1rem;}
.java-esc-in,.java-esc-out{display:flex;flex-direction:column;gap:0.375rem;}
.java-esc-label{font-size:0.8125rem;font-weight:600;color:var(--text-muted);}
.java-esc-editor{min-height:260px;border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden;}
.java-esc-editor-readonly{background:var(--surface-muted);}
.java-esc-bar{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem;padding:0.5rem 0;}
.java-esc-cmd{padding:0.5rem 1rem;border-radius:8px;font-size:0.875rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-main);transition:background 0.2s,border-color 0.2s;}
.java-esc-cmd:hover{background:var(--surface-muted);border-color:var(--primary);}
.java-esc-copy{background:var(--primary);color:#fff;border-color:var(--primary);}
.java-esc-copy:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff;}
.java-esc-stats{font-size:0.8125rem;color:var(--text-muted);}
.java-esc-ref{margin-top:2rem;padding:1.25rem;background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;}
.java-esc-ref-title{font-size:1.125rem;font-weight:700;margin:0 0 0.75rem;color:var(--text-main);}
.java-esc-ref-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.java-esc-ref-table{width:100%;min-width:320px;border-collapse:collapse;font-size:0.875rem;}
.java-esc-ref-table th,.java-esc-ref-table td{padding:0.5rem 0.75rem;text-align:left;border-bottom:1px solid var(--border);}
.java-esc-ref-table th{font-weight:600;color:var(--text-muted);background:var(--surface);}
.java-esc-ref-table code{font-family:ui-monospace,monospace;font-size:0.8125rem;padding:0.125rem 0.25rem;background:var(--surface);border-radius:4px;}
@media (min-width:768px){.java-esc-panels{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto 1fr;grid-template-areas:"in in" "bar bar" "out out";gap:1rem 1.5rem;}
.java-esc-in{grid-area:in;}
.java-esc-bar{grid-area:bar;}
.java-esc-out{grid-area:out;}
.java-esc-editor{min-height:320px;}
}
@media (min-width:992px){.java-esc-panels{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-template-areas:"in out" "bar bar";}
.java-esc-in{grid-area:in;}
.java-esc-out{grid-area:out;}
.java-esc-bar{grid-area:bar;grid-column:1/-1;}
.java-esc-editor{min-height:480px;}
}
