style.css
assembler source, ASCII text
1@import url("/static/efficient-ui/MASTER.css"); 2 3:root { 4--color-branch: var(--color-primary-1); 5--color-branch-text: var(--color-primary-1-text); 6--color-tag: var(--color-accent-1); 7--color-tag-text: var(--color-accent-1-text); 8--color-pending: #4caf50; 9--color-pending-text: #ffffff; 10--color-rejected: #ff9800; 11--color-rejected-text: #ffffff; 12--color-merged: #9c27b0; 13--color-merged-text: #ffffff; 14--color-done: #607D8B; 15--color-done-text: #ffffff; 16--color-insertion: #00C85366; 17--color-insertion-line-number: #00C853; 18--color-insertion-text: currentColor; 19--color-deletion: #D5000066; 20--color-deletion-text: currentColor; 21--color-deletion-line-number: #D50000; 22--color-code-line-number: #455A64; 23} 24 25.big-button { 26font-size: 1.5em; 27} 28 29.ripple-pad { 30background: #ffffff99; 31position: absolute; 32opacity: 1; 33transform: scale(0); 34animation: RippleEffect 375ms cubic-bezier(0, 0.55, 0.45, 1) forwards; 35} 36 37@keyframes RippleEffect { 38to { 39transform: scale(1); 40opacity: 0; 41} 42} 43 44button, input, .button, select { 45position: relative; 46overflow: hidden; 47} 48 49.error-page-container { 50align-items: center; 51justify-content: center; 52width: 100%; 53height: 100%; 54} 55 56/* 57@media screen and (max-width: 896px) { 58.navbar { 59flex-flow: column nowrap; 60height: fit-content; 61} 62} 63*/ 64 65@media screen and (max-width: 640px) { 66#repo-table > * > tr > :is(td, th):is(:nth-child(3), :nth-child(4)) { 67display: none; 68} 69 70.commit-message { 71display: none !important; 72} 73} 74 75/* 76@media screen and (max-width: 544px) { 77.navbar > ul { 78flex-flow: row wrap; 79justify-content: center; 80} 81#commit-dialog { 82align-items: stretch; 83} 84} 85@media screen and (max-width: 512px) { 86.breadcrumbs { 87flex-flow: column nowrap; 88justify-content: center; 89height: auto; 90gap: 1em; 91} 92} 93*/ 94 95.file-icon { 96font-size: 1.25em; 97} 98 99.file-name, .commit-message { 100display: inline-block; 101white-space: nowrap; 102overflow: hidden; 103text-overflow: ellipsis; 104} 105 106.file-link { 107text-decoration: none; 108} 109 110.button { 111text-decoration: none; 112} 113 114.password-error { 115background: var(--color-error); 116color: var(--color-error-text); 117padding: 8px; 118gap: 4px; 119border-radius: 2px; 120} 121 122#username p { 123font-size: 1.5em; 124font-weight: 300; 125} 126 127.box-center { 128align-items: center; 129} 130 131#global-nav > x-hbox > a > x-hbox { 132height: 100%; 133} 134 135footer { 136background: var(--color-callout-1); 137color: var(--color-callout-1-text); 138padding: 16px; 139} 140footer a { 141color: var(--color-callout-1-text) !important; 142} 143body { 144display: flex; 145flex-flow: column; 146} 147main { 148flex: 1 0 auto; 149} 150body > footer hr { 151border-color: #ffffff80; 152margin: 8px 0; 153} 154 155.branch-icon { 156width: 2em; 157font-size: 32px; 158align-items: center; 159justify-content: center; 160display: flex; 161} 162 163dd { 164margin-left: 2em; 165} 166 167.navbar-mini { 168--height-navbar: 48px; 169} 170 171.dialog-tools { 172position: relative; 173left: 8px; 174} 175 176.thumbnail-marquee { 177height: 1.5em; 178overflow: hidden; 179position: relative; 180} 181 182.inner-thumbnail-marquee { 183position: absolute; 184width: 100%; 185height: 100%; 186overflow: visible; 187text-align: center; 188animation: marquee 3000ms linear infinite; 189} 190 191@keyframes marquee { 1920% { 193transform: translateX(200%); 194} 195100% { 196transform: translateX(-200%); 197} 198} 199 200#sidenav-trigger { 201height: 32px; 202aspect-ratio: 1/1; 203display: flex; 204align-items: center; 205justify-content: center; 206} 207 208@media screen and (min-width: 641px) { 209#sidenav-trigger { 210display: none; 211} 212#global-nav { 213padding-left: 1em; 214} 215} 216 217@media screen and (max-width: 640px) { 218#main-nav-links-desktop { 219display: none; 220} 221 222#global-nav { 223padding-left: 0.5em; 224} 225} 226 227hr { 228border-color: currentColor; 229border-width: 1px; 230margin: 1em 0; 231opacity: 0.5; 232} 233 234.state-label { 235writing-mode: vertical-lr; 236text-transform: uppercase; 237padding: 1em; 238margin: 0; 239} 240 241.state-label-2 { 242text-transform: uppercase; 243padding: 0.5em; 244margin: 0; 245} 246 247.breadcrumbs > x-buttonbox iconify-icon { 248font-size: 1.5rem; 249} 250 251.breadcrumbs > x-buttonbox > a { 252display: flex; 253align-items: center; 254} 255 256#repo-tabs { 257display: flex; 258gap: 0; 259flex-wrap: wrap; 260overflow: visible; 261} 262 263#repo-tabs > li > a { 264display: flex; 265flex-flow: row wrap; 266gap: 0.5ch; 267text-transform: uppercase; 268position: relative; 269overflow: hidden; 270padding: 4px 16px; 271white-space: nowrap; 272} 273 274#repo-tabs > li.selected > a { 275box-shadow: inset 0 -0.25rem var(--color-accent); 276} 277 278#repo-nav { 279padding-left: 0; 280height: unset; 281padding-top: 0; 282padding-bottom: 0; 283min-height: var(--height-navbar); 284} 285 286x-buttonbox.segmented { 287box-shadow: var(--shadow-button); 288padding: 0; 289gap: 0; 290overflow: hidden; 291border-radius: var(--radius-button); 292width: fit-content; 293} 294 295x-buttonbox.segmented > * { 296border-radius: 0; 297} 298 299.vote-button:not(.selected) { 300box-shadow: none !important; 301color: inherit !important; 302background: transparent !important; 303outline: 0.1px solid #00000080; 304} 305 306.vote-button:not(.selected):hover { 307background: var(--color-flat-button-hover) !important; 308} 309 310.vote-button { 311padding: 4px; 312} 313 314.vote-score { 315min-width: 3ch; 316text-align: center; 317} 318 319.reply-area, .resolved-comments { 320box-shadow: var(--shadow-card); 321margin: var(--margin-card); 322border-radius: var(--radius-card); 323background: var(--color-card); 324color: var(--color-card-text); 325border: var(--border-card); 326overflow: hidden; /* So rounded corners can cut through the content */ 327display: flex; 328flex-flow: column nowrap; 329height: 100%; 330} 331 332.reply-area > summary, .resolved-comments > summary { 333display: flex; 334align-items: center; 335cursor: pointer; 336padding: var(--padding-card); 337padding-top: var(--padding-card-top); 338text-transform: uppercase; 339font-weight: 500; 340transition: box-shadow 250ms cubic-bezier(0.33, 1, 0.68, 1); 341} 342 343.reply-area > form { 344padding: var(--padding-card); 345padding-top: var(--padding-card-top); 346} 347 348.reply-area > summary::before, .resolved-comments > summary::before { 349content: " "; 350background-image: url("/static/efficient-ui/icons/expand.svg"); 351transform: rotate(-90deg); 352width: 1.5em; 353height: 1.5em; 354background-size: contain; 355background-repeat: no-repeat; 356transition: transform 250ms cubic-bezier(0.33, 1, 0.68, 1); 357} 358 359.reply-area[open] > summary::before, .resolved-comments[open] > summary::before { 360transform: rotate(0); 361} 362 363.reply-area[open] > summary { 364box-shadow: var(--shadow-card); 365} 366 367.post-author { 368color: inherit; 369text-decoration: inherit; 370} 371 372.post-details { 373color: var(--color-caption-text); 374} 375 376#forum-banner { 377background: var(--color-navbar); 378color: #ffffff; 379min-height: 56px; 380position: sticky; 381top: 0; 382z-index: 1; 383box-shadow: var(--shadow-navbar); 384} 385 386#forum-banner h1 { 387font-size: 1rem; 388font-weight: 600; 389} 390 391#forum-banner a, .nolink { 392color: inherit; 393text-decoration: none; 394} 395 396header { 397z-index: 2; 398} 399 400.icon-button { 401border-radius: 50%; 402aspect-ratio: 1/1; 403height: 3rem; 404width: 3rem; 405padding: 0; 406font-size: 1.5rem; 407background: transparent !important; 408box-shadow: none !important; 409} 410 411#cookie-info { 412background: var(--color-primary); 413color: var(--color-primary-text); 414align-items: center; 415justify-content: space-between; 416} 417 418#cookie-info > p { 419padding: 8px 1em; 420} 421 422.interrupt-top { 423--mask: conic-gradient(from 135deg at top, #0000, #000 0 90deg,#0000 90deg) 50%/16px 100%; 424padding-top: calc(var(--padding-code) + 8px); 425-webkit-mask: var(--mask); 426mask: var(--mask); 427} 428 429.diff-position { 430width: 100%; 431background: var(--color-code-line-number); 432color: var(--color-code-text); 433font: var(--mono-font); 434font-size: 20px; 435line-height: 24px; 436padding: 8px; 437} 438 439.code-view { 440white-space: normal; 441padding: 0; 442display: grid; 443grid-template-columns: min-content min-content; 444grid-auto-rows: min-content; 445width: 100%; 446overflow: auto; 447} 448 449.code-view > :is(code, ins, del, x-codeline) { 450white-space: pre; 451font: inherit; 452color: inherit; 453background: inherit; 454display: inline; 455padding: 0; 456margin: 0; 457width: 100%; 458padding-left: 1ch; 459} 460 461.code-view > .line-number:first-child, 462.code-view > .line-number:first-child + :is(code, ins, del, x-codeline) { 463padding-top: 1ch; 464align-items: flex-end; 465} 466 467.code-view > .line-number:nth-last-child(2), 468.code-view > :is(code, ins, del, x-codeline):last-child { 469padding-bottom: 1ch; 470align-items: flex-start; 471} 472 473.line-number { 474display: inline-block; 475box-sizing: border-box; 476text-align: right; 477padding: 0 1ch !important; 478background: var(--color-code-line-number); 479position: sticky; 480left: 0; 481user-select: none; 482font-weight: 500; 483font: var(--mono-font); 484box-shadow: none; 485width: 100%; 486border-radius: 0; 487min-height: 0; 488cursor: cell; 489} 490 491.line-number:has(+ ins) { 492background: var(--color-insertion-line-number); 493} 494 495.line-number:has(+ del) { 496background: var(--color-deletion-line-number); 497} 498 499ins, .code-view > ins { 500background: var(--color-insertion); 501color: var(--color-insertion-text); 502text-decoration: none; 503} 504 505del, .code-view > del { 506background: var(--color-deletion); 507color: var(--color-deletion-text); 508text-decoration: none; 509} 510 511strong, em { 512font: inherit; 513} 514 515.emphasis-1 { 516font-style: italic; 517} 518 519.emphasis-2 { 520font-weight: 700; 521} 522 523.emphasis-3 { 524font-style: italic; 525font-weight: 700; 526} 527 528.emphasis-4 { 529text-decoration: underline; 530} 531 532.emphasis-5 { 533text-decoration: underline; 534font-style: italic; 535} 536 537.emphasis-6 { 538text-decoration: underline; 539font-weight: 700; 540} 541 542.emphasis-7 { 543text-decoration: underline; 544font-style: italic; 545font-weight: 700; 546} 547 548#favourites-table { 549width: 100%; 550} 551 552#favourites-table > thead > tr > th:nth-child(1) { 553width: 100%; 554} 555 556#favourites-table > thead > tr > th:not(:nth-child(1)) { 557writing-mode: vertical-lr; 558} 559 560#favourites-table > tbody > tr > td:not(:nth-child(1)) { 561vertical-align: middle; 562text-align: center; 563} 564 565#favourites-table > tbody > tr > td:not(:nth-child(1)) > input { 566display: inline-flex; 567margin: 0; 568} 569 570#change-avatar-label { 571cursor: pointer; 572position: relative; 573width: max(25%, 128px); 574aspect-ratio: 1/1; 575border-radius: var(--radius-avatar); 576overflow: hidden; 577} 578 579#change-avatar-label:hover::before { 580position: absolute; 581content: attr(data-change-label); 582background: #00000080; 583color: #ffffff; 584width: 100%; 585height: 100%; 586display: flex; 587align-items: center; 588justify-content: center; 589} 590 591#pagination { 592display: flex; 593gap: 1em; 594justify-content: center; 595align-items: center; 596font-size: 1.5em; 597font-weight: 600; 598flex: 1 0 auto; 599} 600 601#pagination > a { 602text-decoration: none; 603color: var(--color-accent-1); 604} 605 606#pagination-options { 607justify-content: center; 608align-items: space-between; 609gap: 1em; 610width: 100%; 611} 612 613.comment { 614/* Span all columns */ 615grid-column: 1 / -1; 616padding: 1em; 617background: var(--color-card); 618color: var(--color-card-text); 619font: var(--body-font); 620box-shadow: var(--shadow-card); 621z-index: 2; 622border-radius: var(--radius-card); 623border: var(--border-card); 624display: flex; 625flex-flow: column nowrap; 626} 627 628.resolved-comments { 629grid-column: 1 / -1; 630font: var(--body-font); 631} 632 633small { 634font-size: 1em; /* more like LARGE :D, <small> has another semantic meaning which remains valid */ 635} 636 637#profile-avatar { 638width: 128px; 639height: 128px; 640} 641 642@media screen and (max-width: 640px) { 643#profile-avatar { 644width: 96px; 645height: 96px; 646} 647#profile-header { 648flex-flow: column nowrap; 649align-items: center; 650} 651#profile-header #username { 652text-align: center; 653} 654} 655 656.breadcrumbs > ul { 657white-space: nowrap; 658} 659 660@media screen and (max-width: 480px) { 661.breadcrumbs > ul { 662flex-flow: row nowrap; 663overflow-y: scroll; 664align-self: stretch; 665align-items: center; 666} 667.breadcrumbs { 668min-height: 64px; 669padding: 4px; 670} 671} 672 673#repo-tabs > li > a:hover { 674background-color: var(--color-flat-button-hover); 675transition: box-shadow 375ms cubic-bezier(0.5, 1, 0.89, 1), background 375ms cubic-bezier(0.5, 1, 0.89, 1), color 375ms cubic-bezier(0.5, 1, 0.89, 1); 676} 677 678.post-number { 679font: var(--mono-font); 680font-size: inherit; 681font-weight: 150; 682} 683 684.post-label { 685color: var(--color-primary-text); 686text-shadow: 0.0625em 0.0625em #000000ff; 687padding-inline: 0.375rem; 688border-radius: 100vmax; 689} 690 691.post-label.removable { 692cursor: pointer; 693color: var(--color-primary-text); 694text-decoration: none; 695} 696 697.post-label.removable:hover { 698color: var(--color-primary-text); 699text-decoration: line-through; 700} 701 702.post-label.editable { 703cursor: pointer; 704color: var(--color-primary-text); 705text-decoration: none; 706} 707 708.post-label.editable:hover { 709color: var(--color-primary-text); 710text-decoration: underline; 711} 712