/* ============================================================
   HIEx4 Presentations - Custom Branding Theme
   Cyber Green (#8DC944) + Ultra-Dark + Glassmorphism
   Injected via volume mount over Claper's custom.css
   ============================================================ */

/* ----------------------------------------------------------
   SECTION 0: Preserved third-party styles (tiny-slider + tourguide)
   These were in the original custom.css and are required
   ---------------------------------------------------------- */
.tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{-webkit-transition:all 0s;-moz-transition:all 0s;transition:all 0s}.tns-slider>.tns-item{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:"";display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left}.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item{margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;-webkit-transition:transform 0s,opacity 0s;-moz-transition:transform 0s,opacity 0s;transition:transform 0s,opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:auto !important}.tns-gallery>.tns-moving{-webkit-transition:all .25s;-moz-transition:all .25s;transition:all .25s}.tns-autowidth{display:inline-block}.tns-lazy-img{-webkit-transition:opacity .6s;-moz-transition:opacity .6s;transition:opacity .6s;opacity:.6}.tns-lazy-img.tns-complete{opacity:1}.tns-ah{-webkit-transition:height 0s;-moz-transition:height 0s;transition:height 0s}.tns-ovh{overflow:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-vpfix{white-space:nowrap}.tns-vpfix>div,.tns-vpfix>li{display:inline-block}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333333%;width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:"";display:table;clear:both}.tns-t-ct>div{width:1.4285714286%;width:calc(100% / 70);height:10px;float:left}

[data-tg-tour]{scroll-margin:30px 0}.tg-backdrop{position:absolute;align-items:center;justify-content:center;display:none;z-index:99;border-radius:7px;box-shadow:rgba(33,33,33,.8) 0 0 1px 2px,rgba(33,33,33,.8) 0 0 0 1000vh;border:1px solid rgba(141,201,68,.3);top:50vh;left:50vw;width:0;height:0}.tg-backdrop.tg-backdrop-animate{transition:all 300ms}.tg-dialog{border-radius:12px;animation-delay:100ms;min-height:120px;background:#151518;color:#e0e0e0;max-width:340px;width:max-content;z-index:9999;display:none;position:absolute;top:0;left:0;padding:0;font-size:.9rem}.tg-dialog .tg-dialog-header{display:flex;align-items:center;padding:25px 25px 0 25px}.tg-dialog .tg-dialog-header .tg-dialog-title{font-size:1rem;font-weight:700;margin-right:auto;color:#8DC944}.tg-dialog .tg-dialog-header .tg-dialog-title+.tg-dialog-body{padding:18.75px 25px 18.75px 25px}.tg-dialog .tg-dialog-header .tg-dialog-close-btn{width:12px;height:12px;margin-left:10px;opacity:.4;cursor:pointer;white-space:nowrap}.tg-dialog .tg-dialog-header .tg-dialog-close-btn:hover{opacity:.8}.tg-dialog .tg-dialog-header .tg-dialog-close-btn:focus{opacity:1}.tg-dialog .tg-dialog-header .tg-dialog-spinner{display:none;opacity:.4;margin-top:-1px;animation:tg-spin 1s linear infinite}@keyframes tg-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.tg-dialog .tg-dialog-progress-bar{background:#1a1a1f;height:5px;display:block;margin-top:18.75px;position:relative}.tg-dialog .tg-dialog-progress-bar>.tg-bar{position:absolute;top:0;left:0;min-width:4px;background:#8DC944;height:100%;display:block;transition:all 300ms}.tg-dialog .tg-dialog-body{padding:25px;font-weight:400}.tg-dialog .tg-dialog-dots{display:flex;align-items:center;justify-content:center;padding:15px 0;margin-bottom:10px;border-top:1px solid #2a2a30;border-bottom:1px solid #2a2a30}.tg-dialog .tg-dialog-dots>span.tg-dot{display:inline-block;width:9px;height:9px;background:#3a3a42;border-radius:12px;margin:0 4px}.tg-dialog .tg-dialog-dots>span.tg-dot.tg-dot-active{background:#8DC944}.tg-dialog .tg-dialog-footer{padding:12.5px 25px 25px 25px;display:flex;align-items:center}.tg-dialog .tg-dialog-footer button.tg-dialog-btn{padding:5px 10px;border:1px solid #3a3a42;color:#a0a0a8;border-radius:4px;font-weight:500;font-size:.82rem;white-space:nowrap}.tg-dialog .tg-dialog-footer button.tg-dialog-btn+button{margin-left:auto}.tg-dialog .tg-dialog-footer button.tg-dialog-btn.disabled{pointer-events:none;opacity:.6}.tg-dialog .tg-dialog-footer button.tg-dialog-btn:hover{color:#d0d0d8;border:1px solid #8DC944;outline:none;box-shadow:none}.tg-dialog .tg-dialog-footer button.tg-dialog-btn:focus{outline:none;box-shadow:none}.tg-dialog .tg-dialog-footer button.tg-dialog-btn:active{color:#8DC944;background:rgba(141,201,68,.1);border:1px solid #8DC944;outline:none;box-shadow:none}.tg-dialog .tg-dialog-footer .tg-dialog-footer-sup{margin:0 auto;padding:0 10px;text-align:center;line-height:1}.tg-dialog .tg-dialog-footer .tg-dialog-footer-sup .tg-step-progress{font-size:.78rem;font-weight:700;margin:0 auto;opacity:.4;letter-spacing:1px;display:inline-block}.tg-dialog .tg-dialog-footer .tg-dialog-footer-sup .tg-dialog-dots{padding:0;margin:0;border:none}.tg-dialog .tg-dialog-footer .tg-dialog-footer-sup .tg-dialog-dots>span.tg-dot{width:8px;height:8px;margin:0 3px}.tg-dialog .tg-dialog-footer .tg-dialog-footer-sup .tg-dialog-dots+.tg-step-progress{margin-top:10px;font-size:.68rem}.tg-dialog .tg-arrow{position:absolute;background:#151518;width:9px;height:9px;border-radius:1px;transform:rotate(45deg)}.tg-dialog.tg-dialog-fixed{transition:none;animation-delay:0ms}.tg-dialog.animate-position{transition:all 300ms}

/* ----------------------------------------------------------
   SECTION 1: Font Declarations (self-hosted)
   ---------------------------------------------------------- */
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/fonts/Sora/Sora-Variable.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(/fonts/Sora/Sora-Variable-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/Inter/Inter-Variable.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/Inter/Inter-Variable-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ----------------------------------------------------------
   SECTION 2: CSS Custom Property Overrides
   Claper's theme.css defines these via @theme.
   We redeclare on :root to win the cascade.
   ---------------------------------------------------------- */
:root {
  /* Primary: Cyber Green palette */
  --color-primary-50: #f4fbe8;
  --color-primary-100: #e5f5cc;
  --color-primary-200: #cceb9e;
  --color-primary-300: #b3e170;
  --color-primary-400: #9dd556;
  --color-primary-500: #8DC944;
  --color-primary-600: #74a838;
  --color-primary-700: #5b872c;
  --color-primary-800: #436620;
  --color-primary-900: #2b4514;

  /* Secondary: Midnight Blue palette */
  --color-secondary-50: #e8eaed;
  --color-secondary-100: #c5c9d1;
  --color-secondary-200: #9ea5b3;
  --color-secondary-300: #778195;
  --color-secondary-400: #59667e;
  --color-secondary-500: #3b4b67;
  --color-secondary-600: #2d3a52;
  --color-secondary-700: #1f293d;
  --color-secondary-800: #111828;
  --color-secondary-900: #05070A;

  /* Neutral: Deep Charcoal palette */
  --color-neutral-50: #e8e8e9;
  --color-neutral-100: #c5c5c7;
  --color-neutral-200: #9e9ea1;
  --color-neutral-300: #77777b;
  --color-neutral-400: #59595e;
  --color-neutral-500: #3b3b41;
  --color-neutral-600: #2d2d33;
  --color-neutral-700: #1f1f25;
  --color-neutral-800: #141418;
  --color-neutral-900: #0A0A0C;

  /* Supporting colors */
  --color-red-500: #e74c3c;
  --color-yellow-500: #f1c40f;
  --color-green-500: #8DC944;

  /* Fonts */
  --font-family-sans: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --font-family-serif: 'Inter', ui-serif, Georgia, serif;
  --font-display: 'Sora', ui-sans-serif, system-ui, sans-serif;

  /* Shadows (increased opacity for dark backgrounds) */
  --shadow-base: 0 1px 3px rgba(0, 0, 0, 0.4), 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4), 0 2px 4px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5), 0 4px 6px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.5), 0 10px 10px rgba(0, 0, 0, 0.3);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.6);
}

/* ----------------------------------------------------------
   SECTION 3: Ultra-Dark Base Theme
   ---------------------------------------------------------- */
html {
  background-color: #0A0A0C !important;
}

body {
  background-color: #0A0A0C !important;
  color: #e0e0e5 !important;
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
}

/* Headlines use Sora */
h1, h2, h3, h4, h5, h6,
.text-2xl, .text-3xl, .text-4xl, .text-5xl {
  font-family: 'Sora', ui-sans-serif, system-ui, sans-serif !important;
}

/* Global font override */
*, *::before, *::after {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
}

/* ----------------------------------------------------------
   SECTION 4: Glassmorphism Components
   ---------------------------------------------------------- */

/* Cards and white backgrounds -> glassmorphism */
.bg-white,
[class*="bg-white"] {
  background: rgba(20, 20, 26, 0.85) !important;
  backdrop-filter: blur(20px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(120%) !important;
  border: 1px solid rgba(141, 201, 68, 0.08) !important;
  color: #e0e0e5 !important;
}

/* Modals */
.phx-modal-content,
[class*="modal"] [class*="bg-white"],
[role="dialog"] [class*="bg-white"] {
  background: rgba(20, 20, 26, 0.92) !important;
  backdrop-filter: blur(24px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(130%) !important;
  border: 1px solid rgba(141, 201, 68, 0.12) !important;
}

/* Cards with shadow+rounded pattern */
[class*="rounded-lg"][class*="shadow"],
[class*="rounded-xl"][class*="shadow"],
[class*="rounded-2xl"][class*="shadow"] {
  background: rgba(20, 20, 26, 0.85) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
  border: 1px solid rgba(141, 201, 68, 0.06) !important;
}

/* Dropdowns and popovers */
[class*="dropdown"][class*="bg-white"],
[class*="menu"][class*="bg-white"] {
  background: rgba(20, 20, 26, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

/* ----------------------------------------------------------
   SECTION 5: Form Elements
   ---------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="number"],
input[type="tel"],
textarea,
select {
  background: rgba(20, 20, 26, 0.7) !important;
  border: 1px solid rgba(141, 201, 68, 0.15) !important;
  color: #e0e0e5 !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input:focus,
textarea:focus,
select:focus {
  border-color: #8DC944 !important;
  box-shadow: 0 0 0 3px rgba(141, 201, 68, 0.15) !important;
  outline: none !important;
}

input::placeholder,
textarea::placeholder {
  color: rgba(224, 224, 229, 0.35) !important;
}

/* Checkboxes and toggles */
input[type="checkbox"]:checked,
.toggle:checked {
  background-color: #8DC944 !important;
  border-color: #8DC944 !important;
}

/* ----------------------------------------------------------
   SECTION 6: Buttons
   ---------------------------------------------------------- */

/* Primary buttons */
[class*="bg-primary"],
.btn-primary,
button[class*="bg-primary"] {
  background-color: #8DC944 !important;
  color: #0A0A0C !important;
  font-weight: 600;
  transition: all 0.2s ease;
}

[class*="bg-primary"]:hover,
.btn-primary:hover {
  background-color: #74a838 !important;
  box-shadow: 0 0 20px rgba(141, 201, 68, 0.25) !important;
}

/* Secondary/outline buttons */
[class*="border-primary"] {
  border-color: #8DC944 !important;
  color: #8DC944 !important;
}

/* Ghost buttons */
[class*="bg-gray"],
[class*="bg-neutral"] {
  background: rgba(255, 255, 255, 0.05) !important;
  color: #e0e0e5 !important;
}

[class*="bg-gray"]:hover,
[class*="bg-neutral"]:hover {
  background: rgba(141, 201, 68, 0.1) !important;
}

/* ----------------------------------------------------------
   SECTION 7: Text Colors
   ---------------------------------------------------------- */
.text-gray-500,
.text-gray-600,
.text-gray-700 {
  color: #9e9ea1 !important;
}

.text-gray-800,
.text-gray-900,
.text-black {
  color: #e0e0e5 !important;
}

.text-gray-400 {
  color: #77777b !important;
}

/* Links */
a {
  color: #8DC944;
  transition: color 0.15s ease;
}

a:hover {
  color: #a8da6a;
}

/* Preserve white text where needed */
.text-white {
  color: #ffffff !important;
}

/* ----------------------------------------------------------
   SECTION 8: Navigation & Sidebar
   ---------------------------------------------------------- */
nav,
[class*="sidebar"],
[class*="navbar"],
header {
  background: rgba(10, 10, 12, 0.9) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-color: rgba(141, 201, 68, 0.08) !important;
}

/* ----------------------------------------------------------
   SECTION 9: Background Particles (recolored)
   Original: blue (#14bfdb), purple (#8611ed, #b80fef)
   New: green tones matching Cyber Green
   ---------------------------------------------------------- */
.background span:nth-child(1){color:rgba(141,201,68,.4) !important}
.background span:nth-child(2){color:rgba(91,135,44,.3) !important}
.background span:nth-child(3){color:rgba(141,201,68,.2) !important}
.background span:nth-child(4){color:rgba(116,168,56,.35) !important}
.background span:nth-child(5){color:rgba(141,201,68,.25) !important}
.background span:nth-child(6){color:rgba(91,135,44,.2) !important}
.background span:nth-child(7){color:rgba(141,201,68,.3) !important}
.background span:nth-child(8){color:rgba(116,168,56,.2) !important}
.background span:nth-child(9){color:rgba(141,201,68,.15) !important}
.background span:nth-child(10){color:rgba(91,135,44,.25) !important}
.background span:nth-child(11){color:rgba(141,201,68,.3) !important}
.background span:nth-child(12){color:rgba(116,168,56,.2) !important}
.background span:nth-child(13){color:rgba(141,201,68,.15) !important}
.background span:nth-child(14){color:rgba(91,135,44,.2) !important}
.background span:nth-child(15){color:rgba(116,168,56,.25) !important}
.background span:nth-child(16){color:rgba(141,201,68,.2) !important}
.background span:nth-child(17){color:rgba(91,135,44,.15) !important}
.background span:nth-child(18){color:rgba(141,201,68,.2) !important}
.background span:nth-child(19){color:rgba(116,168,56,.15) !important}
.background span:nth-child(20){color:rgba(91,135,44,.2) !important}

.background span {
  opacity: 0.12 !important;
}

/* Background gradient override */
.bg-gradient-animate,
[class*="bg-gradient"] {
  background: linear-gradient(135deg, #0A0A0C 0%, #05070A 50%, #0d1a0a 100%) !important;
}

/* ----------------------------------------------------------
   SECTION 10: Misc UI Fixes
   ---------------------------------------------------------- */

/* Dividers */
hr,
[class*="border-gray"],
[class*="divide-gray"] > * + * {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

/* Badges / Tags */
[class*="badge"],
[class*="tag"] {
  background: rgba(141, 201, 68, 0.12) !important;
  color: #8DC944 !important;
  border: 1px solid rgba(141, 201, 68, 0.2) !important;
}

/* Tables */
table {
  color: #e0e0e5 !important;
}

th {
  color: #8DC944 !important;
  border-color: rgba(141, 201, 68, 0.15) !important;
}

td {
  border-color: rgba(255, 255, 255, 0.06) !important;
}

tr:hover td {
  background: rgba(141, 201, 68, 0.04) !important;
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #0A0A0C;
}

::-webkit-scrollbar-thumb {
  background: #2d2d33;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #3b3b41;
}

/* Selection */
::selection {
  background: rgba(141, 201, 68, 0.3);
  color: #ffffff;
}

/* Tooltips */
[class*="tooltip"] {
  background: rgba(20, 20, 26, 0.95) !important;
  color: #e0e0e5 !important;
  border: 1px solid rgba(141, 201, 68, 0.1) !important;
}

/* Flash messages */
[class*="alert-info"],
.flash-info {
  background: rgba(141, 201, 68, 0.1) !important;
  border: 1px solid rgba(141, 201, 68, 0.2) !important;
  color: #8DC944 !important;
}

[class*="alert-error"],
.flash-error {
  background: rgba(231, 76, 60, 0.1) !important;
  border: 1px solid rgba(231, 76, 60, 0.2) !important;
  color: #e74c3c !important;
}

/* Loading states */
.phx-loading {
  opacity: 0.7;
}

/* Arrow box (polls/interactions) */
.arrow_box {
  background: rgba(20, 20, 26, 0.9) !important;
  border-color: rgba(141, 201, 68, 0.12) !important;
}

.arrow_box:after {
  border-color: rgba(20, 20, 26, 0.9) transparent transparent transparent !important;
}

/* ----------------------------------------------------------
   SECTION 11: Presentation Specific
   ---------------------------------------------------------- */

/* Presenter controls */
[class*="presenter"] {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
}

/* Event code display */
[class*="tracking-wider"],
[class*="tracking-widest"] {
  font-family: 'Sora', ui-sans-serif, system-ui, sans-serif !important;
  color: #8DC944 !important;
}

/* Slide counter / progress */
[class*="slide-count"],
[class*="progress"] {
  color: rgba(141, 201, 68, 0.8) !important;
}

/* ----------------------------------------------------------
   SECTION 12: DaisyUI Component Overrides
   ---------------------------------------------------------- */

/* DaisyUI toggle */
.toggle {
  --tglbg: #2d2d33;
  border-color: #3b3b41;
}

.toggle:checked {
  --tglbg: #8DC944;
  border-color: #8DC944;
}

/* DaisyUI focus rings */
.btn:focus-visible,
.input:focus-visible,
.select:focus-visible,
.textarea:focus-visible {
  outline-color: #8DC944 !important;
  outline-offset: 2px;
}

/* ----------------------------------------------------------
   SECTION 13: Keyframe Animation (preserved from original)
   ---------------------------------------------------------- */
@keyframes move {
  100% {
    transform: translate3d(0, 0, 1px) rotate(360deg);
  }
}
