@charset "UTF-8"; /*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/ html { line-height: 1.15; -webkit-text-size-adjust: 100% } body { margin: 0 } main { display: block } h1 { font-size: 2em; margin: .67em 0 } hr { box-sizing: content-box; height: 0; overflow: visible } pre { font-family: monospace, monospace; font-size: 1em } a { background-color: transparent } abbr[title] { border-bottom: none; text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted } code, kbd, samp { font-family: monospace, monospace; font-size: 1em } img { border-style: none } button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0 } button, input { overflow: visible } button, [type=button], [type=reset], [type=submit] { -webkit-appearance: button } button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner { border-style: none; padding: 0 } button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring { outline: 1px dotted ButtonText } fieldset { padding: .35em .75em .625em } legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal } textarea { overflow: auto } [type=checkbox], [type=radio] { box-sizing: border-box; padding: 0 } [type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { height: auto } [type=search]::-webkit-search-decoration { -webkit-appearance: none } details { display: block } template { display: none } :root { --max-width: 1600px; --gap: 2rem; --main-gradient: linear-gradient(130deg, #24c6dc, #5433ff 41.07%, #ff0099 76.05%); --theme-transition: all .25s ease } .theme-light { --background-primary: #f1f3f9; --background-primary-alt: #fafafa; --background-secondary: #ffffff; --background-secondary-alt: #2e3236; --background-trans: rgba(0, 0, 0, .15); --text-bright: #000000; --text-normal: #333333; --text-accent: #e93796; --text-sub-accent: #547ce7; --text-faint: #b2b2b2; --text-dim: #858585; --text-title-h1: #333; --text-title-h2: #333; --text-title-h3: #333; --text-title-h4: #333; --text-title-h5: #333; --text-link: #b4b4b4; --text-a: #db4d52; --text-a-hover: #db4d52; --bg-accent-55: rgba(244, 86, 157, .55); --bg-sub-accent-55: rgba(13, 185, 215, .55); --bg-accent-05: rgba(244, 86, 157, .05); --strong-gradient: linear-gradient(62deg, #188bfd 0%, #a03bff 100%) !important; --gradient-cover: linear-gradient(90deg, hsla(0, 0%, 98%, 0) 0, hsla(0, 0%, 98%, .013) 8.1%, hsla(0, 0%, 98%, .049) 15.5%, hsla(0, 0%, 98%, .104) 22.5%, hsla(0, 0%, 98%, .175) 29%, hsla(0, 0%, 98%, .259) 35.3%, hsla(0, 0%, 98%, .352) 41.2%, hsla(0, 0%, 98%, .45) 47.1%, hsla(0, 0%, 98%, .55) 52.9%, hsla(0, 0%, 98%, .648) 58.8%, hsla(0, 0%, 98%, .741) 64.7%, hsla(0, 0%, 98%, .825) 71%, hsla(0, 0%, 98%, .896) 77.5%, hsla(0, 0%, 98%, .951) 84.5%, hsla(0, 0%, 98%, .987) 91.9%, var(--background-secondary)); --article-cover: linear-gradient(180deg, hsla(0, 0%, 98%, 0) 0, hsla(0, 0%, 98%, .013) 8.1%, hsla(0, 0%, 98%, .049) 15.5%, hsla(0, 0%, 98%, .104) 22.5%, hsla(0, 0%, 98%, .175) 29%, hsla(0, 0%, 98%, .259) 35.3%, hsla(0, 0%, 98%, .352) 41.2%, hsla(0, 0%, 98%, .45) 47.1%, hsla(0, 0%, 98%, .55) 52.9%, hsla(0, 0%, 98%, .648) 58.8%, hsla(0, 0%, 98%, .741) 64.7%, hsla(0, 0%, 98%, .825) 71%, hsla(0, 0%, 98%, .896) 77.5%, hsla(0, 0%, 98%, .951) 84.5%, hsla(0, 0%, 98%, .987) 91.9%, var(--background-secondary)); --banner-cover: linear-gradient(180deg, hsla(225, 40%, 96%, 0) 0, hsla(225, 40%, 96%, .013) 8.1%, hsla(225, 40%, 96%, .049) 15.5%, hsla(225, 40%, 96%, .104) 22.5%, hsla(225, 40%, 96%, .175) 29%, hsla(225, 40%, 96%, .259) 35.3%, hsla(225, 40%, 96%, .352) 41.2%, hsla(225, 40%, 96%, .45) 47.1%, hsla(225, 40%, 96%, .55) 52.9%, hsla(225, 40%, 96%, .648) 58.8%, hsla(225, 40%, 96%, .741) 64.7%, hsla(225, 40%, 96%, .825) 71%, hsla(225, 40%, 96%, .896) 77.5%, hsla(225, 40%, 96%, .951) 84.5%, hsla(225, 40%, 96%, .987) 91.9%, var(--background-primary)); --nav-cover: linear-gradient(90deg, hsla(225, 40%, 96%, 0) 0, hsla(225, 40%, 96%, .013) 8.1%, hsla(225, 40%, 96%, .049) 15.5%, hsla(225, 40%, 96%, .104) 22.5%, hsla(225, 40%, 96%, .175) 29%, hsla(225, 40%, 96%, .259) 35.3%, hsla(225, 40%, 96%, .352) 41.2%, hsla(225, 40%, 96%, .45) 47.1%, hsla(225, 40%, 96%, .55) 52.9%, hsla(225, 40%, 96%, .648) 58.8%, hsla(225, 40%, 96%, .741) 64.7%, hsla(225, 40%, 96%, .825) 71%, hsla(225, 40%, 96%, .896) 77.5%, hsla(225, 40%, 96%, .951) 84.5%, hsla(225, 40%, 96%, .987) 91.9%, var(--background-primary)); --trans-ease: all .25s ease; --accent-shadow: 0 20px 25px -5px rgba(232, 57, 255, .06), 0 10px 10px -5px rgba(53, 11, 59, .1); --sub-accent-shadow: 0 20px 25px -5px rgba(71, 190, 255, .06), 0 10px 10px -5px rgba(11, 42, 59, .1); --search-modal-key-gradient: linear-gradient(-225deg, #d5dbe4, #f8f8f8); --search-modal-key-shadow: inset 0 -2px 0 0 #cdcde6, inset 0 0 1px 1px #fff, 0 1px 2px 1px rgba(30, 35, 90, .4); --custom-quote-tip: #7343d5; --custom-quote-warning: #e98503; --custom-quote-danger: #dd2500; --custom-quote: #e93796 } .theme-dark { --background-primary: #1a1a1a; --background-primary-alt: #0d0b12; --background-secondary: #212121; --background-secondary-alt: #0d0b12; --background-trans: rgba(255, 255, 255, .15); --skeleton-bg: #2e2e2e; --skeleton-hl: #363636; --text-bright: #fff; --text-normal: #bebebe; --text-accent: #0fb6d6; --text-sub-accent: #f4569d; --text-dim: #6d6d6d; --text-faint: #7aa2f7; --text-title-h1: var(--text-accent); --text-title-h2: #cbdbe5; --text-title-h3: #cbdbe5; --text-title-h4: #cbdbe5; --text-title-h5: #cbdbe5; --text-link: #b4b4b4; --text-a: #6bcafb; --text-a-hover: #6bcafb; --bg-sub-accent-55: rgba(244, 86, 157, .55); --bg-accent-55: rgba(13, 185, 215, .55); --bg-accent-05: rgba(14, 210, 247, .05); --strong-gradient: linear-gradient(62deg, #87c2fd 0%, #dcb9fc 100%) !important; --gradient-cover: linear-gradient(90deg, hsla(0, 0%, 13%, 0) 0, hsla(0, 0%, 13%, .013) 8.1%, hsla(0, 0%, 13%, .049) 15.5%, hsla(0, 0%, 13%, .104) 22.5%, hsla(0, 0%, 13%, .175) 29%, hsla(0, 0%, 13%, .259) 35.3%, hsla(0, 0%, 13%, .352) 41.2%, hsla(0, 0%, 13%, .45) 47.1%, hsla(0, 0%, 13%, .55) 52.9%, hsla(0, 0%, 13%, .648) 58.8%, hsla(0, 0%, 13%, .741) 64.7%, hsla(0, 0%, 13%, .825) 71%, hsla(0, 0%, 13%, .896) 77.5%, hsla(0, 0%, 13%, .951) 84.5%, hsla(00, 0%, 13%, .987) 91.9%, var(--background-secondary)); --article-cover: linear-gradient(180deg, hsla(0, 0%, 13%, 0) 0, hsla(0, 0%, 13%, .013) 8.1%, hsla(0, 0%, 13%, .049) 15.5%, hsla(0, 0%, 13%, .104) 22.5%, hsla(0, 0%, 13%, .175) 29%, hsla(0, 0%, 13%, .259) 35.3%, hsla(0, 0%, 13%, .352) 41.2%, hsla(0, 0%, 13%, .45) 47.1%, hsla(0, 0%, 13%, .55) 52.9%, hsla(0, 0%, 13%, .648) 58.8%, hsla(0, 0%, 13%, .741) 64.7%, hsla(0, 0%, 13%, .825) 71%, hsla(0, 0%, 13%, .896) 77.5%, hsla(0, 0%, 13%, .951) 84.5%, hsla(00, 0%, 13%, .987) 91.9%, var(--background-secondary)); --banner-cover: linear-gradient(180deg, hsla(0, 0%, 10%, 0) 0, hsla(0, 0%, 10%, .01) 8.1%, hsla(0, 0%, 10%, .049) 15.5%, hsla(0, 0%, 10%, .104) 22.5%, hsla(0, 0%, 10%, .175) 29%, hsla(0, 0%, 10%, .259) 35.3%, hsla(0, 0%, 10%, .352) 41.2%, hsla(0, 0%, 10%, .45) 47.1%, hsla(0, 0%, 10%, .55) 52.9%, hsla(0, 0%, 10%, .648) 58.8%, hsla(0, 0%, 10%, .741) 64.7%, hsla(0, 0%, 10%, .825) 71%, hsla(0, 0%, 10%, .896) 77.5%, hsla(0, 0%, 10%, .951) 84.5%, hsla(00, 0%, 10%, .987) 91.9%, var(--background-primary)); --nav-cover: linear-gradient(90deg, hsla(0, 0%, 10%, 0) 0, hsla(0, 0%, 10%, .01) 8.1%, hsla(0, 0%, 10%, .049) 15.5%, hsla(0, 0%, 10%, .104) 22.5%, hsla(0, 0%, 10%, .175) 29%, hsla(0, 0%, 10%, .259) 35.3%, hsla(0, 0%, 10%, .352) 41.2%, hsla(0, 0%, 10%, .45) 47.1%, hsla(0, 0%, 10%, .55) 52.9%, hsla(0, 0%, 10%, .648) 58.8%, hsla(0, 0%, 10%, .741) 64.7%, hsla(0, 0%, 10%, .825) 71%, hsla(0, 0%, 10%, .896) 77.5%, hsla(0, 0%, 10%, .951) 84.5%, hsla(00, 0%, 10%, .987) 91.9%, var(--background-primary)); --trans-ease: all .25s ease; --accent-shadow: 0 20px 25px -5px rgba(11, 42, 59, .35), 0 10px 10px -5px rgba(11, 42, 59, .14); --sub-accent-shadow: 0 20px 25px -5px rgba(53, 11, 59, .35), 0 10px 10px -5px rgba(53, 11, 59, .14); --search-modal-key-gradient: linear-gradient(-225deg, #3f3e3e, #2c2c2c); --search-modal-key-shadow: inset 0 -2px 0 0 #363636, inset 0 0 1px 1px #2e2e2e, 0 1px 2px 1px rgba(30, 35, 90, .4); --custom-quote-tip: #8d53ff; --custom-quote-warning: #cbcb00; --custom-quote-danger: #dd2500; --custom-quote: #5dc3d9 } .ob-text-bright { color: var(--text-bright) } .ob-drop-shadow { filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .3)) } .ob-hz-thumbnail { max-width: 120% } .ob-gradient-plate { width: calc(100% - .5rem); height: calc(100% - .5rem); margin: .25rem } .ob-gradient-cut-plate { top: 8%; width: calc(100% - .5rem); height: calc(92% - .5rem); margin: .25rem } .ob-avatar { margin: 0; height: 7rem; width: 7rem; --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } .footer-avatar { margin: 0; height: 5rem; width: 5rem; opacity: .4; --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } .diamond-avatar { -webkit-clip-path: polygon(50% 3%, 91% 25%, 91% 75%, 50% 97%, 9% 75%, 9% 25%); clip-path: polygon(50% 3%, 91% 25%, 91% 75%, 50% 97%, 9% 75%, 9% 25%) } .circle-avatar { border-radius: 9999px; border-color: var(--background-primary); border-width: 6px } .rounded-avatar { border-radius: 1rem; border-color: var(--background-primary); border-width: 6px } .animation-text { -webkit-background-clip: text; -webkit-text-fill-color: transparent; -webkit-box-decoration-break: clone; background-color: #ccc; background-image: linear-gradient(90deg, #cccccc, #ffffff, #cccccc); animation: 1.5s ease-in-out 0s infinite normal none running SkeletonLoading } .main-grid, .inverted-main-grid { display: flex; flex-direction: column } @media (min-width: 1024px) { .main-grid { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr) 320px } .inverted-main-grid { display: grid; gap: var(--gap); grid-template-columns: 245px minmax(0, 1fr) } } .tab { margin-bottom: 2rem; display: flex; flex-direction: row; flex-wrap: wrap; overflow-y: hidden; border-radius: 1rem; background-color: var(--background-secondary); padding-left: 1.5rem; padding-right: 3rem; --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); height: 3.5rem; transition: height .4s ease } .tab.expanded-tab { overflow-y: initial; height: auto } .tab li { margin-top: 1rem; margin-bottom: 1rem; margin-right: .75rem; cursor: pointer } .tab li:hover { opacity: .5 } .tab li.active { --tw-text-opacity: 1; color: rgb(255 255 255/var(--tw-text-opacity)); --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); text-shadow: 0 2px 2px rgba(0, 0, 0, .5) } .tab li span { white-space: nowrap; border-top-left-radius: .375rem; border-bottom-left-radius: .375rem; background-color: var(--background-primary); padding: .5rem .75rem; text-align: center; font-size: .875rem; line-height: 1.25rem } .tab li span.first-tab { border-radius: .375rem; padding-left: 1.5rem; padding-right: 1.5rem } .tab li b { white-space: nowrap; border-top-right-radius: .375rem; border-bottom-right-radius: .375rem; background-color: var(--background-primary); padding: .5rem; text-align: center; font-size: .875rem; line-height: 1.25rem; color: var(--text-accent); opacity: .7 } .tab-expander { position: absolute; right: 1.25rem; top: 1.25rem; cursor: pointer; stroke: currentColor; color: var(--text-bright); opacity: .8 } .tab-expander:hover { opacity: .5 } .tab-expander svg { transition: transform .4s ease } .tab-expander.expanded svg { transform: rotate(180deg) } #loading-bar-wrapper #nprogress { pointer-events: none } #loading-bar-wrapper #nprogress .bar { background: var(--main-gradient); position: absolute; z-index: 3000; top: 0; left: 0; width: 100%; height: 8px } #loading-bar-wrapper #nprogress .peg { display: none; position: absolute; right: 0; width: 100px; height: 8px; opacity: 0; box-shadow: none; transform: rotate(3deg) translateY(-4px) } #loading-bar-wrapper #nprogress .spinner { display: block; position: fixed; z-index: 3000; top: 15px; right: 15px } #loading-bar-wrapper #nprogress .spinner-icon { width: 18px; height: 18px; box-sizing: border-box; border: 2px solid transparent; border-top-color: var(--text-accent); border-left-color: var(--text-accent); border-radius: 50%; animation: nprogress-spinner .4s linear infinite } #loading-bar-wrapper { position: fixed; width: 100px; top: 8px; left: 50%; transform: translate(-50%); height: 8px; border-radius: 8px; z-index: 2000; background: 0 0; overflow: hidden } #loading-bar-wrapper.nprogress-custom-parent { background: var(--background-secondary); box-shadow: 0 1px 2px #0000001a } a { transition-property: all; transition-timing-function: cubic-bezier(.4, 0, .2, 1); transition-duration: .15s } a:hover { opacity: .5 } /*!tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/ *, :before, :after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: #e5e7eb } :before, :after { --tw-content: "" } html { line-height: 1.5; -webkit-text-size-adjust: 100%; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, apple color emoji, segoe ui emoji, Segoe UI Symbol, noto color emoji; font-feature-settings: normal; font-variation-settings: normal } body { margin: 0; line-height: inherit } hr { height: 0; color: inherit; border-top-width: 1px } abbr:where([title]) { -webkit-text-decoration: underline dotted; text-decoration: underline dotted } h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit } a { color: inherit; text-decoration: inherit } b, strong { font-weight: bolder } code, kbd, samp, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; font-size: 1em } small { font-size: 80% } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline } sub { bottom: -.25em } sup { top: -.5em } table { text-indent: 0; border-color: inherit; border-collapse: collapse } button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; color: inherit; margin: 0; padding: 0 } button, select { text-transform: none } button, [type=button], [type=reset], [type=submit] { -webkit-appearance: button; background-color: transparent; background-image: none } :-moz-focusring { outline: auto } :-moz-ui-invalid { box-shadow: none } progress { vertical-align: baseline } ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto } [type=search] { -webkit-appearance: textfield; outline-offset: -2px } ::-webkit-search-decoration { -webkit-appearance: none } ::-webkit-file-upload-button { -webkit-appearance: button; font: inherit } summary { display: list-item } blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0 } fieldset { margin: 0; padding: 0 } legend { padding: 0 } ol, ul, menu { list-style: none; margin: 0; padding: 0 } textarea { resize: vertical } input::-moz-placeholder, textarea::-moz-placeholder { opacity: 1; color: #9ca3af } input::placeholder, textarea::placeholder { opacity: 1; color: #9ca3af } button, [role=button] { cursor: pointer } :disabled { cursor: default } img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle } img, video { max-width: 100%; height: auto } [hidden] { display: none } *, :before, :after { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; } ::backdrop { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / .5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; } .container { width: 100% } @media (min-width: 640px) { .container { max-width: 640px } } @media (min-width: 768px) { .container { max-width: 768px } } @media (min-width: 1024px) { .container { max-width: 1024px } } @media (min-width: 1280px) { .container { max-width: 1280px } } @media (min-width: 1536px) { .container { max-width: 1536px } } .article-container { position: relative; height: 100%; list-style-type: none; border-radius: 1rem } .article-container:hover .article-tag { transform: translateY(-60%) } .article-container:hover .article, .article-container:hover .feature-article { transform: scale(1.015) } .article-container .article-tag { position: absolute; left: 1.5rem; top: -.25rem; display: flex; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); align-items: flex-start; border-radius: .375rem; padding: .25rem .25rem .75rem; font-size: .875rem; line-height: 1.25rem; font-weight: 700; text-transform: uppercase; --tw-text-opacity: 1; color: rgb(255 255 255/var(--tw-text-opacity)); --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); background: var(--main-gradient); z-index: 0; transition: transform .2s ease-in-out } .article-container .article-tag > b { border-radius: .25rem; stroke: currentColor; padding: .25rem .75rem; --tw-text-opacity: 1; color: rgb(255 255 255/var(--tw-text-opacity)); width: 100%; height: 100%; text-shadow: 0 2px 2px rgba(0, 0, 0, .5); background: rgba(0, 0, 0, .5) } .article { position: relative; top: 0; z-index: 10; display: grid; height: 100%; grid-template-rows: repeat(3, minmax(0, 1fr)); overflow: hidden; border-radius: 1rem; background-color: var(--background-secondary); --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); transition: transform .2s ease-in-out } .article .article-thumbnail { position: relative; grid-row: span 1/span 1 } .article .article-thumbnail img { position: absolute; z-index: 20; display: block; height: 120%; width: 100%; border-radius: 1rem; background-size: cover; background-repeat: no-repeat; -o-object-fit: cover; object-fit: cover } .article .article-thumbnail .thumbnail-screen { pointer-events: none; position: absolute; left: 0; z-index: 30; height: 120%; width: 100%; opacity: .4; max-width: 120%; mix-blend-mode: screen } .article .article-thumbnail:after { pointer-events: none; content: ""; position: absolute; z-index: 35; top: 13%; left: 0; height: 120%; width: 100%; background: var(--article-cover) } .article .article-content { position: relative; z-index: 40; grid-row: span 2/span 2; display: flex; flex-direction: column; background-color: transparent; padding-left: 1.5rem; padding-right: 1.5rem; padding-bottom: 1.5rem } .article .article-content span { filter: drop-shadow(0 2px 1px rgba(0, 0, 0, .1)) } .article .article-content span b { font-size: .75rem; line-height: 1rem; text-transform: uppercase; color: var(--text-accent) } .article .article-content span ul { display: inline-flex; padding-left: 1rem; font-size: .75rem; line-height: 1rem } .article .article-content span ul li { margin-right: .75rem } .article .article-content h1 { margin-bottom: 1.5rem; font-size: 1.5rem; line-height: 2rem; font-weight: 800; color: var(--text-bright) } @media (min-width: 1024px) { .article .article-content h1 { margin-top: 1rem; margin-bottom: 2rem } } .article .article-content p { margin-bottom: .5rem; padding-bottom: 1rem; font-size: .875rem; line-height: 1.25rem } @media (min-width: 1024px) { .article .article-content p { margin-bottom: .5rem; padding-bottom: 1.5rem; font-size: 1rem; line-height: 1.5rem } } .article .article-content .article-footer { display: flex; width: 100%; flex: 1 1 0%; align-content: flex-end; align-items: flex-end; justify-content: flex-start; font-size: .875rem; line-height: 1.25rem } .article .article-content .article-footer img { margin-right: .5rem; border-radius: 9999px; height: 28px; width: 28px } .feature-article { position: relative; top: 0; z-index: 10; display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); overflow: hidden; border-radius: 1rem; background-color: var(--background-secondary); --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } @media (min-width: 1024px) { .feature-article { height: 28rem; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none } } .feature-article { transition: transform .2s ease-in-out } .feature-article .feature-thumbnail { position: relative; grid-row: span 1/span 1 } @media (min-width: 1024px) { .feature-article .feature-thumbnail { grid-row: auto } } .feature-article .feature-thumbnail img { position: absolute; left: 0; z-index: 20; display: block; height: 120%; width: 100%; background-size: cover; background-repeat: no-repeat; -o-object-fit: cover; object-fit: cover } @media (min-width: 1024px) { .feature-article .feature-thumbnail img { height: 28rem; width: 120% } } .feature-article .feature-thumbnail span { pointer-events: none; position: absolute; left: 0; z-index: 30; height: 120%; width: 100%; opacity: .4 } @media (min-width: 1024px) { .feature-article .feature-thumbnail span { height: 28rem; width: 120% } } .feature-article .feature-thumbnail:after { pointer-events: none; content: ""; position: absolute; z-index: 35; left: 71%; top: 0; height: 100%; width: 50%; background: var(--gradient-cover) } .feature-article .feature-content { position: relative; z-index: 40; grid-row: span 2/span 2; display: flex; flex-direction: column; padding-left: 1.5rem; padding-right: 1.5rem; padding-bottom: 1.5rem } @media (min-width: 1024px) { .feature-article .feature-content { grid-row: auto; padding: 3rem } } .feature-article .feature-content b { text-transform: uppercase; color: var(--text-accent) } .feature-article .feature-content ul { display: inline-flex; padding-left: 1rem } .feature-article .feature-content ul li { margin-right: .75rem } .feature-article .feature-content h1 { margin-bottom: 1.5rem; font-size: 1.5rem; line-height: 2rem; font-weight: 800; color: var(--text-bright) } @media (min-width: 1024px) { .feature-article .feature-content h1 { margin-top: 1rem; margin-bottom: 2rem; font-size: 2.25rem; line-height: 2.5rem } } .feature-article .feature-content p { margin-bottom: .5rem; padding-bottom: 1rem; font-size: 1rem; line-height: 1.5rem } @media (min-width: 1024px) { .feature-article .feature-content p { margin-bottom: .5rem; padding-bottom: 1.5rem; font-size: 1.125rem; line-height: 1.75rem } } .feature-article .feature-content .article-footer { display: flex; width: 100%; flex: 1 1 0%; align-content: flex-end; align-items: flex-end; justify-content: flex-start; font-size: .875rem; line-height: 1.25rem } .feature-article .feature-content .article-footer img { margin-right: .5rem; border-radius: 9999px; height: 28px; width: 28px } .thumbnail-screen { max-width: 120%; mix-blend-mode: screen } @media (max-width: 1023px) { .feature-article > div:first-of-type:after { top: 13%; left: 0; height: 120%; width: 100%; background: var(--article-cover) } } .post-html { margin-bottom: 2rem; border-radius: 1rem; background-color: var(--background-secondary); padding: 1rem; --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } @media (min-width: 1024px) { .post-html { margin-bottom: 0; padding: 3.5rem } } .post-html h1, .post-html h2, .post-html h3, .post-html h4, .post-html h5, .post-html h6 { position: relative; margin-bottom: 1rem; display: flex; align-items: center; padding-top: 1.75rem; padding-bottom: .5rem; color: var(--text-bright); font-weight: 600 } .post-html h1:after, .post-html h2:after, .post-html h3:after, .post-html h4:after, .post-html h5:after, .post-html h6:after { position: absolute; bottom: 0; height: .25rem; width: 6rem; border-radius: 9999px; content: ""; background: var(--main-gradient) } .post-html h1 { font-size: 1.875rem; line-height: 2.25rem } @media (min-width: 1024px) { .post-html h1 { font-size: 2.25rem; line-height: 2.5rem } } .post-html h2 { font-size: 1.5rem; line-height: 2rem } @media (min-width: 1024px) { .post-html h2 { font-size: 1.875rem; line-height: 2.25rem } } .post-html h3 { font-size: 1.25rem; line-height: 1.75rem } @media (min-width: 1024px) { .post-html h3 { font-size: 1.5rem; line-height: 2rem } } .post-html h4 { font-size: 1.125rem; line-height: 1.75rem } @media (min-width: 1024px) { .post-html h4 { font-size: 1.25rem; line-height: 1.75rem } } .post-html h5 { font-size: 1rem; line-height: 1.5rem } @media (min-width: 1024px) { .post-html h5 { font-size: 1.125rem; line-height: 1.75rem } } .post-html h6 { font-size: 1rem; line-height: 1.5rem } .post-html p { margin-top: 1.5rem; margin-bottom: 1.5rem; overflow-wrap: break-word } .post-html ul { margin: 1.5rem 0 } .post-html ul ul { position: relative; margin: 0 } .post-html ul > li > ul:before { content: ""; border-left: 1px solid var(--text-accent); position: absolute; opacity: .35; left: -1em; top: 0; bottom: 0 } .post-html ul li, .post-html ol li { margin-left: 2rem } .post-html ul, .post-html ul ul, .post-html ol ul, .post-html ul ul ul, .post-html ol ul ul { list-style: none } .post-html li > p { display: inline-block; margin-top: 0; margin-bottom: 0 } .post-html ul li:before { content: "•"; color: var(--text-accent); display: inline-block; width: 1em; margin-left: -1.15em; padding: 0; font-weight: 700; text-shadow: 0 0 .5em var(--accent-2) } .post-html ul ul li:before { content: "•" } .post-html ul ul ul li:before { content: "•" } .post-html ol { list-style: none; counter-reset: li; word-break: break-all; } .post-html ol > li { counter-increment: li } .post-html ol > li:before, .post-html ul ol > li:before, .post-html ul ul ol > li:before, .post-html ul ul ul ol > li:before { content: "." counter(li); color: var(--text-accent); font-weight: 400; display: inline-block; width: 1em; margin-left: -1.5em; margin-right: .5em; text-align: right; direction: rtl; overflow: visible; word-break: keep-all; white-space: nowrap } .post-html blockquote { -webkit-margin-start: 0; margin-inline-start: 0 } .post-html .custom-quote, .post-html blockquote { position: relative; padding: .5rem 1rem .5rem 2rem; color: var(--text-normal); border-top-right-radius: 5px; border-bottom-right-radius: 5px; margin-bottom: 2em; margin-top: 2em; margin-right: 0 !important; border-left: 3px var(--text-accent) solid; border-top: transparent; border-bottom: transparent; border-right: transparent; background: linear-gradient(135deg, var(--background-primary), var(--background-primary) 41.07%, var(--background-secondary) 76.05%, var(--background-secondary)) } .post-html .custom-quote:before, .post-html blockquote:before { content: ""; position: absolute; top: 0; left: 0; height: 2px; width: 76%; background: linear-gradient(90deg, var(--text-accent), var(--background-secondary) 76.05%) } .post-html .custom-quote:after, .post-html blockquote:after { content: ""; position: absolute; bottom: 0; left: 0; height: 2px; width: 45%; background: linear-gradient(90deg, var(--text-accent), var(--background-primary) 45%) } .post-html .custom-quote-svg, .post-html .custom-blockquote-svg { display: flex; justify-content: center; align-items: center; position: absolute; top: -.65rem; left: -1rem; height: 2.3rem; width: 2.3rem; fill: currentColor; stroke: var(--background-secondary); overflow: hidden } .post-html .custom-quote-svg svg, .post-html .custom-blockquote-svg svg { height: 100%; width: 100% } .post-html .custom-blockquote-svg { color: var(--text-accent) } .post-html .custom-quote.tip .custom-quote-svg { color: var(--custom-quote-tip) } .post-html .custom-quote.tip { border-left: 3px solid var(--custom-quote-tip) !important } .post-html .custom-quote.tip .custom-quote-title { color: var(--custom-quote-tip) } .post-html .custom-quote.tip:before { background: linear-gradient(90deg, var(--custom-quote-tip), var(--background-primary)) } .post-html .custom-quote.tip:after { background: linear-gradient(90deg, var(--custom-quote-tip), var(--background-primary)) } .post-html .custom-quote.warning .custom-quote-svg { color: var(--custom-quote-warning) } .post-html .custom-quote.warning { border-left: 3px solid var(--custom-quote-warning) !important } .post-html .custom-quote.warning .custom-quote-title { color: var(--custom-quote-warning) } .post-html .custom-quote.warning:before { background: linear-gradient(90deg, var(--custom-quote-warning), var(--background-primary)) } .post-html .custom-quote.warning:after { background: linear-gradient(90deg, var(--custom-quote-warning), var(--background-primary)) } .post-html .custom-quote.danger .custom-quote-svg { color: var(--custom-quote-danger) } .post-html .custom-quote.danger { border-left: 3px solid var(--custom-quote-danger) !important } .post-html .custom-quote.danger .custom-quote-title { color: var(--custom-quote-danger) } .post-html .custom-quote.danger:before { background: linear-gradient(90deg, var(--custom-quote-danger), var(--background-primary)) } .post-html .custom-quote.danger:after { background: linear-gradient(90deg, var(--custom-quote-danger), var(--background-primary)) } .post-html .custom-details { border-radius: .75rem; padding: 1rem; background: linear-gradient(135deg, var(--background-primary), var(--background-primary) 41.07%, var(--background-secondary) 76.05%, var(--background-secondary)) } .post-html .custom-details summary { cursor: pointer; border-radius: .5rem; transition-property: all; transition-timing-function: cubic-bezier(.4, 0, .2, 1); transition-duration: .15s; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; padding: .5rem 1.2rem; background: linear-gradient(135deg, var(--bg-accent-55), transparent 46.07%); opacity: 1 } .post-html .custom-details summary:hover { opacity: .6 } .post-html strong { -webkit-background-clip: text; -webkit-text-fill-color: transparent; padding: 0 .1rem; color: #7aa2f7; background-color: #7aa2f7; background-image: var(--strong-gradient) } .post-html strong::-moz-selection { -webkit-text-fill-color: var(--text-faint) } .post-html strong::selection { -webkit-text-fill-color: var(--text-faint) } .post-html table { border-collapse: collapse; margin: 1rem 0; display: block; overflow-x: auto } .post-html th { border: 1px solid var(--background-primary-alt) !important; background-color: var(--background-secondary) } .post-html td, .post-html th { border: 1px solid var(--background-primary-alt) !important; padding: .6em 1em } .post-html tr { border-top: 1px solid var(--background-primary-alt) !important; background-color: var(--background-primary) } .post-html tr:nth-child(2n) { background-color: var(--background-secondary) } .post-html em { color: #bb9af7 !important; font-family: OperatorMonoSSmLig-Book, Rubik !important } .post-html a { text-shadow: -1px -1px 2px var(--background-primary), -1px 1px 2px var(--background-primary), 1px -1px 2px var(--background-primary), 1px 1px 2px var(--background-primary); -webkit-text-fill-color: var(--text-bright); background-position: 0 100%; background-repeat: repeat-x; background-size: 5px 5px; text-decoration: none; transition: all .35s ease; background-image: linear-gradient(to bottom, var(--bg-sub-accent-55) 0%, var(--bg-sub-accent-55) 100%) } .post-html a strong { -webkit-background-clip: initial; -webkit-text-fill-color: initial; color: inherit; background-color: initial; background-image: none } .post-html a:hover { text-shadow: -1px -1px 2px var(--background-modifier-border), -1px 1px 2px var(--background-modifier-border), 1px -1px 2px var(--background-modifier-border), 1px 1px 2px var(--background-modifier-border); -webkit-text-fill-color: var(--text-bright); background-size: 4px 50px } .post-html svg { display: inline-block } .post-html hr { position: relative; -webkit-margin-before: 0; margin-block-start: 0; -webkit-margin-after: 0; margin-block-end: 0; border: none; height: 1px; padding: 2.5em 0 } .post-html hr:before { content: "§"; display: inline-block; position: absolute; left: 50%; transform: translate(-50%, -44%) rotate(60deg); transform-origin: 50% 50%; padding: .25rem; color: var(--text-sub-accent); background-color: var(--background-secondary); z-index: 10; border-radius: 60% } .post-html hr:after { position: absolute; content: ""; top: 0; left: 50%; transform: translate(-50%); background: var(--main-gradient); height: 3px; width: 26%; border-radius: 9999px; opacity: .26; margin: 2.5em auto } .post-html pre { overflow: auto !important; overflow-wrap: normal !important } .post-html pre code { padding: 0 } .post-html code:not([class^=language-]) { color: var(--text-normal); margin: 0; font-size: .85em; border-radius: 3px; overflow-wrap: break-word; background-color: var(--bg-accent-05); word-wrap: break-word; padding: .1rem .3rem; border-radius: .3rem; color: var(--text-accent) !important } .post-header { margin-bottom: 1rem } .post-header .post-labels { position: relative; bottom: -.375rem } .post-header .post-labels > b { display: inline-flex; border-radius: .375rem; padding: .125rem; font-size: .75rem; line-height: 1rem; text-transform: uppercase; --tw-text-opacity: 1; color: rgb(255 255 255/var(--tw-text-opacity)); opacity: .9; text-shadow: 0 2px 2px rgba(0, 0, 0, .5) } .post-header .post-labels ul { display: inline-flex; padding-left: .5rem } .post-header .post-labels ul li { margin-right: .75rem; font-size: .875rem; line-height: 1.25rem; --tw-text-opacity: 1; color: rgb(255 255 255/var(--tw-text-opacity)); opacity: .7; text-shadow: 0 2px 2px rgba(0, 0, 0, .5) } .post-header .post-title { margin-top: .5rem; margin-bottom: 1rem; font-size: clamp(1.2rem, 1rem + 3.5vw, 4rem); text-shadow: 0 2px 2px rgba(0, 0, 0, .5); line-height: 1.1 } .post-header .post-stats { margin-right: 1rem; display: none; flex-direction: row; font-size: .875rem; line-height: 1.25rem } @media (min-width: 1024px) { .post-header .post-stats { display: flex; font-size: 1rem; line-height: 1.5rem } } .post-header .post-stats > span { display: flex; flex-direction: row; align-items: center; stroke: currentColor; padding-right: 1rem; --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); opacity: .8 } .post-footer { margin-right: 1rem; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; font-size: .875rem; line-height: 1.25rem } @media (min-width: 1024px) { .post-footer { font-size: 1rem; line-height: 1.5rem } } .post-footer img { margin-right: .5rem; border-radius: 9999px; height: 28px; width: 28px } .sidebar-box { position: relative; margin-bottom: 2rem; width: 100%; border-radius: 1rem; background-color: var(--background-secondary); padding: 2rem; --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } .modal--active { overflow: hidden !important } #search-modal { --search-modal-height: 600px; --search-modal-searchbox-height: 56px; --search-modal-spacing: 12px; --search-modal-footer-height: 44px; position: fixed; top: 0; left: 0; height: 100vh; width: 100vw; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(.4, 0, .2, 1); transition-duration: .15s; background-color: #1a1a1acc; z-index: 250 } #search-modal .search-container { position: relative; margin-top: 4rem; margin-bottom: auto; margin-right: .5rem; margin-left: .5rem; max-width: 36rem; border-radius: 1rem; background-color: var(--background-primary); --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } @media (min-width: 1024px) { #search-modal .search-container { margin-right: auto; margin-left: auto } } #search-modal .search-form { position: relative; display: flex; height: 3.5rem; width: 100%; align-items: center; border-radius: .75rem; border-width: 2px; border-color: var(--text-accent); background-color: var(--background-secondary); padding-top: 0; padding-bottom: 0; padding-left: .75rem; padding-right: .75rem; --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } #search-modal .search-form button:hover { color: var(--search-modal-highlight) } #search-modal .search-input { height: 100%; width: 80%; flex: 1 1 0%; -webkit-appearance: none; -moz-appearance: none; appearance: none; border-width: 0; background-color: transparent; padding-left: .5rem; font-size: 1.25rem; line-height: 1.75rem; --tw-text-opacity: 1; color: rgb(156 163 175/var(--tw-text-opacity)); outline: 2px solid transparent; outline-offset: 2px } #search-modal .search-btn { cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 9999px; border-width: 0; background-image: none; padding: .125rem; --tw-text-opacity: 1; color: rgb(156 163 175/var(--tw-text-opacity)) } #search-modal .search-dropdown { margin-top: .5rem; overflow-y: auto; padding-left: 1rem; padding-right: 1rem; min-height: var(--search-modal-spacing); max-height: calc(var(--search-modal-height) - var(--search-modal-searchbox-height) - var(--search-modal-spacing) - var(--search-modal-footer-height)); scrollbar-color: var(--search-modal-muted-color) var(--search-modal-background); scrollbar-width: thin } #search-modal .search-hit-label { position: sticky; top: 0; z-index: 10; background-color: var(--background-primary); padding: .5rem .25rem; font-size: .875rem; line-height: 1.25rem; font-weight: 600; color: var(--text-accent) } #search-modal .search-hit { position: relative; display: flex; border-radius: .25rem; padding-bottom: .5rem } #search-modal .search-hit:last-of-type { padding-bottom: 1rem } #search-modal .search-hit a { box-sizing: border-box; display: block; width: 100%; border-radius: .5rem; border-width: 2px; border-color: var(--background-secondary); background-color: var(--background-secondary); padding-left: .75rem; --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } #search-modal .search-hit.active a { border-color: var(--text-accent) } #search-modal .search-hit-container { display: flex; height: 3.5rem; align-items: center; padding-right: .75rem; color: var(--text-normal) } #search-modal .search-hit-icon { stroke-width: 2; color: var(--text-dim) } #search-modal .search-hit-content-wrapper { position: relative; margin-left: .5rem; margin-right: .5rem; display: flex; width: 80%; flex: 1 1 auto; flex-direction: column; justify-content: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500 } #search-modal .search-hit-title { width: 91.666667%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .875rem; line-height: 1.25rem } #search-modal .search-hit-title mark { background-color: var(--text-accent) } #search-modal .search-hit-path { font-size: .75rem; line-height: 1rem; color: var(--text-dim) } #search-modal .search-hit-action { display: flex; align-items: center; height: 22px; width: 22px } #search-modal .search-footer { position: relative; display: flex; height: 2.75rem; width: 100%; -webkit-user-select: none; -moz-user-select: none; user-select: none; flex-direction: row-reverse; align-items: center; justify-content: space-between; border-bottom-right-radius: 1rem; border-bottom-left-radius: 1rem; background-color: var(--background-secondary); padding-left: .75rem; padding-right: .75rem; box-shadow: 0 -1px, #363636 0 -3px 6px 0 #1e235a1f; z-index: 300 } #search-modal .search-logo a { display: flex; align-items: center; justify-items: center; text-decoration-line: none } #search-modal .search-label { margin-right: .5rem; font-size: .75rem; line-height: 1rem; color: var(--text-dim) } #search-modal .search-commands { margin: 0; display: none; list-style-type: none; padding: 0; color: var(--text-dim) } @media (min-width: 1024px) { #search-modal .search-commands { display: flex } } #search-modal .search-commands li { margin-right: .5rem; display: flex; align-items: center } #search-modal .search-commands-key { display: flex; align-items: center; justify-content: center; border-radius: .125rem; background: var(--search-modal-key-gradient); box-shadow: var(--search-modal-key-shadow); margin-right: .4em; height: 18px; width: 20px } #search-modal .search-commands-label { color: var(--text-dim) } #search-modal .search-startscreen { margin: 0 auto; width: 80%; padding-top: 2.25rem; padding-bottom: 2.25rem; text-align: center; font-size: .875rem; line-height: 1.25rem } #search-modal .search-startscreen p { font-size: .875rem; line-height: 1.25rem; color: var(--text-dim) } .fixed { position: fixed } .absolute { position: absolute } .relative { position: relative } .sticky { position: sticky } .bottom-0 { bottom: 0 } .bottom-4 { bottom: 1rem } .left-0 { left: 0 } .left-6 { left: 1.5rem } .right-0 { right: 0 } .right-4 { right: 1rem } .right-8 { right: 2rem } .top-0 { top: 0 } .top-10 { top: 2.5rem } .top-6 { top: 1.5rem } .top-8 { top: 2rem } .z-0 { z-index: 0 } .z-10 { z-index: 10 } .z-40 { z-index: 40 } .z-50 { z-index: 50 } .col-span-1 { grid-column: span 1/span 1 } .row-span-1 { grid-row: span 1/span 1 } .m-0 { margin: 0 } .mx-2 { margin-left: .5rem; margin-right: .5rem } .mx-auto { margin-left: auto; margin-right: auto } .my-0 { margin-top: 0; margin-bottom: 0 } .my-1 { margin-top: .25rem; margin-bottom: .25rem } .my-8 { margin-top: 2rem; margin-bottom: 2rem } .-mr-4 { margin-right: -1rem } .mb-0 { margin-bottom: 0 } .mb-1 { margin-bottom: .25rem } .mb-1\.5 { margin-bottom: .375rem } .mb-2 { margin-bottom: .5rem } .mb-4 { margin-bottom: 1rem } .mb-6 { margin-bottom: 1.5rem } .mb-8 { margin-bottom: 2rem } .ml-2 { margin-left: .5rem } .ml-4 { margin-left: 1rem } .mr-0 { margin-right: 0 } .mr-1 { margin-right: .25rem } .mr-1\.5 { margin-right: .375rem } .mr-2 { margin-right: .5rem } .mt-0 { margin-top: 0 } .mt-1 { margin-top: .25rem } .mt-2 { margin-top: .5rem } .mt-4 { margin-top: 1rem } .mt-6 { margin-top: 1.5rem } .mt-8 { margin-top: 2rem } .mt-20 { margin-top: 5rem; } .box-border { box-sizing: border-box } .block { display: block } .inline-block { display: inline-block } .inline { display: inline } .flex { display: flex } .table { display: table } .grid { display: grid } .contents { display: contents } .hidden { display: none } .h-1 { height: .25rem } .h-10 { height: 2.5rem } .h-12 { height: 3rem } .h-28 { height: 7rem } .h-5 { height: 1.25rem } .h-56 { height: 14rem } .h-98 { height: 28rem } .h-\[120px\] { height: 120px } .h-\[25rem\] { height: 25rem } .h-full { height: 100% } .min-h-screen { min-height: 100vh } .w-12 { width: 3rem } .w-14 { width: 3.5rem } .w-24 { width: 6rem } .w-28 { width: 7rem } .w-48 { width: 12rem } .w-5 { width: 1.25rem } .w-\[120px\] { width: 120px } .w-full { width: 100% } .min-w-\[150px\] { min-width: 150px } .min-w-full { min-width: 100% } .flex-1 { flex: 1 1 0% } .origin-top-right { transform-origin: top right } .transform { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) } .cursor-pointer { cursor: pointer } .select-none { -webkit-user-select: none; -moz-user-select: none; user-select: none } .resize { resize: both } .list-none { list-style-type: none } .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) } .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) } .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) } .grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) } .grid-rows-1 { grid-template-rows: repeat(1, minmax(0, 1fr)) } .flex-row { flex-direction: row } .flex-col { flex-direction: column } .flex-wrap { flex-wrap: wrap } .flex-nowrap { flex-wrap: nowrap } .items-start { align-items: flex-start } .items-end { align-items: flex-end } .items-center { align-items: center } .items-stretch { align-items: stretch } .justify-start { justify-content: flex-start } .justify-end { justify-content: flex-end } .justify-center { justify-content: center } .justify-evenly { justify-content: space-evenly } .justify-items-center { justify-items: center } .gap-1 { gap: .25rem } .gap-1\.5 { gap: .375rem } .gap-2 { gap: .5rem } .gap-3 { gap: .75rem } .gap-6 { gap: 1.5rem } .gap-8 { gap: 2rem } .space-x-3 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(.75rem * var(--tw-space-x-reverse)); margin-left: calc(.75rem * calc(1 - var(--tw-space-x-reverse))) } .space-x-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(1rem * var(--tw-space-x-reverse)); margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))) } .self-stretch { align-self: stretch } .overflow-hidden { overflow: hidden } .overflow-y-auto { overflow-y: auto } .whitespace-nowrap { white-space: nowrap } .rounded { border-radius: .25rem } .rounded-2xl { border-radius: 1rem } .rounded-full { border-radius: 9999px } .rounded-lg { border-radius: .5rem } .rounded-md { border-radius: .375rem } .rounded-xl { border-radius: .75rem } .rounded-bl-md { border-bottom-left-radius: .375rem } .rounded-br-md { border-bottom-right-radius: .375rem } .rounded-tl-md { border-top-left-radius: .375rem } .rounded-tr-md { border-top-right-radius: .375rem } .border { border-width: 1px } .border-2 { border-width: 2px } .border-b-2 { border-bottom-width: 2px } .border-l-2 { border-left-width: 2px } .border-r-2 { border-right-width: 2px } .border-r-4 { border-right-width: 4px } .border-t-2 { border-top-width: 2px } .border-solid { border-style: solid } .border-none { border-style: none } .border-ob { border-color: var(--text-accent) } .border-ob-bright { border-color: var(--text-bright) } .border-ob-deep-900 { border-color: var(--background-primary) } .bg-ob-deep-800 { background-color: var(--background-secondary) } .bg-ob-deep-900 { background-color: var(--background-primary) } .bg-ob-trans { background-color: var(--background-trans) } .bg-orange-500 { --tw-bg-opacity: 1; background-color: rgb(249 115 22/var(--tw-bg-opacity)) } .bg-transparent { background-color: transparent } .fill-current { fill: currentColor } .stroke-current { stroke: currentColor } .stroke-ob-bright { stroke: var(--text-bright) } .stroke-0 { stroke-width: 0 } .stroke-2 { stroke-width: 2 } .p-0 { padding: 0 } .p-0\.5 { padding: .125rem } .p-1 { padding: .25rem } .p-2 { padding: .5rem } .p-4 { padding: 1rem } .px-0 { padding-left: 0; padding-right: 0 } .px-1 { padding-left: .25rem; padding-right: .25rem } .px-1\.5 { padding-left: .375rem; padding-right: .375rem } .px-10 { padding-left: 2.5rem; padding-right: 2.5rem } .px-14 { padding-left: 3.5rem; padding-right: 3.5rem } .px-2 { padding-left: .5rem; padding-right: .5rem } .px-3 { padding-left: .75rem; padding-right: .75rem } .px-4 { padding-left: 1rem; padding-right: 1rem } .px-6 { padding-left: 1.5rem; padding-right: 1.5rem } .px-8 { padding-left: 2rem; padding-right: 2rem } .py-0 { padding-top: 0; padding-bottom: 0 } .py-0\.5 { padding-top: .125rem; padding-bottom: .125rem } .py-1 { padding-top: .25rem; padding-bottom: .25rem } .py-16 { padding-top: 4rem; padding-bottom: 4rem } .py-2 { padding-top: .5rem; padding-bottom: .5rem } .py-3 { padding-top: .75rem; padding-bottom: .75rem } .py-4 { padding-top: 1rem; padding-bottom: 1rem } .py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem } .py-8 { padding-top: 2rem; padding-bottom: 2rem } .pb-1 { padding-bottom: .25rem } .pb-10 { padding-bottom: 2.5rem } .pb-2 { padding-bottom: .5rem } .pb-6 { padding-bottom: 1.5rem } .pb-7 { padding-bottom: 1.75rem } .pb-8 { padding-bottom: 2rem } .pl-2 { padding-left: .5rem } .pl-4 { padding-left: 1rem } .pr-1 { padding-right: .25rem } .pr-1\.5 { padding-right: .375rem } .pr-2 { padding-right: .5rem } .pr-4 { padding-right: 1rem } .pr-6 { padding-right: 1.5rem } .pt-1 { padding-top: .25rem } .pt-12 { padding-top: 3rem } .pt-2 { padding-top: .5rem } .pt-28 { padding-top: 7rem } .pt-4 { padding-top: 1rem } .pt-6 { padding-top: 1.5rem } .pt-8 { padding-top: 2rem } .text-center { text-align: center } .text-right { text-align: right } .text-2xl { font-size: 1.5rem; line-height: 2rem } .text-3xl { font-size: 1.875rem; line-height: 2.25rem } .text-4xl { font-size: 2.25rem; line-height: 2.5rem } .text-6xl { font-size: 3.75rem; line-height: 1 } .text-base { font-size: 1rem; line-height: 1.5rem } .text-lg { font-size: 1.125rem; line-height: 1.75rem } .text-sm { font-size: .875rem; line-height: 1.25rem } .text-xl { font-size: 1.25rem; line-height: 1.75rem } .text-xs { font-size: .75rem; line-height: 1rem } .font-bold { font-weight: 700 } .font-extrabold { font-weight: 800 } .font-medium { font-weight: 500 } .font-semibold { font-weight: 600 } .uppercase { text-transform: uppercase } .not-italic { font-style: normal } .text-gray-500 { --tw-text-opacity: 1; color: rgb(107 114 128/var(--tw-text-opacity)) } .text-ob { color: var(--text-accent) } .text-ob-bright { color: var(--text-bright) } .text-ob-dim { color: var(--text-dim) } .text-ob-normal { color: var(--text-normal) } .text-ob-secondary { color: var(--text-sub-accent) } .text-white { --tw-text-opacity: 1; color: rgb(255 255 255/var(--tw-text-opacity)) } .opacity-0 { opacity: 0 } .opacity-50 { opacity: .5 } .opacity-70 { opacity: .7 } .opacity-75 { opacity: .75 } .opacity-80 { opacity: .8 } .opacity-90 { opacity: .9 } .shadow { --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } .shadow-2xl { --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } .shadow-lg { --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } .shadow-md { --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } .shadow-sm { --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05); --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } .shadow-xl { --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } .outline { outline-style: solid } .blur { --tw-blur: blur(8px); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) } .filter { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) } .transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; transition-timing-function: cubic-bezier(.4, 0, .2, 1); transition-duration: .15s } .transition-all { transition-property: all; transition-timing-function: cubic-bezier(.4, 0, .2, 1); transition-duration: .15s } .transition-shadow { transition-property: box-shadow; transition-timing-function: cubic-bezier(.4, 0, .2, 1); transition-duration: .15s } .duration-300 { transition-duration: .3s } .ease-in-out { transition-timing-function: cubic-bezier(.4, 0, .2, 1) } .fade-bounce-y-enter-active, .fade-bounce-y-leave-active { transition: all .35s cubic-bezier(0, 1.8, 1, 1.2) } .fade-bounce-y-enter-from, .fade-bounce-y-leave-to { transform: translateY(20%); opacity: 0 } .fade-bounce-pure-y-enter-active, .fade-bounce-pure-y-leave-active { transition: transform .35s cubic-bezier(0, 1.8, 1, 1.2) } .fade-bounce-pure-y-enter-from, .fade-bounce-pure-y-leave-to { transform: translateY(15%); opacity: 0 } .fade-slide-y-enter-active { transition: all .3s ease } .fade-slide-y-leave-active { transition: all .3s cubic-bezier(1, .5, .8, 1) } .fade-slide-y-enter-from, .fade-slide-y-leave-to { transform: translateY(10px); opacity: 0 } .breadcrumb-enter-active, .breadcrumb-leave-active { transition: all .5s } .breadcrumb-enter, .breadcrumb-leave-active { opacity: 0; transform: translate(20px) } .breadcrumb-move { transition: all .5s } .breadcrumb-leave-active { position: absolute } @keyframes gradient { 0% { background-position: 0% 50% } 50% { background-position: 100% 50% } to { background-position: 0% 50% } } .stroke-ob-bright { stroke: var(--text-bright) !important } .diamond-clip-path { -webkit-clip-path: polygon(50% 3%, 91% 25%, 91% 75%, 50% 97%, 9% 75%, 9% 25%); clip-path: polygon(50% 3%, 91% 25%, 91% 75%, 50% 97%, 9% 75%, 9% 25%); background: var(--background-trans) } .diamond-icon { display: flex; height: 3rem; width: 3rem; cursor: pointer; align-items: center; justify-content: center; font-size: 1.25rem; line-height: 1.75rem; color: var(--text-bright); transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; transition-timing-function: cubic-bezier(.4, 0, .2, 1); transition-duration: .15s } .diamond-icon:hover { opacity: .5 } html { scrollbar-color: rgba(82, 82, 82, .8) transparent } html::-webkit-scrollbar { width: 12px; height: 12px } html::-webkit-scrollbar-thumb { background: #434343; border-radius: 16px; box-shadow: inset 2px 2px 2px #64646440, inset -2px -2px 2px #00000040 } html::-webkit-scrollbar-track { border: none; background: linear-gradient(90deg, #434343, #434343 1px, #111 0, #111) } div::-webkit-scrollbar { width: 10px; height: 10px } div::-webkit-scrollbar-thumb { background: #434343; border-radius: 16px; box-shadow: inset 2px 2px 2px #64646440, inset -2px -2px 2px #00000040 } div::-webkit-scrollbar-track { border: none; background: 0 0 !important } .hover\:bg-ob-trans:hover { background-color: var(--background-trans) } .hover\:text-ob:hover { color: var(--text-accent) } .hover\:text-ob-bright:hover { color: var(--text-bright) } .hover\:opacity-50:hover { opacity: .5 } .hover\:shadow-2xl:hover { --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } .hover\:shadow-ob:hover { --tw-shadow: var(--accent-shadow); --tw-shadow-colored: var(--accent-shadow); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); --tw-shadow-color: var(--text-accent); --tw-shadow: var(--tw-shadow-colored) } @media (min-width: 640px) { .sm\:h-10 { height: 2.5rem } .sm\:h-14 { height: 3.5rem } } @media (min-width: 768px) { .md\:grid-cols-1 { grid-template-columns:repeat(1, minmax(0, 1fr)) } .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) } .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) } } @media (min-width: 1024px) { .lg\:col-span-1 { grid-column: span 1/span 1 } .lg\:col-span-3 { grid-column: span 3/span 3 } .lg\:mb-0 { margin-bottom: 0 } .lg\:mr-4 { margin-right: 1rem } .lg\:mt-0 { margin-top: 0 } .lg\:flex { display: flex } .lg\:h-\[4\.6rem\] { height: 4.6rem } .lg\:h-auto { height: auto } .lg\:max-w-screen-2xl { max-width: 1536px } .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) } .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) } .lg\:grid-rows-none { grid-template-rows: none } .lg\:flex-row { flex-direction: row } .lg\:justify-end { justify-content: flex-end } .lg\:gap-12 { gap: 3rem } .lg\:px-14 { padding-left: 3.5rem; padding-right: 3.5rem } .lg\:px-8 { padding-left: 2rem; padding-right: 2rem } .lg\:py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem } .lg\:pb-16 { padding-bottom: 4rem } .lg\:text-left { text-align: left } .lg\:text-base { font-size: 1rem; line-height: 1.5rem } } @media (min-width: 1280px) { .xl\:grid-cols-1 { grid-template-columns:repeat(1, minmax(0, 1fr)) } .xl\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) } .xl\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)) } } #nprogress { pointer-events: none } #nprogress .bar { background: #29d; position: fixed; z-index: 1031; top: 0; left: 0; width: 100%; height: 2px } #nprogress .peg { display: block; position: absolute; right: 0; width: 100px; height: 100%; box-shadow: 0 0 10px #29d, 0 0 5px #29d; opacity: 1; transform: rotate(3deg) translateY(-4px) } #nprogress .spinner { display: block; position: fixed; z-index: 1031; top: 15px; right: 15px } #nprogress .spinner-icon { width: 18px; height: 18px; box-sizing: border-box; border: solid 2px transparent; border-top-color: #29d; border-left-color: #29d; border-radius: 50%; animation: nprogress-spinner .4s linear infinite } .nprogress-custom-parent { overflow: hidden; position: relative } .nprogress-custom-parent #nprogress .spinner, .nprogress-custom-parent #nprogress .bar { position: absolute } @keyframes nprogress-spinner { 0% { transform: rotate(0) } to { transform: rotate(360deg) } } .logo-image { height: 200px; width: 200px; max-width: 200px; top: -60px; left: -60px; opacity: .05; position: absolute; margin-right: .5rem; border-radius: 9999px } .dropdown-content-enter-active, .dropdown-content-leave-active { transition: all .2s } .dropdown-content-enter, .dropdown-content-leave-to { opacity: 0; transform: translateY(-5px) } .toggler { position: relative; width: 40px; height: 22px; background-color: var(--background-primary); border-radius: 24px; border: 3px solid rgba(110, 64, 201, .35); box-sizing: border-box; transition: background-color .25s ease } .slider { top: -6px; left: -6px; width: 28px; height: 28px; background-color: #6e40c9; border-radius: 50%; transition: all .25s cubic-bezier(.4, .03, 0, 1) 0s; position: absolute; --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) } .svg-icon { width: 1em; height: 1em; vertical-align: -.15em; overflow: hidden; display: inline; position: relative } .svg-icon { vertical-align: -.15em; overflow: hidden; display: inline; position: relative } .svg-external-icon { background-color: currentColor; -webkit-mask-size: cover !important; mask-size: cover !important; display: inline-block } .header-controls span { display: flex; justify-content: center; align-items: center; color: #fff; cursor: pointer; transition: opacity .25s ease; padding-right: .5rem } .header-controls span[no-hover-effect]:hover { opacity: 1 } .header-controls span:hover { opacity: .5 } .header-controls span .svg-icon { stroke: #fff; height: 2rem; width: 2rem; margin-right: .5rem; pointer-events: none } .header-controls .search-bar { margin-right: .5rem; display: flex; flex-direction: row; border-radius: 9999px; background-color: transparent; padding-left: 0; padding-right: 0; opacity: 0; width: 0; transition: .3s all ease-out } .header-controls .search-bar.active { background-color: var(--background-secondary); opacity: .95; width: 200px } .header-controls .search-bar.active imput { width: initial } .header-controls .search-bar:focus { -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none } .header-controls .search-bar input { box-sizing: border-box; display: flex; flex: 1 1 0%; background-color: transparent; padding-left: 1.5rem; padding-right: 1.5rem; color: var(--text-normal); width: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none } .header-controls .search-bar svg { float: right } .nav-link:hover { color: var(--text-bright) } .nav-link:hover:before { opacity: .6 } .nav-link:before { position: absolute; z-index: 40; border-radius: .5rem; background-color: var(--background-secondary); opacity: 0; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; transition-timing-function: cubic-bezier(.4, 0, .2, 1); transition-duration: .15s; content: ""; top: -4px; left: -4px; width: calc(100% + 8px); height: calc(100% + 8px) } .notification { top: -100%; left: 50%; transform: translate(-50%); transition: top .3s ease-in-out } .notification.open { top: 1.5rem } .progress-bar { width: 100%; height: 2px; background-color: var(--text-accent); transition: width 1s linear } .header-container .site-header { max-width: var(--max-width); position: relative; z-index: 50; margin: 0 auto; display: flex; padding-top: 1rem; padding-bottom: 1rem } #Ob-Navigator { position: fixed; bottom: 1rem; right: 1rem; z-index: 40; display: flex; height: 3rem; width: 3rem; cursor: pointer; align-items: center; justify-content: center; border-radius: 9999px; border-width: 2px; border-color: var(--background-primary); stroke-width: 0; font-size: 1.5rem; line-height: 2rem; --tw-text-opacity: 1; color: rgb(255 255 255/var(--tw-text-opacity)); --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); transition: all .55s cubic-bezier(0, 1.8, 1, 1.2); opacity: 1 } #Ob-Navigator svg { pointer-events: none } #Ob-Navigator .Ob-Navigator-submenu { position: absolute; top: 0; left: 0; margin: 0; list-style-type: none; padding: 0 } #Ob-Navigator .Ob-Navigator-submenu li { position: absolute; display: flex; height: 3rem; width: 3rem; align-items: center; justify-content: center; border-radius: 9999px; background-color: var(--background-primary); padding: .125rem; opacity: 0; transition: all .55s cubic-bezier(0, 1.8, 1, 1.2) } #Ob-Navigator .Ob-Navigator-submenu li:hover .Ob-Navigator-tips { opacity: 1; transform: translate(-15%) } #Ob-Navigator .Ob-Navigator-btt .Ob-Navigator-tips { bottom: 25%; } #Ob-Navigator .Ob-Navigator-btt:hover .Ob-Navigator-tips { opacity: 1; transform: translate(-15%) } #Ob-Navigator .Ob-Navigator-submenu li div { display: flex; height: 100%; width: 100%; align-items: center; justify-content: center; border-radius: 9999px; background-color: var(--background-secondary) } #Ob-Navigator.Ob-Navigator--open .Ob-Navigator-submenu li { opacity: 1 } #Ob-Navigator.Ob-Navigator--open .Ob-Navigator-submenu li:first-of-type { transform: translate(-4.8rem) } #Ob-Navigator.Ob-Navigator--open .Ob-Navigator-submenu li:nth-of-type(2) { transform: translate(-3.6rem, -3.6rem) } #Ob-Navigator.Ob-Navigator--open .Ob-Navigator-submenu li:nth-of-type(3) { transform: translateY(-4.8rem) } #Ob-Navigator.Ob-Navigator--open .Ob-Navigator-submenu li:nth-of-type(4) { transform: translateY(-8.4rem) } #Ob-Navigator.Ob-Navigator--scrolling { transform: translate(2.4rem); opacity: .6 } #Ob-Navigator .Ob-Navigator-tips { position: absolute; z-index: 50; white-space: nowrap; border-radius: .375rem; background-color: var(--background-secondary); padding: .25rem .375rem; font-size: .75rem; line-height: 1rem; color: var(--text-bright); --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); pointer-events: none; opacity: 0; right: 60%; transition: all .55s cubic-bezier(0, 1.8, 1, 1.2) } #Ob-Navigator .Ob-Navigator-ball { position: relative; display: flex; height: 100%; width: 100%; align-items: center; justify-content: center; border-radius: 9999px; background-color: var(--background-secondary); padding: .125rem; box-shadow: 0 2px 4px #0000001a, 0 12px 28px #0003; z-index: 200 } #Ob-Navigator .Ob-Navigator-ball div { display: flex; height: 100%; width: 100%; align-items: center; justify-content: center; border-radius: 9999px } #Ob-Navigator .Ob-Navigator-btt { position: absolute; display: flex; height: 100%; width: 100%; align-items: center; justify-content: center; border-radius: 9999px; background-color: var(--background-secondary); padding: .125rem; box-shadow: 0 2px 4px #0000001a, 0 12px 28px #0003; top: -3.3rem; left: 0 } #Ob-Navigator .Ob-Navigator-btt div { display: flex; height: 100%; width: 100%; align-items: center; justify-content: center; border-radius: 9999px } .custom-social-SvgIcon { width: 1em; height: 1em; font-size: 1em; vertical-align: -.15em; fill: var(--text-bright); stroke: var(--background-primary); overflow: hidden } #bot-container { position: fixed; left: 20px; bottom: 0; z-index: 1000; width: 70px; height: 60px } #Aurora-Dia--body { position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column; width: 100%; height: 100%; --auora-dia--width: 65px; --auora-dia--height: 50px; --auora-dia--hover-height: 60px; --auora-dia--jump-1: 55px; --auora-dia--jump-2: 60px; --auora-dia--jump-3: 45px; --auora-dia--eye-height: 15px; --auora-dia--eye-width: 8px; --auora-dia--eye-top: 10px; --auora-dia--platform-size: var(--auora-dia--jump-2); --auora-dia--platform-size-shake-1: 75px; --auora-dia--platform-size-shake-2: 45px; --auora-dia--platform-top: -15px; --aurora-dia--linear-gradient: var(--main-gradient); --aurora-dia--linear-gradient-hover: linear-gradient(to bottom, #25b0cc, #3f60de); --aurora-dia--platform-light: #b712ac } .Aurora-Dia { position: absolute; bottom: 30px; width: var(--auora-dia--width); height: var(--auora-dia--height); border-radius: 45%; border: 4px solid var(--background-secondary); animation: breathe-and-jump-e40c54b4 3s linear infinite; cursor: pointer; z-index: 1 } .Aurora-Dia:before { content: ""; position: absolute; top: -1px; left: -1px; width: calc(100% + 3px); height: calc(100% + 2px); background-color: #2cdcff; background: var(--aurora-dia--linear-gradient); border-radius: 45%; opacity: 1; transition: .3s linear all } .Aurora-Dia.active { animation: deactivate-e40c54b4 .75s linear, bounce-then-breathe-e40c54b4 5s linear infinite } .Aurora-Dia--eyes > .Aurora-Dia--eye { position: absolute; top: var(--auora-dia--eye-top); width: var(--auora-dia--eye-width); height: var(--auora-dia--eye-height); border-radius: 15px; background-color: #fff; box-shadow: 0 0 7px #ffffff80; animation: blink-e40c54b4 5s linear infinite } .Aurora-Dia--eyes > .Aurora-Dia--eye.left { left: 25% } .Aurora-Dia--eyes > .Aurora-Dia--eye.right { right: 25% } .Aurora-Dia--eyes.moving > .Aurora-Dia--eye { animation: none } .Aurora-Dia--platform { position: relative; top: 0; transform: rotateX(70deg); width: var(--auora-dia--platform-size); height: var(--auora-dia--platform-size); box-shadow: 0 0 var(--auora-dia--platform-size) var(--aurora-dia--platform-light), 0 0 15px var(--aurora-dia--platform-light) inset; animation: jump-pulse-e40c54b4 3s linear infinite; border-radius: 50%; transition: .2s linear all } .Aurora-Dia:hover { animation: shake-to-alert-e40c54b4 .5s linear; height: var(--auora-dia--hover-height); transform: translateY(-7px) } .Aurora-Dia:hover:before { background: var(--aurora-dia--linear-gradient-hover) } .Aurora-Dia:hover, .Aurora-Dia:hover > .Aurora-Dia--eyes > .Aurora--Dia-eye { border-color: var(--text-accent); box-shadow: 0 0 5px var(--text-accent) } .Aurora-Dia:hover + .Aurora-Dia--platform { box-shadow: 0 0 var(--auora-dia--platform-size) var(--text-accent), 0 0 15px var(--text-accent) inset; animation: shake-pulse-e40c54b4 .5s linear } #Aurora-Dia--tips-wrapper { position: absolute; bottom: 80px; right: -120px; width: 200px; min-height: 60px; background: var(--aurora-dia--linear-gradient); color: var(--text-normal); padding: .2rem; border-radius: 8px; opacity: 0; animation: tips-breathe-e40c54b4 3s linear infinite; transition: .3s linear opacity } #Aurora-Dia--tips-wrapper.active { opacity: .86 } .Aurora-Dia--tips { position: relative; height: 100%; width: 100%; min-height: 60px; border-radius: 6px; padding: .2rem .5rem; font-size: .8rem; font-weight: 800; background: var(--background-secondary); overflow: hidden; text-overflow: ellipsis } .Aurora-Dia--tips > span { -webkit-background-clip: text; -webkit-text-fill-color: transparent; padding: 0 .1rem; color: #7aa2f7; background-color: #7aa2f7; background-image: var(--strong-gradient) } @keyframes deactivate-e40c54b4 { 0% { border-color: var(--text-sub-accent) } 20%, 60% { border-color: var(--text-accent) } 40%, 80%, to { border-color: var(--background-secondary) } } @keyframes tips-breathe-e40c54b4 { 0%, to { transform: translateY(0) } 50% { transform: translateY(-5px) } } @keyframes bounce-then-breathe-e40c54b4 { 0%, 5%, 10%, 15% { transform: translateY(0) } 2.5%, 7.5%, 12.5% { transform: translateY(-15px) } 20%, 40%, 60%, 80%, to { height: var(--auora-dia--jump-1); transform: translateY(0) } 30%, 50%, 70%, 90% { height: var(--auora-dia--jump-2); transform: translateY(-5px) } } @keyframes breathe-and-jump-e40c54b4 { 0%, 40%, 80%, to { height: var(--auora-dia--jump-1); transform: translateY(0) } 20%, 60%, 70%, 90% { height: var(--auora-dia--jump-2); transform: translateY(-5px) } 85% { height: var(--auora-dia--jump-3); transform: translateY(-20px) } } @keyframes blink-e40c54b4 { 0%, to { transform: scaleY(.05) } 5%, 95% { transform: scale(1) } } @keyframes jump-pulse-e40c54b4 { 0%, 40%, 80%, to { box-shadow: 0 0 30px var(--aurora-dia--platform-light), 0 0 45px var(--aurora-dia--platform-light) inset } 20%, 60%, 70%, 90% { box-shadow: 0 0 70px var(--aurora-dia--platform-light), 0 0 25px var(--aurora-dia--platform-light) inset } 85% { box-shadow: 0 0 100px var(--aurora-dia--platform-light), 0 0 15px var(--aurora-dia--platform-light) inset } } @keyframes shake-to-alert-e40c54b4 { 0%, 20%, 40%, 60%, 80%, to { transform: rotate(0) translateY(-8px) } 10%, 25%, 35%, 50%, 65% { transform: rotate(7deg) translateY(-8px) } 15%, 30%, 45%, 55%, 70% { transform: roate(-7deg) translateY(-8px) } } @keyframes shake-pulse-e40c54b4 { 0%, 20%, 40%, 60%, 80%, to { box-shadow: 0 0 var(--auora-dia--platform-size) #2cdcff, 0 0 15px #2cdcff inset } 10%, 25%, 35%, 50%, 65% { box-shadow: 0 0 var(--auora-dia--platform-size-shake-1) #2cdcff, 0 0 15px #2cdcff inset } 15%, 30%, 45%, 55%, 70% { box-shadow: 0 0 var(--auora-dia--platform-size-shake-2) #2cdcff, 0 0 15px #2cdcff inset } } .Aurora-Dia--tips > span { -webkit-background-clip: text; -webkit-text-fill-color: transparent; padding: 0 .05rem; color: #7aa2f7; background-color: #7aa2f7; background-image: var(--strong-gradient) } body { background: var(--background-primary-alt) } *:focus { outline: none } #app { position: relative; height: 100%; min-height: 100vh; min-width: 100%; font-family: Rubik, Avenir, Helvetica, Arial, sans-serif } #app .app-wrapper { height: 100%; min-width: 100%; background-color: var(--background-primary); padding-bottom: 3rem; transition-property: transform, border-radius; transition-duration: .35s; transition-timing-function: ease; transform-origin: 0 42% } #app .app-wrapper .app-container { color: var(--text-normal); margin: 0 auto } #app .header-wave { position: absolute; top: 100px; left: 0; z-index: 1 } #app .App-Mobile-sidebar { position: fixed; top: 0; bottom: 0; left: 0 } #app .App-Mobile-wrapper { position: relative; margin-right: -1rem; height: 100%; overflow-y: auto; padding-right: 1.5rem; padding-left: 1rem; padding-top: 2rem; opacity: 0; transition: all .85s cubic-bezier(0, 1.8, 1, 1.2); transform: translateY(-20%); width: 280px } .app-banner { content: ""; display: block; height: 600px; position: absolute; top: 0; left: 0; width: 100%; z-index: 1; } .app-banner-cover { pointer-events: none; position: absolute; top: 60px; z-index: 3; height: 540px; background: var(--banner-cover) } .theme-light .app-banner-cover { top: 300px; height: 300px } .app-banner-image { z-index: 1; background-size: cover; opacity: 0; transition: ease-in-out opacity .3s } .app-banner-screen { transition: ease-in-out opacity .3s; z-index: 2; opacity: .91 } .feature-sign { width: calc(100% - .5rem); height: calc(100% - .5rem); margin: .25rem } .sidebar-box li.ob-skeleton { margin-right: .5rem; margin-bottom: .5rem } #sidebar-navigator svg { pointer-events: none } .toc { list-style: none; counter-reset: li; padding-left: 1.5rem } .toc > li { padding-bottom: .25rem; font-weight: 800; color: var(--text-bright) } .toc > li.active { color: var(--text-accent) } .toc ol li { font-weight: 400; color: var(--text-normal); padding-left: 1.5rem } .toc ol li.active { color: var(--text-accent) } .toc ol, .toc ol ol { position: relative } .toc > li:before, .toc ol > li:before, .toc ol ol > li:before, .toc ol ol ol > li:before, .toc ol ol ol ol > li:before { content: "•"; color: var(--text-accent); display: inline-block; width: 1em; margin-left: -1.15em; padding: 0; font-weight: 700; text-shadow: 0 0 .5em var(--accent-2) } .toc > li:before { font-size: 1.25rem; line-height: 1.75rem } .toc > li > ol:before, .toc > li > ol > li > ol:before { content: ""; border-left: 1px solid var(--text-accent); position: absolute; opacity: .35; left: -1em; top: 0; bottom: 0 } .toc > li > ol:before { left: -1.25em; border-left: 2px solid var(--text-accent) } .profile { top: -7%; height: 100%; max-height: 100% } .paginator { margin-top: 2rem; margin-bottom: 2rem; display: flex; flex-direction: row; justify-content: center } .paginator ul { display: flex; flex-direction: row } .paginator ul li { margin-right: .5rem; display: flex; cursor: pointer; flex-direction: row; align-items: center; font-weight: 800; text-transform: uppercase } .paginator ul li:hover { opacity: .5 } .paginator ul li svg { margin-left: .5rem; margin-right: .5rem; font-weight: 800; color: var(--text-accent) } .paginator .active { color: var(--text-accent) } .ob-skeleton { background-size: 200px 100%; background-repeat: no-repeat; border-radius: 10px; display: inline-block; line-height: 1; width: 100%; height: inherit } @keyframes SkeletonLoading { 0% { background-position: -200px 0 } to { background-position: calc(200px + 100%) 0 } } .toc-link::before { display: none !important; } .is-active-link::before { display: inline-block !important; background-color: var(--text-accent) !important; } .is-active-link { color: var(--text-accent) !important; }