/* The AI PM — layout concept: a schedule sheet. Narrow reading column, a Gantt strip
   with a data-date line as the masthead, critical-path red used only for what matters. */

@font-face{font-family:"Archivo";src:url("/assets/fonts/archivo.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("/assets/fonts/newsreader.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("/assets/fonts/newsreader-italic.woff2") format("woff2");font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("/assets/fonts/jetbrains-mono.woff2") format("woff2");font-weight:100 800;font-style:normal;font-display:swap}

:root{
  --paper:#f5f7f8;
  --sheet:#ffffff;
  --ink:#151b20;
  --muted:#5a6873;
  --rule:#d7dee3;
  --bar:#9fb3c1;
  --crit:#b3261e;
  --crit-soft:#f6e3e1;
  --good:#1e6b45;
  --warn:#8a5a00;
  --display:"Archivo","Arial Narrow",Arial,sans-serif;
  --body:"Newsreader",Georgia,"Times New Roman",serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#0f1417;--sheet:#161d22;--ink:#e6ecef;--muted:#9aa9b3;--rule:#2a353d;--bar:#4c6070;--crit:#ef6b5f;--crit-soft:#3a1f1d;--good:#5fc58f;--warn:#e0aa45;color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#0f1417;--sheet:#161d22;--ink:#e6ecef;--muted:#9aa9b3;--rule:#2a353d;--bar:#4c6070;--crit:#ef6b5f;--crit-soft:#3a1f1d;--good:#5fc58f;--warn:#e0aa45;color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.125rem/1.65 var(--body);
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
img{max-width:100%}
[hidden]{display:none!important}
.wrap{max-width:46rem;margin:0 auto}
a{color:inherit;text-decoration-color:var(--crit);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--crit);outline-offset:2px}
.skip{position:absolute;left:-999px}
.skip:focus{left:16px;top:8px;background:var(--sheet);padding:.5rem;z-index:5}

/* Masthead */
header.mast{padding-block:2rem 1rem;display:grid;gap:1.25rem}
.brand{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1.5rem}
.namebox{display:grid;gap:.4rem}
.name{font:800 2.4rem/1 var(--display);font-stretch:78%;letter-spacing:-.01em;text-decoration:none;text-transform:uppercase}
.name span{color:var(--crit)}
.strap{font:400 .78rem/1 var(--mono);color:var(--muted);letter-spacing:.02em}
nav{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;font:600 .82rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
nav a{text-decoration:none;color:var(--muted);padding-block:.4rem}
nav a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--crit)}
.ai-flag{margin:1.1rem 0 0;font:400 .8rem/1.4 var(--mono);color:var(--muted);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding-block:.55rem;display:flex;gap:.6rem;align-items:baseline}
.ai-flag b{color:var(--crit);font-weight:600;white-space:nowrap}

/* Gantt strip */
.gantt{position:relative;display:grid;gap:5px;padding-block:.4rem}
.gantt .row{position:relative;height:9px}
.gantt .b{position:absolute;top:0;height:9px;border-radius:2px;background:var(--bar)}
.gantt .b.c{background:var(--crit)}
.g1{left:0;width:22%}.g2{left:8%;width:30%}.g3{left:22%;width:28%}
.g4{left:40%;width:18%}.g5{left:50%;width:34%}.g6{left:66%;width:24%}
.gantt .dd{position:absolute;top:-4px;bottom:-18px;left:62%;border-left:1.5px dashed var(--ink)}
.gantt .dd span{position:absolute;bottom:0;left:6px;font:400 .68rem/1 var(--mono);color:var(--muted);white-space:nowrap}

main{padding-block:1rem 4rem}
.eyebrow{font:600 .75rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--crit);margin:0}
h1,h2,h3{font-family:var(--display);font-stretch:85%;line-height:1.1;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:2.3rem;font-weight:750;margin:.6rem 0 1rem}
h2{font-size:1.45rem;font-weight:700;margin:2.2rem 0 .6rem}
h3{font-size:1.15rem;font-weight:700;margin:1.6rem 0 .4rem}
p{margin:0 0 1.05rem}
.lede{font-size:1.28rem;line-height:1.5}
.meta{font:400 .8rem/1.4 var(--mono);color:var(--muted);margin-bottom:1.5rem}
.back{font:600 .8rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
.back + .eyebrow{margin-top:1.5rem}

/* Lists of posts */
.posts{list-style:none;margin:1.5rem 0 0;padding:0;display:grid}
.posts li{display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;padding-block:1.2rem;border-top:1px solid var(--rule)}
.posts li:last-child{border-bottom:1px solid var(--rule)}
.posts li > div{min-width:0}
.posts time{font:400 .8rem/1.6 var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}
.posts .cat{display:block;font:600 .68rem/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}
.posts a.t{font:700 1.3rem/1.15 var(--display);font-stretch:85%;text-decoration:none;display:block;margin-bottom:.35rem}
.posts a.t:hover{color:var(--crit)}
.posts p{margin:0;font-size:1rem;color:var(--muted)}

.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:2.75rem}
.section-head h2{margin:0}

.cards{display:grid;gap:.75rem;margin-top:1rem}
.tool-card{display:block;padding:1.1rem 1.2rem;background:var(--sheet);border:1px solid var(--rule);border-left:4px solid var(--crit);text-decoration:none}
.tool-card:hover{border-color:var(--crit)}
.tool-card strong{font:700 1.15rem/1.2 var(--display);font-stretch:85%;display:block;margin-bottom:.25rem}
.tool-card span{font-size:1rem;color:var(--muted)}

/* Article body */
article ul,article ol{padding-left:1.3rem;margin:0 0 1.1rem}
article li{margin-bottom:.4rem}
pre{background:var(--sheet);border:1px solid var(--rule);padding:1rem;overflow-x:auto;font:400 .82rem/1.55 var(--mono);white-space:pre-wrap;word-break:break-word;margin:0 0 1.2rem}
code{font:400 .88em var(--mono)}
pre code{font-size:inherit}
blockquote{margin:1.5rem 0;background:var(--crit-soft);padding:1rem 1.1rem;font-size:1.02rem}
blockquote p:last-child{margin:0}
blockquote strong:first-child{font-family:var(--display);font-stretch:85%;letter-spacing:.04em;text-transform:uppercase;font-size:.9em}
.tablewrap{overflow-x:auto;margin:0 0 1.2rem}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--rule);vertical-align:top}
th{font:600 .75rem/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
td code{white-space:nowrap}
.checked{font:400 .8rem/1.4 var(--mono);color:var(--muted);border-left:3px solid var(--bar);padding-left:.7rem;margin-bottom:1.5rem}
.signoff{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--rule);font:400 .82rem/1.5 var(--mono);color:var(--muted)}

/* Prompt library */
.prompt{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--rule)}
.prompt h2{margin-top:.4rem}
.prompt .use{color:var(--muted);font-size:1rem}
.prompt-box{position:relative}
.copy{position:absolute;top:.5rem;right:.5rem;font:600 .7rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;background:var(--paper);border:1px solid var(--rule);color:var(--ink);padding:.45rem .6rem;border-radius:3px;cursor:pointer}
.copy:hover{border-color:var(--crit)}
.prompt pre{padding-top:2.4rem}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0}
.filters button{font:600 .72rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;background:none;border:1px solid var(--rule);color:var(--muted);padding:.5rem .7rem;border-radius:3px;cursor:pointer}
.filters button[aria-pressed="true"]{color:var(--ink);border-color:var(--crit)}

/* Tools */
.tool{background:var(--sheet);border:1px solid var(--rule);padding:1.2rem;margin-top:1.2rem}
.inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.9rem}
.inputs label{display:grid;gap:.3rem;font:600 .72rem/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.inputs input,.inputs select{font:400 1rem/1.2 var(--mono);padding:.55rem .6rem;border:1px solid var(--rule);background:var(--paper);color:var(--ink);width:100%;min-width:0;border-radius:3px}
.sample{font:400 .78rem/1.4 var(--mono);color:var(--muted);margin:.9rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.btn{font:600 .72rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;background:none;border:1px solid var(--rule);color:var(--ink);padding:.5rem .7rem;border-radius:3px;cursor:pointer}
.btn:hover{border-color:var(--crit)}
.btn.primary{background:var(--crit);border-color:var(--crit);color:var(--sheet)}
.results{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:0 1.5rem;margin-top:1.4rem}
.res{display:grid;grid-template-columns:1fr auto;gap:.15rem .8rem;padding-block:.65rem;border-top:1px solid var(--rule);align-items:baseline}
.res .k{font:600 .78rem/1.3 var(--display);letter-spacing:.05em;text-transform:uppercase}
.res .k small{display:block;font:400 .78rem/1.3 var(--body);text-transform:none;letter-spacing:0;color:var(--muted)}
.res .v{font:600 1rem/1 var(--mono);font-variant-numeric:tabular-nums;text-align:right}
.chip{justify-self:start;font:600 .66rem/1 var(--display);letter-spacing:.07em;text-transform:uppercase;padding:.28rem .45rem;border-radius:2px;white-space:nowrap}
.res .chip{grid-column:1/-1}
.chip.good{color:var(--good);background:color-mix(in srgb,var(--good) 14%,transparent)}
.chip.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent)}
.chip.bad{color:var(--crit);background:var(--crit-soft)}
.chip.info{color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,transparent)}
.err{color:var(--crit);font-size:.95rem;margin-top:1rem}
.drop{display:grid;place-items:center;gap:.6rem;text-align:center;border:1.5px dashed var(--rule);padding:1.5rem 1rem;border-radius:4px}
.drop.over{border-color:var(--crit);background:var(--crit-soft)}
.drop p{margin:0;font-size:1rem;color:var(--muted)}
.summary-line{font:400 .82rem/1.5 var(--mono);color:var(--muted);margin:1.2rem 0 0}
.checks{margin-top:1rem}
.checks td.n{font-family:var(--mono);font-size:.85rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.checks details{margin-top:.3rem}
.checks summary{cursor:pointer;font-size:.88rem;color:var(--muted)}
.checks .ids{font:400 .78rem/1.5 var(--mono);color:var(--muted);word-break:break-word;margin:.3rem 0 0}

footer{border-top:1px solid var(--rule);padding-block:1.5rem 3rem;font:400 .8rem/1.6 var(--mono);color:var(--muted)}
footer .wrap{display:grid;gap:.5rem}
footer nav{font-size:.72rem}

@media (max-width:540px){
  .posts li{grid-template-columns:1fr;gap:.25rem}
  h1{font-size:1.9rem}.name{font-size:2rem}body{font-size:1.06rem}
}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
