@tailwind base; @tailwind components; @tailwind utilities; @layer base { @font-face { font-family: "InterVariable"; src: url("/static/fonts/InterVariable.woff2") format("woff2"); font-weight: normal; font-style: normal; font-display: swap; } @font-face { font-family: "InterVariable"; src: url("/static/fonts/InterVariable-Italic.woff2") format("woff2"); font-weight: normal; font-style: italic; font-display: swap; } @font-face { font-family: "IBMPlexMono"; src: url("/static/fonts/IBMPlexMono-Regular.woff2") format("woff2"); font-weight: normal; font-style: italic; font-display: swap; } ::selection { @apply bg-yellow-400 text-black bg-opacity-30 dark:bg-yellow-600 dark:bg-opacity-50 dark:text-white; } @layer base { html { font-size: 15px; } @supports (font-variation-settings: normal) { html { font-feature-settings: "ss01" 1, "kern" 1, "liga" 1, "cv05" 1, "tnum" 1; } } a { @apply no-underline text-black hover:underline hover:text-gray-800 dark:text-white dark:hover:text-gray-300; } label { @apply block mb-2 text-gray-900 text-sm font-bold py-2 uppercase dark:text-gray-100; } input { @apply border border-gray-400 block rounded bg-gray-50 focus:ring-black p-3 dark:bg-gray-800 dark:border-gray-600 dark:text-white dark:focus:ring-gray-400; } textarea { @apply border border-gray-400 block rounded bg-gray-50 focus:ring-black p-3 dark:bg-gray-800 dark:border-gray-600 dark:text-white dark:focus:ring-gray-400; } details summary::-webkit-details-marker { display: none; } } @layer components { .btn { @apply relative z-10 inline-flex min-h-[30px] cursor-pointer items-center justify-center bg-transparent px-2 pb-[0.2rem] text-base text-gray-900 before:absolute before:inset-0 before:-z-10 before:block before:rounded before:border before:border-gray-200 before:bg-white before:drop-shadow-sm before:content-[''] hover:before:border-gray-300 hover:before:bg-gray-50 hover:before:shadow-[0_2px_2px_0_rgba(20,20,96,0.1),inset_0_-2px_0_0_#f5f5f5] focus:outline-none focus-visible:before:outline focus-visible:before:outline-4 focus-visible:before:outline-gray-500 active:before:shadow-[inset_0_2px_2px_0_rgba(20,20,96,0.1)] disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:before:border-gray-200 disabled:hover:before:bg-white disabled:hover:before:shadow-none dark:text-gray-100 dark:before:bg-gray-800 dark:before:border-gray-700 dark:hover:before:border-gray-600 dark:hover:before:bg-gray-700 dark:hover:before:shadow-[0_2px_2px_0_rgba(0,0,0,0.2),inset_0_-2px_0_0_#2d3748] dark:focus-visible:before:outline-gray-400 dark:active:before:shadow-[inset_0_2px_2px_0_rgba(0,0,0,0.3)] dark:disabled:hover:before:bg-gray-800 dark:disabled:hover:before:border-gray-700; } } @layer utilities { .error { @apply py-1 text-red-400 dark:text-red-300; } .success { @apply py-1 text-gray-900 dark:text-gray-100; } } } /* Background */ .bg { color: #4c4f69; background-color: #eff1f5; } /* PreWrapper */ .chroma { color: #4c4f69; background-color: #eff1f5; } /* Error */ .chroma .err { color: #d20f39 } /* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit } /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } /* LineHighlight */ .chroma .hl { background-color: #bcc0cc } /* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #8c8fa1 } /* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #8c8fa1 } /* Line */ .chroma .line { display: flex; } /* Keyword */ .chroma .k { color: #8839ef } /* KeywordConstant */ .chroma .kc { color: #fe640b } /* KeywordDeclaration */ .chroma .kd { color: #d20f39 } /* KeywordNamespace */ .chroma .kn { color: #179299 } /* KeywordPseudo */ .chroma .kp { color: #8839ef } /* KeywordReserved */ .chroma .kr { color: #8839ef } /* KeywordType */ .chroma .kt { color: #d20f39 } /* NameAttribute */ .chroma .na { color: #1e66f5 } /* NameBuiltin */ .chroma .nb { color: #04a5e5 } /* NameBuiltinPseudo */ .chroma .bp { color: #04a5e5 } /* NameClass */ .chroma .nc { color: #df8e1d } /* NameConstant */ .chroma .no { color: #df8e1d } /* NameDecorator */ .chroma .nd { color: #1e66f5; font-weight: bold } /* NameEntity */ .chroma .ni { color: #179299 } /* NameException */ .chroma .ne { color: #fe640b } /* NameFunction */ .chroma .nf { color: #1e66f5 } /* NameFunctionMagic */ .chroma .fm { color: #1e66f5 } /* NameLabel */ .chroma .nl { color: #04a5e5 } /* NameNamespace */ .chroma .nn { color: #fe640b } /* NameProperty */ .chroma .py { color: #fe640b } /* NameTag */ .chroma .nt { color: #8839ef } /* NameVariable */ .chroma .nv { color: #dc8a78 } /* NameVariableClass */ .chroma .vc { color: #dc8a78 } /* NameVariableGlobal */ .chroma .vg { color: #dc8a78 } /* NameVariableInstance */ .chroma .vi { color: #dc8a78 } /* NameVariableMagic */ .chroma .vm { color: #dc8a78 } /* LiteralString */ .chroma .s { color: #40a02b } /* LiteralStringAffix */ .chroma .sa { color: #d20f39 } /* LiteralStringBacktick */ .chroma .sb { color: #40a02b } /* LiteralStringChar */ .chroma .sc { color: #40a02b } /* LiteralStringDelimiter */ .chroma .dl { color: #1e66f5 } /* LiteralStringDoc */ .chroma .sd { color: #9ca0b0 } /* LiteralStringDouble */ .chroma .s2 { color: #40a02b } /* LiteralStringEscape */ .chroma .se { color: #1e66f5 } /* LiteralStringHeredoc */ .chroma .sh { color: #9ca0b0 } /* LiteralStringInterpol */ .chroma .si { color: #40a02b } /* LiteralStringOther */ .chroma .sx { color: #40a02b } /* LiteralStringRegex */ .chroma .sr { color: #179299 } /* LiteralStringSingle */ .chroma .s1 { color: #40a02b } /* LiteralStringSymbol */ .chroma .ss { color: #40a02b } /* LiteralNumber */ .chroma .m { color: #fe640b } /* LiteralNumberBin */ .chroma .mb { color: #fe640b } /* LiteralNumberFloat */ .chroma .mf { color: #fe640b } /* LiteralNumberHex */ .chroma .mh { color: #fe640b } /* LiteralNumberInteger */ .chroma .mi { color: #fe640b } /* LiteralNumberIntegerLong */ .chroma .il { color: #fe640b } /* LiteralNumberOct */ .chroma .mo { color: #fe640b } /* Operator */ .chroma .o { color: #04a5e5; font-weight: bold } /* OperatorWord */ .chroma .ow { color: #04a5e5; font-weight: bold } /* Comment */ .chroma .c { color: #9ca0b0; font-style: italic } /* CommentHashbang */ .chroma .ch { color: #9ca0b0; font-style: italic } /* CommentMultiline */ .chroma .cm { color: #9ca0b0; font-style: italic } /* CommentSingle */ .chroma .c1 { color: #9ca0b0; font-style: italic } /* CommentSpecial */ .chroma .cs { color: #9ca0b0; font-style: italic } /* CommentPreproc */ .chroma .cp { color: #9ca0b0; font-style: italic } /* CommentPreprocFile */ .chroma .cpf { color: #9ca0b0; font-weight: bold; font-style: italic } /* GenericDeleted */ .chroma .gd { color: #d20f39; background-color: oklch(93.6% 0.032 17.717) } /* GenericEmph */ .chroma .ge { font-style: italic } /* GenericError */ .chroma .gr { color: #d20f39 } /* GenericHeading */ .chroma .gh { color: #fe640b; font-weight: bold } /* GenericInserted */ .chroma .gi { color: #40a02b; background-color: oklch(96.2% 0.044 156.743) } /* GenericStrong */ .chroma .gs { font-weight: bold } /* GenericSubheading */ .chroma .gu { color: #fe640b; font-weight: bold } /* GenericTraceback */ .chroma .gt { color: #d20f39 } /* GenericUnderline */ .chroma .gl { text-decoration: underline } @media (prefers-color-scheme: dark) { /* Background */ .bg { color: #cad3f5; background-color: #24273a; } /* PreWrapper */ .chroma { color: #cad3f5; background-color: #24273a; } /* Error */ .chroma .err { color: #ed8796 } /* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit } /* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } /* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; } /* LineHighlight */ .chroma .hl { background-color: #494d64 } /* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #8087a2 } /* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #8087a2 } /* Line */ .chroma .line { display: flex; } /* Keyword */ .chroma .k { color: #c6a0f6 } /* KeywordConstant */ .chroma .kc { color: #f5a97f } /* KeywordDeclaration */ .chroma .kd { color: #ed8796 } /* KeywordNamespace */ .chroma .kn { color: #8bd5ca } /* KeywordPseudo */ .chroma .kp { color: #c6a0f6 } /* KeywordReserved */ .chroma .kr { color: #c6a0f6 } /* KeywordType */ .chroma .kt { color: #ed8796 } /* NameAttribute */ .chroma .na { color: #8aadf4 } /* NameBuiltin */ .chroma .nb { color: #91d7e3 } /* NameBuiltinPseudo */ .chroma .bp { color: #91d7e3 } /* NameClass */ .chroma .nc { color: #eed49f } /* NameConstant */ .chroma .no { color: #eed49f } /* NameDecorator */ .chroma .nd { color: #8aadf4; font-weight: bold } /* NameEntity */ .chroma .ni { color: #8bd5ca } /* NameException */ .chroma .ne { color: #f5a97f } /* NameFunction */ .chroma .nf { color: #8aadf4 } /* NameFunctionMagic */ .chroma .fm { color: #8aadf4 } /* NameLabel */ .chroma .nl { color: #91d7e3 } /* NameNamespace */ .chroma .nn { color: #f5a97f } /* NameProperty */ .chroma .py { color: #f5a97f } /* NameTag */ .chroma .nt { color: #c6a0f6 } /* NameVariable */ .chroma .nv { color: #f4dbd6 } /* NameVariableClass */ .chroma .vc { color: #f4dbd6 } /* NameVariableGlobal */ .chroma .vg { color: #f4dbd6 } /* NameVariableInstance */ .chroma .vi { color: #f4dbd6 } /* NameVariableMagic */ .chroma .vm { color: #f4dbd6 } /* LiteralString */ .chroma .s { color: #a6da95 } /* LiteralStringAffix */ .chroma .sa { color: #ed8796 } /* LiteralStringBacktick */ .chroma .sb { color: #a6da95 } /* LiteralStringChar */ .chroma .sc { color: #a6da95 } /* LiteralStringDelimiter */ .chroma .dl { color: #8aadf4 } /* LiteralStringDoc */ .chroma .sd { color: #6e738d } /* LiteralStringDouble */ .chroma .s2 { color: #a6da95 } /* LiteralStringEscape */ .chroma .se { color: #8aadf4 } /* LiteralStringHeredoc */ .chroma .sh { color: #6e738d } /* LiteralStringInterpol */ .chroma .si { color: #a6da95 } /* LiteralStringOther */ .chroma .sx { color: #a6da95 } /* LiteralStringRegex */ .chroma .sr { color: #8bd5ca } /* LiteralStringSingle */ .chroma .s1 { color: #a6da95 } /* LiteralStringSymbol */ .chroma .ss { color: #a6da95 } /* LiteralNumber */ .chroma .m { color: #f5a97f } /* LiteralNumberBin */ .chroma .mb { color: #f5a97f } /* LiteralNumberFloat */ .chroma .mf { color: #f5a97f } /* LiteralNumberHex */ .chroma .mh { color: #f5a97f } /* LiteralNumberInteger */ .chroma .mi { color: #f5a97f } /* LiteralNumberIntegerLong */ .chroma .il { color: #f5a97f } /* LiteralNumberOct */ .chroma .mo { color: #f5a97f } /* Operator */ .chroma .o { color: #91d7e3; font-weight: bold } /* OperatorWord */ .chroma .ow { color: #91d7e3; font-weight: bold } /* Comment */ .chroma .c { color: #6e738d; font-style: italic } /* CommentHashbang */ .chroma .ch { color: #6e738d; font-style: italic } /* CommentMultiline */ .chroma .cm { color: #6e738d; font-style: italic } /* CommentSingle */ .chroma .c1 { color: #6e738d; font-style: italic } /* CommentSpecial */ .chroma .cs { color: #6e738d; font-style: italic } /* CommentPreproc */ .chroma .cp { color: #6e738d; font-style: italic } /* CommentPreprocFile */ .chroma .cpf { color: #6e738d; font-weight: bold; font-style: italic } /* GenericDeleted */ .chroma .gd { color: #ed8796; background-color: oklch(44.4% 0.177 26.899 / 0.5) } /* GenericEmph */ .chroma .ge { font-style: italic } /* GenericError */ .chroma .gr { color: #ed8796 } /* GenericHeading */ .chroma .gh { color: #f5a97f; font-weight: bold } /* GenericInserted */ .chroma .gi { color: #a6da95; background-color: oklch(44.8% 0.119 151.328 / 0.5) } /* GenericStrong */ .chroma .gs { font-weight: bold } /* GenericSubheading */ .chroma .gu { color: #f5a97f; font-weight: bold } /* GenericTraceback */ .chroma .gt { color: #ed8796 } /* GenericUnderline */ .chroma .gl { text-decoration: underline } } .chroma .line:has(.ln:target) { @apply bg-amber-400/30 dark:bg-amber-500/20 }