.gtabs{gap:var(--space-xs);margin-block:var(--space-md) var(--space-lg);flex-wrap:wrap;display:flex}.gtabs a{font:700 15px/1 var(--font-body);color:inherit;border:var(--rule) solid var(--line);background:var(--surface);border-radius:999px;padding:10px 16px;text-decoration:none}.gtabs a[aria-current=page]{background:var(--accent);color:var(--accent-ink)}.gtabs a:not([aria-current]):hover{background:var(--surface-2)}.gtabs a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.lg-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(132px,1fr));display:grid}@media (width<=480px){.lg-grid{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr))}}.lg{aspect-ratio:1;background:var(--image);border:var(--rule) solid var(--line);border-radius:var(--radius);transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);display:block;position:relative;overflow:hidden}.lg img{object-fit:contain;width:100%;height:100%;max-height:none;display:block}.lg:hover{box-shadow:5px 5px 0 var(--accent-2);transform:translate(-2px,-2px)}.lg:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.lg-round{font:700 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:4px 8px;position:absolute;top:6px;left:6px}.gm,.gp{margin-block:var(--space-xl)}.gm-head{justify-content:space-between;align-items:baseline;gap:var(--space-xs) var(--space-md);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.gm h2,.gp h2{margin:0;font-size:clamp(24px,3vw,34px)}.gm h2 a,.gp h2 a{color:inherit;text-decoration:none}.gm h2 a:hover,.gp h2 a:hover{text-underline-offset:4px;text-decoration:underline}.gm p,.gp p{margin:var(--space-xs) 0 var(--space-sm)}.gm-go{font:800 17px/1.1 var(--font-display);color:var(--accent-2)}.gm-more{margin-block:var(--space-2xl);padding-top:var(--space-lg);border-top:var(--rule-thick) solid var(--line)}.gm-more ul{gap:var(--space-xs) var(--space-lg);flex-wrap:wrap;padding:0;list-style:none;display:flex}.gm-swatch{border:var(--rule) solid var(--line);vertical-align:baseline;border-radius:50%;width:.8em;height:.8em;margin-right:.35em;display:inline-block}.gm-more li{align-items:baseline;gap:4px;display:inline-flex}.gm-more .gm-swatch{width:14px;height:14px;margin-right:2px}.gv-back{margin:0 0 var(--space-xs);font:700 15px/1.2 var(--font-body)}.gv-back a{color:var(--muted);text-decoration:none}.gv-back a:hover{text-decoration:underline}.fin-grid{gap:var(--space-lg);margin-block:var(--space-lg) var(--space-2xl);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));display:grid}.fin{background:var(--surface);border:var(--rule-thick) solid var(--line);border-radius:var(--radius-lg);color:inherit;transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.fin:hover{box-shadow:8px 8px 0 var(--accent-2);transform:translate(-2px,-2px)}.fin:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.fin-img{aspect-ratio:1;background:var(--image);border-bottom:var(--rule-thick) solid var(--line)}.fin-img img{object-fit:contain;width:100%;height:100%;max-height:none;display:block}.fin-body{padding:var(--space-md);gap:var(--space-xs);flex-direction:column;display:flex}.fin-body h2{margin:0;font-size:clamp(24px,3vw,32px)}.fin-body p{margin:0}.fin-meta{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.fin-colors{gap:5px;display:inline-flex}.fin-colors i{border:var(--rule) solid var(--line);border-radius:50%;width:22px;height:22px;display:block}.ex-status{font:700 13px/1 var(--font-body);border:var(--rule) solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.ex-status:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.ex-status[data-s=done]{color:var(--success)}.ex-status[data-s=review]{color:var(--accent-2)}.ex-status[data-s=running]{color:var(--accent)}.ex-study{font:700 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px dashed var(--line);color:var(--muted);border-radius:999px;align-self:flex-start;padding:6px 10px}@media (prefers-reduced-motion:reduce){.fin{transition:none}.fin:hover{transform:none}.lg{transition:none}.lg:hover{transform:none}}
