/* ========================================================================= KUCHAƘKA V PASCALU // BORLAND TURBO PASCAL 7.0 & FREE PASCAL CRT PALETTE ========================================================================= */ @font-face { font-family: 'VGAFont'; src: local('IBM Plex Mono'), local('Courier New'), monospace; } :root { --dos-blue: #0000a8; --dos-cyan: #00aaaa; --dos-grey: #aaaaaa; --dos-white: #ffffff; --dos-yellow: #ffff55; --dos-green: #55ff55; --dos-red: #ff5555; --dos-black: #000000; --dos-darkgrey: #555555; } * { box-sizing: border-box; margin: 0; padding: 0; user-select: none; -webkit-user-select: none; } html, body { width: 100%; height: 100%; background-color: #050510; color: var(--dos-grey); font-family: 'VGAFont', monospace; font-size: 15px; line-height: 1.35; overflow: hidden; } /* CRT Scanline & Phosphor Overlay */ .crt-screen::before { content: " "; display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.03), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.03)); z-index: 99; background-size: 100% 3px, 6px 100%; pointer-events: none; } #dos-container { width: 100vw; height: 100vh; display: flex; flex-direction: column; background-color: var(--dos-blue); position: relative; box-shadow: inset 0 0 80px rgba(0, 0, 0, 0.6); } /* Top Turbo Pascal Menu Bar */ #menu-bar { background-color: var(--dos-grey); color: var(--dos-black); height: 26px; display: flex; align-items: center; padding: 0 10px; font-weight: bold; border-bottom: 1px solid var(--dos-black); gap: 16px; font-size: 14px; } .menu-item { cursor: pointer; padding: 2px 6px; } .menu-item:hover, .menu-item.active { background-color: var(--dos-cyan); color: var(--dos-white); } .hotkey { color: var(--dos-yellow); text-shadow: 1px 0 0 var(--dos-black); } .menu-spacer { flex: 1; } .time-display { color: var(--dos-black); font-weight: normal; font-size: 13px; } /* Main Terminal Window Frame */ #terminal-window { flex: 1; padding: 10px; display: flex; overflow: hidden; } .window-frame { flex: 1; border: 2px solid var(--dos-cyan); background-color: var(--dos-blue); display: flex; flex-direction: column; position: relative; box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.4); } .window-title-bar { background-color: var(--dos-cyan); color: var(--dos-white); display: flex; justify-content: space-between; align-items: center; padding: 2px 10px; font-weight: bold; font-size: 14px; } .win-title { color: var(--dos-yellow); letter-spacing: 1px; } .window-content { flex: 1; padding: 16px 20px; overflow-y: auto; white-space: pre-wrap; color: var(--dos-white); font-size: 15px; } /* Scrollbar in DOS Style */ .window-content::-webkit-scrollbar { width: 14px; } .window-content::-webkit-scrollbar-track { background: var(--dos-blue); border-left: 1px solid var(--dos-cyan); } .window-content::-webkit-scrollbar-thumb { background: var(--dos-cyan); } /* Typographic Elements inside CRT */ .dos-header { color: var(--dos-yellow); font-weight: bold; margin-bottom: 12px; } .dos-box { border: 1px solid var(--dos-cyan); padding: 10px 14px; margin: 12px 0; background-color: rgba(0, 0, 100, 0.4); } .dos-menu-list { margin: 12px 0; } .dos-menu-item { padding: 4px 8px; cursor: pointer; display: flex; gap: 10px; } .dos-menu-item:hover, .dos-menu-item.selected { background-color: var(--dos-cyan); color: var(--dos-black); font-weight: bold; } .dos-menu-item:hover .hotkey, .dos-menu-item.selected .hotkey { color: var(--dos-white); text-shadow: none; } .dos-input-group { display: flex; align-items: center; gap: 10px; margin: 16px 0; } .dos-input { background-color: var(--dos-black); color: var(--dos-yellow); border: 1px solid var(--dos-cyan); font-family: inherit; font-size: 16px; padding: 4px 8px; flex: 1; outline: none; } .dos-btn { background-color: var(--dos-cyan); color: var(--dos-black); border: 1px solid var(--dos-white); padding: 4px 14px; font-family: inherit; font-weight: bold; cursor: pointer; } .dos-btn:hover { background-color: var(--dos-yellow); } .tag-badge { background-color: rgba(0, 170, 170, 0.3); color: var(--dos-cyan); padding: 1px 6px; border-radius: 2px; font-size: 12px; } .secret-badge { color: var(--dos-yellow); background-color: rgba(255, 255, 85, 0.15); border-left: 3px solid var(--dos-yellow); padding: 6px 12px; margin: 10px 0; } /* Touch controls on mobile */ #touch-controls { display: none; background-color: var(--dos-black); padding: 6px; gap: 6px; overflow-x: auto; border-top: 1px solid var(--dos-cyan); } .t-btn { background-color: var(--dos-blue); color: var(--dos-yellow); border: 1px solid var(--dos-cyan); padding: 6px 10px; font-family: inherit; font-size: 13px; font-weight: bold; white-space: nowrap; border-radius: 2px; } .t-btn.highlight { background-color: var(--dos-cyan); color: var(--dos-black); } .t-btn.esc { background-color: var(--dos-red); color: var(--dos-white); } /* Status Bar at bottom */ #status-bar { background-color: var(--dos-cyan); color: var(--dos-black); height: 26px; display: flex; align-items: center; padding: 0 10px; gap: 16px; font-size: 13px; font-weight: bold; border-top: 1px solid var(--dos-black); } .f-key { display: flex; gap: 4px; cursor: pointer; } .f-num { color: var(--dos-white); background-color: var(--dos-black); padding: 0 4px; border-radius: 2px; } .sound-toggle { margin-left: auto; color: var(--dos-yellow); cursor: pointer; } /* Mobile responsive breakpoints */ @media (max-width: 768px) { #touch-controls { display: flex; } #status-bar { display: none; } #menu-bar { font-size: 12px; gap: 8px; } .window-content { padding: 10px; font-size: 13px; } }