@charset 'utf-8';

/*  normalize & reset & some crucial stuff
**  version 8.29.25 
**  license: SFA (Starfleet Academy)
*/

/* ===============================
**        GLOBAL RESET
   ===============================
*/
/* Reset and global styles that don't interfere with dl/dt/dd */
/* Global reset  styles */
*,
html,
body,
a,
a:hover,
a:focus,
*::before,
*::after,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none;
  text-decoration: none;
  border: 0;
}


*, html, body{
	font-size: 100%;
	vertical-align: baseline;   
	}
html, body { width: 100%;}
html {min-height: 100vh;}
body {min-height: 100%; 
  text-rendering: optimizeSpeed;
    line-height: 1.15;
  -webkit-text-size-adjust: 100%;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, Verdana, Helvetica, sans-serif; 
}

 
/* ==========================
**     BASIC STYLES
** ===========================
*/

/* forbid selecting */
.no-click {
  pointer-events: none;
}
 
hr {
  box-sizing: content-box;
  height:0px; line-height:0px; 
  font-size:0px;
  border-top:1px solid;
  overflow: visible;
}


 
/* ===============================
   TYPOGRAPHY
   =============================== */

.wrapper h1, /*h1:not(.site-title), */
.wrapper h2, 
.wrapper h3, 
.wrapper h4, 
.wrapper h5, 
.wrapper h6 {
  line-height: 1.25;
  font-weight: bold;
}
 
}

/* For horizontal rule (hr), make it more flexible */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top: 1px solid;  
}
  
/* Monospaced elements: code, kbd, samp */
code,
kbd,
samp {
  font-family: "Courier New", Courier, monospace;
  font-size: calc(1rem + 0.5vw); /* Slightly larger for readability */
}

/* Citation and inserted text */
cite,
ins {
  font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
  display: inline;
  margin: 0;
  padding: 0 0.5em;
  font-style: italic; /* Consolidated italic style here */
  font-size: 1.125rem;
  text-decoration: none;
  hyphens: none;
  word-break: normal;
  line-height: 1.6;
}

/* Blockquote and quote styling */
blockquote,
q {
  font-style: italic;
  font-size: 1.125rem;
  line-height: 1.6;
  text-decoration: none;
}

/* Remove default quote marks from blockquotes and q elements */
blockquote::before,
blockquote::after,
q::before,
q::after {
  content: none;
  quotes: none;
}

 h2, h3, h4, h5 {
  margin-bottom: .5em;
}

/* Mobile-first styling for h1-h6 headings */
@media (max-width: 767px) {
  .wrapper h1 {
    font-size: clamp(1.5rem, 4vw, 3.2rem); /* Adjust font size based on viewport width */
  }
  h2 {
    font-size: clamp(1.2rem, 3vw, 2.5rem);
  }
  h3 {
    font-size: clamp(1rem, 3vw, 2.5rem);
  }
  h4 {
    font-size: clamp(0.8rem, 2.5vw, 2rem);
  }
  h5 {
    font-size: clamp(0.6rem, 2vw, 1.6rem);
  }
  h6 {
    font-size: clamp(0.5rem, 1.5vw, 1.3rem);
  }
}

@media (min-width: 768px) {
  /* Default scaling for larger screens (tablet and up) */
  .wrapper h1 {
    font-size: clamp(2rem, 2.5vw, 3.2rem);
  }
  h2 {
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
  }
  h3 {
    font-size: clamp(1.5rem, 1.7vw, 2.2rem);
  }
  h4 {
    font-size: clamp(1.2rem, 1.8vw, 2rem);
  }
  h5 {
    font-size: clamp(1rem, 1.5vw, 1.6rem);
  }
  h6 {
    font-size: clamp(0.8rem, 1.2vw, 1.3rem);
  }
}


abbr[title] {
  text-decoration: underline dotted;
  border-bottom: none;
}
  
b,
strong { font-weight: bolder;}
small {font-size: 80%;}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub { bottom: -0.25em; }
sup { top: -0.5em; }
/* =====================
**    CONTENT
** =====================  
*/


/* General content spacing */
p,
pre,
ul,
ol,
dl {
  margin-bottom: 0.6rem;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

/* Blockquote styling */
blockquote {
  color: #555;
  background-color: #f4f4f4;
  padding: 1em;
  margin: 1rem;
  border: 1px solid #ccc; /* Fix typo: '1 px' → '1px' */
  border-radius: 1em;
  font-size: 1rem;
  line-height: 1.6;
  position: relative;

  /* Remove quote marks and disable hyphenation */
  quotes: none;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

/* Inline quotes and blockquotes: remove quotes, prevent hyphenation */
blockquote,
q {
  quotes: none !important;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

/* Prevent browser-generated quotation marks */
blockquote::before,
blockquote::after,
q::before,
q::after {
  content: none;
}
 


/* =====================
**     LISTINGS 
** =====================  
*/
/* get rid of all dots here */
ul,  ul li {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-left: 0;
  list-style-position: outside;
}


.main ul {
  list-style-type: square;
  list-style-position: outside;
  margin-left: 1.5em;
  padding-left: 0;
}
 
 



dl {
  display: grid;
  grid-template-columns: 10rem 1fr;
  column-gap: 1rem;
  row-gap: 0.4rem;
  margin: 1.6rem 0;
  padding: 0;
}

dt {
  text-align: right;
  font-weight: bold;
  margin: 0;
  white-space: nowrap;
}

dd {
  margin: 0;
  word-break: break-all;     /* for hashes & long words */
  overflow-wrap: anywhere;
  white-space: normal;
}

dd p {
  margin: 0;                 /* prevents extra paragraph spacing */
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
}










/* ==================================
** 
**          TABLES
** 
** ==================================
*/ 
 	

table {
  border-collapse: collapse !important; 
  border-spacing: 0;
  /* top and left borders */
  border:1px solid !important;
  width: 100%;
}

th {
   font-weight: bold;
}

th, td {

  padding: 0.5em;
  text-align: left;  border: 1px solid  !important;
}


th { 
text-align:center;
} 
td{  }

/* =======================================
** AI-Optimized Responsive Table CSS ⚔️ 🤖
/* ======================================  
** TABLES — Clean, Responsive, Readable
** ======================================= 
*/

.table-container {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* smooth scroll on iOS */
}

/* Base table setup */
.table-container table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ccc; /* outer border */
  min-width: 600px; /* keeps columns readable on narrow screens */
  background-color: #fff;
  font-size: 0.95rem;
}

/* Header */
.table-container th {
  background-color: #f8f8f8;
  font-weight: 600;
  text-align: left;
  padding: 0.75rem;
  border: 1px solid #ccc;
  position: sticky; 
  top: 0; /* stays visible on scroll if desired */
  z-index: 1;
}

/* Cells */
.table-container td {
  padding: 0.75rem;
  border: 1px solid #ddd;
}

/* Zebra striping for readability */
.table-container tbody tr:nth-child(even) {
  background-color: #fafafa;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .table-container table {
    min-width: 500px; /* slightly tighter */
  }

  .table-container th,
  .table-container td {
    white-space: nowrap;
  }
}
/* ==================================
** 
**            FORMS
** 
** ==================================
*/ 
button,
input,
select,
textarea {
  font: inherit;
  line-height: 1.15;
  padding: 0.5em;
  margin-bottom: 1em;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  color: inherit;					border:;
}

button,
input { overflow: visible;}

button,
select {  text-transform: none;cursor: pointer;}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

button:disabled,
[disabled] {cursor:pointer;}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {  outline: 1px dotted ButtonText;}

  
fieldset {  padding: 0.35em 0.75em 0.625em;}
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

 
textarea {  overflow: auto;}


[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}


progress {
  vertical-align: baseline;
}

/* scroll arrows cloaker*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/*Firefox scroll arrows cloaker*/
input[type="number"] {
  -moz-appearance: textfield;
}
/* For Chrome, Edge, Safari */
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

/* Optional: for consistency, disable native styling too */
input[type="search"] {
  -webkit-appearance: none;
  appearance: none;outline-offset: -2px;
}
[type="search"] {
  -webkit-appearance: textfield; 
  outline-offset: -2px; 
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}
[type="checkbox"], [type="radio"] {
    box-sizing: border-box;
    padding: 0;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}


/* =====================
**      MEDIA
** =====================
*/ 
img {
  border-style: none;
  max-width: 100%;
  display: block; height:auto;
}

audio,
canvas,
iframe,
img,
svg,
video {
  display: block;
  max-width: 100%;
}

:focus-visible {
  outline: 2px solid #000;
  outline-offset: 2px;
}


/* =====================
** Interactive elements
** =====================
*/ 
details {
  display: block;
}
summary {
  display: list-item;
}

  
template {
  display: none;
}
[hidden] {
  display: none;
}
/* =========================================
**
**  CRUCIAL KEYBOARD ACCESSIBILITY HELPERS
** ARIA  &  Skip Navigation Styles
**
** ========================================= 
*/
.screen-reader-text, .hide {
 position: absolute !important;
  z-index: -1000;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  text-decoration: none;
  border: 0;
  word-wrap: normal !important;
}

/* 
  When a screen-reader-text element receives keyboard focus 
  (e.g., via a skip link), it becomes visible.
*/
.screen-reader-text:focus, .hide:focus ,
.screen-reader-text a:focus, hide a:focus {
	/* gpt considers these Misplaced or redundant..  
  height: auto;
  position: static;left: 5px;top: 5px;
  z-index: 1000;
  width: auto;
 ****************************************/
  line-height: 1.2;
  margin: 0.5rem;
  padding: 0.25rem 0.5rem;
  display: inline-block;
  outline: 2px solid #0070f3;
  outline-offset: 2px;
clip-path: none;
font-size: 1rem;
height: auto;
padding: 15px 23px 14px;
text-decoration: none;
width: auto;
z-index: 100000;
}


/* 
  Completely hides content from
  screen readers and visual flow.
  NOT accessible at all.
*/
.hideout, .hidden{ 
     position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(100%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
		 

