:root{color-scheme:light dark;--bg:light-dark(#f8f8f7,#151716);--surface:light-dark(#fff,#202321);--ink:light-dark(#242b27,#e4ebe6);--muted:light-dark(#637069,#a6b3ab);--line:light-dark(#dfe5e0,#39413b);--blue:light-dark(#2468a7,#82b9ec);--purple:light-dark(#8652a3,#c59ae1);--orange:light-dark(#a06024,#e8b279);--green:light-dark(#387558,#8fcca9);--red:light-dark(#b74242,#f09e9e);--soft:light-dark(#eaf0e9,#2a342c)}
:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button,a,input,summary{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}p{margin:0 0 14px}h1,h2,h3{font-weight:500;line-height:1.12;letter-spacing:-.035em;margin:0}h1{font-size:clamp(38px,6vw,68px);max-width:800px}h2{font-size:clamp(26px,3vw,36px)}h3{font-size:21px;line-height:1.25}strong{font-weight:600}.quiet,.sample-note{color:var(--muted)}.site-header{max-width:1240px;margin:auto;min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 40px}.brand{font-size:18px;font-weight:600;text-decoration:none;display:flex;align-items:center;gap:12px}.brand .quiet{font-weight:400}.brand-mark{font-size:25px;color:var(--green)}main{max-width:1160px;margin:auto;padding:0 32px}.intro{padding:62px 0 42px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:16px}.intro>p{font-size:18px;max-width:620px;margin-top:24px;color:var(--muted)}.intro-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px}.intro code{font:14px/1.6 ui-monospace,monospace;color:var(--green)}.intro-bottom a{font-size:14px}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;gap:20px}.principles>div{display:flex;flex-direction:column;gap:3px}.principles strong{font-size:20px;font-weight:500}.principles span{font-size:13px;color:var(--muted)}.gallery-section{padding:64px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.section-heading .eyebrow{margin-bottom:10px}.sample-note{font-size:13px;max-width:710px;margin:18px 0 28px}.toolbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:32px}.search-label{flex:1;min-width:200px}input{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button,.control{border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:transparent;color:var(--ink);font-size:13px}.filters button{border-color:transparent}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.control:hover{background:var(--soft)}.control.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px}.pattern{min-width:0}.pattern-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.pattern-caption span{font-size:13px;font-weight:500}.pattern-caption button{padding:6px 9px}.preview{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 2px 6px #00000005}.inset{padding:12px;display:grid;gap:16px;min-width:0}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px}.type-marker{font-weight:600}.status{color:var(--muted)}.metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0}.metadata dt{color:var(--muted);font-size:11px;margin-bottom:3px}.metadata dd{margin:0;font-size:13px;overflow-wrap:anywhere}.preview p{font-size:14px;margin:0}.preview details{font-size:13px;color:var(--muted)}summary{cursor:pointer}details p{padding-top:12px}.code-panel{margin-top:10px}pre{white-space:pre-wrap;word-break:break-word;font:12px/1.5 ui-monospace,monospace;background:var(--soft);padding:14px;border-radius:8px;max-height:260px;overflow:auto}.contribute{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:56px 0}.contribute h2{margin-bottom:20px}.contribute p{color:var(--muted)}.contribution-detail{border-left:2px solid var(--green);padding-left:24px}.contribution-detail>p{color:var(--ink);overflow-wrap:anywhere}footer{border-top:1px solid var(--line);padding:28px 0 38px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.site-header{padding:18px 20px;min-height:72px}.brand .quiet{display:none}main{padding:0 20px}.intro{padding:36px 0}.gallery{grid-template-columns:1fr}.principles{grid-template-columns:1fr;gap:16px}.principles>div{flex-direction:row;align-items:center;gap:16px}.principles strong{min-width:110px}.contribute{grid-template-columns:1fr;gap:28px}.toolbar{gap:14px}.search-label{flex-basis:100%}.filters{gap:2px}.filters button{padding:8px}.section-heading{align-items:start}.preview{padding:12px}.metadata{gap:12px}.intro>p{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.pattern-notes{margin-top:14px;font-size:13px;color:var(--muted)}.pattern-notes p{margin:0;padding:10px 0 4px;max-width:65ch}

.app-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:-12px 0 32px}.filter-label{font-size:12px;color:var(--muted);font-weight:600}.app-toolbar .filters{gap:6px}.app-toolbar button{border-color:var(--line)}

.app-toolbar button{display:inline-flex;align-items:center;gap:8px}.app-toolbar img{width:18px!important;height:18px!important}

.card-actions{padding-top:4px}.card-actions .control{font-size:13px}
.fitness-chart{margin:0;min-width:0}.fitness-chart svg{display:block;width:100%;height:auto;overflow:visible}.fitness-chart .chart-readout{font-variant-numeric:tabular-nums;min-height:24px}.chart-inspector{display:grid;gap:6px;font-size:12px;color:var(--muted)}.chart-inspector input{padding:0;width:100%;accent-color:var(--green);min-height:32px}.chart-inspector input:focus-visible{outline:2px solid var(--green)}
.pattern-chart{grid-column:1 / -1}.chart-card .inset{gap:12px}.chart-card .chart-context{color:var(--muted);font-size:13px}.chart-card .fitness-chart{padding-top:4px}.chart-card .chart-readout{font-size:24px;font-weight:500;letter-spacing:-.025em;margin-bottom:8px}.chart-card .chart-takeaway{max-width:74ch}.chart-card .chart-inspector{grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:20px;padding-top:8px}.chart-card .chart-inspector input{min-height:28px}.chart-card .card-actions{padding-top:2px}.pattern-chart .pattern-caption{margin-bottom:10px}@media(max-width:480px){.chart-card .chart-inspector{grid-template-columns:1fr;gap:4px}.chart-card .chart-readout{font-size:21px}}@media(pointer:coarse){.chart-card .chart-inspector input{min-height:44px}}
dialog{width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 16px 64px #0003}dialog::backdrop{background:#0007}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.dialog-top .eyebrow{margin:0}dialog h2{font-size:28px;margin-bottom:12px}dialog h3{font-size:18px;margin-bottom:24px}dialog .metadata{margin-bottom:20px}dialog p{font-size:14px}.request-label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}dialog textarea{width:100%;resize:vertical;min-height:140px;padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--bg);font:13px/1.5 ui-monospace,monospace}.dialog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.dialog-actions span{font-size:12px;color:var(--muted)}@media(max-width:480px){dialog{padding:20px}dialog .metadata{grid-template-columns:1fr}.card-actions .control{min-height:40px}}@media(pointer:coarse){.card-actions .control{min-height:44px}}
