*{box-sizing:border-box;margin:0;padding:0}
:root{--p:#7457d9;--pd:#493783;--mint:#69bbaa;--pink:#d83b78;--text:#343744;--muted:#727687;--bg:#f7f6fb;--line:#e8e4f1;--white:#fff;--shadow:0 18px 45px rgba(67,49,126,.09)}
body{font-family:Poppins,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}button,input{font:inherit}button{cursor:pointer}
.page{max-width:1550px;margin:auto;padding:22px 30px 45px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:5px 3px 20px}
.brand strong{color:var(--pd)}.top-actions{display:flex;align-items:center;gap:10px}.top-actions a{font-size:.68rem;color:var(--muted)}
.top-actions button,.source-actions button,.file-button{padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.68rem;font-weight:600}
.hero{padding:30px 34px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px;border-radius:28px;background:linear-gradient(130deg,#eee8ff,#fff0f5 55%,#e9f8f3);box-shadow:var(--shadow)}
.hero span{color:var(--p);font-size:.66rem;font-weight:700;letter-spacing:.08em}.hero h1{max-width:950px;margin-top:7px;font-size:2rem;color:var(--pd)}.hero p{margin-top:8px;color:var(--muted)}
.hero-status{min-width:150px;padding:20px;text-align:center;border-radius:20px;background:rgba(255,255,255,.75)}.hero-status strong{display:block;font-size:1.8rem;color:var(--p)}.hero-status span{font-size:.6rem;color:var(--muted)}
.source-panel{margin-top:20px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.source-panel p{margin-top:3px;color:var(--muted);font-size:.65rem}.source-actions{display:flex;flex-wrap:wrap;gap:8px}.source-actions .primary{border-color:var(--p);background:var(--p);color:#fff}
.workspace{margin-top:20px;display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px}
.settings{height:fit-content;padding:20px;position:sticky;top:15px;border:1px solid var(--line);border-radius:20px;background:#fff}
.settings h2{font-size:1rem}.settings>label{display:block;margin:14px 0 6px;font-size:.68rem;font-weight:600}.settings>input{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;outline:0}
.quality-card{margin-top:18px;padding:14px;border-radius:13px;background:#fff6dc}.quality-card strong{display:block;margin-bottom:8px;font-size:.72rem}.quality-card label{display:block;margin-top:7px;font-size:.62rem;line-height:1.4}
.export-button{width:100%;margin-top:14px;padding:11px;border:0;border-radius:10px;background:var(--pd);color:#fff;font-size:.68rem;font-weight:700}.secondary-export{margin-top:7px;background:#eee9fc;color:var(--pd)}
.document{min-height:900px;padding:42px 48px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.empty-state{min-height:700px;display:grid;place-content:center;text-align:center;color:var(--muted)}.empty-state span{font-size:3rem}.empty-state h2{margin-top:12px;color:var(--pd)}.empty-state p{margin-top:7px}
.doc-title{text-align:center;color:#08766e;font-size:1.65rem}.doc-subtitle{text-align:center;margin-top:5px;font-weight:600}.context-title{text-align:center;margin:18px 0;color:var(--pink);font-size:1.15rem}
.doc-section{margin-top:26px}.doc-section h2{padding-bottom:6px;border-bottom:2px solid #e5a7c3;color:var(--pink);font-size:1.05rem}.doc-section h3{margin-top:17px;color:var(--pd);font-size:.86rem}
.doc-section p,.doc-section li{font-size:.75rem;line-height:1.7}.doc-section p{margin-top:10px}.doc-section ul{margin-top:8px;padding-left:20px}
.info-table,.curriculum-table{width:100%;margin-top:12px;border-collapse:collapse;font-size:.69rem}.info-table th,.info-table td,.curriculum-table th,.curriculum-table td{padding:8px;border:1px solid #8b8b8b;vertical-align:top}.info-table th,.curriculum-table th{background:#efbed4;text-align:left}.curriculum-table th{background:#f5dfe9}
.orientation-grid,.context-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.orientation-card,.context-card{padding:13px;border:1px solid var(--line);border-radius:12px}.orientation-card strong,.context-card strong{display:block;color:var(--pd);font-size:.72rem}.orientation-card p,.context-card p{margin-top:5px;font-size:.66rem;color:var(--muted)}
.warning{margin-top:14px;padding:13px;border-radius:12px;background:#fff6dc;font-size:.68rem;line-height:1.6}
.reflection{padding:14px;border-radius:12px;background:#eef9f6}
@media(max-width:950px){.workspace{grid-template-columns:1fr}.settings{position:static}.source-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.page{padding:14px}.hero{grid-template-columns:1fr}.hero-status{display:none}.document{padding:25px 18px}.orientation-grid,.context-grid{grid-template-columns:1fr}}
@media print{body{background:#fff}.topbar,.hero,.source-panel,.settings{display:none}.page{max-width:none;padding:0}.workspace{display:block}.document{border:0;box-shadow:none;padding:0}}

.quick-context{display:block}.quick-context form{width:100%}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.quick-grid label{display:flex;flex-direction:column;gap:7px;font-size:.85rem}.quick-grid select,.quick-grid textarea{font:inherit;padding:12px;border:1px solid var(--line);border-radius:10px;width:100%;background:white}.quick-context h2{color:var(--pd)}.quick-context p,.edit-hint{font-size:.8rem;line-height:1.5;margin:10px 0;color:var(--muted)}.quick-context button{padding:12px 20px;border:0;border-radius:10px;background:var(--pd);color:white}.document [contenteditable=true]:focus{outline:2px solid var(--mint);outline-offset:3px}.document [contenteditable=true]{min-height:1.4em}.source-panel summary{cursor:pointer}@media(max-width:650px){.quick-grid{grid-template-columns:1fr}}
