:root{color:#102033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#60a5fa33,#0000 34%),linear-gradient(#eef4fb 0%,#f8fafc 45%,#edf2f7 100%);font-family:IBM Plex Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,textarea{font:inherit}button{cursor:pointer}textarea{resize:vertical}#app{min-height:100vh}.app-shell{place-items:center;min-height:100vh;padding:32px 16px;display:grid}.app-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border:1px solid #94a3b859;border-radius:24px;width:min(980px,100%);padding:28px;box-shadow:0 24px 60px #0f172a1f}.heading{margin-bottom:24px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#2563eb;margin:0 0 8px;font-size:.78rem;font-weight:700}h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.intro{color:#475569;max-width:56ch;margin:12px 0 0}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.panel{gap:10px;display:grid}.panel-title{color:#334155;font-size:.95rem;font-weight:600}.editor{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:18px;width:100%;min-height:320px;padding:16px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.95rem;line-height:1.55;transition:border-color .16s,box-shadow .16s,background-color .16s}.editor:focus{background:#fff;border-color:#60a5fa;outline:none;box-shadow:0 0 0 4px #60a5fa2e}.editor.output{background:#f1f5f9}.actions{gap:12px;margin-top:20px;display:flex}.primary-button,.secondary-button{border:none;border-radius:999px;padding:12px 18px;font-weight:600;transition:transform .14s,opacity .14s,box-shadow .14s}.primary-button{color:#f8fafc;background:#0f172a;box-shadow:0 12px 24px #0f172a29}.secondary-button{color:#1d4ed8;background:#dbeafe}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.secondary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.status-message{min-height:1.5em;margin:14px 0 0;font-size:.95rem}.status-message.hint{color:#475569}.status-message.error{color:#b91c1c;font-weight:600}@media (width<=820px){.app-card{border-radius:20px;padding:20px}.editor-grid{grid-template-columns:1fr}.editor{min-height:240px}.actions{flex-direction:column}.primary-button,.secondary-button{width:100%}}
