/* Job Casebook. Use my theme (the base): the docket is the theme's plate pair, or where the
 * theme defines no plate a currentColor tint under the theme's own text (legible on any
 * ground; base/contrast would paint white on a white page); photo badges take core's opaque plate pair; a pressed job is outlined in the theme's text colour.
 * Designed is Bough: birch-bark ground, forest ink and slab, leaf-green labels (5.41:1 on
 * the ground, #9fd08a at 8.06:1 on the slab), a hi-vis orange mark on the pressed job, Rockwell headings over Trebuchet. */
.patternpaste-designed-casebook{--ppk-ink:var(--pp-ink);--ppk-muted:currentColor;--ppk-label:var(--pp-label);--ppk-rule:color-mix(in srgb,var(--pp-rule) 34%,transparent);--ppk-card:transparent;--ppk-slab:var(--wp--preset--color--role-plate,color-mix(in srgb,currentColor 7%,transparent));--ppk-slab-ink:var(--wp--preset--color--role-plate-text,currentColor);--ppk-slab-label:var(--wp--preset--color--role-plate-text,currentColor);--ppk-badge:var(--pp-plate);--ppk-badge-ink:var(--pp-plate-ink);--ppk-grip:var(--pp-primary);--ppk-grip-ink:var(--pp-primary-ink);--ppk-mark:currentColor}
.patternpaste-designed-casebook[data-treatment="designed"]{--ppk-ink:#15301c;--ppk-muted:#40564a;--ppk-label:#2e6b3a;--ppk-rule:#c3d0bb;--ppk-card:#f2f6ec;--ppk-slab:#15301c;--ppk-slab-ink:#e8eee2;--ppk-slab-label:#9fd08a;--ppk-badge:#15301c;--ppk-badge-ink:#e8eee2;--ppk-grip:#15301c;--ppk-grip-ink:#e8eee2;--ppk-mark:#b8430f}
.patternpaste-designed-casebook[data-treatment="designed"]:not(.has-background){background:#e8eee2}.patternpaste-designed-casebook[data-treatment="designed"]:not(.has-text-color){color:var(--ppk-ink)}
.patternpaste-designed-casebook[data-treatment="designed"]:not([class*="-font-family"]){font-family:"Trebuchet MS","Segoe UI","Helvetica Neue",Arial,sans-serif}
.patternpaste-designed-casebook.patternpaste-designed[data-treatment="designed"] :where(h2,h3,p,a,button,strong){font-family:inherit}
.patternpaste-designed-casebook.patternpaste-designed[data-treatment="designed"] :where(.patternpaste-casebook-heading,.patternpaste-casebook-tree):not([class*="-font-family"]){font-family:Rockwell,"Rockwell Nova","Roboto Slab","DejaVu Serif",Georgia,serif;font-weight:700}
.patternpaste-designed-casebook[data-treatment="inherit"]:not([class*="is-style-"]):not(.has-text-color){color:inherit}.patternpaste-designed-casebook[data-treatment="inherit"]:not([class*="is-style-"]):not(.has-background){background:transparent}
.patternpaste-designed-casebook *{box-sizing:border-box}.patternpaste-designed-casebook :where(p,h2,h3,.wp-block-group,.wp-block-image,.wp-block-buttons){margin:0}

/* Introduction */
.patternpaste-casebook-header{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:var(--patternpaste-designed-block-gap,clamp(20px,4cqi,64px));row-gap:14px;align-items:end;padding-bottom:clamp(26px,4cqi,48px)}
.patternpaste-casebook-kicker{grid-column:1/-1}.patternpaste-designed-casebook:not(.has-text-color) .patternpaste-casebook-header:not(.has-text-color) .patternpaste-casebook-kicker:not(.has-text-color){color:var(--ppk-label)}.patternpaste-casebook-kicker:not([class*="-font-size"]){font-size:12px;line-height:1.4}.patternpaste-designed-casebook .patternpaste-casebook-kicker{font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.patternpaste-designed-casebook .patternpaste-casebook-heading{grid-column:1;max-width:16ch}.patternpaste-designed-casebook .patternpaste-casebook-heading:not([class*="-font-size"]){font-size:clamp(34px,5.4cqi,70px);line-height:1.02;letter-spacing:-.02em}
.patternpaste-casebook-lede{grid-column:2;max-width:40ch}.patternpaste-designed-casebook .patternpaste-casebook-lede:not([class*="-font-size"]){font-size:clamp(15px,1.4cqi,18px);line-height:1.55}.patternpaste-designed-casebook[data-treatment="designed"] .patternpaste-casebook-header:not(.has-text-color) .patternpaste-casebook-lede:not(.has-text-color){color:var(--ppk-muted)}
.patternpaste-casebook-action{grid-column:2}
.patternpaste-designed-casebook[data-treatment="designed"] .patternpaste-casebook-action .wp-block-button__link:not(.has-background){background:var(--ppk-grip)}.patternpaste-designed-casebook[data-treatment="designed"] .patternpaste-casebook-action .wp-block-button__link:not(.has-text-color){color:var(--ppk-grip-ink)}.patternpaste-designed-casebook[data-treatment="designed"] .patternpaste-casebook-action .wp-block-button__link{padding:14px 22px;border-radius:4px;font-size:15px;font-weight:700;text-decoration:none}

/* Jobs: stacked and complete without the runtime; one shown at a time with it. */
.patternpaste-casebook-jobs{display:grid;gap:var(--patternpaste-designed-block-gap,clamp(28px,4cqi,52px))}
.patternpaste-designed-casebook.is-casebook-ready .patternpaste-casebook-jobs{display:block}
.patternpaste-casebook-frame{position:relative;min-width:0}.patternpaste-casebook-frame.is-moving{overflow:clip}.patternpaste-casebook-frame.is-moving .patternpaste-casebook-job:not(.has-background){background:var(--patternpaste-casebook-frame-ground,transparent)}
.patternpaste-casebook-job{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);gap:clamp(10px,1.4cqi,18px);align-items:stretch;min-width:0}
.patternpaste-casebook-stage{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;overflow:hidden}
.patternpaste-casebook-scene{position:relative;min-width:0;overflow:hidden}.patternpaste-casebook-image{height:100%;margin:0}.patternpaste-casebook-image img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.patternpaste-casebook-label{position:absolute;z-index:3;top:12px;left:12px;max-width:calc(100% - 24px);margin:0;padding:5px 9px;border-radius:2px;line-height:1.2}.patternpaste-casebook-label:not([class*="-font-size"]){font-size:11px}.patternpaste-casebook-label:not(.has-background){background:var(--ppk-badge)}.patternpaste-casebook-label:not(.has-text-color){color:var(--ppk-badge-ink)}.patternpaste-designed-casebook .patternpaste-casebook-label{font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* The live comparison (before-after@1): the before photograph on the left, clipped at the seam. */
.patternpaste-casebook-stage.is-live{--patternpaste-compare-position:50%;display:block;width:100%;aspect-ratio:3/2;cursor:ew-resize;touch-action:pan-y}.patternpaste-casebook-stage.is-live .patternpaste-casebook-scene{position:absolute;inset:0}.patternpaste-casebook-stage.is-live .patternpaste-casebook-image img{aspect-ratio:auto}.patternpaste-casebook-stage.is-live .patternpaste-casebook-after{z-index:1}.patternpaste-casebook-stage.is-live .patternpaste-casebook-before{z-index:2;inset:-1px}
.patternpaste-casebook-stage.is-live .patternpaste-casebook-label{max-width:calc(50% - 24px)}.patternpaste-casebook-stage.is-live .patternpaste-casebook-after-label{left:auto;right:12px}
.patternpaste-casebook-seam{position:absolute;z-index:4;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.patternpaste-casebook-seam-line{fill:none;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px rgb(0 0 0 / .4))}
.patternpaste-casebook-handle{--patternpaste-compare-grip-y:50%;--patternpaste-compare-grip-tilt:0deg;--patternpaste-compare-sx:1;--patternpaste-compare-sy:1;position:absolute;z-index:5;left:var(--patternpaste-compare-position);top:var(--patternpaste-compare-grip-y);display:flex;align-items:center;justify-content:center;width:22px;height:64px;border-radius:4px;transform:translate(-50%,-50%) rotate(var(--patternpaste-compare-grip-tilt)) scale(var(--patternpaste-compare-sx),var(--patternpaste-compare-sy));background:var(--ppk-grip);color:var(--ppk-grip-ink);box-shadow:0 4px 16px rgb(0 0 0 / .25);transform-origin:center;pointer-events:auto;touch-action:none}.patternpaste-casebook-handle span{display:block;width:1px;height:20px;background:currentColor}.patternpaste-casebook-handle span+span{margin-left:4px}
/* The finger's hit area: an invisible 48px band around the grip, so iOS never claims the drag as a scroll. */
.patternpaste-casebook-handle::before{content:"";position:absolute;left:50%;top:50%;width:48px;height:calc(100% + 24px);min-height:48px;transform:translate(-50%,-50%)}
.patternpaste-designed-casebook.is-compare-dragging .patternpaste-casebook-stage{cursor:grabbing}.patternpaste-casebook-stage.is-live:focus-visible{outline:3px solid currentColor;outline-offset:4px}

/* The docket: a slab beside the photograph. */
.patternpaste-casebook-docket{display:flex;flex-direction:column;min-width:0;padding:clamp(20px,2.4cqi,32px)}.patternpaste-casebook-docket:not(.has-background){background:var(--ppk-slab)}.patternpaste-casebook-docket:not(.has-text-color){color:var(--ppk-slab-ink)}
.patternpaste-designed-casebook .patternpaste-casebook-docket :where(h3,p):not(.has-text-color){color:inherit}
.patternpaste-designed-casebook .patternpaste-casebook-tree:not([class*="-font-size"]){font-size:clamp(24px,2.6cqi,34px);line-height:1.08}
.patternpaste-designed-casebook .patternpaste-casebook-latin{margin-top:6px;font-style:italic}.patternpaste-designed-casebook .patternpaste-casebook-latin:not([class*="-font-size"]){font-size:14px;line-height:1.4}
.patternpaste-designed-casebook :is(.patternpaste-casebook-work,.patternpaste-casebook-village,.patternpaste-casebook-days){padding:11px 0;border-top:1px solid color-mix(in srgb,currentColor 24%,transparent)}.patternpaste-designed-casebook :is(.patternpaste-casebook-work,.patternpaste-casebook-village,.patternpaste-casebook-days):not([class*="-font-size"]){font-size:17px;line-height:1.35}
.patternpaste-designed-casebook .patternpaste-casebook-work{margin-top:clamp(16px,2cqi,26px)}
.patternpaste-designed-casebook :is(.patternpaste-casebook-work,.patternpaste-casebook-village,.patternpaste-casebook-days) strong{display:block;margin-bottom:3px;font-size:11px;line-height:1.3;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.patternpaste-designed-casebook .patternpaste-casebook-docket:not(.has-text-color) :is(.patternpaste-casebook-work,.patternpaste-casebook-village,.patternpaste-casebook-days):not(.has-text-color) strong{color:var(--ppk-slab-label)}
.patternpaste-designed-casebook .patternpaste-casebook-note{margin-top:auto;padding-top:16px;border-top:1px solid color-mix(in srgb,currentColor 24%,transparent)}.patternpaste-designed-casebook .patternpaste-casebook-note:not([class*="-font-size"]){font-size:14px;line-height:1.5}

/* Generated job picker. */
.patternpaste-casebook-picker{display:grid;gap:10px;margin-bottom:clamp(14px,2cqi,22px);min-width:0}
.patternpaste-designed-casebook .patternpaste-casebook-picker-label{margin:0;color:var(--ppk-label);font-size:11px;line-height:1.4;font-weight:700;letter-spacing:.16em}
.patternpaste-casebook-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:3px}
.patternpaste-designed .patternpaste-casebook-choice{appearance:none;display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;min-height:64px;margin:0;padding:7px 12px 7px 7px;border:1px solid var(--ppk-rule);border-radius:0;background:var(--ppk-card);color:inherit;box-shadow:none;font:inherit;text-align:left;cursor:pointer}
.patternpaste-designed .patternpaste-casebook-choice[aria-pressed="true"]{border-color:currentColor;box-shadow:inset 0 -3px 0 var(--ppk-mark)}
.patternpaste-designed .patternpaste-casebook-choice:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.patternpaste-casebook-thumb{display:block;width:64px;height:48px;overflow:hidden;background:var(--ppk-rule)}.patternpaste-casebook-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.patternpaste-casebook-thumb-words{display:grid;gap:1px;min-width:0}
.patternpaste-casebook-thumb-number{color:var(--ppk-label);font-size:11px;line-height:1.3;font-weight:700;letter-spacing:.14em}
.patternpaste-casebook-thumb-name{overflow:hidden;font-size:15px;line-height:1.25;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.patternpaste-casebook-thumb-place{overflow:hidden;color:var(--ppk-muted);font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.patternpaste-casebook-thumb-place:empty{display:none}
.patternpaste-casebook-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.patternpaste-casebook-footer{margin-top:clamp(20px,3cqi,32px);padding-top:14px;border-top:1px solid var(--ppk-rule)}.patternpaste-designed-casebook .patternpaste-casebook-footer:not([class*="-font-size"]){font-size:13px;line-height:1.5}.patternpaste-designed-casebook[data-treatment="designed"]:not(.has-text-color) .patternpaste-casebook-footer:not(.has-text-color){color:var(--ppk-muted)}

/* An owner's text colour on the wrapper reaches the label-scale text. */
.patternpaste-designed-casebook.has-text-color :is(.patternpaste-casebook-kicker,.patternpaste-casebook-picker-label,.patternpaste-casebook-thumb-number,.patternpaste-casebook-thumb-place):not(.has-text-color){color:inherit}

@container (max-width:820px){.patternpaste-casebook-job{grid-template-columns:1fr}.patternpaste-casebook-header{grid-template-columns:1fr}.patternpaste-designed-casebook .patternpaste-casebook-heading,.patternpaste-casebook-lede,.patternpaste-casebook-action{grid-column:1}.patternpaste-casebook-stage.is-live{aspect-ratio:4/3}.patternpaste-casebook-note{margin-top:14px}}
@container (max-width:480px){.patternpaste-casebook-stage{grid-template-columns:1fr}.patternpaste-casebook-rail{grid-auto-columns:minmax(200px,78%)}.patternpaste-casebook-handle{width:20px;height:56px}}

/* The editor lists every job with both photographs side by side; generated controls stay out. */
.editor-styles-wrapper .patternpaste-designed-casebook :is(.patternpaste-casebook-handle,.patternpaste-casebook-seam,.patternpaste-casebook-picker,.patternpaste-casebook-status){display:none}
.editor-styles-wrapper .patternpaste-designed-casebook .patternpaste-casebook-scene{overflow:visible}.editor-styles-wrapper .patternpaste-designed-casebook .patternpaste-casebook-image img{height:auto}.editor-styles-wrapper .patternpaste-designed-casebook .patternpaste-casebook-label{position:relative;inset:auto;display:inline-block;margin-top:8px}
.editor-styles-wrapper .patternpaste-designed-casebook .patternpaste-casebook-jobs>.block-editor-inner-blocks>.block-editor-block-list__layout{display:grid;gap:var(--patternpaste-designed-block-gap,40px)}
.editor-styles-wrapper .patternpaste-designed-casebook :is(.patternpaste-casebook-header,.patternpaste-casebook-job,.patternpaste-casebook-stage)>.block-editor-inner-blocks>.block-editor-block-list__layout{display:contents}
