:root { --bg: #EEE; --sidebarBg: #292929; --contentBg: #FFF; --selectedBg: #fcd2cf; --border: #E5E5E5; --color: #232323; --colorLink: #999; --colorSidebar: #FFF; --main: #F44336; } &.night { --bg: #1F1F1F; --contentBg: #292929; --selectedBg: #300603; --border: #191919; --color: #FFF; .yla-dialog { color: var(--color); background-color: var(--bg); >.yla-dialog__header { background-color: var(--contentBg); border-bottom: 1px solid var(--border); } >.yla-dialog__body { >input, >textarea { color: var(--color); border-color: var(--border); background-color: var(--contentBg); } } >.yla-dialog__footer { border-color: var(--border); } } } * { border-width: 0; box-sizing: border-box; font-family: "Source Sans Pro", sans-serif; margin: 0; padding: 0; text-decoration: none; hyphens: auto; } a { cursor: pointer; } .spacer { flex: 1 0; } .noscroll { overflow: hidden; } body { overflow-x: hidden; } .page { display: flex; flex-flow: column nowrap; background-color: var(--bg); min-width: 0; min-height: 100vh; #sidebar { position: fixed; top: 0; left: 0; bottom: 0; display: flex; flex-flow: column nowrap; flex-shrink: 0; background-color: var(--sidebarBg); min-width: 0; min-height: 0; z-index: 10; overflow: auto; #logo { width: 60px; line-height: 60px; text-align: center; font-size: 2em; color: var(--contentBg); background-color: var(--main); flex-shrink: 0; } >a { width: 60px; line-height: 60px; text-align: center; display: block; color: var(--colorSidebar); flex-shrink: 0; >span { display: block; height: 0; line-height: 0; overflow: hidden; } &:hover, &:focus { background-color: #232323; } } } #body { flex: 1 0; display: flex; flex-flow: column nowrap; min-width: 0; min-height: 0; margin-left: 60px; } @media (max-width: 600px) { &.night #sidebar { border-right-width: 0; border-bottom: 1px solid var(--border); } #sidebar { position: static; flex-flow: row nowrap; #logo, .spacer { display: none; } a { margin: auto; } } #body { margin-left: 0; } } } #login-page { display: flex; flex-flow: column nowrap; align-items: center; height: 100vh; background-color: var(--bg); justify-content: center; padding: 16px; >.error-message { width: 100%; max-width: 400px; font-size: 0.9em; background-color: var(--contentBg); border: 1px solid var(--border); padding: 16px; margin-bottom: 16px; text-align: center; color: var(--main); } #login-box { width: 100%; max-width: 400px; background-color: var(--contentBg); display: flex; flex-flow: column nowrap; border: 1px solid var(--border); #logo-area { display: flex; align-items: center; flex-flow: column nowrap; padding: 16px; border-bottom: 1px solid var(--border); flex-shrink: 0; #logo { font-size: 3em; font-weight: 100; color: var(--main); span { margin-right: 8px; } } #tagline { font-size: 0.9em; font-weight: 500; color: var(--main); } } #input-area { padding: 8px; border-bottom: 1px solid var(--border); .input-field { display: flex; align-items: baseline; padding: 8px; p { color: var(--color); font-size: 0.9em; margin-right: 16px; min-width: 65px; } input { color: var(--color); padding: 8px; background-color: var(--contentBg); border: 1px solid var(--border); flex: 1 0; font-size: 0.9em; } a { display: block; cursor: pointer; color: var(--color); text-align: center; font-size: 0.9em; flex: 1 0; i { margin-right: 8px; color: var(--color); } &:hover, &:focus { color: var(--main); } } } } #button-area { display: flex; flex-flow: row nowrap; padding: 16px; justify-content: center; a { color: var(--colorLink); text-transform: uppercase; text-align: center; font-size: 0.9em; font-weight: 600; &:hover, &:focus { color: var(--main); } } } } } #index-page { .header { background-color: var(--contentBg); border-bottom: 1px solid var(--border); display: flex; flex-flow: row nowrap; color: var(--color); align-items: center; min-width: 0; min-height: 0; overflow: hidden; flex-shrink: 0; position: fixed; left: 60px; top: 0; right: 0; z-index: 11; } #header { input { flex: 1 0; line-height: 60px; padding: 0 16px; min-width: 0; font-size: 1em; color: var(--color); background-color: var(--contentBg); border-right: 1px solid var(--border); } a { width: 60px; line-height: 60px; text-align: center; color: var(--colorLink); flex-shrink: 0; &:hover, &:focus { color: var(--main); } } } #batch-edit { height: 61px; flex-shrink: 0; padding: 16px; font-size: 0.9em; >*:not(:last-child) { margin-right: 32px; } p { font-weight: 600; flex: 1 0; } a { color: var(--colorLink); &.disabled { opacity: 0.5; cursor: default; } &:hover:not(.disabled), &:focus:not(.disabled) { color: var(--main); } i { margin-right: 6px; } } #cancel-edit { color: var(--color); padding: 4px; border: 1px solid var(--border); border-radius: 4px; &:hover, &:focus { color: var(--main); } i { margin: 0; } } } #grid { display: grid; grid-template-rows: auto; grid-template-columns: repeat(4, 1fr); grid-gap: 16px; padding: 16px 16px 0; margin-top: 60px; position: relative; .bookmark { display: flex; flex-flow: column nowrap; min-width: 0; border: 1px solid var(--border); background-color: var(--contentBg); height: 100%; position: relative; &:hover, &:focus { .bookmark-menu>a { display: block; } } &.selected { background-color: var(--selectedBg); } .bookmark-selector { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 9; } .bookmark-link { display: block; cursor: default; &[href] { cursor: pointer; &:hover, &:focus { .title { color: var(--main); } } } img { width: 100%; max-height: 13em; object-fit: cover; margin-bottom: 8px; } .title { text-overflow: ellipsis; word-wrap: break-word; overflow: hidden; font-size: 1.2em; line-height: 1.3em; max-height: 5.2em; font-weight: 600; padding: 0 16px; color: var(--color); &:first-child { margin-top: 16px; } } .excerpt { color: var(--color); margin-top: 8px; padding: 0 16px; text-overflow: ellipsis; word-wrap: break-word; overflow: hidden; font-size: 0.9em; line-height: 1.5em; max-height: 10.5em; } } .bookmark-tags { display: flex; flex-flow: row wrap; margin: 4px 0 -4px; padding: 0 8px; a { margin: 4px; padding: 4px 8px; font-size: 0.8em; font-weight: 600; border: 1px solid var(--border); border-radius: 4px; color: var(--colorLink); &:hover, &:focus { color: var(--main); } } } .bookmark-menu { padding: 8px 16px 16px; display: flex; flex-flow: row nowrap; min-width: 0; min-height: 0; align-items: center; a { color: var(--colorLink); flex-shrink: 0; opacity: 0.8; display: none; font-size: 0.9em; &:not(:last-child) { margin-right: 12px; } &:hover, &:focus { color: var(--main); opacity: 1; } @media (max-width: 800px) { display: block; &:not(:last-child) { margin-right: 24px; } } } .url { flex: 1 0; opacity: 1; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 21px; } } } .pagination-box { grid-column-start: 1; grid-column-end: -1; display: flex; flex-flow: row nowrap; a { padding: 8px; color: var(--colorLink); &:hover, &:focus { color: var(--main); } } input { width: 40px; padding: 8px; text-align: center; font-size: 0.9em; color: var(--color); border: 1px solid var(--border); background-color: var(--contentBg); margin: 0 8px; } p { font-size: 0.9em; color: var(--colorLink); line-height: 37px; font-weight: 600; &:last-of-type::before { content: "/"; margin-right: 8px; } } } #grid-padding { grid-column-start: 1; grid-column-end: -1; min-height: 1px; } &.list { grid-gap: 0; grid-template-columns: 1fr; max-width: 1280px; .pagination-box { margin-top: 16px; &:first-of-type { margin-top: 0; margin-bottom: 16px; } } .bookmark { border-top-width: 0; border-bottom-width: 1px; padding: 16px 24px 16px 100px; &:nth-child(2) { border-top-width: 1px; } .bookmark-link { img { position: absolute; top: 0; left: 0; width: 100px; height: 100%; margin-bottom: 0; } .title { margin: 0; padding-left: 24px; white-space: nowrap; } } .excerpt, >.spacer { display: none; } .bookmark-tags { order: 5; padding-left: 16px; padding-right: 0; margin-right: -4px; } .bookmark-menu { padding: 4px 0 0 24px; align-items: flex-end; } } #grid-padding { min-height: 16px } } @media (min-width: 2001px) { grid-template-columns: repeat(6, 1fr); } @media (max-width: 2000px) and (min-width: 1601px) { grid-template-columns: repeat(5, 1fr); } @media (max-width: 1600px) and (min-width: 1301px) { grid-template-columns: repeat(4, 1fr); } @media (max-width: 1300px) and (min-width: 1001px) { grid-template-columns: repeat(3, 1fr); } @media (max-width: 1000px) and (min-width: 601px) { grid-template-columns: repeat(2, 1fr); } @media (max-width: 600px) { grid-template-columns: 1fr; } } @media (max-width: 600px) { .header { position: static; } #batch-edit { >*:not(:last-child) { margin-right: 32px; } span { display: none; } } #grid { margin-top: 0; } } } #cache-page { #sidebar { #toggle-font { font-weight: 600; font-size: 1.2em; &.serif { font-family: "Source Serif Pro", serif; } } } #body { color: var(--color); overflow-y: auto; align-items: center; padding: 16px 16px 0; &.serif * { font-family: "Source Serif Pro", serif; } #header { display: grid; grid-template-rows: auto; grid-template-columns: 1fr 1fr; width: 100%; max-width: 840px; grid-gap: 12px; margin-bottom: 16px; background-color: var(--contentBg); padding: 20px; border: 1px solid var(--border); #title { grid-column-start: 1; grid-column-end: -1; font-size: 40px; font-weight: 700; word-break: break-word; hyphens: none; } #time { font-size: 16px; color: var(--colorLink); } #url { font-size: 16px; color: var(--colorLink); text-align: right; justify-self: end; &:hover, &:focus { color: var(--main); } } @media (max-width: 800px) { grid-template-columns: 1fr; #url { justify-self: start; } } } #content { width: 100%; max-width: 840px; grid-gap: 12px; background-color: var(--contentBg); padding: 20px; border: 1px solid var(--border); * { font-size: 18px; line-height: 180%; &:not(:last-child) { margin-bottom: 20px; } } a { color: var(--color); text-decoration: underline; &:hover, &:focus { color: var(--main); } } pre, code { font-family: 'Ubuntu Mono', 'Courier New', Courier, monospace; } ol, ul { padding-left: 16px; } } #body-padding { width: 100%; min-height: 16px; } } } #submit-page { background-color: transparent; .yla-dialog__header { text-align: center; } &:not(.iframe) { background-color: var(--bg); .yla-dialog__overlay { background-color: transparent; .yla-dialog { border: 1px solid var(--border); } } } } .yla-tooltip { @media (max-width: 800px) { display: none; } } #dialog-tags { .yla-dialog__body { grid-template-columns: 1fr 1fr; a { display: flex; flex-flow: row nowrap; align-items: baseline; span { &:last-child { font-size: 0.9em; color: var(--colorLink); margin-left: 8px; &::before { content: "("; margin-right: 2px; } &::after { content: ")"; margin-left: 2px; } } } &:hover, &:focus { color: var(--main); } } } }