/* by Craig Buckler,craigbuckler.com */
:root{--color-fore1: #030405;--color-back1: #fff;--color-back2: #dde;--color-remove: #f99;--color-change: #99f;--color-create: #9f9;--color-error1: #c00;--color-error2: #fdd}*,*:before,*:after{box-sizing:border-box;font:inherit;padding:0;margin:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;image-rendering:-webkit-optimize-contrast}html:focus-within{scroll-behavior:smooth}body{font-family:system-ui,sans-serif;min-height:100vh;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-size:1em;font-weight:400;line-height:1.2;text-wrap:balance}a{text-decoration-skip-ink:auto;text-underline-offset:.15em}a:link,a:visited{color:var(--color-link1)}a:hover,a:focus,a:active{color:var(--color-link2)}strong{font-weight:700}img,picture{display:block;max-width:100%;height:auto}@media (prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1{font-size:clamp(1.2em,1em + .5vw,2rem)}p{font-size:clamp(1em,.8em + .5vw,1.5rem)}table{width:100%;font-variant-numeric:tabular-nums;border-spacing:0;border-collapse:collapse;empty-cells:show}td{text-align:left;vertical-align:top;padding-block:.25em;padding-inline:.5em 2em}tr{&.error{color:var(--color-error1);background-color:var(--color-error2)}&.remove{background-color:var(--color-remove)}&.change{background-color:var(--color-change)}&.create{background-color:var(--color-create)}}header{padding-block:.5em;padding-inline:1em;color:var(--color-back1);background-color:var(--color-fore1)}main{display:grid;grid-template-columns:1fr 1fr;gap:1em;margin:1em}textarea,#diff{font-family:Consolas,SF Mono,DejaVu Sans Mono,Roboto Mono,monospace;border:1px solid var(--color-fore1);border-radius:3px;outline:0 none}textarea{min-height:12em;resize:vertical;overflow:auto;&:focus{background-color:var(--color-back2)}}textarea,#diff h2{display:block;padding-block:.25em;padding-inline:.5em}textarea.error{color:var(--color-error1);background-color:var(--color-error2);border-color:var(--color-error1)}#diff{height:auto;grid-column:span 2;h2{color:var(--color-back1);background-color:var(--color-fore1)}}
