@import url("root.css"); /* media gallery */ .media_gallery { display: grid; grid-auto-columns: 1fr 1fr; grid-auto-flow: column dense; border-radius: var(--radius); width: fit-content; max-width: 100%; } @media screen and (max-width: 900px) { .media_gallery { grid-auto-flow: row dense; } } .media_gallery img { border-radius: var(--radius); object-fit: cover; width: 100%; height: 100%; cursor: pointer; transition: filter 0.15s; } .media_gallery img:hover { filter: brightness(80%); } .lightbox { position: absolute; z-index: 9999; background: hsla(0, 0%, 0%, 50%); backdrop-filter: blur(5px); display: flex; justify-content: center; align-items: center; width: 100dvw; height: 100dvh; top: 0; left: 0; animation: fadein ease-in-out 1 0.1s forwards running; } .lightbox_exit { top: var(--pad-4); right: var(--pad-4); position: absolute; } .lightbox img { box-shadow: var(--shadow-x-offset) var(--shadow-y-offset) var(--shadow-size) var(--color-shadow); border-radius: var(--radius); animation: popin ease-in-out 1 0.15s forwards running; } .lightbox a, .lightbox img { --padding: 2rem; cursor: zoom-in; max-height: calc(100dvh - var(--padding)); max-width: calc(100dvh - var(--padding)); } /* avatar/banner */ .avatar { --size: 50px; --size-formula: var(--size); border-radius: calc(var(--radius) / 2); width: var(--size-formula); min-width: var(--size-formula); max-width: var(--size-formula); height: var(--size-formula); min-height: var(--size-formula); max-height: var(--size-formula); object-fit: cover; } @media screen and (max-width: 900px) { .avatar { --size-formula: clamp(24px, calc(var(--size) * 0.75), 64px); } .smaller_avatar .avatar { --size-formula: clamp(18px, calc(var(--size) * 0.75), 64px); } textarea { min-height: 12rem !important; } } .banner { border-radius: var(--radius); max-height: 350px; } .user_status span { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .user_status .icon { min-width: 1em; min-height: 1em; } /* table */ table { border-collapse: collapse; max-width: 100%; min-width: auto; overflow: auto; } table th { min-width: max-content; padding: 6px 8px; text-align: left; background: transparent; border: none; } table td { border-left: var(--color-super-lowered); padding: 10px; text-overflow: ellipsis; overflow: hidden; overflow-wrap: normal; word-break: normal; width: max-content; } table td:first-child { border-left: 0; } table tr { background: var(--color-lowered); border-bottom: solid 1px var(--color-super-lowered); } table tr:nth-child(even) { background: var(--color-raised); } table tr:hover { background: var(--color-super-raised); } table thead tr { background: transparent; border-bottom: solid 5px var(--color-super-lowered); } table tbody tr td { padding: 6px 8px; } table td:focus-within { box-shadow: none; } table p, table ul, table ol { margin-bottom: 0; } /* card */ .card { padding: var(--pad-4); background: var(--color-raised); color: var(--color-text-raised); box-shadow: var(--shadow-x-offset) var(--shadow-y-offset) var(--shadow-size) var(--color-shadow); border-radius: var(--radius); } .card.small { padding: var(--pad-2) var(--pad-4); } .card.tiny { padding: var(--pad-2); } .card.secondary { background: var(--color-surface); color: var(--color-text); } .card.lowered { background: var(--color-lowered); color: var(--color-text-lowered); } .card_nest { box-shadow: var(--shadow-x-offset) var(--shadow-y-offset) var(--shadow-size) var(--color-shadow); border-radius: var(--radius); } .card_nest .card { box-shadow: none; } .card_nest > .card:first-child { border-bottom-left-radius: 0; border-bottom-right-radius: 0; background: var(--color-super-raised); } .card_nest > .card:last-child { border-top-left-radius: 0; border-top-right-radius: 0; } .card_nest_horizontal_wrapper { box-shadow: var(--shadow-x-offset) var(--shadow-y-offset) var(--shadow-size) var(--color-shadow); } .card_nest_horizontal { display: flex; flex-direction: row; } .card_nest_horizontal_header { border-top-left-radius: var(--radius); border-top-right-radius: var(--radius); padding: var(--pad-2) var(--pad-4); } .card_nest_horizontal .side { padding: var(--pad-4); } .card_nest_horizontal .side:nth-child(1) { background: var(--color-lowered); border-right: solid 1px var(--color-super-lowered); border-bottom-left-radius: var(--radius); } .card_nest_horizontal .side:nth-child(2) { background: var(--color-raised); border-bottom-right-radius: var(--radius); } .card_nest_horizontal_header { background: var(--color-lowered); border-bottom: solid 1px var(--color-super-lowered); display: flex; align-items: center; gap: var(--pad-2); } @media screen and (max-width: 900px) { .card_nest_horizontal { flex-direction: column; } .card_nest_horizontal .side:nth-child(1) { border-right: none; border-bottom: solid 1px var(--color-super-lowered); border-radius: 0; } } .card.button { justify-content: flex-start; align-items: flex-start; flex-direction: column; gap: var(--pad-2); width: 100%; height: max-content; padding: var(--pad-4); } /* supporter card */ @property --border-angle { syntax: ""; initial-value: 0deg; inherits: false; } .supporter_ad { --border-angle: 0deg; padding: 2px; background-image: linear-gradient(var(--color-raised), var(--color-raised)), repeating-conic-gradient( from var(--border-angle), var(--color-primary) 0%, var(--color-primary-lowered) 50% ); background-origin: border-box; background-clip: content-box, border-box; animation: 10s rotate_angle linear infinite; cursor: pointer; } @keyframes rotate_angle { from { --border-angle: 0deg; } to { --border-angle: 360deg; } } /* buttons */ button, .button { outline: none; border: none; transition: background 0.15s; width: max-content; height: 32px; padding: 0 var(--pad-4); border-radius: var(--radius); cursor: pointer; display: flex; justify-content: center; align-items: center; gap: var(--pad-1); font-size: 0.9rem; text-decoration: none !important; user-select: none; /* personality */ background: var(--color-primary); color: var(--color-text-primary); font-weight: 600; } button:disabled, .button:disabled { cursor: not-allowed; opacity: 50%; } button.small, .button.small { /* min-height: max-content; */ padding: var(--pad-1) var(--pad-2); height: 24px; font-size: 16px; } button.small.square, .button.small.square { width: 32px; height: 32px; } button.tiny.square, .button.tiny.square { width: 24px; height: 24px; } button.big_icon svg, .button.big_icon svg { height: 16px; min-width: 16px; } button:hover, .button:hover { background: var(--color-primary-lowered); } button.secondary, .button.secondary { background: var(--color-secondary); color: var(--color-text-secondary); } button.accent:hover, .button.accent:hover { background: var(--color-accent-lowered); } button.accent, .button.accent { background: var(--color-accent); color: var(--color-text-accent); } button.secondary:hover, .button.secondary:hover { background: var(--color-secondary-lowered); } button.raised, .button.raised { background: var(--color-raised); color: var(--color-text-raised); } button.raised:hover, .button.raised:hover { background: var(--color-super-raised); } button.lowered, .button.lowered { background: var(--color-lowered); color: var(--color-text-lowered); } button.lowered:hover, .button.lowered:hover { background: var(--color-super-lowered); } button.camo, .button.camo { background: transparent; color: inherit; } button.camo:hover, .button.camo:hover { background: var(--color-lowered); color: var(--color-text-lowered); } .hover_left_bar { position: relative; } .hover_left_bar::after { top: 0; left: 0; width: 5px; content: ""; height: 100%; position: absolute; background: var(--color-primary); border-top-left-radius: var(--radius); border-bottom-left-radius: var(--radius); opacity: 0%; transition: opacity 0.15s; } .hover_left_bar:hover::after { opacity: 100%; } /* input */ input, textarea, select { padding: 0.35rem var(--pad-3); border-radius: var(--radius); outline: none; transition: background 0.15s; resize: vertical; width: 100%; font-family: inherit; font-size: 16px; /* personality */ --background: var(--color-lowered); border: solid 1px var(--background); background: var(--background); color: var(--color-text-lowered); } textarea { min-height: 5rem; } input:focus, textarea:focus, select:focus { border-color: var(--color-super-lowered); } .poll_bar { background-color: var(--color-primary); border-radius: var(--radius); height: 24px; } .poll_option { height: max-content; overflow: auto; overflow-wrap: anywhere; } .progress_bar { background: var(--color-super-lowered); border-radius: var(--circle); position: relative; overflow: hidden; height: 14px; } .progress_bar .poll_bar { border-radius: var(--circle); height: 14px; border-top-right-radius: 0; border-bottom-right-radius: 0; position: absolute; } input[type="checkbox"] { --color: #93c5fd; appearance: none; border-radius: var(--radius); transition: box-shadow 0.15s, background 0.15s; background-color: var(--color-super-raised); background-position: center; background-origin: padding-box; background-size: 14px; background-repeat: no-repeat; width: 1em !important; height: 1em; min-width: 1em; outline: none; border: solid 1px var(--color-super-lowered); padding: 0; cursor: pointer; color: var(--color-text-primary); } input[type="checkbox"]:hover { box-shadow: var(--shadow-x-offset) var(--shadow-y-offset) var(--shadow-size) var(--color-shadow); } input[type="checkbox"]:focus { outline: solid 2px var(--color); outline-offset: 2px; } input[type="checkbox"]:checked { border-color: var(--color); background-color: var(--color); background-image: url("/icons/check.svg"); } /* pillmenu */ .pillmenu { display: flex; border-radius: var(--radius); user-select: none; box-shadow: var(--shadow-x-offset) var(--shadow-y-offset) var(--shadow-size) var(--color-shadow); } .pillmenu a { text-decoration: none; padding: var(--pad-2) var(--pad-4); width: 100%; color: var(--color-text-raised); background: var(--color-super-raised); border-radius: 0; display: flex; align-items: center; justify-content: center; gap: var(--pad-2); flex-wrap: wrap; position: relative; } .pillmenu a span { z-index: 1; display: inherit; gap: inherit; justify-content: inherit; align-items: inherit; flex-wrap: inherit; text-overflow: ellipsis; overflow: hidden; overflow-wrap: break-word; } .pillmenu a:hover { background: var(--color-raised); } .pillmenu a.active { background: var(--color-primary); color: var(--color-text-primary); } .pillmenu a:first-child { border-top-left-radius: var(--radius); border-bottom-left-radius: var(--radius); } .pillmenu a:last-child { border-top-right-radius: var(--radius); border-bottom-right-radius: var(--radius); } .pillmenu:not(.rows) .row { display: contents; } .pillmenu.rows { flex-direction: column; } .pillmenu.rows .row { display: flex; } .pillmenu.rows a { border-radius: 0; } .pillmenu.rows .row:first-of-type a:first-child { border-top-left-radius: var(--radius); } .pillmenu.rows .row:first-of-type a:last-child { border-top-right-radius: var(--radius); } .pillmenu.rows .row:last-of-type a:first-child { border-bottom-left-radius: var(--radius); } .pillmenu.rows .row:last-of-type a:last-child { border-bottom-right-radius: var(--radius); } @media screen and (max-width: 900px) { .pillmenu { /* convert into a sidemenu */ flex-direction: column; } .pillmenu a:first-child { border-bottom-left-radius: 0; border-top-left-radius: var(--radius); border-top-right-radius: var(--radius); } .pillmenu a:last-child { border-top-right-radius: 0; border-bottom-left-radius: var(--radius); border-bottom-right-radius: var(--radius); } .pillmenu.rows .row { display: contents; } .pillmenu.rows .row:first-of-type a:first-child, .pillmenu.rows .row:first-of-type a:last-child, .pillmenu.rows .row:last-of-type a:first-child, .pillmenu.rows .row:last-of-type a:last-child { border-radius: 0; } .pillmenu:is(.dropdown .inner *), .pillmenu:is(.dropdown .inner *).rows { display: contents; } } /* notification */ .notification { text-decoration: none; color: black; background: white; padding: 0.05rem 0.3rem; font-size: 12px; border-radius: 6px; height: max-content; font-weight: 600; display: flex; justify-content: center; align-items: center; } .notification.tr { padding: 0.05rem 0.3rem !important; } .notification.camo { background: transparent; color: inherit; font-family: inherit; font-size: 12px; padding: 0; } .notification:not(.chip) .icon { width: 100%; height: 100%; } /* chip */ .chip { background: var(--color-primary); color: var(--color-text-primary); font-weight: 600; border-radius: var(--circle); padding: 0.05rem var(--pad-3); } /* nav */ nav { background: var(--color-primary); color: var(--color-text-primary) !important; width: 100%; display: flex; justify-content: space-between; position: sticky; top: 0; z-index: 6374; padding: var(--pad-1) var(--pad-2); transition: opacity 0.15s; font-size: 16px; } nav .notification { font-size: 10px; } nav .content_container, footer .content_container { display: flex; justify-content: space-between; align-items: center; } nav button:not(.inner *), nav .button:not(.inner *) { border-radius: var(--radius); color: inherit; padding: var(--pad-3) var(--pad-3); background: transparent; text-decoration: none; position: relative; height: 48px; font-weight: 500; transition: opacity 0.15s, transform 0.15s; font-size: 0.95rem; } nav button:not(.inner *):hover, nav .button:not(.inner *):hover { background: transparent !important; outline: none; opacity: 100%; } nav button:not(.title):not(.active), nav .button:not(.title):not(.active) { opacity: 75%; } nav button:not(.title):not(.active):hover, nav .button:not(.title):not(.active):hover { opacity: 100%; } @media screen and (max-width: 900px) { nav { padding: var(--pad-2) var(--pad-1); margin-bottom: 0; backdrop-filter: none; bottom: 0; position: fixed; height: max-content; top: unset; } #page { padding-bottom: 12dvh; } nav button:not(.dropdown *), nav .button:not(.dropdown *) { font-size: 12px; flex-direction: column; width: 60px; height: 48px !important; gap: 0 !important; transform: scale(0.9); padding: 0 !important; } nav button.active, nav .button.active { animation: grow 1 0.25s 0.1s forwards running; } nav button .notification.tr, nav .button .notification.tr { font-size: 12px; position: absolute; top: 0; right: 0; } nav .button:not(.dropdown *) svg { width: 1.75em; height: 1.75em; } nav button::before, nav a::before { content: unset; } nav .nav_side { display: contents; } } .mobile_nav { width: 100dvw; border-bottom: solid 1px var(--color-super-lowered); background-color: var(--color-lowered); padding: var(--pad-2) var(--pad-4); display: flex; gap: var(--pad-2); align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 1; } /* mobile nav chip nav */ .mobile_nav .pillmenu { flex-direction: row !important; width: max-content !important; } .mobile_nav .pillmenu a { border-radius: 0; padding: var(--pad-1) var(--pad-3); } .mobile_nav .pillmenu a span { /* show icons only */ display: none; } .mobile_nav .pillmenu a:first-of-type { border-top-left-radius: var(--radius) !important; border-bottom-left-radius: var(--radius) !important; } .mobile_nav .pillmenu a:last-of-type { border-top-right-radius: var(--radius) !important; border-bottom-right-radius: var(--radius) !important; } @media screen and (min-width: 900px) { .mobile_nav:not(.mobile) { border-radius: var(--radius); border: solid 1px var(--color-super-lowered); } } /* dialog */ dialog { padding: 0; position: fixed; bottom: 0; top: 0; display: none; background: var(--color-surface); border: solid 1px var(--color-super-lowered) !important; border-radius: calc(var(--radius) * 2); max-width: 95%; border-style: none; margin: auto; color: var(--color-text); animation: popin ease-in-out 1 0.15s forwards running; } dialog .inner { padding: var(--pad-4); width: 25rem; max-width: 100%; font-weight: 500; } dialog .inner hr:not(.flipped):last-of-type { /* options separator */ margin-top: 2rem; } dialog .inner hr.flipped:last-of-type { margin-bottom: 2rem; } dialog[open] { display: block; } dialog::backdrop { background: hsla(0, 0%, 0%, 50%); backdrop-filter: blur(5px); animation: fadein ease-in-out 1 0.1s forwards running; } dialog:is(.dark *)::backdrop { background: hsla(0, 0%, 100%, 15%); } /* dropdown */ .dropdown { position: relative; } .dropdown .inner { --horizontal-padding: 1.25rem; display: none; position: absolute; background: var(--color-raised); /* border: solid 1px var(--color-super-lowered); */ z-index: 2; border-radius: calc(var(--radius) * 2); top: calc(100% + 5px); right: 0; width: max-content; min-width: 10rem; max-width: 100dvw; max-height: 80dvh; overflow: auto; padding: var(--pad-2) 0; box-shadow: 0 0 8px 2px var(--color-shadow); } .dropdown .inner.top { top: unset; bottom: calc(100% + 5px); } .dropdown .inner.left { left: 0; right: unset; } .dropdown .inner.open { display: flex; flex-direction: column; } .dropdown .inner .title { padding: var(--pad-1) var(--horizontal-padding); font-size: 13px; opacity: 50%; color: var(--color-text-raised); text-align: left; } .dropdown .inner b.title { font-weight: 600; } .dropdown .inner .title:not(:first-of-type) { padding-top: var(--pad-2); } .dropdown .inner a, .dropdown .inner button { width: 100%; padding: var(--pad-1) var(--horizontal-padding); transition: none !important; text-decoration: none; display: flex; align-items: center; justify-content: flex-start; gap: var(--pad-2); color: var(--color-text-raised); box-shadow: none !important; background: transparent; border-radius: 0 !important; font-size: 13px; min-height: 30px !important; height: 30px !important; font-weight: 500 !important; position: relative; opacity: 100% !important; & svg { width: 16px; height: 16px; aspect-ratio: 1 / 1; } } .dropdown .inner a:hover, .dropdown .inner button:hover, .dropdown .inner .active { background-color: var(--color-lowered); } .dropdown .inner a:focus, .dropdown .inner button:focus { outline: none; } .dropdown .inner .active::after { top: 0; left: 0; width: 5px; content: ""; height: 100%; position: absolute; background: var(--color-primary); border-radius: var(--radius); } .dropdown:not(nav *):has(.inner.open) button:not(.inner button) { color: var(--color-text-lowered) !important; background: var(--color-lowered) !important; } .dropdown:not(nav *):has(.inner.open) button.primary:not(.inner button) { color: var(--color-text-primary) !important; background: var(--color-primary-lowered) !important; } .dropdown:not(nav *):has(.inner.open) button.raised:not(.inner button) { color: var(--color-text-raised) !important; background: var(--color-raised) !important; } .dropdown button .icon { transition: transform 0.15s; } .dropdown:has(.inner.open) .dropdown_arrow { transform: rotateZ(180deg); } /* toasts */ #toast_zone { display: flex; flex-direction: column; align-items: flex-end; gap: var(--pad-1); position: fixed; bottom: var(--pad-2); right: var(--pad-2); z-index: 6880; width: calc(100% - var(--pad-4)); pointer-events: none; } .toast { box-shadow: 0 0 8px var(--color-shadow); width: max-content; max-width: calc(100dvw - var(--pad-4)); border-radius: var(--radius); padding: var(--pad-3) var(--pad-4); animation: popin ease-in-out 1 0.15s running; display: flex; justify-content: space-between; gap: var(--pad-4); } .toast.success { background: rgb(41, 81, 56); color: rgb(134, 239, 172); } .toast.error { background: rgb(81, 41, 41); color: rgb(239, 134, 134); } .toast .timer { font-family: monospace; display: flex; align-items: center; justify-content: center; min-width: max-content; } @keyframes fadein { from { opacity: 0%; } to { opacity: 100%; } } @keyframes static_fadeout { from { opacity: 100%; } to { opacity: 0%; } } @keyframes popin { from { opacity: 0%; transform: scale(0); } to { opacity: 100%; transform: scale(1); } } @keyframes fadeout { from { opacity: 100%; transform: scale(1); } to { opacity: 0%; transform: scale(0); } } /* tag */ .tag { font-size: 0.825rem; font-family: monospace; opacity: 75%; color: inherit; } /* hook:long */ .hook\:long\.hidden_text { position: relative; cursor: pointer; } .hook\:long\.hidden_text::before { content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: linear-gradient(transparent 20%, var(--color-surface)); border-radius: var(--radius); } .hook\:long\.hidden_text::after { position: absolute; content: "Show full content"; border-radius: var(--radius); padding: var(--pad-1) var(--pad-3); background: var(--color-primary); font-weight: 600; bottom: 20px; opacity: 0%; left: calc(50% - (180px / 2)); width: 156px; height: 24px; display: flex; align-items: center; justify-content: center; transform: scale(0); transition: transform 0.15s, opacity 0.25s; box-shadow: 0 8px 16px var(--color-shadow); color: var(--color-text-primary); } .hook\:long\.hidden_text:hover::after { transform: scale(1); opacity: 100%; } @media screen and (max-width: 900px) { .hook\:long\.hidden_text::after { transform: scale(1); opacity: 100%; } } /* details */ details summary { display: flex; align-items: center; gap: var(--pad-1); transition: background 0.15s; cursor: pointer; width: max-content; padding: var(--pad-1) var(--pad-3); border-radius: var(--radius); background: var(--color-lowered); } details summary:hover { background: var(--color-super-lowered); } details summary::-webkit-details-marker { display: none; } details[open] > summary { position: relative; color: var(--color-text-lowered) !important; background: var(--color-super-lowered) !important; margin-bottom: var(--pad-1); } details[open]:not(.accordion) > summary::after { top: 0; left: 0; width: 5px; content: ""; height: 100%; position: absolute; background: var(--color-primary); border-top-left-radius: var(--radius); border-bottom-left-radius: var(--radius); animation: fadein ease-in-out 1 0.1s forwards running; } details > .card { background: var(--color-super-raised); } details.accordion { --background: var(--color-surface); width: 100%; } details.accordion summary { background: var(--color-lowered); border-radius: var(--radius); padding: var(--pad-3) var(--pad-4); margin: 0; width: 100%; user-select: none; } details.accordion summary:hover { background: var(--color-super-lowered); } details.accordion summary .icon.dropdown_arrow { transition: transform 0.15s; } details.accordion[open] summary .icon.dropdown_arrow { transform: rotateZ(180deg); } details.accordion[open] summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } details.accordion .inner { background: var(--color-raised); padding: var(--pad-3) var(--pad-4); border-radius: var(--radius); border-top-left-radius: 0; border-top-right-radius: 0; } /* codemirror */ .CodeMirror { color: var(--color-text) !important; } .CodeMirror { background: transparent !important; font-family: inherit !important; height: 10rem !important; min-height: 100%; max-height: 100%; cursor: text; } .CodeMirror-cursor { border-color: rgb(0, 0, 0) !important; } .CodeMirror-cursor:is(.dark *) { border-color: rgb(255, 255, 255) !important; } .CodeMirror-cursor { height: 22px !important; } [role="presentation"]::-moz-selection, [role="presentation"] *::-moz-selection { background-color: rgb(191, 219, 254) !important; } [role="presentation"]::selection, [role="presentation"] *::selection, .CodeMirror-selected { background-color: rgb(191, 219, 254) !important; } [role="presentation"]:is(.dark *)::-moz-selection, [role="presentation"] *:is(.dark *)::-moz-selection { background-color: rgb(64, 64, 64) !important; } [role="presentation"]:is(.dark *)::selection, [role="presentation"] *:is(.dark *)::selection, .CodeMirror-selected:is(.dark *) { background-color: rgb(64, 64, 64) !important; } .cm-header { color: inherit !important; } .cm-variable-2, .cm-quote, .cm-keyword, .cm-string, .cm-atom { color: rgb(63, 98, 18) !important; } .cm-variable-2:is(.dark *), .cm-quote:is(.dark *), .cm-keyword:is(.dark *), .cm-string:is(.dark *), .cm-atom:is(.dark *) { color: rgb(217, 249, 157) !important; } .cm-comment { color: rgb(153 27 27) !important; } .cm-comment:is(.dark *) { color: rgb(254, 202, 202) !important; } .cm-comment { font-family: ui-monospace, monospace; } .cm-link { color: var(--color-link) !important; } .cm-url, .cm-property, .cm-qualifier { color: rgb(29, 78, 216) !important; } .cm-url:is(.dark *), .cm-property:is(.dark *), .cm-qualifier:is(.dark *) { color: rgb(191, 219, 254) !important; } .cm-variable-3, .cm-tag, .cm-def, .cm-attribute, .cm-number { color: rgb(91, 33, 182) !important; } .cm-variable-3:is(.dark *), .cm-tag:is(.dark *), .cm-def:is(.dark *), .cm-attribute:is(.dark *), .cm-number:is(.dark *) { color: rgb(221, 214, 254) !important; } .CodeMirror { height: auto !important; } .CodeMirror-line { padding-left: 0 !important; } .CodeMirror-focused .CodeMirror-placeholder { opacity: 50%; } .CodeMirror-gutters { border-color: var(--color-super-lowered) !important; background-color: var(--color-lowered) !important; } .CodeMirror-hints { background: var(--color-raised) !important; box-shadow: var(--shadow-x-offset) var(--shadow-y-offset) var(--shadow-size) var(--color-shadow); border-radius: var(--radius) !important; padding: var(--pad-1) !important; border-color: var(--color-super-lowered) !important; } .CodeMirror-hints li { color: var(--color-text-raised) !important; border-radius: var(--radius) !important; transition: background 0.15s, color 0.15s; font-size: 10px; padding: calc(var(--pad-1) / 2) var(--pad-2); } .CodeMirror-hints li.CodeMirror-hint-active { background-color: var(--color-primary) !important; color: var(--color-text-primary) !important; } /* threads */ .squig { --color: var(--color-super-lowered); --background: var(--color-raised); --size: 10px; position: relative; width: 100%; height: 20px; display: block; } .squig::before, .squig::after { content: ""; position: absolute; width: inherit; height: inherit; background-size: var(--size) 100%; } .squig::before { top: -2px; background-image: linear-gradient(45deg, var(--color) 35%, transparent 0), linear-gradient(-45deg, var(--color) 35%, transparent 0); } .squig::after { top: 0px; background-image: linear-gradient(45deg, var(--background) 35%, transparent 0), linear-gradient(-45deg, var(--background) 35%, transparent 0); } .thread { --pad: 15px; --squig-height: 20px; position: relative; padding-left: var(--pad); } .thread::before { content: ""; position: absolute; background: var(--color-super-lowered); height: calc(100% - var(--squig-height)); width: 5px; left: 0; top: 0; border-radius: var(--radius); }