"href": "https://mail.zndr.dk",
"desc": "Webmail.",
"tag": "Public",
- "icon": "cloud"
+ "icon": "mail"
},
{
"name": "Vaultwarden",
"href": "https://vault.zndr.dk",
"desc": "Password manager.",
"tag": "Public",
- "icon": "cloud"
+ "icon": "shield-half"
},
{
"name": "Home Assistant",
"href": "https://ha.zndr.dk",
"desc": "Automation & dashboards.",
"tag": "Home",
- "icon": "cloud"
+ "icon": "house"
},
{
"name": "Grafana",
"href": "https://grafana.zndr.dk",
"desc": "Visualization of data.",
"tag": "LAN",
- "icon": "cloud"
+ "icon": "chart-no-axes-combined"
},
{
"name": "Jellyfin",
"href": "https://play.zndr.dk",
"desc": "Media server.",
"tag": "Media",
- "icon": "cloud"
+ "icon": "play"
},
{
"name": "Git",
"href": "https://git.zndr.dk",
"desc": "Private repositories.",
"tag": "Git",
- "icon": "cloud"
+ "icon": "folder-git"
},
{
"name": "Pi-hole",
"href": "https://dns.zndr.dk",
"desc": "DNS-level ad/tracker blocking.",
"tag": "LAN",
- "icon": "cloud",
+ "icon": "circle-x",
"lan": true
},
{
"href": "https://router.zndr.dk",
"desc": "Router admin interface.",
"tag": "LAN",
- "icon": "cloud",
+ "icon": "router",
"lan": true
},
{
"href": "https://db.zndr.dk",
"desc": "Database management.",
"tag": "LAN",
- "icon": "cloud",
+ "icon": "database",
"lan": true
},
{
"href": "https://influx.zndr.dk",
"desc": "Time-series data.",
"tag": "LAN",
- "icon": "cloud",
+ "icon": "activity",
"lan": true
},
{
"href": "/blog/",
"desc": "Occasional write-ups.",
"tag": "Notes",
- "icon": "cloud"
+ "icon": "notebook-pen"
},
{
"name": "Contact",
"href": "/contact/",
"desc": "How to reach me.",
"tag": "Info",
- "icon": "cloud"
+ "icon": "info"
}
]
=========================== */
:root{
/* Palette */
- --scale: 1.0;
--bg: #1a1b1e; /* page background */
--panel: #2a2b32; /* cards / inputs */
--fg: #e6e6e6; /* primary text */
--accent-strong: #059669; /* green hover */
--accent-alt: #ef4444; /* brand red */
--shadow: rgba(0,0,0,.5);
- --tile-h: calc(100px * var(--scale));
- --font-size: calc(20px * var(--scale));
+ --tile-h: 100px;
+ --font-size: 16px;
/* Logo proportions (match favicon visual weight) */
--logo-size: 36px;
position: relative;
display: flex;
align-items: center; /* center icon + text vertically */
- gap: calc(14px * var(--scale));
- padding: calc(12px * var(--scale)) calc(16px * var(--scale));
+ gap: 14px;
+ padding: 12px 16px;
height: var(--tile-h);
text-align: left;
- border-radius: calc(10px * var(--scale));
+ border-radius: 10px;
background: var(--panel);
border: 1px solid var(--ring);
text-decoration: none;
.tile-glyph{
height: 100%; /* size relative to tile; tweak 58–70% */
width: auto;
- stroke-width: calc(2.4 * var(--scale));
+ stroke-width: 2.4;
color: inherit; /* follow text color */
}
.tile-body h3 {
margin: 0 0 .15rem 0;
- font-size: calc(1rem * var(--scale)); /* slightly smaller */
+ font-size: 1rem
font-weight: 600; /* was 700 */
color: var(--fg);
line-height: 1.3;
.tile-body p {
margin: 0;
- font-size: calc(0.95rem * var(--scale));
+ font-size: 0.95rem
color: var(--muted);
opacity: .9;
}