/* Dosie: case register and correspondence. Scoped additions, no operational overrides. */
.archive-classification{color:var(--gold);text-align:right;line-height:1.8;flex-shrink:0}
.archive-classification>span{color:var(--muted)}
.archive-preface{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:0 0 25px;color:var(--muted)}
.archive-preface p{margin:0;font:italic 20px/1.4 Georgia,"Times New Roman",serif;color:var(--ink)}
.archive-preface>.mono{font-size:9px;text-align:right}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.case-file{min-width:0;overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.case-file>summary{display:block;cursor:pointer;list-style:none}
.case-file>summary::-webkit-details-marker{display:none}
.case-file>summary:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.case-visual{position:relative;isolation:isolate;aspect-ratio:2.2/1;overflow:hidden;border-bottom:1px solid var(--line);background:#0b0e10}
.case-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,8,10,.84),transparent 65%);pointer-events:none}
.case-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.66) brightness(.83);transition:filter .3s ease,transform .5s ease}
.case-file>summary:hover img,.case-file[open] img{filter:saturate(.86) brightness(.95);transform:scale(1.012)}
.case-number{position:absolute;top:15px;left:18px;z-index:1;color:#e6dac4;background:rgba(7,11,13,.87);border:1px solid #70746a;padding:6px 9px;font-size:9px}
.case-location{position:absolute;bottom:17px;left:22px;right:22px;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:#fbf7ee;letter-spacing:.22em}
.case-location small{font-size:9px;color:#d9c49d;letter-spacing:.12em}
.case-cover{padding:22px 25px 20px}
.case-cover-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.case-status{font-size:9px;letter-spacing:.13em;color:var(--gold)}
.case-plus{font:27px/1 var(--mono);color:var(--gold);transition:transform .2s ease}
.case-file[open] .case-plus{transform:rotate(45deg)}
.case-cover h3{font:400 clamp(25px,2.4vw,34px)/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.02em;margin:0 0 13px}
.case-cover p{color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:21px;max-width:48ch}
.case-open-label{display:flex;justify-content:space-between;gap:15px;align-items:center;color:var(--gold);font-size:9px;letter-spacing:.17em;padding-top:15px;border-top:1px solid var(--line)}
.case-open-label>span:last-child{font-size:16px}
.when-open{display:none}.case-file[open] .when-closed{display:none}.case-file[open] .when-open{display:inline}
.case-extract{border-top:1px solid var(--line);padding:24px 25px 20px;background:linear-gradient(135deg,#191e1e,#101517)}
.case-facts{margin:0 0 24px;display:grid;gap:11px}
.case-facts>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:baseline}
.case-facts dt{font:9px/1.6 var(--mono);letter-spacing:.1em;color:var(--gold)}
.case-facts dd{margin:0;font:12px/1.6 var(--mono);color:var(--ink);overflow-wrap:anywhere}
.case-prose{font-size:14px;line-height:1.8;color:#d1d5cc}.case-prose p{margin:0 0 16px}
.case-redaction{display:flex;justify-content:space-between;gap:12px;align-items:center;font:10px/1.5 var(--mono);color:var(--muted);border-top:1px dotted #4e554d;border-bottom:1px dotted #4e554d;padding:14px 0;margin:22px 0}
.redaction-bars{display:flex;gap:4px;flex-shrink:0}.redaction-bars i{display:inline-block;height:11px;width:31px;background:#040706;border:1px solid #363c34}.redaction-bars i:nth-child(2){width:19px}.redaction-bars i:last-child{width:24px}
.case-margin{margin:0;padding:2px 0 2px 16px;border-left:2px solid #8d7958}
.case-margin>.mono{font-size:8px;color:var(--gold)}
.case-margin p{font:italic 17px/1.6 Georgia,"Times New Roman",serif;margin:7px 0 0;color:#eee4d3}
.case-end{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:25px;padding-top:15px;font-size:8px;color:var(--muted)}
.case-end a{color:var(--gold);padding:4px 0}.case-end>span{align-self:center}
.archive-footer{display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:8px;padding-top:18px}
.correspondence{padding-top:52px}
.correspondence-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:22px;align-items:stretch}
.letter-panel{border:1px solid #4c463a;background:linear-gradient(155deg,#1e211f,#111719 68%);min-width:0;display:flex;flex-direction:column;position:relative;isolation:isolate}
.letter-panel::before{content:"880";font:150px/1 Georgia,serif;letter-spacing:-.1em;position:absolute;right:23px;top:80px;color:#cfb18107;z-index:-1;pointer-events:none}
.letter-top{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--gold);font-size:9px;border-bottom:1px solid #3b3e35;padding:17px 25px}
.letter-top>span:last-child{color:var(--muted);text-align:right;font-size:8px}
#letter-content{padding:33px 32px 22px;flex:1}
.letter-subject{color:var(--gold);font-size:9px;letter-spacing:.19em;margin:0 0 21px}
#letter-text{margin:0;font:400 clamp(22px,2.4vw,33px)/1.4 Georgia,"Times New Roman",serif;white-space:pre-line;letter-spacing:-.02em;min-height:135px}
.letter-reply{margin-top:29px;padding-top:18px;border-top:1px solid #353d36}
.letter-reply>.mono{color:var(--muted);font-size:8px}.letter-reply p{font-size:13px;line-height:1.6;color:#d9c9ab;margin:7px 0 0;min-height:42px}
.letter-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px 15px;border-top:1px solid #3b3e35;color:var(--muted);font-size:9px;min-height:71px}
.letter-controls{display:flex;align-items:center;gap:12px}.letter-controls button{border:1px solid #505747;background:transparent;min-width:38px;min-height:38px;font-size:17px;color:var(--gold)}
.letter-controls button:hover{background:#cfb18118;border-color:var(--gold)}
#letter-count{font-size:9px;color:var(--ink);min-width:53px;text-align:center}
.handling-panel{border:1px solid var(--line);padding:23px 25px 20px;background:var(--panel);min-width:0;display:flex;flex-direction:column}
.handling-heading{display:flex;justify-content:space-between;gap:12px;color:var(--gold);font-size:9px;margin-bottom:23px}.handling-heading h3{font:inherit;margin:0}.handling-heading>span{color:var(--muted)}
.handling-list{list-style:none;margin:0;padding:0;counter-reset:handling;display:grid;gap:18px;flex:1}
.handling-list li{counter-increment:handling;display:flex;gap:18px;align-items:flex-start;font:14px/1.55 var(--sans);color:#c7cfc7}
.handling-list li::before{content:"0" counter(handling);font:10px/1.9 var(--mono);color:var(--gold);flex-shrink:0;min-width:17px}
.number-fragment{border-top:1px solid var(--line);margin-top:25px;padding-top:13px}
.number-fragment>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;list-style:none;min-height:33px;color:var(--gold)}
.number-fragment>summary::-webkit-details-marker{display:none}
.number-fragment>summary .mono{font-size:8px;letter-spacing:.1em}
.number-fragment code{font:11px/1.8 var(--mono);display:block;overflow-wrap:anywhere;color:var(--muted);margin:15px 0}
.number-fragment p{font:10px/1.8 var(--mono);letter-spacing:.14em;margin:0;color:var(--gold)}
.correspondence-postscript{text-align:center;font:22px/1.6 Georgia,"Times New Roman",serif;color:#ccd0c6;margin:40px 0 0;border-bottom:1px solid var(--line);padding-bottom:40px}
.correspondence-postscript em{color:var(--gold)}
@media(min-width:1500px){.case-visual{aspect-ratio:2.35/1}}
@media(max-width:900px){.archive-preface{align-items:flex-start}.archive-preface p{font-size:18px}.archive-preface>.mono{max-width:180px;font-size:8px}.case-cover,.case-extract{padding-left:18px;padding-right:18px}.case-cover p{min-height:42px}.case-location{left:16px;right:16px;font-size:10px}.case-location small{font-size:8px}.correspondence-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}#letter-content{padding:27px 22px 22px}.letter-top{padding:14px 18px}.letter-bottom{padding-left:17px;padding-right:17px}.handling-panel{padding:22px 18px}.handling-list li{font-size:13px;gap:13px}#letter-text{min-height:158px}.archive-classification{font-size:8px}.case-status{font-size:8px}.case-facts>div{grid-template-columns:75px minmax(0,1fr)}}
@media(max-width:680px){.case-grid{grid-template-columns:1fr;gap:20px}.case-visual{aspect-ratio:2.05/1}.case-cover p{min-height:0}.case-cover{padding:20px 22px}.case-cover h3{font-size:31px}.case-extract{padding:22px}.case-location{font-size:11px;left:20px;right:20px}.case-number{font-size:8px}.archive-preface{display:block}.archive-preface>.mono{display:block;max-width:none;margin-top:10px;text-align:left}.archive-footer{flex-direction:column;gap:6px}.correspondence-grid{grid-template-columns:1fr}.correspondence{padding-top:38px}#letter-text{font-size:28px;min-height:119px}.letter-reply p{min-height:41px}.handling-list{gap:20px}.handling-list li{font-size:14px}.handling-panel{padding:23px}.handling-heading{margin-bottom:22px}.correspondence-postscript{font-size:20px}.case-end{font-size:8px}}
@media(max-width:420px){.archive-classification{font-size:7px}.case-register .section-heading,.correspondence .section-heading{align-items:center;gap:10px;flex-wrap:nowrap}.case-register .section-heading h2,.correspondence .section-heading h2{font-size:26px}.case-register .section-index,.correspondence .section-index{letter-spacing:.1em}.case-cover,.case-extract{padding:18px}.case-cover h3{font-size:29px}.case-location small{font-size:7px}.case-redaction{font-size:9px;gap:8px}.redaction-bars i{width:21px}.redaction-bars i:nth-child(2){width:14px}.redaction-bars i:last-child{width:18px}#letter-content{padding:26px 21px 23px}#letter-text{font-size:25px;min-height:128px}.letter-top{font-size:8px}.letter-top>span:last-child{font-size:7px}.letter-controls{gap:6px}.letter-bottom{font-size:8px;gap:8px}.letter-controls button{min-width:34px;min-height:36px}#letter-count{min-width:48px;font-size:8px}.handling-panel{padding:21px}.correspondence-postscript{font-size:18px}}
@media(prefers-reduced-motion:reduce){.case-visual img,.case-plus{transition:none}}
@media print{.case-register,.correspondence{display:none}}
