forked from tangled.org/core
this repo has no description
1@tailwind base; 2@tailwind components; 3@tailwind utilities; 4@layer base { 5 @font-face { 6 font-family: "InterVariable"; 7 src: url("/static/fonts/InterVariable.woff2") format("woff2"); 8 font-weight: normal; 9 font-style: normal; 10 font-display: swap; 11 } 12 13 @font-face { 14 font-family: "InterVariable"; 15 src: url("/static/fonts/InterVariable-Italic.woff2") format("woff2"); 16 font-weight: 400; 17 font-style: italic; 18 font-display: swap; 19 } 20 21 @font-face { 22 font-family: "InterVariable"; 23 src: url("/static/fonts/InterVariable.woff2") format("woff2"); 24 font-weight: 600; 25 font-style: normal; 26 font-display: swap; 27 } 28 29 @font-face { 30 font-family: "IBMPlexMono"; 31 src: url("/static/fonts/IBMPlexMono-Regular.woff2") format("woff2"); 32 font-weight: normal; 33 font-style: italic; 34 font-display: swap; 35 } 36 37 ::selection { 38 @apply bg-yellow-400 text-black bg-opacity-30 dark:bg-yellow-600 dark:bg-opacity-50 dark:text-white; 39 } 40 41 @layer base { 42 html { 43 font-size: 14px; 44 scrollbar-gutter: stable; 45 } 46 @supports (font-variation-settings: normal) { 47 html { 48 font-feature-settings: 49 "ss01" 1, 50 "kern" 1, 51 "liga" 1, 52 "cv05" 1, 53 "tnum" 1; 54 } 55 } 56 57 a { 58 @apply no-underline text-black hover:underline hover:text-gray-800 dark:text-white dark:hover:text-gray-300; 59 } 60 61 label { 62 @apply block mb-2 text-gray-900 text-sm font-bold py-2 uppercase dark:text-gray-100; 63 } 64 input { 65 @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; 66 } 67 textarea { 68 @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; 69 } 70 details summary::-webkit-details-marker { 71 display: none; 72 } 73 74 code { 75 @apply px-1 font-mono rounded bg-gray-100 dark:bg-gray-700; 76 } 77 } 78 79 @layer components { 80 .btn { 81 @apply relative z-10 inline-flex min-h-[30px] cursor-pointer items-center justify-center 82 bg-transparent px-2 pb-[0.2rem] text-sm text-gray-900 83 before:absolute before:inset-0 before:-z-10 before:block before:rounded 84 before:border before:border-gray-200 before:bg-white 85 before:shadow-[inset_0_-2px_0_0_rgba(0,0,0,0.1),0_1px_0_0_rgba(0,0,0,0.04)] 86 before:content-[''] before:transition-all before:duration-150 before:ease-in-out 87 hover:before:shadow-[inset_0_-2px_0_0_rgba(0,0,0,0.15),0_2px_1px_0_rgba(0,0,0,0.06)] 88 hover:before:bg-gray-50 89 dark:hover:before:bg-gray-700 90 active:before:shadow-[inset_0_2px_2px_0_rgba(0,0,0,0.1)] 91 focus:outline-none focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-gray-400 92 disabled:cursor-not-allowed disabled:opacity-50 93 dark:text-gray-100 dark:before:bg-gray-800 dark:before:border-gray-700; 94 } 95 96 .btn-create { 97 @apply btn text-white 98 before:bg-green-600 hover:before:bg-green-700 99 dark:before:bg-green-700 dark:hover:before:bg-green-800 100 before:border before:border-green-700 hover:before:border-green-800 101 focus-visible:before:outline-green-500 102 disabled:before:bg-green-400 dark:disabled:before:bg-green-600; 103 } 104 105 .prose li:has(input) { 106 list-style: none; 107 } 108 109 .prose li { 110 @apply my-0 py-0; 111 } 112 113 .prose ul, .prose ol { 114 @apply my-1 py-0; 115 } 116 117 .prose img { 118 display: inline; 119 margin: 0; 120 vertical-align: middle; 121 } 122 123 .prose input { 124 @apply inline-block my-0 mb-1 mx-1; 125 } 126 127 .prose input[type="checkbox"] { 128 @apply disabled:accent-blue-500 checked:accent-blue-500 disabled:checked:accent-blue-500; 129 } 130 } 131 @layer utilities { 132 .error { 133 @apply py-1 text-red-400 dark:text-red-300; 134 } 135 .success { 136 @apply py-1 text-gray-900 dark:text-gray-100; 137 } 138 } 139} 140 141/* Background */ 142.bg { 143 color: #4c4f69; 144 background-color: #eff1f5; 145} 146/* PreWrapper */ 147.chroma { 148 color: #4c4f69; 149 background-color: #00000000; 150} 151/* Error */ 152.chroma .err { 153 color: #d20f39; 154} 155/* LineLink */ 156.chroma .lnlinks { 157 outline: none; 158 text-decoration: none; 159 color: inherit; 160} 161/* LineTableTD */ 162.chroma .lntd { 163 vertical-align: top; 164 padding: 0; 165 margin: 0; 166 border: 0; 167} 168/* LineTable */ 169.chroma .lntable { 170 border-spacing: 0; 171 padding: 0; 172 margin: 0; 173 border: 0; 174} 175/* LineHighlight */ 176.chroma .hl { 177 background-color: #bcc0cc; 178} 179/* LineNumbersTable */ 180.chroma .lnt { 181 white-space: pre; 182 -webkit-user-select: none; 183 user-select: none; 184 margin-right: 0.4em; 185 padding: 0 0.4em 0 0.4em; 186 color: #8c8fa1; 187} 188/* LineNumbers */ 189.chroma .ln { 190 white-space: pre; 191 -webkit-user-select: none; 192 user-select: none; 193 margin-right: 0.4em; 194 padding: 0 0.4em 0 0.4em; 195 color: #8c8fa1; 196} 197/* Line */ 198.chroma .line { 199 display: flex; 200} 201/* Keyword */ 202.chroma .k { 203 color: #8839ef; 204} 205/* KeywordConstant */ 206.chroma .kc { 207 color: #fe640b; 208} 209/* KeywordDeclaration */ 210.chroma .kd { 211 color: #d20f39; 212} 213/* KeywordNamespace */ 214.chroma .kn { 215 color: #179299; 216} 217/* KeywordPseudo */ 218.chroma .kp { 219 color: #8839ef; 220} 221/* KeywordReserved */ 222.chroma .kr { 223 color: #8839ef; 224} 225/* KeywordType */ 226.chroma .kt { 227 color: #d20f39; 228} 229/* NameAttribute */ 230.chroma .na { 231 color: #1e66f5; 232} 233/* NameBuiltin */ 234.chroma .nb { 235 color: #04a5e5; 236} 237/* NameBuiltinPseudo */ 238.chroma .bp { 239 color: #04a5e5; 240} 241/* NameClass */ 242.chroma .nc { 243 color: #df8e1d; 244} 245/* NameConstant */ 246.chroma .no { 247 color: #df8e1d; 248} 249/* NameDecorator */ 250.chroma .nd { 251 color: #1e66f5; 252 font-weight: bold; 253} 254/* NameEntity */ 255.chroma .ni { 256 color: #179299; 257} 258/* NameException */ 259.chroma .ne { 260 color: #fe640b; 261} 262/* NameFunction */ 263.chroma .nf { 264 color: #1e66f5; 265} 266/* NameFunctionMagic */ 267.chroma .fm { 268 color: #1e66f5; 269} 270/* NameLabel */ 271.chroma .nl { 272 color: #04a5e5; 273} 274/* NameNamespace */ 275.chroma .nn { 276 color: #fe640b; 277} 278/* NameProperty */ 279.chroma .py { 280 color: #fe640b; 281} 282/* NameTag */ 283.chroma .nt { 284 color: #8839ef; 285} 286/* NameVariable */ 287.chroma .nv { 288 color: #dc8a78; 289} 290/* NameVariableClass */ 291.chroma .vc { 292 color: #dc8a78; 293} 294/* NameVariableGlobal */ 295.chroma .vg { 296 color: #dc8a78; 297} 298/* NameVariableInstance */ 299.chroma .vi { 300 color: #dc8a78; 301} 302/* NameVariableMagic */ 303.chroma .vm { 304 color: #dc8a78; 305} 306/* LiteralString */ 307.chroma .s { 308 color: #40a02b; 309} 310/* LiteralStringAffix */ 311.chroma .sa { 312 color: #d20f39; 313} 314/* LiteralStringBacktick */ 315.chroma .sb { 316 color: #40a02b; 317} 318/* LiteralStringChar */ 319.chroma .sc { 320 color: #40a02b; 321} 322/* LiteralStringDelimiter */ 323.chroma .dl { 324 color: #1e66f5; 325} 326/* LiteralStringDoc */ 327.chroma .sd { 328 color: #9ca0b0; 329} 330/* LiteralStringDouble */ 331.chroma .s2 { 332 color: #40a02b; 333} 334/* LiteralStringEscape */ 335.chroma .se { 336 color: #1e66f5; 337} 338/* LiteralStringHeredoc */ 339.chroma .sh { 340 color: #9ca0b0; 341} 342/* LiteralStringInterpol */ 343.chroma .si { 344 color: #40a02b; 345} 346/* LiteralStringOther */ 347.chroma .sx { 348 color: #40a02b; 349} 350/* LiteralStringRegex */ 351.chroma .sr { 352 color: #179299; 353} 354/* LiteralStringSingle */ 355.chroma .s1 { 356 color: #40a02b; 357} 358/* LiteralStringSymbol */ 359.chroma .ss { 360 color: #40a02b; 361} 362/* LiteralNumber */ 363.chroma .m { 364 color: #fe640b; 365} 366/* LiteralNumberBin */ 367.chroma .mb { 368 color: #fe640b; 369} 370/* LiteralNumberFloat */ 371.chroma .mf { 372 color: #fe640b; 373} 374/* LiteralNumberHex */ 375.chroma .mh { 376 color: #fe640b; 377} 378/* LiteralNumberInteger */ 379.chroma .mi { 380 color: #fe640b; 381} 382/* LiteralNumberIntegerLong */ 383.chroma .il { 384 color: #fe640b; 385} 386/* LiteralNumberOct */ 387.chroma .mo { 388 color: #fe640b; 389} 390/* Operator */ 391.chroma .o { 392 color: #04a5e5; 393 font-weight: bold; 394} 395/* OperatorWord */ 396.chroma .ow { 397 color: #04a5e5; 398 font-weight: bold; 399} 400/* Comment */ 401.chroma .c { 402 color: #9ca0b0; 403 font-style: italic; 404} 405/* CommentHashbang */ 406.chroma .ch { 407 color: #9ca0b0; 408 font-style: italic; 409} 410/* CommentMultiline */ 411.chroma .cm { 412 color: #9ca0b0; 413 font-style: italic; 414} 415/* CommentSingle */ 416.chroma .c1 { 417 color: #9ca0b0; 418 font-style: italic; 419} 420/* CommentSpecial */ 421.chroma .cs { 422 color: #9ca0b0; 423 font-style: italic; 424} 425/* CommentPreproc */ 426.chroma .cp { 427 color: #9ca0b0; 428 font-style: italic; 429} 430/* CommentPreprocFile */ 431.chroma .cpf { 432 color: #9ca0b0; 433 font-weight: bold; 434 font-style: italic; 435} 436/* GenericDeleted */ 437.chroma .gd { 438 color: #d20f39; 439 background-color: oklch(93.6% 0.032 17.717); 440} 441/* GenericEmph */ 442.chroma .ge { 443 font-style: italic; 444} 445/* GenericError */ 446.chroma .gr { 447 color: #d20f39; 448} 449/* GenericHeading */ 450.chroma .gh { 451 color: #fe640b; 452 font-weight: bold; 453} 454/* GenericInserted */ 455.chroma .gi { 456 color: #40a02b; 457 background-color: oklch(96.2% 0.044 156.743); 458} 459/* GenericStrong */ 460.chroma .gs { 461 font-weight: bold; 462} 463/* GenericSubheading */ 464.chroma .gu { 465 color: #fe640b; 466 font-weight: bold; 467} 468/* GenericTraceback */ 469.chroma .gt { 470 color: #d20f39; 471} 472/* GenericUnderline */ 473.chroma .gl { 474 text-decoration: underline; 475} 476 477@media (prefers-color-scheme: dark) { 478 /* Background */ 479 .bg { 480 color: #cad3f5; 481 background-color: #24273a; 482 } 483 /* PreWrapper */ 484 .chroma { 485 color: #cad3f5; 486 } 487 /* Error */ 488 .chroma .err { 489 color: #ed8796; 490 } 491 /* LineLink */ 492 .chroma .lnlinks { 493 outline: none; 494 text-decoration: none; 495 color: inherit; 496 } 497 /* LineTableTD */ 498 .chroma .lntd { 499 vertical-align: top; 500 padding: 0; 501 margin: 0; 502 border: 0; 503 } 504 /* LineTable */ 505 .chroma .lntable { 506 border-spacing: 0; 507 padding: 0; 508 margin: 0; 509 border: 0; 510 } 511 /* LineHighlight */ 512 .chroma .hl { 513 background-color: #494d64; 514 } 515 /* LineNumbersTable */ 516 .chroma .lnt { 517 white-space: pre; 518 -webkit-user-select: none; 519 user-select: none; 520 margin-right: 0.4em; 521 padding: 0 0.4em 0 0.4em; 522 color: #8087a2; 523 } 524 /* LineNumbers */ 525 .chroma .ln { 526 white-space: pre; 527 -webkit-user-select: none; 528 user-select: none; 529 margin-right: 0.4em; 530 padding: 0 0.4em 0 0.4em; 531 color: #8087a2; 532 } 533 /* Line */ 534 .chroma .line { 535 display: flex; 536 } 537 /* Keyword */ 538 .chroma .k { 539 color: #c6a0f6; 540 } 541 /* KeywordConstant */ 542 .chroma .kc { 543 color: #f5a97f; 544 } 545 /* KeywordDeclaration */ 546 .chroma .kd { 547 color: #ed8796; 548 } 549 /* KeywordNamespace */ 550 .chroma .kn { 551 color: #8bd5ca; 552 } 553 /* KeywordPseudo */ 554 .chroma .kp { 555 color: #c6a0f6; 556 } 557 /* KeywordReserved */ 558 .chroma .kr { 559 color: #c6a0f6; 560 } 561 /* KeywordType */ 562 .chroma .kt { 563 color: #ed8796; 564 } 565 /* NameAttribute */ 566 .chroma .na { 567 color: #8aadf4; 568 } 569 /* NameBuiltin */ 570 .chroma .nb { 571 color: #91d7e3; 572 } 573 /* NameBuiltinPseudo */ 574 .chroma .bp { 575 color: #91d7e3; 576 } 577 /* NameClass */ 578 .chroma .nc { 579 color: #eed49f; 580 } 581 /* NameConstant */ 582 .chroma .no { 583 color: #eed49f; 584 } 585 /* NameDecorator */ 586 .chroma .nd { 587 color: #8aadf4; 588 font-weight: bold; 589 } 590 /* NameEntity */ 591 .chroma .ni { 592 color: #8bd5ca; 593 } 594 /* NameException */ 595 .chroma .ne { 596 color: #f5a97f; 597 } 598 /* NameFunction */ 599 .chroma .nf { 600 color: #8aadf4; 601 } 602 /* NameFunctionMagic */ 603 .chroma .fm { 604 color: #8aadf4; 605 } 606 /* NameLabel */ 607 .chroma .nl { 608 color: #91d7e3; 609 } 610 /* NameNamespace */ 611 .chroma .nn { 612 color: #f5a97f; 613 } 614 /* NameProperty */ 615 .chroma .py { 616 color: #f5a97f; 617 } 618 /* NameTag */ 619 .chroma .nt { 620 color: #c6a0f6; 621 } 622 /* NameVariable */ 623 .chroma .nv { 624 color: #f4dbd6; 625 } 626 /* NameVariableClass */ 627 .chroma .vc { 628 color: #f4dbd6; 629 } 630 /* NameVariableGlobal */ 631 .chroma .vg { 632 color: #f4dbd6; 633 } 634 /* NameVariableInstance */ 635 .chroma .vi { 636 color: #f4dbd6; 637 } 638 /* NameVariableMagic */ 639 .chroma .vm { 640 color: #f4dbd6; 641 } 642 /* LiteralString */ 643 .chroma .s { 644 color: #a6da95; 645 } 646 /* LiteralStringAffix */ 647 .chroma .sa { 648 color: #ed8796; 649 } 650 /* LiteralStringBacktick */ 651 .chroma .sb { 652 color: #a6da95; 653 } 654 /* LiteralStringChar */ 655 .chroma .sc { 656 color: #a6da95; 657 } 658 /* LiteralStringDelimiter */ 659 .chroma .dl { 660 color: #8aadf4; 661 } 662 /* LiteralStringDoc */ 663 .chroma .sd { 664 color: #6e738d; 665 } 666 /* LiteralStringDouble */ 667 .chroma .s2 { 668 color: #a6da95; 669 } 670 /* LiteralStringEscape */ 671 .chroma .se { 672 color: #8aadf4; 673 } 674 /* LiteralStringHeredoc */ 675 .chroma .sh { 676 color: #6e738d; 677 } 678 /* LiteralStringInterpol */ 679 .chroma .si { 680 color: #a6da95; 681 } 682 /* LiteralStringOther */ 683 .chroma .sx { 684 color: #a6da95; 685 } 686 /* LiteralStringRegex */ 687 .chroma .sr { 688 color: #8bd5ca; 689 } 690 /* LiteralStringSingle */ 691 .chroma .s1 { 692 color: #a6da95; 693 } 694 /* LiteralStringSymbol */ 695 .chroma .ss { 696 color: #a6da95; 697 } 698 /* LiteralNumber */ 699 .chroma .m { 700 color: #f5a97f; 701 } 702 /* LiteralNumberBin */ 703 .chroma .mb { 704 color: #f5a97f; 705 } 706 /* LiteralNumberFloat */ 707 .chroma .mf { 708 color: #f5a97f; 709 } 710 /* LiteralNumberHex */ 711 .chroma .mh { 712 color: #f5a97f; 713 } 714 /* LiteralNumberInteger */ 715 .chroma .mi { 716 color: #f5a97f; 717 } 718 /* LiteralNumberIntegerLong */ 719 .chroma .il { 720 color: #f5a97f; 721 } 722 /* LiteralNumberOct */ 723 .chroma .mo { 724 color: #f5a97f; 725 } 726 /* Operator */ 727 .chroma .o { 728 color: #91d7e3; 729 font-weight: bold; 730 } 731 /* OperatorWord */ 732 .chroma .ow { 733 color: #91d7e3; 734 font-weight: bold; 735 } 736 /* Comment */ 737 .chroma .c { 738 color: #6e738d; 739 font-style: italic; 740 } 741 /* CommentHashbang */ 742 .chroma .ch { 743 color: #6e738d; 744 font-style: italic; 745 } 746 /* CommentMultiline */ 747 .chroma .cm { 748 color: #6e738d; 749 font-style: italic; 750 } 751 /* CommentSingle */ 752 .chroma .c1 { 753 color: #6e738d; 754 font-style: italic; 755 } 756 /* CommentSpecial */ 757 .chroma .cs { 758 color: #6e738d; 759 font-style: italic; 760 } 761 /* CommentPreproc */ 762 .chroma .cp { 763 color: #6e738d; 764 font-style: italic; 765 } 766 /* CommentPreprocFile */ 767 .chroma .cpf { 768 color: #6e738d; 769 font-weight: bold; 770 font-style: italic; 771 } 772 /* GenericDeleted */ 773 .chroma .gd { 774 color: #ed8796; 775 background-color: oklch(44.4% 0.177 26.899 / 0.5); 776 } 777 /* GenericEmph */ 778 .chroma .ge { 779 font-style: italic; 780 } 781 /* GenericError */ 782 .chroma .gr { 783 color: #ed8796; 784 } 785 /* GenericHeading */ 786 .chroma .gh { 787 color: #f5a97f; 788 font-weight: bold; 789 } 790 /* GenericInserted */ 791 .chroma .gi { 792 color: #a6da95; 793 background-color: oklch(44.8% 0.119 151.328 / 0.5); 794 } 795 /* GenericStrong */ 796 .chroma .gs { 797 font-weight: bold; 798 } 799 /* GenericSubheading */ 800 .chroma .gu { 801 color: #f5a97f; 802 font-weight: bold; 803 } 804 /* GenericTraceback */ 805 .chroma .gt { 806 color: #ed8796; 807 } 808 /* GenericUnderline */ 809 .chroma .gl { 810 text-decoration: underline; 811 } 812} 813 814.chroma .line:has(.ln:target) { 815 @apply bg-amber-400/30 dark:bg-amber-500/20; 816}