/* Reset and base styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Courier New', Courier, monospace; line-height: 1.5; color: #000; background-color: #fff; } .container { max-width: 900px; margin: 0 auto; padding: 0 1rem; } /* Header and Navigation */ header { border-bottom: 3px solid #000; padding: 1.5rem 0; margin-bottom: 2rem; } nav .container { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; } .nav-brand a { color: #000; text-decoration: none; font-size: 1.5rem; font-weight: bold; text-transform: uppercase; letter-spacing: 2px; } .nav-links { display: flex; list-style: none; gap: 1.5rem; } .nav-links a { color: #000; text-decoration: none; text-transform: lowercase; } .nav-links a:hover, .nav-links a.active { text-decoration: underline; } /* Main content */ main { min-height: calc(100vh - 250px); padding: 0 0 3rem 0; } /* Page header */ .page-header { margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 2px solid #000; } .page-header h1 { color: #000; font-size: 2rem; text-transform: uppercase; letter-spacing: 1px; } .page-header p { margin-top: 0.5rem; font-size: 0.9rem; } /* Content sections */ .about-content { max-width: 700px; } .about-content h2 { color: #000; margin-top: 2rem; margin-bottom: 0.5rem; text-transform: uppercase; font-size: 1.2rem; letter-spacing: 1px; } .about-content p { margin-bottom: 1rem; } .about-content ul { margin-left: 1.5rem; margin-bottom: 1rem; } .about-content li { margin-bottom: 0.3rem; } /* Button */ .btn { display: inline-block; padding: 0.6rem 1.2rem; background-color: #000; color: #fff; text-decoration: none; border: 2px solid #000; cursor: pointer; font-size: 0.9rem; font-family: 'Courier New', Courier, monospace; text-transform: uppercase; letter-spacing: 1px; } .btn:hover { background-color: #fff; color: #000; } /* Error page */ .error-page { text-align: center; padding: 4rem 1rem; } .error-page h1 { font-size: 6rem; color: #000; margin-bottom: 1rem; } .error-page h2 { color: #000; margin-bottom: 1rem; text-transform: uppercase; } .error-page p { color: #000; margin-bottom: 2rem; } /* Comic Container */ .comic-container { border: 3px solid #000; padding: 1rem; } /* Full-width comic variant */ .comic-container-fullwidth { border: none; padding: 0; } .comic-container-fullwidth .comic-header, .comic-container-fullwidth .comic-navigation, .comic-container-fullwidth .comic-transcript { max-width: 900px; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; } .comic-container-fullwidth .comic-image { width: calc(100vw - 4rem); max-width: calc(100vw - 4rem); margin-left: calc(-1 * (50vw - 50% - 2rem)); margin-right: calc(-1 * (50vw - 50% - 2rem)); } .comic-container-fullwidth .comic-image img { width: 100%; max-width: 100%; } /* Plain comic variant - no header, no nav border */ .comic-container-plain .comic-navigation { border-top: none; padding-top: 0; } .comic-header { margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 2px solid #000; } .comic-header h1 { color: #000; font-size: 1.5rem; margin-bottom: 0.25rem; text-transform: uppercase; letter-spacing: 1px; } .comic-date { color: #000; font-size: 0.85rem; } /* Comic Image */ .comic-image { text-align: center; margin-bottom: 1.5rem; padding: 0.5rem; background: #fff; } .comic-image a { display: block; cursor: pointer; } .comic-image img { max-width: 100%; height: auto; display: block; margin: 0 auto; } /* Comic Navigation */ .comic-navigation { border-top: 2px solid #000; padding-top: 1rem; margin-bottom: 1rem; } .nav-buttons { display: flex; justify-content: center; align-items: center; gap: 0.5rem; flex-wrap: wrap; } .btn-nav { padding: 0.4rem 0.8rem; font-size: 0.8rem; } .btn-disabled { background-color: #fff; color: #999; border-color: #999; cursor: not-allowed; } .btn-disabled:hover { background-color: #fff; color: #999; } .comic-date-display { padding: 0 0.5rem; color: #000; font-weight: bold; margin: 0 0.25rem; font-size: 0.85rem; font-style: italic; } /* Comic Transcript */ .comic-transcript { border: 2px solid #000; padding: 1rem; margin-top: 1rem; } .comic-transcript h3 { color: #000; margin-bottom: 0.5rem; text-transform: uppercase; font-size: 0.9rem; letter-spacing: 1px; } .comic-transcript p { color: #000; line-height: 1.6; font-size: 0.9rem; } /* Archive Content */ .archive-content { margin-top: 1rem; } .archive-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; } .archive-item { border: 2px solid #000; overflow: hidden; } .archive-item:hover { background: #f0f0f0; } .archive-item a { text-decoration: none; color: #000; display: block; } .archive-item img { width: 100%; height: 120px; object-fit: cover; display: block; border-bottom: 2px solid #000; } .archive-info { padding: 0.75rem; } .archive-info h3 { color: #000; font-size: 0.85rem; margin-bottom: 0.25rem; line-height: 1.3; text-transform: uppercase; } .archive-date { color: #000; font-size: 0.75rem; } /* Responsive adjustments */ @media (max-width: 768px) { .nav-brand a { font-size: 1.2rem; } .nav-links { gap: 1rem; } .btn-nav { padding: 0.3rem 0.6rem; font-size: 0.75rem; } .comic-date-display { font-size: 0.7rem; } .archive-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 0.75rem; } .comic-container { padding: 0.75rem; } } /* Footer */ footer { border-top: 3px solid #000; padding: 2rem 0; margin-top: 3rem; } .footer-content { display: flex; justify-content: space-around; gap: 2rem; margin-bottom: 2rem; flex-wrap: wrap; } .footer-section { flex: 1; min-width: 200px; } .footer-section h3 { color: #000; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 1rem; } .social-links { display: flex; flex-direction: column; gap: 0.5rem; } .social-links a { color: #000; text-decoration: none; font-size: 0.85rem; } .social-links a:hover { text-decoration: underline; } .newsletter-form { display: flex; gap: 0.5rem; } .newsletter-form input[type="email"] { flex: 1; padding: 0.5rem; border: 2px solid #000; font-family: 'Courier New', Courier, monospace; font-size: 0.85rem; } .newsletter-form button { padding: 0.5rem 1rem; background-color: #000; color: #fff; border: 2px solid #000; cursor: pointer; font-family: 'Courier New', Courier, monospace; font-size: 0.85rem; text-transform: uppercase; } .newsletter-form button:hover { background-color: #fff; color: #000; } .newsletter-placeholder { font-size: 0.85rem; color: #666; } .footer-bottom { text-align: center; padding-top: 1.5rem; border-top: 2px solid #000; } .footer-bottom p { margin: 0; color: #000; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; }