about/static/css/potato.css

1122 lines
23 KiB
CSS

body.potato-mode {
--bg: #0a0a0a;
--bg-2: #111;
--bg-3: #181818;
--paper: #0f0f0f;
--ink: #e0e0e0;
--ink-2: #b0b0b0;
--muted: #808080;
--accent: #6a9fff;
--accent-2: #a080ff;
--good: #40c070;
--warn: #e0b040;
--bad: #e06060;
--edge-0: rgba(255, 255, 255, .08);
--edge-1: rgba(255, 255, 255, .12);
--edge-2: rgba(255, 255, 255, .18);
--shadow: none;
--radius: 6px;
--radius-lg: 8px;
--gap: 12px;
--col-min: 280px;
}
body.potato-mode,
body.potato-mode *,
body.potato-mode *::before,
body.potato-mode *::after {
animation: none !important;
transition: none !important;
box-shadow: none !important;
backdrop-filter: none !important;
text-shadow: none !important;
}
body.potato-mode {
background: var(--bg);
color: var(--ink);
}
body.potato-mode .container {
max-width: 100%;
width: 100%;
margin: 0 auto;
padding: 16px 24px;
box-sizing: border-box;
}
body.potato-mode .mosaic {
display: grid !important;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
grid-auto-rows: auto !important;
gap: 12px !important;
align-items: start !important;
width: 100%;
}
body.potato-mode .plugin,
body.potato-mode [class$="-section"] {
background: var(--paper);
border: 1px solid var(--edge-1);
border-radius: var(--radius);
width: 100% !important;
overflow: visible !important;
height: auto !important;
min-height: auto !important;
max-height: none !important;
position: static !important;
transform: none !important;
align-self: start !important;
box-sizing: border-box;
}
/* Reset all grid positioning from main mode */
body.potato-mode .plugin[style],
body.potato-mode .mosaic > * {
grid-row-start: auto !important;
grid-row-end: auto !important;
grid-column-start: auto !important;
grid-column-end: auto !important;
}
body.potato-mode .plugin__inner {
padding: 14px;
height: auto !important;
overflow: visible;
}
body.potato-mode .profile-section {
order: -100;
grid-column: 1 / -1 !important;
}
body.potato-mode .projects-section,
body.potato-mode .neofetch-section,
body.potato-mode .code-section,
body.potato-mode .services-section {
grid-column: 1 / -1 !important;
}
@media (min-width: 900px) {
body.potato-mode .mosaic {
grid-template-columns: repeat(2, 1fr) !important;
}
body.potato-mode .plugin[data-w="2"],
body.potato-mode .lastfm-section,
body.potato-mode .beatleader-section,
body.potato-mode .steam-section,
body.potato-mode .places-section,
body.potato-mode .info-section {
grid-column: span 2 !important;
}
}
@media (min-width: 1200px) {
body.potato-mode .container {
padding: 24px 32px;
}
body.potato-mode .mosaic {
grid-template-columns: repeat(3, 1fr) !important;
}
body.potato-mode .plugin[data-w="2"],
body.potato-mode .lastfm-section,
body.potato-mode .beatleader-section,
body.potato-mode .steam-section,
body.potato-mode .places-section,
body.potato-mode .neofetch-section,
body.potato-mode .code-section,
body.potato-mode .info-section {
grid-column: span 2 !important;
}
body.potato-mode .plugin[data-w="3"],
body.potato-mode .projects-section,
body.potato-mode .services-section {
grid-column: span 3 !important;
}
}
@media (min-width: 1600px) {
body.potato-mode .container {
max-width: 1800px;
padding: 24px 48px;
}
body.potato-mode .mosaic {
grid-template-columns: repeat(4, 1fr) !important;
}
body.potato-mode .plugin[data-w="3"],
body.potato-mode .projects-section {
grid-column: span 4 !important;
}
body.potato-mode .services-section {
grid-column: span 3 !important;
}
}
body.potato-mode .plugin__inner,
body.potato-mode [class$="-section"] > .plugin__inner {
padding: 14px;
}
body.potato-mode .plugin-header {
display: flex;
align-items: center;
padding: 10px 14px;
background: var(--bg-2);
border-bottom: 1px solid var(--edge-0);
border-radius: 0;
margin: 0;
}
body.potato-mode .plugin-title {
margin: 0;
font-size: 12px;
font-weight: 700;
color: var(--ink-2);
text-transform: uppercase;
letter-spacing: 0.5px;
}
body.potato-mode .plugin-toolbar {
display: none !important;
}
body.potato-mode .drag-handle {
cursor: default;
}
body.potato-mode .plugin-overlay {
display: none !important;
}
body.potato-mode .plugin--expanded {
position: relative !important;
width: 100% !important;
max-height: none !important;
overflow: visible !important;
}
body.potato-mode .btn,
body.potato-mode .icon-btn {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 6px 12px;
border: 1px solid var(--edge-1);
border-radius: var(--radius);
background: var(--bg-3);
color: var(--ink);
font-size: 13px;
cursor: pointer;
}
body.potato-mode .status-indicator {
width: 8px;
height: 8px;
border-radius: 50%;
display: inline-block;
margin-right: 6px;
}
body.potato-mode .status-online {
background: var(--good);
}
body.potato-mode .status-loading {
background: var(--warn);
}
body.potato-mode .status-offline {
background: var(--bad);
}
body.potato-mode .profile-section {
background: var(--paper);
border: 1px solid var(--edge-1);
padding: 16px;
}
body.potato-mode .profile-content {
display: flex;
gap: 16px;
align-items: center;
}
body.potato-mode .profile-image img {
width: 72px;
height: 72px;
border-radius: var(--radius);
}
body.potato-mode .profile-name {
margin: 0 0 4px;
font-size: 22px;
}
body.potato-mode .tech-grid {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
body.potato-mode .tech-item {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
}
body.potato-mode .tech-item img {
width: 22px;
height: 22px;
}
body.potato-mode .tech-item .tech-name {
display: none;
}
body.potato-mode .social-links {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
body.potato-mode .social-link {
width: 34px;
height: 34px;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
}
body.potato-mode .social-link img {
width: 18px;
height: 18px;
}
body.potato-mode .stats-grid,
body.potato-mode .stats-overview,
body.potato-mode .health-grid,
body.potato-mode .info-grid,
body.potato-mode .time-summary {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
gap: 8px;
}
body.potato-mode .stat-item,
body.potato-mode .stat-card,
body.potato-mode .health-card,
body.potato-mode .info-item,
body.potato-mode .time-card {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 10px 8px;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
text-align: center;
min-height: 50px;
}
body.potato-mode .stat-value,
body.potato-mode .stat-number,
body.potato-mode .health-card-value,
body.potato-mode .time-value,
body.potato-mode .info-value {
font-size: 16px;
font-weight: 700;
color: var(--accent);
line-height: 1.2;
white-space: nowrap;
}
body.potato-mode .stat-label,
body.potato-mode .health-card-label,
body.potato-mode .time-label,
body.potato-mode .info-label {
font-size: 10px;
color: var(--muted);
text-transform: uppercase;
margin-top: 2px;
letter-spacing: 0.3px;
white-space: nowrap;
}
body.potato-mode .maps-list,
body.potato-mode .games-list,
body.potato-mode .recent-tracks-list,
body.potato-mode .repo-list {
display: flex;
flex-direction: column;
gap: 6px;
}
body.potato-mode .map-item,
body.potato-mode .game-item,
body.potato-mode .recent-track-item,
body.potato-mode .repo-item {
display: flex;
gap: 10px;
padding: 8px 10px;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
}
body.potato-mode .map-cover,
body.potato-mode .game-icon,
body.potato-mode .recent-track-cover img {
width: 44px;
height: 44px;
border-radius: var(--radius);
object-fit: cover;
}
body.potato-mode .terminal {
background: #000;
border: 1px solid var(--edge-1);
border-radius: var(--radius);
font-family: monospace;
}
body.potato-mode .terminal-header {
padding: 8px;
background: #111;
border-bottom: 1px solid var(--edge-0);
}
body.potato-mode .terminal-body {
padding: 12px;
overflow-x: auto;
}
body.potato-mode .neofetch-pre {
margin: 0;
font-size: 10px;
line-height: 1.25;
white-space: pre;
}
body.potato-mode .projects-section {
grid-column: 1 / -1 !important;
}
body.potato-mode .projects-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 12px;
}
body.potato-mode .project-card {
display: flex;
flex-direction: column;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
overflow: hidden;
min-height: 180px;
}
body.potato-mode .project-image {
width: 100%;
height: 120px;
overflow: hidden;
}
body.potato-mode .project-image img {
width: 100%;
height: 100%;
object-fit: cover;
}
body.potato-mode .project-content {
padding: 14px;
flex: 1;
display: flex;
flex-direction: column;
gap: 10px;
}
body.potato-mode .project-title {
margin: 0;
font-size: 15px;
font-weight: 700;
}
body.potato-mode .project-description {
font-size: 13px;
color: var(--ink-2);
margin: 0;
flex: 1;
line-height: 1.5;
}
body.potato-mode .project-lang-bar {
display: flex;
height: 4px;
border-radius: 2px;
overflow: hidden;
background: var(--bg);
gap: 1px;
}
body.potato-mode .project-lang-bar .lang-segment {
height: 100%;
min-width: 3px;
}
body.potato-mode .project-links {
display: flex;
gap: 8px;
flex-wrap: wrap;
}
body.potato-mode .project-link {
padding: 6px 10px;
font-size: 12px;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: 6px;
color: var(--accent);
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 5px;
}
body.potato-mode .project-link--live {
background: var(--accent);
color: #fff;
border-color: var(--accent);
}
body.potato-mode .project-tech {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: auto;
}
body.potato-mode .tech-tag {
padding: 4px 8px;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: 4px;
font-size: 11px;
color: var(--ink-2);
}
body.potato-mode .projects-lang-summary {
margin-bottom: 16px;
padding: 12px;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
}
body.potato-mode .lang-summary-bar {
display: flex;
height: 6px;
border-radius: 3px;
overflow: hidden;
background: var(--bg);
gap: 1px;
}
body.potato-mode .lang-summary-legend {
display: flex;
flex-wrap: wrap;
gap: 6px 12px;
margin-top: 10px;
}
body.potato-mode .lang-legend-item {
font-size: 10px;
color: var(--ink-2);
}
@media (max-width: 600px) {
body.potato-mode .projects-grid {
grid-template-columns: 1fr;
}
body.potato-mode .project-card {
min-height: auto;
}
}
body.potato-mode .services-section {
grid-column: 1 / -1 !important;
}
body.potato-mode .services-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
gap: 8px;
}
body.potato-mode .service-item {
padding: 10px 12px;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
display: flex;
flex-direction: column;
gap: 6px;
}
body.potato-mode .service-item::before {
display: none;
}
body.potato-mode .service-head {
display: flex;
align-items: center;
gap: 8px;
}
body.potato-mode .service-icon {
width: 24px;
height: 24px;
font-size: 16px;
background: transparent;
flex-shrink: 0;
}
body.potato-mode .service-id {
flex: 1;
min-width: 0;
}
body.potato-mode .service-title {
font-size: 13px;
font-weight: 600;
}
body.potato-mode .service-statuschip {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 10px;
}
body.potato-mode .service-stats {
display: flex;
gap: 4px;
flex-wrap: wrap;
}
body.potato-mode .chip {
font-size: 9px;
padding: 2px 4px;
background: transparent;
border: 1px solid var(--edge-0);
}
body.potato-mode .services-summary {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px;
margin-top: 10px;
padding: 0;
background: none;
border: none;
}
body.potato-mode .summary-item {
display: flex;
flex-direction: column;
align-items: center;
padding: 8px;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
}
body.potato-mode .summary-count {
font-size: 18px;
font-weight: 700;
}
body.potato-mode .summary-label {
font-size: 9px;
color: var(--muted);
text-transform: uppercase;
}
body.potato-mode .webring-nav {
display: flex;
gap: 8px;
justify-content: center;
}
body.potato-mode .webring-prev,
body.potato-mode .webring-home,
body.potato-mode .webring-next {
padding: 8px 14px;
background: transparent;
border: 1px solid var(--edge-1);
border-radius: var(--radius);
color: var(--ink);
text-decoration: none;
font-size: 12px;
}
body.potato-mode .webring-home {
background: var(--accent);
color: #fff;
border-color: var(--accent);
}
body.potato-mode .places-section {
min-height: auto;
}
body.potato-mode .places-map-container {
position: relative;
width: 100%;
height: 280px;
min-height: 280px;
background: var(--bg-2);
border: 1px solid var(--edge-1);
border-radius: var(--radius);
overflow: hidden;
}
body.potato-mode .places-map {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
}
body.potato-mode #places-map {
width: 100% !important;
height: 100% !important;
}
body.potato-mode .map-loading {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background: var(--bg-2);
z-index: 10;
}
body.potato-mode .map-loading.hidden {
display: none;
}
body.potato-mode .map-controls {
position: absolute;
top: 8px;
right: 8px;
z-index: 1000;
display: flex;
flex-direction: column;
gap: 4px;
}
body.potato-mode .map-control-btn {
width: 28px;
height: 28px;
border-radius: var(--radius);
border: 1px solid var(--edge-1);
background: var(--paper);
color: var(--ink);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
body.potato-mode .leaflet-container {
width: 100% !important;
height: 100% !important;
background: var(--bg-2) !important;
font-family: inherit !important;
}
body.potato-mode .leaflet-control-zoom {
border: none !important;
border-radius: var(--radius) !important;
}
body.potato-mode .leaflet-control-zoom a {
background: var(--paper) !important;
color: var(--ink) !important;
border: 1px solid var(--edge-1) !important;
width: 28px !important;
height: 28px !important;
line-height: 28px !important;
}
body.potato-mode .leaflet-popup-content-wrapper {
background: var(--paper) !important;
border: 1px solid var(--edge-1) !important;
border-radius: var(--radius) !important;
color: var(--ink) !important;
}
body.potato-mode .leaflet-popup-tip {
background: var(--paper) !important;
}
body.potato-mode .leaflet-control-attribution {
background: rgba(0, 0, 0, .6) !important;
color: rgba(255, 255, 255, .6) !important;
}
body.potato-mode .code-section .collapsible-content {
max-height: none !important;
height: auto !important;
overflow: visible !important;
opacity: 1 !important;
visibility: visible !important;
display: block !important;
padding: 12px !important;
margin: 10px 0 !important;
background: transparent !important;
border: 1px solid var(--edge-0) !important;
}
body.potato-mode .code-section .collapsible-content.collapsed {
max-height: none !important;
height: auto !important;
padding: 12px !important;
opacity: 1 !important;
visibility: visible !important;
display: block !important;
margin: 10px 0 !important;
}
body.potato-mode .section-toggle {
background: transparent;
border: 1px solid var(--edge-0);
}
body.potato-mode .section-toggle .toggle-icon {
display: none;
}
body.potato-mode .custom-music-player {
display: flex;
align-items: center;
gap: 10px;
padding: 10px;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
margin-top: 10px;
}
body.potato-mode .player-artwork-mini {
width: 40px;
height: 40px;
}
body.potato-mode .player-artwork-mini img {
width: 100%;
height: 100%;
border-radius: var(--radius);
}
body.potato-mode .track-cover-large {
width: 100px;
height: 100px;
border-radius: var(--radius);
overflow: hidden;
}
body.potato-mode .track-cover-large img {
width: 100%;
height: 100%;
object-fit: cover;
}
body.potato-mode .status-bar {
position: fixed;
bottom: 8px;
left: 50%;
transform: translateX(-50%);
padding: 6px 12px;
background: var(--paper);
border: 1px solid var(--edge-1);
border-radius: var(--radius);
font-size: 12px;
z-index: 1000;
}
body.potato-mode .toast-root {
position: fixed;
top: 16px;
right: 16px;
z-index: 10000;
}
body.potato-mode .toast {
background: var(--paper);
border: 1px solid var(--edge-1);
padding: 10px 14px;
margin-bottom: 8px;
border-radius: var(--radius);
font-size: 13px;
}
body.potato-mode .visitors-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
gap: 8px;
}
body.potato-mode .visitor-stat {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 10px 6px;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
text-align: center;
min-width: 70px;
}
body.potato-mode .visitor-number {
font-size: 16px;
font-weight: 700;
color: var(--accent);
line-height: 1.2;
white-space: nowrap;
}
body.potato-mode .visitor-label {
font-size: 9px;
color: var(--muted);
text-transform: uppercase;
white-space: nowrap;
margin-top: 2px;
}
body.potato-mode .visitor-uptime {
white-space: nowrap;
}
body.potato-mode .personal-item {
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
padding: 10px;
}
body.potato-mode .personal-title {
font-size: 13px;
font-weight: 600;
margin-bottom: 6px;
}
body.potato-mode .personal-text {
font-size: 12px;
color: var(--ink-2);
}
body.potato-mode .personal-text p {
margin: 0;
}
body.potato-mode .meme-content {
text-align: center;
}
body.potato-mode .meme-content img {
max-width: 100%;
height: auto;
border-radius: var(--radius);
}
body.potato-mode .meme-caption {
margin-top: 6px;
font-size: 12px;
color: var(--ink-2);
}
body.potato-mode .pepe-gif,
body.potato-mode .replay-indicator {
display: none;
}
body.potato-mode .potato-toggle.active {
background: var(--accent);
border-color: var(--accent);
}
body.potato-mode .language-item,
body.potato-mode .waka-item {
display: flex;
align-items: center;
gap: 10px;
padding: 6px 8px;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
}
body.potato-mode .lang-info,
body.potato-mode .waka-lang {
min-width: 90px;
font-size: 11px;
font-weight: 600;
}
body.potato-mode .lang-bar,
body.potato-mode .waka-bar {
flex: 1;
height: 4px;
background: var(--bg);
border-radius: 2px;
overflow: hidden;
}
body.potato-mode .lang-fill,
body.potato-mode .waka-fill {
height: 100%;
border-radius: 2px;
}
body.potato-mode .lang-percent,
body.potato-mode .waka-time {
font-size: 10px;
color: var(--muted);
min-width: 50px;
text-align: right;
}
body.potato-mode .language-chart,
body.potato-mode .wakatime-list {
display: flex;
flex-direction: column;
gap: 4px;
}
body.potato-mode .editor-list {
display: flex;
flex-wrap: wrap;
gap: 4px;
margin-top: 10px;
}
body.potato-mode .editor-chip {
padding: 3px 6px;
background: transparent;
border: 1px solid var(--edge-0);
border-radius: var(--radius);
font-size: 10px;
color: var(--ink-2);
}
body.potato-mode .repo-content {
flex: 1;
min-width: 0;
}
body.potato-mode .repo-name {
font-size: 12px;
font-weight: 600;
margin-bottom: 3px;
}
body.potato-mode .repo-lang-bar {
display: flex;
height: 3px;
border-radius: 2px;
overflow: hidden;
background: var(--bg);
}
body.potato-mode .repo-tags {
display: flex;
gap: 4px;
}
body.potato-mode .repo-lang,
body.potato-mode .repo-stars {
font-size: 9px;
padding: 2px 5px;
border-radius: var(--radius);
background: transparent;
border: 1px solid var(--edge-0);
}
body.potato-mode .repo-stars {
background: var(--accent);
color: #fff;
border-color: var(--accent);
}
body.potato-mode .health-card {
flex-direction: row;
gap: 10px;
padding: 10px;
min-height: auto;
}
body.potato-mode .health-card-icon {
width: 28px;
height: 28px;
min-width: 28px;
display: flex;
align-items: center;
justify-content: center;
}
body.potato-mode .health-card-content {
flex: 1;
text-align: left;
display: flex;
flex-direction: column;
gap: 2px;
}
body.potato-mode .health-card-value {
font-size: 14px;
}
body.potato-mode .health-card-label {
margin-top: 0;
}
@media (prefers-color-scheme: light) {
body.potato-mode {
--bg: #f5f5f5;
--bg-2: #eee;
--bg-3: #e0e0e0;
--paper: #fff;
--ink: #222;
--ink-2: #444;
--muted: #666;
--edge-0: rgba(0, 0, 0, .08);
--edge-1: rgba(0, 0, 0, .12);
--edge-2: rgba(0, 0, 0, .18);
}
}