:root{font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#f5f6fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f8fafc,#eef2ff);overflow-x:hidden}#root{min-height:100vh}.app-shell{width:100%;margin:0 auto;padding:2rem 2.5rem 3rem;display:flex;flex-direction:column;gap:1.75rem;min-height:100vh}.page-header{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:2rem 2.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;box-shadow:0 25px 50px -12px #0f172a1f,0 0 0 1px #0f172a05}.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:#6366f1;margin:0 0 .25rem}.eyebrow.subtle{color:#94a3b8}h1{margin:0;font-size:clamp(2rem,3vw,2.75rem);color:#0f172a}.subtitle{margin:.75rem 0 0;max-width:520px;color:#475569;line-height:1.6}.doc-input{width:min(320px,100%);padding:.75rem 1rem;border-radius:14px;border:1px solid #d7dfee;font-size:1.1rem;font-weight:600;color:#0f172a;background:#f8fafc;outline:none}.doc-input:focus{border-color:#a855f7;box-shadow:0 0 0 4px #a855f71a}.header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.primary{background:#111827;color:#fff;border:none;border-radius:999px;padding:.85rem 1.8rem;font-weight:600;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.primary:disabled{opacity:.6;cursor:not-allowed}.primary:not(:disabled):hover{transform:translateY(-1px)}.file-picker{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.75rem;border-radius:999px;background:linear-gradient(120deg,#6d28d9,#7c3aed,#a855f7);color:#fff;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.file-picker:hover{transform:translateY(-1px);box-shadow:0 10px 20px #6d28d940}.file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.workspace{flex:1;background:#f9fafb;border-radius:20px;padding:1.5rem;border:1px solid #e5e7eb;display:flex;flex-direction:column;min-width:0}.panes{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;min-height:0}.panel{background:#fff;border-radius:20px;border:1px solid #e2e8f0;box-shadow:0 20px 40px -24px #0f172a73;display:flex;flex-direction:column;min-height:420px}.panel-header{padding:1.5rem 2rem;border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;gap:.35rem}.panel-header h2{margin:0;font-size:1.25rem;color:#0f172a}.editor-panel textarea{border:none;border-top:1px solid #f1f5f9;flex:1;min-height:0;height:100%;padding:1.5rem 2rem 2rem;font-size:.95rem;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;background:#f8fafc;resize:none;outline:none;min-width:0}.editor-panel textarea:focus{background:#fff}.preview{padding:2rem;flex:1;min-height:0;overflow:auto;font-size:1rem;line-height:1.7;color:#0f172a}.preview :is(h1,h2,h3,h4,h5,h6){color:#111827;margin-top:1.5em}.preview>:first-child{margin-top:0}.preview pre{background:#0f172a;color:#f8fafc;padding:1rem;border-radius:12px;overflow-x:auto}.preview code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.preview table{border-collapse:collapse;width:100%;margin:1rem 0}.preview table th,.preview table td{border:1px solid #e2e8f0;padding:.5rem .75rem;text-align:left}.preview blockquote{margin:1.5rem 0;padding-left:1rem;border-left:4px solid #a855f7;color:#475569}@media(max-width:1024px){.page-header{padding:1.75rem;border-radius:20px}.header-actions{flex-wrap:wrap;justify-content:flex-start}}@media(max-width:900px){.app-shell{padding:1.25rem;gap:1.5rem}.page-header{flex-direction:column;align-items:stretch;padding:1.5rem}.header-actions{width:100%;justify-content:center}.workspace{padding:1.25rem;border-radius:18px}.panes{grid-template-columns:1fr}.panel{min-height:0}.panel-header{padding:1.25rem 1.5rem}.editor-panel textarea{min-height:280px}}@media(max-width:600px){.app-shell{padding:1rem;gap:1.25rem}.page-header{padding:1.25rem;border-radius:18px}.header-actions{flex-direction:column;gap:.5rem}.header-actions .file-picker,.header-actions .primary{width:100%;display:flex;align-items:center;justify-content:center;text-align:center}.workspace{padding:1rem;border-radius:16px}.panel{border-radius:16px}.panel-header h2{font-size:1.1rem}.editor-panel textarea{padding:1.25rem 1.25rem 1.5rem;font-size:1rem}.preview{padding:1.25rem;font-size:.95rem}}
