
:root {
    --bg-color: #ffffff;
    --text-color: #333;
    --text-color-light: rgba(0, 0, 0, 0.54);
    --nav-bg: #FAFAFA;
    --nav-text: #000000;
    --nav-item-bg: azure;
    --nav-dropdown-bg: #FAFAFA;
    --nav-hover-bg: #FAFAFA;
    --nav-border-color: #ddd;
    --border-color: #d9deda;
    --privacy-bg: rgba(255,255,255,0.3);
    --lottery-bg: rgb(222,222,0,0.7);
    --nav-icon-fill: #333;
    /* light hover background for nav items */
    --nav-hover-item-bg: #FAFAFA;
}

/* Dark mode: use dark semi-transparent background for nav items */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) nav ul li a {
    background-color: #2a2a2a;
  }
}

[data-theme="dark"] nav ul li a {
  background-color: #2a2a2a;
}

[data-theme="dark"] {
    --bg-color: #121212;
    --text-color: #e0e0e0;
    --text-color-light: rgba(255, 255, 255, 0.7);
    --nav-bg: #333;
    --nav-text: #ffffff;
    --nav-item-bg: #1e1e1e;
    --nav-dropdown-bg: #2c2c2c;
    --nav-hover-bg: #333;
    --nav-border-color: #555;
    --border-color: #444;
    --privacy-bg: rgba(0,0,0,0.6);
    --lottery-bg: rgba(180,180,0,0.7);
    --nav-icon-fill: #e0e0e0;
    /* solid hover background for nav items */
    --nav-hover-item-bg: #4a4a4a;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --bg-color: #121212;
        --text-color: #e0e0e0;
        --text-color-light: rgba(255, 255, 255, 0.7);
        --nav-bg: #333;
        --nav-text: #ffffff;
        --nav-item-bg: #1e1e1e;
        --nav-dropdown-bg: #2c2c2c;
        --nav-hover-bg: #333;
        --nav-border-color: #555;
        --border-color: #444;
        --privacy-bg: rgba(0,0,0,0.6);
        --lottery-bg: rgba(180,180,0,0.7);
        --nav-icon-fill: #e0e0e0;
        /* solid hover background for nav items */
        --nav-hover-item-bg: #4a4a4a;
    }
}

/* Invert nav icons in dark mode (makes dark icons light) */
[data-theme="dark"] nav ul li a img {
    filter: invert(1);
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) nav ul li a img {
        filter: invert(1);
    }
}

body {
    background: url("kandel_fog2.jpg") scroll right / 110% 110%;
    background-color: var(--bg-color);
    color: var(--text-color);
    background-repeat: no-repeat;
    background-position: right top;
    background-attachment: fixed;
    font: 22px/1.5em "Helvetica Neue",Helvetica,sans-serif;
    margin: 0em 0 00em;
}

[data-theme="dark"] body {
    background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url("kandel_fog2.jpg") scroll right / 110% 110%;
    background-attachment: fixed;
}

@media (prefers-color-scheme: dark) { 
    :root:not([data-theme="light"]) body {
        background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url("kandel_fog2.jpg") scroll right / 110% 110%;
        background-attachment: fixed;
    } 
}

#header_text {
    color: var(--text-color-light);
    font-size: 64px;
    font-weight: 200;
    letter-spacing: -2px;
    white-space: nowrap;
}

#imprint_text1 {
    color: var(--text-color-light);
    font-size: 18pt;
    font-weight: 400;
}

#imprint_text2 {
    color: var(--text-color-light);
    font-size: 14pt;
    font-weight: 400;
}

#privacy
{
    max-width: 1100px;
    margin: 40px auto;
    padding: 30px 20px 40px 20px;
    background-color: rgba(255, 255, 255, 0.75);
    color: var(--text-color);
    font-size: 14pt;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #privacy {
    background-color: rgba(0, 0, 0, 0.6);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
  }
}

/* Card-style layout for Imprint page, same look as privacy/lottery */
#imprint {
    max-width: 1100px;
    margin: 40px auto;
    padding: 30px 20px 40px 20px;
    background-color: rgba(255, 255, 255, 0.75);
    color: var(--text-color);
    font-size: 14pt;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #imprint {
    background-color: rgba(0, 0, 0, 0.6);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
  }
}

/* Generic card layout for normal content pages (home, apps, lotto, etc.) */
.page-card {
    max-width: 1100px;
    margin: 40px auto;
    padding: 30px 20px 40px 20px;
    background-color: rgba(255, 255, 255, 0.75);
    color: var(--text-color);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .page-card {
    background-color: rgba(0, 0, 0, 0.6);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
  }
}

.lotteryresults {
  display:inline-block;
  font-size: 14pt;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70%;
  background-color: transparent;
}

.lotteryresults ul {
  display: inline-block;
  font-size: 14px;
  color: #012406;
  list-style: none;
  list-style-type: none;
  list-style-position: initial;
  list-style-image: initial;
  padding: 0;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  margin-bottom: 0;
}

.lotteryresult_number {
  display: inline-block;
  font-size: 22px;
  color: #000;
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  border: 1px solid #d9deda;
  border-top-color: rgb(217, 222, 218);
  border-top-style: solid;
  border-top-width: 2px;
  border-right-color: rgb(217, 222, 218);
  border-right-style: solid;
  border-right-width: 2px;
  border-bottom-color: rgb(217, 222, 218);
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-left-color: rgb(217, 222, 218);
  border-left-style: solid;
  border-left-width: 2px;
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
  border-radius: 50%;
  margin-right: 7px;
  margin-bottom: 7px;
  background-color: rgb(222,222,222);
}

.lotteryresult_supernumber {
  display: inline-block;
  font-size: 22px;
  color: #000;
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  border: 1px solid #d9deda;
  border-top-color: rgb(211, 211, 218);
  border-top-style: solid;
  border-top-width: 2px;
  border-right-color: rgb(211, 211, 218);
  border-right-style: solid;
  border-right-width: 2px;
  border-bottom-color: rgb(211, 211, 218);
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-left-color: rgb(211, 211, 218);
  border-left-style: solid;
  border-left-width: 2px;
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
  border-radius: 50%;
  margin-right: 7px;
  margin-bottom: 7px;
  background-color: rgb(222,222,0);
}

.prizecategories ul {
  font-size: 12pt;
}

.prizecategories li {
  font-size: 12pt;
}

.lotteryjackpots ul {
  font-size: 12pt;
}

.lotteryjackpots li {
  font-size: 12pt;
}

.lotteryresults h1 {
  font-family: sans-serif;
  font-size: 24px;
}

.lotteryjackpots h1 {
  font-family: sans-serif;
  font-size: 24px;
}

/* Container for the full lottery results page: clean card instead of full yellow background */
.lotteryresults_background {
  max-width: 1100px;
  margin: 40px auto;
  padding: 30px 20px 40px 20px;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .lotteryresults_background {
    background-color: rgba(0, 0, 0, 0.6);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
  }
}

h2 {
    margin-top: 2em;
}
h2 a {
    color: #ccc;
    left: -20px;
    position: absolute;
    width: 740px;
}


nav {
    /* display:inline-block; */
    width:100%;
    align-content: center;
    color: transparent;
    visibility: visible;
    position: sticky;
    top: 0;
    z-index: 1000;
}


nav ul:after {
    clear: both;
    content: no-close-quote;
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden;
}

nav ul,nav ul li{
    background-color: var(--nav-bg);
    align-items:center;
}

nav ul li {
    list-style: none;
    float:left;
}

nav ul li a {
    text-decoration: none;
    display: block;
    color: var(--text-color);
}
nav ul li:hover > ul {
    visibility: visible;
}
nav ul li ul{
    display: block;
    visibility: hidden;
    position: absolute;
    padding:0px;
    padding-top: 20px;
    margin-top: -10px;
}
nav ul li ul li{
    float: none;
}
nav ul li ul li a:hover{
    color: #333;
}

nav ul {
    padding: 2px;
    margin: 2px;
    background-color: transparent;
}

nav ul li {
    list-style: none;
    float: left;
    background-color: transparent;
}

nav ul li a {
    text-decoration: none;
    display: block;
    color: var(--nav-text);
    padding: 10px 20px;
    border-style: solid;
    border-color: var(--border-color);
    border-bottom-left-radius: 16px;
    /* Light mode default background for nav items */
    background-color: #f5f5f5;

}
nav ul li.cat1:hover a, nav ul li.cat1:hover > ul li a  {
    background-color: #E6DD00;
}
nav ul li.cat2:hover a, nav ul li.cat2:hover > ul li a  {
    background-color: #8CB302;
}
nav ul li.cat3:hover a, nav ul li.cat3:hover > ul li a {
    background-color: #008C74;
}
nav ul li.cat4:hover a, nav ul li.cat4:hover > ul li a {
    background-color: #004C66;
}
nav ul li.cat5:hover a, nav ul li.cat5:hover > ul li a {
    background-color: #332B40;
}

/* In dark mode, unify category hover background with the global nav hover background */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) nav ul li.cat1:hover a,
  :root:not([data-theme="light"]) nav ul li.cat1:hover > ul li a,
  :root:not([data-theme="light"]) nav ul li.cat2:hover a,
  :root:not([data-theme="light"]) nav ul li.cat2:hover > ul li a,
  :root:not([data-theme="light"]) nav ul li.cat3:hover a,
  :root:not([data-theme="light"]) nav ul li.cat3:hover > ul li a,
  :root:not([data-theme="light"]) nav ul li.cat4:hover a,
  :root:not([data-theme="light"]) nav ul li.cat4:hover > ul li a,
  :root:not([data-theme="light"]) nav ul li.cat5:hover a,
  :root:not([data-theme="light"]) nav ul li.cat5:hover > ul li a {
    background-color: var(--nav-hover-item-bg);
  }
}

[data-theme="dark"] nav ul li.cat1:hover a,
[data-theme="dark"] nav ul li.cat1:hover > ul li a,
[data-theme="dark"] nav ul li.cat2:hover a,
[data-theme="dark"] nav ul li.cat2:hover > ul li a,
[data-theme="dark"] nav ul li.cat3:hover a,
[data-theme="dark"] nav ul li.cat3:hover > ul li a,
[data-theme="dark"] nav ul li.cat4:hover a,
[data-theme="dark"] nav ul li.cat4:hover > ul li a,
[data-theme="dark"] nav ul li.cat5:hover a,
[data-theme="dark"] nav ul li.cat5:hover > ul li a {
  background-color: var(--nav-hover-item-bg);
}
/* Hover states for navigation items */
nav ul li:hover > a {
    /* use nav text color for best contrast in both light/dark */
    color: var(--nav-text);
    /* same hover background as submenu items */
    background-color: var(--nav-hover-item-bg);
}

nav ul li ul li a {
    color: var(--text-color);
}

nav ul li ul li a:hover{
    /* improve visibility: use main nav text color and subtle background */
    color: var(--nav-text);
    background-color: var(--nav-hover-item-bg) !important;
}

/* Ensure top-level nav items (outside hamburger) have a strong hover in dark mode */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) nav > ul > li.nav-item:hover > a {
    background-color: var(--nav-hover-item-bg) !important;
  }
}

[data-theme="dark"] nav > ul > li.nav-item:hover > a {
  background-color: var(--nav-hover-item-bg) !important;
}

/* Responsive navigation behavior */

/* Standard: show normal items and hamburger icon, but not main entries inside hamburger */
nav ul li.nav-item {
    display: inline-block;
}

nav ul li.nav-hamburger {
    display: inline-block;
}

/* Hamburger main items (the duplicated main nav inside dropdown) are hidden by default */
nav ul li.hamb-main-item {
    display: none;
}

/* Visual styling for hamburger items when they are shown */
nav ul li.hamb-section-title > a {
    font-weight: bold;
}

nav ul li.hamb-sub-item > a {
    font-size: 0.9em;
    padding-left: 20px;
}

/* Portrait orientation: hide normal items, keep hamburger */
@media (orientation: portrait) {
    nav ul li.nav-item {
        display: none;
    }

    nav ul li.nav-hamburger {
        display: inline-block;
    }

    /* Show main entries inside hamburger when top nav is hidden */
    nav ul li.hamb-main-item {
        display: block;
    }
}

/* Small widths: if layout would start to wrap, hide normal items as well */
@media (max-width: 900px) {
    nav ul li.nav-item {
        display: none;
    }

    nav ul li.nav-hamburger {
        display: inline-block;
    }

    /* Show main entries inside hamburger when top nav is hidden */
    nav ul li.hamb-main-item {
        display: block;
    }

    /* In the hamburger dropdown on small screens:
       - section titles stay visible
       - their submenus are hidden by default
       - on hover, submenus fly out to the left without pushing items down. */

    /* Anchor for absolutely positioned submenu */
    nav ul li.nav-hamburger ul li.hamb-section-title {
        position: relative;
    }

    nav ul li.nav-hamburger ul li.hamb-section-title > ul {
        position: absolute;
        top: 0;
        right: 100%;          /* place to the left of the title */
        padding-top: 0;
        margin-top: 0;
        visibility: visible;  /* visibility controlled via display */
        display: none;        /* hidden by default */
    }

    nav ul li.nav-hamburger ul li.hamb-section-title:hover > ul {
        display: block;       /* show on hover */
    }

    nav ul li.nav-hamburger ul li.hamb-sub-item {
        float: none;
    }
}

#LotteryResultTable {
  border: "1px solid white";
  font-family: sans-serif;
  font-size: 14pt;
}

.center{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70%;
    background-color: transparent;
}


/* Scanner Component Styles */
.scanner-textarea {
    width: 100%;
    min-height: 80px;
    padding: 10px;
    font-family: monospace;
    font-size: 12px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background-color: var(--nav-item-bg);
    color: var(--text-color);
}

.scanner-result-box {
    background-color: var(--nav-dropdown-bg);
    border: 2px solid var(--nav-text);
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    color: var(--text-color);
}

.scanner-json-pre {
    background-color: var(--bg-color);
    padding: 15px;
    border-radius: 4px;
    overflow: auto;
    font-size: 14px;
    font-family: monospace;
    color: var(--text-color);
    border: 1px solid var(--border-color);
}

.scanner-info-box {
    margin-top: 30px;
    padding: 15px;
    background-color: rgba(255, 243, 205, 0.9);
    border: 1px solid #ffc107;
    border-radius: 4px;
    color: #856404;
}

[data-theme="dark"] .scanner-info-box {
    background-color: rgba(60, 50, 0, 0.6);
    border-color: #997404;
    color: #ffc107;
}

.scanner-success-box {
    padding: 12px;
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    border-radius: 4px;
    margin-bottom: 20px;
    color: #155724;
}

[data-theme="dark"] .scanner-success-box {
    background-color: rgba(21, 87, 36, 0.4);
    border-color: #155724;
    color: #d4edda;
}

.scanner-error-box {
    padding: 12px;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 4px;
    margin-bottom: 20px;
    color: #721c24;
}

[data-theme="dark"] .scanner-error-box {
    background-color: rgba(114, 28, 36, 0.4);
    border-color: #721c24;
    color: #f8d7da;
}

/* Make hamburger icon bars lighter in dark mode for better contrast */
[data-theme="dark"] nav ul li.nav-hamburger svg rect {
    fill: #ffffff;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) nav ul li.nav-hamburger svg rect {
        fill: #ffffff;
    }
}
