.work-body{background:var(--wow-ice);color:var(--wow-black)}
html[data-theme="dark"] .work-body{background:var(--wow-black);color:var(--wow-ice)}
.work-page{max-width:1440px;margin:58px auto 0;padding:0 clamp(20px,5vw,72px);overflow-wrap:anywhere}
.work-intro{padding:clamp(50px,8vw,110px) 0 50px}
.work-kicker{font:500 .72rem/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;margin:0 0 24px}
.work-intro h1{font:600 clamp(3.2rem,9.4vw,8rem)/.9 'IBM Plex Sans',sans-serif;letter-spacing:-.075em;text-transform:uppercase;margin:0 0 32px}
.work-intro h1 em,.work-footer h2 em{font-family:'Fraunces',serif;font-size:.83em;font-weight:400;text-transform:none;letter-spacing:-.055em}
.work-lede{max-width:66ch;font-size:clamp(1.05rem,1.8vw,1.25rem);line-height:1.6;margin:0 0 30px}
.work-jumps,.work-actions{display:flex;flex-wrap:wrap;gap:10px}
.work-jumps a,.work-actions a{display:inline-flex;align-items:center;min-height:46px;border:2px solid currentColor;padding:10px 15px;font-size:.9rem;font-weight:600;text-decoration:none;line-height:1.4}
.work-jumps a:hover,.work-actions a:hover{text-decoration:underline;text-underline-offset:4px}
.work-page a:focus-visible{outline-color:currentColor}
.work-project{border:3px solid var(--wow-black);margin:0 0 26px;padding:clamp(24px,4vw,52px);scroll-margin-top:78px;overflow-wrap:anywhere}
.work-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-bottom:2px solid currentColor;padding-bottom:16px;margin-bottom:34px;font:500 .72rem/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.035em}
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(24px,4vw,52px)}
.work-copy h2{font:600 clamp(2.1rem,3.7vw,3.5rem)/.98 'IBM Plex Sans',sans-serif;letter-spacing:-.055em;text-transform:uppercase;margin:0 0 26px}
.work-copy p{font-size:1rem;line-height:1.6;margin:0 0 18px}
.work-copy .work-dek{font-size:1.2rem;line-height:1.45;font-weight:600}
.work-copy .work-limit{font-size:.88rem;line-height:1.6}
.work-actions{margin-top:24px}
.work-project h3{font-size:1.05rem;line-height:1.4;margin:0 0 14px}
.work-lab{background:var(--wow-blue);color:var(--wow-ice)}
.work-lab h2{color:var(--wow-acid)}
.work-scenario{border-left:3px solid var(--wow-acid);padding-left:18px;margin:26px 0}
.work-scenario p{margin-bottom:0}
.work-shot{margin:0;border:2px solid var(--wow-black);background:var(--wow-black)}
.work-shot img{display:block;width:100%;height:auto}
.work-shot figcaption{padding:14px 16px;color:var(--wow-ice);font-size:.8rem;line-height:1.6}
.work-message{background:var(--wow-acid);color:var(--wow-black)}
.work-flow{background:var(--wow-black);color:var(--wow-ice);padding:32px}
.work-flow ol{list-style:decimal;padding-left:22px;margin:26px 0}
.work-flow li{font-size:1.1rem;line-height:1.5;padding:16px 0;border-bottom:1px solid currentColor}
.work-flow li::marker{color:var(--wow-acid);font-family:'IBM Plex Mono',monospace}
.work-flow p{color:var(--wow-acid);font-size:.9rem;line-height:1.6;margin:26px 0 0}
.work-csv{background:var(--wow-ice);color:var(--wow-black)}
.work-csv h2{color:var(--wow-blue)}
.work-mapping{background:var(--wow-acid);padding:28px;border:2px solid var(--wow-black)}
.work-mapping table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.9rem;line-height:1.5}
.work-mapping caption{text-align:left;caption-side:bottom;font-size:.8rem;padding-top:16px}
.work-mapping th,.work-mapping td{padding:14px 8px;text-align:left;border-bottom:1px solid var(--wow-black);vertical-align:top;overflow-wrap:anywhere}
.work-mapping th{font-weight:600}
.work-mapping pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 .82rem/1.7 'IBM Plex Mono',monospace;border-top:2px solid var(--wow-black);padding-top:20px;margin:24px 0 0}
.work-sudoku{background:var(--wow-orange);color:var(--wow-black)}
.work-algorithm{background:var(--wow-acid);border:2px solid var(--wow-black);padding:30px;box-shadow:12px 12px 0 var(--wow-blue)}
.work-algorithm ol{list-style:none;padding:0;margin:24px 0}
.work-algorithm li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid var(--wow-black);font-size:1.05rem;line-height:1.5}
.work-algorithm li span{font:500 .85rem/1.8 'IBM Plex Mono',monospace}
.work-algorithm p{font-family:'Fraunces',serif;font-size:1.3rem;line-height:1.4;margin:26px 0 0}
.work-footer{padding:60px 0 35px}
.work-footer h2{font:600 clamp(2.2rem,5vw,4.5rem)/1 'IBM Plex Sans',sans-serif;letter-spacing:-.06em;margin:0 0 26px}
.work-footer p{max-width:60ch;line-height:1.7}
.work-footer .work-credit{font:400 .72rem/1.6 'IBM Plex Mono',monospace;margin-top:60px}
@media(max-width:850px){.work-grid{grid-template-columns:minmax(0,1fr)}.work-project{padding:24px}.work-copy h2{font-size:clamp(2.1rem,6vw,3.3rem)}}
@media(max-width:480px){.work-page{padding:0 16px}.work-project{padding:20px 16px}.work-intro h1{font-size:clamp(2.9rem,13vw,4rem)}.work-flow,.work-mapping,.work-algorithm{padding:18px}.work-algorithm{box-shadow:6px 6px 0 var(--wow-blue)}.work-mapping td,.work-mapping th{padding:12px 5px}}
@media(forced-colors:active){.work-project,.work-shot,.work-mapping,.work-algorithm{border-color:CanvasText}.work-algorithm{box-shadow:none}}
@media print{.work-page{margin:0;padding:0}.work-jumps{display:none}.work-intro{padding:0 0 25px}.work-project{break-inside:avoid;background:white;color:black;border:1px solid black}.work-project h2,.work-flow p{color:black}.work-grid{grid-template-columns:1fr}.work-flow,.work-mapping,.work-algorithm{background:white;color:black;box-shadow:none}.work-shot figcaption{color:black;background:white}.work-body{background:white;color:black}}
