:root { color-scheme: light; font-family: Arial, sans-serif; color: #20252b; background: #fff; }
* { box-sizing: border-box; }
body { margin: 0; }
[hidden] { display: none !important; }
button, input, textarea { font: inherit; }
button { border: 0; border-radius: 7px; background: #253e60; color: #fff; padding: 12px 28px; cursor: pointer; font-weight: 600; }
button:hover { background: #1a2f4c; }
button:disabled { opacity: .6; cursor: wait; }
button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #90b3dc; outline-offset: 3px; }
.login-view { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(100%, 380px); }
.brand { color: #68717d; font-size: 14px; margin-bottom: 30px; }
h1 { font-size: 23px; line-height: 1.3; font-weight: 600; margin: 0; }
.login-card h1 { margin-bottom: 28px; }
.login-card form { display: flex; flex-direction: column; }
label, .panel-label { font-size: 14px; color: #536070; display: block; margin-bottom: 10px; }
.login-card input { border: 1px solid #ccd3dc; border-radius: 7px; padding: 12px; margin-bottom: 22px; width: 100%; }
.login-card button { margin-top: 5px; }
.editor-view { max-width: 1500px; margin: 0 auto; padding: 36px 40px; }
header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.quiet { background: transparent; color: #536070; padding: 8px 12px; font-weight: 400; }
.quiet:hover { background: #f2f4f7; }
.panels { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
.panel { min-width: 0; }
textarea, .result { border: 1px solid #d1d8e1; border-radius: 8px; background: #fff; width: 100%; height: min(65vh, 720px); min-height: 360px; padding: 20px; font: 16px/1.7 Arial, sans-serif; overflow: auto; overflow-wrap: anywhere; white-space: pre-wrap; tab-size: 4; }
textarea { resize: vertical; display: block; }
textarea::placeholder { color: #929ba7; }
.result { user-select: none; -webkit-user-select: none; cursor: default; }
.result mark { color: inherit; border-radius: 2px; padding: 0; }
.actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; }
.counter { font-size: 13px; color: #77818e; }
.status { min-height: 22px; margin: 16px 0 0; color: #536070; font-size: 14px; line-height: 1.5; }
.status.error { color: #a22d39; }
@media (max-width: 700px) { .editor-view { padding: 24px 18px; } header h1 { font-size: 19px; } .panels { grid-template-columns: 1fr; gap: 22px; } textarea, .result { height: 40vh; min-height: 260px; padding: 16px; } }
