diff options
| author | sillylaird <sillylaird@fastmail.ca> | 2026-02-03 21:27:57 -0500 |
|---|---|---|
| committer | sillylaird <sillylaird@fastmail.ca> | 2026-02-03 21:27:57 -0500 |
| commit | 720d752748b793a2f5cf3cc14cb75ad86e8919c0 (patch) | |
| tree | 29120103307cb17e7d6c283cc198ec2484f934cd /startpage/startpage.css | |
First commit
Diffstat (limited to 'startpage/startpage.css')
| -rw-r--r-- | startpage/startpage.css | 272 |
1 files changed, 272 insertions, 0 deletions
diff --git a/startpage/startpage.css b/startpage/startpage.css new file mode 100644 index 0000000..51a1334 --- /dev/null +++ b/startpage/startpage.css @@ -0,0 +1,272 @@ +:root { + --bg: #000; + --text: #ddd; + --accent: #ff0000; + --gold: #C69214; + --border: #222; + --radius: 4px; /* Sharper edges for a retro feel */ + --logo-size: clamp(80px, 10vw, 100px); + --fs-base: clamp(13px, 1vw, 15px); +} + +* { box-sizing: border-box; } +body { + margin: 0; background: var(--bg); color: var(--text); + font: 400 var(--fs-base) 'Source Code Pro', monospace; + line-height: 1.4; display: flex; flex-direction: column; min-height: 100vh; +} + +a { color: var(--accent); text-decoration: none; transition: 0.1s; } +a:hover { background: var(--accent); color: #000 !important; } + +/* Left-Aligned Container */ +header, main, footer { + width: 100%; + max-width: 1200px; /* Constrains width so it doesn't float too far right on wide screens */ + margin: 0; /* Align to left */ + padding: 20px 40px; +} + +/* Header Layout */ +header { + display: flex; + flex-direction: row; + gap: 40px; + align-items: flex-start; + border-bottom: 2px solid var(--border); +} + +.logo a img { + width: var(--logo-size); + height: auto; + border: 2px solid #000; + display: block; +} + +/* Lain border: black normally, red on hover/focus */ +.logo a:hover img, +.logo a:focus-visible img { + border-color: var(--accent); +} + +.nav-columns { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); + gap: 20px; + flex-grow: 1; + text-align: left; +} + +.nav-group h3 { + color: var(--gold); + font-size: 0.8rem; + text-transform: uppercase; + margin: 0 0 10px 0; + letter-spacing: 1px; +} + +.nav-list { display: flex; flex-direction: column; gap: 4px; } +.nav-list a { font-size: 0.85rem; width: fit-content; } + +/* Search Section: Left Aligned */ +.search-section { + padding: 40px 0; + text-align: left; +} + +.search-section h2 { + color: var(--gold); + margin-bottom: 15px; + font-size: 1.2rem; + font-weight: bold; +} + +.search-box { + width: 100%; + max-width: 450px; /* Kept focused for readability */ + background: #000; + border: 1px solid var(--border); + padding: 10px; + color: var(--accent); + font-family: inherit; + outline: none; +} +.search-box:focus { border-color: var(--accent); } + +.clock-container { margin-top: 15px; color: var(--text); font-size: 0.9rem; opacity: 0.8; } +.clock-time { color: var(--accent); letter-spacing: 1px; } + +/* Grid Layout: Left Aligned */ +.grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); + gap: 20px; + padding: 0; +} + +.card { + border: 1px solid var(--border); + background: #050505; + padding: 15px; + display: flex; + flex-direction: column; + align-items: flex-start; /* Items start on the left */ + transition: 0.2s; +} +.card:hover { border-color: var(--accent); } + +.card .thumb { + width: 100%; + height: 70px; + display: flex; + align-items: center; + justify-content: flex-start; /* Align icon to left */ + margin-bottom: 15px; + opacity: 0.7; +} +.card img { max-width: 80px; max-height: 100%; object-fit: contain; } + +.card-links { + font-size: 0.8rem; + border-top: 1px solid var(--border); + width: 100%; + padding-top: 12px; + text-align: left; +} +.card-links a { display: block; padding: 1px 0; } + +footer { border-top: 1px solid var(--border); margin-top: auto; color: #555; } + +/* Age-Restricted Nav Group */ +#age-restricted-content { + position: relative; + cursor: pointer; +} +#age-restricted-content.locked .nav-list { + filter: blur(8px); + opacity: 0.3; + pointer-events: none; + user-select: none; +} +#age-restricted-content.locked::after { + content: '18+ RESTRICTED - CLICK TO VERIFY'; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + color: var(--accent); + font-size: 0.7rem; + white-space: nowrap; + pointer-events: none; + text-align: center; + font-weight: bold; +} +#age-restricted-content.unlocked { cursor: default; } + +/* Age Verification Modal */ +.age-modal { + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + background: rgba(0, 0, 0, 0.95); + display: flex; + align-items: center; + justify-content: center; + z-index: 9999; +} +.age-modal.hidden { display: none; } +.age-modal-content { + background: #000; + border: 2px solid var(--accent); + padding: 30px; + max-width: 500px; + text-align: center; +} +.age-modal-content h2 { + color: var(--accent); + margin: 0 0 20px 0; + font-size: 1.3rem; +} +.age-modal-content p { + margin: 0 0 25px 0; + line-height: 1.6; +} +.age-modal-buttons { + display: flex; + gap: 15px; + justify-content: center; +} +.age-modal-btn { + padding: 10px 25px; + border: 1px solid var(--border); + background: #000; + color: var(--text); + font-family: inherit; + font-size: 0.9rem; + cursor: pointer; + transition: 0.2s; +} +.age-modal-btn:hover { + background: var(--accent); + color: #000; + border-color: var(--accent); +} +.age-modal-btn.deny:hover { + background: #555; + border-color: #555; +} + +@media (max-width: 850px) { + header, main, footer { padding: 20px; } + header { flex-direction: column; } + .nav-columns { width: 100%; } + .age-modal-content { margin: 20px; padding: 20px; } +} + +/* Additional styles for modal search box */ +.search-container { + animation: fadeIn 0.5s ease-in; +} + +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} + +.age-modal-content form button:hover { + background: var(--accent); + color: #000; + border-color: var(--accent); +} + +.modal-search { + margin: 20px 0; + border-top: 1px solid var(--border); + padding-top: 20px; +} + +.modal-search-hint { + margin-bottom: 10px; + font-size: 0.9rem; +} + +.modal-search-form { + display: flex; + gap: 10px; +} + +.modal-search-input { + flex-grow: 1; + border: 1px solid var(--border); + padding: 8px; + background: #000; + color: var(--text); +} + +.modal-search-button { + padding: 8px 15px; + border: 1px solid var(--border); + background: #000; + color: var(--text); + cursor: pointer; +} |
