.btn{cursor:pointer;border:none;border-radius:7px;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover)}.btn--secondary{color:var(--color-text);border:1px solid var(--color-border);background:#fff}.btn--secondary:hover{background:var(--color-bg)}.btn--danger{color:#b91c1c;background:#fff;border:1px solid #fecaca}.btn--danger:hover{background:#fef2f2}.btn--lg{border-radius:8px;padding:.75rem 1.5rem;font-size:1rem}.btn--sm{padding:.375rem .75rem;font-size:.8125rem}.badge{border-radius:9999px;align-items:center;gap:.3rem;padding:.2rem .625rem;font-size:.6875rem;font-weight:700;display:inline-flex}.badge__dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge--ok{background:var(--color-ok-subtle);color:var(--color-ok-text)}.badge--ok .badge__dot{background:var(--color-ok)}.badge--warning{background:var(--color-warning-subtle);color:var(--color-warning-text)}.badge--warning .badge__dot{background:var(--color-warning)}.badge--error{background:var(--color-error-subtle);color:var(--color-error-text)}.badge--error .badge__dot{background:var(--color-error)}.badge--unknown{background:var(--color-unknown-subtle);color:var(--color-unknown-text)}.badge--unknown .badge__dot{background:var(--color-unknown)}.badge--no-jsonld{background:var(--color-no-jsonld-subtle);color:var(--color-no-jsonld-text)}.badge--no-jsonld .badge__dot{background:var(--color-no-jsonld)}.badge--primary{background:var(--color-primary-subtle);color:var(--color-primary)}.result-block{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.result-block__header{background:var(--color-bg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.result-block__header-left{align-items:center;gap:.625rem;display:flex}.result-block__header-right{align-items:center;gap:.5rem;display:flex}.result-block__type{color:var(--color-text);font-size:.8125rem;font-weight:600}.result-block__rows{padding:.5rem 0}.result-block__row{align-items:flex-start;gap:.75rem;padding:.5rem 1rem;font-size:.8125rem;line-height:1.5;display:flex}.result-block__row:not(:last-child){border-bottom:1px solid #f1f5f9}.result-block__row--error .result-block__field{color:var(--color-error-text)}.result-block__row--warning .result-block__field{color:var(--color-warning-text)}.result-block__icon{flex-shrink:0;width:16px;height:16px;margin-top:1px}.result-block__field{white-space:nowrap;font-family:Menlo,Monaco,Consolas,monospace;font-size:.75rem;font-weight:600}.result-block__message{color:var(--color-text-muted)}.result-block__ok{color:var(--color-ok-text);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;display:flex}.result-block__json{color:#e2e8f0;background:#0f172a;border-radius:0 0 10px 10px;padding:1rem;font-family:Menlo,Monaco,Consolas,monospace;font-size:.75rem;line-height:1.7;overflow-x:auto}.result-block__json .json-key{color:#7dd3fc}.result-block__json .json-string{color:#86efac}.result-block__json .json-number{color:#fdba74}.result-block__json .json-bool{color:#c4b5fd}.result-block__json .json-null{color:#94a3b8}.validator-input{border:1px solid var(--color-border);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000f,0 20px 40px -8px #4f46e514}.validator-input__tabs{border-bottom:1px solid var(--color-border);background:var(--color-bg);padding:0 1.25rem;display:flex}.validator-input__tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;transition:color .15s,border-color .15s}.validator-input__tab--active,.validator-input__tab:hover{color:var(--color-primary)}.validator-input__tab--active{border-bottom-color:var(--color-primary)}.validator-input__body{flex-direction:column;gap:.875rem;padding:1.25rem;display:flex}.validator-input__textarea,.validator-input__url-input{background:var(--color-bg);border:1px solid var(--color-border);color:#334155;border-radius:8px;outline:none;width:100%;padding:.875rem;font-family:Menlo,Monaco,Consolas,monospace;font-size:.8125rem;line-height:1.6;transition:border-color .15s,box-shadow .15s}.validator-input__textarea:focus,.validator-input__url-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.validator-input__textarea{resize:vertical;min-height:140px}.validator-input__url-input{font-family:inherit}.validator-input__actions{justify-content:flex-end;display:flex}.validator-input__shortcut{opacity:.6;margin-left:.25rem;font-size:.6875rem}.validator-input__results{border-top:1px solid var(--color-border);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.validator-input__summary{color:var(--color-text-muted);justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.validator-input__idle{text-align:center;color:var(--color-text-muted);border-top:1px solid var(--color-border);padding:2rem;font-size:.875rem}.validator-input__error-banner{background:var(--color-error-subtle);border-top:1px solid var(--color-border);color:var(--color-error-text);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.waitlist-form{gap:.5rem;max-width:440px;margin:0 auto 1rem;display:flex}@media (width<=500px){.waitlist-form{flex-direction:column}}.waitlist-form__input{color:#fff;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;outline:none;flex:1;height:44px;padding:0 1rem;font-size:.9375rem;transition:border-color .15s,background .15s}.waitlist-form__input::placeholder{color:#64748b}.waitlist-form__input:focus{background:#6366f114;border-color:#6366f1}.waitlist-form__input--light{border-color:var(--color-border);color:var(--color-text);background:#fff}.waitlist-form__input--light::placeholder{color:var(--color-text-muted)}.waitlist-form__input--light:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);background:#fff}.waitlist-form__btn{background:var(--color-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;height:44px;padding:0 1.25rem;font-size:.9375rem;font-weight:600;transition:background .15s}.waitlist-form__btn:hover{background:var(--color-primary-hover)}.waitlist-form__note{color:#475569;text-align:center;font-size:.8125rem}.waitlist-form__success{color:#86efac;text-align:center;font-size:.9375rem}.type-chip{border:1px solid var(--color-border);color:var(--color-text);background:#fff;border-radius:10px;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:border-color .15s,box-shadow .15s;display:inline-flex}.type-chip:hover{box-shadow:0 0 0 3px var(--color-primary-subtle);border-color:#a5b4fc}.type-chip__note{color:var(--color-primary);background:var(--color-primary-subtle);border-radius:4px;padding:.1rem .4rem;font-size:.6875rem;font-weight:700}.type-chip--coming-soon{color:var(--color-text-muted);border-style:dashed}.site-nav{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);background:#ffffffeb;justify-content:space-between;align-items:center;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.site-nav__logo{color:var(--color-text);letter-spacing:-.02em;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;font-size:1.125rem;font-weight:700;text-decoration:none}.site-nav__links{align-items:center;gap:1.5rem;display:flex}.site-nav__link{color:var(--color-text-muted);font-size:.875rem;text-decoration:none;transition:color .15s}.site-nav__link:hover{color:var(--color-text)}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}@media (width<=640px){.grid-3{grid-template-columns:1fr}}.grid-2{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}@media (width<=768px){.grid-2{grid-template-columns:1fr;gap:2rem}}.section{padding:5rem 1.5rem}.section--alt{background:var(--color-bg)}.section--dark{color:#fff;background:#0f172a}.section__inner{max-width:960px;margin:0 auto}.section__label{color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem;font-size:.8125rem;font-weight:600}.section__title{letter-spacing:-.025em;margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:800}.section__subtitle{color:var(--color-text-muted);margin:0 0 3rem;font-size:1.0625rem;line-height:1.65}
