:root{color:#0f172a;background:radial-gradient(circle at 0 0,#e0f2fe,#f8fafc 40%);font-family:Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh}.app{max-width:900px;margin:0 auto;padding:2rem 1rem}.panel{background:#fffc;border:1px solid #cbd5e1;border-radius:12px;padding:1rem;box-shadow:0 8px 24px #0f172a12}.header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.title{margin:0;font-size:1.4rem}.status{color:#334155;margin:0;font-size:.92rem}.transcript{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;min-height:280px;max-height:56vh;margin-bottom:1rem;padding:.75rem;overflow-y:auto}.line{border-radius:8px;margin:.4rem 0;padding:.4rem .6rem}.line-input{background:#dbeafe}.line-output{background:#e2e8f0}.line-system{background:#fef9c3}span.object{color:#dc2626;font-weight:600}span.location{color:#0369a1;font-weight:600}.controls{gap:.5rem;display:flex}.controls input{border:1px solid #94a3b8;border-radius:8px;flex:1;padding:.6rem}.controls button{color:#fff;cursor:pointer;background:#0f172a;border:1px solid #64748b;border-radius:8px;padding:.6rem .85rem}.controls button[disabled]{cursor:not-allowed;opacity:.6}.error{color:#b91c1c;margin-bottom:.6rem}.sr-only{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
