:root { --forge-priority: #ead7ae; --forge-support: #dce8df; --forge-repetition:#f2d6d2; }
.metadata-field { display:block; position:relative; background:var(--surface); }
.metadata-field textarea,.metadata-paint { font:inherit; line-height:1.5; letter-spacing:normal; white-space:pre-wrap; overflow-wrap:break-word; padding:.5rem .75rem; border:1px solid transparent; box-sizing:border-box; }
.metadata-paint { position:absolute; inset:0; display:block; color:transparent; pointer-events:none; overflow:hidden; }
.metadata-paint mark { color:transparent; padding:0; font:inherit; }
.metadata .metadata-field textarea { position:relative; background:transparent; color:var(--color); border-color:var(--border); }
.metadata-priority { background:var(--forge-priority); }.metadata-support { background:var(--forge-support); }
.metadata-repetition,.repetition-label { background:var(--forge-repetition); }
.repetition-dot { width:12px; height:12px; display:inline-block; border:1px solid var(--border); background:var(--forge-repetition); }
::highlight(forge-repetition) { background-color:var(--forge-repetition); color:var(--color); }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; margin:2rem 0 1.5rem; }
.page-heading h1 { margin:0 0 .4rem; }
.page-heading p { margin:0 0 .5rem; }
.app-page .lp-header { padding-inline:0; }
.app-page .lp-header nav.container { padding:.75rem 1.5rem; }
.lp-header .nav-logout { background:transparent!important; border:0!important; color:rgba(255,255,255,.9)!important; padding:.45rem .75rem; margin:0; gap:.4rem; font-size:.8rem; font-weight:500; letter-spacing:.03em; text-transform:uppercase; line-height:inherit; }
.lp-header .nav-logout:hover { background:rgba(255,255,255,.15)!important; color:#fff!important; }
.lp-header :is(a,button):focus-visible { outline-color:var(--accent); }
.lp-header form { margin:0; }
/* The editor needs a wider canvas; header and content share the same edges. */
.forge-editor-page :is(.forge-workspace,.lp-header nav.container) { max-width:1600px; }
.forge-footer { margin-top:3rem; padding:1.5rem 0; border-top:1px solid var(--border); }
.forge-footer span { color:var(--muted); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.5rem; }
.form-grid label { margin:0; }
.form-grid small,td small { display:block; color:var(--muted); }
.new-draft-form { max-width:1000px; }
.login-shell { max-width:420px; margin:12vh auto; padding:2rem; background:var(--surface); border-left:3px solid var(--accent); }
.login-shell h1 { font-size:3.5rem; margin:0; }
.editor-layout { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:1.5rem; align-items:start; }
.writing-pane { min-width:0; background:var(--surface); border:1px solid var(--border); }
.metadata { padding:1.25rem; border-bottom:1px solid var(--border); grid-template-columns:minmax(0,1fr); }
.metadata textarea { display:block; width:100%; min-height:2.6rem; resize:none; overflow:hidden; font:inherit; line-height:1.5; margin:0; }
.draft-actions { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.draft-actions button,.editor-controls button,.research-strip button { padding:.45rem .7rem; font-size:14px; margin:0; }
.research-strip { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:.8rem 0; margin-bottom:1.5rem; }
.research-strip span { flex:1; }
.editor-controls { display:flex; align-items:center; flex-wrap:wrap; gap:.7rem; padding:.8rem 1rem; }
.highlight-toggle { display:flex; gap:.4rem; align-items:center; margin:0; font-size:14px; }
.highlight-toggle input { margin:0; width:auto; }
.legend { display:inline-flex; align-items:center; gap:.3rem; font-size:12px; color:var(--muted); }
.priority-dot,.support-dot { width:12px; height:12px; display:inline-block; border:1px solid var(--border); }
.priority-dot { background:var(--forge-priority); }.support-dot { background:var(--forge-support); }
::highlight(forge-priority) { background-color:var(--forge-priority); color:var(--color); }
::highlight(forge-support) { background-color:var(--forge-support); color:var(--color); }
.ql-toolbar.ql-snow { border-width:1px 0; border-color:var(--border); background:var(--bg); position:sticky; top:0; z-index:2; }
.ql-container.ql-snow { border:0; font-family:'DM Sans',sans-serif; font-size:16px; }
.ql-editor { min-height:65vh; padding:2rem 2.5rem; line-height:1.75; overflow-wrap:anywhere; }
.ql-editor p { margin-bottom:1rem; }
.ql-editor h2,.ql-editor h3 { font-family:'Instrument Serif',serif; font-weight:400; margin:1.5rem 0 .7rem; color:var(--primary); }
.ql-editor h2 { font-size:1.8rem; }.ql-editor h3 { font-size:1.45rem; }
.ql-snow .ql-picker { color:var(--color); }.ql-toolbar button { border:0; margin:0; border-radius:0; min-height:24px; }
.writing-pane .ql-toolbar button { background:transparent!important; color:var(--color)!important; border:0!important; }
.writing-pane .ql-toolbar button:hover,.writing-pane .ql-toolbar button.ql-active { background:var(--forge-priority)!important; }
.writing-pane .ql-toolbar .ql-stroke { stroke:var(--primary); }
.insight-tabs button[role=tab] { background:transparent!important; color:var(--muted)!important; border:0!important; border-bottom:2px solid transparent!important; }
.insight-tabs button[role=tab][aria-selected=true] { color:var(--primary)!important; border-bottom-color:var(--primary)!important; }
.concept-row details { background:transparent; box-shadow:none; }
.concept-row details>summary,.concept-row details[open]>p { padding:0; }
.editor-bottom { border-top:1px solid var(--border); padding:.8rem 1.2rem; display:flex; justify-content:space-between; gap:1rem; font-size:14px; }
.insights-pane { min-width:0; }.score-panel { border-left:3px solid var(--accent); background:var(--surface); padding:1.1rem 1.3rem; }
.score-top { display:flex; justify-content:space-between; align-items:center; }
#score-number { font-size:2.2rem; font-family:'Instrument Serif',serif; color:var(--primary); }#score-grade { font-family:'Instrument Serif',serif; font-size:3rem; }
#score-components p { display:flex; justify-content:space-between; margin:.25rem 0; font-size:14px; }
#score-state { font-size:13px; margin:.5rem 0 0; color:var(--muted); }
.eyebrow { text-transform:uppercase; letter-spacing:.08em; font-size:12px; color:var(--muted); }
.insight-tabs { display:flex; margin:1rem 0; border-bottom:1px solid var(--border); }
.insight-tabs button { flex:1; background:none; border:0; color:var(--color); margin:0; padding:.65rem; border-bottom:2px solid transparent; }
.insight-tabs [aria-selected=true] { border-bottom-color:var(--primary); color:var(--primary); font-weight:600; }
#concepts-panel>label { font-size:14px; }#concepts-panel input,#concepts-panel select { margin-bottom:.6rem; }
.concept-row { padding:.85rem 0; border-bottom:1px solid var(--border); }
.concept-heading { display:flex; justify-content:space-between; gap:.8rem; }.concept-heading strong { font-size:16px; }.prevalence { font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--muted); font-size:14px; }
.priority-icon { color:var(--accent); }.concept-usage { font-size:14px; margin:.25rem 0; }
.placements { display:flex; gap:.8rem; font-size:12px; }.present { color:var(--primary); }.absent { color:var(--muted); }
.concept-row details { border:0; padding:0; margin:.35rem 0 0; font-size:13px; }.concept-row summary { font-weight:400; }.concept-row details p { margin:.4rem 0; }
.overuse-note { color:var(--danger,#9b3d32); font-size:13px; }
.concept-status { display:flex; align-items:center; gap:.5rem; margin:.5rem 0; font-weight:500; }
.concept-status.covered { color:var(--primary); }
.concept-status.missing,.placement-needed { color:var(--status-warning-text); font-weight:500; }
.concept-status.overused { color:var(--status-error-text); }
.concept-row .concept-usage,.concept-row .placements,.concept-row .concept-points,.concept-row .overuse-note,.concept-row details,#concept-update,.concept-guidance { font-size:1rem; }
.concept-row .placements { flex-wrap:wrap; gap:.5rem .75rem; }
.concept-points,.concept-guidance { color:var(--muted); margin:.5rem 0; }
#concept-update { margin:.75rem 0 .5rem; font-weight:500; }
.concept-row { background:transparent; border:0; border-bottom:1px solid var(--border); margin:0; padding:0; box-shadow:none; }
.concept-row>summary { padding:.8rem 0; font-weight:400; list-style:none; cursor:pointer; }
.concept-row>summary::-webkit-details-marker { display:none; }
.concept-row>summary::before,.concept-row>summary::after { content:none; }
.concept-row>summary:hover { background:var(--accent-focus); }
.concept-row>summary:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.concept-heading { display:grid; grid-template-columns:1.25rem minmax(0,1fr) auto 1rem; align-items:baseline; gap:.4rem; }
.concept-expand { color:var(--muted); }.concept-row[open] .concept-expand { transform:rotate(180deg); }
.concept-heading .prevalence { font-size:1rem; }
.concept-indicator.covered { color:var(--primary); }.concept-indicator.attention { color:var(--status-warning-text); }
.concept-row .concept-usage,.concept-action { display:block; margin:.15rem 0 0 1.65rem; font-size:1rem; color:var(--muted); }
.concept-action { color:var(--status-warning-text); }
.concept-detail { padding:0 0 .8rem 1.65rem; overflow-wrap:anywhere; }
.concept-detail p { font-size:1rem; margin:.4rem 0; }
.example-passage { padding:.8rem 0; border-bottom:1px solid var(--border); }
.example-passage:last-child { border:0; }
#research-content .example-passage p { font-size:1rem; margin:0 0 .4rem; }
.passage-source { font-style:italic; font-size:1rem; }
.passage-source i { font-style:normal; vertical-align:middle; }
.example-passage mark { color:var(--color); padding:0; }
.passage-priority { background:var(--forge-priority); }.passage-support { background:var(--forge-support); }
#research-content details { border-bottom:1px solid var(--border); padding:.8rem 0; margin:0; }#research-content details details { padding:.65rem; }#research-content p { font-size:14px; margin:.7rem 0; }#research-content a { overflow-wrap:anywhere; }
dialog { width:min(680px,92vw); max-height:85vh; overflow:auto; background:var(--surface); border:1px solid var(--border); padding:2rem; }dialog::backdrop { background:rgba(0,0,0,.4); }dialog h2 { margin-top:0; }#history-list p { display:flex; justify-content:space-between; align-items:center; gap:1rem; }#history-list button { margin:0; white-space:nowrap; }
.table-scroll { overflow:auto; }[hidden] { display:none!important; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
@media(max-width:1100px){.editor-layout{grid-template-columns:minmax(0,1fr) 320px}.page-heading{flex-direction:column}.draft-actions{justify-content:flex-start}.ql-editor{padding:1.5rem}}
@media(max-width:900px){.app-page .lp-header nav.container{padding-inline:1rem}}
@media(max-width:760px){.editor-layout,.form-grid{grid-template-columns:1fr}.lp-header nav{flex-wrap:wrap}.lp-header nav ul{gap:.65rem;flex-wrap:wrap}.ql-editor{min-height:45vh;padding:1rem}.editor-bottom{flex-direction:column}.insights-pane{border-top:1px solid var(--border);padding-top:1rem}.login-shell{margin:5vh 1rem}.research-strip{font-size:14px}.metadata{padding:1rem}}
/* Draft review and explicit, optional automation controls. */
.draft-workflow-links{display:flex;flex-wrap:wrap;gap:1rem;margin:0 0 1rem;padding:0 0 1rem;border-bottom:1px solid #DDD8CC;font-size:1rem}
.review-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.review-columns article{min-width:0}
.review-copy,.analysis-output{overflow-wrap:anywhere}
.analysis-output{white-space:pre-wrap;font:inherit;line-height:1.65;background:transparent;border:0;padding:0;color:inherit}
.workflow-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.5rem;margin:1rem 0}
.workflow-permissions label{margin:0}
.provider-help code{overflow-wrap:anywhere;white-space:normal}
@media(max-width:760px){.review-columns,.workflow-permissions{grid-template-columns:1fr}.draft-workflow-links{gap:.75rem}}
