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: 577px) { 209#sidenav-trigger { 210display: none; 211} 212#global-nav { 213padding-left: 1em; 214} 215} 216 217@media screen and (max-width: 576px) { 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; 260} 261 262#repo-tabs > li > a { 263display: flex; 264flex-flow: row wrap; 265gap: 0.5ch; 266text-transform: uppercase; 267position: relative; 268overflow: hidden; 269padding: 4px 16px; 270white-space: nowrap; 271} 272 273#repo-tabs > li.selected > a { 274box-shadow: inset 0 -0.25rem var(--color-accent); 275} 276 277#repo-nav { 278padding-left: 0; 279} 280 281x-buttonbox.segmented { 282box-shadow: var(--shadow-button); 283padding: 0; 284gap: 0; 285overflow: hidden; 286border-radius: var(--radius-button); 287width: fit-content; 288} 289 290x-buttonbox.segmented > * { 291border-radius: 0; 292} 293 294.vote-button:not(.selected) { 295box-shadow: none !important; 296color: inherit !important; 297background: transparent !important; 298outline: 0.1px solid #00000080; 299} 300 301.vote-button:not(.selected):hover { 302background: var(--color-flat-button-hover) !important; 303} 304 305.vote-button { 306padding: 4px; 307} 308 309.vote-score { 310min-width: 3ch; 311text-align: center; 312} 313 314.reply-area, .resolved-comments { 315box-shadow: var(--shadow-card); 316margin: var(--margin-card); 317border-radius: var(--radius-card); 318background: var(--color-card); 319color: var(--color-card-text); 320border: var(--border-card); 321overflow: hidden; /* So rounded corners can cut through the content */ 322display: flex; 323flex-flow: column nowrap; 324height: 100%; 325} 326 327.reply-area > summary, .resolved-comments > summary { 328display: flex; 329align-items: center; 330cursor: pointer; 331padding: var(--padding-card); 332padding-top: var(--padding-card-top); 333text-transform: uppercase; 334font-weight: 500; 335transition: box-shadow 250ms cubic-bezier(0.33, 1, 0.68, 1); 336} 337 338.reply-area > form { 339padding: var(--padding-card); 340padding-top: var(--padding-card-top); 341} 342 343.reply-area > summary::before, .resolved-comments > summary::before { 344content: " "; 345background-image: url("/static/efficient-ui/icons/expand.svg"); 346transform: rotate(-90deg); 347width: 1.5em; 348height: 1.5em; 349background-size: contain; 350background-repeat: no-repeat; 351transition: transform 250ms cubic-bezier(0.33, 1, 0.68, 1); 352} 353 354.reply-area[open] > summary::before, .resolved-comments[open] > summary::before { 355transform: rotate(0); 356} 357 358.reply-area[open] > summary { 359box-shadow: var(--shadow-card); 360} 361 362.post-author { 363color: inherit; 364text-decoration: inherit; 365} 366 367.post-details { 368color: var(--color-caption-text); 369} 370 371#forum-banner { 372background: var(--color-navbar); 373color: #ffffff; 374min-height: 56px; 375position: sticky; 376top: 0; 377z-index: 1; 378box-shadow: var(--shadow-navbar); 379} 380 381#forum-banner h1 { 382font-size: 1rem; 383font-weight: 600; 384} 385 386#forum-banner a, .nolink { 387color: inherit; 388text-decoration: none; 389} 390 391header { 392z-index: 2; 393} 394 395.icon-button { 396border-radius: 50%; 397aspect-ratio: 1/1; 398height: 3rem; 399width: 3rem; 400padding: 0; 401font-size: 1.5rem; 402background: transparent !important; 403box-shadow: none !important; 404} 405 406#cookie-info { 407background: var(--color-primary); 408color: var(--color-primary-text); 409align-items: center; 410justify-content: space-between; 411} 412 413#cookie-info > p { 414padding: 8px 1em; 415} 416 417.interrupt-top { 418--mask: conic-gradient(from 135deg at top, #0000, #000 0 90deg,#0000 90deg) 50%/16px 100%; 419padding-top: calc(var(--padding-code) + 8px); 420-webkit-mask: var(--mask); 421mask: var(--mask); 422} 423 424.diff-position { 425width: 100%; 426background: var(--color-code-line-number); 427color: var(--color-code-text); 428font: var(--mono-font); 429font-size: 20px; 430line-height: 24px; 431padding: 8px; 432} 433 434.code-view { 435white-space: normal; 436padding: 0; 437display: grid; 438grid-template-columns: min-content min-content; 439grid-auto-rows: min-content; 440width: 100%; 441overflow: auto; 442} 443 444.code-view > :is(code, ins, del, x-codeline) { 445white-space: pre; 446font: inherit; 447color: inherit; 448background: inherit; 449display: inline; 450padding: 0; 451margin: 0; 452width: 100%; 453padding-left: 1ch; 454} 455 456.code-view > .line-number:first-child, 457.code-view > .line-number:first-child + :is(code, ins, del, x-codeline) { 458padding-top: 1ch; 459align-items: flex-end; 460} 461 462.code-view > .line-number:nth-last-child(2), 463.code-view > :is(code, ins, del, x-codeline):last-child { 464padding-bottom: 1ch; 465align-items: flex-start; 466} 467 468.line-number { 469display: inline-block; 470box-sizing: border-box; 471text-align: right; 472padding: 0 1ch !important; 473background: var(--color-code-line-number); 474position: sticky; 475left: 0; 476user-select: none; 477font-weight: 500; 478font: var(--mono-font); 479box-shadow: none; 480width: 100%; 481border-radius: 0; 482min-height: 0; 483cursor: cell; 484} 485 486.line-number:has(+ ins) { 487background: var(--color-insertion-line-number); 488} 489 490.line-number:has(+ del) { 491background: var(--color-deletion-line-number); 492} 493 494ins, .code-view > ins { 495background: var(--color-insertion); 496color: var(--color-insertion-text); 497text-decoration: none; 498} 499 500del, .code-view > del { 501background: var(--color-deletion); 502color: var(--color-deletion-text); 503text-decoration: none; 504} 505 506strong, em { 507font: inherit; 508} 509 510.emphasis-1 { 511font-style: italic; 512} 513 514.emphasis-2 { 515font-weight: 700; 516} 517 518.emphasis-3 { 519font-style: italic; 520font-weight: 700; 521} 522 523.emphasis-4 { 524text-decoration: underline; 525} 526 527.emphasis-5 { 528text-decoration: underline; 529font-style: italic; 530} 531 532.emphasis-6 { 533text-decoration: underline; 534font-weight: 700; 535} 536 537.emphasis-7 { 538text-decoration: underline; 539font-style: italic; 540font-weight: 700; 541} 542 543#favourites-table { 544width: 100%; 545} 546 547#favourites-table > thead > tr > th:nth-child(1) { 548width: 100%; 549} 550 551#favourites-table > thead > tr > th:not(:nth-child(1)) { 552writing-mode: vertical-lr; 553} 554 555#favourites-table > tbody > tr > td:not(:nth-child(1)) { 556vertical-align: middle; 557text-align: center; 558} 559 560#favourites-table > tbody > tr > td:not(:nth-child(1)) > input { 561display: inline-flex; 562margin: 0; 563} 564 565#change-avatar-label { 566cursor: pointer; 567position: relative; 568width: max(25%, 128px); 569aspect-ratio: 1/1; 570border-radius: var(--radius-avatar); 571overflow: hidden; 572} 573 574#change-avatar-label:hover::before { 575position: absolute; 576content: attr(data-change-label); 577background: #00000080; 578color: #ffffff; 579width: 100%; 580height: 100%; 581display: flex; 582align-items: center; 583justify-content: center; 584} 585 586#pagination { 587display: flex; 588gap: 1em; 589justify-content: center; 590align-items: center; 591font-size: 1.5em; 592font-weight: 600; 593flex: 1 0 auto; 594} 595 596#pagination > a { 597text-decoration: none; 598color: var(--color-accent-1); 599} 600 601#pagination-options { 602justify-content: center; 603align-items: space-between; 604gap: 1em; 605width: 100%; 606} 607 608.comment { 609/* Span all columns */ 610grid-column: 1 / -1; 611padding: 1em; 612background: var(--color-card); 613color: var(--color-card-text); 614font: var(--body-font); 615box-shadow: var(--shadow-card); 616z-index: 2; 617border-radius: var(--radius-card); 618border: var(--border-card); 619display: flex; 620flex-flow: column nowrap; 621} 622 623.resolved-comments { 624grid-column: 1 / -1; 625font: var(--body-font); 626} 627 628small { 629font-size: 1em; /* more like LARGE :D, <small> has another semantic meaning which remains valid */ 630} 631 632#profile-avatar { 633width: 128px; 634height: 128px; 635} 636 637@media screen and (max-width: 640px) { 638#profile-avatar { 639width: 96px; 640height: 96px; 641} 642} 643