/**
 * ============================================================================
 * Copyright (c) 2026 BAWASLU-M FH ULM. All Rights Reserved.
 * Badan Pengawas Pemilihan Umum Mahasiswa
 * Fakultas Hukum, Universitas Lambung Mangkurat
 *
 * PROPRIETARY & CONFIDENTIAL SOURCE CODE
 * ----------------------------------------------------------------------------
 * This software, web application, source code, scripts, styles, architecture,
 * and associated assets are the exclusive intellectual property of BAWASLU-M FH ULM.
 *
 * Any unauthorized copying, reproduction, distribution, scraping, decompilation,
 * reverse engineering, modification, or appropriation of this source code,
 * in whole or in part, is strictly prohibited and deemed highly unethical under
 * institutional, academic, and applicable intellectual property legal frameworks.
 * ============================================================================
 */

:root {

  --font-display: 'Space Grotesk', system-ui, -apple-system, sans-serif;
  --font-typewriter: 'Special Elite', 'Courier New', monospace;
  --font-body: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-sketch: 'Londrina Sketch', cursive, system-ui, sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 2rem;
  --text-4xl: 2.5rem;
  --text-5xl: 3.25rem;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;

  --radius-xs: 3px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 9999px;

  --transition-fast: 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
  --transition-smooth: 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  --transition-bounce: 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);

  --z-base: 1;
  --z-paper: 5;
  --z-pinned: 10;
  --z-string: 15;
  --z-pin-head: 20;
  --z-sticky-nav: 50;
  --z-modal: 100;
  --z-spotlight: 80;
  --z-toast: 110;
}

:root, [data-theme="dark"] {
  --theme-name: "dark";

  --bg-base: #121512;
  --bg-hub: #121512;
  --bg-hub-pattern: radial-gradient(#242B24 1.5px, transparent 1.5px);
  --card-hub-bg: #1B201B;
  --card-hub-border: #3A473A;
  --card-hub-shadow: 8px 12px 0px #0A0D0A, 0 20px 45px rgba(0, 0, 0, 0.6);

  --btn-hub-bg: #232A23;
  --btn-hub-color: #F5F2EA;
  --btn-hub-border: #3A473A;
  --btn-hub-shadow: 4px 4px 0px #0E120E;
  --btn-hub-hover-bg: #2F392F;
  --btn-hub-hover-shadow: 7px 7px 0px #0E120E;
  --btn-hub-featured-bg: #5B132A;
  --btn-hub-featured-color: #FFFFFF;
  --btn-hub-featured-border: #8A2244;
  --btn-hub-danger-bg: #421818;
  --btn-hub-danger-color: #FFD4D4;
  --btn-hub-danger-border: #6B2727;
  --badge-year-bg: #2C0E1A;
  --badge-year-color: #FCE4ED;
  --badge-year-border: #6B1733;

  --shiny-title-gradient: linear-gradient(
    115deg,
    #F5F2EA 0%,
    #F5F2EA 35%,
    #D4225B 45%,
    #FFFFFF 50%,
    #D4225B 55%,
    #F5F2EA 65%,
    #F5F2EA 100%
  );
  --shiny-title-shadow: drop-shadow(0 0 10px rgba(212, 34, 91, 0.5));

  --shiny-motto-gradient: linear-gradient(
    115deg,
    #F2D6DF 0%,
    #F2D6DF 35%,
    #D4225B 45%,
    #FFFFFF 50%,
    #D4225B 55%,
    #F2D6DF 65%,
    #F2D6DF 100%
  );
  --shiny-motto-shadow: drop-shadow(0 0 12px rgba(212, 34, 91, 0.65));

  --scrollbar-width: 9px;
  --scrollbar-track-bg: rgba(10, 13, 10, 0.75);
  --scrollbar-track-border: 1px solid rgba(255, 255, 255, 0.05);
  --scrollbar-thumb-bg: linear-gradient(180deg, #3A0D1B 0%, #7A1434 50%, #B81D4C 100%);
  --scrollbar-thumb-border: 1px solid rgba(212, 34, 91, 0.35);
  --scrollbar-thumb-hover: linear-gradient(180deg, #5A142A 0%, #B81D4C 45%, #FF2E74 100%);
  --scrollbar-thumb-glow: 0 0 14px rgba(212, 34, 91, 0.75);
  --scrollbar-laser-bg: linear-gradient(90deg, #5B132A 0%, #D4225B 40%, #FFFFFF 50%, #D4225B 60%, #5B132A 100%);
  --scrollbar-laser-glow: 0 0 12px rgba(212, 34, 91, 0.9), 0 0 24px rgba(212, 34, 91, 0.5);

  --bg-cork: #1E231E;
  --bg-board-mesh: #161A16;
  --bg-page-body: #141714;
  --bg-paper-cream: #1C211C;
  --bg-paper-light: #181C18;
  --bg-paper-dark: #222822;
  --bg-folder-manila: #283026;
  --bg-folder-tab: #323D30;
  --bg-card-pure: #1E241E;
  --bg-footer: #0C100C;
  --border-footer: #2D392C;

  --input-bg: #151A15;
  --input-border: #3A473A;
  --statute-bg: rgba(230, 74, 74, 0.12);
  --statute-border: #E64A4A;
  --statute-text: #FFD4D4;

  --brand-sage: #D4225B;
  --brand-sage-dark: #FF4D82;
  --brand-sage-light: #FF75A0;
  --brand-sage-soft: #3A1221;
  --brand-sage-ghost: #240B15;
  --text-on-sage-dark: #FFFFFF;

  --ink-primary: #F8F6F0;
  --ink-secondary: #CAD5C9;
  --ink-muted: #95A494;
  --ink-faint: #4E5A4E;

  --stamp-red: #E64A4A;
  --stamp-red-dark: #FF6B6B;
  --stamp-red-soft: rgba(230, 74, 74, 0.2);
  --pin-yellow: #FFD147;
  --pin-red: #FF5A65;
  --pin-blue: #4D79FF;
  --tape-color: rgba(210, 205, 185, 0.25);
  --string-red: #E64A4A;

  --border-ink: 2px solid var(--card-hub-border);
  --border-ink-thick: 3px solid var(--card-hub-border);
  --border-ink-thin: 1px solid var(--card-hub-border);
  --border-dashed: 2px dashed var(--ink-muted);

  --shadow-paper: 0 4px 12px rgba(0, 0, 0, 0.35);
  --shadow-paper-hover: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-pinned: 0 6px 16px rgba(0, 0, 0, 0.45);
  --shadow-brutal: 4px 4px 0px var(--card-hub-border);
  --shadow-brutal-lg: 6px 6px 0px var(--card-hub-border);

  --sticker-ulm-filter: grayscale(100%) contrast(1.18) brightness(1.05);
  --sticker-ulm-filter-hover: grayscale(100%) contrast(1.28) brightness(1.2);
}

[data-theme="light"] {
  --theme-name: "light";

  --bg-base: #FAF2F5;
  --bg-hub: linear-gradient(135deg, #180511 0%, #3B0920 30%, #6E0D3C 65%, #A81B5B 100%);
  --bg-hub-pattern: radial-gradient(rgba(255, 255, 255, 0.12) 1.5px, transparent 1.5px);
  --card-hub-bg: #FAF2F5;
  --card-hub-border: #2B0616;
  --card-hub-shadow: 8px 14px 0px #2B0616, 0 25px 50px rgba(110, 13, 60, 0.35);

  --btn-hub-bg: #F4E5ED;
  --btn-hub-color: #2B0616;
  --btn-hub-border: #2B0616;
  --btn-hub-shadow: 4px 4px 0px #2B0616;
  --btn-hub-hover-bg: #E8CADB;
  --btn-hub-hover-shadow: 7px 7px 0px #2B0616;
  --btn-hub-featured-bg: linear-gradient(135deg, #780F3B 0%, #AA1A5C 100%);
  --btn-hub-featured-color: #FFFFFF;
  --btn-hub-featured-border: #2B0616;
  --btn-hub-danger-bg: #FFE2EC;
  --btn-hub-danger-color: #940E40;
  --btn-hub-danger-border: #2B0616;
  --badge-year-bg: #FFF0F5;
  --badge-year-color: #780F3B;
  --badge-year-border: #2B0616;

  --shiny-title-gradient: linear-gradient(
    115deg,
    #2B0616 0%,
    #2B0616 35%,
    #9E1B5B 45%,
    #C2185B 50%,
    #9E1B5B 55%,
    #2B0616 65%,
    #2B0616 100%
  );
  --shiny-title-shadow: drop-shadow(0 2px 8px rgba(158, 27, 91, 0.25));

  --shiny-motto-gradient: linear-gradient(
    115deg,
    #780F3B 0%,
    #780F3B 35%,
    #B8216A 45%,
    #D97706 50%,
    #B8216A 55%,
    #780F3B 65%,
    #780F3B 100%
  );
  --shiny-motto-shadow: drop-shadow(0 2px 10px rgba(120, 15, 59, 0.3));

  --scrollbar-width: 9px;
  --scrollbar-track-bg: rgba(251, 244, 247, 0.85);
  --scrollbar-track-border: 1px solid rgba(43, 6, 22, 0.08);
  --scrollbar-thumb-bg: linear-gradient(180deg, #E28AA8 0%, #B8216A 50%, #780F3B 100%);
  --scrollbar-thumb-border: 1px solid rgba(43, 6, 22, 0.15);
  --scrollbar-thumb-hover: linear-gradient(180deg, #FF6699 0%, #E0115F 45%, #940E40 100%);
  --scrollbar-thumb-glow: 0 0 12px rgba(224, 17, 95, 0.6);
  --scrollbar-laser-bg: linear-gradient(90deg, #780F3B 0%, #E0115F 40%, #FFFFFF 50%, #E0115F 60%, #780F3B 100%);
  --scrollbar-laser-glow: 0 0 10px rgba(224, 17, 95, 0.75), 0 0 20px rgba(224, 17, 95, 0.4);

  --bg-cork: #F5E8EE;
  --bg-board-mesh: #EED7E2;
  --bg-page-body: #FCF8FA;
  --bg-paper-cream: #FAF2F5;
  --bg-paper-light: #FFFFFF;
  --bg-paper-dark: #F2E1E8;
  --bg-folder-manila: #F7E4EC;
  --bg-folder-tab: #EDD1DE;
  --bg-card-pure: #FFFFFF;
  --bg-footer: #220B16;
  --border-footer: #4D1832;

  --input-bg: #FFFFFF;
  --input-border: #2B0616;
  --statute-bg: #FFF0E5;
  --statute-border: #E05600;
  --statute-text: #612500;

  --brand-sage: #9E1B5B;
  --brand-sage-dark: #6E0D3C;
  --brand-sage-light: #C22A72;
  --brand-sage-soft: #FCE8F1;
  --brand-sage-ghost: #FFF2F7;
  --text-on-sage-dark: #FFFFFF;

  --ink-primary: #2B0616;
  --ink-secondary: #4A122B;
  --ink-muted: #5E1738;
  --ink-faint: #7A2A50;

  --stamp-red: #D11D4E;
  --stamp-red-dark: #9C0E35;
  --stamp-red-soft: #FDE8F0;
  --pin-yellow: #E5A912;
  --pin-red: #D11D4E;
  --pin-blue: #6A1B9A;
  --tape-color: rgba(245, 220, 230, 0.7);
  --string-red: #B81347;

  --border-ink: 2px solid var(--ink-primary);
  --border-ink-thick: 3px solid var(--ink-primary);
  --border-ink-thin: 1px solid var(--ink-primary);
  --border-dashed: 2px dashed var(--ink-muted);

  --shadow-paper: 0 4px 12px rgba(43, 6, 22, 0.08);
  --shadow-paper-hover: 0 12px 28px rgba(43, 6, 22, 0.16);
  --shadow-pinned: 3px 8px 20px rgba(43, 6, 22, 0.22);
  --shadow-brutal: 4px 4px 0px var(--ink-primary);
  --shadow-brutal-lg: 6px 6px 0px var(--ink-primary);

  --sticker-ulm-filter: grayscale(100%) brightness(0.8) sepia(100%) hue-rotate(292deg) saturate(480%);
  --sticker-ulm-filter-hover: grayscale(100%) brightness(0.95) sepia(100%) hue-rotate(292deg) saturate(550%);
}
