@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-400.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-600.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-700.woff2) format("woff2")}

:root{
  --navy:#0D1530; --navy-2:#1A223F; --navy-3:#2A3558;
  --brand:#FF6A00; --brand-dark:#E85F00; --brand-bright:#FF8C3A; --brand-ink:#C2410C; --brand-soft:#FFE7D3;
  --ink:#0D1530; --slate:#515861; --muted:#5b6474; --line:#d4d7dd;
  --canvas:#F7F7F8; --panel:#f3f4f6; --panel-2:#fbfbfc; --surface:#fff;
  --stripe:rgba(13,21,48,.035); --sheen:rgba(255,255,255,.55); --link:var(--brand-ink);
  --ok-bg:#e8f6ee; --ok-ink:#14532d; --err-bg:#fdecec; --err-ink:#8a1c1c; --warn-bg:#fff4e0; --warn-ink:#7a4a00;
  --code-bg:#eef0f4;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#E9ECF4; --slate:#B7BED0; --muted:#A3ABBE; --line:#2C365A;
    --canvas:#0A1026; --panel:#141B36; --panel-2:#18203F; --surface:#1A223F;
    --stripe:rgba(255,255,255,.025); --sheen:rgba(255,255,255,.04); --link:var(--brand-bright);
    --ok-bg:#0f2a1c; --ok-ink:#a7e3bf; --err-bg:#3a1418; --err-ink:#f4b4b4; --warn-bg:#33240a; --warn-ink:#f6d38f;
    --code-bg:#0f1530;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ink:#E9ECF4; --slate:#B7BED0; --muted:#A3ABBE; --line:#2C365A;
  --canvas:#0A1026; --panel:#141B36; --panel-2:#18203F; --surface:#1A223F;
  --stripe:rgba(255,255,255,.025); --sheen:rgba(255,255,255,.04); --link:var(--brand-bright);
  --ok-bg:#0f2a1c; --ok-ink:#a7e3bf; --err-bg:#3a1418; --err-ink:#f4b4b4; --warn-bg:#33240a; --warn-ink:#f6d38f;
  --code-bg:#0f1530;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 16px/1.6 "Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}
a{color:var(--link)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brand-bright);outline-offset:2px;border-radius:4px}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;background:var(--surface);padding:8px 12px;z-index:10}
.skip:focus{left:8px;top:8px}
.muted{color:var(--muted)}
.small{font-size:13px}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* Header band */
.band{position:relative;color:#fff;overflow:hidden;
  background:
    radial-gradient(120% 140% at 78% 10%,rgba(255,106,0,.16) 0,rgba(255,106,0,0) 45%),
    linear-gradient(180deg,#1d2647 0%,#121a38 48%,#0b1230 50%,#0D1530 100%);
  border-bottom:1px solid #050a1d}
.band::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.07) 0,rgba(255,255,255,0) 50%)}
.band .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:120px;position:relative;z-index:1}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;letter-spacing:-.02em;font-size:clamp(24px,4.2vw,36px);line-height:1;text-shadow:0 2px 0 rgba(0,0,0,.35)}
.logo .chev{color:var(--brand);font-size:1.05em;letter-spacing:-.18em;margin-right:.12em}
.logo .chev.r{margin:0 0 0 .02em}
.logo .light{font-weight:400;color:#cfd5e6}
.rack{flex:none;width:200px;height:120px;align-self:flex-end;margin-bottom:-1px}

/* Light strip under the band */
.strip{background:linear-gradient(180deg,#fdfdfe 0,#e9ebef 100%);border-bottom:1px solid #cfd3da;box-shadow:0 1px 0 #fff inset}
.strip-in{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;min-height:42px}
.strip a,.strip .linkbtn{font-variant:small-caps;letter-spacing:.08em;font-size:14px;font-weight:600;color:#363d47;text-decoration:none}
.strip a:hover,.strip .linkbtn:hover{color:var(--brand-ink)}
.strip-acct{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.strip .join{color:#C2410C}
.linkbtn{background:none;border:0;padding:0;font:inherit;cursor:pointer}
form.inline{display:inline}

main{padding-top:24px;min-height:50vh}
.flash{padding:10px 14px;border-radius:8px;margin:0 0 16px;font-size:15px}
.flash-ok,.flash-info{background:var(--ok-bg);color:var(--ok-ink)}
.flash-err{background:var(--err-bg);color:var(--err-ink)}
.flash-warn{background:var(--warn-bg);color:var(--warn-ink)}

/* Hero */
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start;margin:0 0 28px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--link);margin:0 0 10px}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(255,106,0,.18)}
h1{font-size:clamp(28px,4.6vw,42px);line-height:1.1;letter-spacing:-.025em;margin:0 0 14px;font-weight:700}
h1 em{font-style:normal;color:var(--brand)}
.lede{font-size:17px;color:var(--muted);margin:0;max-width:36em}
.cta{margin:18px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.project{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px 16px;box-shadow:0 10px 30px -18px rgba(13,21,48,.45);position:relative;overflow:hidden}
.project::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--brand),var(--brand-bright))}
.project .kicker{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.badge-logo{display:inline-block;background:#fff;border-radius:8px;padding:6px 8px;line-height:0}
.project img{width:170px;height:auto;display:block}
.project p{margin:12px 0 0;font-size:14px;color:var(--muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#0D1530;text-decoration:none;font:600 15px/1 "Poppins",system-ui,sans-serif;padding:12px 20px;border-radius:999px;border:0;cursor:pointer;box-shadow:0 8px 20px -10px rgba(255,106,0,.9);transition:background .15s}
.btn:hover{background:var(--brand-dark)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn-ghost:hover{background:var(--panel)}
.btn-small{display:inline-block;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:4px 10px;font:600 13px/1.4 "Poppins",system-ui,sans-serif;text-decoration:none;cursor:pointer}
.btn-small:hover{border-color:var(--brand)}
.btn-small.danger{color:var(--err-ink);background:var(--err-bg)}

/* Section headings and lists */
.section-h{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin:28px 0 10px}
.page-h{font-size:clamp(24px,3.6vw,32px);margin:0 0 8px}
.crumbs{font-size:14px;color:var(--muted);margin:0 0 8px}
.crumbs a{text-decoration:none}
.head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.head-row p{margin:0}
.tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:var(--panel);color:var(--slate);border:1px solid var(--line);vertical-align:3px}
.tag-pin{background:var(--brand-soft);color:#7c2d12;border-color:#f8c9a3}
.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 7px;border-radius:999px;background:var(--navy);color:#fff;font-variant:normal;vertical-align:2px}
.pinned,.recent{list-style:none;margin:0;padding:0}
.pinned li,.recent li{padding:10px 0;border-bottom:1px solid var(--line)}
.empty{padding:24px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);text-align:center}

/* Category / thread tables */
.table{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}
.row{display:grid;grid-template-columns:1fr 110px 240px;gap:16px;padding:14px 18px;border-top:1px solid var(--line);align-items:center}
.row:first-child{border-top:0}
.row:nth-child(even){background:linear-gradient(180deg,var(--panel-2),var(--surface))}
.row h3{margin:0;font-size:16px;line-height:1.35}
.row h3 a{color:var(--ink);text-decoration:none}
.row h3 a:hover{color:var(--link);text-decoration:underline}
.row p{margin:2px 0 0;font-size:14px}
.row-stats{font-size:13px;color:var(--muted);line-height:1.5}
.row-stats b{color:var(--ink)}
.row-last{font-size:13px;line-height:1.5;overflow:hidden;text-overflow:ellipsis}
.row-last a{text-decoration:none}

.pager{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:16px 0;font-size:14px}
.pager a,.pager .cur{display:inline-block;min-width:34px;text-align:center;padding:5px 9px;border:1px solid var(--line);border-radius:6px;text-decoration:none;background:var(--surface)}
.pager .cur{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Posts */
.modbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 12px;padding:8px 12px;border:1px dashed var(--line);border-radius:8px}
.posts{display:flex;flex-direction:column;gap:14px;margin:12px 0}
.post{display:grid;grid-template-columns:170px 1fr;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}
.post-deleted{opacity:.6;border-style:dashed}
.post-author{padding:14px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.post-author .user{font-weight:600;text-decoration:none}
.post-main{padding:12px 18px 14px;min-width:0}
.post-meta{margin:0 0 6px}
.post-meta a{text-decoration:none}
.post-body{overflow-wrap:anywhere}
.post-body p{margin:0 0 12px}
.post-body h3,.post-body h4,.post-body h5{margin:16px 0 8px;line-height:1.3}
.post-body blockquote{margin:0 0 12px;padding:6px 14px;border-left:4px solid var(--brand);background:var(--panel);border-radius:0 6px 6px 0}
.post-body pre{background:var(--code-bg);padding:12px 14px;border-radius:8px;overflow-x:auto;font-size:13px;line-height:1.5}
.post-body code,.md-help code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--code-bg);padding:1px 4px;border-radius:4px}
.post-body pre code{background:none;padding:0}
.post-body ul,.post-body ol{margin:0 0 12px;padding-left:24px}
.post-body hr{border:0;border-top:1px solid var(--line);margin:16px 0}
.post-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.box-note{padding:16px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}

/* Forms */
.narrow{max-width:520px}
.form{display:flex;flex-direction:column;gap:6px;margin:12px 0 18px}
.form label{font-weight:600;font-size:14px;margin-top:8px}
.form label.check{font-weight:400;display:flex;gap:8px;align-items:center;margin:10px 0}
.form input[type=text],.form input[type=email],.form input[type=password],.form textarea{width:100%;font:400 15px/1.5 "Poppins",system-ui,sans-serif;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.form textarea{resize:vertical;min-height:120px}
.form .btn{align-self:flex-start;margin-top:10px}
.hint{margin:0;font-size:13px;color:var(--muted)}
.md-help{font-size:13px;color:var(--muted)}
.md-help summary{cursor:pointer}
.md-help p{margin:6px 0}

.profile-head{margin-bottom:8px}
.bio{max-width:640px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px}

footer{margin-top:48px;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--canvas))}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding-top:16px;padding-bottom:22px;font-size:14px;color:var(--muted)}
footer a{text-decoration:none;font-weight:600}
footer a:hover{text-decoration:underline}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .strip{background:linear-gradient(180deg,#1a223f 0,#141b36 100%);border-bottom-color:#2C365A;box-shadow:none}
  :root:not([data-theme="light"]) .strip a,:root:not([data-theme="light"]) .strip .linkbtn{color:#cfd5e6}
  :root:not([data-theme="light"]) .strip .join{color:var(--brand-bright)}
  :root:not([data-theme="light"]) .tag-pin{background:#3a2210;color:#ffc79a;border-color:#6b3a14}
}
:root[data-theme="dark"] .strip{background:linear-gradient(180deg,#1a223f 0,#141b36 100%);border-bottom-color:#2C365A;box-shadow:none}
:root[data-theme="dark"] .strip a,:root[data-theme="dark"] .strip .linkbtn{color:#cfd5e6}

@media (max-width:820px){
  .hero{grid-template-columns:1fr}
  .row{grid-template-columns:1fr 90px}
  .row-last{grid-column:1 / -1}
  .two-col{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .band .wrap{min-height:96px}
  .rack{width:130px;height:80px}
  .row{grid-template-columns:1fr;gap:4px;padding:12px 14px}
  .post{grid-template-columns:1fr}
  .post-author{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;border-right:0;border-bottom:1px solid var(--line);padding:10px 14px}
  .post-author .small br{display:none}
  .post-main{padding:12px 14px}
}
@media (max-width:420px){
  .rack{display:none}
}
