/* This layer draws relationships while ordinary HTML media plays the finished audio. */
/* A finger-sized thumb with a smaller printed center keeps every range easy to grab. */
.wg-lab input[type="range"]{-webkit-appearance:none;appearance:none;background:transparent;touch-action:none}
.wg-lab input[type="range"]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--wg-rule)}
.wg-lab input[type="range"]::-moz-range-track{height:6px;border-radius:3px;background:var(--wg-rule)}
.wg-lab input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:44px;height:44px;margin-top:-19px;border:9px solid transparent;border-radius:50%;background:var(--wg-purple);background-clip:content-box}
.wg-lab input[type="range"]::-moz-range-thumb{width:44px;height:44px;box-sizing:border-box;border:9px solid transparent;border-radius:50%;background:var(--wg-purple);background-clip:content-box}
.wg-lab{--wg-paper:#faf8f0;--wg-ink:#201a22;--wg-rule:#bcb2b9;--wg-pink:#df1d7c;--wg-purple:#54218e;--wg-blue:#007fbd;--wg-mono:"Courier New",Courier,monospace;color:var(--wg-ink);border-top:3px solid var(--wg-ink);margin:48px 0 40px;padding-top:24px;scroll-margin-top:25px;font:18px/1.5 Georgia,"Times New Roman",serif}
.wg-lab *{box-sizing:border-box}.wg-lab-heading{max-width:740px;margin-bottom:24px}.wg-eyebrow{display:block;font:700 14px/1.5 var(--wg-mono);letter-spacing:.035em;color:var(--wg-purple);margin-bottom:12px}.wg-lab h2{font:600 clamp(27px,3vw,35px)/1.14 "Avenir Next","Century Gothic",Arial,sans-serif;margin:0 0 15px;letter-spacing:-.025em}.wg-lab-heading p{font-size:19px;line-height:1.5;margin:0}.wg-lab p{max-width:760px}.wg-transport{margin:20px 0 24px;max-width:760px}.wg-transport audio{display:block;width:100%;height:50px;margin:0 0 12px}.wg-small,.wg-canvas-hint{font:16px/1.45 var(--wg-mono);color:#514650;margin:12px 0 16px}.wg-canvas-hint{text-align:center;margin:10px 0 0}.wg-audio-error{font:16px/1.5 var(--wg-mono);border-left:3px solid var(--wg-pink);padding-left:14px;margin-top:12px}.wg-field-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:28px;border-top:1px solid var(--wg-rule);border-bottom:1px solid var(--wg-rule);padding:15px 0 22px}.wg-field-drawing{min-width:0;position:relative}.wg-field-drawing canvas{display:block;width:100%;aspect-ratio:6/5;height:auto;touch-action:pan-y;cursor:grab;background:var(--wg-paper)}.wg-field-drawing canvas.wg-dragging{cursor:grabbing}.wg-field-sidebar{padding-top:18px}.wg-voices{padding:0;margin:0;border:0;min-width:0}.wg-voices legend{font:700 16px/1.4 var(--wg-mono);width:100%;margin-bottom:10px;padding:0}.wg-role{position:relative;display:grid;grid-template-columns:20px 15px 1fr;align-items:center;column-gap:8px;min-height:44px;font:15px/1.25 var(--wg-mono);cursor:pointer;margin:0;border-bottom:1px dotted var(--wg-rule)}.wg-role input{margin:0;width:19px;height:19px;accent-color:var(--role-ink,var(--wg-purple))}.wg-role-dot{width:11px;height:11px;border:2px solid var(--role-ink);border-radius:50%;background:var(--role-ink)}.wg-role[data-active="false"] .wg-role-dot{background:var(--wg-paper)}.wg-role small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.wg-view-controls{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0 14px}.wg-lab button{font:15px/1.3 var(--wg-mono);color:var(--wg-ink);border:1px solid var(--wg-ink);border-radius:0;padding:10px 13px;min-height:44px;min-width:44px;background:transparent;cursor:pointer}.wg-lab button:hover{background:var(--wg-ink);color:var(--wg-paper)}.wg-lab button:active{background:var(--wg-purple);color:white}.wg-lab button:disabled{opacity:.4;cursor:default;background:transparent;color:var(--wg-ink)}.wg-lab button:focus-visible,.wg-lab input:focus-visible,.wg-lab canvas:focus-visible,.wg-lab audio:focus-visible,.wg-lab summary:focus-visible{outline:3px solid var(--wg-blue);outline-offset:4px}.wg-follow{display:flex;gap:10px;align-items:center;min-height:44px;font:16px/1.4 var(--wg-mono)}.wg-follow input{width:20px;height:20px;accent-color:var(--wg-purple);margin:0}.wg-seek,.wg-relation-controls{margin:24px 0 20px;max-width:760px}.wg-seek label,.wg-relation-controls label{display:flex;justify-content:space-between;gap:15px;align-items:baseline;font:16px/1.4 var(--wg-mono);margin:0 0 4px}.wg-lab output{color:var(--wg-purple);font-weight:bold;white-space:nowrap;font-size:15px}.wg-lab input[type="range"]{display:block;width:100%;min-width:0;height:44px;padding:0;margin:0;accent-color:var(--wg-purple);cursor:pointer}.wg-time-ends,.wg-statement-ticks{display:flex;justify-content:space-between;font:14px/1.4 var(--wg-mono);margin:0 0 18px;color:#514650}.wg-step-buttons{display:flex;gap:12px}.wg-step-buttons button{flex:1;max-width:210px}.wg-figure-note{font:17px/1.55 Georgia,"Times New Roman",serif;margin:20px 0 0}.wg-observation{font:17px/1.5 var(--wg-mono);color:var(--wg-purple);margin:20px 0;min-height:1.5em}.wg-chart-wrap{width:100%;overflow:visible;border-top:1px solid var(--wg-rule);border-bottom:1px solid var(--wg-rule);padding:14px 0 8px}.wg-chart-wrap svg{display:block;width:100%;height:auto;min-width:0!important;max-width:100%;background:var(--wg-paper)}.wg-details{border-top:1px dotted var(--wg-rule);margin-top:23px;padding-top:4px;font:17px/1.55 Georgia,"Times New Roman",serif}.wg-details summary{font:16px/1.4 var(--wg-mono);cursor:pointer;min-height:48px;padding:12px 0;color:var(--wg-purple)}.wg-details>div{padding:10px 0 2px}.wg-details p{margin:0 0 14px}
@media(max-width:850px){.wg-field-layout{grid-template-columns:1fr;gap:20px}.wg-field-drawing canvas{max-width:640px;margin:auto}.wg-field-sidebar{padding-top:0;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-items:start}.wg-voices{grid-column:1;grid-row:1/5}.wg-view-controls{margin-top:0}.wg-field-sidebar>.wg-small:first-of-type{grid-column:2;grid-row:3;margin:10px 0}.wg-field-sidebar>.wg-small:last-child{grid-column:2;grid-row:4}.wg-field-sidebar .wg-follow{grid-column:2;grid-row:2}}
@media(max-width:550px){.wg-lab{margin:36px 0 32px;padding-top:20px;font-size:17px}.wg-lab h2{font-size:28px}.wg-lab-heading{margin-bottom:20px}.wg-lab-heading p{font-size:18px}.wg-eyebrow{font-size:14px}.wg-field-layout{padding-top:6px;gap:20px}.wg-field-drawing canvas{aspect-ratio:1/1}.wg-field-sidebar{display:block}.wg-voices #field-roles{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.wg-role{font-size:14px;grid-template-columns:19px 11px 1fr;gap:6px;min-height:48px}.wg-voices legend{font-size:16px;margin-bottom:8px}.wg-small,.wg-canvas-hint{font-size:16px}.wg-field-sidebar>.wg-small:first-of-type{margin:13px 0 16px}.wg-view-controls{margin:18px 0 8px;gap:6px}.wg-lab button{font-size:14px;padding:10px 12px}.wg-canvas-hint{text-align:left}.wg-follow{margin-top:3px}.wg-seek label,.wg-relation-controls label{font-size:15px}.wg-lab output{font-size:14px}.wg-figure-note,.wg-details,.wg-observation{font-size:17px}.wg-chart-wrap{padding-top:10px}.wg-details summary{font-size:16px}.wg-step-buttons button{padding:10px 8px}}
@media(prefers-reduced-motion:reduce){.wg-lab *{scroll-behavior:auto!important}}
@media print{.wg-lab button,.wg-lab input,.wg-lab audio,.wg-canvas-hint,.wg-follow,.wg-view-controls,.wg-relation-controls,.wg-seek{display:none}.wg-field-layout{grid-template-columns:1fr 190px}.wg-lab{margin:24px 0;break-inside:avoid}.wg-chart-wrap svg{min-width:0}.wg-field-drawing canvas{max-width:100%}}

.wg-snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 10px}.wg-snapshot-grid .wg-snapshot{display:block;width:100%;padding:8px 5px 10px;border:1px solid var(--wg-rule);color:var(--wg-ink);background:var(--wg-paper);min-width:0}.wg-snapshot canvas{display:block;width:100%;height:auto;aspect-ratio:1/1;background:var(--wg-paper)}.wg-snapshot span{display:block;font:14px/1.4 var(--wg-mono);margin-top:8px}.wg-snapshot-grid .wg-snapshot:hover,.wg-snapshot-grid .wg-snapshot[aria-current="true"]{border-color:var(--wg-pink);outline:2px solid var(--wg-pink);outline-offset:-2px;background:var(--wg-paper);color:var(--wg-purple)}@media(max-width:600px){.wg-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wg-snapshot-grid .wg-snapshot{padding:6px 4px 9px}}
