*{box-sizing:border-box}body{margin:0;background:var(--s3-bg-page);color:var(--s3-text);font:var(--s3-text-md)/var(--s3-leading-md) var(--s3-font-sans)}a{color:var(--s3-text-accent)}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}h1,h2,h3,p{margin:0}h1{font-size:var(--s3-text-2xl);line-height:var(--s3-leading-2xl);letter-spacing:var(--s3-tracking-tight);font-weight:var(--s3-weight-semibold);color:var(--s3-text-strong)}h2{font-size:var(--s3-text-xl);line-height:var(--s3-leading-xl);color:var(--s3-text-strong)}[hidden]{display:none!important}:focus-visible,[data-state=focus]{outline:var(--s3-focus-w) solid var(--s3-focus);outline-offset:var(--s3-focus-offset)}.container{max-width:var(--s3-page-max);margin:auto;padding-inline:var(--s3-gutter)}.site-header{height:var(--s3-space-8);border-bottom:1px solid var(--s3-border-subtle)}.site-header .container{height:100%;display:flex;align-items:center}.wordmark{font-size:20px;font-weight:var(--s3-weight-semibold);letter-spacing:var(--s3-tracking-tight);color:var(--s3-text-strong);text-decoration:none;white-space:nowrap}.wordmark span{color:var(--s3-brand-mark)}.intro{padding:var(--s3-space-7) 0 var(--s3-space-6)}.intro p{max-width:var(--s3-measure);margin-top:var(--s3-space-3);font-size:var(--s3-text-lg);line-height:var(--s3-leading-md)}.search{display:flex;align-items:center;gap:var(--s3-space-3);height:var(--s3-control-h-lg);padding:0 var(--s3-space-4);border:1px solid var(--s3-border-control);border-radius:var(--s3-radius-md);background:var(--s3-bg-surface)}.search:focus-within{outline:var(--s3-focus-w) solid var(--s3-focus);outline-offset:var(--s3-focus-offset)}.search svg{flex-shrink:0}.search input{width:100%;min-width:0;border:0;outline:none;background:transparent;color:var(--s3-text-strong)}.search input::placeholder{color:var(--s3-text-muted)}kbd{font:var(--s3-text-sm) var(--s3-font-mono);color:var(--s3-text-muted)}.search:focus-within kbd{visibility:hidden}.filters{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3-space-4);margin-top:var(--s3-space-5)}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:var(--s3-text-sm);line-height:var(--s3-leading-sm);margin-bottom:var(--s3-space-2)}.muted{color:var(--s3-text-muted)}.row{display:flex;flex-wrap:wrap;gap:var(--s3-space-2);align-items:center}.chip{min-height:var(--s3-control-h);padding:0 var(--s3-space-4);border:1px solid var(--s3-border-subtle);border-radius:var(--s3-radius-pill);background:transparent;color:var(--s3-text);font-size:var(--s3-text-sm);display:inline-flex;gap:var(--s3-space-2);align-items:center}.chip:hover,.chip[data-state=hover]{border-color:var(--s3-border-control);background:var(--s3-bg-subtle)}.chip:active,.chip[data-state=active]{background:var(--s3-bg-subtle)}.chip[aria-pressed=true]{background:var(--s3-bg-inverse);color:var(--s3-text-inverse);border-color:var(--s3-bg-inverse)}.chip-check{display:none}.chip[aria-pressed=true] .chip-check{display:inline}.checkbox{display:flex;align-items:center;gap:var(--s3-space-2);min-height:var(--s3-control-h);font-size:var(--s3-text-sm);white-space:nowrap;cursor:pointer}.checkbox input{width:18px;height:18px;accent-color:var(--s3-text-strong)}.results{display:flex;align-items:center;justify-content:space-between;min-height:var(--s3-control-h);margin:var(--s3-space-5) 0 var(--s3-space-3);color:var(--s3-text-muted);font-size:var(--s3-text-sm)}.btn-text{min-height:var(--s3-control-h);border:0;background:transparent;color:var(--s3-text-accent);text-decoration:underline;text-underline-offset:4px;padding:0 var(--s3-space-2);font-size:var(--s3-text-sm)}.btn-primary{min-height:var(--s3-control-h);border:1px solid var(--s3-bg-inverse);background:var(--s3-bg-inverse);color:var(--s3-text-inverse);border-radius:var(--s3-radius-sm);padding:0 var(--s3-space-4);font-size:var(--s3-text-sm)}.btn-primary:hover,.btn-primary[data-state=hover]{background:var(--s3-text)}.btn-primary:active,.btn-primary[data-state=active]{transform:translateY(1px)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3-grid-gap)}.card{border:1px solid var(--s3-border-subtle);border-radius:var(--s3-radius-md);overflow:hidden;display:flex;flex-direction:column;background:var(--s3-bg-surface);color:var(--s3-text);text-decoration:none;min-width:0}.card--playable{transition:transform var(--s3-duration) var(--s3-ease),border-color var(--s3-duration) var(--s3-ease)}.card--playable:hover,.card--playable[data-state=hover]{transform:translateY(-2px);border-color:var(--s3-border-accent)}.card--playable:active{transform:none}.preview{aspect-ratio:16/10;background:var(--s3-bg-subtle);overflow:hidden;border-bottom:1px solid var(--s3-border-subtle)}.preview img{display:block;width:100%;height:100%;object-fit:cover}.preview--plate{padding:var(--s3-space-5);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;background-size:24px 24px}.preview[data-pattern=measurement]{background-image:linear-gradient(var(--s3-border-subtle) 1px,transparent 1px);background-size:100% 16px}.preview[data-pattern=scheduling]{background-image:linear-gradient(var(--s3-border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--s3-border-subtle) 1px,transparent 1px)}.preview[data-pattern=power]{background-image:linear-gradient(90deg,var(--s3-border-subtle) 1px,transparent 1px);background-size:12px 100%}.preview[data-pattern=security]{background-image:repeating-linear-gradient(45deg,transparent 0 11px,var(--s3-border-subtle) 11px 12px)}.plate-caption,.plate-mark{background:var(--s3-bg-subtle);padding:2px 6px;border-radius:var(--s3-radius-sm);font-family:var(--s3-font-mono)}.plate-caption{font-size:var(--s3-text-xs);line-height:var(--s3-leading-xs);color:var(--s3-text-muted)}.plate-mark{font-size:var(--s3-text-xl);line-height:var(--s3-leading-xl);color:var(--s3-text-strong)}.card-body{padding:var(--s3-space-4);display:flex;flex-direction:column;flex:1;gap:var(--s3-space-3)}.meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3-space-2);font:var(--s3-text-xs)/var(--s3-leading-xs) var(--s3-font-mono);color:var(--s3-text-muted)}.badge{padding:1px 6px;border:1px solid var(--s3-border-subtle);border-radius:var(--s3-radius-sm);background:var(--s3-bg-subtle);font:var(--s3-text-xs)/var(--s3-leading-xs) var(--s3-font-sans);white-space:nowrap}.badge--playable{color:var(--s3-text-accent);border-color:var(--s3-border-accent);background:var(--s3-bg-surface)}.card h2{font-size:var(--s3-text-lg);line-height:var(--s3-leading-lg);font-weight:var(--s3-weight-semibold)}.summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-bottom{display:flex;justify-content:space-between;gap:var(--s3-space-3);margin-top:auto;padding-top:var(--s3-space-2);font-size:var(--s3-text-sm);line-height:var(--s3-leading-sm);color:var(--s3-text-muted)}.card-cta{color:var(--s3-text-accent);white-space:nowrap}.preparing-note{max-width:22ch;text-align:right}.empty{border:1px dashed var(--s3-border-control);border-radius:var(--s3-radius-md);padding:var(--s3-space-8) var(--s3-space-5);text-align:center}.empty p{margin:var(--s3-space-3) 0 var(--s3-space-5)}.site-footer{margin-top:var(--s3-space-8);padding-top:var(--s3-space-5);padding-bottom:var(--s3-space-6);display:flex;align-items:flex-start;gap:var(--s3-space-5);font-size:var(--s3-text-sm);line-height:var(--s3-leading-sm);border-top:1px solid var(--s3-border-subtle);color:var(--s3-text-muted)}.site-footer p{max-width:var(--s3-measure);flex:1}.site-footer>a{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:var(--s3-gutter);top:-100px;background:var(--s3-bg-surface);padding:var(--s3-space-3);z-index:50}.skip:focus{top:var(--s3-space-2)}@media(max-width:1023px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639px){.site-header{height:56px}.intro{padding-top:var(--s3-space-6)}h1{font-size:var(--s3-text-xl);line-height:var(--s3-leading-xl)}.intro p{font-size:var(--s3-text-md)}.grid{grid-template-columns:1fr}.filters{align-items:flex-start;flex-direction:column}.search kbd{display:none}.site-footer{flex-direction:column}.preparing-note{max-width:23ch}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
