/* private.rooktalk.com: what this one page adds to the main site's stylesheet (site/assets/site.css). Same tokens:
   grey paper, navy ink, lime for buttons only, square corners, thin rules. */
.brand-sub { font-weight: 500; letter-spacing: -0.01em; }

/* The hero's picture: one key per message. Navy panel in place of the main site's photograph. */
.hero .keys { background: var(--ink); color: #c9cfe6; display: flex; flex-direction: column; justify-content: center; padding: 56px clamp(24px, 4vw, 72px); min-height: 360px; }
.keys ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, 0.22); max-width: 560px; width: 100%; }
.keys li { display: grid; grid-template-columns: 1fr 44px 108px; align-items: center; gap: 18px; padding: 13px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
.keys .msg { display: flex; flex-direction: column; gap: 6px; min-height: 22px; justify-content: center; }
.keys .msg i { display: block; height: 8px; background: rgba(255, 255, 255, 0.34); }
.keys .msg i:nth-child(1) { width: 78%; }
.keys .msg i:nth-child(2) { width: 52%; }
.keys .msg i:nth-child(3) { width: 64%; }
.keys .key { font-family: var(--head); font-weight: 800; font-size: 22px; line-height: 1; text-align: center; padding: 7px 0; border: 2px solid currentColor; }
.keys .state { font-size: 14px; font-weight: 600; }
.keys .gone .key { text-decoration: line-through; text-decoration-thickness: 2px; color: #7780a6; }
.keys .gone .state { color: #7780a6; }
.keys .gone .msg i { background: rgba(255, 255, 255, 0.16); }
.keys .live { color: #fff; }
.keys .live .msg i { background: #fff; }
.keys .next { color: #7780a6; }
.keys .next .key { border-style: dashed; }
.keys p { margin: 22px 0 0; max-width: 560px; font-size: 15px; color: #c9cfe6; }
/* on a narrow screen the sentence comes first, then the picture (the main site puts its photograph first) */
@media (max-width: 1000px) { .hero .keys { min-height: 0; padding: 36px 24px; } }
@media (max-width: 480px) { .keys li { grid-template-columns: 1fr 40px 92px; gap: 12px; } .hero .keys { padding: 28px 16px; } }
@media (max-width: 480px) { .brand > span { line-height: 1.05; } .brand-sub { display: block; font-size: 15px; } }

/* plain lists inside the two panels */
.plain { list-style: none; margin: 0; padding: 0; }
.plain li { padding: 12px 0; border-bottom: 1px solid var(--line); }
.plain li:first-child { border-top: 1px solid var(--line); }
#server .note { margin-top: 28px; max-width: 760px; font-size: 16px; color: var(--text); }
#spec .note { margin-top: 18px; max-width: 760px; }
.compare.spec { min-width: 0; table-layout: fixed; border-top: 2px solid var(--ink); }
.compare.spec tbody th { width: 34%; }
@media (max-width: 640px) { .compare.spec tbody th { width: 44%; } }
