/* ===== LM STUDIO EDUCATIONAL RESOURCE - style.css ===== */
/* Digital E-Filing Coach | Amanuddin Education */

@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@400;600;700;800;900&family=Rajdhani:wght@500;600;700&family=Orbitron:wght@700;900&display=swap');

:root {
  --primary-blue:    rgb(10, 60, 120);
  --light-blue:      rgb(30, 130, 200);
  --accent-green:    rgb(20, 150, 80);
  --light-green:     rgb(80, 200, 120);
  --saffron:         rgb(255, 153, 0);
  --deep-saffron:    rgb(220, 100, 0);
  --violet:          rgb(100, 30, 160);
  --light-violet:    rgb(160, 80, 220);
  --red-accent:      rgb(200, 30, 30);
  --gold:            rgb(210, 170, 0);
  --bg-dark:         rgb(8, 20, 45);
  --bg-mid:          rgb(12, 35, 70);
  --bg-card:         rgb(15, 45, 90);
  --bg-card2:        rgb(10, 55, 40);
  --text-white:      rgb(240, 248, 255);
  --text-crystal:    rgb(255, 255, 255);
  --border-glow:     rgb(0, 200, 255);
  --border-saffron:  rgb(255, 153, 0);
  --border-green:    rgb(0, 230, 120);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Exo 2', sans-serif;
  background: var(--bg-dark);
  color: var(--text-white);
  font-weight: 700;
  line-height: 1.7;
  overflow-x: hidden;
}

/* ===== HEADER ===== */
#main-header {
  background: linear-gradient(135deg,
    rgb(8,20,45) 0%,
    rgb(20,80,160) 40%,
    rgb(100,30,160) 70%,
    rgb(220,100,0) 100%);
  padding: 30px 20px 20px;
  text-align: center;
  border-bottom: 4px solid var(--border-glow);
  position: sticky; top: 0; z-index: 1000;
  box-shadow: 0 4px 30px rgba(0,200,255,0.4);
}

#main-header h1 {
  font-family: 'Orbitron', sans-serif;
  font-size: clamp(1.4rem, 4vw, 2.6rem);
  font-weight: 900;
  color: var(--text-crystal);
  text-shadow: 0 0 20px var(--border-glow), 0 0 40px rgba(0,200,255,0.5);
  letter-spacing: 2px;
  margin-bottom: 6px;
}

#main-header .subtitle {
  font-size: 1rem;
  color: var(--saffron);
  font-weight: 700;
  letter-spacing: 1px;
}

.brand-tag {
  display: inline-block;
  margin-top: 8px;
  background: rgba(255,153,0,0.2);
  border: 2px solid var(--saffron);
  border-radius: 20px;
  padding: 4px 18px;
  font-size: 0.85rem;
  color: var(--saffron);
  font-weight: 800;
}

/* ===== PRINT BUTTON ===== */
#print-btn {
  position: fixed;
  bottom: 30px; right: 30px;
  background: linear-gradient(135deg, var(--accent-green), var(--light-blue));
  color: white;
  border: none;
  border-radius: 50px;
  padding: 14px 28px;
  font-size: 1rem;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 6px 25px rgba(0,200,120,0.5);
  z-index: 9999;
  font-family: 'Exo 2', sans-serif;
  transition: all 0.3s;
  letter-spacing: 1px;
}
#print-btn:hover {
  transform: scale(1.08);
  box-shadow: 0 8px 35px rgba(0,200,255,0.7);
}

/* ===== NAV MENU ===== */
#nav-menu {
  background: rgb(5,15,35);
  border-bottom: 3px solid var(--border-saffron);
  padding: 14px 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  position: sticky; top: 130px; z-index: 999;
}

.nav-btn {
  background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
  color: white;
  border: 2px solid var(--border-glow);
  border-radius: 30px;
  padding: 8px 20px;
  font-size: 0.88rem;
  font-weight: 800;
  cursor: pointer;
  font-family: 'Exo 2', sans-serif;
  transition: all 0.25s;
  letter-spacing: 0.5px;
  text-decoration: none;
  display: inline-block;
}
.nav-btn:hover, .nav-btn:focus {
  background: linear-gradient(135deg, var(--saffron), var(--deep-saffron));
  border-color: var(--saffron);
  transform: translateY(-2px);
  box-shadow: 0 5px 20px rgba(255,153,0,0.5);
}

/* ===== MAIN CONTENT ===== */
main { max-width: 1200px; margin: 0 auto; padding: 30px 20px 100px; }

/* ===== SECTION HEADERS ===== */
.section-title {
  font-family: 'Orbitron', sans-serif;
  font-size: clamp(1.2rem, 3vw, 1.9rem);
  font-weight: 900;
  padding: 16px 24px;
  border-radius: 12px 12px 0 0;
  margin-top: 50px;
  letter-spacing: 1px;
  position: relative;
  overflow: hidden;
}
.section-title::before {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0; width: 6px;
  background: var(--saffron);
  border-radius: 6px 0 0 6px;
}

.st-blue   { background: linear-gradient(135deg, rgb(10,50,110), rgb(20,110,190)); border: 2px solid var(--border-glow); color: var(--text-crystal); }
.st-green  { background: linear-gradient(135deg, rgb(10,70,35),  rgb(20,150,70));  border: 2px solid var(--border-green); color: var(--text-crystal); }
.st-violet { background: linear-gradient(135deg, rgb(60,10,110), rgb(130,40,200)); border: 2px solid var(--light-violet); color: var(--text-crystal); }
.st-saffron{ background: linear-gradient(135deg, rgb(130,60,0),  rgb(220,110,0));  border: 2px solid var(--saffron); color: var(--text-crystal); }
.st-red    { background: linear-gradient(135deg, rgb(100,10,10), rgb(200,40,40));  border: 2px solid rgb(255,80,80); color: var(--text-crystal); }
.st-teal   { background: linear-gradient(135deg, rgb(0,80,100),  rgb(0,160,180));  border: 2px solid rgb(0,220,220); color: var(--text-crystal); }

/* ===== CARDS ===== */
.content-card {
  border-radius: 0 0 12px 12px;
  padding: 26px;
  margin-bottom: 10px;
}
.card-blue   { background: linear-gradient(160deg, rgb(12,35,80), rgb(8,55,110));   border: 2px solid var(--border-glow);  border-top: none; }
.card-green  { background: linear-gradient(160deg, rgb(8,40,20),  rgb(10,65,35));   border: 2px solid var(--border-green); border-top: none; }
.card-violet { background: linear-gradient(160deg, rgb(30,8,60),  rgb(55,15,100));  border: 2px solid var(--light-violet); border-top: none; }
.card-saffron{ background: linear-gradient(160deg, rgb(60,28,0),  rgb(100,50,5));   border: 2px solid var(--saffron); border-top: none; }
.card-red    { background: linear-gradient(160deg, rgb(55,8,8),   rgb(90,20,20));   border: 2px solid rgb(255,80,80); border-top: none; }
.card-teal   { background: linear-gradient(160deg, rgb(0,40,55),  rgb(0,70,90));    border: 2px solid rgb(0,220,220); border-top: none; }

/* ===== INTRO BOX ===== */
.intro-box {
  background: linear-gradient(135deg, rgb(10,40,80), rgb(20,80,150), rgb(60,10,100));
  border: 3px solid var(--border-glow);
  border-radius: 16px;
  padding: 28px;
  margin-bottom: 30px;
  margin-top: 20px;
  text-align: center;
  box-shadow: 0 0 40px rgba(0,200,255,0.2);
}
.intro-box p {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-crystal);
  line-height: 1.8;
}

/* ===== BULLET LISTS ===== */
ul.topic-list {
  list-style: none;
  padding: 0;
  margin: 10px 0;
}
ul.topic-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 14px;
  margin-bottom: 8px;
  border-radius: 8px;
  background: rgba(255,255,255,0.04);
  border-left: 4px solid var(--saffron);
  font-weight: 700;
  font-size: 0.97rem;
  transition: background 0.2s;
}
ul.topic-list li:hover { background: rgba(255,153,0,0.1); }
ul.topic-list li .bullet-icon { font-size: 1.2rem; flex-shrink: 0; margin-top: 2px; }
ul.topic-list li.green-border  { border-left-color: var(--light-green); }
ul.topic-list li.blue-border   { border-left-color: var(--light-blue); }
ul.topic-list li.violet-border { border-left-color: var(--light-violet); }
ul.topic-list li.red-border    { border-left-color: rgb(255,100,100); }

/* ===== SUB-HEADING ===== */
.sub-heading {
  font-family: 'Rajdhani', sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--saffron);
  margin: 20px 0 10px;
  padding-bottom: 6px;
  border-bottom: 2px dashed rgba(255,153,0,0.4);
  letter-spacing: 0.5px;
}
.sub-heading.green  { color: var(--light-green);  border-bottom-color: rgba(80,200,120,0.4); }
.sub-heading.violet { color: var(--light-violet); border-bottom-color: rgba(160,80,220,0.4); }
.sub-heading.blue   { color: rgb(100,200,255);    border-bottom-color: rgba(100,200,255,0.4); }
.sub-heading.red    { color: rgb(255,120,120);    border-bottom-color: rgba(255,80,80,0.4); }

/* ===== TABLES ===== */
.table-wrapper { overflow-x: auto; margin: 16px 0; border-radius: 10px; }

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.93rem;
  font-weight: 700;
}
thead tr {
  background: linear-gradient(135deg, var(--primary-blue), var(--light-blue));
}
thead th {
  padding: 12px 16px;
  text-align: left;
  color: white;
  font-family: 'Rajdhani', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  border: 1px solid rgba(0,200,255,0.3);
}
tbody tr { border-bottom: 1px solid rgba(0,200,255,0.15); }
tbody tr:nth-child(even) { background: rgba(255,255,255,0.04); }
tbody tr:hover           { background: rgba(0,200,255,0.08); }
tbody td {
  padding: 10px 16px;
  color: var(--text-crystal);
  border: 1px solid rgba(0,200,255,0.1);
  vertical-align: top;
}
.badge {
  display: inline-block;
  padding: 2px 12px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 800;
}
.badge-green  { background: rgba(20,150,80,0.3);  color: var(--light-green);  border: 1px solid var(--light-green); }
.badge-red    { background: rgba(200,30,30,0.3);  color: rgb(255,120,120);   border: 1px solid rgb(255,80,80); }
.badge-blue   { background: rgba(30,130,200,0.3); color: rgb(100,200,255);   border: 1px solid var(--light-blue); }
.badge-saffron{ background: rgba(255,153,0,0.3);  color: var(--saffron);     border: 1px solid var(--saffron); }
.badge-violet { background: rgba(100,30,160,0.3); color: var(--light-violet);border: 1px solid var(--light-violet); }

/* ===== TWO COLUMN GRID ===== */
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 12px 0; }
@media(max-width: 640px){ .two-col { grid-template-columns: 1fr; } }

.mini-card {
  border-radius: 10px;
  padding: 16px;
  border-width: 2px; border-style: solid;
}
.mini-card h4 {
  font-family: 'Rajdhani', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 10px;
}
.mini-card.pros  { background: rgba(10,80,30,0.3);  border-color: var(--light-green);  }
.mini-card.cons  { background: rgba(100,10,10,0.3); border-color: rgb(255,80,80);      }
.mini-card h4.pros-h { color: var(--light-green); }
.mini-card h4.cons-h { color: rgb(255,120,120); }

/* ===== SVG CONTAINERS ===== */
.svg-container {
  background: rgb(5,12,30);
  border-radius: 14px;
  border: 2px solid var(--border-glow);
  padding: 20px;
  margin: 20px 0;
  overflow-x: auto;
  box-shadow: 0 0 30px rgba(0,200,255,0.15);
}
.svg-container svg { display: block; margin: 0 auto; }
.svg-label {
  text-align: center;
  font-family: 'Orbitron', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--saffron);
  margin-bottom: 14px;
  letter-spacing: 1px;
}

/* ===== DISCLAIMER ===== */
.disclaimer {
  background: linear-gradient(135deg, rgb(80,50,0), rgb(120,70,0));
  border: 2px solid var(--saffron);
  border-radius: 12px;
  padding: 18px 24px;
  margin-top: 40px;
  font-size: 0.9rem;
  color: rgb(255,220,150);
  font-weight: 700;
  text-align: center;
}
.disclaimer strong { color: var(--saffron); font-size: 1rem; }

/* ===== FOOTER ===== */
footer {
  background: rgb(5,10,25);
  border-top: 3px solid var(--border-saffron);
  padding: 20px;
  text-align: center;
  font-size: 0.9rem;
  color: var(--saffron);
  font-weight: 700;
}

/* ===== PRINT STYLES ===== */
@media print {
  #main-header { position: static; }
  #nav-menu    { position: static; }
  #print-btn   { display: none !important; }
  body { background: white; color: black; }
  .section-title, .content-card, .intro-box, .svg-container,
  .mini-card, .disclaimer { border-color: #333 !important; }
  table, thead th, tbody td { color: black; background: white !important; }
}