:root{--primary: #8b1e1e;--primary-dark: #6a1515;--border: #e6dcc5;--surface: #fffdf8;--shadow-soft: 0 1px 2px rgba(42, 33, 24, 0.06), 0 10px 28px rgba(42, 33, 24, 0.07);--surface-muted: #f7f1e3;--text-main: #2a2118;--text-muted: #6b5d4a;}
.oef-wrap{--oef-ink: #2a2118;--oef-dim: #6b5d4a;--oef-line: #e6dcc5;--oef-vellum: #f7f1e3;--oef-paper: #fffdf8;--oef-rubric: #8b1e1e;--oef-rubric-dark: #6a1515;--oef-ok: #2f6b3a;--oef-math: "Cambria Math", "STIX Two Math", "Noto Sans Math", "Segoe UI Symbol", serif;color: var(--oef-ink);}
.oef-sr{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}
.oef-bench{display: grid;grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);margin: 1rem 0 1.5rem;background: var(--oef-paper);border: 1px solid var(--oef-line);border-top: 4px solid var(--oef-rubric);border-radius: 6px;box-shadow: var(--shadow-soft);overflow: hidden;}
.oef-input{padding: 1.25rem;background: var(--oef-vellum);border-right: 1px solid var(--oef-line);}
.oef-label{display: block;margin-bottom: 0.4rem;font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.1em;color: var(--oef-rubric);}
.oef-textarea{width: 100%;min-height: 9rem;padding: 0.75rem 0.85rem;font-size: 1.0625rem;line-height: 1.55;color: var(--oef-ink);background: var(--oef-paper);border: 1px solid var(--oef-line);border-radius: 4px;resize: vertical;}
.oef-textarea:focus{outline: 2px solid var(--oef-rubric);outline-offset: 1px;border-color: var(--oef-rubric);}
.oef-tools{display: flex;flex-wrap: wrap;gap: 0.5rem;margin: 0.75rem 0;}
.oef-btn{padding: 0.45rem 0.9rem;font-size: 0.875rem;font-weight: 600;color: var(--oef-ink);background: var(--oef-paper);border: 1px solid var(--oef-line);border-radius: 4px;cursor: pointer;}
.oef-btn:hover{border-color: var(--oef-rubric);color: var(--oef-rubric);}
.oef-btn:focus-visible,.oef-copy:focus-visible{outline: 2px solid var(--oef-rubric);outline-offset: 2px;}
.oef-switch{display: flex;gap: 0.5rem;align-items: center;font-size: 0.9375rem;cursor: pointer;}
.oef-switch input{width: 1.05rem;height: 1.05rem;accent-color: var(--oef-rubric);}
.oef-switch em{font-style: normal;font-weight: 700;}
.oef-stats{margin: 0.75rem 0 0;padding-top: 0.75rem;font-size: 0.8125rem;line-height: 1.5;color: var(--oef-dim);border-top: 1px dashed var(--oef-line);}
.oef-outputs{position: relative;display: flex;flex-direction: column;}
.oef-card{padding: 1rem 1.25rem 1.15rem;border-bottom: 1px solid var(--oef-line);}
.oef-card:last-of-type{border-bottom: 0;}
.oef-card-head{display: flex;justify-content: space-between;align-items: center;gap: 0.75rem;margin-bottom: 0.45rem;}
.oef-card-name{font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.1em;color: var(--oef-dim);}
.oef-copy{padding: 0.3rem 0.85rem;font-size: 0.8125rem;font-weight: 700;color: #fff;background: var(--oef-rubric);border: 0;border-radius: 4px;cursor: pointer;}
.oef-copy:hover{background: var(--oef-rubric-dark);}
.oef-copy:disabled{background: var(--oef-line);color: var(--oef-dim);cursor: not-allowed;}
.oef-copy.is-done{background: var(--oef-ok);}
.oef-out{min-height: 2.4rem;max-height: 11rem;overflow-y: auto;font-family: var(--oef-math);font-size: 1.6rem;line-height: 1.45;white-space: pre-wrap;word-break: break-word;user-select: all;}
.oef-card[data-style="initials"] .oef-out{font-size: 1.35rem;}
.oef-card.is-empty .oef-out{color: #b9ab90;user-select: none;}
.oef-toast{position: absolute;right: 1rem;bottom: 0.75rem;padding: 0.35rem 0.75rem;font-size: 0.8125rem;font-weight: 600;color: #fff;background: var(--oef-ink);border-radius: 4px;opacity: 0;transform: translateY(4px);transition: opacity 0.2s, transform 0.2s;pointer-events: none;}
.oef-toast.is-on{opacity: 1;transform: none;}
.oef-head{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: 0.5rem 1rem;padding-bottom: 0.9rem;border-bottom: 1px solid var(--oef-line);}
.oef-rubric{font-family: var(--oef-math);font-size: 0.95rem;color: var(--oef-rubric);}
.oef-byline{display: flex;flex-wrap: wrap;gap: 0.25rem 0.75rem;font-size: 0.8125rem;color: var(--oef-dim);}
.oef-byline-author a{color: var(--oef-rubric);text-decoration: none;border-bottom: 1px solid var(--oef-line);}
.oef-byline-author a:hover{color: var(--oef-rubric-dark);border-bottom-color: var(--oef-rubric-dark);}
.oef-article{margin: 1.75rem 0 2.5rem;font-size: 1.0625rem;line-height: 1.75;}
.oef-article h2{margin: 0 0 0.75rem;font-size: clamp(1.5rem, 3vw, 1.9rem);font-weight: 800;line-height: 1.25;}
.oef-article h3{margin: 2.25rem 0 0.6rem;font-size: 1.3rem;font-weight: 700;line-height: 1.35;}
.oef-article h4{margin: 0 0 0.4rem;font-size: 1rem;font-weight: 700;color: var(--oef-rubric);}
.oef-article p{margin: 0 0 1rem;}
.oef-lead::first-letter{float: left;margin: 0.3rem 0.5rem 0 0;font-family: var(--oef-math);font-size: 3.4rem;line-height: 0.8;color: var(--oef-rubric);}
.oef-article code{padding: 0.05rem 0.35rem;font-size: 0.875em;color: var(--oef-rubric-dark);background: var(--oef-vellum);border-radius: 3px;}
.oef-glyph{font-family: var(--oef-math);font-size: 1.15em;}
.oef-styles,.oef-breaks{padding-left: 1.2rem;}
.oef-styles li,.oef-breaks li{margin-bottom: 0.7rem;}
.oef-styles li::marker,.oef-breaks li::marker{color: var(--oef-rubric);}
.oef-scroll{margin: 0 0 1rem;overflow-x: auto;}
.oef-table{width: 100%;min-width: 30rem;font-size: 0.9375rem;border-collapse: collapse;}
.oef-table th{padding: 0.5rem 0.75rem;font-size: 0.75rem;text-transform: uppercase;letter-spacing: 0.06em;color: var(--oef-dim);text-align: left;background: var(--oef-vellum);border-bottom: 2px solid var(--oef-line);}
.oef-table td{padding: 0.45rem 0.75rem;border-bottom: 1px solid var(--oef-line);}
.oef-table td.oef-glyph{font-size: 1.4rem;}
.oef-split{display: grid;grid-template-columns: 1fr 1fr;gap: 1rem;}
.oef-split > div{padding: 1rem 1.15rem;background: var(--oef-vellum);border-left: 3px solid var(--oef-rubric);border-radius: 0 4px 4px 0;}
.oef-split p{margin: 0;font-size: 0.975rem;}
@media (max-width: 900px){.oef-bench{grid-template-columns: 1fr;}.oef-input{border-right: 0;border-bottom: 1px solid var(--oef-line);}}
@media (max-width: 560px){.oef-input,.oef-card{padding: 0.9rem;}.oef-out{font-size: 1.35rem;}.oef-split{grid-template-columns: 1fr;}.oef-lead::first-letter{font-size: 2.8rem;}}