/* The prog (docs/65 §4): ELITE.EXE in 1998 colours — a grey window, a navy-to-teal title bar, a scrolling greets bar,
   ASCII art — inside Nuxtre; /progs/ as a plain 1999 server listing; the floating mini prog while Leet runs. */

/* ---------------------------------------------------------------- Index of /progs/ (app-less page) */
body:has(> .pi) { background: #fff; color: #000; }
.pi { font: 16px/1.4 "Times New Roman", Times, serif; padding: 8px 12px; }
.pi h1 { font: bold 2em "Times New Roman", serif; margin: .67em 0; }
.pi table { border-collapse: collapse; } .pi th, .pi td { text-align: left; padding: 1px 12px 1px 0; vertical-align: top; font-weight: normal; }
.pi th { font-weight: bold; } .pi a { color: #00e; } .pi a:visited { color: #551a8b; }
.pi .pi-ico { font-family: "Courier New", monospace; font-size: 13px; color: #555; } .pi .pi-size { text-align: right; }
.pi address { font-style: italic; margin-top: 4px; }

/* ---------------------------------------------------------------- the old address (DOS) */
.lt-dos { background: #000; color: #c0c0c0; border: 2px solid #808080; padding: 18px 20px; font: 16px/1.35 "Courier New", Courier, monospace; max-width: 760px; margin: 20px auto; box-shadow: 0 0 30px rgba(0, 0, 0, .6); }
.lt-dos pre { margin: 0; white-space: pre-wrap; font: inherit; } .lt-dos a { color: #fff; }
.lt-frag { margin: 18px 0 0; color: #ffff55; } .lt-frag code { background: #0000aa; color: #fff; padding: 2px 8px; font: bold 20px "Courier New", monospace; letter-spacing: .2em; } .lt-frag small { color: #aaa; }

/* ---------------------------------------------------------------- ELITE.EXE */
.lt-win { max-width: 920px; margin: 10px auto 24px; background: #c0c0c0; color: #000; border: 2px solid; border-color: #fff #404040 #404040 #fff; box-shadow: 1px 1px 0 #000, 0 0 40px rgba(242, 9, 243, .25); font: 13px/1.4 Tahoma, "MS Sans Serif", Verdana, sans-serif; }
.lt-title { display: flex; align-items: center; gap: 6px; padding: 3px 4px 3px 6px; background: linear-gradient(90deg, #000080, #1084d0); color: #fff; font-weight: bold; letter-spacing: .02em; }
.lt-ico { font-size: 14px; } .lt-sp { flex: 1; }
.lt-tbtn { display: grid; place-items: center; width: 18px; height: 16px; background: #c0c0c0; color: #000 !important; border: 2px solid; border-color: #fff #404040 #404040 #fff; font: bold 12px/1 Tahoma, sans-serif; text-decoration: none; }
.lt-marquee { overflow: hidden; white-space: nowrap; background: #000; color: #0f0; font: 12px "Courier New", monospace; padding: 3px 0; border-bottom: 2px solid #808080; }
.lt-marquee span { display: inline-block; padding-left: 100%; animation: lt-scroll 40s linear infinite; }
@keyframes lt-scroll { to { transform: translateX(-100%); } }
.lt-body { padding: 14px 16px; }
.lt-logo { margin: 0 0 12px; font: bold 15px/1.05 "Courier New", monospace; background: linear-gradient(90deg, #f209f3, #0bdefb, #d6ff1f); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lt-foot { display: flex; gap: 8px; padding: 3px 6px; border-top: 2px solid; border-color: #808080 #fff #fff #808080; font-size: 11px; }
.lt-foot span { border: 1px solid; border-color: #808080 #fff #fff #808080; padding: 0 8px; }
.lt-btn { display: inline-block; padding: 4px 14px; background: #c0c0c0; color: #000 !important; border: 2px solid; border-color: #fff #404040 #404040 #fff; font: bold 13px Tahoma, sans-serif; cursor: pointer; text-decoration: none; }
.lt-btn:active { border-color: #404040 #fff #fff #404040; } .lt-btn.big { padding: 8px 30px; font-size: 16px; letter-spacing: .2em; } .lt-btn[disabled] { color: #808080 !important; cursor: default; }
.lt-win input, .lt-win textarea, .lt-win select { background: #fff; color: #000; border: 2px solid; border-color: #404040 #fff #fff #404040; font: 13px "Courier New", monospace; padding: 3px 5px; }
.lt-keys { display: flex; flex-wrap: wrap; gap: 12px; margin: 10px 0 14px; }
.lt-keys label { display: flex; flex-direction: column; gap: 3px; font-weight: bold; }
.lt-keys input { width: 120px; font: bold 22px "Courier New", monospace; letter-spacing: .25em; text-transform: uppercase; text-align: center; }
.lt-crack p { margin: 0 0 8px; } .lt-crack a, .lt-box a { color: #000080; }
.lt-denied { color: #a00000; font-weight: bold; }
.lt-granted { font: bold 18px "Courier New", monospace; color: #006400; margin: 0 0 12px; }
.lt-status { min-height: 1.4em; font: bold 15px "Courier New", monospace; margin: 10px 0 0; }
.lt-status.ok { color: #006400; } .lt-status.bad { color: #a00000; }
.lt-flash { animation: lt-flash .14s steps(2) 8; }
@keyframes lt-flash { 50% { background: #000; color: #0f0; } }
.lt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.lt-box { border: 2px solid; border-color: #808080 #fff #fff #808080; padding: 8px 10px; background: #d4d0c8; }
.lt-box h2 { font: bold 14px Tahoma, sans-serif; margin: 0 0 6px; color: #000080; }
.lt-box p { margin: 0 0 6px; } .lt-small { font-size: 11px; color: #333; }
.lt-box form { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 6px; }
.lt-box textarea { width: 100%; font-size: 12px; line-height: 1.15; }
.lt-toggle { display: flex; gap: 6px; align-items: flex-start; }
.lt-fades { gap: 4px !important; }
.lt-fade { display: inline-flex; align-items: center; gap: 2px; cursor: pointer; }
.lt-fade span { padding: 1px 6px; font: bold 12px "Courier New", monospace; color: #000; background: #fff; border: 1px solid #808080; }
.lt-fade-neon { background: linear-gradient(90deg, #0bdefb, #f209f3) !important; } .lt-fade-acid { background: linear-gradient(90deg, #d6ff1f, #39ff8a) !important; }
.lt-fade-fire { background: linear-gradient(90deg, #ffd23d, #ff4d6d) !important; } .lt-fade-ice { background: linear-gradient(90deg, #ffffff, #0bdefb) !important; }
.lt-fade-royal { background: linear-gradient(90deg, #9b6bff, #ff9ad5) !important; } .lt-fade-toxic { background: linear-gradient(90deg, #39ff8a, #2f8bff) !important; }
.lt-fade input:checked + span { outline: 2px dotted #000; outline-offset: 1px; }

/* ---------------------------------------------------------------- the floating mini prog (every page, while Leet runs) */
.lt-mini { position: fixed; left: 12px; bottom: 54px; z-index: 60; width: 214px; background: #c0c0c0; color: #000; border: 2px solid; border-color: #fff #404040 #404040 #fff; box-shadow: 1px 1px 0 #000, 0 0 22px rgba(242, 9, 243, .35); font: 12px Tahoma, sans-serif; }
.lt-mini[hidden] { display: none; }
.lt-mini header { display: flex; align-items: center; gap: 4px; padding: 2px 3px 2px 5px; background: linear-gradient(90deg, #000080, #1084d0); color: #fff; font-weight: bold; }
.lt-mini header a { color: #fff; text-decoration: none; } .lt-mini header button { width: 16px; height: 14px; padding: 0; background: #c0c0c0; border: 2px solid; border-color: #fff #404040 #404040 #fff; font: bold 10px/1 Tahoma; cursor: pointer; }
.lt-mini .lt-mbody { padding: 6px 7px; display: flex; flex-direction: column; gap: 5px; }
.lt-mini .lt-left { font: bold 16px "Courier New", monospace; color: #006400; }
.lt-mini label { display: flex; gap: 5px; align-items: center; } .lt-mini select { font: 12px Tahoma; }
.lt-mini.collapsed .lt-mbody { display: none; }
.lt-mini header { cursor: grab; touch-action: none; user-select: none; } .lt-mini.dragging header { cursor: grabbing; }
.lt-mini .lt-hleft { font: bold 11px "Courier New", monospace; color: #d6ff1f; } .lt-mini:not(.collapsed) .lt-hleft { display: none; }
@media (max-width: 760px) { .lt-mini { bottom: 12px; left: 8px; width: 190px; } }
/* The home page is one composition: the mini prog waits in its top-left corner (circuitry, nothing to click). */
body:has(.nx-stage) .lt-mini { top: 6px; bottom: auto; }

/* ---------------------------------------------------------------- Leet in rooms and the Messenger */
.lt-alias { font-style: normal; color: #ff9ad5; margin-left: 2px; }
.nx-msg.scroller pre { margin: 2px 0 2px 46px; font: 13px/1.1 "Courier New", monospace; color: #d6ff1f; white-space: pre; overflow-x: auto; }
.nx-msg.whisper { color: #ffe39a; font-style: italic; border-left: 3px solid #ffd23d; padding-left: 8px; margin: 4px 0; }
.cr-p.is-ghost .cr-pname { opacity: .5; font-style: italic; }
/* D53: what keys carry — the loot line under a key, rarity colours, the crack's loadout, perks, the flood box, the opt-out. */
.lt-loot { display: inline-block; margin-left: 8px; color: #fff; background: #000; border: 1px solid #ffff55; padding: 1px 6px; font: bold 12px "Courier New", monospace; }
.lt-kinfo { min-height: 1.2em; max-width: 260px; font: normal 11px/1.3 Tahoma, sans-serif; color: #333; }
.lt-kinfo.bad { color: #a00000; font-weight: bold; }
.lt-kinfo.lt-r-uncommon { color: #006400; } .lt-kinfo.lt-r-rare { color: #000080; font-weight: bold; } .lt-kinfo.lt-r-legendary { color: #800080; font-weight: bold; }
.lt-sum { min-height: 1.2em; margin: 0 0 10px; font: bold 13px "Courier New", monospace; color: #000080; }
.lt-loadout { margin: -6px 0 8px; font: bold 13px "Courier New", monospace; color: #000080; }
.lt-perks { margin: 0 0 10px; } .lt-perk { display: inline-block; background: #000080; color: #ffff55; padding: 1px 6px; font: bold 12px "Courier New", monospace; }
.lt-floodbox { background: #c8d4f0; } .lt-floodbox input[name=text] { width: 100%; box-sizing: border-box; margin: 4px 0; }
.lt-optout { margin: 16px 0 0; font-size: 12px; color: #333; } .lt-optout a { color: #000080; }
@media (max-width: 600px) { .lt-kinfo { max-width: 100%; } .lt-loot { margin: 4px 0 0; } }
