.gf-ds-page{--gf-ds-pad:var(--s-9)}.gf-ds-page .section{padding-block:var(--gf-ds-pad)}.gf-ds-page .page-wrap{gap:var(--s-7);min-width:0;display:grid}.gf-ds-paper{background:var(--bg);color:var(--text)}.gf-ds-hero{gap:var(--s-4);max-width:62ch;display:grid}.gf-ds-hero .h1{text-wrap:balance;overflow-wrap:anywhere}.gf-ds-badge{border-radius:var(--r-full);background:var(--primary-soft);color:var(--primary);font-size:var(--fs-label);justify-self:start;padding:4px 12px;font-weight:600}.gf-ds-tool{gap:var(--s-5);grid-template-columns:minmax(0,1fr);max-width:880px;display:grid}.gf-ds-card{padding:var(--s-6);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);min-width:0}.gf-ds-card--quiet{background:var(--surface-2);box-shadow:none}.gf-ds-h{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h3);color:var(--text);overflow-wrap:anywhere;line-height:1.25}.gf-ds-eyebrow{font-size:var(--fs-label);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);font-weight:600}.gf-ds-muted{color:var(--text-3);font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.5}.gf-ds-form,.gf-ds-view,.gf-ds-retrieve,.gf-ds-result,.gf-ds-result>section{gap:var(--s-4);min-width:0;display:grid}.gf-ds-result{gap:var(--s-7)}.gf-ds-file{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.gf-ds-file:focus-visible+*{outline:2px solid var(--focus-color)}.gf-ds-drop{justify-items:center;gap:var(--s-2);padding:var(--s-7) var(--s-4);text-align:center;border:2px dashed var(--control-border);border-radius:var(--r-md);cursor:pointer;min-width:0;display:grid}.gf-ds-drop:hover,.gf-ds-drop--over{border-color:var(--primary);background:var(--primary-soft)}.gf-ds-drop__title{color:var(--text);overflow-wrap:anywhere;max-width:100%;font-weight:600}.gf-ds-drop__pick{color:var(--primary);text-underline-offset:3px;font-weight:600;text-decoration:underline}.gf-ds-field{gap:var(--s-2);min-width:0;display:grid}.gf-ds-label{font-size:var(--fs-label);color:var(--text);font-weight:600}.gf-ds-select,.gf-ds-input{width:100%;min-height:48px;padding:0 var(--s-3);border:1px solid var(--control-border);background:var(--surface);color:var(--text);border-radius:12px;font-size:16px}.gf-ds-input{letter-spacing:.12em;text-transform:uppercase;font-family:var(--font-mono)}.gf-ds-input::placeholder{letter-spacing:.12em;text-transform:none}.gf-ds-error,.gf-ds-notice{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid var(--border-strong);color:var(--text);background:var(--surface-2);font-size:var(--fs-sm);border-left-width:4px;flex-wrap:wrap;min-width:0;display:flex}.gf-ds-error .i,.gf-ds-notice .i{flex:none;margin-top:2px}.gf-ds-notice>p,.gf-ds-notice>div{flex:14rem;min-width:0}.gf-ds-human:has(.turnstile:empty) .gf-ds-muted:empty{display:none}.gf-ds-status{align-items:center;gap:var(--s-2);color:var(--text-2);display:flex}.gf-ds-spin{animation:1s linear infinite gf-ds-spin}@keyframes gf-ds-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.gf-ds-spin{animation:none}}.gf-ds-retrieve__row{gap:var(--s-3);flex-wrap:wrap;align-items:flex-end;display:flex}.gf-ds-retrieve__row .gf-ds-field{flex:12rem}.gf-ds-total{gap:var(--s-2);padding:var(--s-6);border-radius:var(--r-lg);background:var(--primary-soft);color:var(--text);display:grid}.gf-ds-total--not_ready{background:var(--surface-2)}.gf-ds-total__num{align-items:baseline;gap:var(--s-3);flex-wrap:wrap;display:flex}.gf-ds-total__value{font-family:var(--font-display);font-size:clamp(64px,48px + 6vw,104px);font-weight:600;line-height:1}.gf-ds-total__of{color:var(--text-2)}.gf-ds-total__band{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h3);overflow-wrap:anywhere}.gf-ds-total__range{color:var(--text-2);font-size:var(--fs-sm)}.gf-ds-dims,.gf-ds-checks,.gf-ds-fixes{gap:var(--s-3);min-width:0;padding:0;list-style:none;display:grid}.gf-ds-dim{gap:var(--s-2);padding:var(--s-4);border-radius:var(--r-md);border:1px solid var(--border);min-width:0;display:grid}.gf-ds-dim__head{justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;align-items:baseline;display:flex}.gf-ds-dim__title{color:var(--text);overflow-wrap:anywhere;font-weight:600}.gf-ds-dim__score{font-variant-numeric:tabular-nums;color:var(--text-2)}.gf-ds-bar{border-radius:var(--r-full);background:var(--surface-3);height:8px;overflow:hidden}.gf-ds-bar>span{background:var(--primary);height:100%;display:block}.gf-ds-dim__meta{gap:var(--s-3);color:var(--text-3);font-size:var(--fs-label);flex-wrap:wrap;align-items:center;display:flex}.gf-ds-tag{border-radius:var(--r-full);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-label);flex:none;padding:2px 10px;font-weight:600;display:inline-block}.gf-ds-tag--low{box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--text);background:0 0}.gf-ds-quote{padding-left:var(--s-3);border-left:3px solid var(--border-strong);color:var(--text-2);font-size:var(--fs-sm);overflow-wrap:anywhere;margin:0;line-height:1.55}.gf-ds-quote footer{gap:var(--s-3);margin-top:var(--s-1);color:var(--text-3);font-size:var(--fs-label);flex-wrap:wrap;display:flex}.gf-ds-check{gap:var(--s-1) var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.gf-ds-check__title{color:var(--text);overflow-wrap:anywhere;font-weight:600}.gf-ds-check__state{font-size:var(--fs-label);color:var(--text-2);font-weight:600}.gf-ds-check .gf-ds-muted{grid-column:2/-1}.gf-ds-check[data-passed=true] .i{color:var(--primary)}.gf-ds-fixes{counter-reset:fix}.gf-ds-fixes li{gap:var(--s-2);padding:var(--s-4);border-radius:var(--r-md);border:1px solid var(--border);color:var(--text);overflow-wrap:anywhere;justify-items:start;display:grid}.gf-ds-code{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-4);border-radius:var(--r-md);background:var(--surface-2);flex-wrap:wrap;display:flex}.gf-ds-code__title{font-family:var(--font-mono);color:var(--text);overflow-wrap:anywhere;font-weight:600}.gf-ds-cta{gap:var(--s-3);padding:var(--s-5);border-radius:var(--r-md);background:var(--primary-soft);color:var(--text);display:grid}.gf-ds-cta__actions{gap:var(--s-4);flex-wrap:wrap;align-items:center;display:flex}.gf-ds-link{color:var(--primary);text-underline-offset:3px;font-weight:600;text-decoration:underline}.gf-ds-content{gap:var(--s-4);min-width:0;max-width:62ch;display:grid}.gf-ds-content--wide{max-width:1000px}.gf-ds-content--wide>p{max-width:62ch}.gf-ds-content p{color:var(--text-2);text-wrap:pretty;overflow-wrap:anywhere;line-height:1.65}.gf-ds-methods{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));padding:0;list-style:none;display:grid}.gf-ds-methods li{gap:var(--s-2);padding:var(--s-4);border-radius:var(--r-md);border:1px solid var(--border);align-content:start;display:grid}.gf-ds-methods h3{color:var(--text);font-weight:600}.gf-ds-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.gf-ds-table th,.gf-ds-table td{padding:var(--s-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--border);color:var(--text-2);overflow-wrap:anywhere}.gf-ds-table th{color:var(--text);font-weight:600}.gf-ds-table tbody th{min-width:9rem}.gf-ds-bench{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));display:grid}.gf-ds-bench .gf-ds-card{gap:var(--s-3);align-content:start;display:grid}.gf-ds-bench ul{gap:var(--s-2);padding-left:var(--s-5);color:var(--text-2);overflow-wrap:anywhere;line-height:1.55;list-style:outside;display:grid}@media (max-width:760px){.gf-ds-page{--gf-ds-pad:var(--s-8)}.gf-ds-card{padding:var(--s-4)}.gf-ds-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.gf-ds-table,.gf-ds-table tbody,.gf-ds-table tr,.gf-ds-table th,.gf-ds-table td{min-width:0;display:block}.gf-ds-table tr{padding-block:var(--s-3);border-bottom:1px solid var(--border)}.gf-ds-table th,.gf-ds-table td{padding:var(--s-1) 0;border:0}.gf-ds-table td:before{content:attr(data-label);color:var(--text-3);font-size:var(--fs-label);font-weight:600;display:block}}
