/* --- LOCAL NERD FONTS (PROTOCOLO EREMITA) --- */
@font-face { font-family: 'TVA-Font'; src: url('../assets/fonts/3270NerdFontMono-Regular.ttf') format('truetype'); }
@font-face { font-family: 'IBM-Font'; src: url('../assets/fonts/BlexMonoNerdFont-Text.ttf') format('truetype'); }
@font-face { font-family: 'Journal-Font'; src: url('../assets/fonts/iMWritingMonoNerdFont-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Terminal-Font'; src: url('../assets/fonts/0xProtoNerdFont-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Main-Text'; src: url('../assets/fonts/JetBrainsMonoNLNerdFont-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Symbols-Font'; src: url('../assets/fonts/SymbolsNerdFontMono-Regular.ttf') format('truetype'); }

/* --- DICIONÁRIO DE ÍCONES (METÁFORAS CORRIGIDAS) --- */
.ph {
    font-family: 'Symbols-Font' !important;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    display: inline-block;
    text-align: center;
    width: 1.2em;
    -webkit-font-smoothing: antialiased;
}

.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    fill: currentColor;
    vertical-align: -0.125em;
}

/* --- MAPEAMENTO VISUAL (PENTE FINO) --- */

/* 1. Solzinho (Temas/Contraste) */
.ph-sun-dim::before         { content: "\f0599"; } 

/* 2. Marcador de Página (.skrBooks) */
.ph-book-open-text::before  { content: "\f02e"; } 

/* 3. A Bomba (HUD Superior - Metáfora de Detonação/Hard Reset) */
.ph-skull::before { 
    content: "\f05c2"; /* nf-md-bomb */
}
/* 4. O Quadro/Frame (Full Screen) */
.ph-corners-out::before     { content: "\f0656"; } 

/* 5. Fontes (O "A" literal) */
.ph-text-aa::before         { content: "\f031"; } 

/* 6. Bloqueio (O Cadeado) */
.ph-lock-key::before        { content: "\f033e"; } 

/* --- OUTROS ÍCONES DE APOIO --- */
.ph-caret-right::before     { content: "\f054"; } 
.ph-folder-open::before     { content: "\f0770"; } 
.ph-list-bullets::before    { content: "\f0ca"; } 
.ph-notepad::before         { content: "\f0219"; } 
.ph-upload-simple::before   { content: "\f093"; } 
.ph-minus::before           { content: "\f068"; } 
.ph-plus::before            { content: "\f067"; } 
.ph-floppy-disk::before     { content: "\f0c7"; } 
.ph-magnifying-glass::before{ content: "\f002"; } 
.ph-speaker-high::before    { content: "\f028"; } 
.ph-package::before         { content: "\f0387"; } 
.ph-file-text::before       { content: "\f15c"; } 
.ph-file::before            { content: "\f016"; } 
.ph-warning::before         { content: "\f071"; } 

/* --- VARIÁVEIS GERAIS --- */
:root {
  --hud-w: 60px;
  --drawer-w: 300px;
  --gap: 20px;
  --controls-h: 42px;
  --transition-speed: 0.3s;
  --glass-blur: blur(12px);
  --shadow-float: 0 6px 20px rgba(0, 0, 0, 0.18);
  --page-height: 1120px;
  --font-display: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-body: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-quote: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-ui: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* 1. TEMA PAPEL EDITORIAL (default) */
:root {
  --bg-core: #d7d6d1;
  --bg-panel: transparent;
  --bg-drawer: rgba(215, 214, 209, 0.94);
  --bg-xray: #dfddd7;
  --bg-controls: rgba(215, 214, 209, 0.82);
  --xray-surface: rgba(43, 42, 38, 0.04);
  --xray-border: 1px solid rgba(43, 42, 38, 0.12);
  --color-accent: #5a5956;
  --color-accent-dim: rgba(90, 89, 86, 0.16);
  --color-text: #3a3935;
  --color-muted: rgba(58, 57, 53, 0.5);
  --border-style: 1px solid rgba(43, 42, 38, 0.12);
  --grid-opacity: 0.03;
  --font-ui: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-main: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-mono: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --radius: 6px;
  --selection-bg: #202123;
  --selection-text: #f2f1ed;
}

[data-theme="paper"] {
  --bg-core: #d7d6d1;
  --bg-panel: transparent;
  --bg-drawer: rgba(215, 214, 209, 0.94);
  --bg-xray: #dfddd7;
  --bg-controls: rgba(215, 214, 209, 0.82);
  --xray-surface: rgba(43, 42, 38, 0.04);
  --xray-border: 1px solid rgba(43, 42, 38, 0.12);
  --color-accent: #5a5956;
  --color-accent-dim: rgba(90, 89, 86, 0.16);
  --color-text: #3a3935;
  --color-muted: rgba(58, 57, 53, 0.5);
  --border-style: 1px solid rgba(43, 42, 38, 0.12);
  --grid-opacity: 0.03;
  --selection-bg: #202123;
  --selection-text: #f2f1ed;
  --search-bg: #202123;
  --search-text: #f2f1ed;
}

/* 2. CHUMBO EDITORIAL */
[data-theme="chumbo"] {
  --bg-core: #2f3133;
  --bg-panel: transparent;
  --bg-drawer: #34363a;
  --bg-xray: #35373c;
  --bg-controls: #34363a;
  --xray-surface: rgba(231, 234, 242, 0.04);
  --xray-border: 1px solid rgba(231, 234, 242, 0.08);
  --color-text: #e6e6e6;
  --color-accent: #c7c7c7;
  --color-accent-dim: rgba(199, 199, 199, 0.2);
  --color-muted: #b1b1b1;
  --border-style: 1px solid rgba(199, 199, 199, 0.14);
  --grid-opacity: 0.035;
  --selection-bg: rgba(199, 199, 199, 0.26);
  --selection-text: #2f3133;
  --search-bg: rgba(199, 199, 199, 0.26);
  --search-text: #2f3133;
  --radius: 2px;
}

/* 3. VERDE DE ESTUDO */
[data-theme="study"] {
  --bg-core: #2b1c12;
  --bg-panel: transparent;
  --bg-drawer: rgba(43, 28, 18, 0.88);
  --bg-xray: #2f1f14;
  --bg-controls: rgba(43, 28, 18, 0.82);
  --xray-surface: rgba(240, 166, 74, 0.08);
  --xray-border: 1px solid rgba(240, 166, 74, 0.18);
  --color-text: #f0a64a;
  --color-accent: #e08f3a;
  --color-accent-dim: rgba(224, 143, 58, 0.22);
  --color-muted: rgba(240, 166, 74, 0.58);
  --border-style: 1px solid rgba(240, 166, 74, 0.18);
  --grid-opacity: 0.06;
  --selection-bg: rgba(224, 143, 58, 0.22);
  --selection-text: #1f140d;
  --search-bg: rgba(224, 143, 58, 0.22);
  --search-text: #1f140d;
}

/* 3. IBM DARK */
[data-theme="ibm-dark"] {
  --bg-core: #222429;            
  --bg-panel: transparent; 
  --bg-drawer: rgba(29, 31, 36, 0.9);
  --bg-xray: #1b1d21;
  --bg-controls: rgba(29, 31, 36, 0.78);
  --xray-surface: rgba(255, 255, 255, 0.06);
  --xray-border: 1px solid rgba(255, 255, 255, 0.12);
  --color-text: #e7e2da;         
  --color-accent: #b7a89a;       
  --color-accent-dim: rgba(183, 168, 154, 0.18);
  --color-muted: #a59a90;        
  --border-style: 1px solid rgba(183, 168, 154, 0.18);
  --grid-opacity: 0.05;
  --font-ui: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-main: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-mono: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --radius: 4px; 
  --selection-bg: rgba(183, 168, 154, 0.3);
  --selection-text: #1c1a18;
}

/* 4. IBM BLUE */
[data-theme="ibm-blue"] {
  --bg-core: #2a2e33;            
  --bg-panel: transparent; 
  --bg-drawer: rgba(30, 33, 38, 0.9);
  --bg-xray: #1c2026;
  --bg-controls: rgba(30, 33, 38, 0.78);
  --xray-surface: rgba(255, 255, 255, 0.06);
  --xray-border: 1px solid rgba(255, 255, 255, 0.12);
  --color-text: #e7e2da;      
  --color-accent: #b7a89a;      
  --color-accent-dim: rgba(183, 168, 154, 0.18);
  --color-muted: #a59a90;        
  --border-style: 1px solid rgba(183, 168, 154, 0.18);
  --grid-opacity: 0.05;
  --font-ui: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-main: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-mono: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --radius: 4px; 
  --selection-bg: rgba(183, 168, 154, 0.3);
  --selection-text: #1c1a18;
}

/* 5. JORNAL THEME */
[data-theme="journal"] {
  --bg-core: #f1eee6;
  --bg-panel: transparent;
  --bg-drawer: rgba(241, 238, 230, 0.92);
  --bg-xray: #f4f1ea;
  --bg-controls: rgba(241, 238, 230, 0.82);
  --xray-surface: rgba(0, 0, 0, 0.04);
  --xray-border: 1px solid rgba(0, 0, 0, 0.12);
  --color-text: #2b2622; 
  --color-accent: #6d6155; 
  --color-accent-dim: rgba(109, 97, 85, 0.12);
  --color-muted: rgba(43, 38, 34, 0.5);
  --border-style: 1px solid rgba(109, 97, 85, 0.18);
  --grid-opacity: 0.02;
  --font-ui: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-main: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-mono: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --radius: 4px; 
  --selection-bg: rgba(109, 97, 85, 0.22);
  --selection-text: #f7f4ee;
}

/* 6. TERMINAL THEME */
[data-theme="terminal"] {
  --bg-core: #0b0f0b;
  --bg-panel: transparent;
  --bg-drawer: rgba(9, 14, 9, 0.92);
  --bg-xray: #0b120b;
  --bg-controls: rgba(9, 14, 9, 0.82);
  --xray-surface: rgba(255, 255, 255, 0.04);
  --xray-border: 1px solid rgba(255, 255, 255, 0.12);
  --color-text: #b8e2b6; 
  --color-accent: #9fd6a1;
  --color-accent-dim: rgba(159, 214, 161, 0.14);
  --color-muted: #6f9a73;
  --border-style: 1px solid rgba(159, 214, 161, 0.2);
  --grid-opacity: 0.08;
  --font-ui: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-main: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-mono: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --radius: 4px;
  --selection-bg: rgba(159, 214, 161, 0.28);
  --selection-text: #0b0f0b;
}

/* 7. AMBER INVERT */
[data-theme="amber-invert"] {
  --bg-core: #f2a43b;
  --bg-panel: transparent;
  --bg-drawer: rgba(242, 164, 59, 0.88);
  --bg-xray: #f2a43b;
  --bg-controls: rgba(242, 164, 59, 0.82);
  --xray-surface: rgba(0, 0, 0, 0.08);
  --xray-border: 1px solid rgba(0, 0, 0, 0.2);
  --color-text: #24160f;
  --color-accent: #24160f;
  --color-accent-dim: rgba(36, 22, 15, 0.18);
  --color-muted: rgba(36, 22, 15, 0.55);
  --border-style: 1px solid rgba(36, 22, 15, 0.18);
  --grid-opacity: 0.12;
  --font-ui: "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-main: "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --radius: 4px;
  --selection-bg: rgba(255, 214, 154, 0.7);
  --selection-text: #24160f;
  --search-bg: rgba(255, 214, 154, 0.7);
  --search-text: #24160f;
  --select-bg: #f2a43b;
  --select-text: #24160f;
}

/* 8. INK DARK (INVERTED GRAY) */
[data-theme="ink-dark"] {
  --bg-core: #1a1a1a;
  --bg-panel: transparent;
  --bg-drawer: rgba(28, 28, 28, 0.92);
  --bg-xray: #1c1c1c;
  --bg-controls: rgba(28, 28, 28, 0.86);
  --xray-surface: rgba(255, 255, 255, 0.05);
  --xray-border: 1px solid rgba(255, 255, 255, 0.14);
  --color-text: #cfcfcf;
  --color-accent: #e0e0e0;
  --color-accent-dim: rgba(224, 224, 224, 0.18);
  --color-muted: rgba(207, 207, 207, 0.55);
  --border-style: 1px solid rgba(224, 224, 224, 0.18);
  --grid-opacity: 0.08;
  --font-ui: "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-main: "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --radius: 2px;
  --selection-bg: rgba(224, 224, 224, 0.45);
  --selection-text: #1a1a1a;
}

/* --- COMPORTAMENTO --- */
* { box-sizing: border-box; outline: none !important; scrollbar-width: none; }

* {
  scrollbar-width: none;
}
*::-webkit-scrollbar {
  width: 0;
  height: 0;
}

html, body {
  height: 100%; width: 100%; margin: 0; overflow: hidden;
  font-family: var(--font-body); color: var(--color-text); background: var(--bg-core);
  transition: background var(--transition-speed) cubic-bezier(0.4, 0, 0.2, 1), 
              color var(--transition-speed) cubic-bezier(0.4, 0, 0.2, 1);
}

body::before {
  content: ""; position: fixed; inset: 0; z-index: -5;
  background-image: none;
  opacity: var(--grid-opacity); pointer-events: none;
  filter: grayscale(10%); 
}
body.booting::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 200;
  background: repeating-linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.04),
    rgba(255, 255, 255, 0.04) 1px,
    rgba(0, 0, 0, 0.06) 2px,
    rgba(0, 0, 0, 0.06) 3px
  );
  mix-blend-mode: soft-light;
  pointer-events: none;
  animation: bootFlicker 1.2s ease forwards;
}
@keyframes bootFlicker {
  0% { opacity: 0; }
  25% { opacity: 0.35; }
  60% { opacity: 0.18; }
  100% { opacity: 0; }
}

mark { background-color: var(--search-bg, var(--selection-bg)); color: var(--search-text, var(--selection-text)); padding: 2px 4px; border-radius: 2px; }
mark.search-active { box-shadow: 0 0 0 2px var(--color-accent-dim); }
[data-theme="paper"] mark { color: #f2efe8; }
[data-theme="chumbo"] mark { background-color: var(--search-bg, var(--selection-bg)); color: var(--search-text, var(--selection-text)); }
[data-theme="study"] mark { background-color: var(--search-bg, var(--selection-bg)); color: var(--search-text, var(--selection-text)); }

#editor {
    -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto;
    text-align: left;
    font-family: var(--font-main);
}
#editor ::selection {
    background: var(--selection-bg);
    color: var(--selection-text);
}
#editor.font-inter {
    font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
    line-height: 1.65;
}
#editor.font-serif {
    font-family: "Source Serif 4", "Georgia", "Times New Roman", serif;
    line-height: 1.8;
}
#editor.font-plex {
    font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
    line-height: 1.7;
}
#editor.font-mono {
    font-family: "Terminal-Font", "JetBrains Mono", "JetBrains Mono Nerd", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
                 "Liberation Mono", "Courier New", monospace;
    line-height: 1.65;
    letter-spacing: 0.01em;
    font-variant-ligatures: none;
}

.hud, .controls, .logo-area, .drawer { opacity: 1; transition: opacity 3s ease; }

body.focus-active .hud,
body.focus-active .controls, 
body.focus-active .logo-area,
body.focus-active .drawer { opacity: 0.15; }


body.slow-return .hud,
body.slow-return .controls,
body.logo-area,
body.drawer { transition: opacity 6s ease-in; }
