/* Peerlight home page (V13): a "thinking cosmos" (assets/js/cosmos.js) behind one message. Also used by the 404 page. */
:root{
  --night:#04060f; --ink:#eef2ff; --muted:#aab4d4; --line:rgba(160,185,255,.16); --amber:#ffc46b;
  --f-display:"Newsreader", Georgia, "Times New Roman", serif;
  --f-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:radial-gradient(1100px 760px at 68% 48%, #101a3f 0%, #070b1d 45%, var(--night) 80%) fixed, var(--night);
  color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--amber)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;position:relative;width:100%}

#cosmos{position:fixed;inset:0;z-index:0;pointer-events:none}
.veil{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(90deg, rgba(4,6,15,.9) 0%, rgba(4,6,15,.62) 36%, rgba(4,6,15,.08) 64%, rgba(4,6,15,0) 100%)}
.stage,footer{position:relative;z-index:1}

.stage{flex:1;display:flex;align-items:center;padding:12vh 0 8vh}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-family:var(--f-display);font-size:27px;font-weight:500;letter-spacing:.02em;margin-bottom:9vh}
.stage h1{font-family:var(--f-display);font-weight:500;font-size:clamp(42px,6.6vw,84px);line-height:1.02;letter-spacing:-.015em;margin:0;max-width:12ch;
  background:linear-gradient(100deg,#ffffff 0%,#dfe6ff 50%,#ffcf8a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:balance}
.message{max-width:44ch;margin-top:30px;border-left:2px solid rgba(255,196,107,.55);padding-left:20px}
.lead{color:var(--muted);font-size:clamp(17px,1.5vw,19.5px);margin:0 0 14px}
.lead:last-child{margin-bottom:0;color:#d9e0f7}

footer{padding:20px 0 26px;color:#8590b3;font-size:13px}
.foot-in{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* 404 page */
.section{padding:34px 32px 8px}
.notfound{padding-top:80px}
.notfound h1{font-family:var(--f-display);font-size:38px;margin-bottom:10px}

@media (max-width:900px){
  .veil{background:linear-gradient(180deg, rgba(4,6,15,.1) 0%, rgba(4,6,15,.5) 38%, rgba(4,6,15,.9) 68%)}
  .stage{align-items:flex-end;padding:6vh 0 4vh}
  .brand{margin-bottom:34vh}
}
@media (max-width:480px){
  .wrap{padding:0 20px}
  .brand{margin-bottom:30vh;font-size:23px}
}

/* V14: a card for each tool switched on in the hub */
.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,380px));gap:14px;margin-top:34px}
.tool{display:flex;flex-direction:column;gap:12px;padding:18px 20px 16px;border-radius:14px;color:var(--ink);
  background:rgba(12,18,44,.58);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 18px 44px -24px rgba(0,0,0,.8);transition:border-color .2s,transform .2s,box-shadow .2s}
.tool:hover{border-color:rgba(255,196,107,.6);transform:translateY(-2px);box-shadow:0 24px 54px -24px rgba(255,170,60,.25)}
.tool-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tool-name{font-family:var(--f-display);font-size:23px;font-weight:500;line-height:1.2}
.badge{font-size:11.5px;font-weight:500;padding:2px 9px;border-radius:99px;background:rgba(143,176,255,.16);color:#a9c0ff}
.tool-desc{color:var(--muted);font-size:15px;line-height:1.5}
.tool-go{color:var(--amber);font-weight:500;font-size:14.5px;margin-top:2px}
@media (max-width:900px){.tools{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.tool{transition:none}}

.tool-main{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink)}
.tool-paper{margin:0;padding-top:12px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--muted)}
.tool-paper span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin-bottom:3px}
.tool-paper a{color:var(--amber)}

/* V17: contact line */
.pl-contact{margin:30px 0 0;max-width:62ch;color:var(--muted);font-size:14.5px}
.pl-contact a{color:var(--amber);font-weight:500}
