/* ─── MS-DOS ─── */ @keyframes dos-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } } [data-theme='dos'] { color-scheme: dark; font-family: 'Courier New', Courier, 'Lucida Console', monospace; --select-arrow: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23AAAAAA%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E"); /* Pure ANSI color palette */ --ctp-crust: #000000; --ctp-mantle: #000080; --ctp-base: #0000AA; --ctp-surface0: #000080; --ctp-surface1: #0000AA; --ctp-surface2: #0000CC; --ctp-overlay0: #8888AA; --ctp-overlay1: #BBBBCC; --ctp-overlay2: #E8E8E8; --ctp-text: #E8E8E8; --ctp-subtext1: #BBBBCC; --ctp-subtext0: #8888AA; --ctp-mauve: #FF55FF; --ctp-lavender: #FF55FF; --ctp-pink: #FF55FF; --ctp-flamingo: #FF5555; --ctp-rosewater: #FFFFFF; --ctp-green: #55FF55; --ctp-teal: #55FFFF; --ctp-sky: #55FFFF; --ctp-blue: #5555FF; --ctp-sapphire: #5555FF; --ctp-yellow: #FFFF55; --ctp-peach: #FF5555; --ctp-maroon: #AA0000; --ctp-red: #FF5555; --bg-app: #0000AA; --bg-sidebar: #000080; --bg-card: #000080; --bg-hover: rgba(170, 170, 170, 0.15); --bg-player: #000000; --bg-glass: rgba(0, 0, 128, 0.95); --accent: #FFFF55; --accent-dim: rgba(255, 255, 85, 0.15); --accent-glow: rgba(255, 255, 85, 0.3); --text-primary: #E8E8E8; --text-secondary: #BBBBCC; --text-muted: #8888AA; --border: #AAAAAA; --border-subtle: #4444AA; --border-dropdown: #AAAAAA; --shadow-dropdown: rgba(0, 0, 0, 0.95); --positive: #55FF55; --warning: #FFFF55; --danger: #FF5555; /* Square everything — no rounded corners in DOS */ --radius-sm: 0px; --radius-md: 0px; --radius-lg: 0px; --radius-full: 0px; } /* Monospace override — html inherits to most elements; form controls need explicit override */ [data-theme='dos'] button, [data-theme='dos'] input, [data-theme='dos'] textarea, [data-theme='dos'] select { font-family: 'Courier New', Courier, 'Lucida Console', monospace; } /* Sidebar — dark navy with CRT scanlines, thick grey right border like a DOS panel edge */ [data-theme='dos'] .sidebar { background-color: #000080; background-image: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0px, rgba(0, 0, 0, 0.20) 1px, transparent 1px, transparent 3px); border-right: 2px solid #AAAAAA; } /* Active nav — classic DOS inverted selection */ [data-theme='dos'] .nav-link.active { background: #AAAAAA; color: #000080; border-left: none; font-weight: 700; } [data-theme='dos'] .nav-link:hover:not(.active) { background: rgba(170, 170, 170, 0.18); color: #FFFF55; } /* Player bar — pure black, the C:\> command prompt */ [data-theme='dos'] .player-bar { background-color: #000000; background-image: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0px, rgba(0, 0, 0, 0.20) 1px, transparent 1px, transparent 3px); border-top: 2px solid #AAAAAA; box-shadow: none; } /* Track name — bright yellow with blinking block cursor */ [data-theme='dos'] .player-track-name { color: #FFFF55; text-shadow: none; } [data-theme='dos'] .player-track-name::after { content: '\258B'; animation: dos-blink 1s step-end infinite; margin-left: 3px; font-size: 0.8em; vertical-align: baseline; } /* Artist name — bright cyan (ANSI 11) */ [data-theme='dos'] .player-artist-name { color: #55FFFF; } /* Content header — simple grey border, no ornate gradient */ [data-theme='dos'] .content-header { border-bottom: 1px solid #AAAAAA; } /* Album/artist cards — flat navy panels with grey border */ [data-theme='dos'] .album-card, [data-theme='dos'] .artist-card { background: #000080; border: 1px solid #AAAAAA; box-shadow: none; } [data-theme='dos'] .album-card:hover, [data-theme='dos'] .artist-card:hover { background: #0000AA; border-color: #FFFFFF; box-shadow: none; } /* Track / queue row hover — inverted DOS selection */ [data-theme='dos'] .track-row:hover, [data-theme='dos'] .queue-item:hover { background: #AAAAAA !important; color: #000080; box-shadow: none; } /* Primary play button — flat grey, sharp, DOS dialog style */ [data-theme='dos'] .player-btn-primary { background: #AAAAAA; color: #000000; border: 2px solid #FFFFFF; box-shadow: none; } [data-theme='dos'] .player-btn-primary:hover { background: #FFFFFF; color: #000000; box-shadow: none; transform: none; } /* btn-primary — uppercase DOS dialog button */ [data-theme='dos'] .btn-primary { background: #AAAAAA; color: #000000; border: 1px solid #FFFFFF; text-transform: uppercase; letter-spacing: 0.06em; box-shadow: none; } [data-theme='dos'] .btn-primary:hover { background: #FFFFFF; color: #000000; box-shadow: none; } /* btn-surface */ [data-theme='dos'] .btn-surface, [data-theme='dos'] .btn { border: 1px solid #AAAAAA; box-shadow: none; } /* Hero play button */ [data-theme='dos'] .hero-play-btn { background: #AAAAAA; color: #000000; border: 2px solid #FFFFFF; text-transform: uppercase; letter-spacing: 0.08em; box-shadow: none; transition: background var(--transition-fast), color var(--transition-fast); } [data-theme='dos'] .hero-play-btn:hover { background: #FFFFFF; color: #000000; transform: none; filter: none; box-shadow: none; } /* Album card overlay play button */ [data-theme='dos'] .album-card-details-btn { background: #AAAAAA; color: #000000; border: 2px solid #FFFFFF; box-shadow: none; } [data-theme='dos'] .album-card-details-btn:hover { background: #FFFFFF; color: #000000; } /* Queue round buttons — square in DOS */ [data-theme='dos'] .queue-round-btn { border: 1px solid #AAAAAA; box-shadow: none; } [data-theme='dos'] .queue-round-btn.active { background: #AAAAAA; color: #000000; border-color: #FFFFFF; box-shadow: none; } /* Input fields */ [data-theme='dos'] input, [data-theme='dos'] textarea { background: #000080; border: 1px solid #AAAAAA; border-radius: 0; } [data-theme='dos'] input:focus, [data-theme='dos'] textarea:focus { border-color: #FFFF55; outline: none; box-shadow: none; } /* Scrollbar — wide 16px DOS style with sharp thumb */ [data-theme='dos'] ::-webkit-scrollbar { width: 16px; height: 16px; } [data-theme='dos'] ::-webkit-scrollbar-track { background: #000080; border-left: 1px solid #AAAAAA; } [data-theme='dos'] ::-webkit-scrollbar-thumb { background: #AAAAAA; border-radius: 0; border: 1px solid #FFFFFF; } [data-theme='dos'] ::-webkit-scrollbar-thumb:hover { background: #FFFFFF; }