Contain the box model
Apply border-box sizing inside the preview root.
.css-doctor-root,
.css-doctor-root *,
.css-doctor-root *::before,
.css-doctor-root *::after {
box-sizing: border-box;
}Paste a component, expose hidden reliability risks, selectively repair its CSS, force product states, and mutate content before users do. Everything runs locally in isolated browser frames.
Add border-box sizing so padding and borders cannot silently expand components.
Provide a visible :focus-visible treatment for keyboard navigation.
Respect prefers-reduced-motion for people who disable non-essential animation.
Prefer inline-size with a max-inline-size: 100% safeguard.
Hidden overflow can conceal scaled text, focus rings, or translated content.
Add overflow-wrap: anywhere to content-bearing elements.
Accept only the safe changes you want. Context-dependent findings remain manual by design.
Apply border-box sizing inside the preview root.
.css-doctor-root,
.css-doctor-root *,
.css-doctor-root *::before,
.css-doctor-root *::after {
box-sizing: border-box;
}Create a visible focus ring with a forced-colors fallback.
.css-doctor-root :focus-visible {
outline: 3px solid #4f46e5;
outline-offset: 3px;
}
@media (forced-colors: active) {
.css-doctor-root :focus-visible {
outline-color: Highlight;
}
}Suppress non-essential animation when the user requests it.
@media (prefers-reduced-motion: reduce) {
.css-doctor-root *,
.css-doctor-root *::before,
.css-doctor-root *::after {
scroll-behavior: auto !important;
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}Convert large pixel widths to a bounded logical size.
width: 420px;
/* becomes */
inline-size: min(420px, 100%);Overflow may be part of the design, so CSSForge will not override it automatically.
/* Review overflow: hidden or clip manually. */Allow long words and URLs to wrap without widening the layout.
.css-doctor-root :where(p, h1, h2, h3, h4, h5, h6, a, button, code) {
overflow-wrap: anywhere;
}Force interaction and product states without changing your source.
Normal resting state
Replace polite demo content with the data that breaks real interfaces.
Adds an unbroken identifier
The repair layer adds resilient defaults without rewriting your source.
Five hostile environments run against the hardened version in isolated browser frames.
240px content area
200% text size
English copy in RTL flow
Unexpected dark canvas
Motion suppressed
Copy a plain-text snapshot for pull requests, issue trackers, or handoff notes.
No. Analysis, previews, project storage, and report generation all run locally in your browser.
No. It is a fast, deterministic early-warning score. Validate finished interfaces with real browsers, assistive technology, and representative content.
Only when you click Apply accepted fixes. Fix Diff shows each proposed change first and leaves context-dependent decisions for manual review.
CSS Doctor temporarily transforms the isolated preview DOM and CSS. Your editor source remains unchanged until you explicitly apply a repair.
Preview HTML is sanitized and rendered in opaque-origin sandboxed frames with a restrictive content security policy.