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: #eff1f5; 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 background-color: #24273a; 487 } 488 /* Error */ 489 .chroma .err { 490 color: #ed8796; 491 } 492 /* LineLink */ 493 .chroma .lnlinks { 494 outline: none; 495 text-decoration: none; 496 color: inherit; 497 } 498 /* LineTableTD */ 499 .chroma .lntd { 500 vertical-align: top; 501 padding: 0; 502 margin: 0; 503 border: 0; 504 } 505 /* LineTable */ 506 .chroma .lntable { 507 border-spacing: 0; 508 padding: 0; 509 margin: 0; 510 border: 0; 511 } 512 /* LineHighlight */ 513 .chroma .hl { 514 background-color: #494d64; 515 } 516 /* LineNumbersTable */ 517 .chroma .lnt { 518 white-space: pre; 519 -webkit-user-select: none; 520 user-select: none; 521 margin-right: 0.4em; 522 padding: 0 0.4em 0 0.4em; 523 color: #8087a2; 524 } 525 /* LineNumbers */ 526 .chroma .ln { 527 white-space: pre; 528 -webkit-user-select: none; 529 user-select: none; 530 margin-right: 0.4em; 531 padding: 0 0.4em 0 0.4em; 532 color: #8087a2; 533 } 534 /* Line */ 535 .chroma .line { 536 display: flex; 537 } 538 /* Keyword */ 539 .chroma .k { 540 color: #c6a0f6; 541 } 542 /* KeywordConstant */ 543 .chroma .kc { 544 color: #f5a97f; 545 } 546 /* KeywordDeclaration */ 547 .chroma .kd { 548 color: #ed8796; 549 } 550 /* KeywordNamespace */ 551 .chroma .kn { 552 color: #8bd5ca; 553 } 554 /* KeywordPseudo */ 555 .chroma .kp { 556 color: #c6a0f6; 557 } 558 /* KeywordReserved */ 559 .chroma .kr { 560 color: #c6a0f6; 561 } 562 /* KeywordType */ 563 .chroma .kt { 564 color: #ed8796; 565 } 566 /* NameAttribute */ 567 .chroma .na { 568 color: #8aadf4; 569 } 570 /* NameBuiltin */ 571 .chroma .nb { 572 color: #91d7e3; 573 } 574 /* NameBuiltinPseudo */ 575 .chroma .bp { 576 color: #91d7e3; 577 } 578 /* NameClass */ 579 .chroma .nc { 580 color: #eed49f; 581 } 582 /* NameConstant */ 583 .chroma .no { 584 color: #eed49f; 585 } 586 /* NameDecorator */ 587 .chroma .nd { 588 color: #8aadf4; 589 font-weight: bold; 590 } 591 /* NameEntity */ 592 .chroma .ni { 593 color: #8bd5ca; 594 } 595 /* NameException */ 596 .chroma .ne { 597 color: #f5a97f; 598 } 599 /* NameFunction */ 600 .chroma .nf { 601 color: #8aadf4; 602 } 603 /* NameFunctionMagic */ 604 .chroma .fm { 605 color: #8aadf4; 606 } 607 /* NameLabel */ 608 .chroma .nl { 609 color: #91d7e3; 610 } 611 /* NameNamespace */ 612 .chroma .nn { 613 color: #f5a97f; 614 } 615 /* NameProperty */ 616 .chroma .py { 617 color: #f5a97f; 618 } 619 /* NameTag */ 620 .chroma .nt { 621 color: #c6a0f6; 622 } 623 /* NameVariable */ 624 .chroma .nv { 625 color: #f4dbd6; 626 } 627 /* NameVariableClass */ 628 .chroma .vc { 629 color: #f4dbd6; 630 } 631 /* NameVariableGlobal */ 632 .chroma .vg { 633 color: #f4dbd6; 634 } 635 /* NameVariableInstance */ 636 .chroma .vi { 637 color: #f4dbd6; 638 } 639 /* NameVariableMagic */ 640 .chroma .vm { 641 color: #f4dbd6; 642 } 643 /* LiteralString */ 644 .chroma .s { 645 color: #a6da95; 646 } 647 /* LiteralStringAffix */ 648 .chroma .sa { 649 color: #ed8796; 650 } 651 /* LiteralStringBacktick */ 652 .chroma .sb { 653 color: #a6da95; 654 } 655 /* LiteralStringChar */ 656 .chroma .sc { 657 color: #a6da95; 658 } 659 /* LiteralStringDelimiter */ 660 .chroma .dl { 661 color: #8aadf4; 662 } 663 /* LiteralStringDoc */ 664 .chroma .sd { 665 color: #6e738d; 666 } 667 /* LiteralStringDouble */ 668 .chroma .s2 { 669 color: #a6da95; 670 } 671 /* LiteralStringEscape */ 672 .chroma .se { 673 color: #8aadf4; 674 } 675 /* LiteralStringHeredoc */ 676 .chroma .sh { 677 color: #6e738d; 678 } 679 /* LiteralStringInterpol */ 680 .chroma .si { 681 color: #a6da95; 682 } 683 /* LiteralStringOther */ 684 .chroma .sx { 685 color: #a6da95; 686 } 687 /* LiteralStringRegex */ 688 .chroma .sr { 689 color: #8bd5ca; 690 } 691 /* LiteralStringSingle */ 692 .chroma .s1 { 693 color: #a6da95; 694 } 695 /* LiteralStringSymbol */ 696 .chroma .ss { 697 color: #a6da95; 698 } 699 /* LiteralNumber */ 700 .chroma .m { 701 color: #f5a97f; 702 } 703 /* LiteralNumberBin */ 704 .chroma .mb { 705 color: #f5a97f; 706 } 707 /* LiteralNumberFloat */ 708 .chroma .mf { 709 color: #f5a97f; 710 } 711 /* LiteralNumberHex */ 712 .chroma .mh { 713 color: #f5a97f; 714 } 715 /* LiteralNumberInteger */ 716 .chroma .mi { 717 color: #f5a97f; 718 } 719 /* LiteralNumberIntegerLong */ 720 .chroma .il { 721 color: #f5a97f; 722 } 723 /* LiteralNumberOct */ 724 .chroma .mo { 725 color: #f5a97f; 726 } 727 /* Operator */ 728 .chroma .o { 729 color: #91d7e3; 730 font-weight: bold; 731 } 732 /* OperatorWord */ 733 .chroma .ow { 734 color: #91d7e3; 735 font-weight: bold; 736 } 737 /* Comment */ 738 .chroma .c { 739 color: #6e738d; 740 font-style: italic; 741 } 742 /* CommentHashbang */ 743 .chroma .ch { 744 color: #6e738d; 745 font-style: italic; 746 } 747 /* CommentMultiline */ 748 .chroma .cm { 749 color: #6e738d; 750 font-style: italic; 751 } 752 /* CommentSingle */ 753 .chroma .c1 { 754 color: #6e738d; 755 font-style: italic; 756 } 757 /* CommentSpecial */ 758 .chroma .cs { 759 color: #6e738d; 760 font-style: italic; 761 } 762 /* CommentPreproc */ 763 .chroma .cp { 764 color: #6e738d; 765 font-style: italic; 766 } 767 /* CommentPreprocFile */ 768 .chroma .cpf { 769 color: #6e738d; 770 font-weight: bold; 771 font-style: italic; 772 } 773 /* GenericDeleted */ 774 .chroma .gd { 775 color: #ed8796; 776 background-color: oklch(44.4% 0.177 26.899 / 0.5); 777 } 778 /* GenericEmph */ 779 .chroma .ge { 780 font-style: italic; 781 } 782 /* GenericError */ 783 .chroma .gr { 784 color: #ed8796; 785 } 786 /* GenericHeading */ 787 .chroma .gh { 788 color: #f5a97f; 789 font-weight: bold; 790 } 791 /* GenericInserted */ 792 .chroma .gi { 793 color: #a6da95; 794 background-color: oklch(44.8% 0.119 151.328 / 0.5); 795 } 796 /* GenericStrong */ 797 .chroma .gs { 798 font-weight: bold; 799 } 800 /* GenericSubheading */ 801 .chroma .gu { 802 color: #f5a97f; 803 font-weight: bold; 804 } 805 /* GenericTraceback */ 806 .chroma .gt { 807 color: #ed8796; 808 } 809 /* GenericUnderline */ 810 .chroma .gl { 811 text-decoration: underline; 812 } 813} 814 815.chroma .line:has(.ln:target) { 816 @apply bg-amber-400/30 dark:bg-amber-500/20; 817}