:root { color-scheme: dark; --ink:#ece5d6; --muted:#aaa395; --void:#090b0c; --panel:#111516; --line:#2d3332; --brass:#c39a52; --ember:#b65a37; --moss:#657858; --blue:#607c86; font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:radial-gradient(circle at 80% -10%,#303129 0,transparent 30rem),linear-gradient(135deg,#0a0d0e,#12100e 60%,#080a0a); min-height:100vh; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.12; background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,#000,transparent 70%); }
a { color:inherit; }
.site-header { height:64px; padding:0 clamp(20px,5vw,72px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:#0a0d0dda; backdrop-filter:blur(14px); position:sticky; top:0; z-index:5; }
.brand { text-decoration:none; text-transform:uppercase; letter-spacing:.17em; font-weight:800; display:flex; gap:10px; align-items:center; }
.brand-mark,.hero span { color:var(--brass); }
nav { display:flex; gap:24px; align-items:center; color:var(--muted); font-size:.88rem; } nav a { text-decoration:none; } nav a:hover { color:var(--ink); }
main { width:min(1500px,calc(100% - 40px)); margin:auto; }
.hero { padding:clamp(72px,10vw,150px) 0 90px; max-width:920px; }
.hero.compact { padding:70px 0 50px; }
.eyebrow { margin:0 0 12px; text-transform:uppercase; letter-spacing:.2em; font-size:.74rem; font-weight:800; color:var(--brass); }
h1,h2,h3,h4,p { margin-top:0; }
h1 { font-family:Georgia,serif; font-size:clamp(3rem,7vw,6.7rem); font-weight:400; line-height:.88; letter-spacing:-.055em; margin-bottom:30px; }
.compact h1 { font-size:clamp(3rem,6vw,5.6rem); }
.lede { max-width:720px; font-size:clamp(1rem,2vw,1.3rem); line-height:1.65; color:var(--muted); }
.freshness { display:inline-block; border:1px solid var(--line); background:#101414; padding:10px 14px; color:#b9c2b4; font:700 .72rem ui-monospace,monospace; text-transform:uppercase; letter-spacing:.08em; }
.freshness.failure { color:#f3a483; border-color:#713e2b; }
section[id] { scroll-margin-top:80px; margin-bottom:100px; }
.section-heading { margin-bottom:24px; } .section-heading h2 { font:400 clamp(2rem,4vw,3.4rem) Georgia,serif; margin:0; }
.front-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.front-card { background:linear-gradient(145deg,#15191a,#0e1112); padding:28px; min-height:275px; }
.front-id,.ticket-number { color:var(--brass); font:700 .72rem ui-monospace,monospace; letter-spacing:.1em; }
.front-card h3 { font:400 1.65rem Georgia,serif; margin-bottom:15px; }
.front-card>p:not(.front-id):not(.next-action) { color:var(--muted); line-height:1.55; }
.front-dependency { font:700 .7rem ui-monospace,monospace; text-transform:uppercase; letter-spacing:.04em; }
.front-states { display:flex; flex-wrap:wrap; gap:6px; margin:24px 0; }
.next-action { border-left:2px solid var(--brass); padding-left:12px; font-size:.88rem; line-height:1.5; }
.badge { display:inline-flex; padding:4px 7px; background:#272c2b; color:#c7c4bb; font:700 .65rem ui-monospace,monospace; text-transform:uppercase; letter-spacing:.04em; border-radius:2px; }
.badge.front { background:#363029; color:#e1bb7a; }.badge.p0{background:#612c25}.badge.p1{background:#624628}.badge.count{background:#293332}
.filters { display:flex; align-items:center; gap:12px; margin-bottom:18px; color:var(--muted); }
select,input,textarea { width:100%; color:var(--ink); background:#090c0c; border:1px solid #3a413f; padding:10px; font:inherit; border-radius:2px; } select:focus,input:focus,textarea:focus { outline:2px solid var(--brass); outline-offset:1px; }
.filters select { width:auto; min-width:230px; }
.ticket-board { display:grid; grid-template-columns:repeat(7,minmax(230px,1fr)); gap:12px; overflow-x:auto; padding-bottom:16px; }
.ticket-column { background:#0d1010aa; border-top:2px solid var(--line); min-height:300px; padding:12px; }
.ticket-column-heading { display:flex; justify-content:space-between; align-items:center; text-transform:capitalize; }
.ticket-column-heading h3 { font-size:.9rem; letter-spacing:.08em; text-transform:uppercase; }
.ticket-card { display:block; text-decoration:none; background:#171b1b; border:1px solid var(--line); margin:10px 0; padding:14px; transition:.18s transform,.18s border-color; }
.ticket-card:hover { transform:translateY(-2px); border-color:var(--brass); }
.ticket-card h4 { margin:12px 0 8px; font-size:.95rem; line-height:1.35; }.ticket-card p { color:var(--muted); font-size:.8rem; line-height:1.45; }
.ticket-meta { display:flex; flex-wrap:wrap; gap:5px; }
footer { border-top:1px solid var(--line); padding:35px clamp(20px,5vw,72px); color:var(--muted); font-size:.8rem; }
.admin-layout { display:grid; grid-template-columns:minmax(300px,480px) minmax(500px,1fr); gap:24px; margin-bottom:80px; align-items:start; }
.editor-card { background:#101414e8; border:1px solid var(--line); padding:24px; }
.editor-card>label,.field-grid label,.admin-ticket-fields label { display:grid; gap:7px; color:var(--muted); font-size:.78rem; margin-bottom:15px; }
.field-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }.field-grid .checkbox { display:flex; flex-direction:row; align-items:center; }.checkbox input { width:auto; }
button { border:1px solid #d0a862; color:#17130b; background:var(--brass); padding:11px 16px; font-weight:800; cursor:pointer; }button:hover{background:#ddb76f}button:disabled{opacity:.5;cursor:wait}button.small{padding:8px 13px;align-self:end}
.link-button { border:0; padding:0; color:var(--muted); background:transparent; font:inherit; font-size:.88rem; font-weight:400; }.link-button:hover{color:var(--ink);background:transparent}
.admin-tickets { display:grid; gap:10px; max-height:1000px; overflow:auto; }.admin-ticket { border:1px solid var(--line); background:#171b1b; padding:15px; }.admin-ticket-heading { display:flex; gap:12px; justify-content:space-between; }.admin-ticket-heading a { font-weight:750; text-decoration:none; }.admin-ticket>p{color:var(--muted);font-size:.85rem;line-height:1.45}.admin-ticket-fields{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:8px}.admin-ticket-fields label{margin:0}
@media (max-width:900px) { .admin-layout{grid-template-columns:1fr}.site-header nav a:not(:last-child){display:none}.ticket-board{grid-template-columns:repeat(7,260px)} }
@media (max-width:560px) { main{width:min(100% - 24px,1500px)}.site-header{padding:0 14px}.field-grid,.admin-ticket-fields{grid-template-columns:1fr}.hero{padding-top:55px}.front-card{min-height:auto} }
