* { box-sizing: border-box; } :root { color-scheme: light; --bg-primary: #fff; --bg-secondary: #fafafa; --bg-tertiary: #fff; --bg-hover: #fafafa; --text-primary: #24292e; --text-secondary: #5c5c5c; --text-tertiary: #586069; --text-accent: #0366d6; --svg-primary: #24292e; --svg-secondary: rgba(3, 47, 98, 0.5); --svg-tertiary: #24292e; --border-primary: #ddd; --border-secondary: #ced4da; } html { font-family: -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif; line-height: 1.5; color: var(--text-primary); } body { margin: 0; background-color: var(--bg-primary); } svg { fill: var(--svg-primary); } .hidden { display: none !important; } .head { z-index: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 0.6em 1em; position: sticky; top: 0; background-color: var(--bg-tertiary); } .breadcrumb { font-size: 1.25em; padding-right: 0.6em; word-break: break-all; } .breadcrumb>a { color: var(--text-accent); text-decoration: none; } .breadcrumb>a:hover { text-decoration: underline; } /* final breadcrumb */ .breadcrumb>b { color: var(--text-primary); } .breadcrumb>.separator { color: var(--text-tertiary); padding: 0 0.25em; } .breadcrumb svg { height: 100%; fill: var(--svg-secondary); } .toolbox { display: flex; margin-right: 10px; } .toolbox>a, .toolbox>div { /* vertically align with breadcrumb text */ height: 1.1rem; } .toolbox .control { cursor: pointer; padding-left: 0.25em; } .upload-file input { display: none; } .upload-file label { cursor: pointer; } .searchbar { display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; background-color: var(--bg-secondary); transition: all .15s; border: 1px var(--border-primary) solid; border-radius: 15px; margin-bottom: 2px; padding-left: 0.5rem; } .searchbar #search { box-sizing: border-box; width: 100%; height: 100%; font-size: 16px; line-height: 16px; padding: 1px; padding-left: 0.5rem; color: var(--text-primary); background-color: transparent; border: none; outline: none; } .searchbar .icon { color: var(--svg-tertiary); padding: 6px 3px 3px 0; cursor: pointer; } .searchbar svg { fill: var(--svg-tertiary); } .main { padding: 0 1em; } .empty-folder { font-style: italic; } .uploaders-table th { text-align: left; font-weight: unset; color: var(--text-secondary); white-space: nowrap; } .uploaders-table td { white-space: nowrap; } .uploaders-table .cell-status { width: 80px; padding-left: 0.6em; } .cell-status span { display: inline-block; } .paths-header-row, .path-item { display: grid; grid-template-columns: 24px minmax(0, 1fr) 120px 70px 130px; align-items: center; column-gap: 1.5em; padding: 0.4em 0; } .path-item:hover { background-color: var(--bg-hover); } .paths-header-row { color: var(--text-secondary); font-weight: unset; border-bottom: 1px solid var(--border-primary); } .paths-header-row .h-sort { color: unset; text-decoration: none; white-space: nowrap; } .paths-header-row .h-sort>span { padding-left: 2px; } .path-item .cell-size { text-align: right; } .path-item .cell-mtime, .path-item .cell-size { font-variant-numeric: tabular-nums; white-space: nowrap; } .path-item .cell-actions { display: flex; align-items: center; } .path-item .cell-more { display: none; position: relative; } .path svg, .path-item .cell-icon svg { height: 16px; fill: var(--svg-secondary); vertical-align: text-top; } .path { list-style: none; } .path-item .cell-name a { color: var(--text-accent); text-overflow: ellipsis; white-space: nowrap; overflow: hidden; display: block; text-decoration: none; } .path-item .cell-name a:hover { text-decoration: underline; } .action-btn { padding-right: 0.3em; cursor: pointer; } .uploaders-table { padding: 0.5em 0; } .uploader { padding-right: 1em; } .editor { width: 100%; height: calc(100vh - 5rem); border: 1px solid var(--border-secondary); background: var(--bg-primary); color: var(--text-primary); outline: none; padding: 5px; } .toolbox-right { margin-left: auto; margin-right: 2em; } .login-btn { cursor: pointer; } .save-btn { cursor: pointer; -webkit-user-select: none; user-select: none; } .logout-btn { cursor: pointer; display: flex; align-items: center; } .user-name { padding-left: 3px; } .not-editable { font-style: italic; } .retry-btn { cursor: pointer; } @media (min-width: 768px) { .menu, .menu-content { display: contents; } .menu-toggle, .menu-btn { display: none; } } @media (max-width: 767.98px) { .menu { position: relative; margin-left: auto; } .menu-toggle { display: none; } .menu-btn { display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0.2em; user-select: none; } .menu-content { display: none; position: absolute; right: 0; top: calc(100% + 6px); z-index: 100; flex-direction: column; min-width: 250px; padding: 0.4em; background-color: var(--bg-tertiary); border: 1px solid var(--border-primary); border-radius: 10px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); } .menu-toggle:checked ~ .menu-content { display: flex; } .menu-content .searchbar { order: -1; box-sizing: border-box; margin: 0 0 0.4em; padding: 0.3em 0.8em; background-color: var(--bg-secondary); border-radius: 8px; display: flex; height: fit-content; align-items: center; justify-content: center; } .menu-content .toolbox, .menu-content .toolbox-right { display: flex; flex-wrap: wrap; gap: 0.4em; margin: 0; padding: 0.5em 0.3em 0.3em; } .menu-content .toolbox .control, .menu-content .toolbox-right > .login-btn, .menu-content .toolbox-right > .logout-btn, .menu-content .toolbox-right > .save-btn { display: flex; align-items: center; height: auto; padding: 0.4em 0.5em; border-radius: 8px; cursor: pointer; } .menu-content .toolbox .control:hover, .menu-content .toolbox-right > .login-btn:hover, .menu-content .toolbox-right > .logout-btn:hover, .menu-content .toolbox-right > .save-btn:hover { background-color: var(--bg-hover); } .menu-content .upload-file, .menu-content .upload-file label { cursor: pointer; } .menu-content .upload-file.hidden label { pointer-events: none; } .menu-content .toolbox .control.hidden { display: flex !important; opacity: 0.35; cursor: default; pointer-events: none; } .menu-content .toolbox .control.hidden:hover { background-color: transparent; } .menu-content .toolbox-right > .login-btn:not(.hidden)::after { content: "Log In"; font-size: 0.95em; margin-left: 0.4em; } .paths-header-row { display: none; } .path-item { display: flex; align-items: center; gap: 0.5em; } .path-item .cell-icon { flex: 0 0 24px; } .path-item .cell-name { flex: 1; min-width: 0; } .path-item .cell-mtime, .path-item .cell-size, .path-item .cell-actions { display: none; } .path-item .cell-more { flex: 0 0 28px; display: block; } .more-toggle { display: none; } .more-btn { display: block; cursor: pointer; font-size: 1.4em; line-height: 1; text-align: center; user-select: none; } .more-panel { display: none; position: absolute; right: 0; top: 100%; z-index: 100; flex-direction: column; gap: 0.5em; padding: 0.6em; background-color: var(--bg-tertiary); border: 1px solid var(--border-primary); border-radius: 6px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); min-width: 180px; white-space: nowrap; } .more-toggle:checked ~ .more-panel { display: flex; } .more-row { display: flex; gap: 0.5em; align-items: center; justify-content: space-between; } .more-label { color: var(--text-secondary); } .more-content { color: var(--text-primary); } .more-actions { display: flex; gap: 0.4em; align-items: center; justify-content: flex-start; padding-top: 0.3em; border-top: 1px solid var(--border-primary); } } /* dark theme */ @media (prefers-color-scheme: dark) { :root { color-scheme: dark; --bg-primary: #000; --bg-secondary: #111; --bg-tertiary: #111; --bg-hover: #1a1a1a; --text-primary: #fff; --text-secondary: #ccc; --text-tertiary: #586069; /*Unchanged in both color schemes*/ --text-accent: #3191ff; --svg-primary: #fff; --svg-secondary: #fff; --svg-tertiary: #fff6; --border-primary: #fff6; --border-secondary: #ced4da; /*Unchanged in both color schemes*/ } }