/* Archive-mode states and shared archive components. Inherits the MADRiD Online tokens
   (paper, ink, chrome, orange; Silkscreen labels, Plex Mono data, Plex Sans body). */
.archive-state{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:10px;padding:9px 11px;border:1px solid var(--ink,#1a1a1a);background:var(--paper,#f0ece4);color:var(--ink,#1a1a1a);font:11px/1.45 var(--font-body,'IBM Plex Sans',sans-serif)}
.archive-state strong{font:9px/1.4 var(--font-system,'Silkscreen',monospace);letter-spacing:.04em}
.archive-state span{flex:1 1 180px;min-width:0}
.archive-state .bevel{padding:5px 10px;font-size:10px}
.archive-demo{background:#ffe9dc;border-style:dashed}
.archive-preview{background:var(--ink,#1a1a1a);color:var(--paper,#f0ece4)}
.archive-error{background:#f6dcd2}
.archive-locked{background:#e6e1d8}
.archive-loading strong::after{content:'';display:inline-block;width:7px;height:7px;margin-left:6px;background:var(--orange,#ff4f00);animation:archive-blink 1s steps(2) infinite}
@keyframes archive-blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.archive-loading strong::after{animation:none}}
.archive-empty-panel{margin:14px 12px;padding:14px;border:1px dashed #9a968e;font:12px/1.5 var(--font-data,'IBM Plex Mono',monospace);color:#555;text-align:center}
.archive-recon{margin:10px 0;padding:8px 10px;font:11px/1.45 var(--font-data,'IBM Plex Mono',monospace);border-left:3px solid #2e7d4f}
.archive-recon.bad{border-left-color:#b3261e;background:#fbeeea}
.archive-pending-room{padding:24px;font:12px/1.6 var(--font-data,'IBM Plex Mono',monospace)}
.archive-media{display:block;width:100%;height:auto;background:#111}
.archive-media-missing{display:flex;align-items:center;justify-content:center;min-height:120px;background:#ece7dd;color:#5b574f;font:10px var(--font-system,'Silkscreen',monospace);text-align:center;padding:12px}
.membership-notice{border:1px solid;padding:10px 12px;font:12px var(--font-data,'IBM Plex Mono',monospace);background:#e8e4dc}
.signon-form{display:grid;gap:10px}
.signon-form label,.reset-form label{display:grid;gap:4px;font:10px var(--font-data,'IBM Plex Mono',monospace)}
.signon-form input,.reset-form input{height:34px;border:2px inset var(--highlight,#e8e4dc);background:#fff;padding:5px 8px;font:13px var(--font-body,'IBM Plex Sans',sans-serif)}
.signon-error{min-height:1em;margin:0;color:#b3261e;font:11px var(--font-data,'IBM Plex Mono',monospace)}
.reset-form{display:grid;gap:12px;max-width:360px;margin:20px 0}
/* Phone rooms are mounted for their binders without changing the phone's own layout. */
.phone-archive-mount{display:contents}
