/* Download page: sits on the Majlis tokens + components in /site.css. */
.muted { color: var(--fg-muted); }
.small { font-size: var(--fs-14); }
.dlhero { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.dlhero h1 { margin-bottom: var(--s-3); }

/* Recommended card */
.best { margin: var(--s-5) 0 var(--s-6); padding: var(--s-5) 20px; background: var(--surface); border: 1px solid var(--line); border-top: 3px solid var(--rule); border-radius: var(--r-lg); box-shadow: var(--shadow-2); }
.best > .kicker { margin-bottom: var(--s-3); }
.best .dev { border: 0; padding: 0; background: none; box-shadow: none; }
.best .dev h3 { font-family: var(--font-display); font-size: calc(var(--fs-32) * var(--display-scale)); font-weight: 600; line-height: var(--lh-tight); }
.best .dev h3 .ico { width: 30px; height: 30px; }
.best .opt.primary .btn { width: 100%; max-width: 28rem; min-height: 60px; font-size: var(--fs-20); border-radius: var(--r-lg); }
.best .opt.primary .sub { font-size: var(--fs-16); }
.best .opt:not(.primary) .btn { background: transparent; color: var(--fg); }
.best .opt:not(.primary) .btn:hover { background: var(--primary); color: var(--on-primary); }
.best .guide { margin-top: var(--s-5); }
.webnow { margin: var(--s-4) 0 0; font-size: var(--fs-16); }
.notright { color: var(--fg-muted); margin: var(--s-3) 0 0; }
.okmsg { background: var(--notice-bg); border-inline-start: 3px solid var(--approve); padding: var(--s-3) var(--s-4); border-radius: var(--r-sm); font-weight: 500; }
.warnmsg { background: var(--notice-bg); border-inline-start: 3px solid var(--deny); padding: var(--s-3) var(--s-4); border-radius: var(--r-sm); }

/* All / other devices */
.all, .guide { border-top: 1px solid var(--line); }
.all > summary, .guide > summary { min-height: 56px; }
.all > summary h2, .guide > summary h2 { margin: var(--s-4) 0; font-size: calc(var(--fs-24) * var(--display-scale)); }
summary::marker { color: var(--rule); }
.devs { display: grid; gap: var(--s-4); grid-template-columns: 1fr; margin: var(--s-2) 0 var(--s-5); }
@media (min-width: 700px) { .devs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .devs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.dev { background: var(--surface); border: 1px solid var(--line); border-top: 2px solid var(--rule); border-radius: var(--r-md); padding: var(--s-4) 20px; min-width: 0; }
.dev.is-current { opacity: .7; }
.dev h3 { display: flex; align-items: center; gap: var(--s-2); margin-bottom: var(--s-3); }
.dev .ico { stroke: var(--fg); }
.opt { padding: var(--s-3) 0; border-top: 1px solid var(--line); }
.dev h3 + .opt { border-top: 0; padding-top: 0; }
.opt .btn { width: 100%; text-align: center; }
.opt:not(.primary) .btn { background: transparent; color: var(--fg); }
.opt:not(.primary) .btn:hover { background: var(--primary); color: var(--on-primary); }
.opt .sub { margin: var(--s-2) 0 0; font-size: var(--fs-14); color: var(--fg-2); }
.opt .meta { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-4); margin: var(--s-2) 0 0; font-size: var(--fs-12); color: var(--fg-muted); font-variant-numeric: tabular-nums; }
.opt .meta a { color: var(--fg-2); }
.opt.pending .pend { margin: 0; display: flex; align-items: center; gap: var(--s-2); color: var(--fg-muted); font-size: var(--fs-14); }
.dot { width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid var(--rule); flex: none; }
.note-sm { font-size: var(--fs-14); color: var(--fg-muted); margin: var(--s-3) 0 0; }
.pendnote { border-top: 1px dashed var(--line); padding-top: var(--s-2); }
.opt details.sum { border: 0; margin-top: var(--s-2); padding: 0; }
.sum summary { min-height: 32px; font-size: var(--fs-12); font-weight: 500; color: var(--fg-2); }
.sum code, .cmds code { font-family: var(--font-mono); font-size: var(--fs-12); word-break: break-all; background: var(--surface-2); padding: 2px 6px; border-radius: var(--r-sm); unicode-bidi: isolate; }
.copy { font: inherit; font-size: var(--fs-12); min-height: 32px; padding: 0 10px; margin-top: 4px; border: 1px solid var(--line); background: var(--surface); color: var(--fg); border-radius: var(--r-sm); cursor: pointer; }

/* iPhone guide */
.steps { list-style: none; padding: 0; margin: var(--s-3) 0; display: grid; gap: var(--s-5); grid-template-columns: 1fr; }
@media (min-width: 700px) { .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.steps figure { margin: 0; }
.steps img { display: block; width: 100%; max-width: 280px; height: auto; margin: 0 auto; border-radius: 22px; border: 6px solid var(--ink-800); box-shadow: var(--shadow-1); background: #fff; }
@media (max-width: 699px) { .steps img { max-width: 240px; } }
.steps figcaption { text-align: center; color: var(--fg-muted); margin-top: var(--s-2); font-size: var(--fs-12); }
.step { display: grid; grid-template-columns: 2rem 1fr; gap: var(--s-2); margin: var(--s-3) 0 0; }
.step .n { font-family: var(--font-display); font-size: 1.6rem; line-height: 1; color: var(--fg-2); border-top: 2px solid var(--rule); padding-top: 4px; text-align: center; }
.after { font-weight: 500; }

.cmds { display: grid; gap: var(--s-1) var(--s-4); grid-template-columns: 1fr; }
.cmds dt { font-weight: 500; margin-top: var(--s-2); }
.cmds dd { margin: 0; }
@media (min-width: 700px) { .cmds { grid-template-columns: max-content 1fr; align-items: baseline; } .cmds dt { margin-top: 0; } }

#warn details p, #checksum p { max-width: 68ch; }
