Monorepo for Tangled tangled.org
8

Configure Feed

Select the types of activity you want to include in your feed.

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-variations"); 8 font-weight: 100 600; 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") 16 format("woff2-variations"); 17 font-weight: 100 600; 18 font-style: italic; 19 font-display: swap; 20 } 21 22 @font-face { 23 font-family: "InterVariable"; 24 src: url("/static/fonts/InterDisplay-Bold.woff2") format("woff2"); 25 font-weight: bold; 26 font-style: normal; 27 font-display: swap; 28 } 29 30 @font-face { 31 font-family: "InterVariable"; 32 src: url("/static/fonts/InterDisplay-BoldItalic.woff2") format("woff2"); 33 font-weight: bold; 34 font-style: italic; 35 font-display: swap; 36 } 37 38 @font-face { 39 font-family: "IBMPlexMono"; 40 src: url("/static/fonts/IBMPlexMono-Regular.woff2") format("woff2"); 41 font-weight: normal; 42 font-style: normal; 43 font-display: swap; 44 } 45 46 @font-face { 47 font-family: "IBMPlexMono"; 48 src: url("/static/fonts/IBMPlexMono-Italic.woff2") format("woff2"); 49 font-weight: normal; 50 font-style: italic; 51 font-display: swap; 52 } 53 54 @font-face { 55 font-family: "IBMPlexMono"; 56 src: url("/static/fonts/IBMPlexMono-Bold.woff2") format("woff2"); 57 font-weight: bold; 58 font-style: normal; 59 font-display: swap; 60 } 61 62 @font-face { 63 font-family: "IBMPlexMono"; 64 src: url("/static/fonts/IBMPlexMono-BoldItalic.woff2") format("woff2"); 65 font-weight: bold; 66 font-style: italic; 67 font-display: swap; 68 } 69 70 ::selection { 71 @apply bg-yellow-400 text-black bg-opacity-30 dark:bg-yellow-600 dark:bg-opacity-50 dark:text-white; 72 } 73 74 @layer base { 75 html { 76 font-size: 14px; 77 scrollbar-gutter: stable; 78 } 79 @supports (font-variation-settings: normal) { 80 html { 81 font-feature-settings: 82 "kern" 1, 83 "liga" 1, 84 "cv05" 1, 85 "tnum" 1; 86 } 87 } 88 89 a { 90 @apply no-underline text-black hover:underline hover:text-gray-800 dark:text-white dark:hover:text-gray-300; 91 } 92 93 label { 94 @apply block text-gray-900 text-sm py-2 dark:text-gray-100; 95 } 96 97 input, 98 textarea { 99 @apply block rounded p-3 100 bg-gray-50 dark:bg-gray-800 dark:text-white 101 border border-gray-300 dark:border-gray-600 102 focus:outline-none focus:ring-1 focus:ring-gray-400 dark:focus:ring-gray-500; 103 } 104 105 input[type="checkbox"] { 106 @apply appearance-none size-4 p-0 rounded 107 bg-transparent border border-gray-200 108 hover:bg-gray-100 109 checked:bg-gray-900 checked:border-transparent 110 checked:hover:bg-gray-800 111 indeterminate:bg-gray-900 indeterminate:border-transparent 112 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:border-gray-200 113 disabled:checked:bg-gray-300 disabled:checked:border-transparent 114 disabled:indeterminate:bg-gray-100 disabled:indeterminate:border-gray-200 115 dark:border-gray-600 116 dark:hover:bg-gray-700 117 dark:checked:bg-gray-100 118 dark:checked:hover:bg-gray-200 119 dark:checked:border-gray-400 120 dark:indeterminate:bg-gray-100 dark:indeterminate:border-transparent 121 dark:disabled:bg-gray-700 dark:disabled:border-gray-600 122 dark:disabled:checked:bg-gray-500 dark:disabled:checked:border-transparent 123 dark:disabled:indeterminate:bg-gray-700 dark:disabled:indeterminate:border-gray-600 124 focus:outline-none focus:ring-1 focus:ring-gray-400 dark:focus:ring-gray-500; 125 background-position: center; 126 background-repeat: no-repeat; 127 background-size: 12px; 128 } 129 input[type="checkbox"]:checked { 130 background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M10 3 4.5 8.5 2 6' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>"); 131 } 132 input[type="checkbox"]:indeterminate { 133 background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6h7' stroke='white' stroke-width='1.5' stroke-linecap='round'/></svg>"); 134 } 135 input[type="checkbox"]:disabled:indeterminate { 136 background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6h7' stroke='rgb(156,163,175)' stroke-width='1.5' stroke-linecap='round'/></svg>"); 137 } 138 @media (prefers-color-scheme: dark) { 139 input[type="checkbox"]:checked { 140 background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M10 3 4.5 8.5 2 6' stroke='rgb(17,24,39)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>"); 141 } 142 input[type="checkbox"]:indeterminate { 143 background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6h7' stroke='rgb(17,24,39)' stroke-width='1.5' stroke-linecap='round'/></svg>"); 144 } 145 input[type="checkbox"]:disabled:indeterminate { 146 background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6h7' stroke='rgb(107,114,128)' stroke-width='1.5' stroke-linecap='round'/></svg>"); 147 } 148 } 149 150 input[type="radio"] { 151 @apply appearance-none size-4 p-0 rounded-full bg-transparent border 152 153 border-gray-400 hover:border-gray-900 154 hover:bg-gray-200 155 156 disabled:cursor-not-allowed 157 disabled:border-gray-300 158 disabled:checked:border-gray-300 159 disabled:hover:bg-inherit 160 161 dark:border-gray-400 dark:hover:border-gray-100 162 163 dark:hover:bg-gray-600 164 165 dark:checked:border-gray-400 166 167 dark:disabled:border-gray-500 168 dark:disabled:checked:border-gray-500 169 170 focus:outline-none focus:ring-1 171 focus:ring-gray-400 dark:focus:ring-gray-500; 172 173 background-position: center; 174 background-repeat: no-repeat; 175 background-size: 8px; 176 } 177 input[type="radio"]:checked { 178 background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5' fill='rgb(17,24,39)'/></svg>"); 179 } 180 input[type="radio"]:disabled:checked { 181 background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5' fill='rgb(209,213,219)'/></svg>"); 182 } 183 @media (prefers-color-scheme: dark) { 184 input[type="radio"]:checked { 185 background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5' fill='rgb(243,244,246)'/></svg>"); 186 } 187 input[type="radio"]:disabled:checked { 188 background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5' fill='rgb(107,114,128)'/></svg>"); 189 } 190 } 191 192 details summary::-webkit-details-marker { 193 display: none; 194 } 195 196 code { 197 @apply font-mono rounded bg-gray-100 dark:bg-gray-700 text-black dark:text-white; 198 } 199 } 200 201 @layer components { 202 .btn { 203 @apply relative z-10 inline-flex overflow-hidden items-center justify-center 204 min-h-[32px] px-2 py-[6px] gap-1.5 205 rounded border border-gray-200 dark:border-gray-700 206 bg-white dark:bg-gray-800 207 text-sm text-gray-900 dark:text-gray-100 208 transition-colors duration-150 ease-in-out 209 outline-transparent cursor-pointer 210 focus-visible:outline focus-visible:outline-2 focus-visible:outline-gray-400 dark:focus-visible:outline-gray-600 211 no-underline hover:no-underline; 212 213 @apply before:absolute before:inset-0 before:-z-10 before:block before:rounded-sm before:content-[''] 214 before:transition-all before:duration-150 before:ease-in-out 215 before:shadow-[inset_0_-2px_0_0_theme(colors.gray.200)] dark:before:shadow-[inset_0_-2px_0_0_theme(colors.gray.900)]; 216 217 @apply hover:bg-gray-50 dark:hover:bg-gray-700 218 hover:before:shadow-[inset_0_-2px_0_0_theme(colors.gray.300)] dark:hover:before:shadow-[inset_0_-2px_0_0_theme(colors.gray.800)] 219 active:before:shadow-[inset_0_2px_2px_0_theme(colors.gray.200)] dark:active:before:shadow-[inset_0_2px_2px_0_theme(colors.gray.900)] 220 active:translate-y-0.5 221 disabled:cursor-not-allowed disabled:opacity-50; 222 } 223 224 .btn-flat { 225 @apply inline-flex items-center justify-center 226 min-h-[32px] px-2 py-[6px] 227 rounded 228 text-sm text-gray-900 dark:text-gray-100 cursor-pointer 229 transition-colors duration-150 ease-in-out 230 focus:outline-none 231 focus-visible:outline focus-visible:outline-2 focus-visible:outline-gray-400 232 hover:bg-gray-100 233 dark:hover:text-gray-100 dark:hover:bg-gray-700 234 disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:text-inherit disabled:hover:bg-inherit; 235 } 236 237 .btn-create { 238 @apply btn text-white 239 bg-green-600 hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-800 240 border border-green-700 hover:border-green-800 241 focus-visible:outline-green-500 242 disabled:bg-green-400 dark:disabled:bg-green-600 243 before:shadow-[inset_0_-2px_0_0_theme(colors.gray.900/25%)] 244 hover:before:shadow-[inset_0_-2px_0_0_theme(colors.gray.900/25%)] 245 active:before:shadow-[inset_0_2px_2px_0_theme(colors.gray.900/50%)]; 246 } 247 248 .btn-create-flat { 249 @apply btn-create 250 before:shadow-none 251 hover:before:shadow-none 252 active:before:shadow-none; 253 } 254 255 .btn-primary { 256 @apply btn text-white 257 bg-indigo-600 hover:bg-indigo-700 dark:bg-indigo-500 dark:hover:bg-indigo-600 258 border border-indigo-700 hover:border-indigo-800 dark:border-indigo-600 dark:hover:border-indigo-700 259 focus-visible:outline-indigo-500 260 disabled:bg-indigo-400 dark:disabled:bg-indigo-400 261 before:shadow-[inset_0_-2px_0_0_theme(colors.gray.900/25%)] 262 hover:before:shadow-[inset_0_-2px_0_0_theme(colors.gray.900/25%)] 263 active:before:shadow-[inset_0_2px_2px_0_theme(colors.gray.900/50%)]; 264 } 265 266 .btn-cancel { 267 @apply btn text-white 268 bg-red-600 hover:bg-red-700 dark:bg-red-700 dark:hover:bg-red-800 269 border border-red-700 hover:border-red-800 270 focus-visible:outline-red-500 271 disabled:bg-red-400 dark:disabled:bg-red-600; 272 } 273 274 .btn-cancel-flat { 275 @apply btn-cancel 276 before:shadow-none 277 hover:before:shadow-none 278 active:before:shadow-none; 279 } 280 281 .btn-group { 282 @apply inline-flex items-stretch 283 max-h-[32px] 284 rounded border border-gray-200 dark:border-gray-700 285 divide-x divide-gray-200 dark:divide-gray-700 286 overflow-clip; 287 } 288 289 .btn-group-item { 290 @apply btn-flat min-h-[30px] gap-1.5 291 bg-gray-50 dark:bg-gray-900 292 rounded-none border-y-0 293 no-underline hover:no-underline 294 hover:text-gray-600 dark:hover:text-gray-400; 295 } 296 297 .btn-group-item.active { 298 @apply btn min-h-[30px] rounded-none border-y-0 299 before:border-none before:rounded-none before:bg-inherit; 300 301 &:first-child { 302 @apply border-none before:rounded-l-sm; 303 } 304 &:last-child { 305 @apply border-y-0 border-r-0 border-l before:rounded-r-sm; 306 } 307 } 308 309 .prose { 310 overflow-wrap: anywhere; 311 } 312 313 .prose td, 314 .prose th { 315 overflow-wrap: normal; 316 } 317 318 .prose hr { 319 @apply my-2; 320 } 321 322 .prose li:has(input) { 323 @apply list-none; 324 } 325 326 .prose ul:has(input) { 327 @apply pl-2; 328 } 329 330 .prose .heading .anchor { 331 @apply no-underline mx-2 opacity-0; 332 } 333 334 .prose .heading:hover .anchor { 335 @apply opacity-70; 336 } 337 338 .prose .heading .anchor:hover { 339 @apply opacity-70; 340 } 341 342 .prose h1:target, 343 .prose h2:target, 344 .prose h3:target, 345 .prose h4:target, 346 .prose h5:target, 347 .prose h6:target { 348 @apply bg-yellow-200/30 dark:bg-yellow-600/30; 349 } 350 351 .prose a.footnote-backref { 352 @apply no-underline; 353 } 354 355 .prose a.mention { 356 @apply no-underline hover:underline font-bold; 357 } 358 359 .prose li { 360 @apply my-0 py-0; 361 } 362 363 .prose ul, 364 .prose ol { 365 @apply my-1 py-0; 366 } 367 368 .prose img { 369 display: inline; 370 margin: 0; 371 vertical-align: middle; 372 } 373 374 .prose input { 375 @apply inline-block my-0 mt-1 mx-1; 376 } 377 378 /* Mermaid diagrams */ 379 .prose pre.mermaid { 380 @apply flex justify-center my-4 overflow-x-auto bg-transparent border-0; 381 } 382 383 /* Base callout */ 384 details[data-callout] { 385 @apply border-l-4 pl-3 py-2 text-gray-800 dark:text-gray-200 my-4; 386 } 387 388 details[data-callout] > summary { 389 @apply font-bold cursor-pointer mb-1; 390 } 391 392 details[data-callout] > .callout-content { 393 @apply text-sm leading-snug; 394 } 395 396 /* Note (blue) */ 397 details[data-callout="note" i] { 398 @apply border-blue-400 dark:border-blue-500; 399 } 400 details[data-callout="note" i] > summary { 401 @apply text-blue-700 dark:text-blue-400; 402 } 403 404 /* Important (purple) */ 405 details[data-callout="important" i] { 406 @apply border-purple-400 dark:border-purple-500; 407 } 408 details[data-callout="important" i] > summary { 409 @apply text-purple-700 dark:text-purple-400; 410 } 411 412 /* Warning (yellow) */ 413 details[data-callout="warning" i] { 414 @apply border-yellow-400 dark:border-yellow-500; 415 } 416 details[data-callout="warning" i] > summary { 417 @apply text-yellow-700 dark:text-yellow-400; 418 } 419 420 /* Caution (red) */ 421 details[data-callout="caution" i] { 422 @apply border-red-400 dark:border-red-500; 423 } 424 details[data-callout="caution" i] > summary { 425 @apply text-red-700 dark:text-red-400; 426 } 427 428 /* Tip (green) */ 429 details[data-callout="tip" i] { 430 @apply border-green-400 dark:border-green-500; 431 } 432 details[data-callout="tip" i] > summary { 433 @apply text-green-700 dark:text-green-400; 434 } 435 436 /* Optional: hide the disclosure arrow like GitHub */ 437 details[data-callout] > summary::-webkit-details-marker { 438 display: none; 439 } 440 } 441 @layer utilities { 442 .error { 443 @apply py-1 text-red-400 dark:text-red-300; 444 } 445 .success { 446 @apply py-1 text-gray-900 dark:text-gray-100; 447 } 448 449 @keyframes scroll { 450 0% { 451 transform: translateX(0); 452 } 453 100% { 454 transform: translateX(-50%); 455 } 456 } 457 458 .animate-marquee { 459 animation: scroll 60s linear infinite; 460 } 461 462 .animate-marquee:hover { 463 animation-play-state: paused; 464 } 465 466 @media (prefers-reduced-motion: reduce) { 467 .animate-marquee { 468 animation: none; 469 transform: none; 470 } 471 } 472 473 @keyframes progress { 474 from { 475 width: 0%; 476 } 477 to { 478 width: 100%; 479 } 480 } 481 482 .animate-progress { 483 animation: progress 10s linear forwards; 484 } 485 486 @keyframes fadeIn { 487 from { 488 opacity: 0; 489 } 490 to { 491 opacity: 1; 492 } 493 } 494 495 @keyframes fadeOut { 496 from { 497 opacity: 1; 498 } 499 to { 500 opacity: 0; 501 } 502 } 503 504 .animate-fadein { 505 animation: fadeIn 0.25s ease-in forwards; 506 } 507 508 .animate-fadeout { 509 animation: fadeOut 0.25s ease-out forwards; 510 } 511 } 512} 513 514/* Background */ 515.bg { 516 color: #4c4f69; 517 background-color: #eff1f5; 518} 519/* PreWrapper */ 520.chroma { 521 color: #4c4f69; 522} 523/* Error */ 524.chroma .err { 525 color: #d20f39; 526} 527/* LineLink */ 528.chroma .lnlinks { 529 outline: none; 530 text-decoration: none; 531 color: inherit; 532} 533/* LineTableTD */ 534.chroma .lntd { 535 vertical-align: top; 536 padding: 0; 537 margin: 0; 538 border: 0; 539} 540/* LineTable */ 541.chroma .lntable { 542 border-spacing: 0; 543 padding: 0; 544 margin: 0; 545 border: 0; 546} 547/* LineHighlight */ 548.chroma .hl { 549 @apply bg-amber-400/30 dark:bg-amber-500/20; 550} 551 552.line-quote-hl, 553.line-range-hl { 554 @apply !bg-yellow-200/30 dark:!bg-yellow-700/30; 555} 556 557.chunk-match-hl { 558 @apply rounded-sm !bg-yellow-300/70 dark:!bg-yellow-600/60; 559} 560 561:is(.line-quote-hl, .line-range-hl) > .min-w-\[3\.5rem\] { 562 @apply !bg-yellow-200/30 dark:!bg-yellow-700/30; 563} 564 565:is(.line-quote-hl, .line-range-hl) > .min-w-\[3\.5rem\] a { 566 @apply !text-black dark:!text-white; 567} 568 569/* LineNumbersTable */ 570.chroma .lnt { 571 white-space: pre; 572 -webkit-user-select: none; 573 user-select: none; 574 margin-right: 0.4em; 575 padding: 0 0.4em 0 0.4em; 576 color: #8c8fa1; 577} 578/* LineNumbers */ 579.chroma .ln { 580 white-space: pre; 581 -webkit-user-select: none; 582 user-select: none; 583 margin-right: 0.4em; 584 padding: 0 0.4em 0 0.4em; 585 color: #8c8fa1; 586} 587/* Line */ 588.chroma .line { 589 display: flex; 590} 591/* Keyword */ 592.chroma .k { 593 color: #8839ef; 594} 595/* KeywordConstant */ 596.chroma .kc { 597 color: #fe640b; 598} 599/* KeywordDeclaration */ 600.chroma .kd { 601 color: #d20f39; 602} 603/* KeywordNamespace */ 604.chroma .kn { 605 color: #179299; 606} 607/* KeywordPseudo */ 608.chroma .kp { 609 color: #8839ef; 610} 611/* KeywordReserved */ 612.chroma .kr { 613 color: #8839ef; 614} 615/* KeywordType */ 616.chroma .kt { 617 color: #d20f39; 618} 619/* NameAttribute */ 620.chroma .na { 621 color: #1e66f5; 622} 623/* NameBuiltin */ 624.chroma .nb { 625 color: #04a5e5; 626} 627/* NameBuiltinPseudo */ 628.chroma .bp { 629 color: #04a5e5; 630} 631/* NameClass */ 632.chroma .nc { 633 color: #df8e1d; 634} 635/* NameConstant */ 636.chroma .no { 637 color: #df8e1d; 638} 639/* NameDecorator */ 640.chroma .nd { 641 color: #1e66f5; 642 font-weight: bold; 643} 644/* NameEntity */ 645.chroma .ni { 646 color: #179299; 647} 648/* NameException */ 649.chroma .ne { 650 color: #fe640b; 651} 652/* NameFunction */ 653.chroma .nf { 654 color: #1e66f5; 655} 656/* NameFunctionMagic */ 657.chroma .fm { 658 color: #1e66f5; 659} 660/* NameLabel */ 661.chroma .nl { 662 color: #04a5e5; 663} 664/* NameNamespace */ 665.chroma .nn { 666 color: #fe640b; 667} 668/* NameProperty */ 669.chroma .py { 670 color: #fe640b; 671} 672/* NameTag */ 673.chroma .nt { 674 color: #8839ef; 675} 676/* NameVariable */ 677.chroma .nv { 678 color: #dc8a78; 679} 680/* NameVariableClass */ 681.chroma .vc { 682 color: #dc8a78; 683} 684/* NameVariableGlobal */ 685.chroma .vg { 686 color: #dc8a78; 687} 688/* NameVariableInstance */ 689.chroma .vi { 690 color: #dc8a78; 691} 692/* NameVariableMagic */ 693.chroma .vm { 694 color: #dc8a78; 695} 696/* LiteralString */ 697.chroma .s { 698 color: #40a02b; 699} 700/* LiteralStringAffix */ 701.chroma .sa { 702 color: #d20f39; 703} 704/* LiteralStringBacktick */ 705.chroma .sb { 706 color: #40a02b; 707} 708/* LiteralStringChar */ 709.chroma .sc { 710 color: #40a02b; 711} 712/* LiteralStringDelimiter */ 713.chroma .dl { 714 color: #1e66f5; 715} 716/* LiteralStringDoc */ 717.chroma .sd { 718 color: #9ca0b0; 719} 720/* LiteralStringDouble */ 721.chroma .s2 { 722 color: #40a02b; 723} 724/* LiteralStringEscape */ 725.chroma .se { 726 color: #1e66f5; 727} 728/* LiteralStringHeredoc */ 729.chroma .sh { 730 color: #9ca0b0; 731} 732/* LiteralStringInterpol */ 733.chroma .si { 734 color: #40a02b; 735} 736/* LiteralStringOther */ 737.chroma .sx { 738 color: #40a02b; 739} 740/* LiteralStringRegex */ 741.chroma .sr { 742 color: #179299; 743} 744/* LiteralStringSingle */ 745.chroma .s1 { 746 color: #40a02b; 747} 748/* LiteralStringSymbol */ 749.chroma .ss { 750 color: #40a02b; 751} 752/* LiteralNumber */ 753.chroma .m { 754 color: #fe640b; 755} 756/* LiteralNumberBin */ 757.chroma .mb { 758 color: #fe640b; 759} 760/* LiteralNumberFloat */ 761.chroma .mf { 762 color: #fe640b; 763} 764/* LiteralNumberHex */ 765.chroma .mh { 766 color: #fe640b; 767} 768/* LiteralNumberInteger */ 769.chroma .mi { 770 color: #fe640b; 771} 772/* LiteralNumberIntegerLong */ 773.chroma .il { 774 color: #fe640b; 775} 776/* LiteralNumberOct */ 777.chroma .mo { 778 color: #fe640b; 779} 780/* Operator */ 781.chroma .o { 782 color: #04a5e5; 783 font-weight: bold; 784} 785/* OperatorWord */ 786.chroma .ow { 787 color: #04a5e5; 788 font-weight: bold; 789} 790/* Comment */ 791.chroma .c { 792 color: #9ca0b0; 793 font-style: italic; 794} 795/* CommentHashbang */ 796.chroma .ch { 797 color: #9ca0b0; 798 font-style: italic; 799} 800/* CommentMultiline */ 801.chroma .cm { 802 color: #9ca0b0; 803 font-style: italic; 804} 805/* CommentSingle */ 806.chroma .c1 { 807 color: #9ca0b0; 808 font-style: italic; 809} 810/* CommentSpecial */ 811.chroma .cs { 812 color: #9ca0b0; 813 font-style: italic; 814} 815/* CommentPreproc */ 816.chroma .cp { 817 color: #9ca0b0; 818 font-style: italic; 819} 820/* CommentPreprocFile */ 821.chroma .cpf { 822 color: #9ca0b0; 823 font-weight: bold; 824 font-style: italic; 825} 826/* GenericDeleted */ 827.chroma .gd { 828 color: #d20f39; 829 background-color: oklch(93.6% 0.032 17.717); 830} 831/* GenericEmph */ 832.chroma .ge { 833 font-style: italic; 834} 835/* GenericError */ 836.chroma .gr { 837 color: #d20f39; 838} 839/* GenericHeading */ 840.chroma .gh { 841 color: #fe640b; 842 font-weight: bold; 843} 844/* GenericInserted */ 845.chroma .gi { 846 color: #40a02b; 847 background-color: oklch(96.2% 0.044 156.743); 848} 849/* GenericStrong */ 850.chroma .gs { 851 font-weight: bold; 852} 853/* GenericSubheading */ 854.chroma .gu { 855 color: #fe640b; 856 font-weight: bold; 857} 858/* GenericTraceback */ 859.chroma .gt { 860 color: #d20f39; 861} 862/* GenericUnderline */ 863.chroma .gl { 864 text-decoration: underline; 865} 866 867@media (prefers-color-scheme: dark) { 868 /* Background */ 869 .bg { 870 color: #cad3f5; 871 background-color: #24273a; 872 } 873 /* PreWrapper */ 874 .chroma { 875 color: #cad3f5; 876 } 877 /* Error */ 878 .chroma .err { 879 color: #ed8796; 880 } 881 /* LineLink */ 882 .chroma .lnlinks { 883 outline: none; 884 text-decoration: none; 885 color: inherit; 886 } 887 /* LineTableTD */ 888 .chroma .lntd { 889 vertical-align: top; 890 padding: 0; 891 margin: 0; 892 border: 0; 893 } 894 /* LineTable */ 895 .chroma .lntable { 896 border-spacing: 0; 897 padding: 0; 898 margin: 0; 899 border: 0; 900 } 901 /* LineHighlight */ 902 .chroma .hl { 903 background-color: #494d64; 904 } 905 /* LineNumbersTable */ 906 .chroma .lnt { 907 white-space: pre; 908 -webkit-user-select: none; 909 user-select: none; 910 margin-right: 0.4em; 911 padding: 0 0.4em 0 0.4em; 912 color: #8087a2; 913 } 914 /* LineNumbers */ 915 .chroma .ln { 916 white-space: pre; 917 -webkit-user-select: none; 918 user-select: none; 919 margin-right: 0.4em; 920 padding: 0 0.4em 0 0.4em; 921 color: #8087a2; 922 } 923 /* Line */ 924 .chroma .line { 925 display: flex; 926 } 927 /* Keyword */ 928 .chroma .k { 929 color: #c6a0f6; 930 } 931 /* KeywordConstant */ 932 .chroma .kc { 933 color: #f5a97f; 934 } 935 /* KeywordDeclaration */ 936 .chroma .kd { 937 color: #ed8796; 938 } 939 /* KeywordNamespace */ 940 .chroma .kn { 941 color: #8bd5ca; 942 } 943 /* KeywordPseudo */ 944 .chroma .kp { 945 color: #c6a0f6; 946 } 947 /* KeywordReserved */ 948 .chroma .kr { 949 color: #c6a0f6; 950 } 951 /* KeywordType */ 952 .chroma .kt { 953 color: #ed8796; 954 } 955 /* NameAttribute */ 956 .chroma .na { 957 color: #8aadf4; 958 } 959 /* NameBuiltin */ 960 .chroma .nb { 961 color: #91d7e3; 962 } 963 /* NameBuiltinPseudo */ 964 .chroma .bp { 965 color: #91d7e3; 966 } 967 /* NameClass */ 968 .chroma .nc { 969 color: #eed49f; 970 } 971 /* NameConstant */ 972 .chroma .no { 973 color: #eed49f; 974 } 975 /* NameDecorator */ 976 .chroma .nd { 977 color: #8aadf4; 978 font-weight: bold; 979 } 980 /* NameEntity */ 981 .chroma .ni { 982 color: #8bd5ca; 983 } 984 /* NameException */ 985 .chroma .ne { 986 color: #f5a97f; 987 } 988 /* NameFunction */ 989 .chroma .nf { 990 color: #8aadf4; 991 } 992 /* NameFunctionMagic */ 993 .chroma .fm { 994 color: #8aadf4; 995 } 996 /* NameLabel */ 997 .chroma .nl { 998 color: #91d7e3; 999 } 1000 /* NameNamespace */ 1001 .chroma .nn { 1002 color: #f5a97f; 1003 } 1004 /* NameProperty */ 1005 .chroma .py { 1006 color: #f5a97f; 1007 } 1008 /* NameTag */ 1009 .chroma .nt { 1010 color: #c6a0f6; 1011 } 1012 /* NameVariable */ 1013 .chroma .nv { 1014 color: #f4dbd6; 1015 } 1016 /* NameVariableClass */ 1017 .chroma .vc { 1018 color: #f4dbd6; 1019 } 1020 /* NameVariableGlobal */ 1021 .chroma .vg { 1022 color: #f4dbd6; 1023 } 1024 /* NameVariableInstance */ 1025 .chroma .vi { 1026 color: #f4dbd6; 1027 } 1028 /* NameVariableMagic */ 1029 .chroma .vm { 1030 color: #f4dbd6; 1031 } 1032 /* LiteralString */ 1033 .chroma .s { 1034 color: #a6da95; 1035 } 1036 /* LiteralStringAffix */ 1037 .chroma .sa { 1038 color: #ed8796; 1039 } 1040 /* LiteralStringBacktick */ 1041 .chroma .sb { 1042 color: #a6da95; 1043 } 1044 /* LiteralStringChar */ 1045 .chroma .sc { 1046 color: #a6da95; 1047 } 1048 /* LiteralStringDelimiter */ 1049 .chroma .dl { 1050 color: #8aadf4; 1051 } 1052 /* LiteralStringDoc */ 1053 .chroma .sd { 1054 color: #6e738d; 1055 } 1056 /* LiteralStringDouble */ 1057 .chroma .s2 { 1058 color: #a6da95; 1059 } 1060 /* LiteralStringEscape */ 1061 .chroma .se { 1062 color: #8aadf4; 1063 } 1064 /* LiteralStringHeredoc */ 1065 .chroma .sh { 1066 color: #6e738d; 1067 } 1068 /* LiteralStringInterpol */ 1069 .chroma .si { 1070 color: #a6da95; 1071 } 1072 /* LiteralStringOther */ 1073 .chroma .sx { 1074 color: #a6da95; 1075 } 1076 /* LiteralStringRegex */ 1077 .chroma .sr { 1078 color: #8bd5ca; 1079 } 1080 /* LiteralStringSingle */ 1081 .chroma .s1 { 1082 color: #a6da95; 1083 } 1084 /* LiteralStringSymbol */ 1085 .chroma .ss { 1086 color: #a6da95; 1087 } 1088 /* LiteralNumber */ 1089 .chroma .m { 1090 color: #f5a97f; 1091 } 1092 /* LiteralNumberBin */ 1093 .chroma .mb { 1094 color: #f5a97f; 1095 } 1096 /* LiteralNumberFloat */ 1097 .chroma .mf { 1098 color: #f5a97f; 1099 } 1100 /* LiteralNumberHex */ 1101 .chroma .mh { 1102 color: #f5a97f; 1103 } 1104 /* LiteralNumberInteger */ 1105 .chroma .mi { 1106 color: #f5a97f; 1107 } 1108 /* LiteralNumberIntegerLong */ 1109 .chroma .il { 1110 color: #f5a97f; 1111 } 1112 /* LiteralNumberOct */ 1113 .chroma .mo { 1114 color: #f5a97f; 1115 } 1116 /* Operator */ 1117 .chroma .o { 1118 color: #91d7e3; 1119 font-weight: bold; 1120 } 1121 /* OperatorWord */ 1122 .chroma .ow { 1123 color: #91d7e3; 1124 font-weight: bold; 1125 } 1126 /* Comment */ 1127 .chroma .c { 1128 color: #6e738d; 1129 font-style: italic; 1130 } 1131 /* CommentHashbang */ 1132 .chroma .ch { 1133 color: #6e738d; 1134 font-style: italic; 1135 } 1136 /* CommentMultiline */ 1137 .chroma .cm { 1138 color: #6e738d; 1139 font-style: italic; 1140 } 1141 /* CommentSingle */ 1142 .chroma .c1 { 1143 color: #6e738d; 1144 font-style: italic; 1145 } 1146 /* CommentSpecial */ 1147 .chroma .cs { 1148 color: #6e738d; 1149 font-style: italic; 1150 } 1151 /* CommentPreproc */ 1152 .chroma .cp { 1153 color: #6e738d; 1154 font-style: italic; 1155 } 1156 /* CommentPreprocFile */ 1157 .chroma .cpf { 1158 color: #6e738d; 1159 font-weight: bold; 1160 font-style: italic; 1161 } 1162 /* GenericDeleted */ 1163 .chroma .gd { 1164 color: #ed8796; 1165 background-color: oklch(44.4% 0.177 26.899 / 0.5); 1166 } 1167 /* GenericEmph */ 1168 .chroma .ge { 1169 font-style: italic; 1170 } 1171 /* GenericError */ 1172 .chroma .gr { 1173 color: #ed8796; 1174 } 1175 /* GenericHeading */ 1176 .chroma .gh { 1177 color: #f5a97f; 1178 font-weight: bold; 1179 } 1180 /* GenericInserted */ 1181 .chroma .gi { 1182 color: #a6da95; 1183 background-color: oklch(44.8% 0.119 151.328 / 0.5); 1184 } 1185 /* GenericStrong */ 1186 .chroma .gs { 1187 font-weight: bold; 1188 } 1189 /* GenericSubheading */ 1190 .chroma .gu { 1191 color: #f5a97f; 1192 font-weight: bold; 1193 } 1194 /* GenericTraceback */ 1195 .chroma .gt { 1196 color: #ed8796; 1197 } 1198 /* GenericUnderline */ 1199 .chroma .gl { 1200 text-decoration: underline; 1201 } 1202} 1203 1204actor-typeahead { 1205 --color-background: #ffffff; 1206 --color-border: #d1d5db; 1207 --color-shadow: #000000; 1208 --color-hover: #f9fafb; 1209 --color-avatar-fallback: #e5e7eb; 1210 --radius: 0; 1211 --padding-menu: 0rem; 1212 z-index: 1000; 1213} 1214 1215actor-typeahead::part(handle) { 1216 color: #111827; 1217} 1218 1219actor-typeahead::part(menu) { 1220 box-shadow: 1221 0 4px 6px -1px rgb(0 0 0 / 0.1), 1222 0 2px 4px -2px rgb(0 0 0 / 0.1); 1223} 1224 1225@media (prefers-color-scheme: dark) { 1226 actor-typeahead { 1227 --color-background: #1f2937; 1228 --color-border: #4b5563; 1229 --color-shadow: #000000; 1230 --color-hover: #374151; 1231 --color-avatar-fallback: #4b5563; 1232 } 1233 1234 actor-typeahead::part(handle) { 1235 color: #f9fafb; 1236 } 1237} 1238 1239@layer utilities { 1240 .hit-area { 1241 position: relative; 1242 } 1243 1244 .hit-area::before { 1245 content: ""; 1246 position: absolute; 1247 top: var(--hit-area-t, 0px); 1248 right: var(--hit-area-r, 0px); 1249 bottom: var(--hit-area-b, 0px); 1250 left: var(--hit-area-l, 0px); 1251 pointer-events: inherit; 1252 } 1253 1254 .hit-area-debug { 1255 position: relative; 1256 } 1257 1258 .hit-area-debug::before { 1259 content: ""; 1260 position: absolute; 1261 top: var(--hit-area-t, 0px); 1262 right: var(--hit-area-r, 0px); 1263 bottom: var(--hit-area-b, 0px); 1264 left: var(--hit-area-l, 0px); 1265 pointer-events: inherit; 1266 border: 1px dashed #3b82f6; 1267 background-color: rgba(59, 130, 246, 0.1); 1268 } 1269 1270 .hit-area-debug:hover::before { 1271 border-color: #22c55e; 1272 background-color: rgba(34, 197, 94, 0.1); 1273 } 1274 1275 .hit-area-1 { 1276 --hit-area-t: -0.25rem; 1277 --hit-area-r: -0.25rem; 1278 --hit-area-b: -0.25rem; 1279 --hit-area-l: -0.25rem; 1280 } 1281 .hit-area-2 { 1282 --hit-area-t: -0.5rem; 1283 --hit-area-r: -0.5rem; 1284 --hit-area-b: -0.5rem; 1285 --hit-area-l: -0.5rem; 1286 } 1287 .hit-area-4 { 1288 --hit-area-t: -1rem; 1289 --hit-area-r: -1rem; 1290 --hit-area-b: -1rem; 1291 --hit-area-l: -1rem; 1292 } 1293 .hit-area-6 { 1294 --hit-area-t: -1.5rem; 1295 --hit-area-r: -1.5rem; 1296 --hit-area-b: -1.5rem; 1297 --hit-area-l: -1.5rem; 1298 } 1299 .hit-area-8 { 1300 --hit-area-t: -2rem; 1301 --hit-area-r: -2rem; 1302 --hit-area-b: -2rem; 1303 --hit-area-l: -2rem; 1304 } 1305 .hit-area-10 { 1306 --hit-area-t: -2.5rem; 1307 --hit-area-r: -2.5rem; 1308 --hit-area-b: -2.5rem; 1309 --hit-area-l: -2.5rem; 1310 } 1311 .hit-area-12 { 1312 --hit-area-t: -3rem; 1313 --hit-area-r: -3rem; 1314 --hit-area-b: -3rem; 1315 --hit-area-l: -3rem; 1316 } 1317 1318 .hit-area-l-1 { 1319 --hit-area-l: -0.25rem; 1320 } 1321 .hit-area-l-2 { 1322 --hit-area-l: -0.5rem; 1323 } 1324 .hit-area-l-4 { 1325 --hit-area-l: -1rem; 1326 } 1327 .hit-area-l-6 { 1328 --hit-area-l: -1.5rem; 1329 } 1330 .hit-area-l-8 { 1331 --hit-area-l: -2rem; 1332 } 1333 .hit-area-l-10 { 1334 --hit-area-l: -2.5rem; 1335 } 1336 .hit-area-l-12 { 1337 --hit-area-l: -3rem; 1338 } 1339 1340 .hit-area-r-1 { 1341 --hit-area-r: -0.25rem; 1342 } 1343 .hit-area-r-2 { 1344 --hit-area-r: -0.5rem; 1345 } 1346 .hit-area-r-4 { 1347 --hit-area-r: -1rem; 1348 } 1349 .hit-area-r-6 { 1350 --hit-area-r: -1.5rem; 1351 } 1352 .hit-area-r-8 { 1353 --hit-area-r: -2rem; 1354 } 1355 .hit-area-r-10 { 1356 --hit-area-r: -2.5rem; 1357 } 1358 .hit-area-r-12 { 1359 --hit-area-r: -3rem; 1360 } 1361 1362 .hit-area-t-1 { 1363 --hit-area-t: -0.25rem; 1364 } 1365 .hit-area-t-2 { 1366 --hit-area-t: -0.5rem; 1367 } 1368 .hit-area-t-4 { 1369 --hit-area-t: -1rem; 1370 } 1371 .hit-area-t-6 { 1372 --hit-area-t: -1.5rem; 1373 } 1374 .hit-area-t-8 { 1375 --hit-area-t: -2rem; 1376 } 1377 .hit-area-t-10 { 1378 --hit-area-t: -2.5rem; 1379 } 1380 .hit-area-t-12 { 1381 --hit-area-t: -3rem; 1382 } 1383 1384 .hit-area-b-1 { 1385 --hit-area-b: -0.25rem; 1386 } 1387 .hit-area-b-2 { 1388 --hit-area-b: -0.5rem; 1389 } 1390 .hit-area-b-4 { 1391 --hit-area-b: -1rem; 1392 } 1393 .hit-area-b-6 { 1394 --hit-area-b: -1.5rem; 1395 } 1396 .hit-area-b-8 { 1397 --hit-area-b: -2rem; 1398 } 1399 .hit-area-b-10 { 1400 --hit-area-b: -2.5rem; 1401 } 1402 .hit-area-b-12 { 1403 --hit-area-b: -3rem; 1404 } 1405 1406 .hit-area-x-1 { 1407 --hit-area-l: -0.25rem; 1408 --hit-area-r: -0.25rem; 1409 } 1410 .hit-area-x-2 { 1411 --hit-area-l: -0.5rem; 1412 --hit-area-r: -0.5rem; 1413 } 1414 .hit-area-x-4 { 1415 --hit-area-l: -1rem; 1416 --hit-area-r: -1rem; 1417 } 1418 .hit-area-x-6 { 1419 --hit-area-l: -1.5rem; 1420 --hit-area-r: -1.5rem; 1421 } 1422 .hit-area-x-8 { 1423 --hit-area-l: -2rem; 1424 --hit-area-r: -2rem; 1425 } 1426 .hit-area-x-10 { 1427 --hit-area-l: -2.5rem; 1428 --hit-area-r: -2.5rem; 1429 } 1430 .hit-area-x-12 { 1431 --hit-area-l: -3rem; 1432 --hit-area-r: -3rem; 1433 } 1434 1435 .hit-area-y-1 { 1436 --hit-area-t: -0.25rem; 1437 --hit-area-b: -0.25rem; 1438 } 1439 .hit-area-y-2 { 1440 --hit-area-t: -0.5rem; 1441 --hit-area-b: -0.5rem; 1442 } 1443 .hit-area-y-4 { 1444 --hit-area-t: -1rem; 1445 --hit-area-b: -1rem; 1446 } 1447 .hit-area-y-6 { 1448 --hit-area-t: -1.5rem; 1449 --hit-area-b: -1.5rem; 1450 } 1451 .hit-area-y-8 { 1452 --hit-area-t: -2rem; 1453 --hit-area-b: -2rem; 1454 } 1455 .hit-area-y-10 { 1456 --hit-area-t: -2.5rem; 1457 --hit-area-b: -2.5rem; 1458 } 1459 .hit-area-y-12 { 1460 --hit-area-t: -3rem; 1461 --hit-area-b: -3rem; 1462 } 1463 1464 /* terminal-to-html: catpuccin colors */ 1465 .term-fg30 { 1466 color: #6c6f85; 1467 } /* black */ 1468 .term-fg31 { 1469 color: #d20f39; 1470 } /* red */ 1471 .term-fg32 { 1472 color: #40a02b; 1473 } /* green */ 1474 .term-fg33 { 1475 color: #df8e1d; 1476 } /* yellow */ 1477 .term-fg34 { 1478 color: #1e66f5; 1479 } /* blue */ 1480 .term-fg35 { 1481 color: #8839ef; 1482 } /* magenta */ 1483 .term-fg36 { 1484 color: #179299; 1485 } /* cyan */ 1486 .term-fg37 { 1487 color: #4c4f69; 1488 } /* white */ 1489 .term-fgi90 { 1490 color: #8c8fa1; 1491 } /* bright-black */ 1492 .term-fgi91 { 1493 color: #e64553; 1494 } /* bright-red */ 1495 .term-fgi92 { 1496 color: #40a02b; 1497 } /* bright-green */ 1498 .term-fgi93 { 1499 color: #e5c890; 1500 } /* bright-yellow */ 1501 .term-fgi94 { 1502 color: #209fb5; 1503 } /* bright-blue */ 1504 .term-fgi95 { 1505 color: #ea76cb; 1506 } /* bright-magenta */ 1507 .term-fgi96 { 1508 color: #04a5e5; 1509 } /* bright-cyan */ 1510 .term-fgi97 { 1511 color: #bcc0cc; 1512 } /* bright-white */ 1513 .term-bg40 { 1514 background-color: #6c6f85; 1515 } /* black */ 1516 .term-bg41 { 1517 background-color: #d20f39; 1518 } /* red */ 1519 .term-bg42 { 1520 background-color: #40a02b; 1521 } /* green */ 1522 .term-bg43 { 1523 background-color: #df8e1d; 1524 } /* yellow */ 1525 .term-bg44 { 1526 background-color: #1e66f5; 1527 } /* blue */ 1528 .term-bg45 { 1529 background-color: #8839ef; 1530 } /* magenta */ 1531 .term-bg46 { 1532 background-color: #179299; 1533 } /* cyan */ 1534 .term-bg47 { 1535 background-color: #dce0e8; 1536 } /* white */ 1537 .term-fg1 { 1538 @apply font-bold; 1539 } 1540 .term-fg2 { 1541 @apply opacity-60; 1542 } 1543 .term-fg3 { 1544 @apply italic; 1545 } 1546 .term-fg4 { 1547 @apply underline; 1548 } 1549 .term-fg9 { 1550 @apply line-through; 1551 } 1552 1553 @media (prefers-color-scheme: dark) { 1554 .term-fg30 { 1555 color: #a5adcb; 1556 } /* black */ 1557 .term-fg31 { 1558 color: #ed8796; 1559 } /* red */ 1560 .term-fg32 { 1561 color: #a6da95; 1562 } /* green */ 1563 .term-fg33 { 1564 color: #eed49f; 1565 } /* yellow */ 1566 .term-fg34 { 1567 color: #8aadf4; 1568 } /* blue */ 1569 .term-fg35 { 1570 color: #c6a0f6; 1571 } /* magenta */ 1572 .term-fg36 { 1573 color: #8bd5ca; 1574 } /* cyan */ 1575 .term-fg37 { 1576 color: #cad3f5; 1577 } /* white */ 1578 .term-fgi90 { 1579 color: #8087a2; 1580 } /* bright-black */ 1581 .term-fgi91 { 1582 color: #f5bde6; 1583 } /* bright-red */ 1584 .term-fgi92 { 1585 color: #a6da95; 1586 } /* bright-green */ 1587 .term-fgi93 { 1588 color: #f5a97f; 1589 } /* bright-yellow */ 1590 .term-fgi94 { 1591 color: #7dc4e4; 1592 } /* bright-blue */ 1593 .term-fgi95 { 1594 color: #f4dbd6; 1595 } /* bright-magenta */ 1596 .term-fgi96 { 1597 color: #91d7e3; 1598 } /* bright-cyan */ 1599 .term-fgi97 { 1600 color: #f0c6c6; 1601 } /* bright-white */ 1602 .term-bg40 { 1603 background-color: #a5adcb; 1604 } /* black */ 1605 .term-bg41 { 1606 background-color: #ed8796; 1607 } /* red */ 1608 .term-bg42 { 1609 background-color: #a6da95; 1610 } /* green */ 1611 .term-bg43 { 1612 background-color: #eed49f; 1613 } /* yellow */ 1614 .term-bg44 { 1615 background-color: #8aadf4; 1616 } /* blue */ 1617 .term-bg45 { 1618 background-color: #c6a0f6; 1619 } /* magenta */ 1620 .term-bg46 { 1621 background-color: #8bd5ca; 1622 } /* cyan */ 1623 .term-bg47 { 1624 background-color: #494d64; 1625 } /* white */ 1626 } 1627} 1628 1629.focus-pill { 1630 --r: 10px; 1631 1632 &::before, 1633 &::after { 1634 @apply bg-indigo-600 absolute bottom-0; 1635 content: ""; 1636 width: var(--r); 1637 height: var(--r); 1638 -webkit-mask: radial-gradient(var(--r) at var(--r) 0, #0000 98%, #000); 1639 mask: radial-gradient(var(--r) at var(--r) 0, #0000 98%, #000); 1640 } 1641 1642 &::before { 1643 left: calc(-1 * var(--r)); 1644 @apply -scale-x-100; 1645 } 1646 1647 &::after { 1648 right: calc(-1 * var(--r)); 1649 } 1650}