:root{--ink:#f2e8dc;--muted:#b6a9ad;--bg:#090711;--panel:#120d18;--line:#302239;--max:1180px;--ember:#c5531e;--orange:#ef6b32;--peach:#f0a07f}
*{box-sizing:border-box}html{background:#140c11;scroll-behavior:smooth;overscroll-behavior-y:none}
body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden;background:radial-gradient(ellipse at 50% -10%,#2a1236 0,transparent 45%),radial-gradient(ellipse at 90% 30%,#3a1424 0,transparent 40%),linear-gradient(180deg,#090711,#0e0913 60%,#140c11);overscroll-behavior-y:none}
a{color:inherit;text-decoration:none}.serif{font-family:Georgia,'Times New Roman',serif}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto;position:relative;z-index:2}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--ember)}
.grad{background-image:linear-gradient(90deg,#ff8c42,#ef476f,#a855f7,#5fa8ff);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-style:italic}
/* nav */
nav{position:fixed;z-index:20;left:0;right:0;top:0;padding:14px 0;background:linear-gradient(#090711f2,#090711b8 65%,transparent);transition:padding .3s,background .3s}
nav.sm{padding:9px 0;background:#090711e6;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.navin{display:flex;align-items:center;justify-content:space-between;gap:24px}
nav .mark{display:flex;align-items:center;gap:11px;color:#f4e9df;font:600 13px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
nav .mark img{width:30px;height:30px;border-radius:8px}
nav .links{display:flex;gap:6px;align-items:center}
nav .links a{display:flex;align-items:baseline;gap:7px;padding:9px 13px;border-radius:999px;color:#cdbfca;font:500 13px/1 Inter,system-ui,sans-serif;letter-spacing:.04em;transition:color .25s,background .25s;white-space:nowrap}
nav .links a:hover{color:#fff;background:rgba(255,255,255,.06)}nav .links a.on{color:#fff;background:rgba(255,255,255,.09)}
nav .links .sep{width:1px;height:16px;background:#ffffff26;margin:0 6px}
nav .links a.ct-link{background:linear-gradient(90deg,#c5531e,#b51662);color:#fff;font-weight:600}
nav a:focus-visible,.btn:focus-visible,.pj-head:focus-visible,.chip:focus-visible,.foot-links a:focus-visible{outline:2px solid var(--peach);outline-offset:2px}
@media(max-width:1020px){nav .mark-t{display:none}.navin{gap:8px}nav .links{gap:0;overflow-x:auto;scrollbar-width:none;margin:0 -4px}nav .links::-webkit-scrollbar{display:none}nav .links a{padding:9px 7px;font-size:12px;letter-spacing:.01em}nav .links .sep{margin:0 3px}.navin.wrap{padding-left:14px;padding-right:14px}}
@media(max-width:460px){nav .mark img{display:none}nav .links{margin:0 auto}}
/* page head */
.pg-head{padding:150px 0 40px}
.pg-head h1{font:400 clamp(46px,7.4vw,96px)/.95 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:18px 0 22px}
.pg-head p{max-width:640px;color:#c8bbc5;font-size:19px;line-height:1.7;margin:0}
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:999px;font:600 14px/1 Inter,system-ui,sans-serif;color:#fff;background:linear-gradient(90deg,#e0622a,#b51662);box-shadow:0 10px 30px #b5166244;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}.btn.ghost{background:#ffffff0a;border:1px solid #ffffff2e;box-shadow:none}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border:1px solid #ffffff22;border-radius:999px;background:#ffffff08;color:#e9dce2;font:500 13px/1 Inter,system-ui,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
.chip:hover{background:#ffffff14}.chip[aria-pressed=true]{background:linear-gradient(90deg,#c5531e,#b51662);border-color:transparent;color:#fff}.chip small{opacity:.7;font-size:11px}
/* projects */
.pj-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:34px 0 26px}
.pj-search{flex:1 1 220px;min-width:200px;max-width:340px;margin-left:auto;padding:11px 16px;border-radius:999px;border:1px solid #ffffff22;background:#0c0814;color:var(--ink);font:400 14px Inter,system-ui,sans-serif}
.pj-search::placeholder{color:#8a7a86}.pj-search:focus{outline:2px solid var(--peach);outline-offset:2px}
.pj-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pj{border-bottom:1px solid var(--line)}
.pj-head{all:unset;box-sizing:border-box;display:grid;grid-template-columns:56px 1fr auto 28px;gap:18px;align-items:center;width:100%;padding:22px 6px;cursor:pointer;transition:background .2s}
.pj-head:hover{background:#ffffff08}
.pj-n{font:500 12px ui-monospace,Menlo,monospace;color:#7d6a80;letter-spacing:.1em}
.pj-t{font:400 clamp(22px,2.6vw,30px)/1.15 Georgia,'Times New Roman',serif}.pj-t small{display:block;margin-top:6px;font:400 14px/1.5 Inter,system-ui,sans-serif;color:var(--muted)}
.pj-area{font:500 11px ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:#c9a0b0;white-space:nowrap}
.pj-arrow{width:22px;height:22px;position:relative;transition:transform .3s}.pj-arrow:before,.pj-arrow:after{content:"";position:absolute;left:3px;right:3px;top:10px;height:2px;background:#cdbfca;border-radius:2px}.pj-arrow:after{transform:rotate(90deg);transition:transform .3s,opacity .3s}
.pj.open .pj-arrow:after{transform:rotate(0);opacity:0}
.pj-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.pj.open .pj-body{grid-template-rows:1fr}
.pj-body>div{overflow:hidden}.pj-in{padding:4px 6px 28px 80px;max-width:820px}
.pj-in p{margin:0 0 16px;color:#d6c8d0;line-height:1.75;font-size:16px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.tags span{padding:6px 11px;border-radius:999px;background:#ffffff0d;border:1px solid #ffffff18;font:500 12px Inter,system-ui,sans-serif;color:#cdbfca}
.pj-soon{font:500 12px ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:#a8909e}
.pj-empty{padding:40px 6px;color:var(--muted)}
.pj.later .pj-t{color:#cdbfca}
@media(max-width:700px){.pj-head{grid-template-columns:34px 1fr 24px;gap:12px}.pj-area{display:none}.pj-in{padding-left:46px}.pj-search{max-width:none;margin-left:0}}
/* meetups */
.mu-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;padding:30px 0 20px}
.card{border:1px solid #ffffff1f;border-radius:24px;padding:34px;background:linear-gradient(160deg,#1a1022cc,#120b18cc)}
.card h2{font:400 clamp(28px,3.4vw,40px)/1.1 Georgia,'Times New Roman',serif;margin:10px 0 14px}
.card p{color:#d0c2cb;line-height:1.7;margin:0 0 14px}
.card .meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 18px;font:500 13px Inter,system-ui,sans-serif;color:#e8c9b4}
.empty{display:grid;gap:14px;justify-items:start}.empty .glyph{width:46px;height:46px;border-radius:50%;border:1px dashed #ffffff44;display:grid;place-items:center;color:#c9a0b0;font-size:20px}
.mu-sec{padding:40px 0 20px}.mu-sec h2{font:400 clamp(30px,4vw,48px)/1.05 Georgia,'Times New Roman',serif;margin:10px 0 8px}.mu-sec>p{color:var(--muted);margin:0 0 26px;max-width:620px;line-height:1.65}
.log{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.log li{display:grid;grid-template-columns:150px 1fr;gap:26px;padding:28px 6px;border-bottom:1px solid var(--line)}
.log time{font:500 12px ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:#c9a0b0;padding-top:6px}
.log h3{margin:0 0 10px;font:400 26px/1.15 Georgia,'Times New Roman',serif}.log p{margin:0 0 12px;color:#d0c2cb;line-height:1.7;max-width:680px}
.log ul{margin:0;padding-left:18px;color:#d0c2cb;line-height:1.7}
.up{display:grid;gap:16px}.up .card{padding:28px}
.who{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 0}.who span{padding:8px 13px;border-radius:999px;border:1px solid #ffffff1f;background:#ffffff08;font-size:13px;color:#e2d4dc}
@media(max-width:820px){.mu-grid{grid-template-columns:1fr}.log li{grid-template-columns:1fr;gap:8px}.card{padding:26px}}
/* footer */
footer{margin-top:90px;padding:46px 0 54px;background:linear-gradient(180deg,#2a141800,#2a1418 40%,#140c11);border-top:1px solid #ffffff12}
.foot{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center;justify-content:space-between}
footer .mark{display:flex;align-items:center;gap:11px;font:700 15px/1 Inter,system-ui,sans-serif;letter-spacing:.14em}footer .mark img{width:34px;height:34px;border-radius:9px}
.foot-links{display:flex;gap:18px;flex-wrap:wrap;font:500 13px Inter,system-ui,sans-serif}.foot-links a{color:#cdbfca}.foot-links a:hover{color:#fff}
.footnote{color:#a8909e;font-size:13px;text-align:right;line-height:1.6}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pj-body,.pj-arrow,.btn{transition:none}}
