:root{--ink:#142321;--muted:#657471;--paper:#f4f1e8;--card:#fffdf7;--teal:#0d6258;--line:#d7d5ca;--gold:#c28b37}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.hero{min-height:260px;padding:56px max(5vw,28px);display:flex;align-items:flex-end;justify-content:space-between;gap:32px;color:#f9f5e9;background:radial-gradient(circle at 80% 10%,#287f72 0,transparent 28%),linear-gradient(125deg,#0b2423,#123e3a 64%,#0c5750)}.hero h1{font:700 clamp(44px,7vw,86px)/.92 Georgia,serif;margin:7px 0 16px;letter-spacing:-.04em}.hero p{max-width:700px;margin:0;color:#cfddd8}.eyebrow{font-size:11px!important;font-weight:800;letter-spacing:.18em;color:#d9b876!important}.primary,button{border:0;border-radius:5px;padding:12px 18px;background:var(--teal);color:white;font-weight:750;cursor:pointer}.hero .primary{background:#f5d590;color:#173c38;white-space:nowrap}main{max-width:1180px;margin:auto;padding:32px max(4vw,20px) 80px}.notice{padding:12px 16px;background:#dcefe7;border-left:4px solid var(--teal);margin-bottom:18px}.notice.error{background:#f5d8d4;border-color:#9a382f}.filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:10px;padding:16px;background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:8px}.filters input,.filters select,.entry-form input,.entry-form select,.entry-form textarea{width:100%;border:1px solid #c9cbc2;border-radius:4px;background:#fffefa;padding:10px 11px;color:var(--ink);font:inherit}.timeline{margin-top:36px}.date-heading{margin:36px 0 18px 84px;font:700 21px Georgia,serif;text-transform:capitalize}.entry{display:grid;grid-template-columns:64px 1fr;gap:20px;margin-bottom:18px}.rail{text-align:right;color:var(--muted);position:relative;padding-top:17px}.rail span{position:absolute;right:-14px;top:22px;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px var(--paper)}.entry:not(:last-child) .rail:after{content:"";position:absolute;right:-10px;top:31px;bottom:-41px;width:1px;background:var(--line)}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:20px 22px;box-shadow:0 8px 28px rgba(25,45,41,.05)}.card-head{display:flex;justify-content:space-between;gap:20px}.card h3{font:700 24px Georgia,serif;margin:0 0 4px}.card-head p{margin:0;color:var(--muted)}.status{height:fit-content;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:#e4e6df}.status.committed{background:#e4e0ef;color:#504279}.status.pushed{background:#d8eae5;color:#0d6258}.status.deployed{background:#f4dfaf;color:#694815}.changes{margin-top:17px}.card details{border-top:1px solid #e4e1d7;margin-top:16px;padding-top:12px}.card summary{cursor:pointer;font-weight:700}.suggestion{margin-top:16px;padding:12px 14px;background:#f3ead7;border-left:3px solid var(--gold)}.suggestion strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.card code{display:inline-block;margin-top:14px;color:var(--muted)}.empty{text-align:center;padding:60px;color:var(--muted)}dialog{width:min(760px,94vw);max-height:92vh;border:0;border-radius:10px;padding:0;background:var(--card);box-shadow:0 30px 100px #071e1b88}dialog::backdrop{background:#071e1b99}.entry-form{padding:28px}.form-head{display:flex;justify-content:space-between}.form-head h2{font:700 30px Georgia,serif;margin:4px 0 20px}.close{background:transparent;color:var(--ink);font-size:30px;padding:0 8px}.entry-form label{display:block;font-size:12px;font-weight:800;letter-spacing:.04em;margin-bottom:14px}.entry-form input,.entry-form select,.entry-form textarea{margin-top:5px;font-weight:400;letter-spacing:0}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:1fr 1fr}@media(max-width:760px){.hero{align-items:flex-start;flex-direction:column}.filters{grid-template-columns:1fr}.date-heading{margin-left:0}.entry{grid-template-columns:1fr}.rail{text-align:left;padding:0}.rail span,.rail:after{display:none}.grid.two{grid-template-columns:1fr}.card-head{flex-direction:column}.status{align-self:flex-start}}
