:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--radius:14px;--radius-sm:8px;--radius-xs:4px;--radius-pill:999px;--shadow:0 2px 8px #0000000a;--shadow-pop:0 8px 30px #00000040;--text-xs:.72rem;--text-sm:.82rem;--text-base:.95rem;--text-md:1.05rem;--text-lg:1.35rem;--text-xl:clamp(1.5rem, 3vw, 2rem);--text-2xl:clamp(1.9rem, 4vw, 2.9rem);--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.7;--maxw:1180px;--maxw-reading:48ch;--font-body:Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-ui:Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, monospace}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.u-ui{font-family:var(--font-ui)}a{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{body{background:#fff}}:root,[data-theme=portal]{--color-structural:#85754d;--color-structural-dk:#5c4f33;--color-structural-wash:#f5f0e8;--color-accent:#005487;--color-accent-wash:#e5eef4;--color-ink:#111827;--color-muted:#6b7280;--color-faint:#9ca3af;--color-surface:#fdfbf6;--color-panel:#fff;--color-white:#fff;--color-border:#e5e0d5;--color-border-soft:#f0ebde;--color-info:#005487;--color-info-wash:#e5eef4;--color-success:#2e7d32;--color-success-wash:#e8f5e9;--color-warn:#854f0b;--color-warn-wash:#fff8e1;--color-danger:#c62828;--color-danger-wash:#ffebee}[data-theme=liturgical]{--color-structural:#005487;--color-structural-dk:#003e66;--color-structural-wash:#e5eef3;--color-accent:#86754d;--color-accent-wash:#f3eedd;--color-ink:#282828;--color-rubric:#a4262c;--color-muted:#7d7d7d;--color-faint:#9ca3af;--color-surface:#f6f3ec;--color-panel:#fbf9f3;--color-white:#fff;--color-border:#e4dece;--color-border-soft:#efe9d9;--color-info:#005487;--color-info-wash:#e5eef3;--color-success:#6e7e55;--color-success-wash:#eef1e6;--color-warn:#854f0b;--color-warn-wash:#f9f0df;--color-danger:#b91c1c;--color-danger-wash:#fbeaea}html,body,#root{height:100%}.app{background:var(--color-surface);flex-direction:column;min-height:100vh;display:flex}.app-main{width:100%;max-width:1340px;padding:var(--space-6) var(--space-5);flex:1;margin:0 auto}.app-footer{border-top:1px solid var(--color-border);background:var(--color-panel);padding:var(--space-4) 0;text-align:center;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.auth-body{width:100%;max-width:768px;padding:var(--space-8) var(--space-5);flex:1;margin:0 auto}.screen-message{min-height:100vh;padding:var(--space-6);text-align:center;color:var(--color-muted);justify-content:center;align-items:center;display:flex}.card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-6)}.card-narrow{max-width:384px;margin:0 auto}.field{gap:var(--space-2);flex-direction:column;display:flex}.field-label{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink);font-weight:600}.input{width:100%;font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-ink);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem .75rem}.input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.input:disabled{background:var(--color-structural-wash);color:var(--color-faint)}.input-code{text-align:center;font-size:var(--text-lg);letter-spacing:.4em}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-base);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:.65rem 1.1rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-block{width:100%}.btn-primary{background:var(--color-structural);color:var(--color-white)}.btn-primary:not(:disabled):hover{background:var(--color-structural-dk)}.btn-ghost{color:var(--color-ink);border-color:var(--color-border);background:0 0}.btn-ghost:not(:disabled):hover{background:var(--color-structural-wash)}.btn-on-brand{color:var(--color-white);background:0 0;border-color:#ffffff73}.btn-on-brand:not(:disabled):hover{background:#ffffff1f}.alert{border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border:1px solid}.alert-danger{border-color:var(--color-danger);background:var(--color-danger-wash);color:var(--color-danger)}.alert-success{border-color:var(--color-success);background:var(--color-success-wash);color:var(--color-success)}.tier-badge,.header-action{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);border:1px solid #0000;align-items:center;padding:.4rem .75rem;font-weight:700;line-height:1;display:inline-flex}.tier-badge{color:var(--color-white);background:#ffffff29}.header-action{color:var(--color-white);cursor:pointer;background:0 0;border-color:#ffffff73;text-decoration:none}.header-action:hover{background:#ffffff1f}.muted{color:var(--color-muted)}.stack{gap:var(--space-5);flex-direction:column;display:flex}.doc-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.doc-list-item{padding:var(--space-4) var(--space-5);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:2px;text-decoration:none;display:flex}.doc-list-item:hover{border-color:var(--color-accent)}.doc-list-title{color:var(--color-ink);font-weight:600}.doc-list-sub{font-size:var(--text-sm)}.doc-list-meta{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}.doc-list-row{position:relative}.doc-del{font-family:var(--font-ui);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-danger);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;padding:.2rem .6rem;font-weight:700;position:absolute;top:.7rem;right:.9rem}.doc-del:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger-wash)}.doc-del:disabled{opacity:.6;cursor:default}.back-link{font-size:var(--text-sm);color:var(--color-accent);text-decoration:none}.reading-root{width:100%}.doc-toolbar{align-items:center;gap:var(--space-4);margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-5)) var(--space-5);padding:.55rem var(--space-5);background:var(--color-panel);border-bottom:1px solid var(--color-border);font-family:var(--font-ui);flex-wrap:wrap;display:flex}.toolbar-controls{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:auto;display:flex}.ctl-label{text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);font-size:.62rem}.seg{background:var(--color-structural-wash);border-radius:var(--radius-pill);padding:2px;display:flex}.seg button{color:var(--color-structural);cursor:pointer;font:inherit;border-radius:var(--radius-pill);background:0 0;border:0;padding:.28rem .66rem}.seg button[aria-pressed=true]{background:var(--color-structural);color:var(--color-white);font-weight:700}.chip-toggle{border:1px solid var(--color-border);color:var(--color-muted);border-radius:var(--radius-pill);cursor:pointer;font:inherit;background:0 0;align-items:center;padding:.28rem .66rem;text-decoration:none;display:inline-flex}.chip-toggle.on{border-color:var(--color-accent);color:var(--color-accent)}.masthead{padding:var(--space-5) 0 .4rem}.eyebrow{font-family:var(--font-ui);letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent);margin:0 0 .5rem;font-size:.68rem;font-weight:700}.masthead h1{font-size:var(--text-2xl);color:var(--color-structural);margin:0;font-weight:600}.masthead .sub{color:var(--color-muted);font-style:italic;font-size:var(--text-md);margin:.25rem 0 0}.masthead .meta{font-family:var(--font-ui);letter-spacing:.04em;color:var(--color-muted);text-transform:uppercase;margin:.7rem 0 0;font-size:.7rem}.surface{margin:1.2rem 0 3rem;position:relative}.tether{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.grid{grid-template-columns:minmax(0,1fr) minmax(24rem,36rem);align-items:start;gap:2.4rem;display:grid}.liturgy{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-xs);box-shadow:var(--shadow);padding:2.2rem clamp(1.2rem,3.5vw,3rem)}.liturgy .node{position:relative}.said,.block{max-width:none}.note-fm{color:var(--color-muted);margin:.2rem 0;font-size:.95rem;font-style:italic}.section{border-top:1px solid var(--color-border);align-items:baseline;gap:.7rem;margin:2.2rem 0 1rem;padding-top:1.3rem;display:flex}.section:first-child{border-top:0;margin-top:.4rem;padding-top:0}.section h2{font-size:var(--text-lg);color:var(--color-structural);margin:0;font-weight:600}.rubric{align-items:baseline;gap:.8rem;margin:1.4rem 0 .5rem;display:flex}.rubric .n{font-family:var(--font-ui);text-align:right;font-variant-numeric:tabular-nums;min-width:1.4rem;padding-top:.18rem;font-size:.82rem;font-weight:700}.rubric .dir{font-family:var(--font-ui);flex:auto;min-width:0;font-size:.92rem;line-height:1.45}.said{margin:.15rem 0 .15rem 2.2rem}.said.lead{color:var(--color-ink)}.said.resp{font-weight:700}.said.alt-label{color:var(--color-accent);font-style:italic;font-family:var(--font-ui);margin-top:.8rem;font-size:.84rem}.block{margin:.2rem 0 .2rem 2.2rem}.rv-line{align-items:baseline;gap:.6rem;margin:.12rem 0;display:flex}.rv-text{min-width:0;max-width:48ch}.rv-line.resp{font-weight:700}.rv-anchor{vertical-align:super;cursor:pointer;color:var(--color-accent);border:1.5px solid var(--color-accent);background:0 0;border-radius:50%;width:.82em;height:.82em;margin-left:.18em;padding:0;font-size:.6em;line-height:0;transition:background .15s,transform .15s;display:inline-block;position:relative;top:.05em}.rv-anchor:hover,.rv-anchor:focus-visible{background:var(--color-accent);outline:none;transform:scale(1.18)}.rv-anchor.active{background:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-wash)}.rv-anchor.word{vertical-align:baseline;top:-.35em}.sid{font-family:var(--font-mono);color:var(--color-accent);opacity:.7;margin-left:.3em;font-size:.66rem}.node.lit-active{background:var(--color-accent-wash);box-shadow:-.7rem 0 0 var(--color-accent-wash), .7rem 0 0 var(--color-accent-wash);border-radius:3px}.margin{font-family:var(--font-ui);align-self:start;max-height:calc(100vh - 2rem);padding-right:.4rem;position:sticky;top:1rem;overflow-y:auto}.mhead{letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted);border-bottom:1px solid var(--color-border);margin:.4rem 0 .9rem;padding-bottom:.5rem;font-size:.64rem;font-weight:700}.gloss{text-align:left;border:0;border-left:3px solid var(--color-border);cursor:pointer;width:100%;font:inherit;background:0 0;margin:0 0 1.15rem;padding:.1rem 0 .1rem .85rem;transition:border-color .15s;display:block}.gloss:hover{border-left-color:var(--color-accent)}.gloss.active{border-left-color:var(--color-accent);background:var(--color-accent-wash);border-radius:0 3px 3px 0;padding:.5rem .7rem .55rem .85rem}.gloss .tags{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.32rem;display:flex}.kind{letter-spacing:.1em;text-transform:uppercase;color:var(--color-white);border-radius:3px;padding:.1rem .4rem;font-size:.6rem;font-weight:700}.kind.decision{background:var(--color-structural)}.kind.rationale{background:var(--color-accent)}.kind.discussion{background:var(--color-success)}.kind.open{background:var(--color-muted)}.aud{letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);border:1px solid var(--color-border);border-radius:3px;padding:.08rem .34rem;font-size:.58rem}.gloss .ref{font-family:var(--font-mono);color:var(--color-accent);margin-left:auto;font-size:.64rem}.gloss .date{color:var(--color-muted);margin-bottom:.25rem;font-size:.62rem;display:block}.gloss .gbody{color:var(--color-ink);font-size:.82rem;line-height:1.5;display:block}.gloss.dim{opacity:.32}.gloss-wrap{margin:0 0 1.15rem}.gloss-wrap .gloss{margin:0}.thread-toggle{cursor:pointer;font:inherit;letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);background:0 0;border:0;align-items:center;margin:.4rem 0 0 .85rem;padding:0;font-size:.68rem;font-weight:700;display:inline-flex}.thread-toggle:hover{text-decoration:underline}.thread{border-left:2px solid var(--color-border-soft);flex-direction:column;gap:.7rem;margin:.55rem 0 0 .85rem;padding-left:.7rem;display:flex}.thread-entry{font-size:.8rem}.thread-entry .tags{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.25rem;display:flex}.thread-entry .gbody{color:var(--color-ink);line-height:1.5;display:block}.thread-entry.dim{opacity:.32}.margin .empty{color:var(--color-muted);font-size:.78rem;font-style:italic}.rv-reading .margin,.rv-reading .tether{display:none}.rv-reading .grid{grid-template-columns:1fr}.rv-reading .rv-anchor,.rv-reading .rv-anchor-wrap{display:none}.rv-anchor-wrap{white-space:nowrap}@media (width<=900px){.grid{grid-template-columns:1fr;gap:1rem}.tether{display:none}.margin{position:static}}.add-note{white-space:nowrap;background:var(--color-panel);border:1px dashed var(--color-border);color:var(--color-muted);font-family:var(--font-ui);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);cursor:pointer;opacity:0;pointer-events:none;flex:none;margin-left:auto;padding:.05rem .45rem;font-size:.62rem;font-weight:700;transition:opacity .12s}.rv-line:hover .add-note,.section:hover .add-note,.add-note:focus-visible{opacity:1;pointer-events:auto}.working-notes{border-top:1px dashed var(--color-border);max-width:60ch;margin:2.6rem 0 1rem;padding-top:1.4rem}.wn-head{font-family:var(--font-ui);font-size:var(--text-md);color:var(--color-structural);margin:0 0 .6rem;font-weight:600}.wn-line{font-family:var(--font-body);color:var(--color-ink);white-space:pre-wrap;margin:.15rem 0;line-height:1.5}.app.printing{background:var(--color-white);min-height:auto}.print-main{max-width:720px;padding:var(--space-5) 0;margin:0 auto}.print-main .liturgy{box-shadow:none;background:0 0;border:0;padding:0}.print-main .masthead{text-align:center;margin:0 0 1.7rem;padding-top:0}.print-logo{width:220px;max-width:60%;height:auto;margin:0 auto 1.1rem;display:block}.print-main .masthead h1{font-size:1.75rem}.print-main .masthead .sub{margin-top:.3rem}@media print{@page{size:A4;margin:16mm 16mm 18mm}.doc-toolbar,.app-footer{display:none!important}.app-main{max-width:none;padding:0}.liturgy{box-shadow:none;background:0 0;border:0;padding:0}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.rv-line{break-inside:avoid}.section,.wn-head,.apr-endnotes-head{break-after:avoid}.apr-note{break-inside:avoid}.apr-worknotes,.apr-endnotes{break-before:page}}.export-menu{position:relative}.export-menu>summary{cursor:pointer;list-style:none}.export-menu>summary::-webkit-details-marker{display:none}.export-menu-items{z-index:30;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:14rem;box-shadow:var(--shadow);flex-direction:column;padding:.25rem;display:flex;position:absolute;top:calc(100% + 4px);right:0}.export-menu-items a{font-size:var(--text-sm);color:var(--color-ink);border-radius:var(--radius-xs);white-space:nowrap;padding:.42rem .6rem;text-decoration:none}.export-menu-items a:hover{background:var(--color-structural-wash)}.apr-caption{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);margin:.5rem 0 0;font-size:.7rem}.apr-mark{vertical-align:super;margin-left:.15em;font-size:.62em;font-weight:700;line-height:0}.apr-mark+.apr-mark{margin-left:.25em}.apr-note{gap:.5rem;margin:.35rem 0;font-size:.9rem;line-height:1.4;display:flex}.apr-num{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:1.2rem;font-weight:700}.apr-note-body{flex:auto}.apr-kind{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid;border-radius:2px;margin-right:.4em;padding:0 .3em;font-size:.66em}.apr-aud{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-right:.4em;font-size:.66em}.apr-ref{font-family:var(--font-ui);color:var(--color-muted);margin-right:.2em;font-size:.8em}.apr-attr{color:var(--color-muted);font-style:italic}.apr-endnotes{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1rem}.apr-endnotes-head{font-family:var(--font-ui);font-size:var(--text-md);margin:0 0 .6rem;font-weight:600}.apr-gloss-table{border-collapse:collapse;width:100%}.apr-litcol{vertical-align:top;padding-right:1.3rem}.apr-notescol{vertical-align:top;border-left:1px solid var(--color-border);width:16rem;padding-left:1rem;font-size:.8rem;line-height:1.45}.apr-notescol .apr-note{margin:0 0 .65rem}.apr-empty{color:var(--color-muted);font-style:italic}.add-note:hover{border-color:var(--color-accent);color:var(--color-accent)}.unanchored{letter-spacing:.04em;text-transform:uppercase;color:var(--color-danger);background:var(--color-danger-wash);border-radius:var(--radius-pill);padding:.02rem .4rem;font-size:.58rem;font-weight:700}.gloss-actions{gap:.7rem;margin:.35rem 0 0 .85rem;display:flex}.link-btn{cursor:pointer;font-family:var(--font-ui);letter-spacing:.03em;text-transform:uppercase;color:var(--color-accent);background:0 0;border:0;padding:0;font-size:.68rem;font-weight:700}.link-btn:hover{text-decoration:underline}.link-btn.danger{color:var(--color-danger)}.composer{background:var(--color-white);border:1px solid var(--color-accent);border-radius:var(--radius-sm);padding:var(--space-4);gap:var(--space-3);flex-direction:column;margin-bottom:1.15rem;display:flex}.composer-title{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--color-structural);align-items:center;gap:.5rem;font-size:.7rem;font-weight:700;display:flex}.composer-ref{font-family:var(--font-mono);letter-spacing:0;text-transform:none;color:var(--color-accent);background:var(--color-accent-wash);border-radius:var(--radius-xs);padding:.05rem .4rem;font-size:.66rem}.composer-row{gap:var(--space-3);display:flex}.composer-field{flex-direction:column;flex:1;gap:4px;display:flex}.composer-label{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-size:.62rem;font-weight:700}.composer-select,.composer-input,.composer-textarea{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:.4rem .55rem}.composer-textarea{resize:vertical;line-height:1.5}.composer-select:focus-visible,.composer-input:focus-visible,.composer-textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.composer-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.composer-actions .btn{font-size:var(--text-sm);padding:.45rem .9rem}.block-editor{gap:var(--space-3);flex-direction:column;max-width:60ch;margin:0 auto;display:flex}.be-bar{align-items:center;gap:var(--space-4);margin-bottom:var(--space-2);display:flex}.be-bar .btn{font-size:var(--text-sm);white-space:nowrap;margin-left:auto;padding:.4rem .85rem}.be-help{font-size:var(--text-sm);margin:0}.be-handle{cursor:grab;color:var(--color-muted);-webkit-user-select:none;user-select:none;touch-action:none;padding:0 .35rem;font-size:1.1rem;line-height:1}.be-handle:hover{color:var(--color-ink)}.be-handle:active{cursor:grabbing}.be-row.dragging{opacity:.4}.be-row{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.be-row.drop-before{box-shadow:inset 0 3px 0 0 var(--color-structural-dk)}.be-row.drop-after{box-shadow:inset 0 -3px 0 0 var(--color-structural-dk)}.be-undo{font-size:var(--text-sm);white-space:nowrap;color:var(--color-structural-dk);background:var(--color-structural-wash);border:1px solid var(--color-structural);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.4rem;margin-left:auto;padding:.4rem .8rem;font-weight:600;display:inline-flex}.be-undo:not(:disabled):hover{background:var(--color-structural);color:var(--color-white)}.be-undo:disabled{opacity:.45;cursor:default}.be-undo-icon{font-size:1.05rem;line-height:1}.be-row.child{border-left:3px solid var(--color-border-soft)}.be-head{align-items:center;gap:var(--space-3);display:flex}.be-type{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-ink);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.3rem .5rem;font-weight:600}.be-controls{gap:.25rem;margin-left:auto;display:flex}.be-btn{font-family:var(--font-ui);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:1.9rem;height:1.9rem;color:var(--color-ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.be-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.be-btn.danger:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger)}.be-btn:disabled{opacity:.5;cursor:not-allowed}.be-text{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;width:100%;padding:.5rem .6rem;line-height:1.5}.be-text:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.be-edit-wrap{position:relative}.be-edit{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;width:100%;min-height:2.4rem;padding:.5rem .6rem;line-height:1.5}.be-edit:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.be-edit.resp{font-weight:700}.be-notes{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px dashed var(--color-border)}.be-notes-head{font-family:var(--font-ui);font-size:var(--text-md);color:var(--color-ink);margin:0 0 .2rem;font-weight:600}.be-notes-help{font-size:var(--text-sm);margin:0 0 var(--space-3)}.be-notes .be-edit{min-height:8rem}.be-fmt-bar{z-index:40;background:var(--color-ink);border-radius:var(--radius-sm);gap:.15rem;padding:.2rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.be-fmt-bar button{min-width:1.7rem;color:var(--color-white);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.3rem .4rem;font-size:.85rem;line-height:1}.be-fmt-bar button:hover{background:#ffffff2e}.composer-marker{flex-wrap:wrap;gap:.3rem;display:flex}.marker-chip{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-ink);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;padding:.15rem .5rem}.marker-chip:hover:not(:disabled){border-color:var(--color-accent)}.marker-chip.on{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.import-preview{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.imp-row{border-radius:var(--radius-sm);background:var(--color-panel);font-size:var(--text-sm);align-items:baseline;gap:.6rem;padding:.3rem .5rem;display:flex}.imp-type{font-family:var(--font-ui);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted);flex:0 0 6rem;font-weight:700}.imp-text{color:var(--color-ink);flex:1}.imp-row.imp-response .imp-text{font-weight:700}.imp-row.imp-heading .imp-text{color:var(--color-structural);font-weight:700}.imp-row.imp-rubric .imp-text{color:var(--color-rubric);font-style:italic}.imp-note{font-size:var(--text-xs);color:var(--color-accent);background:var(--color-accent-wash);border-radius:var(--radius-pill);flex:none;padding:.05rem .45rem}
