:root{--bg:#f4f6f8;--panel:#fff;--ink:#18202a;--muted:#657180;--line:#dce2e8;--accent:#1c64f2;--accent2:#1148b4;--ok:#087f5b;--shadow:0 12px 32px rgba(28,45,70,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}.top{height:68px;padding:0 max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:#111827;color:#fff}.brand{color:#fff;text-decoration:none;font-size:20px;font-weight:750}.container{width:min(1120px,calc(100% - 36px));margin:0 auto}.narrow{width:min(460px,calc(100% - 36px));margin:10vh auto}.hero{padding:72px 0 38px}.hero h1,.app-head h1{font-size:clamp(36px,7vw,62px);line-height:1.05;margin:4px 0 12px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:12px;font-weight:800}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.card,.panel,.release,.markdown{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.card{padding:24px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between}.card h2{margin:0}.card h2 a{color:var(--ink);text-decoration:none}.meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:10px 16px;text-decoration:none;font-weight:700;cursor:pointer}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover{background:var(--accent2)}.button.small{padding:6px 10px;font-size:13px}.crumb{padding:28px 0;color:var(--muted)}.crumb a{color:var(--accent)}.app-head{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;padding:28px 0}.release{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:22px;gap:18px}.release div{display:flex;flex-direction:column}.release span{color:var(--muted);font-size:13px}.markdown{padding:28px;margin:24px 0 50px}.markdown img{max-width:100%}.markdown pre{overflow:auto}.markdown a{color:var(--accent)}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}footer{text-align:center;color:var(--muted);padding:40px 18px}.panel{padding:26px;margin:22px 0}.panel h1{margin-top:0}label{display:flex;flex-direction:column;gap:6px;font-weight:650}input,textarea,select{width:100%;border:1px solid #bdc7d3;border-radius:9px;background:#fff;color:var(--ink);padding:10px 12px;font:inherit}textarea{resize:vertical}.panel>.button,.panel form>.button{margin-top:18px}.admin{padding:36px 0}.notice{padding:12px 16px;border-radius:10px;background:#dff7ed;color:var(--ok)}details summary{cursor:pointer;font-weight:750;font-size:19px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.form-grid .wide{grid-column:1/-1}.check{flex-direction:row;align-items:center}.check input{width:auto}.admin-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-title h2{margin:0}.admin-title small{color:var(--muted);font-weight:500}.badge{display:inline-block;border-radius:999px;background:#edf1f5;padding:4px 9px;font-size:12px}.badge.published{background:#dff7ed;color:var(--ok)}.badge.draft{background:#fff1c2;color:#795c00}.upload{display:flex;align-items:flex-end;gap:16px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.upload label{flex:1}.upload .button{margin:0}.table-wrap{overflow:auto;margin-top:22px}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-top:1px solid var(--line);padding:11px 8px;white-space:nowrap}.link-button{border:0;background:none;color:#fff;cursor:pointer;font:inherit}.empty{color:var(--muted)}@media(max-width:700px){.app-head,.upload{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}.release{grid-template-columns:1fr}.admin-title{flex-direction:column}.top{padding:0 18px}}
