/* Native, illustrative work scenes. Deliberately flat ink; no cards or glows. */
work-scene { display:block; width:100%; color:var(--ink,#f3f1ec); --ws-bg:var(--g0,#0e0e10); --ws-ink:var(--ink,#f3f1ec); --ws-muted:var(--ink-2,#b9b6ae); --ws-red:var(--signal,#e66b59); }
work-scene:not([data-ready]) { display:none; }
work-scene[hidden] { display:none!important; }
work-scene .ws-figure { margin:0; background:var(--ws-bg); }
work-scene .ws-canvas { position:relative; width:100%; aspect-ratio:1.9; min-height:280px; overflow:hidden; }
work-scene .ws-svg { width:100%; height:100%; max-width:none; overflow:visible; }
work-scene .ws-svg * { vector-effect:non-scaling-stroke; }
work-scene .ws-svg text { stroke:none; fill:var(--ws-ink); font-family:var(--font-kr,Arial,sans-serif); }
work-scene .ws-label { font-size:62px; font-weight:570; letter-spacing:-1.8px; }
work-scene .ws-label-wide { font-size:54px; }
work-scene .ws-number-small { font-family:var(--font-mono,monospace)!important; font-size:60px; fill:var(--ws-red)!important; letter-spacing:-2px; }
work-scene .ws-index { font-family:var(--font-mono,monospace)!important; font-size:32px; fill:var(--ws-muted)!important; }
work-scene .ws-test-number { font-size:105px; font-weight:650; letter-spacing:-5px; }
work-scene .ws-date-label { font-family:var(--font-mono,monospace)!important; font-size:48px; fill:var(--ws-muted)!important; }
work-scene .ws-registration,work-scene .ws-fine { fill:none; stroke:var(--ws-ink); stroke-width:1; opacity:.24; }
work-scene .ws-floor { fill:none; stroke:var(--ws-ink); stroke-width:1; opacity:.1; }
work-scene .ws-paper-back { fill:var(--ivory-3,#d6d2c8); stroke:var(--ws-bg); stroke-width:1; }
work-scene .ws-paper { fill:var(--ivory,#eceae4); stroke:var(--ws-bg); stroke-width:1; }
work-scene .ws-ink-fill { fill:var(--g1,#16161a); }
work-scene .ws-paper-line { fill:none; stroke:var(--iv-ink,#16161a); stroke-width:1.25; }
work-scene .ws-wave { fill:none; stroke:var(--ws-red); stroke-width:1.6; stroke-linejoin:round; }
work-scene .ws-route { fill:none; stroke:var(--ws-ink); stroke-width:1; opacity:.32; }
work-scene .ws-trace { fill:none; stroke:var(--ws-red); stroke-width:1.5; stroke-dasharray:8 34; animation:ws-flow 8s linear infinite; }
work-scene .ws-gate { fill:var(--ws-bg); fill-opacity:.92; stroke:var(--ws-red); stroke-width:1.1; }
work-scene .ws-tick { fill:none; stroke:var(--ws-ink); stroke-width:1; stroke-linecap:round; stroke-linejoin:round; }
work-scene .ws-bracket { fill:none; stroke:var(--ws-muted); stroke-width:1; }
work-scene .ws-cream { fill:var(--ivory,#eceae4); stroke:none; }
work-scene .ws-short-rule { fill:none; stroke:var(--ws-muted); stroke-width:1; }
work-scene .ws-node { fill:var(--ws-red); }
work-scene .ws-record { fill:var(--g1,#16161a); stroke:var(--ws-ink); stroke-width:.9; stroke-opacity:.54; }
work-scene .ws-key,work-scene .ws-align-rule { fill:none; stroke:var(--ws-red); stroke-width:1.5; }
work-scene .ws-aligned { fill:var(--g1,#16161a); stroke:var(--ws-muted); stroke-width:1; }
work-scene .ws-key-dot { fill:var(--ws-red); }
work-scene .ws-selected { fill:var(--ivory,#eceae4); }
work-scene .ws-check { fill:none; stroke:var(--ws-red); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
work-scene .ws-ink-rule { fill:none; stroke:var(--iv-ink,#16161a); stroke-width:1.2; }
work-scene .ws-operator-ring { fill:none; stroke:var(--ws-ink); stroke-width:1.1; }
work-scene .ws-person { fill:none; stroke:var(--ws-ink); stroke-width:1; stroke-linecap:round; }
work-scene .ws-person-human { stroke-width:1.4; }
work-scene .ws-network-link { fill:none; stroke:var(--ws-muted); stroke-opacity:.5; stroke-width:.8; }
work-scene .ws-role-ring { fill:var(--ws-bg); stroke:var(--ws-muted); stroke-width:1; }
work-scene .ws-coordinator-ring { fill:var(--ws-bg); stroke:var(--ws-red); stroke-width:1.5; }
work-scene .ws-person-lead { stroke:var(--ws-red); }
work-scene .ws-lead-marker { fill:var(--ws-red); }
work-scene .ws-workspace { fill:var(--g1,#16161a); stroke:var(--ws-ink); stroke-width:1; stroke-opacity:.7; }
work-scene .ws-workspace-edge { fill:none; stroke:var(--ws-ink); stroke-opacity:.24; stroke-width:.8; }
work-scene .ws-code-lines { fill:none; stroke:var(--ws-muted); stroke-width:1; stroke-opacity:.55; }
work-scene .ws-merge-link { fill:none; stroke:var(--ws-muted); stroke-width:1; stroke-opacity:.6; }
work-scene .ws-merge-mark { fill:var(--ws-bg); stroke:var(--ws-red); stroke-width:1.2; }
work-scene .ws-merge-inner { fill:var(--ws-red); }
work-scene .ws-verified-ring { fill:none; stroke:var(--ws-ink); stroke-width:1.2; }
work-scene .ws-caption { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:52px; padding:0 16px; border-top:1px solid var(--line-2,rgba(243,241,236,.18)); color:var(--ws-muted); font-family:var(--font-mono,monospace); font-size:12px; line-height:1.4; }
work-scene .ws-pause { display:inline-flex; justify-content:center; align-items:center; gap:9px; min-height:44px; min-width:44px; padding:0 4px; color:var(--ws-ink); font:inherit; background:none; border:0; border-radius:0; cursor:pointer; }
work-scene .ws-pause[hidden] { display:none; }
work-scene .ws-pause:focus-visible { outline:2px solid var(--ws-red); outline-offset:2px; }
work-scene .ws-pause-icon { display:block; width:9px; height:10px; border-left:2px solid currentColor; border-right:2px solid currentColor; }
work-scene .ws-pause[aria-pressed="true"] .ws-pause-icon { width:0; height:0; border:5px solid transparent; border-left:8px solid currentColor; border-right:0; }
work-scene[data-paused="true"] .ws-trace { animation-play-state:paused; }
@keyframes ws-flow { to { stroke-dashoffset:-126; } }
@media(max-width:600px) {
  work-scene .ws-canvas { aspect-ratio:1.45; min-height:235px; }
  work-scene .ws-caption { min-height:48px; padding-inline:10px; font-size:11px; }
  work-scene .ws-label { font-size:65px; }
  work-scene .ws-label-wide { font-size:58px; }
  work-scene .ws-date-label { font-size:58px; }
  work-scene .ws-registration { opacity:.15; }
}
@media(prefers-reduced-motion:reduce) { work-scene .ws-trace { animation:none!important; } }
