* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, sans-serif; color: #202124; background: #fff; }
header { padding: 12px 16px; border-bottom: 1px solid #eee; }
h1 { font-size: 1.25rem; margin: 0; }
main { max-width: 900px; margin: 0 auto; padding: 16px; }
#code-bar { display: flex; gap: 8px; margin-bottom: 12px; }
#code { flex: 1; padding: 8px; border: 1px solid #ccc; border-radius: 6px; }
button { cursor: pointer; border: 1px solid #ccc; background: #f8f9fa; border-radius: 6px; padding: 8px 12px; }
#direction { display: flex; align-items: center; gap: 12px; justify-content: center; margin: 8px 0 12px; }
#options { display: flex; justify-content: center; margin: 0 0 12px; }
#insane-wrap { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; user-select: none; font-size: 0.95rem; }
#insane-wrap input { cursor: pointer; }
#panels { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
#input-wrap, #output-wrap { display: flex; flex-direction: column; }
#input, #output { min-height: 200px; padding: 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 1rem; }
#input { width: 100%; resize: vertical; font-family: inherit; }
#output { white-space: pre-wrap; background: #f8f9fa; }
.toolbar { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.toolbar button { padding: 6px 12px; font-size: 0.9rem; }
#status { color: #d93025; min-height: 1.2em; margin-top: 8px; }
@media (max-width: 640px) { #panels { grid-template-columns: 1fr; } }
