/* FlyPrepared / Patina — one baseline for the data, handled edges for the surfaces.
   The charts own their geometry. Distress never filters, scales, or covers text. */
:root{
 --display:Georgia,'Times New Roman',serif;
 --body:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 --label:var(--body);
 --mono:ui-monospace,'SFMono-Regular',Consolas,'Liberation Mono',monospace;
 --edge:rgba(175,169,137,.19);--paper-text:#28291f;
 --paper-base:#ebe0c1;--paper-grain:url('/assets/patina/rag-paper.webp');
 --ink-edge:url('/assets/patina/ink-edge.svg');
}
body{font-family:var(--body);font-size:15px;line-height:1.55}
button,input,textarea,select{font-family:var(--body);font-synthesis:none}
.plate-heading h2,.section-head h2,.field-label,.eyebrow,.plate-label,.cut-caption{font-family:var(--body);font-size:11.5px;font-weight:500;line-height:1.6;letter-spacing:.085em}
.plate-heading>a,.plate-heading>span,.plate-heading>button{font:11.5px/1.5 var(--body)}
.pattern-note h3,.ledger-row b{font-family:var(--display);font-size:16px;line-height:1.45;font-weight:normal}
.ledger-row small,.pattern-actions,.plate-foot,.footnote{font:12px/1.65 var(--body)}
.question-layout .q-title{font:normal clamp(25px,2vw,33px)/1.4 var(--display);letter-spacing:-.015em}
.choice-row .choice{font-family:var(--display);font-weight:normal;font-size:21px;line-height:1.45}
.record-totals strong,.time-value,.hero-dossier strong,.hero-dossier b,.ledger-metrics dd{font-family:var(--display);font-variant-numeric:lining-nums tabular-nums;font-weight:normal}
.context-table td,.context-table th,.question-copy table td,.question-copy table th{font:13px/1.65 var(--body)}
/* Shared states. There are no owner-only header selectors or hover scripts. */
[data-site-header] .student-nav .site-tab{
 background:transparent;background-image:none;color:var(--muted);border:1px solid transparent;
 box-shadow:none;position:relative;font-family:var(--display);font-synthesis:none;
 text-transform:none;letter-spacing:0;isolation:isolate;
 transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease;
}
[data-site-header] .student-nav .site-tab:is(:hover,:focus-visible,.active,[aria-current=page]){
 background:var(--accent-bg);background-image:linear-gradient(110deg,#c3c9950a,transparent);
 color:var(--text);border-color:rgba(177,183,136,.5);
 box-shadow:inset 0 0 0 2px #c7cba409;
}
[data-site-header] .student-nav .site-tab::after{content:'';position:absolute;right:4px;bottom:4px;width:5px;height:5px;border:0;border-right:1px solid currentColor;border-bottom:1px solid currentColor;opacity:0;pointer-events:none;transform:none;transition:opacity 150ms ease}
[data-site-header] .student-nav .site-tab:is(:hover,:focus-visible,.active,[aria-current=page])::after{opacity:.7}
/* Grit sits along the structural lip, not across live content or focus rings. */
.plate,.panel,.question-panel,.queue-evidence,.queue-example,.queue-comparison>section{
 border:1px solid var(--edge);border-image-source:var(--ink-edge);border-image-slice:7;
 border-image-width:7px;border-image-repeat:stretch;box-shadow:none;
}
.plate-heading,.section-head,.question-meta{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,var(--line),var(--edge) 55%,transparent) 1}
.plate-heading{margin-bottom:14px;padding-bottom:12px;align-items:center;min-width:0}
.ledger-row,.next-row,.tools-plate>a,.tools-plate>button,.tool-lines>a,.tool-lines>button,.ledger-metrics>div{
 border-bottom:1px solid var(--edge);border-image:linear-gradient(90deg,var(--edge),var(--edge) 75%,transparent) 1;
}
/* Actual paper fields. Image resides in the background only. */
.dossier-paper,.last-slip,.scratch-sheet,.scratch-record{
 color:var(--paper-text);background-color:var(--paper-base);background-image:var(--paper-grain);
 background-size:100% 100%;background-position:center;border:1px solid transparent;border-image:none;
 box-shadow:0 2px 5px #0004,inset 0 0 20px #8470471c;position:relative;
}
.dossier-paper{padding:25px 22px;gap:5px}
.last-slip{padding:23px 22px;margin:3px;box-shadow:2px 3px 0 #0003,0 3px 10px #0002}
.scratch-sheet{padding:23px 22px}
.dossier-paper .plate-label,.last-slip .plate-label,.last-slip .plate-heading h2,.scratch-sheet .plate-heading h2{color:#454839;font:11.5px/1.65 var(--body);letter-spacing:.08em}
.dossier-paper .dossier-rule,.last-slip .plate-heading,.scratch-sheet .plate-heading{border:0;border-bottom:1px solid #77744c59;border-image:linear-gradient(90deg,#77744c80,#77744c30,transparent) 1;background:none}
.dossier-paper a,.last-proof>span:last-child{color:#39412b;font:13px/1.55 var(--body)}
.last-proof h3{font:normal clamp(22px,1.9vw,29px)/1.25 var(--display);margin:13px 0 15px;letter-spacing:-.015em}
.last-proof p{color:#41452f;font:13px/1.5 var(--mono)}
.last-proof .paper-stamp{display:block;color:#656451;font:10.5px/1.5 var(--mono);margin-top:19px;letter-spacing:.04em}
.last-proof>span:last-child{margin-top:10px}
.dossier-paper strong{font-size:clamp(48px,4.2vw,70px);line-height:1.12;margin:8px 0 1px}
.dossier-paper b{font-size:clamp(25px,2.3vw,37px);line-height:1.2;margin:7px 0 0}
.dossier-paper>span:not(.plate-label){font:15px/1.6 var(--display)}
.scratch-sheet textarea{color:#27291e;font:17px/30px var(--display);background:repeating-linear-gradient(transparent 0 29px,#77724c38 29px 30px);padding:5px 2px;min-height:230px}
.scratch-sheet textarea::placeholder{color:#65644e;font-style:italic}
.scratch-sheet:focus-within{box-shadow:0 3px 9px #0004,inset 3px 0 #828657}
.scratch-foot,.scratch-foot button{font:11.5px/1.6 var(--body);color:#55563d}
/* Charts: plot, baseline, and labels occupy three explicit regions. */
.activity-chart,.time-chart{--plot-height:176px;min-width:0;width:100%}
.activity-key{font:11.5px/1.5 var(--body);margin:8px 0 20px;gap:15px}
.plot-frame{display:grid;grid-template-columns:2.2rem minmax(0,1fr);grid-template-rows:var(--plot-height) auto;column-gap:7px;row-gap:12px;width:100%;min-width:0;margin:9px 0 0}
.plot-y{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;position:static;inset:auto;color:var(--muted);font:11px/1 var(--body);font-variant-numeric:tabular-nums;pointer-events:none}
.plot-y span{transform:translateY(-50%)}.plot-y span:last-child{transform:translateY(50%)}
.plot-area{grid-column:2;grid-row:1;position:relative;display:grid;grid-template-columns:repeat(var(--plot-columns),minmax(0,1fr));column-gap:3px;height:var(--plot-height);min-width:0;background:repeating-linear-gradient(to top,transparent 0 calc(25% - 1px),var(--faint) calc(25% - 1px) 25%);isolation:isolate}
.plot-area>.plot-bar{position:relative;display:block;width:100%;height:100%;padding:0;margin:0;border:0;min-width:0;min-height:0;background:transparent;color:inherit;box-shadow:none;flex:none;border-radius:0;overflow:visible;align-self:stretch}
.plot-area>.plot-bar>span.plot-stack{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;width:100%;min-height:0;padding:0;margin:0;opacity:.95;transform:none;font:inherit;pointer-events:none}
.plot-stack>i{display:block;flex:none;width:100%;min-height:0;padding:0;margin:0;border:0}
.plot-baseline{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);pointer-events:none}
.plot-area>.plot-bar:is(:hover,:focus-visible){background:color-mix(in srgb,var(--accent) 7%,transparent);color:inherit;box-shadow:inset 1px 0 0 #d3d0ab33,inset -1px 0 0 #d3d0ab33}
.plot-area>.plot-bar:focus-visible{outline:2px solid var(--accent);outline-offset:2px;z-index:2}
.plot-dates,.plot-bin-labels{grid-column:2;grid-row:2;font:11px/1.4 var(--body);font-variant-numeric:tabular-nums;color:var(--muted);min-width:0;min-height:18px;position:static;transform:none;pointer-events:none}
.plot-dates{display:flex;justify-content:space-between;gap:18px}.plot-dates span{white-space:nowrap}
.plot-bin-labels{display:grid;grid-template-columns:repeat(var(--plot-columns),minmax(0,1fr));column-gap:3px;align-items:start}
.plot-bin-labels span{text-align:center;font-size:10px;white-space:normal;overflow-wrap:normal;line-height:1.5}
.activity-caption{display:block;min-height:2.9em;margin:13px 0 0;padding:0;font:12px/1.5 var(--body);color:var(--muted);overflow-wrap:anywhere}
.activity-caption::before{display:none}
.time-chart{margin-top:24px}.time-chart .plot-area{column-gap:8px}.time-chart .plot-bin-labels{column-gap:8px}
.activity-plate .plate-foot{margin-top:9px}
.press-range{display:inline-flex;gap:3px;flex-wrap:nowrap}.press-range button{font:12px/1.4 var(--body);padding:6px;min-width:32px;min-height:30px}
/* Operational rows rather than a page-length column of loose labels. */
.source-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:15px;padding:18px 0 22px}
.source-toolbar label{display:grid;gap:7px;min-width:0}.source-toolbar label:first-child{flex:1 1 260px;max-width:600px}.source-toolbar label:nth-child(2){flex:0 1 210px}
.source-toolbar .field-label{margin:0}.source-toolbar input,.source-toolbar select{width:100%}
.source-count{margin-left:auto;font:12px/1.6 var(--mono);color:var(--muted);padding-bottom:12px}
.source-status-list{padding:0 22px;overflow:hidden}
.source-status-list .source-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:19px 0;border-bottom:1px solid var(--edge)}
.source-entry:last-child{border-bottom:0}
.source-entry strong{display:block;font:20px/1.4 var(--display);font-weight:normal}
.source-entry p{font:12px/1.65 var(--body);color:var(--muted);margin:5px 0 0;overflow-wrap:anywhere}
.source-entry .actions{display:flex;gap:12px;align-items:center;flex-wrap:nowrap}
.source-entry .pill{font:11px/1.4 var(--mono);padding:5px 8px}
.source-entry .button{min-height:38px;min-width:84px;font-size:13px;margin:0}
.owner-site .review-form{display:grid;gap:22px}
.owner-site .review-form>.actions{margin-top:0}.owner-site .review-form textarea{min-height:142px;line-height:1.65}
.owner-site .updates-layout{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:25px;align-items:start}
.owner-site .updates-layout>.panel h3{margin:0 0 15px;font-family:var(--display);font-weight:normal;font-size:23px}
.owner-site .updates-layout .section-head{margin-top:28px}
.owner-site .page-head{padding-bottom:22px;gap:20px}.owner-site .page-head h1{font-family:var(--display);font-weight:normal;letter-spacing:-.035em}
.owner-site .main:has(.source-status-list){max-width:1560px}
.queue-item-head{gap:16px}.queue-comparison>section{min-width:0}
.queue-evidence pre,.queue-diff pre,.queue-diff p{overflow-wrap:anywhere}
/* Improve density by removing accidental blank space, not by shrinking labels. */
.plate,.panel,.field-content,.workbench-layout,.question-panel,.press-home,.desk-registers>*{min-width:0}
.owner-body .main{padding:24px}.stat-row{gap:12px}
#question-input{min-width:0}.scenario-tools{margin:0;justify-content:center}
:root[data-texture=off]{--paper-grain:none;--ink-edge:none}
:root[data-texture=off] .plate,:root[data-texture=off] .panel,:root[data-texture=off] .question-panel,:root[data-texture=off] .queue-evidence,:root[data-texture=off] .queue-example{border-image:none;border:1px solid var(--edge)}
@media(max-width:1200px){.dossier-paper{padding:21px 17px}.owner-site .updates-layout{grid-template-columns:1fr}.activity-chart,.time-chart{--plot-height:165px}}
@media(max-width:800px){.source-entry strong{font-size:18px}.source-status-list{padding:0 18px}.source-status-list .source-entry{gap:16px}.owner-body .main{padding:17px}.queue-comparison{gap:17px}}
@media(max-width:580px){.source-count{width:100%;margin:0;padding:0}.source-toolbar{gap:12px}.source-toolbar label:nth-child(2){flex:1 1 190px}.source-status-list .source-entry{grid-template-columns:1fr;gap:11px;padding:18px 0}.source-entry .actions{justify-content:space-between}.dossier-paper{padding:22px 19px}.dossier-paper strong{font-size:46px}.last-slip,.scratch-sheet{padding:22px 20px}.last-proof h3{font-size:25px}.plot-frame{grid-template-columns:1.7rem minmax(0,1fr);column-gap:6px}.activity-chart,.time-chart{--plot-height:164px}.activity-key{font-size:12px}.pattern-note h3{font-size:17px}.plate-heading h2{font-size:11.5px}.plate-heading>span{font-size:11px}.choice-row .choice{font-size:20px}}
@media(prefers-reduced-motion:reduce){[data-site-header] .student-nav .site-tab,[data-site-header] .student-nav .site-tab::after{transition:none}}
:root[data-motion=reduced] [data-site-header] .student-nav .site-tab,:root[data-motion=reduced] [data-site-header] .student-nav .site-tab::after{transition:none}
@media(forced-colors:active){.plot-stack>i.good{background:Highlight}.plot-stack>i.wrong{background:CanvasText}.plot-baseline{background:CanvasText}.plate,.panel{border:1px solid CanvasText;border-image:none}.dossier-paper,.last-slip,.scratch-sheet{background:Canvas;color:CanvasText}}
.source-entry[hidden],#source-empty[hidden]{display:none!important}
.plot-y{position:relative;display:block}
.plot-y>span,.plot-y>span:last-child{position:absolute;right:0;transform:translateY(-50%)}

.source-book{background-color:var(--paper-base);background-image:var(--paper-grain);background-size:100% 100%;color:var(--paper-text);border-image:none;border-color:transparent;box-shadow:inset 0 0 18px #8470471c}
