:root{font-family:Outfit,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--author-fs: 1rem;--quote-fs: 1.5rem;--tag-fs: .625rem;--card-bg: #20293a;--tag-text: #6466e9;--button-text: #4a5567;--button-border: #20293a;--quote-text: #97a3b6;--alert-time-bar-duration: 2.5s}@supports (font-variation-settings: normal){:root{font-family:Outfit Variable,sans-serif}}*{margin:0}*,*:before,*:after{box-sizing:border-box}body{display:flex;align-items:center;justify-content:center;margin:0;min-width:320px;min-height:100vh;min-height:100svh;background-color:#111729;color:#e5e7eb}@media(max-width:640px){:root{--quote-padding: 1.25rem}body{padding:1.5rem}}main{width:min(540px,100%)}.quote{display:flex;flex-direction:column;gap:12px;background-color:var(--card-bg);background-image:url(/dev-challenges/random-quote/bg-image-random-quote.svg);background-size:cover;background-position-x:right;border-radius:10px;padding:var(--quote-padding, 2rem);text-align:center}.quote[data-status=loading]{--quote-content-display: none}.quote:not(.quote[data-status=loading]){--spinner-display: none}.quote[data-status=error][data-error-replace=true]{--quote-content-display: none}.quote:not(.quote[data-status=error]){--quote-error-display: none}.quote[data-status=error]:not(.quote[data-error=validation]){--copy-error-display: none}.quote[data-status=error][data-error=validation]{--quote-content-display: none}.error{display:var(--quote-error-display);background-color:#f003;border-radius:8px;padding:.2em .5em;color:#f4c7c7;font-size:var(--quote-fs)}.quote__error{margin-bottom:.5rem}.error #copy-error{display:var(--copy-error-display, flex);align-items:center;gap:.5em;border:none;border-radius:inherit;background-color:#ff000059;padding:.25em .75em;margin-inline:auto;margin-bottom:.5rem;color:inherit;font-size:1.125rem;cursor:pointer}.error #copy-error:hover{background-color:#ff000080}.quote__loader{margin:0 auto}.quote__content{display:var(--quote-content-display, flex);flex-direction:column;gap:inherit}.quote__author{font-size:var(--author-fs)}.quote__tags{display:flex;justify-content:center;gap:8px;padding:0;font-size:var(--tag-fs);list-style:none}.quote__tag{padding:4px 12px;border-radius:9999px;color:var(--tag-text);outline:1px solid}.quote__text{font-size:var(--quote-fs);color:var(--quote-text)}.quote__text:before{content:"“"}.quote__text:after{content:"”"}.api-attribution{display:flex;justify-content:center}.api-attribution img{filter:invert(70%)}.actions{display:flex;justify-content:center;margin-top:16px;padding:0;list-style:none}.actions__btn{display:flex;align-items:center;padding:8px 12px;background:transparent;border:2px solid var(--button-border);border-radius:10px;color:var(--button-text);cursor:pointer}.actions__btn:hover{background:var(--button-border)}.actions__btn:disabled{cursor:not-allowed}.actions__btn#random-quote{border-right-width:1px;border-top-right-radius:0;border-bottom-right-radius:0}.actions__btn#copy-quote{border-left-width:1px;border-top-left-radius:0;border-bottom-left-radius:0}.spinner{--_delta: -.125;--_speed: 1.2s;--_color: currentColor;--_size: 40px;display:var(--spinner-display, inline-block);position:relative;width:var(--_size);aspect-ratio:1;margin-block:2rem}.spinner div{position:absolute;width:100%;aspect-ratio:1;border:calc(var(--_size) * .1) solid transparent;border-radius:50%;border-top-color:var(--_color);animation:ring-spinner var(--_speed) cubic-bezier(.5,0,.5,1) infinite}.spinner div:nth-child(1){animation-delay:calc(var(--_delta) * 3 * var(--_speed))}.spinner div:nth-child(2){animation-delay:calc(var(--_delta) * 2 * var(--_speed))}.spinner div:nth-child(3){animation-delay:calc(var(--_delta) * var(--_speed))}@keyframes ring-spinner{to{transform:rotate(360deg)}}.alert{--_movement-duration: .4s;--_bg: var(--alert-bg);--_time-bar-bg: var(--alert-time-bar-bg);position:fixed;top:1rem;right:1rem;border-radius:12px;padding:.75rem 1rem;background-color:var(--_bg);color:var(--alert-text, #e5e7eb);font-weight:600;visibility:hidden;overflow:hidden;z-index:var(--alert-z-index, 20);transform:translate(100%) translate(1rem);transition:transform var(--_movement-duration) ease-in-out}.alert--open{visibility:visible;transform:translate(0);--_animation-state: running}.alert--closing{visibility:visible}.alert[data-color=success]{--_bg: #1f3f3f;--_time-bar-bg: #77b255}.alert[data-color=error]{--_bg: #642d41;--_time-bar-bg: #b25577}.alert__time-bar{position:absolute;bottom:0;left:0;height:4px;width:100%;background:var(--_time-bar-bg);transform-origin:left center;animation:alert-time-bar var(--alert-time-bar-duration) linear forwards var(--_movement-duration) var(--_animation-state, paused)}@keyframes alert-time-bar{to{transform:scaleX(0)}}
