:root{color:#18201d;background:#f7f5ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(135deg,rgba(60,111,113,.18),transparent 30rem),linear-gradient(215deg,rgba(201,95,64,.16),transparent 26rem),#f7f5ef}a{color:inherit}.topbar,.footer{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1180px;padding:1.1rem 1.5rem}.brand{font-size:1.05rem;font-weight:800;text-decoration:none}nav,.footer{color:#4c5651;display:flex;flex-wrap:wrap;gap:1rem}nav a,.footer a,.back-link{font-size:.92rem;text-decoration:none}button,input,select{font:inherit}button{background:#2f5f61;border:0;color:#fff;cursor:pointer;font-weight:800;min-height:2.6rem;padding:.65rem 1rem}button:hover{background:#23494a}main{margin:0 auto;max-width:1180px;padding:1rem 1.5rem 3rem}.hero{align-items:center;display:grid;gap:2rem;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);min-height:410px;padding:3rem 0 4rem}.eyebrow{color:#94653d;font-size:.78rem;font-weight:800;letter-spacing:0;margin:0 0 .6rem;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.35rem,6vw,4.8rem);line-height:.98;margin-bottom:1rem;max-width:850px}h2{font-size:1.8rem;line-height:1.15;margin-bottom:0}h3{font-size:1.1rem;line-height:1.25;margin-bottom:.6rem}.hero-copy,.lead{color:#3d4742;font-size:1.08rem;max-width:680px}.runtime-panel{background:#18201d;color:#f7f5ef;display:grid;gap:.75rem;padding:1.2rem}.runtime-panel span{border-bottom:1px solid rgba(247,245,239,.2);font-weight:700;padding:.55rem 0}.section{padding:2rem 0}.section-heading{margin-bottom:1rem}.category-grid,.split{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.split{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.category-link,.tutorial-card{background:#ffffffb8;border:1px solid rgba(24,32,29,.12);border-radius:8px;box-shadow:0 16px 40px #18201d0f;display:block;padding:1rem;text-decoration:none}.category-link strong,.category-link span{display:block}.category-link span,.tutorial-card p,.card-meta,.asset-note{color:#53605a}.stack{display:grid;gap:1rem}.compact .tutorial-card{box-shadow:none}.card-meta{display:flex;flex-wrap:wrap;font-size:.82rem;gap:.6rem;margin-bottom:.75rem}.tag-row{display:flex;flex-wrap:wrap;gap:.5rem}.tag-row a{background:#e4eee9;border:1px solid #c9ddd4;border-radius:999px;color:#26473b;font-size:.78rem;padding:.28rem .6rem;text-decoration:none}.page,.article-page,.empty{padding-top:3rem}.article{max-width:820px}.article h1{font-size:clamp(2rem,5vw,3.6rem)}.article-body{border-top:1px solid rgba(24,32,29,.14);margin-top:1.5rem;padding-top:1.5rem}.article-body p{color:#27312d;font-size:1.06rem}.asset-note{background:#ffffffa6;border-left:4px solid #3c6f71;margin-top:2rem;padding:1rem}.asset-note dt{color:#18201d;font-weight:800}.asset-note dd{margin:.25rem 0 0;overflow-wrap:anywhere}.admin-panel{background:#ffffffb8;border:1px solid rgba(24,32,29,.12);border-radius:8px;box-shadow:0 16px 40px #18201d0f;padding:1rem}.log-filter{display:grid;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr))}.log-filter label{color:#53605a;display:grid;font-size:.78rem;font-weight:800;gap:.35rem;text-transform:uppercase}.log-filter input,.log-filter select{background:#fff;border:1px solid rgba(24,32,29,.18);color:#18201d;min-height:2.6rem;padding:.6rem;width:100%}.log-filter button{align-self:end}.log-status{border-top:1px solid rgba(24,32,29,.12);color:#53605a;margin-top:1rem;padding-top:1rem}.log-table-wrap{margin-top:1rem;overflow-x:auto}.log-table{border-collapse:collapse;min-width:820px;width:100%}.log-table th,.log-table td{border-bottom:1px solid rgba(24,32,29,.12);padding:.7rem;text-align:left;vertical-align:top}.log-table th{color:#53605a;font-size:.78rem;text-transform:uppercase}.log-table td{font-size:.9rem;overflow-wrap:anywhere}.summary-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1rem}.summary-grid div{background:#f0f4f0;border:1px solid rgba(24,32,29,.1);border-radius:8px;padding:.8rem}.summary-grid strong,.summary-grid span{display:block}.summary-grid strong{font-size:1.4rem}.summary-grid span{color:#53605a;font-size:.82rem}@media (max-width: 760px){.topbar,.footer{align-items:flex-start;flex-direction:column}.hero,.category-grid,.split,.log-filter,.summary-grid{grid-template-columns:1fr}.hero{min-height:auto;padding-top:2rem}}
