Packages

WebSocket-first Elixir framework with auto-generated HTTP MCP APIs

Current section

Files

Jump to
dialup priv templates dialup.new layout.css.eex
Raw

priv/templates/dialup.new/layout.css.eex

/* layout.css — colocated styles for app/layout.ex (Neobrutalist theme)
Auto-scoped at compile time. Edit freely. */
& {
--black: #000000;
--white: #ffffff;
--accent: #77ff00;
--accent-dark: #95ff00;
--ink: #1a1a1a;
--shadow: 4px 4px 0 var(--black);
--border: 3px solid var(--black);
font-family: serif, -apple-system, BlinkMacSystemFont, 'Segoe UI';
color: var(--ink);
background: var(--white);
min-height: 100svh;
display: flex;
flex-direction: column;
}
[ws-href] {
color: inherit;
text-decoration: none;
cursor: pointer;
}
/* ── Navigation ── */
.site-nav {
background: var(--black);
border-bottom: var(--border);
flex-shrink: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.nav-inner {
display: flex;
align-items: stretch;
justify-content: space-between;
}
.nav-logo {
font-size: 0.85rem;
font-weight: 900;
color: var(--accent);
letter-spacing: 0.12em;
text-transform: uppercase;
padding: 1rem 1.75rem;
border-right: 1px solid rgba(255, 255, 255, 0.12);
}
/* ── Connection lamp ── */
.ws-lamp {
display: flex;
align-items: center;
padding: 0 1.5rem;
font-size: 0;
}
.ws-lamp::after {
content: '';
display: block;
width: 0.6rem;
height: 0.6rem;
border-radius: 50%;
background: #444;
transition: background 0.3s;
}
.ws-lamp[data-ws-state="connected"]::after {
background: var(--accent);
box-shadow: 0 0 6px var(--accent);
}
.ws-lamp[data-ws-state="disconnected"]::after {
background: #ff3b3b;
box-shadow: 0 0 6px #ff3b3b;
}
/* ── Page content ── */
.page-content {
flex: 1;
display: flex;
flex-direction: column;
}
/* ── Footer ── */
.site-footer {
border-top: var(--border);
padding: 1rem 2rem;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 0.9rem;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--ink);
flex-shrink: 0;
}
.site-footer a {
color: var(--black);
text-decoration: underline;
text-underline-offset: 3px;
}
.site-footer a:hover {
background: var(--accent);
}