@font-face{font-family:ScoreSerif;src:local('Georgia')}*{box-sizing:border-box}body{margin:0;background:#f4f3ee;color:#243c38;font:15px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid #d9ded6;border-radius:7px;background:#fffdf8;color:#294740;padding:10px 14px;transition:background .15s}button:hover{background:#e7eee5}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b39952;outline-offset:3px}[hidden]{display:none!important}a{color:inherit}.topbar{height:94px;border-bottom:1px solid #d9ded6;background:#fffdf8;display:flex;align-items:center;gap:24px;padding:0 38px}.brand{text-decoration:none;display:flex;align-items:center;gap:13px;font-size:23px;font-weight:650;letter-spacing:-1px}.brand small{display:block;font-size:9px;letter-spacing:2.1px;margin-top:5px;font-weight:500}.mark{font-family:Georgia,serif;font-style:italic;background:#224c43;color:#fffdf8;width:48px;height:48px;display:grid;place-content:center;font-size:38px;position:relative;border-radius:9px}.mark span{position:absolute;font-size:24px;right:8px;bottom:4px;color:#c5d3b7}.header-actions{margin-left:auto;display:flex;gap:8px}#save-status{font-size:12px;color:#6e7e74}.welcome{max-width:1060px;margin:80px auto;padding:0 36px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:#708276}.welcome h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,78px);font-weight:400;letter-spacing:-2.8px;line-height:1.08;margin:24px 0}.welcome h1 em{color:#507465}.welcome>p{max-width:590px;font-size:17px;line-height:1.7;color:#68746c}.primary{background:#244f44;color:#fffdf8;border-color:#244f44}.primary:hover{background:#376957}.welcome-actions{display:flex;gap:12px;margin:30px 0 50px}.sample{background:#fffdf8;border:1px solid #d9ded6;padding:30px;border-radius:12px}.sample-caption{font-size:9px;letter-spacing:2px;color:#839086;margin-bottom:30px}.sample-line{display:flex;flex-wrap:wrap;gap:15px;font:25px Georgia,serif}.sample-line span{background:#e2ebdd;border-bottom:3px solid #7a9671;padding:8px 12px;position:relative}.sample-line span:nth-child(2){background:#f2e5ca;border-color:#ad915c}.sample-line span:nth-child(3){background:#e0e5ee;border-color:#8195ac}.sample-line small{display:block;font:11px -apple-system,sans-serif;margin-top:-24px;margin-bottom:12px}.fine{font-size:11px!important;line-height:1.6;color:#899388!important}#workspace{display:grid;grid-template-columns:280px minmax(0,1fr);max-width:1600px;margin:0 auto}.sidebar{border-right:1px solid #d9ded6;padding:28px 20px;min-height:calc(100vh - 94px);background:#eeefe8}.sidebar-head,.section-heading{display:flex;align-items:center;justify-content:space-between}h2{font-size:14px;font-weight:650;margin:0 0 16px}.sidebar-head h2{margin:0}.icon{border:0;background:transparent;padding:7px 9px}.all-filter{width:100%;margin:24px 0 8px;text-align:left;display:flex;justify-content:space-between;background:transparent}.all-filter.active{background:#dfe8d9;border-color:#c9d6c1}.group-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#7e8b7f;margin:23px 0 8px}.person-row{display:flex;align-items:center;gap:2px;margin:5px 0}.person{flex:1;min-width:0;background:transparent;border-color:transparent;text-align:left;display:flex;gap:9px;align-items:center;padding:8px 5px}.person.selected{background:#fffdf8;border-color:#cbd5c6}.person small{display:block;font-size:10px;color:#7c897f;margin-top:4px}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-content:center;flex-shrink:0;font-size:12px}.subtle{font-size:12px;width:100%;margin-top:15px;background:transparent;border-style:dashed}.sidebar-footer{border-top:1px solid #d7ded2;margin-top:28px;padding-top:20px;font-size:12px;line-height:1.6;color:#7b877d}.sidebar-footer label{display:flex;justify-content:space-between;align-items:center;color:#365348}.sidebar-footer select{width:68px;margin:0}.paper-area{padding:36px 50px 20px;min-width:0}.project-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:32px}.project-heading h1{font:38px Georgia,serif;letter-spacing:-1px;margin:10px 0 0}.project-heading button{font-size:12px;background:transparent}.toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border:1px solid #d9ded6;background:#fffdf8;border-radius:9px;padding:9px;margin-bottom:30px}.toolbar>span{font-size:11px;color:#8a958b;margin-right:auto;padding:6px}.toolbar button{font-size:12px;padding:8px 10px}.score{background:#fffdf8;min-height:360px;border:1px solid #dedfd7;border-radius:3px;padding:44px 38px;font-family:Georgia,serif;font-size:var(--score-font,21px);line-height:1.6;box-shadow:0 4px 24px #314a3610}.paragraph{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0;min-height:1em;margin-bottom:1.1em}.paragraph:last-child{margin-bottom:0}.passage{display:inline-flex;flex-direction:column;max-width:100%;position:relative;vertical-align:bottom;white-space:pre-wrap;padding-top:.25em}.captions{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:0;padding-bottom:3px;user-select:none}.caption{font:10px -apple-system,sans-serif;border-left:2px solid currentColor;padding:3px 7px;border-radius:2px;max-width:100%;overflow-wrap:anywhere}.words{overflow-wrap:anywhere;white-space:pre-wrap}.assigned{border-bottom:2px solid currentColor}.color-0{background:#e3ecd9;color:#426238}.color-1{background:#f4e7cd;color:#816733}.color-2{background:#e1e8f2;color:#4e6386}.color-3{background:#eee0e7;color:#80546b}.color-4{background:#e0edeb;color:#396c68}.color-5{background:#ede4f0;color:#78558b}.caption.color-1,.words.color-1{border-bottom-style:dashed}.caption.color-2,.words.color-2{border-bottom-style:dotted}.caption.color-3,.words.color-3{border-bottom-style:double}.dimmed{opacity:.35}.cut .words{text-decoration:line-through;color:#969b93}.cut-label{background:#f0ede8;color:#8b8e86}.note-mark{font:9px -apple-system,sans-serif;color:#94814b;position:absolute;right:0;bottom:-10px;user-select:none}.notes{margin-top:30px}.note-row{display:flex;gap:14px;border-top:1px solid #d9ded6;padding:14px 0;font-size:13px;align-items:flex-start}.note-row strong{border:1px solid #d5d5c1;border-radius:50%;width:23px;height:23px;display:grid;place-content:center;flex-shrink:0;font-size:11px}.note-row>div{flex:1}.note-row q{color:#8a9387;font:12px Georgia,serif}.note-row p{white-space:pre-wrap;line-height:1.6;margin:8px 0 0}.note-row button{padding:3px 8px;border:0;background:transparent}.section-heading{margin:35px 0 14px}.section-heading h2{margin:0}.section-heading span{font-size:11px;color:#889187}.layer-row{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid #d9ded6;font-size:12px}.swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0;margin-top:3px}.layer-row>div{flex:1;min-width:0}.layer-row q{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#8b9489;margin-top:6px;font-family:Georgia,serif}.layer-row button{border:0;background:transparent;padding:3px 7px}.warning{color:#99672c;display:block;margin-top:7px}.paper-footer{display:flex;justify-content:space-between;border-top:1px solid #d9ded6;padding:24px 0 10px;font-size:9px;letter-spacing:2px;color:#8b9589;margin-top:45px}.paper-footer span{letter-spacing:0}.empty{font:15px -apple-system,sans-serif;color:#909a8b;line-height:1.6}.viewer-info{font-size:12px;color:#7b887d;padding:0 0 16px}.notice,.conflict{background:#f5ead2;color:#7d662f;padding:12px;border-radius:6px;font-size:12px;line-height:1.6}.conflict{margin-bottom:20px}.conflict button{margin:3px;font-size:11px}dialog{border:1px solid #d9ded6;border-radius:12px;max-width:650px;width:calc(100% - 32px);max-height:85vh;padding:26px;background:#fffdf8;color:#294740;box-shadow:0 24px 100px #21362f30}dialog::backdrop{background:#273e3650;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-heading h2{font:25px Georgia,serif;margin:0}.dialog-heading button{border:0;background:transparent}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}label{display:block;font-size:13px;margin:12px 0}input,textarea,select{display:block;width:100%;border:1px solid #d3dbcf;border-radius:5px;padding:10px;background:#fffefa;color:#294740;margin-top:7px}textarea{resize:vertical;line-height:1.6}blockquote{border-left:3px solid #c6d3b9;margin:16px 0;padding:8px 16px;font:17px Georgia,serif;color:#73806c;max-height:120px;overflow:auto}.hint{font-size:12px;color:#83907f;line-height:1.65}.form-grid{display:flex;gap:18px;flex-wrap:wrap}.form-grid>div,.form-grid>label{flex:1;min-width:130px}.form-grid b{font-size:12px}.check{font-size:12px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.check input{width:auto;margin:0}.check small{width:100%;padding-left:23px;color:#8b9585}.disabled{color:#93998e}.preview-result{font-size:12px;padding:12px;background:#e8eee1;border-radius:5px;line-height:1.6}h3{font-size:14px;margin-top:24px}.danger{color:#98514a;margin:15px 0 0}hr{border:0;border-top:1px solid #d9ded6;margin:24px 0}.history-row{display:flex;justify-content:space-between;gap:15px;width:100%;text-align:left;margin:6px 0;font-size:12px}.history-row small{display:block;color:#899482;margin-top:5px}.history-row>span:last-child{font-size:10px;white-space:nowrap}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#254b40;color:#fffdf8;padding:14px 20px;border-radius:7px;max-width:90vw;font-size:13px;box-shadow:0 8px 30px #21362f30;z-index:20}.font-18{--score-font:18px}.font-21{--score-font:21px}.font-24{--score-font:24px}.font-28{--score-font:28px}.font-32{--score-font:32px}@media(max-width:1000px){.paper-area{padding:30px 25px}.score{padding:30px 24px}#workspace{grid-template-columns:240px minmax(0,1fr)}.topbar{padding:0 20px;gap:10px}.header-actions button{font-size:11px}.brand{font-size:20px}}@media(max-width:700px){.topbar{height:auto;min-height:80px;flex-wrap:wrap;padding:14px 18px}.header-actions{margin-left:0;width:100%;justify-content:flex-end}.brand small{font-size:8px}.header-actions button{padding:7px 10px}#workspace{display:block}.sidebar{min-height:0;padding:18px;border-right:0;border-bottom:1px solid #d9ded6}.sidebar-head{margin-bottom:10px}#people{display:flex;gap:6px;flex-wrap:wrap;max-height:210px;overflow:auto}.person-row{margin:0}.person{font-size:12px}.person small{display:none}.group-label{width:100%;margin:12px 0 3px}.all-filter{margin:10px 0;width:auto;gap:20px}.sidebar-footer{margin-top:15px;padding-top:12px}.sidebar-footer>p:first-child{display:none}.sidebar-footer label{justify-content:flex-start;gap:20px}.paper-area{padding:25px 16px}.score{padding:24px 18px}.project-heading h1{font-size:29px}.project-heading{align-items:flex-start}.project-heading button{font-size:10px}.welcome{margin:45px auto;padding:0 22px}.welcome-actions{flex-direction:column;align-items:flex-start}.sample{padding:22px 15px}.sample-line{gap:25px 12px;font-size:22px}.sample-line span{margin-top:8px}.toolbar>span{width:100%}.toolbar button{font-size:11px}}
@page{size:A4;margin:17mm 15mm}@media print{body{background:white;color:#17251f;-webkit-print-color-adjust:exact;print-color-adjust:exact}.topbar,.sidebar,.toolbar,#edit-text,#viewer-info,#layers-section,#conflict,dialog,#toast{display:none!important}#workspace{display:block}.paper-area{padding:0}.project-heading{margin-bottom:25px}.project-heading .eyebrow{display:none}.project-heading h1{font-size:26px}.score{padding:0;border:0;box-shadow:none;background:white;min-height:0;font-size:var(--score-font)}.paragraph{display:block;line-height:1.65}.passage{display:inline-flex;break-inside:avoid;max-width:100%}.dimmed{opacity:1}.dimmed .words{color:#777;background:transparent}.dimmed .caption{color:#777;background:#f1f1f1}.caption{font-size:9px}.note-row{break-inside:avoid}.note-row button{display:none}.notes{margin-top:25px}.paper-footer{margin-top:25px}.note-row q{color:#555}.note-row p{color:#222}}
/* Each audible layer has its own line; personal view uses the person's colour. */
.captions{flex-direction:row;flex-wrap:wrap;gap:4px;width:0;min-width:100%;align-items:flex-start}.caption{font-size:10px;padding:3px 6px;white-space:normal;text-align:left;line-height:1.3;max-width:100%;border-radius:3px}.caption:is(button){cursor:pointer}.caption:is(button):hover{filter:brightness(.94)}.passage{margin-bottom:14px}.words{color:#243c38;background:transparent;border:0}.words.highlight{background:var(--voice-bg)}.color-0{--voice-bg:#e3ecd9}.color-1{--voice-bg:#f4e7cd}.color-2{--voice-bg:#e1e8f2}.color-3{--voice-bg:#eee0e7}.color-4{--voice-bg:#e0edeb}.color-5{--voice-bg:#ede4f0}.color-6{--voice-bg:#e0e9e5;background:#e0e9e5;color:#3d685b}.voice-lines{display:flex;flex-direction:column;gap:3px;position:absolute;top:100%;left:0;right:0;user-select:none}.voice-line{display:block;height:2px;border-bottom:2px solid currentColor;background:transparent}.voice-line.color-1{border-bottom-style:dashed}.voice-line.color-2{border-bottom-style:dotted}.voice-line.color-3{border-bottom-style:double;height:3px}.paragraph{padding-bottom:var(--track-space,4px)}.selection-tools{position:fixed;z-index:10;display:flex;gap:4px;padding:6px;background:#fffdf8;border:1px solid #c9d6c1;box-shadow:0 8px 24px #21362f30;border-radius:8px;max-width:calc(100vw - 16px);flex-wrap:wrap}.selection-tools button{font-size:12px;padding:7px 10px;white-space:nowrap}.font-controls{display:flex;align-items:center;gap:8px}.font-controls button{padding:6px 9px;font-size:12px}.font-controls output{font-size:12px;min-width:20px;text-align:center}#toast{inset:auto auto 24px 50%;margin:0;border:0;transform:translateX(-50%);max-width:90vw}#dialog-error{position:sticky;top:0;z-index:1}.cut .words{background:transparent}button.caption:focus-visible{outline-offset:1px}
@media print{.selection-tools,#toast{display:none!important}.voice-line{border-color:currentColor}.words{color:#17251f}.caption{font-size:9px}.paragraph{padding-bottom:var(--track-space,4px)}.passage{margin-bottom:14px}.voice-lines{break-inside:avoid}}

.passage{margin-bottom:var(--passage-space,14px)}
@media print{.passage{margin-bottom:var(--passage-space,14px)}}

/* Hover is informative; text and short badges retain their natural word boundaries. */
.score{border-radius:10px}.passage{border-radius:5px;transition:box-shadow .15s,background .15s}.passage:hover,.passage:focus-within{background:#e8eee64d;box-shadow:0 0 0 4px #d4dfcc70}.passage:focus-visible{outline:2px solid #7d9870;outline-offset:4px}.words{overflow-wrap:normal;word-break:normal;hyphens:none}.words.highlight{border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.caption{border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.captions{width:0;min-width:100%;max-width:100%}.spacer{font:inherit;white-space:pre;flex-shrink:0;user-select:text}.font-controls{gap:0;border:1px solid #cbd5c6;border-radius:8px;overflow:hidden;background:#fffdf8}.font-controls button{border:0;border-radius:0;padding:8px 11px;min-width:35px;font-size:17px;background:transparent;line-height:1}.font-controls output{padding:0 9px;min-width:34px;font-variant-numeric:tabular-nums}.fragment-hint{position:fixed;z-index:12;max-width:min(360px,calc(100vw - 16px));padding:13px 16px;border:1px solid #ccd7c6;border-radius:9px;background:#fffdf8;box-shadow:0 8px 30px #21362f25;font-size:12px;line-height:1.6;pointer-events:none}.fragment-hint strong{font-weight:600}.fragment-hint p{margin:8px 0 0;white-space:pre-wrap}.fragment-hint small{display:block;margin-top:8px;color:#81907b;font-size:10px}
@media print{.fragment-hint{display:none!important}.passage:hover,.passage:focus-within{background:transparent;box-shadow:none}.score{border-radius:0}.passage{outline:0!important}.caption{white-space:nowrap}}

/* The name is the mark: serif lettering with a score-like highlight. */
.brand{display:inline-block;font-family:Georgia,'Times New Roman',serif;font-size:31px;font-weight:700;letter-spacing:-1.1px;line-height:1.2;white-space:nowrap;flex-shrink:0}.brand-highlight{display:inline-block;position:relative;padding:0 5px 2px;margin-left:1px;border-radius:5px;background:#e3ecd9;border-bottom:2px solid #7a9671;color:#335649;transition:background .15s}.brand:hover .brand-highlight{background:#d6e4c8}.brand:focus-visible{border-radius:5px}.brand-highlight::after{content:'';position:absolute;bottom:-5px;left:5px;right:5px;border-bottom:1px dashed #b39a62}
@media(max-width:1000px){.brand{font-size:28px}}
@media(max-width:700px){.brand{font-size:25px;letter-spacing:-.8px}.topbar{column-gap:14px}.brand-highlight{padding:0 4px 2px}}

/* Text is primary; participant controls follow it in both visual and reading order. */
#workspace{grid-template-columns:minmax(0,1fr) 280px}.sidebar{border-right:0;border-left:1px solid #d9ded6}
@media(max-width:1000px){#workspace{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:700px){#workspace{display:block}.sidebar{border-left:0;border-bottom:0;border-top:1px solid #d9ded6}}

.live-sample{padding:28px 32px 0;overflow:hidden}.sample-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.live-sample .sample-caption{margin-bottom:8px}.showcase-status{margin:0;color:#789073;font-size:12px;min-height:32px;line-height:1.6}.sample-controls{display:flex;gap:7px;flex-shrink:0}.sample-controls button{font-size:11px;padding:7px 10px;background:transparent}.showcase-score{font:21px/1.65 Georgia,serif;min-height:470px;padding:28px 0 12px;transition:opacity .6s}.demo-paragraph{display:flex;flex-wrap:wrap;align-items:flex-end;min-height:10px;margin-bottom:6px}.demo-fragment{display:inline-flex;flex-direction:column;position:relative;max-width:100%;margin-bottom:var(--demo-space,12px)}.demo-captions{display:flex;flex-wrap:wrap;gap:4px;width:0;min-width:100%;padding-bottom:5px;min-height:25px}.demo-caption{font:10px/1.3 -apple-system,sans-serif;padding:3px 6px;border-radius:4px;white-space:nowrap;opacity:0;transform:translateY(3px);transition:opacity .4s,transform .4s;user-select:none}.demo-caption.revealed{opacity:1;transform:none}.demo-text{white-space:pre-wrap;overflow-wrap:normal;border-radius:4px;transition:background-color .35s;color:#243c38}.demo-highlight{background:var(--voice-bg);color:#243c38}.demo-lines{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;gap:3px}.demo-line{height:2px;border-bottom:2px solid currentColor;background:none;opacity:0;transform:scaleX(0);transform-origin:left;transition:opacity .3s,transform .6s}.demo-line.revealed{opacity:1;transform:scaleX(1)}.demo-line.color-1{border-bottom-style:dashed}.demo-line.color-2{border-bottom-style:dotted}.demo-spacer{white-space:pre;font:inherit}.demo-selecting .demo-text{background-image:linear-gradient(#c7d9ea99,#c7d9ea99);background-repeat:no-repeat;background-size:var(--selection-progress,0%) 100%}.demo-fade{opacity:0}.sample-bottom{border-top:1px solid #e0e4da;display:flex;justify-content:space-between;gap:15px;padding:17px 0;font-size:11px;color:#86907f}.sample-bottom a{text-decoration:none;line-height:1.5}.sample-bottom a:hover{text-decoration:underline}.sample-bottom>span{white-space:nowrap}.showcase-progress{height:2px;margin:0 -32px;background:#e7eadf}.showcase-progress span{display:block;height:100%;background:#8da57a;transition:width .1s linear}
@media(max-width:700px){.live-sample{padding:22px 18px 0}.sample-heading{flex-direction:column;gap:8px}.sample-controls{align-self:flex-end}.showcase-score{font-size:18px;min-height:590px;padding-top:16px}.demo-caption{font-size:9px}.demo-captions{min-height:23px}.showcase-progress{margin:0 -18px}}
@media(prefers-reduced-motion:reduce){.demo-text,.demo-caption,.demo-line,.showcase-score,.showcase-progress span{transition:none}.demo-fade{opacity:1}}

.demo-captions:empty{min-height:0;padding-bottom:0}

.demo-caption{max-width:100%;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.sample-bottom a{min-width:0;overflow-wrap:anywhere}



.brand{font-family:'Prata',Georgia,serif;font-weight:500;font-size:36px;letter-spacing:-.35px;font-synthesis:none}.brand-highlight{font-weight:500;background:#e8eddf;padding:0 5px 1px;border-bottom:1px solid #8c9f7f;border-radius:3px}.brand-highlight::after{display:none}
@media(max-width:1000px){.brand{font-size:33px}}
@media(max-width:700px){.brand{font-size:30px;letter-spacing:-.25px}}

/* Theme preference belongs to the device; printed scores always use light colours. */
:root{color-scheme:light}:root[data-theme="dark"]{color-scheme:dark}
.theme-switch{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;white-space:nowrap;color:#77866f}.theme-switch select{margin:0;width:132px;font-size:12px;padding:8px 10px;background:transparent}.header-actions{align-items:center;flex-wrap:wrap}.topbar{height:auto;min-height:94px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}
@media(max-width:700px){.topbar{min-height:80px;padding-top:14px;padding-bottom:14px}.theme-switch{margin-right:auto}.theme-switch select{width:124px}}
@media screen{
:root[data-theme="dark"]{--theme-bg:#191919;--theme-surface:#242424;--theme-panel:#202020;--theme-text:#eeece7;--theme-muted:#b4b1ab;--theme-border:#444444}
:root[data-theme="dark"] body{background:var(--theme-bg);color:var(--theme-text)}
:root[data-theme="dark"] .topbar,:root[data-theme="dark"] .sample,:root[data-theme="dark"] .score,:root[data-theme="dark"] dialog,:root[data-theme="dark"] .selection-tools,:root[data-theme="dark"] .fragment-hint{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}
:root[data-theme="dark"] .sidebar{background:var(--theme-panel);border-color:var(--theme-border)}
:root[data-theme="dark"] button,:root[data-theme="dark"] input,:root[data-theme="dark"] textarea,:root[data-theme="dark"] select{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}
:root[data-theme="dark"] button:hover{background:#314130}
:root[data-theme="dark"] .primary{background:#b9ce9f;color:#1c291b;border-color:#b9ce9f}
:root[data-theme="dark"] .primary:hover{background:#c8dab4}
:root[data-theme="dark"] .icon,:root[data-theme="dark"] .subtle,:root[data-theme="dark"] .all-filter,:root[data-theme="dark"] .person,:root[data-theme="dark"] .project-heading button,:root[data-theme="dark"] .sample-controls button,:root[data-theme="dark"] .dialog-heading button,:root[data-theme="dark"] .note-row button,:root[data-theme="dark"] .layer-row button{background:transparent}
:root[data-theme="dark"] .person{border-color:transparent}
:root[data-theme="dark"] .person.selected,:root[data-theme="dark"] .all-filter.active{background:#30402c;border-color:#506548}
:root[data-theme="dark"] .welcome>p,:root[data-theme="dark"] .sidebar-footer,:root[data-theme="dark"] .sidebar-footer label,:root[data-theme="dark"] .theme-switch,:root[data-theme="dark"] #save-status,:root[data-theme="dark"] .eyebrow,:root[data-theme="dark"] .group-label,:root[data-theme="dark"] .person small,:root[data-theme="dark"] .viewer-info,:root[data-theme="dark"] .hint,:root[data-theme="dark"] .empty,:root[data-theme="dark"] .toolbar>span,:root[data-theme="dark"] .section-heading span,:root[data-theme="dark"] .sample-bottom,:root[data-theme="dark"] .sample-caption,:root[data-theme="dark"] .layer-row q,:root[data-theme="dark"] .note-row q,:root[data-theme="dark"] .paper-footer,:root[data-theme="dark"] .fragment-hint small,:root[data-theme="dark"] .history-row small,:root[data-theme="dark"] .check small{color:var(--theme-muted)}
:root[data-theme="dark"] .fine{color:var(--theme-muted)!important}
:root[data-theme="dark"] .welcome h1 em,:root[data-theme="dark"] .showcase-status{color:#b1c79d}
:root[data-theme="dark"] .words,:root[data-theme="dark"] .demo-text{color:var(--theme-text)}
:root[data-theme="dark"] .color-0{--voice-bg:#34482d;background:#34482d;color:#c7e0b1}
:root[data-theme="dark"] .color-1{--voice-bg:#514329;background:#514329;color:#f0d49a}
:root[data-theme="dark"] .color-2{--voice-bg:#2d4055;background:#2d4055;color:#bdd5f0}
:root[data-theme="dark"] .color-3{--voice-bg:#4a3240;background:#4a3240;color:#ebbed3}
:root[data-theme="dark"] .color-4{--voice-bg:#29463f;background:#29463f;color:#acded0}
:root[data-theme="dark"] .color-5{--voice-bg:#45344e;background:#45344e;color:#dcc5ed}
:root[data-theme="dark"] .color-6{--voice-bg:#33463a;background:#33463a;color:#c2dfcb}
:root[data-theme="dark"] .words.highlight,:root[data-theme="dark"] .demo-highlight{background:var(--voice-bg);color:var(--theme-text)}
:root[data-theme="dark"] .voice-line,:root[data-theme="dark"] .demo-line{background:transparent}
:root[data-theme="dark"] .brand-highlight{background:#35472f;color:#d4e7c2;border-color:#859f72}
:root[data-theme="dark"] .brand:hover .brand-highlight{background:#425a37}
:root[data-theme="dark"] .font-controls,:root[data-theme="dark"] .toolbar{background:var(--theme-surface);border-color:var(--theme-border)}
:root[data-theme="dark"] .font-controls button{background:transparent}
:root[data-theme="dark"] .sidebar-footer,:root[data-theme="dark"] .sample-bottom,:root[data-theme="dark"] .note-row,:root[data-theme="dark"] .layer-row,:root[data-theme="dark"] .paper-footer,:root[data-theme="dark"] hr,:root[data-theme="dark"] .note-row strong{border-color:var(--theme-border)}
:root[data-theme="dark"] .preview-result{background:#30402c;color:#d6e7c5}
:root[data-theme="dark"] .notice,:root[data-theme="dark"] .conflict{background:#493c25;color:#f2d4a0}
:root[data-theme="dark"] .danger{color:#f3aaa0}
:root[data-theme="dark"] .warning,:root[data-theme="dark"] .note-mark{color:#edc587}
:root[data-theme="dark"] .disabled{color:#98a38f}
:root[data-theme="dark"] blockquote{color:#b8c5ae;border-color:#6f865e}
:root[data-theme="dark"] .cut .words{color:#a1ab98;background:transparent}
:root[data-theme="dark"] .cut-label{background:#353c31;color:#bdc5b4}
:root[data-theme="dark"] .passage:hover,:root[data-theme="dark"] .passage:focus-within{background:#58734a22;box-shadow:0 0 0 4px #68855a30}
:root[data-theme="dark"] .showcase-progress{background:#354131}
:root[data-theme="dark"] .showcase-progress span{background:#9ab67e}
:root[data-theme="dark"] .demo-selecting .demo-text{background-image:linear-gradient(#6b91b770,#6b91b770)}
:root[data-theme="dark"] #toast{background:#c0d4a8;color:#1c291b}
:root[data-theme="dark"] dialog::backdrop{background:#070c09b3}
}
@media print{:root[data-theme="dark"]{color-scheme:light}.theme-switch{display:none!important}}

@font-face {
  font-family: 'Prata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/prata-1.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Prata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/prata-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.brand{font-family:'Prata',Georgia,serif;font-weight:400;font-size:31px;letter-spacing:-.4px}.brand-highlight{font-weight:400}
@media(max-width:1000px){.brand{font-size:28px}}
@media(max-width:700px){.brand{font-size:25px;letter-spacing:-.3px}}

/* Continuous layers: one badge at entry, text-only hover, compact unassigned lines. */
:root{--hover-0:#cbdcbb;--hover-1:#ebd4a5;--hover-2:#ccdaf0;--hover-3:#e6c7d6;--hover-4:#bdded5;--hover-5:#ddc7e9;--hover-6:#c6dacf}
:root[data-theme="dark"]{--hover-0:#48623b;--hover-1:#715e36;--hover-2:#415f7c;--hover-3:#67455a;--hover-4:#3c6458;--hover-5:#624b71;--hover-6:#486753}
.passage:hover,.passage:focus-within{background:transparent;box-shadow:none}.passage{transition:none}.captions:empty{display:none}.words.layer-hover,.demo-text.layer-hover{background:var(--hover-bg)!important;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.words::selection{background:#9cbad8;color:#152b3c}.captions,.voice-lines,.demo-captions,.demo-lines{user-select:none}.demo-caption:not(.revealed),.demo-line:not(.revealed){display:none}.demo-captions{min-height:0;padding-bottom:0}.demo-captions:has(.revealed){padding-bottom:5px}.demo-fragment{margin-bottom:var(--demo-space,0px)}.demo-paragraph{margin-bottom:0;min-height:0}.showcase-score{min-height:0}.demo-paragraph:empty{height:12px}
@media screen{:root[data-theme="dark"] .passage:hover,:root[data-theme="dark"] .passage:focus-within{background:transparent;box-shadow:none}}
@media print{.words.layer-hover,.demo-text.layer-hover{background:transparent!important}}

.text-wrap,.demo-text-wrap{max-width:100%}.text-wrap>.words,.demo-text-wrap>.demo-text{display:inline}.demo-caption.revealed{animation:badge-enter .45s ease-out}@keyframes badge-enter{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.demo-caption.revealed{animation:none}}

.paragraph{margin-bottom:0;padding-bottom:0;min-height:0}.paragraph:empty{height:.6em}.demo-paragraph:empty{height:.6em}
@media print{.words.highlight.layer-hover,.demo-text.demo-highlight.layer-hover{background:var(--voice-bg)!important}}

.fragment-hint p:first-child{margin-top:0}

/* Compact theme choices, with matching outline icons. */
.theme-switch{gap:2px;padding:3px;border:1px solid #d9ded6;border-radius:9px;background:#fffdf8}.theme-option{display:grid;place-items:center;width:31px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:#85917e}.theme-option svg{display:block;pointer-events:none}.theme-option[aria-pressed="true"]{background:#e3ecd9;color:#365442}.theme-option:hover{background:#eef1e7}.theme-option:focus-visible{outline-offset:1px}
@media screen{:root[data-theme="dark"] .theme-switch{background:var(--theme-surface);border-color:var(--theme-border)}:root[data-theme="dark"] .theme-option{background:transparent;color:var(--theme-muted)}:root[data-theme="dark"] .theme-option:hover{background:#314130}:root[data-theme="dark"] .theme-option[aria-pressed="true"]{background:#405337;color:#d6e7c5}}

/* Keep labels close to their own text, with breathing room above the label row. */
.captions:not(:empty){padding-top:4px;padding-bottom:0}.demo-captions:has(.revealed){padding-top:4px;padding-bottom:0}

@media screen{.caption.layer-hover,.demo-caption.layer-hover{background:var(--hover-bg)!important;filter:none;box-shadow:inset 0 0 0 1px currentColor}}
/* Contextual fragment settings share the right sidebar with reader filters. */
.sidebar{position:sticky;top:16px;align-self:start;min-height:0;max-height:calc(100vh - 32px);overflow:auto}
#workspace{grid-template-columns:minmax(0,1fr) 320px}
#fragment-inspector blockquote{margin:18px 0;max-height:140px;font-size:15px;padding:8px 12px}
#fragment-inspector h3{margin:20px 0 9px;font-size:12px}
#fragment-inspector .check{margin:8px 0;line-height:1.4;flex-wrap:nowrap;align-items:flex-start}
#fragment-inspector .check input{margin-top:2px;flex-shrink:0}
#fragment-inspector .check small{display:none}
#fragment-inspector .group-label{margin:15px 0 7px}
.inspector-layer{width:100%;text-align:left;margin:4px 0;font-size:12px;line-height:1.4}
.inspector-layer.active{border-color:#7d9870}
.inspector-actions{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #d9ded6;margin-top:20px;padding-top:16px}
.inspector-actions button{font-size:11px;padding:8px 10px}
.words.fragment-selected{box-shadow:0 0 0 1px #8b9589;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:4px}
@media screen{:root[data-theme="dark"] .inspector-actions{border-color:var(--theme-border)}:root[data-theme="dark"] .words.fragment-selected{box-shadow:0 0 0 1px #b4b1ab}}
@media(max-width:1000px){#workspace{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:700px){#workspace{display:block}.sidebar{position:static;max-height:none}#fragment-inspector{scroll-margin-top:16px}}
@media print{.words.fragment-selected{box-shadow:none!important}}
:root{--hover-cut:#ddd9d2}:root[data-theme="dark"]{--hover-cut:#454545}
@media screen{.cut-label.layer-hover{background:var(--hover-bg)!important;box-shadow:inset 0 0 0 1px currentColor}}
@media(max-width:700px){#fragment-inspector{position:fixed;left:0;right:0;bottom:0;z-index:9;max-height:55vh;overflow:auto;padding:18px 22px;background:#eeefe8;border-top:1px solid #d9ded6;box-shadow:0 -8px 28px #00000018}}
@media screen and (max-width:700px){:root[data-theme="dark"] #fragment-inspector{background:var(--theme-panel);border-color:var(--theme-border)}}
@media screen{:root[data-theme="dark"] .inspector-layer.active{border-color:#a7b89b;background:#31362e}}
.ui-icon{width:18px;height:18px;flex-shrink:0;vertical-align:middle;pointer-events:none}
.reader-create{display:flex;gap:7px;margin:18px 0 12px}.reader-create button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;padding:9px 10px;font-size:12px}
.reader-filter-row{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.reader-chip{font-size:11px;padding:6px 9px;background:transparent}.reader-chip.active,.group-name.active{background:#dfe8d9;border-color:#7d9870}.reader-filter-label{font-size:10px;color:#7e8b7f;margin-top:12px}
.group-row{display:flex;align-items:center;gap:4px;margin:20px 0 6px}.group-name{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;text-align:left;background:transparent;border-color:transparent;padding:6px 5px;font-size:12px;font-weight:600}.group-name small{color:#7e8b7f;font-weight:400;margin-left:7px}.group-actions{display:flex}.group-actions .icon,.person-edit{opacity:0;transition:opacity .15s;padding:6px}.group-row:hover .group-actions .icon,.group-row:focus-within .group-actions .icon,.person-row:hover .person-edit,.person-row:focus-within .person-edit{opacity:1}.group-empty{font-size:11px;color:#7e8b7f;margin:5px 5px 12px}
.person>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar button,.selection-tools button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
@media screen{:root[data-theme="dark"] .reader-chip.active,:root[data-theme="dark"] .group-name.active{background:#31362e;border-color:#a7b89b}:root[data-theme="dark"] .group-empty,:root[data-theme="dark"] .reader-filter-label,:root[data-theme="dark"] .group-name small{color:var(--theme-muted)}}
@media(hover:none){.group-actions .icon,.person-edit{opacity:1}}
@media(max-width:700px){.group-row{width:100%;margin-top:12px}.reader-create{max-width:320px}.toolbar button,.selection-tools button{gap:4px}.toolbar .ui-icon,.selection-tools .ui-icon{width:15px;height:15px}}
@media screen{:root[data-theme="dark"] .group-name:not(.active){background:transparent;border-color:transparent}:root[data-theme="dark"] .group-name:not(.active):hover{background:#31362e}}
.welcome-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:center;margin-bottom:50px}
.welcome-intro h1{margin:0 0 28px}.welcome-intro .welcome-actions{margin:0;flex-wrap:wrap}
.welcome-summary{padding:24px;border:1px solid #d9ded6;border-radius:12px;background:#fffdf8}
.welcome-summary h2{font-size:16px;line-height:1.4;margin:0 0 12px}.welcome-summary p{margin:0;color:#68746c;font-size:15px;line-height:1.7}
@media screen{:root[data-theme="dark"] .welcome-summary{background:var(--theme-surface);border-color:var(--theme-border)}:root[data-theme="dark"] .welcome-summary p{color:var(--theme-muted)}}
@media(max-width:1000px){.welcome-hero{grid-template-columns:minmax(0,1fr) 260px;gap:28px}.welcome-summary{padding:20px}}
@media(max-width:800px){.welcome-hero{grid-template-columns:1fr;gap:28px;margin-bottom:32px}.welcome-summary{max-width:590px}.welcome-intro .welcome-actions{flex-direction:row;align-items:center}}
@media(max-width:480px){.welcome-intro .welcome-actions{flex-direction:column;align-items:stretch}.welcome-intro h1{margin-bottom:24px}.welcome-summary{padding:20px}}
/* Track each visual text row, including rows wrapped inside a fragment. */
.voice-lines,.demo-lines{inset:0;pointer-events:none;display:block}
.voice-line,.demo-line{position:absolute;margin:0}
.text-wrap,.demo-text-wrap{line-height:calc(1.4em + var(--line-track-space,0px))}
.spacer,.demo-spacer{overflow:hidden;flex-shrink:0}
/* Text stays in normal inline flow; badges and tracks are measured decorations. */
.paragraph,.demo-paragraph{display:block;position:relative;white-space:pre-wrap;line-height:calc(1.3em + 2 * var(--paragraph-track-space,0px));padding:0}
.passage,.demo-fragment{display:inline;position:static;vertical-align:baseline;max-width:none;min-width:0!important;margin:0;padding:0;line-height:inherit}
.text-wrap,.demo-text-wrap{display:contents;line-height:inherit}
.words,.demo-text,.spacer,.demo-spacer{display:inline;line-height:inherit;white-space:pre-wrap;overflow:visible}
.caption-anchor{display:inline-block;width:0;vertical-align:baseline;pointer-events:none;user-select:none}
.captions,.demo-captions,.captions:not(:empty),.demo-captions:has(.revealed){position:absolute;display:flex;flex-wrap:wrap;align-items:flex-start;width:max-content;min-width:0;min-height:0;padding:0;gap:4px;z-index:3;pointer-events:auto;line-height:normal;white-space:normal}
.captions:empty,.demo-captions:not(:has(.revealed)){display:none}
.caption,.demo-caption{max-width:100%;flex-shrink:0}
.voice-lines,.demo-lines{position:absolute;inset:0;z-index:1;pointer-events:none}
:root{--context-bg:#deded9;--context-hover:#d0d0c9}:root[data-theme="dark"]{--context-bg:#424242;--context-hover:#505050}
.words.fragment-selected,.caption.fragment-selected{background:var(--context-bg)!important;box-shadow:none!important;border-radius:4px}
.words.fragment-selected.layer-hover,.caption.fragment-selected.layer-hover{background:var(--context-hover)!important;box-shadow:none!important}
.paragraph-selected{background:var(--context-bg);border-radius:6px}
.selection-fill{position:absolute;background:var(--context-bg);opacity:.55;pointer-events:none;z-index:2;border-radius:3px}
#assign,[data-action="assign"]{display:none!important}
@media print{.paragraph-selected{background:transparent}.selection-fill{display:none}.words.fragment-selected,.caption.fragment-selected{background:var(--voice-bg,transparent)!important}.passage{display:inline;break-inside:auto}.paragraph{display:block}}
.share-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid #d9ded6}
#copy-edit,#copy-view{display:block;margin:12px 0 22px}
.paragraph,.demo-paragraph{line-height:calc(1.4em + 2 * var(--paragraph-track-space,0px))}
.passage:focus-visible{outline:0}.passage:focus-visible .words{background:var(--context-bg)}
.empty-start{display:block;margin:90px auto;font-size:16px;padding:14px 22px}
.inspector-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
@media screen{:root[data-theme="dark"] .share-actions{border-color:var(--theme-border)}}
