/* The Lock in dock (assets/lockdock.js), bottom centre of every page */
.tools { display: none !important; }
.ld { position: fixed; left: 50%; bottom: 18px; z-index: 150; transform: translateX(-50%); display: flex; align-items: center; gap: 6px; }
.ld__pill { display: flex; align-items: center; gap: 12px; height: 62px; padding: 7px 8px 7px 7px; border-radius: 22px; background: rgba(14, 14, 16, .9); color: #fff; box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(255, 255, 255, .06); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); text-decoration: none; transition: transform .25s cubic-bezier(.32, .72, 0, 1), background-color .25s, box-shadow .25s; }
.ld__pill:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -18px rgba(0, 0, 0, .55), inset 0 0 0 1px rgba(255, 255, 255, .1); }
.ld__tank { width: 66px; height: 48px; border-radius: 14px; background: rgba(255, 255, 255, .06); flex: none; }
.ld__txt { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; max-width: 220px; }
.ld__txt b { font-size: 15px; font-weight: 700; letter-spacing: -0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ld__txt em { font-style: normal; font-size: 12px; color: rgba(255, 255, 255, .6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ld__go { flex: none; width: 40px; height: 40px; border-radius: 14px; background: #fff; color: #0E0E10; display: grid; place-items: center; }
.ld__go:empty { display: none; }
.ld__go svg { width: 16px; height: 16px; }
.ld__x { width: 34px; height: 34px; border: 0; border-radius: 12px; background: rgba(14, 14, 16, .85); color: #fff; display: grid; place-items: center; cursor: pointer; }
.ld__x svg { width: 14px; height: 14px; }
.ld[data-mode="run"] .ld__txt b, .ld[data-mode="warn"] .ld__txt b { font-variant-numeric: tabular-nums; font-size: 18px; }
.ld[data-mode="warn"] .ld__pill { background: rgba(160, 30, 60, .95); animation: ldshake .5s ease-in-out infinite alternate; }
.ld[data-mode="brkend"] .ld__pill { background: rgba(160, 30, 60, .95); }
@keyframes ldshake { from { transform: translateY(0) rotate(-.4deg); } to { transform: translateY(-2px) rotate(.4deg); } }
.ld[data-mode="arm"] .ld__pill { background: rgba(14, 14, 16, .92); box-shadow: 0 0 0 3px rgba(126, 208, 246, .5), 0 18px 40px -16px rgba(0, 0, 0, .5); animation: ldpulse 1.6s ease-in-out infinite; }
@keyframes ldpulse { 50% { box-shadow: 0 0 0 6px rgba(126, 208, 246, .2), 0 18px 40px -16px rgba(0, 0, 0, .5); } }
.ld[data-mode="won"] .ld__pill { background: linear-gradient(135deg, #1B6FD8, #2BB3E6); }
.ld[data-mode="lost"] .ld__pill { background: rgba(70, 60, 50, .95); }
body.is-locked .ld, body.li-solo-on .ld { display: none; }
@media (max-width: 640px) { .ld { bottom: 12px; } .ld__pill { height: 56px; } .ld__tank { width: 56px; height: 42px; } .ld__txt { max-width: 170px; } }
@media print { .ld { display: none; } }
.ld__x[hidden] { display: none; }

/* Account countdown in the top-left navigation, on both the controller and other devices. */
.account-lock-countdown { display: flex; align-items: center; gap: 9px; flex: none; padding: 7px 10px; min-height: 38px; border-radius: 12px; color: inherit; background: rgba(255,255,255,.08); text-decoration: none; }
.account-lock-countdown[hidden] { display: none; }
.account-lock-countdown > i { width: 8px; height: 8px; border-radius: 50%; background: #5FD39A; }
.account-lock-countdown span { display: flex; flex-direction: column; gap: 1px; line-height: 1.15; }
.account-lock-countdown b { font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.account-lock-countdown small { font-size: 10px; opacity: .7; }
