/* 0121.org — Quiet Door
   One stylesheet for all pages. Dark by default, light theme via [data-theme="light"]. */

:root{
  --bg:#0d0e10; --fg:#eceae4; --muted:#7c8078; --faint:#5e625c;
  --line:rgba(255,255,255,.09); --card:#15171a; --ok:#5fbf8a; --bad:#d9705e;
  --maxw:620px;
}
[data-theme="light"]{
  --bg:#f2efe8; --fg:#26241f; --muted:#6d685d; --faint:#8a8578;
  --line:rgba(0,0,0,.10); --card:#ffffff; --ok:#3d8f63; --bad:#b1503d;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; min-height:100vh; display:flex; flex-direction:column; align-items:center;
  padding:0 24px; background:var(--bg); color:var(--fg);
  font-family:'Familjen Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  transition:background .3s ease,color .3s ease;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--fg)}

/* ---- shell ---- */
.bar{width:100%;max-width:var(--maxw);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 0}
.mark{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.bar nav{display:flex;gap:16px;font-size:13px;color:var(--muted)}
.bar nav a[aria-current]{color:var(--fg)}
.bar nav a:hover{color:var(--fg)}
.theme{font-size:12.5px;color:var(--muted);background:none;border:0;padding:0;cursor:pointer;font-family:inherit;opacity:.75}
.theme:hover{opacity:1;color:var(--fg)}

main{width:100%;max-width:var(--maxw);flex:1}

.hero{display:flex;justify-content:center;padding:84px 0 70px}
.hero .mark{font-size:16px;letter-spacing:.36em}

h1{font-size:26px;font-weight:500;letter-spacing:-.02em;margin:64px 0 6px}
.sub{font-size:14px;color:var(--muted);margin:0 0 34px}

/* ---- big row links (home) ---- */
.rows{display:flex;flex-direction:column}
.row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0;border-top:1px solid var(--line);transition:padding-left .2s ease}
.rows .row:last-child{border-bottom:1px solid var(--line)}
.row:hover{padding-left:10px}
.row .name{display:block;font-size:22px;font-weight:500;letter-spacing:-.015em}
.row .desc{display:block;font-size:13.5px;color:var(--muted);margin-top:5px}
.row .arw{color:var(--muted);font-size:15px;opacity:.45;transform:translateX(-4px);transition:opacity .2s ease,transform .2s ease}
.row:hover .arw{opacity:1;transform:translateX(0)}

/* ---- cards / blocks ---- */
.block{border-top:1px solid var(--line);padding:26px 0}
.block:last-of-type{border-bottom:1px solid var(--line)}
.block h2{font-size:19px;font-weight:500;margin:0;letter-spacing:-.01em}
.block .meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px;font-size:13.5px;color:var(--muted)}
.block .meta b{color:var(--fg);font-weight:500}
.head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}

.status{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);white-space:nowrap}
.dot{width:7px;height:7px;border-radius:99px;background:var(--faint)}
.status.up{color:var(--ok)} .status.up .dot{background:var(--ok)}
.status.down{color:var(--bad)} .status.down .dot{background:var(--bad)}

.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:transparent;color:var(--fg);cursor:pointer;font-family:inherit;transition:border-color .18s ease,background .18s ease}
.btn:hover{border-color:var(--fg)}
.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.btn.primary:hover{opacity:.88}

.note{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 4px}
.brand{max-width:280px;height:auto;display:block;margin:8px 0 26px}
[data-theme="light"] .brand{filter:invert(1)}

footer{width:100%;max-width:var(--maxw);display:flex;justify-content:space-between;gap:16px;padding:34px 0 44px;font-size:12px;color:var(--faint)}
footer a:hover{color:var(--fg)}

@media (max-width:520px){
  .hero{padding:56px 0 46px}
  .bar nav{gap:12px}
  .row{padding:24px 0}
}
