.soft-main { max-width:1160px; padding-top:48px; }
.soft-heading { margin-bottom:52px; }
.soft-heading .lead { margin-top:18px; }
.section-title { margin:0 0 20px; font-size:27px; letter-spacing:-.03em; }
section + section { margin-top:52px; }
.download-grid,.video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.download-card,.video-card,.article-card,.manage-panel { border:1px solid var(--line); border-radius:18px; background:linear-gradient(155deg,#202c40,#182130); }
.download-card { display:grid; grid-template-columns:54px 1fr; gap:16px; padding:24px; align-items:start; }
.download-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:13px; background:linear-gradient(135deg,#7049e9,#298cc9); font-size:20px; font-weight:800; }
.controller-icon { background:linear-gradient(135deg,#246fa2,#37c7bd); }
.download-card h3,.video-card h3,.article-card h3 { margin:2px 0 8px; font-size:20px; }
.download-card p,.video-card p,.article-card p { margin:0; color:var(--muted); line-height:1.55; }
.download-action { grid-column:2; margin-top:8px; }
.video-card { overflow:hidden; }
.video-card video { display:block; width:100%; aspect-ratio:16/9; background:#090e18; }
.video-card .video-copy { padding:18px 22px 22px; }
.article-list { display:grid; gap:16px; }
.article-card { padding:26px 30px; }
.article-card .article-body p { margin:0 0 16px; color:var(--text); white-space:pre-wrap; }
.article-images { display:flex; flex-wrap:wrap; gap:12px; margin-top:15px; }
.article-images img { width:min(100%,360px); max-height:300px; object-fit:contain; border-radius:10px; background:#10151f; }
.empty { margin:0; padding:24px; border:1px dashed #485672; border-radius:14px; color:var(--muted); }
.manage-link { margin:55px 0 0; text-align:right; font-size:14px; color:var(--muted); }
.manage-link a:hover { color:var(--cyan); }
.manage-main { max-width:850px; }
.manage-panel { padding:26px; margin-top:25px; }
.manage-panel h2 { margin:0 0 20px; font-size:24px; }
.form-grid { display:grid; gap:15px; }
.form-grid label { display:grid; gap:7px; font-weight:600; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; min-height:43px; padding:10px 12px; border:1px solid #55637e; border-radius:9px; background:#101827; color:var(--text); font-size:16px; }
.form-grid textarea { min-height:220px; line-height:1.5; resize:vertical; }
.form-grid input[type=file] { padding:8px; }
.form-grid button { justify-self:start; }
.upload-status { min-height:24px; margin-top:12px; color:var(--cyan); }
.manage-records { display:grid; gap:10px; margin-top:15px; }
.manage-records button { width:100%; padding:13px; border:1px solid var(--line); border-radius:9px; background:#263149; color:var(--text); text-align:left; cursor:pointer; }
.manage-records button:hover { border-color:var(--cyan); }
.image-choices { display:flex; flex-wrap:wrap; gap:12px; }
.image-choices label { display:grid; gap:5px; width:110px; font-size:13px; }
.image-choices img { width:110px; height:75px; object-fit:cover; border-radius:7px; }
[hidden] { display:none!important; }
@media(max-width:760px) { .download-grid,.video-grid { grid-template-columns:1fr; } .soft-main { padding-top:36px; } .download-card { padding:19px; } .article-card { padding:20px; } }
