body{font-family:Arial,Helvetica,Sans-Serif;color:#dddddd;background-color:#222222;font-size:10pt;}
.area{margin-left:5px;margin-right:0px;font-size:12px;background-color:#151515;border:0;color:#eeeeee;padding-left:3px;}
.section{padding-left:5px;padding-right:10px;padding-top:5px;border-left:1px solid #eeeeee;height:100%;}
.section1{padding-left:10px;padding-right:10px;padding-top:5px;}
input{background-color:black;border:#555555 1px solid;color:#bbbbbb;}
input.text{font-family:Arial, Helvetica, sans-serif;font-size:11pt;}
input.checkbox{border:#000000 1px solid;font-family:Arial, Helvetica, sans-serif;font-size:11pt;}
input.button{font-family:Times New Roman, Helvetica, sans-serif;font-weight:bold;height:21px;font-size:11pt;}
input.trade{font-family:Times New Roman, Helvetica, sans-serif;font-weight:bold;width:120px;height:21px;font-size:11pt;}
input.action{width:6em;font-family:Times New Roman, Helvetica, sans-serif;font-weight:bold;font-size:13pt;}
input.inv{width:5em;height:25px;font-family:Times New Roman, Helvetica, sans-serif;font-weight:bold;font-size:12pt;}
input.ctv{background-color:black;border:#8888cc 1px solid;color:#8888cc;font-family:Times New Roman, Helvetica, sans-serif;font-weight:bold;height:21px;font-size:11pt;}
input.move{font-family:Times New Roman, Helvetica, sans-serif;font-weight:bold;height:25px;font-size:11pt;}
textarea{background-color:#222222;border:#666666 1px solid;color:#ffffff;font-family:Arial, Helvetica, sans-serif;font-size:11pt;}
.options{background-color:#000000;border:#666666 1px solid;color:#bbbbbb;font-family:Arial, Helvetica, sans-serif;font-size:10pt;}
.foptions{background-color:#000000;border-bottom:#000000 1px solid;border-left:#000000 1px solid;border-right:#000000 1px solid;border-top:#000000 1px solid;color:#AAAAAA;width:18em;font-family:Arial, Helvetica, sans-serif;font-size:10pt;}
.soptions{background-color:#333333;border:#666666 1px solid;color:#dddddd;width:24em;font-family:Arial, Helvetica, sans-serif;font-size:10pt;}
h5{font-family:Arial,Helvetica,Sans-Serif;color:#ffffff;font-size:8pt;}
h1{font-family:Arial,Helvetica,Sans-Serif;color:#EE2233;font-size:8pt;}
h3{font-family:Arial,Helvetica,Sans-Serif;color:#bbbbbb;font-size:12pt;}
a{color:#9999CC;text-decoration:underline}
a.chat{color:#ffffff;text-decoration:none}
a:hover{color:#bbbbbb;text-decoration:none}
a.menu{text-decoration:underline;border:none;}
a.menu_active{text-decoration:none;border:1px solid yellow;}
form{margin:0px;padding:0px;}
tr.title{background-color:#000000;}
table.main{background-color:#111111;}
tr.main{background-color:#111111;}
table.font9{font-size:9pt;padding:2px;}
table.font9 th{font-size:11pt;text-align:left;}
#chaterr{font-size:10pt;}

/* ---- Login/news page visual refresh (2026-09-21) ---- */

/* Player-count urgency cue: <blink> was removed from every modern browser engine years ago,
   so it was silently rendering as static text. This CSS-only pulse restores the "grab
   attention" effect it was meant to have when the player count hits the cap. */
@keyframes lh-pulse{0%,100%{opacity:1;}50%{opacity:0.35;}}
.pulse{color:#ff5555;font-weight:bold;animation:lh-pulse 1.2s ease-in-out infinite;}

/* Server status colors (replaces inline <font color=...>, including a typo'd invalid color
   name "VLAZE" the "Open" status was using, which browsers were silently ignoring). */
.status-open{color:#4cdb6c;font-weight:bold;}
.status-restricted{color:#66ff66;font-weight:bold;}
.status-prep{color:#00d0d2;font-weight:bold;}
.status-maint{color:#b07cff;font-weight:bold;}
.status-closed{color:#ff5544;font-weight:bold;}
.status-codeupdate{color:#999999;font-weight:bold;}

/* Today's Bonus banner: previously a plain inline-text clause tacked onto the end of the
   status line. Pulled into its own element (see js/main[1-2].js BONUS()) so active bonuses
   read as an event instead of a footnote, and hides itself automatically when empty. */
/* Every other block on this page (the account-management table, the nav links table, etc.)
   is a fixed width=750 <table>, which the page's <center> tag then centers as a group - but
   these two are plain <div>s with no width of their own, so a block div just fills 100% of
   whatever's available (the whole viewport) instead of matching. box-sizing:border-box keeps
   the padding/border from pushing the banner past 750px. */
.bonus-banner{max-width:750px;box-sizing:border-box;margin:6px auto 10px auto;padding:6px 10px;background:linear-gradient(90deg,rgba(255,190,60,0.12),rgba(255,190,60,0.02));border:1px solid #6b5326;border-left:3px solid #ffbe3c;border-radius:3px;font-size:11px;color:#ffdca0;}
.bonus-banner:empty{display:none;padding:0;margin:0;border:0;}
.bonus-banner .bonus-label{text-transform:uppercase;letter-spacing:0.5px;color:#ffbe3c;font-weight:bold;margin-right:6px;}
.bonus-pill{display:inline-block;padding:1px 8px;margin:2px 3px 2px 0;border-radius:10px;border:1px solid var(--bonus-color,#ffbe3c);color:var(--bonus-color,#ffbe3c);font-weight:bold;}

/* Record-online callout: built from data the page already computed (most_users table) but
   previously only surfaced behind a click into the "Who's On" submenu. Same width mismatch
   as .bonus-banner above, same fix. */
.record-line{max-width:750px;box-sizing:border-box;margin:2px auto 8px auto;font-size:10px;color:#999999;}
.record-line b{color:#cccccc;}

/* News list restyled from a flat stacked wall of text into bordered cards, with the newest
   entry called out visually so the page reads as "something is happening" at a glance. */
.news-card{border:1px solid #333333;border-left:3px solid #555577;background-color:#181818;border-radius:3px;padding:6px 10px;margin-bottom:8px;}
.news-card:first-child{border-left-color:#8899dd;background-color:#1b1b24;}
.news-card .news-date{color:#9999cc;font-weight:bold;font-size:11px;}
.news-card .news-body{font-size:11px;color:#cccccc;margin-top:3px;}
.news-author-sith{color:red;font-weight:bold;}

/* Subtle drifting fog/ember overlay over the title banner - pure CSS, no new art assets,
   flat/low-opacity so it doesn't fight the background art's own mist. */
#titlediv{position:relative;overflow:hidden;}
#titlediv::after{content:"";position:absolute;inset:-20% -20%;background:radial-gradient(ellipse at 20% 30%,rgba(200,220,255,0.06) 0%,transparent 45%),radial-gradient(ellipse at 75% 70%,rgba(255,255,255,0.05) 0%,transparent 40%);animation:lh-fog-drift 22s ease-in-out infinite alternate;pointer-events:none;}
@keyframes lh-fog-drift{0%{transform:translate(-4%,-2%) scale(1);}100%{transform:translate(4%,3%) scale(1.08);}}

/* Responsive: the login/news page was previously locked to a fixed width=780 viewport (see
   main.php's viewport meta), so phone visitors got a tiny fixed-size page to pinch-zoom
   through. This lets the page's main tables and banner shrink to fit narrower screens
   instead. (Scoped to this page's own layout tables/images; the in-game frameset served
   from game.php is untouched.) */
@media (max-width:800px){
	table.main[width="750"],table[width="750"]{width:100% !important;}
	img[src="images/concept.jpg"]{max-width:100%;height:auto;}
}