:root { --bg: #1a1814; --paper: #e8e0d4; --amber: #d4a574; --dim: #6b6358; --mono: 'Courier Prime', 'Courier New', monospace; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: var(--mono); background: var(--bg); color: var(--paper); min-height: 100vh; line-height: 1.55; } .grain { position: fixed; inset: 0; pointer-events: none; opacity: 0.04; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); z-index: 0; } .nav { position: relative; z-index: 2; display: flex; justify-content: space-between; padding: 1.25rem 2rem; font-size: 0.75rem; letter-spacing: 0.1em; } .nav a { color: var(--dim); text-decoration: none; } .nav a:hover { color: var(--amber); } .station { color: var(--amber); } main { position: relative; z-index: 1; max-width: 560px; margin: 0 auto; padding: 2rem 2rem 4rem; } .header { margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(212, 165, 116, 0.25); } .header h1 { font-size: 1.5rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--amber); margin-bottom: 0.5rem; } .sub { font-size: 0.8rem; color: var(--dim); letter-spacing: 0.05em; } .tape { background: rgba(0, 0, 0, 0.35); border: 1px solid rgba(212, 165, 116, 0.2); padding: 1.25rem; margin-bottom: 2.5rem; } .tape-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; font-size: 0.65rem; letter-spacing: 0.2em; color: var(--amber); } .decode-btn { font-family: var(--mono); font-size: 0.7rem; background: transparent; border: 1px solid var(--amber); color: var(--amber); padding: 0.35rem 0.65rem; cursor: pointer; letter-spacing: 0.08em; } .decode-btn:hover { background: rgba(212, 165, 116, 0.15); } .morse { font-size: 0.85rem; color: var(--dim); word-break: break-all; line-height: 1.8; min-height: 3rem; } .decoded { margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed rgba(212, 165, 116, 0.3); font-size: 0.95rem; color: var(--paper); line-height: 1.6; } .decoded.hidden { display: none; } .channels { margin-bottom: 2rem; } .channels h2 { font-size: 0.65rem; letter-spacing: 0.25em; color: var(--dim); margin-bottom: 1rem; } .channels ul { list-style: none; } .line-desc { font-size: 0.7rem; color: var(--dim); grid-column: 2; } .channels li { display: grid; grid-template-columns: 2.5rem 1fr auto; gap: 0.25rem 0.5rem; align-items: center; padding: 0.65rem 0; border-bottom: 1px solid rgba(212, 165, 116, 0.1); font-size: 0.85rem; } .line-id { color: var(--dim); font-size: 0.75rem; } .line-status { color: var(--amber); font-size: 0.7rem; letter-spacing: 0.1em; } .line-link { color: var(--amber); text-decoration: none; font-size: 0.75rem; } .line-link:hover { text-decoration: underline; } .metrics { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-bottom: 1.5rem; padding: 1rem 0; border-top: 1px solid rgba(212, 165, 116, 0.15); border-bottom: 1px solid rgba(212, 165, 116, 0.15); } .metric { font-size: 0.75rem; letter-spacing: 0.06em; color: var(--dim); } .metric strong { color: var(--amber); font-weight: 700; } .principles { font-size: 0.85rem; color: var(--dim); margin-bottom: 2.5rem; line-height: 1.65; } .principles .clients { margin-top: 0.75rem; font-size: 0.75rem; letter-spacing: 0.1em; color: var(--amber); opacity: 0.8; } .send { padding: 1.5rem 0; border-top: 1px solid rgba(212, 165, 116, 0.25); } .send-label { font-size: 0.65rem; letter-spacing: 0.2em; color: var(--dim); margin-bottom: 0.5rem; margin-top: 1rem; } .send-label:first-child { margin-top: 0; } .send-addr { font-size: 1.1rem; color: var(--amber); text-decoration: none; letter-spacing: 0.05em; } .send-addr:hover { text-decoration: underline; } footer { position: relative; z-index: 1; display: flex; justify-content: space-between; padding: 1.5rem 2rem; font-size: 0.7rem; color: var(--dim); letter-spacing: 0.08em; } footer a { color: var(--dim); text-decoration: none; } footer a:hover { color: var(--amber); }