/* CompactCSS source: /apps/code/css/app.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos creates every Apps Code surface anew. Awtsmoos.com composes the
existing functional modules first, then reveals one responsive visual covenant.
*/

/* CompactCSS source: /shared/civilization/tokens.css */
/* B"H
 * Chapter 575: One civilization token covenant for every room of the site.
 */
:root {
  --civ-bg-0: #02040b;
  --civ-bg-1: #06111f;
  --civ-surface: rgba(8, 18, 34, .78);
  --civ-surface-2: rgba(15, 31, 55, .72);
  --civ-glass: rgba(255,255,255,.07);
  --civ-text: #f7fbff;
  --civ-muted: #aabbd4;
  --civ-faint: #667792;
  --civ-knowledge: #31d7ff;
  --civ-authority: #ffbf3f;
  --civ-creation: #3cffb0;
  --civ-ai: #b281ff;
  --civ-governance: #ff8a2a;
  --civ-conflict: #ff4d6d;
  --civ-memory: #8be9fd;
  --civ-presence: #a8ff00;
  --civ-archived: #8792a2;
  --civ-radius: 18px;
  --civ-radius-lg: 28px;
  --civ-gap: 14px;
  --civ-ring: 0 0 0 2px rgba(49,215,255,.55), 0 0 0 8px rgba(49,215,255,.13);
  --civ-shadow: 0 24px 80px rgba(0,0,0,.42), 0 0 38px rgba(49,215,255,.10);
  --civ-hot-shadow: 0 18px 60px rgba(0,0,0,.45), 0 0 42px rgba(255,72,255,.18);
}
.civ-semantic-knowledge { --civ-accent: var(--civ-knowledge); }
.civ-semantic-authority { --civ-accent: var(--civ-authority); }
.civ-semantic-creation { --civ-accent: var(--civ-creation); }
.civ-semantic-ai { --civ-accent: var(--civ-ai); }
.civ-semantic-governance { --civ-accent: var(--civ-governance); }
.civ-semantic-conflict { --civ-accent: var(--civ-conflict); }
.civ-semantic-memory { --civ-accent: var(--civ-memory); }
.civ-semantic-presence { --civ-accent: var(--civ-presence); }
.civ-semantic-archived { --civ-accent: var(--civ-archived); }



/* CompactCSS source: /shared/civilization/primitives.css */
/* B"H
 * Chapter 576: Living cards, pulse, heat, density, reputation, trails, zoom maps,
 * universal search, and object notifications become reusable CSS vessels.
 */
.civ-card,
.civ-living-card {
  border: 1px solid color-mix(in srgb, var(--civ-accent, var(--civ-knowledge)) 34%, transparent);
  border-radius: var(--civ-radius-lg);
  color: var(--civ-text);
  background: linear-gradient(135deg, rgba(49,215,255,.08), rgba(178,129,255,.06)), var(--civ-surface);
  box-shadow: var(--civ-shadow);
  backdrop-filter: blur(18px) saturate(1.15);
}
.civ-card { padding: clamp(14px, 3vw, 24px); }
.civ-living-card { display: grid; gap: 12px; padding: 16px; }
.civ-card-title,
.civ-pulse-title {
  color: var(--civ-accent, var(--civ-knowledge));
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.civ-presence-orb {
  width: 10px; height: 10px; border-radius: 50%; display: inline-block;
  background: var(--civ-presence); box-shadow: 0 0 14px var(--civ-presence);
}
.civ-heat-0 { opacity: .62; }
.civ-heat-1 { box-shadow: 0 0 18px rgba(49,215,255,.16); }
.civ-heat-2 { box-shadow: 0 0 28px rgba(49,215,255,.28); }
.civ-heat-3 { box-shadow: 0 0 38px rgba(255,72,255,.35); }
.civ-density-shallow::after { content: 'shallow'; }
.civ-density-medium::after { content: 'medium'; }
.civ-density-deep::after { content: 'deep'; }
.civ-density-node::after { content: 'civilization node'; }
.civ-density-legendary::after { content: 'legendary'; }
[class*='civ-density-']::after {
  display: inline-flex; margin-inline-start: 8px; padding: 3px 7px; border-radius: 999px;
  border: 1px solid rgba(49,215,255,.26); color: var(--civ-memory); font: 800 10px/1 ui-monospace, monospace;
  text-transform: uppercase; letter-spacing: .08em;
}
.civ-pulse-panel,
.civ-search-shell,
.civ-timeline,
.civ-memory-trail,
.civ-reputation-grid,
.civ-zoom-map,
.civ-notification-object {
  border: 1px solid rgba(49,215,255,.18);
  border-radius: var(--civ-radius);
  background: rgba(2, 7, 18, .72);
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
}
.civ-pulse-panel,
.civ-search-shell { padding: 12px; }
.civ-search-shell { display: flex; align-items: center; gap: 8px; }
.civ-search-shell input { flex: 1; min-width: 0; border: 1px solid rgba(49,215,255,.22); border-radius: 999px; background: rgba(255,255,255,.06); color: var(--civ-text); padding: 10px 13px; }
.civ-search-shell input:focus { outline: none; box-shadow: var(--civ-ring); }
.civ-timeline { position: relative; padding: 14px; }
.civ-timeline::before { content: ''; position: absolute; inset-block: 16px; inset-inline-start: 20px; width: 2px; background: linear-gradient(var(--civ-knowledge), var(--civ-ai), var(--civ-authority)); }
.civ-memory-trail { display: flex; gap: 8px; overflow-x: auto; padding: 10px; }
.civ-trail-node { flex: 0 0 auto; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 6px 10px; color: var(--civ-memory); }
.civ-reputation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; padding: 10px; }
.civ-rep-axis { border-radius: 12px; padding: 8px; background: rgba(255,255,255,.045); }
.civ-zoom-map { min-height: 220px; background-image: radial-gradient(circle, rgba(49,215,255,.35) 1px, transparent 1px); background-size: 28px 28px; }
.civ-notification-object { padding: 10px 12px; border-inline-start: 4px solid var(--civ-accent, var(--civ-knowledge)); }
@media (max-width: 760px) { .civ-search-shell { flex-direction: column; align-items: stretch; } .civ-card { border-radius: 18px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; } }



/* CompactCSS source: /shared/civilization/object-layer.css */
/* B"H
 * Chapter 600: The universal object layer receives visible inspectors, timeline
 * vessels, relationship sidebars, and object health badges.
 */
.civ-object-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .45fr); gap: var(--civ-gap, 14px); }
.civ-object-inspector,
.civ-relationship-sidebar,
.civ-timeline-panel,
.civ-object-health {
  border: 1px solid rgba(49,215,255,.22);
  border-radius: var(--civ-radius, 18px);
  background: linear-gradient(135deg, rgba(49,215,255,.07), rgba(178,129,255,.05)), rgba(2,7,18,.78);
  color: var(--civ-text, #f7fbff);
  box-shadow: var(--civ-shadow, 0 24px 80px rgba(0,0,0,.42));
  padding: 12px;
}
.civ-object-inspector pre,
.civ-timeline-panel pre,
.civ-relationship-sidebar pre { max-height: 420px; overflow: auto; white-space: pre-wrap; }
.civ-object-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 10px; }
.civ-object-toolbar button { border: 1px solid rgba(49,215,255,.26); border-radius: 999px; background: rgba(49,215,255,.08); color: var(--civ-knowledge); padding: 7px 10px; font-weight: 900; cursor: pointer; }
.civ-health-badge { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 4px 9px; border: 1px solid rgba(168,255,0,.32); color: var(--civ-presence); background: rgba(168,255,0,.08); font: 900 11px/1 ui-monospace, monospace; text-transform: uppercase; }
@media (max-width: 820px) { .civ-object-grid { grid-template-columns: 1fr; } }



/* CompactCSS source: /apps/code/css/variables.css */

/* B"H - THE RADIANCE OF VARIABLES */
:root {
    --font-ui: 'Inter', sans-serif;
    --font-code: 'Fira Code', monospace;
    --timing-fast: 0.1s;
    --timing-med: 0.25s;
    --radius-sm: 4px;
    --radius-md: 10px;
    --shadow-color: rgba(0, 0, 0, 0.8);

    /* --- EXTREME NEON RECTIFICATION --- */
    --neon-cyan: #00f6ff;
    --neon-magenta: #ff00ff;
    --neon-lime: #a8ff00;
    --neon-orange: #ffae57;
    
    --glow-cyan: 0 0 15px rgba(0, 246, 255, 0.6);
    --glow-magenta: 0 0 15px rgba(255, 0, 255, 0.5);
    --glow-lime: 0 0 15px rgba(168, 255, 0, 0.7);

    --color-bg-deep: #05070a;      
    --color-bg-primary: #0d0f14;   
    --color-bg-secondary: #1a1d2b; 
    --color-bg-tertiary: #2a2f45;  
    --color-border: #383e5e;       
    --color-border-accent: var(--neon-cyan);
    
    --color-bg-accent-translucent: rgba(0, 246, 255, 0.1); 
    
    --color-text-primary: #ffffff; 
    --color-text-secondary: #c5d1ff; 
    --color-text-tertiary: #8a96c3;   
    
    --color-accent-danger: #f75d65;
    --color-backdrop: rgba(5, 7, 10, 0.8); 
}



/* CompactCSS source: /apps/code/css/base.css */
/* B"H - BASE */
*, *::before, *::after { box-sizing: border-box; }
html, body { 
    height: 100%; margin: 0; font-family: var(--font-ui); 
    background-color: var(--color-bg-deep); color: var(--color-text-primary); 
    overflow: hidden; -webkit-font-smoothing: antialiased; font-synthesis: none;
    font-size: 16px;
}
body {
     background-color: #000;
     background-image: radial-gradient(var(--neon-cyan) 1px, transparent 1px);
     background-size: 40px 40px;
     background-position: -1px -1px;
     animation: bg-flicker 10s infinite linear;
}
@keyframes bg-flicker {
    0%, 100% { background-color: rgba(2, 4, 10, 0.9); }
    50% { background-color: rgba(10, 12, 20, 0.95); }
}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleUp { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } }
@keyframes appFadeIn { to { opacity: 1; } }

.hidden { display: none !important; } 
.visible { display: flex !important; }
.svg-icon { width: 1.25em; height: 1.25em; fill: currentColor; vertical-align: middle; }

::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { 
    background-color: var(--color-bg-tertiary); 
    border-radius: 10px; 
    border: 3px solid var(--color-bg-primary); 
}
::-webkit-scrollbar-thumb:hover { 
background-color: var(--neon-cyan); }

/* B"H - THEMES */
/* Midnight Blue (Default is similar, but let's make it distinct) */
body.theme-midnight {
    --color-bg-deep: #0a0e14;
    --color-bg-primary: #11151c;
    --color-bg-secondary: #1f2430;
    --color-bg-tertiary: #323847;
    --color-border: #454d5e;
    --neon-cyan: #73d0ff;
    --neon-magenta: #d4bfff;
    --neon-lime: #bae67e;
    background-image: none; /* Cleaner look */
}
 
/* Matrix */
body.theme-matrix {
    --color-bg-deep: #000000;
    --color-bg-primary: #050505;
    --color-bg-secondary: #0d0d0d;
    --color-bg-tertiary: #1a1a1a;
    --color-border: #003300;
    --neon-cyan: #00ff00;
    --neon-magenta: #008f11;
    --neon-lime: #00ff00;
    --color-text-primary: #00ff00;
    --color-text-secondary: #00cc00;
    --color-text-tertiary: #006600;
    background-image: linear-gradient(0deg, transparent 24%, rgba(0, 50, 0, .3) 25%, rgba(0, 50, 0, .3) 26%, transparent 27%, transparent 74%, rgba(0, 50, 0, .3) 75%, rgba(0, 50, 0, .3) 76%, transparent 77%, transparent), linear-gradient(90deg, transparent 24%, rgba(0, 50, 0, .3) 25%, rgba(0, 50, 0, .3) 26%, transparent 27%, transparent 74%, rgba(0, 50, 0, .3) 75%, rgba(0, 50, 0, .3) 76%, transparent 77%, transparent);
    background-size: 30px 30px;
}


/* CompactCSS source: /apps/code/css/layout.css */

/* B"H - LAYOUT */
.app-container { 
    display: grid; grid-template-rows: auto 1fr auto; 
    grid-template-columns: 300px minmax(0, 1fr); /* B"H - CRITICAL: Prevent grid blowout */
    height: 100vh; height: 100dvh; 
    background-color: var(--color-bg-primary); 
    opacity: 0; animation: appFadeIn 0.5s ease forwards;
}

.app-container.sidebar-collapsed {
    grid-template-columns: 0 minmax(0, 1fr) !important;
}
.app-container.sidebar-collapsed .sidebar-resizer {
    display: none;
}
.app-container.sidebar-collapsed .sidebar {
    border-right-width: 0;
    overflow: hidden; 
}

/* Explicit Grid Assignment */
.app-container.sidebar-collapsed > .top-panel,
.app-container.sidebar-collapsed > .main-content,
.app-container.sidebar-collapsed > .status-bar {
    grid-column: 2 / 3; 
}

/* B"H - ZEN MODE */
body.zen-mode .sidebar, 
body.zen-mode .top-panel, 
body.zen-mode .status-bar,
body.zen-mode .sidebar-resizer { 
    display: none !important; 
}
body.zen-mode .app-container {
    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr !important;
}
body.zen-mode .main-content {
    grid-row: 1 / 2;
    grid-column: 1 / 2;
}

/* TOP PANEL */
.top-panel {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
    display: flex;
    flex-direction: column;
    background-color: var(--color-bg-secondary);
    border-bottom: 2px solid var(--color-border);
    z-index: 300;
    overflow-y: visible; 
    overflow-x: hidden;
}

.menu-bar { 
    display: flex; 
    align-items: center; 
    height: 52px; 
    padding: 0 12px; 
    flex-shrink: 0; 
    gap: 8px;
    position: relative; 
    z-index: 1;         
}

/* SIDEBAR */
.sidebar { 
    grid-row: 1 / 4; grid-column: 1 / 2;
    background:  #191d30;
    display: flex; flex-direction: column; 
    border-right: 2px solid var(--color-border);
    transition: transform var(--timing-med) ease, width var(--timing-med) ease; flex-shrink: 0;
    position: relative;
    z-index: 3200;
    overflow: hidden;
}
.sidebar-header { 
    display: flex; justify-content: space-between; align-items: center; 
    padding: 0 8px 0 16px; height: 52px; 
    border-bottom: 2px solid var(--color-border); 
    flex-shrink: 0;  font-size: 0.9em; letter-spacing: 2px; user-select: none; font-weight: 700;
    color: var(--neon-cyan);
}
.workspaces-container { 
    flex-grow: 1; overflow-y: auto; padding: 8px;
    overflow-x: auto; 
}

/* MAIN CONTENT */
.main-content { 
    grid-row: 2 / 3; grid-column: 2 / 3; position: relative; 
    display: flex; flex-direction: column; 
    overflow: hidden; 
    min-width: 0; /* B"H - CRITICAL: Prevent Grid Blowout */
    min-height: 0; /* B"H - CRITICAL: Prevent Grid Blowout */
}
.editor-area { 
    flex-grow: 1; 
    display: flex; 
    position: relative; 
    overflow: hidden; /* B"H - Removed overflow-y: auto to fix double scrollbars */
    background-color: transparent; 
    min-width: 0; /* B"H - CRITICAL: Prevent Flex Blowout */
    min-height: 0; /* B"H - CRITICAL: Prevent Flex Blowout */
}

/* STATUS BAR */
.status-bar { 
    grid-row: 3 / 4; 
    grid-column: 2 / 3; 
    height: 28px; 
    background: linear-gradient(90deg, var(--neon-cyan), var(--neon-magenta));
    color: var(--color-bg-deep); 
    display: flex; align-items: center; justify-content: space-between; 
    padding: 0 16px; font-size: 0.9em; font-weight: 700; user-select: none; z-index: 100;
    letter-spacing: 1px;
}

/* RESIZER */
.sidebar-resizer {
    grid-row: 1 / 4; 
    grid-column: 1 / 2; 
    justify-self: end; 
    z-index: 3201; 
    position: relative;
    width: 6px; 
    cursor: col-resize; 
    background-color: var(--color-border);
    transition: background-color var(--timing-fast);
}
.sidebar-resizer:hover {
    background-color: var(--neon-cyan); 
}
body.is-resizing {
    user-select: none;
}

@media (max-width: 768px) {
    .status-bar { font-size: 0.8em; }
    #sidebar-collapse-btn { display: none; }
    .sidebar-resizer { width: 10px; }
}



/* CompactCSS source: /apps/code/css/components.css */
/* B"H
 * Chapter 19: Components became useful again.
 * Buttons, find/replace, settings cards, and preview panes now have clear
 * bodies instead of half-manifested controls.
 */
button,.button{font-family:var(--font-ui);cursor:pointer;border:none;transition:all var(--timing-fast) ease;user-select:none}
.icon-button{background:none;color:var(--color-text-secondary);font-size:1.2em;line-height:1;padding:10px;border-radius:var(--radius-md);width:44px;height:44px;display:inline-flex;justify-content:center;align-items:center}
.icon-button:hover:not(:disabled){background-color:var(--color-bg-tertiary);color:var(--neon-cyan);text-shadow:0 0 8px var(--glow-cyan)}
.primary-btn{background:linear-gradient(45deg,var(--neon-cyan),var(--neon-magenta));color:white;border:none;padding:12px 20px;border-radius:var(--radius-sm);font-weight:bold;min-height:44px}
.primary-btn:hover:not(:disabled){filter:brightness(1.2);box-shadow:0 0 20px -2px var(--glow-magenta);transform:translateY(-2px)}
.secondary-btn{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border);padding:12px 20px;border-radius:var(--radius-sm);min-height:44px}
.secondary-btn:hover:not(:disabled){background-color:var(--color-border);border-color:var(--neon-cyan);color:var(--neon-cyan)}
.menu-button{display:flex;align-items:center;gap:12px;width:100%;background:none;color:var(--color-text-primary);padding:12px 16px;text-align:left;font-size:1em;border-radius:var(--radius-sm);min-height:44px}
.menu-button:hover:not(:disabled){background-color:var(--neon-cyan);color:var(--color-bg-deep)!important;font-weight:700}
#find-replace-panel{position:absolute;top:60px;right:20px;z-index:5000;background:rgba(6,12,24,.94);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;box-shadow:0 10px 40px rgba(0,0,0,.8);display:none;grid-template-columns:1fr;gap:10px;min-width:min(520px,calc(100vw - 40px));backdrop-filter:blur(14px)}
.fr-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:8px}
.fr-row:nth-child(2){grid-template-columns:minmax(0,1fr) auto auto auto}
#find-input,#replace-input,.search-window input[type="text"],.code-settings-shell input,.code-settings-shell select,.code-settings-shell textarea{background:var(--color-bg-deep);border:1px solid var(--color-border);color:var(--neon-cyan);padding:8px 12px;border-radius:var(--radius-sm);font-family:var(--font-code);font-size:14px;outline:none;width:100%;transition:all var(--timing-fast);box-sizing:border-box}
#find-input:focus,#replace-input:focus,.code-settings-shell input:focus,.code-settings-shell select:focus,.code-settings-shell textarea:focus{border-color:var(--neon-cyan);box-shadow:0 0 8px rgba(0,246,255,.4)}
#find-replace-panel button{min-height:34px;padding:6px 10px;border-radius:8px;background:rgba(0,246,255,.08);color:var(--neon-cyan);border:1px solid rgba(0,246,255,.22)}
.find-count{min-width:48px;text-align:center;color:var(--neon-lime);font-family:var(--font-code);font-size:12px}
.fr-case{display:flex;align-items:center;gap:5px;color:var(--color-text-secondary);font-size:12px;white-space:nowrap}
.fr-case input{width:auto!important;accent-color:var(--neon-cyan)}
.code-settings-shell{display:grid;gap:14px;max-height:min(74vh,760px);overflow:auto;padding-right:4px}
.code-settings-shell hr{width:100%;border:0;border-top:1px solid var(--color-border)}
.settings-card{display:grid;gap:10px;border:1px solid rgba(0,246,255,.22);border-radius:12px;background:rgba(0,0,0,.28);padding:14px}
.settings-card h4{margin:0;color:var(--neon-cyan)}
.settings-card label{font-weight:700;font-size:.88rem;color:var(--color-text-secondary)}
.settings-help{margin:0;color:var(--color-text-secondary);font-size:.85rem;line-height:1.45}
.settings-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.settings-check{display:flex!important;align-items:center;gap:8px;cursor:pointer}
.settings-check input{width:auto!important;accent-color:var(--neon-cyan)}
.settings-grid{display:grid;gap:8px}.settings-grid.two{grid-template-columns:1fr auto}.settings-grid.three{grid-template-columns:2fr 90px 1fr}
.ssh-profile-card{border:1px solid var(--color-border);border-radius:10px;padding:10px;margin-bottom:10px;display:grid;gap:8px;background:rgba(255,255,255,.025)}
.ssh-empty{color:var(--color-text-tertiary);font-size:.9em}.ssh-profile-key{min-height:110px;resize:vertical}
.preview-engine-vessel{width:100%;height:100%;display:grid;grid-template-columns:1fr;gap:10px;padding:10px;box-sizing:border-box;background:#020611;overflow:auto}
.preview-engine-vessel[data-preview-engine="both"]{grid-template-columns:1fr 1fr}
.preview-engine-pane{min-width:0;min-height:0;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;background:rgba(0,0,0,.35);display:flex;flex-direction:column}
.preview-engine-pane>header{padding:8px 10px;border-bottom:1px solid var(--color-border);color:var(--neon-cyan);font-weight:900;background:rgba(0,0,0,.4)}
.html-preview-iframe,.merkava-preview-vessel-inner{flex:1 1 auto;width:100%;height:100%;min-height:280px;border:0;background:white;color:black;overflow:auto}
.merkava-preview-vessel-inner{background:#020611;color:var(--color-text-primary)}
.keyboard-helper{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:50px;padding:8px 20px;display:none;gap:8px;box-shadow:0 5px 20px rgba(0,0,0,.5);z-index:10000;align-items:center;backdrop-filter:blur(10px)}
.keyboard-helper.is-visible{display:flex;animation:slideUp .3s ease}.kh-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary);padding:6px 10px;border-radius:6px;font-family:var(--font-code);font-size:.85em}
.dialog-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(2,4,10,.8);z-index:25000;justify-content:center;align-items:center;backdrop-filter:blur(10px)}
.dialog-content{background-color:var(--color-bg-secondary);border:2px solid var(--neon-cyan);border-radius:var(--radius-md);padding:30px;width:90%;max-width:780px;display:flex;flex-direction:column;gap:15px}
@media(max-width:760px){.settings-grid.two,.settings-grid.three,.fr-row,.fr-row:nth-child(2),.preview-engine-vessel[data-preview-engine="both"]{grid-template-columns:1fr}.settings-title-row{align-items:stretch;flex-direction:column}}
@keyframes slideUp{from{transform:translate(-50%,40px);opacity:0}to{transform:translate(-50%,0);opacity:1}}



/* CompactCSS source: /apps/code/css/view-hosts.css */
/* B"H
 * Chapter 11: The View Host Became Ocean.
 *
 * The Awtsmoos showed that the iframe had been widened, but its parent was a
 * cup. These rules make every main view wrapper fill the editor-area like a
 * true vessel, while hidden views still vanish completely.
 */

.editor-area > #previewer,
.editor-area > #devtools-wrapper,
.editor-area > #hex-editor-wrapper,
.editor-area > #zip-editor-wrapper,
.editor-area > #vibe-editor-wrapper,
.editor-area > #vibe-manager-wrapper,
.editor-area > #file-commander-wrapper,
.editor-area > #terminal-wrapper,
.editor-area > #browser-wrapper,
.editor-area > #virtual-os-wrapper,
.editor-area > #editor-wrapper,
.editor-area > #data-altar-container {
    position: absolute;
    inset: 0;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden;
}

.editor-area > #browser-wrapper:not(.hidden) {
    display: flex !important;
    flex-direction: column;
    background: #020611;
    z-index: 120 !important;
}

.editor-area > #browser-wrapper.awtsmoos-browser-host-fill,
.editor-area.awtsmoos-browser-editor-fill,
.main-content.awtsmoos-browser-main-fill {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.editor-area.awtsmoos-browser-editor-fill > .editor-canvas,
.editor-area.awtsmoos-browser-editor-fill > .minimap-canvas,
.editor-area.awtsmoos-browser-editor-fill > .hud-stats {
    pointer-events: none;
}

.editor-area > .hidden {
    display: none !important;
}



/* CompactCSS source: /apps/code/css/ui/menus.css */

/* B"H - MENUS STYLES (Restored Boundaries) */

#context-menu, #main-menu { 
    position: fixed; 
    z-index: 300000;
    background-color: rgba(13, 17, 23, 0.98); 
    border: 1px solid var(--neon-cyan); 
    backdrop-filter: blur(20px) saturate(180%); 
    border-radius: 8px; 
    padding: 6px; 
    min-width: 240px; 
    display: none; 
    box-shadow: 0 15px 50px rgba(0,0,0,0.9), 0 0 20px var(--glow-cyan);
    transform-origin: top left;
    
    /* B"H - Strict height containment */
    max-height: calc(100vh - 60px);
    overflow-y: auto;
    overflow-x: hidden;
}

#context-menu::-webkit-scrollbar { width: 4px; }
#context-menu::-webkit-scrollbar-thumb { background: var(--color-border); border-radius: 10px; }

.menu-button { 
    display: flex; 
    align-items: center; 
    gap: 12px; 
    width: 100%; 
    background: none; 
    color: var(--color-text-primary); 
    padding: 10px 14px; 
    text-align: left; 
    font-size: 0.95em; 
    border-radius: 4px; 
    min-height: 40px;
    border: 1px solid transparent;
    transition: all 0.1s;
}

.menu-button:hover:not(:disabled) { 
    background-color: var(--neon-cyan) !important; 
    color: #000 !important; 
    font-weight: 700;
}

.menu-button:hover .svg-icon {
    fill: #000 !important;
}

.menu-separator { 
    border: none; 
    border-top: 1px solid rgba(255, 255, 255, 0.1); 
    margin: 6px 0; 
}

.context-active {
    background-color: rgba(0, 246, 255, 0.2) !important;
    box-shadow: inset 0 0 15px var(--glow-cyan);
}



/* CompactCSS source: /apps/code/css/ui/notifications.css */

/* B"H - NOTIFICATIONS & TASKS (Enhanced wrapping) */

.task-notification-stack {
    position: fixed;
    bottom: 40px;
    right: 20px;
    z-index: 400000;
    display: flex;
    flex-direction: column-reverse;
    gap: 12px;
    width: 400px; /* Wider to handle paths */
    max-width: 90vw;
    pointer-events: none;
}

.task-card {
    background: rgba(13, 17, 23, 0.95);
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--neon-cyan);
    border-radius: 8px;
    padding: 12px 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.8);
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: auto;
    backdrop-filter: blur(15px);
    animation: slideInTask 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: all 0.3s ease;
}

.task-info { 
    display: flex; 
    justify-content: space-between; 
    align-items: flex-start;
    font-size: 0.85em; 
    font-weight: 700; 
    color: #fff; 
    letter-spacing: 0.5px;
    gap: 15px;
}

.task-label {
    flex-grow: 1;
    word-break: break-all; /* Crucial for long paths */
    line-height: 1.4;
    white-space: pre-wrap;
}

.task-percent {
    flex-shrink: 0;
    color: var(--neon-cyan);
}

.task-progress-bg { 
    background: rgba(255, 255, 255, 0.05); 
    height: 6px; 
    border-radius: 10px; 
    overflow: hidden; 
}

.task-progress-fill { 
    background: linear-gradient(90deg, var(--neon-cyan), var(--neon-magenta)); 
    height: 100%; 
    transition: width 0.3s ease-out; 
}



/* CompactCSS source: /apps/code/css/ui/dialogs.css */

/* B"H - DIALOGS STYLES */

.dialog-overlay { 
    display: none; 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background-color: rgba(2, 4, 10, 0.85); 
    z-index: 250000; 
    justify-content: center; 
    align-items: center; 
    backdrop-filter: blur(12px) saturate(160%); 
    animation: fadeIn 0.2s ease; 
}

.dialog-overlay.visible { display: flex !important; }

.dialog-content { 
    background-color: #1a1d2b; 
    border: 2px solid var(--neon-cyan); 
    border-radius: 12px; 
    padding: 30px; 
    width: 90%; 
    max-width: 500px; 
    display: flex; 
    flex-direction: column; 
    gap: 15px; 
    box-shadow: 0 20px 60px rgba(0,0,0,0.8), 0 0 30px rgba(0, 246, 255, 0.2);
    transform: scale(0.95); 
    animation: scaleUp 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
    max-height: 85vh; 
    overflow-y: auto;
    color: #fff;
}

.dialog-button-bar {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 10px;
}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleUp { from { transform: scale(0.9) translateY(10px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } }



/* CompactCSS source: /apps/code/css/ui/selection-menu.css */

/* B"H - SELECTION MENU STYLES */

#selection-menu {
    position: fixed;
    background: var(--color-bg-secondary);
    border: 1px solid var(--neon-cyan);
    border-radius: 8px;
    padding: 8px;
    z-index: 50000;
    box-shadow: 0 10px 40px rgba(0,0,0,0.9);
    display: none; /* Hidden by default */
    flex-direction: column;
    min-width: 200px;
    color: white;
    font-family: var(--font-ui);
}

#selection-menu.visible {
    display: flex !important;
    animation: selectionFadeIn 0.15s ease-out;
}

.selection-header-vertical {
    display: flex; 
    justify-content: space-between; 
    align-items: center;
    padding: 8px; 
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 8px; 
    font-weight: bold; 
    color: var(--neon-cyan);
}

.cancel-icon-btn {
    background: none; 
    border: none; 
    color: var(--color-text-tertiary);
    font-size: 1.2em; 
    cursor: pointer; 
    padding: 0 5px;
}
.cancel-icon-btn:hover { 
    color: var(--neon-cyan); 
}

.selection-list-vertical { 
    display: flex; 
    flex-direction: column; 
    gap: 4px; 
}

.selection-list-vertical button {
    background: transparent; 
    border: none; 
    color: var(--color-text-primary);
    text-align: left; 
    padding: 8px 12px; 
    border-radius: 4px;
    cursor: pointer; 
    display: flex; 
    align-items: center; 
    gap: 10px;
    font-size: 0.95em;
    transition: background 0.1s;
}

.selection-list-vertical button:hover { 
    background: var(--color-bg-tertiary); 
    color: var(--neon-cyan); 
}

.selection-list-vertical button.danger:hover { 
    background: rgba(247, 93, 101, 0.1); 
    color: var(--color-accent-danger); 
}

.selection-menu-sep { 
    border: 0; 
    border-top: 1px solid var(--color-border); 
    margin: 4px 0; 
    opacity: 0.5;
}

@keyframes selectionFadeIn { 
    from { opacity: 0; transform: translateY(10px); } 
    to { opacity: 1; transform: translateY(0); } 
}



/* CompactCSS source: /apps/code/css/views/workspace.css */

/* B"H - WORKSPACE MASTER CSS */

/* CompactCSS source: /apps/code/css/views/workspace/header.css */

/* B"H - WORKSPACE HEADER STYLES */
.workspace-header {
    display: flex;
    flex-direction: column;
    padding: 10px 11px 10px 12px;
    cursor: pointer;
    user-select: none;
    border-radius: 12px;
    transition: transform var(--timing-fast), border-color var(--timing-fast), background var(--timing-fast), box-shadow var(--timing-fast);
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(0, 246, 255, 0.12), transparent 45%),
        linear-gradient(135deg, rgba(37, 42, 74, 0.96), rgba(13, 17, 32, 0.96));
    border: 1px solid rgba(0, 246, 255, 0.32);
    margin: 0 7px 9px;
    color: var(--color-text-secondary);
    word-break: break-word;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 8px 18px rgba(0,0,0,.25);
}

.workspace-header::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--neon-cyan);
    opacity: .78;
}

.workspace-header:hover {
    transform: translateY(-1px);
    color: var(--neon-cyan);
    border-color: var(--neon-cyan);
    box-shadow: 0 0 22px rgba(0,246,255,.14), inset 0 0 0 1px rgba(255,255,255,.04);
}

.workspace-header.locked,
.workspace-header-locked {
    border-color: var(--neon-magenta);
    background: linear-gradient(135deg, rgba(255, 0, 255, 0.09), rgba(20, 10, 28, .96));
}

.workspace-header.locked::before,
.workspace-header-locked::before { background: var(--neon-magenta); }

.workspace-header-lime::before { background: var(--neon-lime); }
.workspace-header-gold::before { background: #ffa000; }
.workspace-header-violet::before { background: #b86bff; }
.workspace-header-magenta::before { background: var(--neon-magenta); }
.workspace-header-blue::before { background: #74a7ff; }

.workspace-header-sub {
    font-size: 0.66em;
    opacity: 0.78;
    font-family: var(--font-code);
    margin: 0 0 6px 24px;
    line-height: 1.25;
    color: var(--neon-cyan);
}

.workspace-header-main {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    letter-spacing: 0.3px;
    font-size: 1em;
    color: var(--color-text-primary);
}

.workspace-type-icon {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: rgba(0,0,0,.28);
    border: 1px solid rgba(255,255,255,.08);
    color: var(--neon-cyan);
}

.workspace-type-icon .svg-icon {
    width: 18px;
    height: 18px;
}

.workspace-type-icon-lime { color: var(--neon-lime); }
.workspace-type-icon-gold { color: #ffa000; }
.workspace-type-icon-violet { color: #b86bff; }
.workspace-type-icon-magenta { color: var(--neon-magenta); }
.workspace-type-icon-blue { color: #74a7ff; }
.workspace-type-icon-locked { color: var(--neon-magenta); }

.workspace-title-stack {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.workspace-display-name {
    word-break: break-word;
    line-height: 1.15;
}

.workspace-kind-label {
    font-size: 0.66em;
    color: var(--color-text-tertiary);
    font-weight: 700;
    letter-spacing: .55px;
    text-transform: uppercase;
}

.awtsmoos-account-pill {
    display: flex;
    align-items: center;
    gap: 7px;
    justify-content: flex-end;
    min-width: 0;
}

.awtsmoos-account-pill button {
    min-height: 30px;
    padding: 5px 8px;
    font-size: 11px;
}

.awtsmoos-account-name {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--neon-cyan);
    font-weight: 800;
}

.awtsmoos-account-pill.is-offline .awtsmoos-account-name { color: var(--color-text-tertiary); }
.awtsmoos-account-pill.is-loading .awtsmoos-account-name { color: var(--neon-lime); }

.ssh-recovery-card {
    padding: 12px;
    margin: 7px 8px;
    border: 1px solid rgba(168,255,0,.48);
    border-radius: 13px;
    background:
        radial-gradient(circle at top left, rgba(168,255,0,.16), transparent 44%),
        linear-gradient(135deg, rgba(17, 30, 25, .96), rgba(8, 12, 20, .96));
    color: var(--color-text-primary, white);
    font-size: 12px;
    line-height: 1.45;
    box-shadow: 0 12px 24px rgba(0,0,0,.28);
}

.ssh-recovery-card strong {
    display: block;
    color: var(--neon-lime, #a8ff00);
    margin-bottom: 5px;
    font-size: 13px;
}

.ssh-recovery-card code {
    overflow-wrap: anywhere;
    color: var(--neon-cyan);
}

.ssh-recovery-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.ssh-recovery-actions button {
    min-height: 28px;
    padding: 5px 9px;
    font-size: 11px;
}



/* CompactCSS source: /apps/code/css/views/workspace/tree.css */

/* B"H - WORKSPACE TREE STYLES */
.tree-item { 
    display: flex; 
    flex-direction: column; 
    align-items: stretch; 
    position: relative; 
    user-select: none; 
}

.tree-item-name-wrap {
    display: flex; 
    align-items: center; 
    flex-grow: 1;
    min-height: 32px; 
    cursor: pointer; 
    padding: 4px 8px;
    border-radius: var(--radius-sm); 
    transition: background-color var(--timing-fast);
    border: 1px solid transparent; 
}

.tree-item > .tree-item-name-wrap:hover { 
    background-color: var(--color-bg-tertiary); 
}

.tree-item > .tree-item-name-wrap:hover .tree-item-name { 
    color: var(--neon-lime); 
    transform: translateX(4px); 
}

.tree-item.selected > .tree-item-name-wrap {
    background-color: rgba(0, 246, 255, 0.15) !important;
    border-color: var(--neon-cyan) !important;
}

.tree-item.selected > .tree-item-name-wrap .tree-item-name {
    color: var(--neon-cyan) !important;
    font-weight: bold;
}

.tree-item-name { 
    margin-left: 8px; 
    white-space: nowrap; 
    font-size: 0.9em;
    font-weight: 600; 
    color: var(--color-text-primary); 
    transition: all var(--timing-fast) ease;
    overflow: hidden; 
    text-overflow: ellipsis;
}

.tree-item-arrow {
    display: inline-block;
    width: 12px;
    text-align: center;
    font-size: 0.8em;
    color: var(--color-text-tertiary);
    margin-right: 4px;
    transition: transform 0.2s ease;
}

.tree-item.expanded > .tree-item-name-wrap .tree-item-arrow {
    transform: rotate(90deg);
    color: var(--neon-cyan);
}

.tree-item > ul {
    margin: 2px 0 2px 12px; 
    padding-left: 8px;
    border-left: 1px solid rgba(0, 246, 255, 0.2); 
    list-style: none; 
    min-width: max-content;
}





/* CompactCSS source: /apps/code/css/views/tabs.css */

/* B"H - TAB BAR */
.tab-bar-wrapper {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--color-border);
    overflow: hidden;
    background-color: var(--color-bg-primary);
}
.tab-bar { 
    display: flex; 
    overflow-x: auto; 
    align-items: flex-end; 
    flex-grow: 1;
    scrollbar-width: none; /* Firefox */
}
.tab-bar::-webkit-scrollbar { display: none; } 

.tab { 
    display: inline-flex; align-items: center; padding: 0 12px;
    height: 40px; max-width: 200px; 
    border-right: 1px solid var(--color-border); 
    cursor: pointer; position: relative;
    color: var(--color-text-secondary); 
    background:  var(--color-bg-primary);
    transition: all var(--timing-fast) ease; 
    user-select: none;
    font-size: 0.9em;
}
.tab:hover { background-color: var(--color-bg-tertiary); color: var(--color-text-primary); }
.tab.active { 
    background-color: var(--color-bg-secondary); 
    color: var(--color-text-primary); 
    font-weight: 600;
    border-bottom: 2px solid var(--neon-cyan);
}
.tab.pinned {
    border-bottom: 2px solid var(--neon-lime);
    background: rgba(168, 255, 0, 0.05);
    min-width: 100px;
}
.tab.pinned .tab-pin-icon {
    font-size: 0.8em;
    margin-right: 6px;
    filter: grayscale(0.5);
}
.tab.pinned.active .tab-pin-icon {
    filter: grayscale(0);
}

.tab.dirty .tab-name::before { content: '● '; color: var(--neon-magenta); font-size: 0.8em; margin-right: 4px; }
.tab.uncommitted .tab-name::before { content: '● '; color: var(--neon-lime); font-size: 0.8em; margin-right: 4px; }

.tab-name { 
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; 
    padding-right: 24px; /* Space for close button */
    pointer-events: none; 
}

.close-tab-btn { 
    position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
    border-radius: 50%; width: 20px; height: 20px; 
    display: flex; align-items: center; justify-content: center;
    background: transparent; color: var(--color-text-tertiary);
    z-index: 10;
    padding: 0 !important; /* Override button padding */
}
.close-tab-btn:hover { background-color: rgba(255,255,255,0.1); color: var(--color-accent-danger); }
.close-tab-btn svg { width: 14px; height: 14px; fill: currentColor; }

.tab.dragging { opacity: 0.4; background: var(--color-bg-tertiary); }
.tab.drop-indicator::before {
    content: ''; position: absolute; top: 0; left: -2px; 
    width: 2px; height: 100%; background-color: var(--neon-cyan); 
    z-index: 100;
}

#tab-manager-btn {
    width: 40px; height: 40px; border-radius: 0; 
    background: var(--color-bg-secondary);
    border-left: 1px solid var(--color-border);
}
#tab-manager-btn:hover { background-color: var(--color-bg-tertiary); color: var(--neon-cyan); }


/* CompactCSS source: /apps/code/css/views/editor.css */

/* B"H */
/* B"H - TEXT EDITOR STYLES */
#editor-wrapper { 
    display: flex; 
    flex-grow: 1; 
    height: 100%; 
    position: relative; 
    overflow: hidden; 
    font-family: var(--font-code); 
    z-index: 10;
    background-color: var(--color-bg-primary);
    min-width: 0; /* B"H - Prevent flex blowout */
    width: 100%;
}

#line-numbers { 
    font-family: var(--font-code);
    font-size: 14px !important; 
    line-height: 24px !important; 
    padding: 10px 8px 24px 8px !important; 
    margin: 0;
    color: var(--color-text-tertiary); 
    text-align: right; 
    user-select: none; 
    background-color: transparent; 
    border-right: 1px solid var(--color-border);
    overflow-y: hidden; 
    white-space: nowrap; 
    flex: 0 0 auto; 
    box-sizing: border-box;
    min-width: 55px; 
}

#editor { 
    flex-grow: 1; 
    height: 100%; 
    border: none; 
    margin: 0; 
    background: transparent; 
    color: var(--color-text-primary); 
    font-family: var(--font-code);
    font-size: 14px !important; 
    line-height: 24px !important; 
    padding: 10px 110px 24px 10px !important; 
    resize: none; 
    outline: none; 
    white-space: pre; 
    overflow: auto;
    box-sizing: border-box;
    tab-size: 4;
    font-variant-ligatures: none; 
    letter-spacing: 0px;
    -webkit-font-smoothing: antialiased;
    min-width: 0; /* B"H - Prevent flex blowout */
    width: 100%;
}

/* B"H - INTELLIGENCE TOOLTIP (VS CODE STYLE) */
.intelligence-tooltip {
    position: fixed;
    z-index: 20000;
    max-width: 500px;
    background: rgba(13, 17, 23, 0.94);
    border: 1px solid rgba(0, 246, 255, 0.4);
    border-radius: var(--radius-md);
    box-shadow: 0 10px 35px rgba(0,0,0,0.9), 0 0 12px rgba(0, 246, 255, 0.1);
    padding: 0;
    font-family: var(--font-code);
    font-size: 0.9em;
    pointer-events: auto; 
    backdrop-filter: blur(12px);
    transition: opacity 0.15s ease-out, transform 0.1s ease-out;
    overflow: hidden;
}
.intelligence-tooltip.hidden { opacity: 0; transform: translateY(5px); pointer-events: none; }

.tooltip-header { 
    background: rgba(0,0,0,0.3);
    padding: 6px 12px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    display: flex;
    justify-content: space-between;
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.tooltip-body { padding: 12px; }

/* B"H - JSDoc Styles */
.jsdoc-container {
    color: var(--color-text-secondary);
    margin-bottom: 12px;
    padding-left: 8px;
    border-left: 2px solid var(--neon-magenta);
}

.jsdoc-row {
    margin-bottom: 4px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}

.jsdoc-tag {
    color: var(--neon-magenta);
    font-weight: bold;
    margin-right: 6px;
    min-width: 50px;
}

.jsdoc-type {
    color: var(--neon-cyan);
    margin-right: 6px;
    background: rgba(0, 246, 255, 0.1);
    padding: 0 4px;
    border-radius: 3px;
    font-size: 0.9em;
}

.jsdoc-name {
    color: #ffae57; /* Warning Orange */
    font-weight: 600;
    margin-right: 6px;
}

.jsdoc-desc {
    color: var(--color-text-tertiary);
}

.jsdoc-text {
    margin-bottom: 6px;
    line-height: 1.4;
}

.jsdoc-empty {
    font-style: italic;
    color: var(--color-text-tertiary);
    font-size: 0.8em;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
}

.generate-docs-link {
    background: transparent;
    border: 1px solid var(--neon-cyan);
    color: var(--neon-cyan);
    border-radius: 4px;
    padding: 2px 6px;
    font-size: 0.9em;
    cursor: pointer;
    margin-left: 10px;
    transition: all 0.2s;
    font-family: var(--font-ui);
    text-transform: uppercase;
    font-weight: bold;
}
.generate-docs-link:hover {
    background: var(--neon-cyan);
    color: var(--color-bg-deep);
    box-shadow: 0 0 5px var(--glow-cyan);
}

.tooltip-signature {
    white-space: pre-wrap;
    background: rgba(0,0,0,0.4);
    padding: 8px;
    border-radius: 4px;
    font-weight: 600;
    color: var(--neon-lime);
    font-size: 0.95em;
    border: 1px solid rgba(255,255,255,0.1);
}

/* Gutter Icons & Markers */
.fold-gutter-icon {
    display: inline-block;
    width: 18px;
    text-align: center;
    transition: all 0.2s;
    user-select: none;
    font-weight: bold;
}
.fold-gutter-icon:hover { transform: scale(1.3); filter: brightness(1.2); }
.fold-gutter-icon.folded { animation: heartbeat 2s infinite; }

@keyframes heartbeat {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.2); }
}

.lint-marker { color: var(--color-accent-danger) !important; font-weight: bold; position: relative; }
.lint-marker::after { content: '●'; font-size: 8px; position: absolute; left: -6px; top: 50%; transform: translateY(-50%); }

.empty-editor-message { 
    position: absolute; top: 40%; left: 50%; transform: translate(-50%, -50%); 
    color: var(--color-text-secondary); text-align: center; user-select: none; opacity: 0.6; padding: 16px;
    letter-spacing: 4px;
}



/* CompactCSS source: /apps/code/css/views/tools.css */

/* B"H - TOOLS (Hex, Altar, Preview) */

/* HEX EDITOR */
#hex-editor-wrapper {
    flex-grow: 1; height: 100%; overflow-y: scroll;
    background-color: var(--color-bg-deep); font-family: var(--font-code);
    font-size: 1em; color: var(--color-text-secondary); position: relative; --line-height: 24px;
}
.hex-scroller{position:relative;width:100%;overflow:hidden}
.hex-content{position:relative;width:100%;height:100%}
.hex-line{position:absolute;left:0;right:0;display:flex;white-space:pre;padding:0 16px;height:var(--line-height);line-height:var(--line-height)}
.hex-offset{color:var(--color-text-tertiary);width:10ch;user-select:none}
.hex-bytes{width:calc(16 * 3ch);color:var(--color-text-primary)}
.hex-bytes span{display:inline-block;width:3ch;text-align:left;cursor:pointer;border-radius:2px}
.hex-ascii{width:18ch;padding-left:1ch;border-left:1px solid var(--color-border);user-select:none}
.hex-ascii span{display:inline-block;width:1ch;text-align:center;cursor:pointer;border-radius:2px}
.hex-bytes span.selected,.hex-ascii span.selected{background-color:var(--neon-cyan);color:var(--color-bg-deep);outline:none;animation:nexus-glow 1.5s infinite}
.hex-bytes span.dirty,.hex-ascii span.dirty{color:var(--neon-lime)}
.hex-bytes span.search-result,.hex-ascii span.search-result{background-color:rgba(255,0,255,0.4)}
.hex-input-handler{position:absolute;background:transparent;border:none;outline:none;padding:0;margin:0;font:inherit;color:transparent;text-align:center;caret-color:var(--neon-magenta);resize:none;opacity:0.5;z-index:10;width:1ch;left:-9999px}
.hex-search-bar { position: absolute; bottom: 0; left: 0; right: 0; display: flex; gap: 8px; padding: 8px 16px; background: var(--color-bg-secondary); border-top: 1px solid var(--color-border); z-index: 100; }
.hex-search-input { flex-grow: 1; }
.hex-search-bar button, .hex-search-bar select { background-color: var(--color-bg-tertiary); border: 1px solid var(--color-border); color: var(--color-text-secondary); border-radius: var(--radius-sm); padding: 0 12px; font-weight: 600; }
.hex-search-bar button:hover, .hex-search-bar select:hover { background-color: var(--color-border); color: var(--neon-cyan); }
.hex-inspector {
    position: absolute; display: none; grid-template-columns: auto 1fr; gap: 4px 12px;
    padding: 8px; background: var(--color-backdrop); border: 1px solid var(--color-border);
    border-radius: var(--radius-sm); z-index: 100; font-size: 0.85em; backdrop-filter: blur(5px);
    transition: top 0.1s, left 0.1s; pointer-events: none; 
}
.hex-inspector span:nth-child(odd) { color: var(--color-text-tertiary); text-align: right; }
.hex-inspector span:nth-child(even) { color: var(--color-text-primary); font-weight: 600; }
.hex-nav-pad{position:absolute;bottom:20px;right:20px;z-index:1500;display:none;grid-template-areas:". up ." "left . right" ". down .";gap:8px;background-color:var(--color-backdrop);padding:12px;border-radius:50%;border:1px solid var(--color-border);opacity:.85}
.hex-nav-pad.visible{display:grid}
.hex-nav-pad button{width:44px;height:44px;background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:50%;font-size:1.5em;line-height:1}
.hex-nav-pad button:hover{background-color:var(--color-border);color:var(--neon-cyan)}
.hex-nav-pad button[data-action=up]{grid-area:up} .hex-nav-pad button[data-action=down]{grid-area:down} .hex-nav-pad button[data-action=left]{grid-area:left} .hex-nav-pad button[data-action=right]{grid-area:right}
@media (min-width:769px){.hex-nav-pad{display:none !important}}

/* DATA ALTAR */
#data-altar-container {
    height: 100%; overflow: auto;
    background: radial-gradient(ellipse at center, rgba(10, 12, 20, 0.95) 0%, #02040a 70%);
    padding: 20px 30px; font-size: 1.1em; font-family: var(--font-code);
    animation: altar-breathe 15s ease-in-out infinite;
}
.altar-node { padding-left: 2em; position: relative; border-left: 1px solid rgba(255, 0, 255, 0.2); }
.altar-row { display: flex; align-items: center; min-height: 28px; padding: 2px 0; }
.altar-row:hover { background: rgba(168, 255, 0, 0.05); }
.altar-row:hover .altar-action-btn { opacity: 1; }
.altar-key { color: var(--neon-cyan); font-weight: bold; padding: 2px 4px; border-radius: 3px; outline: none; cursor: text; }
.altar-key:focus { background: rgba(0, 246, 255, 0.2); box-shadow: 0 0 10px var(--glow-cyan); }
.altar-value { outline: none; padding: 2px 4px; border-radius: 3px; margin-left: 0.5em; cursor: text; white-space: pre-wrap; display: block; }
.altar-value[contenteditable="true"] { min-height: 1.7em; display: block; }
.altar-value[contenteditable="true"]:focus { background: rgba(168, 255, 0, 0.2); box-shadow: 0 0 10px var(--glow-lime); }
.altar-value[contenteditable="true"]::after { content: "\A"; white-space: pre; }
.altar-content > .altar-value {
    display: block; background: transparent; border: none; outline: none; resize: none; overflow-y: hidden; 
    width: 100%; font: inherit; font-family: var(--font-code); line-height: 1.6; padding: 2px 4px; margin-left: 0.5em; border-radius: 3px;
    color: var(--neon-lime); 
}
.altar-content > .altar-value:focus { background: rgba(168, 255, 0, 0.2); box-shadow: 0 0 10px var(--glow-lime); }
.altar-flash { animation: flash-value 0.3s ease-out; }
@keyframes flash-value { 0% { background-color: var(--neon-cyan); color: black; } 100% { background-color: transparent; color: var(--neon-lime); } }

.altar-node[data-type="string"] .altar-value { color: var(--neon-lime); }
.altar-node[data-type="number"] .altar-value { color: #ffae57; }
.altar-node[data-type="boolean"] .altar-value { color: var(--neon-magenta); font-weight: bold; }
.altar-node[data-type="null"] .altar-value { color: var(--color-text-tertiary); font-style: italic; }
details summary { cursor: pointer; list-style: none; }
details summary::-webkit-details-marker { display: none; }
.altar-action-btn {
    font-family: var(--font-code); background: none; border: 1px solid var(--color-border);
    color: var(--color-text-tertiary); border-radius: 50%; width: 24px; height: 24px;
    line-height: 20px; text-align: center; cursor: pointer; margin-left: 8px; opacity: 0.2;
    transition: all 0.15s ease; font-size: 1.2em; font-weight: bold;
}
.altar-action-btn:hover { opacity: 1 !important; transform: scale(1.2); box-shadow: 0 0 10px var(--glow-cyan); border-color: var(--neon-cyan); color: var(--neon-cyan); }
.action-delete-property:hover { color: var(--color-accent-danger); border-color: var(--color-accent-danger); box-shadow: 0 0 10px var(--color-accent-danger); }

/* PREVIEWER */
#previewer {
    flex-grow: 1; height: 100%; display: flex; justify-content: center; align-items: center;
    overflow: auto; background-color: var(--color-bg-deep); 
}
#previewer img, #previewer video { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: var(--radius-md); box-shadow: 0 10px 40px var(--shadow-color); }
#previewer embed { width: 100%; height: 100%; border: none; }
#previewer .unsupported-message {
    text-align: center; color: var(--color-text-secondary); border: 2px dashed var(--color-border);
    padding: 40px; border-radius: var(--radius-md); user-select: none;
}
#previewer .unsupported-message .svg-icon { width: 60px; height: 60px; margin-bottom: 20px; opacity: 0.5; }
#previewer iframe { width: 100%; height: 100%; border: none; background-color: #fff; }



/* CompactCSS source: /apps/code/css/views/git.css */

/* B"H - GIT UI STYLES */

/* Staging Container (The Matrix Overhaul) */
.git-stage-container {
    display: flex;
    flex-direction: row;
    height: 60vh; /* Relative height for better scaling */
    min-height: 400px;
    border: 1px solid var(--color-border);
    background-color: var(--color-bg-primary);
    border-radius: var(--radius-md);
    overflow: hidden;
}
@media (max-width: 768px) {
    .git-stage-container { 
        flex-direction: column; 
        height: 70vh; /* Fixed height for mobile scrolling */ 
        min-height: 0;
    }
}

.git-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--color-border);
    background-color: rgba(0, 0, 0, 0.2);
    min-width: 0; /* Crucial for flex truncation */
    min-height: 0; /* Crucial for flex scrolling */
}
.git-col:last-child { border-right: none; }

.git-col-header {
    padding: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 1px solid var(--color-border);
    background-color: var(--color-bg-secondary);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.git-col-header.unstaged { color: var(--color-accent-warning); }
.git-col-header.staged { color: var(--neon-lime); }

.git-file-list {
    flex-grow: 1;
    overflow-y: auto;
    padding: 5px;
    min-height: 0; /* Prevents overflow blowout */
}

.git-file-item {
    display: flex;
    align-items: center;
    padding: 6px 8px;
    margin-bottom: 4px;
    background-color: var(--color-bg-deep);
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
    user-select: none;
}
.git-file-item:hover {
    background-color: var(--color-bg-tertiary);
    border-color: var(--color-border);
}
.git-file-item.active-diff {
    border-color: var(--neon-cyan);
    box-shadow: 0 0 10px rgba(0, 246, 255, 0.1);
}

.git-file-name {
    flex-grow: 1;
    font-family: var(--font-code);
    font-size: 0.9em;
    margin-left: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.git-action-btn {
    opacity: 0.6;
    padding: 4px;
    border-radius: 4px;
    cursor: pointer;
}
.git-action-btn:hover { opacity: 1; background-color: rgba(255, 255, 255, 0.1); transform: scale(1.1); }
.git-action-btn.stage { color: var(--neon-lime); }
.git-action-btn.unstage { color: var(--color-accent-warning); }
.git-action-btn.discard { color: var(--color-accent-danger); }

/* Embedded Diff View */
.git-diff-viewer {
    background-color: #0d0f12;
    font-family: var(--font-code);
    font-size: 0.85em;
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    max-height: 200px;
    overflow-y: auto;
    display: none; /* Hidden by default */
}
.git-diff-viewer.visible { display: block; animation: slideDown 0.2s ease-out; }

.diff-line { display: flex; line-height: 1.4; white-space: pre; }
.diff-line-num {
    width: 30px;
    text-align: right;
    padding-right: 8px;
    color: var(--color-text-tertiary);
    border-right: 1px solid #333;
    user-select: none;
    opacity: 0.5;
}
.diff-line-content { padding-left: 8px; flex-grow: 1; }

.diff-added { background-color: rgba(168, 255, 0, 0.1); }
.diff-added .diff-line-content { color: var(--neon-lime); }
.diff-removed { background-color: rgba(247, 93, 101, 0.1); }
.diff-removed .diff-line-content { color: var(--color-accent-danger); }
.diff-header {
    background-color: #1a1d23;
    color: var(--color-text-tertiary);
    padding: 4px 8px;
    font-style: italic;
    font-size: 0.8em;
}

/* GIT TOOLBAR */
.git-toolbar {
    display: flex;
    gap: 8px;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid var(--color-border);
    flex-wrap: wrap;
}
.git-toolbar .menu-button {
    font-size: 0.9em;
    padding: 8px 12px;
    min-height: 36px;
    background-color: var(--color-bg-tertiary);
    border: 1px solid var(--color-border);
}
.git-toolbar .menu-button:hover {
    border-color: var(--neon-cyan);
}
.git-force-option {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9em;
    color: var(--color-accent-warning);
    margin-right: 10px;
}

@keyframes slideDown {
    from { opacity: 0; max-height: 0; }
    to { opacity: 1; max-height: 200px; }
}

.commit-area {
    padding: 15px;
    background-color: var(--color-bg-secondary);
    border-top: 2px solid var(--neon-cyan);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.commit-message-input {
    width: 100%;
    min-height: 60px;
    background-color: var(--color-bg-deep);
    border: 1px solid var(--color-border);
    color: white;
    padding: 10px;
    border-radius: 4px;
    font-family: var(--font-ui);
    resize: vertical;
}
.commit-message-input:focus {
    border-color: var(--neon-cyan);
    outline: none;
    box-shadow: 0 0 10px var(--glow-cyan);
}
.commit-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}



/* CompactCSS source: /apps/code/css/views/terminal.css */

/* B"H - TERMINAL STYLES (Extreme Refinement) */

#terminal-wrapper {
    width: 100%;
    height: 100%;
    background-color: #050505;
    color: #00ff41; /* Matrix/Classic Terminal Green */
    font-family: 'Fira Code', 'Courier New', monospace;
    font-size: 13px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 12px;
    box-sizing: border-box;
}

.terminal-output {
    flex-grow: 1;
    overflow-y: auto;
    white-space: pre-wrap;
    word-break: break-all;
    padding-bottom: 20px;
    scrollbar-width: thin;
    scrollbar-color: #333 transparent;
}

.terminal-line {
    line-height: 1.6;
    margin-bottom: 4px;
    display: block;
}

/* 2-Line Prompt Layout at Bottom */
.terminal-input-area {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    border-top: 1px solid #222;
    padding-top: 10px;
    background: #050505;
}

.terminal-directory-line {
    color: #00f6ff; /* Neon Cyan */
    font-weight: bold;
    font-size: 0.9em;
    margin-bottom: 2px;
}

.terminal-input-row {
    display: flex;
    align-items: center;
    width: 100%;
}

.terminal-prompt-char {
    color: #a8ff00; /* Neon Lime */
    margin-right: 10px;
    font-weight: bold;
    user-select: none;
}

.terminal-input {
    background: transparent;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    color: #ffffff;
    font-family: inherit;
    font-size: inherit;
    flex-grow: 1;
    padding: 0;
    margin: 0;
    caret-color: #00f6ff;
}

/* Output Colors */
.cmd-error { color: #f75d65; font-weight: bold; }
.cmd-success { color: #a8ff00; }
.cmd-info { color: #00f6ff; }
.cmd-warn { color: #ffae57; }

/* History Entry Styling - Unified Single Line */
.terminal-history-block {
    margin-bottom: 10px;
    border-left: 2px solid #222;
    padding-left: 8px;
}
.terminal-history-header {
    display: flex;
    gap: 8px;
    align-items: baseline;
    margin-bottom: 2px;
}
.terminal-history-path {
    color: #00f6ff;
    font-weight: bold;
    font-size: 0.85em;
}
.terminal-history-cmd {
    color: #fff;
    font-weight: bold;
}

/* LS Styles */
.ls-entry {
    display: block; 
    width: 100%;
    padding: 1px 0;
}
.ls-entry.is-dir { font-weight: bold; color: #00f6ff; }
.ls-entry.is-file { color: #ffffff; }

/* Meta Info */
.terminal-welcome {
    color: #00f6ff;
    border-bottom: 1px dashed #333;
    padding-bottom: 8px;
    margin-bottom: 15px;
}



/* CompactCSS source: /apps/code/css/views/browser.css */
/* B"H
 * Chapter 10: The Host Vessel Split Open.
 *
 * The Awtsmoos revealed that the black void was not merely inside /ai; it lived
 * in the browser host. This file now forces every browser runtime layer to fill
 * the active editor surface, while the Dev forge stays folded behind a button.
 */

.browser-container,
.browser-runtime {
    display: flex;
    flex-direction: column;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    background-color: var(--color-bg-deep);
    font-family: var(--font-ui);
    overflow: hidden !important;
}

.browser-toolbar,
.browser-runtime-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: linear-gradient(180deg, rgba(6, 16, 30, .98), rgba(2, 8, 16, .98));
    border-bottom: 1px solid var(--color-border);
    flex: 0 0 auto;
    min-width: 0;
    width: 100%;
    overflow-x: auto;
}

.browser-runtime-toolbar .vos-app-button {
    min-height: 32px;
    padding: 5px 12px;
    white-space: nowrap;
}

.browser-url-input,
.browser-runtime-address {
    flex: 1 1 auto;
    min-width: min(220px, 40vw);
    max-width: none;
    background: #000;
    border: 1px solid var(--color-border);
    color: var(--neon-lime);
    padding: 7px 12px;
    border-radius: 14px;
    font-family: var(--font-code);
    font-size: 13px;
    outline: none;
}

.browser-url-input:focus,
.browser-runtime-address:focus {
    border-color: var(--neon-cyan);
    box-shadow: 0 0 10px rgba(0, 246, 255, 0.2);
}

.browser-runtime-studio {
    display: none;
    flex: 0 0 auto;
    padding: 0 12px 10px;
    background: rgba(2, 8, 16, .98);
    border-bottom: 1px solid var(--color-border);
}

.browser-runtime.has-studio .browser-runtime-studio { display: block; }

.browser-runtime-studio summary {
    cursor: pointer;
    color: var(--neon-cyan);
    font-weight: 800;
    padding: 8px 0;
}

.browser-runtime-studio-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.browser-runtime-studio-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 8px;
}

.browser-runtime-code,
.browser-runtime-js {
    min-height: 96px;
    max-height: 180px;
    resize: vertical;
    color: var(--neon-lime);
    background: #050505;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    padding: 9px;
    font-family: var(--font-code);
    font-size: 12px;
}

.browser-iframe-container,
.browser-runtime-frame-wrap {
    flex: 1 1 auto;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    background: #020611;
    position: relative;
    overflow: hidden;
}

.browser-iframe,
.browser-runtime-frame {
    position: absolute;
    inset: 0;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    border: none;
    display: block;
    background: #020611;
}

.browser-runtime-console {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: 35%;
    overflow: auto;
    background: rgba(0, 0, 0, 0.92);
    color: var(--neon-lime);
    border-top: 1px solid var(--color-border);
    font-family: var(--font-code);
    font-size: 12px;
    z-index: 4;
}

.browser-runtime.has-console .browser-runtime-console { display: block; }

.browser-runtime-console-head {
    padding: 6px 8px;
    color: var(--neon-cyan);
    border-bottom: 1px solid var(--color-border);
}

.browser-runtime-console-line {
    padding: 4px 8px;
    white-space: pre-wrap;
}

@media (max-width: 820px) {
    .browser-runtime-studio-grid { grid-template-columns: 1fr; }
    .browser-runtime-toolbar { flex-wrap: wrap; }
}



/* CompactCSS source: /apps/code/css/views/virtual-os.css */

/* B"H */

/* CompactCSS source: /apps/code/css/views/virtual-os/root.css */

/* B"H */

#virtual-os-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #030711;
}

#virtual-os-wrapper:not(.hidden) {
    display: block;
    visibility: visible;
}

.virtual-os-root {
    --vos-bg-main:
        radial-gradient(circle at 18% 12%, rgba(0, 246, 255, 0.18), transparent 24%),
        radial-gradient(circle at 78% 22%, rgba(255, 0, 212, 0.16), transparent 28%),
        radial-gradient(circle at 50% 90%, rgba(122, 92, 255, 0.22), transparent 42%),
        linear-gradient(135deg, #07101f, #050713 52%, #10051e);
    --vos-panel: rgba(7, 13, 28, 0.95);
    --vos-panel-soft: rgba(10, 21, 42, 0.74);
    --vos-border: rgba(0, 246, 255, 0.38);
    --vos-border-strong: rgba(0, 246, 255, 0.72);
    --vos-text: #e8f7ff;
    --vos-muted: rgba(232, 247, 255, 0.62);
    --vos-cyan: #00f6ff;
    --vos-magenta: #ff4dff;
    --vos-green: #00ff9c;
    --vos-yellow: #ccff00;
    --vos-danger: #ff6b91;
    --vos-radius: 11px;
    --vos-taskbar-height: 42px;
    --vos-titlebar-height: 34px;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 320px;
    overflow: hidden;
    color: var(--vos-text);
    isolation: isolate;
    background: var(--vos-bg-main);
}

.virtual-os-stage {
    position: absolute;
    inset: 0 0 var(--vos-taskbar-height) 0;
    z-index: 1;
    overflow: hidden;
}

.virtual-os-windows {
    position: absolute;
    inset: 0;
    z-index: 4;
    overflow: hidden;
    pointer-events: none;
}

.virtual-os-windows > * {
    pointer-events: auto;
}



/* CompactCSS source: /apps/code/css/views/virtual-os/wallpaper.css */

/* B"H */

.virtual-os-root::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.026) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: radial-gradient(circle at center, black, transparent 85%);
}

.virtual-os-root::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,0.05), transparent 8%, transparent 90%, rgba(0,246,255,0.06));
    mix-blend-mode: screen;
}

.virtual-os-wallpaper-title {
    position: absolute;
    right: 24px;
    bottom: 60px;
    z-index: 1;
    opacity: 0.32;
    text-align: right;
    font-family: var(--font-code, monospace);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    pointer-events: none;
}

.virtual-os-wallpaper-title strong {
    display: block;
    font-size: clamp(22px, 4vw, 46px);
    color: var(--vos-cyan);
    text-shadow: 0 0 28px rgba(0,246,255,0.8);
}

.virtual-os-wallpaper-title span {
    display: block;
    color: var(--vos-magenta);
    font-size: 11px;
}



/* CompactCSS source: /apps/code/css/views/virtual-os/desktop/icons.css */

/* B"H */

.virtual-os-desktop {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
}

.virtual-desktop-icon {
    position: absolute;
    left: var(--vos-icon-x, 18px);
    top: var(--vos-icon-y, 18px);
    width: 88px;
    min-height: 90px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: rgba(2, 8, 18, 0.16);
    color: var(--vos-text);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    padding: 8px 5px;
    cursor: pointer;
    user-select: none;
    touch-action: none;
    font-family: var(--font-code, monospace);
    text-align: center;
    transition: transform 120ms ease, border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
}

.virtual-desktop-icon:hover,
.virtual-desktop-icon:focus,
.virtual-desktop-icon.is-selected {
    transform: translateY(-2px);
    outline: none;
    border-color: var(--vos-border-strong);
    background: rgba(0, 246, 255, 0.13);
    box-shadow: 0 0 22px rgba(0, 246, 255, 0.22);
}

.virtual-desktop-icon-symbol {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    font-size: 24px;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.22), rgba(255,255,255,0.03)),
        linear-gradient(135deg, rgba(0,246,255,0.55), rgba(224,0,255,0.35));
    border: 1px solid rgba(255,255,255,0.25);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.35), 0 0 18px rgba(0,246,255,0.22);
}

.virtual-desktop-icon-label {
    font-size: 11px;
    line-height: 1.18;
    text-shadow: 0 1px 2px #000;
    word-break: break-word;
}



/* CompactCSS source: /apps/code/css/views/virtual-os/windows/base.css */

/* B"H */

.virtual-window {
    position: absolute;
    left: var(--vos-window-x, 40px);
    top: var(--vos-window-y, 32px);
    width: var(--vos-window-width, 640px);
    height: var(--vos-window-height, 420px);
    z-index: var(--vos-window-z, 20);
    display: flex;
    flex-direction: column;
    min-width: 280px;
    min-height: 190px;
    background: #07101f;
    border: 1px solid var(--vos-border-strong);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.04) inset,
        0 20px 48px rgba(0, 0, 0, 0.62),
        0 0 34px rgba(0, 246, 255, 0.2);
    border-radius: var(--vos-radius);
    overflow: hidden;
    color: var(--vos-text);
    pointer-events: auto;
}

.virtual-window.is-focused {
    border-color: rgba(255, 72, 255, 0.95);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.07) inset,
        0 26px 58px rgba(0, 0, 0, 0.72),
        0 0 44px rgba(255, 72, 255, 0.28);
}

.virtual-window.is-minimized {
    display: none;
}

.virtual-window.maximized {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: calc(100% - var(--vos-taskbar-height)) !important;
    border-radius: 0;
}

.virtual-window-content {
    flex: 1;
    min-height: 0;
    overflow: auto;
    background: rgba(0, 0, 0, 0.82);
}

@media (max-width: 700px) {
    .virtual-window {
        min-width: 240px;
        min-height: 180px;
    }
}



/* CompactCSS source: /apps/code/css/views/virtual-os/windows/titlebar.css */

/* B"H */

.virtual-window-titlebar {
    height: var(--vos-titlebar-height);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    padding: 0 8px 0 10px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.08), transparent),
        linear-gradient(90deg, #17284a, #111a39 55%, #301252);
    color: var(--vos-cyan);
    cursor: grab;
    touch-action: none;
    user-select: none;
    border-bottom: 1px solid rgba(0, 246, 255, 0.28);
}

.virtual-window-titlebar:active {
    cursor: grabbing;
}

.virtual-window-title {
    font-weight: 900;
    font-size: 12px;
    letter-spacing: 0.45px;
    font-family: var(--font-code, monospace);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 700px) {
    .virtual-window-titlebar {
        height: 40px;
    }
}



/* CompactCSS source: /apps/code/css/views/virtual-os/windows/controls.css */

/* B"H */

.virtual-window-controls {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

.virtual-window-controls button {
    width: 29px;
    height: 22px;
    border: 1px solid rgba(0, 246, 255, 0.48);
    background: #101a30;
    color: var(--vos-text);
    cursor: pointer;
    border-radius: 5px;
    font-weight: 900;
    line-height: 1;
}

.virtual-window-controls button:hover {
    background: #16345e;
    color: #ffffff;
    box-shadow: 0 0 12px rgba(0,246,255,0.35);
}

.virtual-window-control-close:hover {
    background: #7a1232;
    border-color: #ff4f88;
    box-shadow: 0 0 14px rgba(255,79,136,0.45);
}

@media (max-width: 700px) {
    .virtual-window-controls button {
        width: 34px;
        height: 28px;
    }
}



/* CompactCSS source: /apps/code/css/views/virtual-os/windows/resize.css */

/* B"H */

.virtual-window-resize-handle {
    position: absolute;
    width: 18px;
    height: 18px;
    right: 1px;
    bottom: 1px;
    cursor: nwse-resize;
    touch-action: none;
}

.virtual-window-resize-handle::after {
    content: "";
    position: absolute;
    right: 4px;
    bottom: 4px;
    width: 8px;
    height: 8px;
    border-right: 2px solid rgba(0,246,255,0.7);
    border-bottom: 2px solid rgba(0,246,255,0.7);
}



/* CompactCSS source: /apps/code/css/views/virtual-os/taskbar/base.css */

/* B"H */

.virtual-os-taskbar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--vos-taskbar-height);
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 9px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.26), transparent 42%),
        linear-gradient(90deg, #00c8ff, #765cff 45%, #e000ff);
    color: #05070c;
    font-family: var(--font-code, monospace);
    font-weight: 900;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.46);
    z-index: 9000;
}

.virtual-os-start {
    height: 30px;
    padding: 0 15px;
    border: 0;
    border-radius: 7px;
    background: #05070c;
    color: var(--vos-cyan);
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.15), 0 0 18px rgba(0,0,0,0.28);
    font-family: var(--font-code, monospace);
    font-weight: 900;
    cursor: pointer;
}

.virtual-os-start:hover {
    color: #ffffff;
    box-shadow: 0 0 22px rgba(0,246,255,0.38);
}



/* CompactCSS source: /apps/code/css/views/virtual-os/taskbar/tasks.css */

/* B"H */

.virtual-os-tasks {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    overflow: auto;
    flex: 1;
}

.virtual-os-task {
    height: 30px;
    max-width: 180px;
    padding: 0 10px;
    background: rgba(5, 7, 12, 0.78);
    color: white;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--font-code, monospace);
    font-weight: 900;
    cursor: pointer;
}

.virtual-os-task.is-active {
    background: rgba(255,255,255,0.92);
    color: #111629;
}

.virtual-os-task:hover {
    background: rgba(0, 246, 255, 0.2);
    color: #ffffff;
}



/* CompactCSS source: /apps/code/css/views/virtual-os/start-menu/base.css */

/* B"H */

.virtual-os-start-menu {
    position: absolute;
    left: 8px;
    bottom: 49px;
    width: 284px;
    padding: 10px;
    background:
        linear-gradient(180deg, rgba(0,246,255,0.08), transparent 28%),
        rgba(7, 13, 28, 0.97);
    border: 1px solid var(--vos-cyan);
    border-radius: 12px;
    box-shadow:
        0 0 30px rgba(0, 246, 255, 0.25),
        0 20px 50px rgba(0,0,0,0.58);
    z-index: 9500;
    font-family: var(--font-code, monospace);
}

.virtual-os-start-menu.hidden {
    display: none;
}

.virtual-os-start-menu-title {
    padding: 8px;
    margin-bottom: 6px;
    border-radius: 8px;
    color: var(--vos-cyan);
    background: rgba(0,0,0,0.38);
    font-weight: 900;
    letter-spacing: 0.04em;
}



/* CompactCSS source: /apps/code/css/views/virtual-os/start-menu/items.css */

/* B"H */

.virtual-os-start-menu-item {
    width: 100%;
    min-height: 42px;
    margin: 5px 0;
    padding: 7px 8px;
    display: flex;
    align-items: center;
    gap: 9px;
    text-align: left;
    background: rgba(16, 23, 42, 0.92);
    color: var(--vos-text);
    border: 1px solid rgba(0, 246, 255, 0.28);
    border-radius: 8px;
    cursor: pointer;
}

.virtual-os-start-menu-item:hover {
    background: rgba(0, 246, 255, 0.16);
    border-color: rgba(0,246,255,0.72);
}

.virtual-os-start-menu-icon {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(0,246,255,0.5), rgba(224,0,255,0.34));
}

.virtual-os-start-menu-label {
    font-weight: 900;
}

.virtual-os-start-menu-desc {
    display: block;
    opacity: 0.68;
    font-size: 10px;
    margin-top: 2px;
}



/* CompactCSS source: /apps/code/css/views/virtual-os/apps/common.css */

/* B"H */

.vos-app {
    height: 100%;
    min-height: 0;
    box-sizing: border-box;
    color: var(--vos-text);
    font-family: var(--font-code, monospace);
}

.vos-app-toolbar {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 6px;
    border-bottom: 1px solid rgba(0,246,255,0.25);
    background: rgba(9, 18, 36, 0.92);
}

.vos-app-button {
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(0,246,255,0.4);
    border-radius: 6px;
    background: rgba(0, 246, 255, 0.08);
    color: var(--vos-text);
    cursor: pointer;
    font-family: var(--font-code, monospace);
    font-weight: 800;
}

.vos-app-button:hover {
    background: rgba(0,246,255,0.18);
}

.vos-app-input {
    min-height: 28px;
    border: 1px solid rgba(0,246,255,0.35);
    border-radius: 6px;
    background: #020713;
    color: var(--vos-text);
    padding: 0 8px;
    font-family: var(--font-code, monospace);
}

.vos-app-path {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--vos-cyan);
    opacity: 0.92;
    font-size: 11px;
}

.vos-app-body {
    height: calc(100% - 51px);
    min-height: 0;
    overflow: auto;
}

.vos-empty {
    padding: 16px;
    color: var(--vos-cyan);
}

.vos-app-error {
    height: 100%;
    padding: 14px;
    box-sizing: border-box;
    overflow: auto;
    color: #ffb0b0;
    background: #18070a;
    font-family: var(--font-code, monospace);
}

.vos-app-error-title {
    font-weight: 900;
    margin-bottom: 8px;
}

.vos-app-error-stack {
    white-space: pre-wrap;
    color: #ffd0d0;
}



/* CompactCSS source: /apps/code/css/views/virtual-os/apps/file-commander-window.css */

/* B"H */

.vos-file-commander-host {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: #02050b;
}

.vos-file-commander-host .file-commander,
.vos-file-commander-host .fc-root,
.vos-file-commander-host .fc-container {
    height: 100%;
    min-height: 0;
}

.vos-file-commander-host button,
.vos-file-commander-host input,
.vos-file-commander-host select {
    font-family: var(--font-code, monospace);
}

.vos-file-commander-host .fc-content {
    min-height: 0;
}



/* CompactCSS source: /apps/code/css/views/virtual-os/apps/browser.css */

/* B"H */

.vos-browser-app,
.browser-runtime {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: #000;
    color: var(--vos-text);
    font-family: var(--font-code, monospace);
}

.vos-browser-toolbar,
.browser-runtime-toolbar {
    min-height: 40px;
    display: grid;
    grid-template-columns: auto auto auto 1fr auto auto;
    gap: 6px;
    align-items: center;
    padding: 6px;
    border-bottom: 1px solid rgba(0,246,255,0.26);
    background: rgba(9, 18, 36, 0.95);
}

.vos-browser-address,
.browser-runtime-address {
    width: 100%;
}

.vos-browser-frame-wrap,
.browser-runtime-frame-wrap {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    background: #02050a;
}

.vos-browser-app.has-console .vos-browser-frame-wrap,
.browser-runtime.has-console .browser-runtime-frame-wrap {
    grid-template-columns: 1fr minmax(220px, 32%);
}

.vos-browser-frame,
.browser-runtime-frame {
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}

.vos-browser-console,
.browser-runtime-console {
    display: none;
    border-left: 1px solid rgba(0,246,255,0.28);
    background: #030711;
    color: #c8ffd8;
    overflow: auto;
    font-size: 11px;
}

.vos-browser-app.has-console .vos-browser-console,
.browser-runtime.has-console .browser-runtime-console {
    display: block;
}

.vos-browser-console-head,
.browser-runtime-console-head {
    padding: 7px;
    background: rgba(0,246,255,0.1);
    color: var(--vos-cyan);
    border-bottom: 1px solid rgba(0,246,255,0.22);
    font-weight: 900;
}

.vos-browser-console-lines,
.browser-runtime-console-lines {
    padding: 8px;
    white-space: pre-wrap;
}

.vos-browser-console-line,
.browser-runtime-console-line {
    margin-bottom: 5px;
    line-height: 1.35;
}

.vos-browser-console-line.error,
.browser-runtime-console-line.error {
    color: #ff9c9c;
}

.vos-browser-console-line.warn,
.browser-runtime-console-line.warn {
    color: #ffe78a;
}



/* CompactCSS source: /apps/code/css/views/virtual-os/apps/terminal.css */

/* B"H */

.vos-terminal-app,
.terminal-shell {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: #000;
    color: var(--vos-green);
    font-family: var(--font-code, monospace);
}

.vos-terminal-head {
    padding: 10px;
    border-bottom: 1px solid rgba(0,255,156,0.25);
    color: var(--vos-cyan);
    display: grid;
    gap: 3px;
}

.vos-terminal-output,
.terminal-output {
    flex: 1;
    min-height: 0;
    overflow: auto;
    margin: 0;
    padding: 12px;
    color: var(--vos-green);
    white-space: pre-wrap;
}

.vos-terminal-row,
.terminal-input-row {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    border-top: 1px solid rgba(0,255,156,0.25);
    background: #030815;
}

.terminal-directory-line {
    padding: 6px 10px;
    color: var(--vos-cyan);
    border-top: 1px solid rgba(0,246,255,0.15);
    background: #02050b;
}

.vos-terminal-prompt,
.terminal-prompt {
    color: var(--vos-yellow);
    font-weight: 900;
}

.terminal-input {
    flex: 1;
    min-width: 0;
    border: 1px solid rgba(0,246,255,0.25);
    border-radius: 6px;
    background: #07101f;
    color: var(--vos-text);
    padding: 7px;
    font-family: var(--font-code, monospace);
}

.terminal-run {
    min-height: 30px;
    border: 1px solid rgba(0,246,255,0.45);
    border-radius: 6px;
    background: rgba(0,246,255,0.12);
    color: var(--vos-text);
    font-weight: 900;
}

.terminal-line.cmd-error {
    color: #ff7070;
}

.terminal-line.cmd-success {
    color: #9cff9c;
}

.terminal-line.cmd-info {
    color: var(--vos-cyan);
}

.terminal-history-block {
    color: var(--vos-text);
    margin-top: 8px;
}

.terminal-history-path {
    color: var(--vos-cyan);
    font-weight: 900;
}

.terminal-history-dollar {
    color: var(--vos-yellow);
    font-weight: 900;
    margin-left: 8px;
}

.terminal-history-command {
    color: var(--vos-text);
    margin-left: 8px;
}



/* CompactCSS source: /apps/code/css/views/virtual-os/apps/notepad.css */

/* B"H */

.vos-notepad-app {
    display: flex;
    flex-direction: column;
    background: #f4f1df;
    color: #151515;
}

.vos-notepad-toolbar {
    background: linear-gradient(180deg, #fff8c4, #e5d98f);
    border-bottom: 1px solid #b6a950;
}

.vos-notepad-textarea {
    flex: 1;
    width: 100%;
    min-height: 0;
    resize: none;
    box-sizing: border-box;
    border: 0;
    outline: none;
    padding: 14px;
    background:
        repeating-linear-gradient(
            to bottom,
            #fffbea,
            #fffbea 27px,
            #d9edff 28px
        );
    color: #111;
    line-height: 28px;
    font-family: var(--font-code, monospace);
}



/* CompactCSS source: /apps/code/css/views/virtual-os/apps/settings.css */

/* B"H */

.vos-settings-app {
    background: #07101f;
    overflow: auto;
}

.vos-settings-section {
    margin: 12px;
    padding: 12px;
    border: 1px solid rgba(0,246,255,0.24);
    border-radius: 10px;
    background: rgba(0,0,0,0.28);
}

.vos-settings-title {
    color: var(--vos-cyan);
    font-weight: 900;
    margin-bottom: 8px;
}

.vos-settings-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 0;
    border-top: 1px solid rgba(255,255,255,0.06);
}



/* CompactCSS source: /apps/code/css/views/virtual-os/apps/task-manager.css */

/* B"H */

.vos-task-manager-app {
    background: #050b16;
    overflow: auto;
}

.vos-task-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.vos-task-table th,
.vos-task-table td {
    border-bottom: 1px solid rgba(0,246,255,0.16);
    padding: 8px;
    text-align: left;
}

.vos-task-table th {
    color: var(--vos-cyan);
    background: rgba(0,246,255,0.08);
}



/* CompactCSS source: /apps/code/css/views/virtual-os/apps/git-control.css */

/* B"H */

.vos-git-control-app {
    background: #050b16;
    overflow: auto;
}

.vos-git-card {
    margin: 12px;
    padding: 12px;
    border: 1px solid rgba(0,246,255,0.24);
    border-radius: 10px;
    background: rgba(0,0,0,0.28);
}

.vos-git-status-line {
    margin: 6px 0;
    color: #d8fff8;
}



/* CompactCSS source: /apps/code/css/views/virtual-os/diagnostics.css */

/* B"H */

.vos-boot-screen,
.vos-fatal-screen {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at center, rgba(0, 246, 255, 0.12), transparent 34%),
        #05070c;
    color: var(--vos-cyan);
    font-family: var(--font-code, monospace);
    z-index: 100;
}

.vos-boot-card,
.vos-fatal-card {
    max-width: 620px;
    padding: 18px 20px;
    border: 1px solid rgba(0, 246, 255, 0.58);
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.72);
    box-shadow: 0 0 30px rgba(0, 246, 255, 0.16);
}

.vos-boot-title,
.vos-fatal-title {
    font-weight: 900;
    margin-bottom: 8px;
}

.vos-boot-message,
.vos-fatal-message {
    white-space: pre-wrap;
    line-height: 1.45;
}

.vos-visibility-probe {
    position: absolute;
    right: 8px;
    top: 8px;
    z-index: 20000;
    max-width: 360px;
    padding: 8px 10px;
    border: 1px solid rgba(0, 246, 255, 0.55);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.76);
    color: var(--vos-cyan);
    font-family: var(--font-code, monospace);
    font-size: 11px;
    pointer-events: none;
}

.vos-debug-off .vos-visibility-probe {
    display: none;
}





/* CompactCSS source: /apps/code/css/views/android-emulator.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos composes shell, content, trusted WebView, focus, and motion anew.
Awtsmoos.com keeps each Android styling responsibility in a focused vessel.
*/


/* CompactCSS source: /apps/code/css/views/android-emulator-shell.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos creates device, canvas, header, and luminous boundary anew.
Awtsmoos.com gives Android execution a focused shell around its content.
*/

.code-android-emulator {
	position: fixed;
	inset: clamp(0.75rem, 3vw, 2rem);
	z-index: 100000;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	min-width: 0;
	min-height: 0;
	color: var(--text-primary, #f5f7ff);
	background:
		radial-gradient(circle at 20% 0%, rgb(79 126 255 / 16%), transparent 38%),
		linear-gradient(145deg, rgb(12 16 27 / 98%), rgb(7 10 18 / 98%));
	border: 1px solid rgb(143 167 255 / 24%);
	border-radius: clamp(1rem, 2vw, 1.5rem);
	box-shadow: 0 2rem 6rem rgb(0 0 0 / 58%);
	backdrop-filter: blur(24px) saturate(130%);
	overflow: hidden;
}

.code-android-emulator__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.9rem 1rem;
	border-bottom: 1px solid rgb(255 255 255 / 10%);
	background: rgb(255 255 255 / 4%);
}

.code-android-emulator__title {
	margin: 0;
	font-size: 0.95rem;
	letter-spacing: 0.04em;
}

.code-android-emulator__close {
	min-height: 2.5rem;
	padding-inline: 1rem;
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: 0.75rem;
	color: inherit;
	background: rgb(255 255 255 / 7%);
	cursor: pointer;
}

.code-android-emulator__body {
	display: grid;
	grid-template-columns: minmax(18rem, 0.8fr) minmax(20rem, 1.2fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	min-height: 0;
	padding: clamp(1rem, 2vw, 1.5rem);
}

.code-android-emulator__device {
	display: grid;
	grid-template-rows: minmax(16rem, 1fr) auto;
	min-height: 0;
	padding: 0.65rem;
	border: 1px solid rgb(255 255 255 / 12%);
	border-radius: 1.25rem;
	background: #03050a;
	box-shadow: inset 0 0 0 0.35rem #111722;
}

.code-android-emulator__canvas {
	width: 100%;
	height: 100%;
	min-height: 16rem;
	border-radius: 0.8rem;
	background: #080d17;
}



/* CompactCSS source: /apps/code/css/views/android-emulator-content.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos creates projected content, inspector, status, and evidence anew.
Awtsmoos.com keeps runtime testimony readable beside the Android device vessel.
*/

.code-android-emulator__content {
	max-height: 12rem;
	padding: 0.75rem;
	overflow: auto;
	font-size: 0.78rem;
	color: rgb(235 240 255 / 86%);
}

.code-android-emulator__content pre {
	margin: 0.5rem 0 0;
	white-space: pre-wrap;
}

.code-android-emulator__inspector {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	min-width: 0;
	min-height: 0;
}

.code-android-emulator__status {
	margin: 0 0 0.75rem;
	padding: 0.75rem 0.9rem;
	border-radius: 0.8rem;
	background: rgb(94 137 255 / 12%);
	color: #dfe7ff;
}

.code-android-emulator__report {
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 1rem;
	overflow: auto;
	border: 1px solid rgb(255 255 255 / 10%);
	border-radius: 1rem;
	background: rgb(0 0 0 / 24%);
	white-space: pre-wrap;
	word-break: break-word;
	font-size: 0.75rem;
	line-height: 1.55;
}



/* CompactCSS source: /apps/code/css/views/android-emulator-webview.css */
/*B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews isolated package, module graph, iframe, and device screen.
Awtsmoos.com gives every APK web garment the same bounded browser surface within.
*/

.code-android-emulator__webview {
	width: 100%;
	height: 100%;
	min-height: 30rem;
	border: 0;
	border-radius: 0.65rem;
	background: #fff;
	color-scheme: light dark;
}

.code-android-emulator__content:has(.code-android-emulator__webview) {
	max-height: none;
	min-height: 30rem;
	padding: 0;
	overflow: hidden;
	border-radius: 0.65rem;
}

.code-android-emulator__device:has(.code-android-emulator__webview) {
	grid-template-rows: minmax(0, 1fr);
}

.code-android-emulator__device:has(.code-android-emulator__webview)
	.code-android-emulator__canvas {
	display: none;
}

@media (max-width: 780px) {
	.code-android-emulator__webview,
	.code-android-emulator__content:has(.code-android-emulator__webview) {
		min-height: 38rem;
	}
}



/* CompactCSS source: /apps/code/css/views/android-emulator-responsive.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews narrow screen, focus ring, error boundary, and quiet motion.
Awtsmoos.com lets the Android vessel remain usable for every viewport and body.
*/

.code-android-emulator[data-state="error"] {
	border-color: rgb(255 99 99 / 45%);
}

.code-android-emulator :focus-visible {
	outline: 3px solid var(--accent-primary, #75a2ff);
	outline-offset: 3px;
}

@media (max-width: 780px) {
	.code-android-emulator {
		inset: 0;
		border: 0;
		border-radius: 0;
	}

	.code-android-emulator__body {
		grid-template-columns: 1fr;
		overflow: auto;
	}

	.code-android-emulator__device {
		min-height: 34rem;
	}

	.code-android-emulator__inspector {
		min-height: 20rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.code-android-emulator,
	.code-android-emulator * {
		scroll-behavior: auto;
		transition-duration: 0.01ms !important;
	}
}





/* CompactCSS source: /apps/code/css/zip-explorer.css */
/* B"H - ZIP EXPLORER STYLES */

#zip-editor-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: var(--color-bg-deep);
    color: var(--color-text-primary);
    font-family: var(--font-ui);
    overflow: hidden;
}

.zip-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background-color: var(--color-bg-secondary);
    border-bottom: 1px solid var(--color-border);
    flex-shrink: 0;
}

.zip-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.zip-filename {
    font-weight: 700;
    font-size: 1.1em;
    color: var(--neon-cyan);
}

.zip-stats {
    font-size: 0.9em;
    color: var(--color-text-tertiary);
    background: rgba(0,0,0,0.2);
    padding: 4px 8px;
    border-radius: 4px;
}

.zip-actions {
    display: flex;
    gap: 8px;
}

.zip-content {
    flex-grow: 1;
    overflow-y: auto;
    padding: 16px;
}

.zip-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95em;
}

.zip-table th {
    text-align: left;
    padding: 8px 12px;
    border-bottom: 2px solid var(--color-border);
    color: var(--color-text-secondary);
    font-weight: 600;
    position: sticky;
    top: 0;
    background-color: var(--color-bg-deep);
    z-index: 10;
}

.zip-table td {
    padding: 8px 12px;
    border-bottom: 1px solid var(--color-bg-secondary);
}

.zip-row {
    cursor: pointer;
    transition: background-color 0.15s;
}

.zip-row:hover {
    background-color: var(--color-bg-hover);
}

.zip-row.modified td:first-child {
    color: var(--neon-lime);
    position: relative;
}
.zip-row.modified td:first-child::before {
    content: '●';
    position: absolute;
    left: 2px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 8px;
    color: var(--neon-lime);
}

.zip-icon-cell {
    width: 32px;
    text-align: center;
    font-size: 1.2em;
}

.zip-name-cell {
    color: var(--color-text-primary);
}

.zip-size-cell {
    color: var(--color-text-tertiary);
    font-family: var(--font-code);
    text-align: right;
    width: 100px;
}

.zip-ratio-cell {
    color: var(--color-text-tertiary);
    text-align: right;
    width: 80px;
}

.zip-empty-msg {
    text-align: center;
    padding: 40px;
    color: var(--color-text-tertiary);
    font-style: italic;
}


/* CompactCSS source: /apps/code/css/tab-manager.css */

/* B"H - TAB MANAGER OVERLAY */

.tab-manager-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(13, 15, 18, 0.98);
    backdrop-filter: blur(15px);
    z-index: 20000;
    display: flex;
    flex-direction: column;
    padding: 40px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.tab-manager-overlay.visible {
    opacity: 1;
    pointer-events: auto;
}

.tm-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    flex-shrink: 0;
}

.tm-header h2 {
    margin: 0;
    color: var(--neon-cyan);
    font-size: 2em;
    text-shadow: 0 0 20px var(--glow-cyan);
    letter-spacing: 2px;
}

.tm-controls {
    display: flex;
    gap: 12px;
    align-items: center;
}

#tm-search {
    background: var(--color-bg-secondary);
    border: 1px solid var(--color-border);
    padding: 10px 16px;
    border-radius: 20px;
    width: 300px;
    color: white;
    font-size: 1.1em;
    outline: none;
    transition: box-shadow 0.2s ease;
}
#tm-search:focus {
    box-shadow: 0 0 10px var(--glow-cyan);
    border-color: var(--neon-cyan);
}

/* --- FLAT GRID VIEW --- */
.tm-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    overflow-y: auto;
    padding-bottom: 80px; 
    align-content: start;
}

/* --- HIERARCHICAL FOLDER VIEW --- */
.tm-folder-layout {
    display: flex;
    flex-direction: column;
    padding-bottom: 80px;
    width: 100%;
    overflow-y: auto;
}

.tm-tree-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

.tm-tree-node {
    display: flex;
    flex-direction: column;
}

.tm-tree-node.root {
    background-color: var(--color-bg-deep);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    overflow: hidden;
}

.tm-tree-node.nested {
    margin-left: 20px;
    border-left: 1px solid var(--color-border);
    margin-top: 8px;
}

.tm-tree-header {
    display: flex;
    align-items: center;
    padding: 14px 20px;
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.02);
    user-select: none;
    transition: background 0.2s;
}

.tm-tree-header:hover {
    background-color: rgba(0, 246, 255, 0.1);
}

.tm-tree-node.nested > .tm-tree-header {
    padding: 8px 12px;
    background-color: transparent;
}

.tm-tree-node.nested > .tm-tree-header:hover {
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 6px;
}

.tm-folder-caret {
    display: inline-block;
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    font-size: 0.9em;
    color: var(--color-text-tertiary);
    width: 20px;
    text-align: center;
}

.tm-tree-node.expanded > .tm-tree-header .tm-folder-caret {
    transform: rotate(90deg);
    color: var(--neon-cyan);
}

.tm-folder-icon {
    width: 1.2em;
    height: 1.2em;
    margin-right: 12px;
    fill: var(--neon-cyan);
}

.tm-tree-node.nested > .tm-tree-header .tm-folder-icon {
    margin-right: 8px;
    opacity: 0.8;
}

.tm-folder-title {
    font-weight: bold;
    font-family: var(--font-code);
    font-size: 1.05em;
    flex-grow: 1;
    color: var(--color-text-primary);
}

.tm-tree-node.nested > .tm-tree-header .tm-folder-title {
    font-size: 0.95em;
    color: var(--color-text-secondary);
}

.tm-folder-count {
    background: rgba(168, 255, 0, 0.1);
    color: var(--neon-lime);
    padding: 2px 8px;
    border-radius: 12px;
    font-weight: bold;
    font-size: 0.85em;
    border: 1px solid rgba(168, 255, 0, 0.3);
}

.tm-tree-body {
    display: none;
    flex-direction: column;
    padding-bottom: 10px;
}

.tm-tree-node.expanded > .tm-tree-body {
    display: flex;
}

.tm-tree-node.root > .tm-tree-body {
    padding: 15px 20px;
    background-color: var(--color-bg-primary);
    border-top: 1px solid var(--color-border);
}

.tm-tree-tabs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 15px;
    margin-top: 10px;
    padding-left: 20px; /* Align with nested folders */
}

.tm-tree-node.root > .tm-tree-body > .tm-tree-tabs-grid {
    padding-left: 0;
    margin-top: 0;
}


/* --- CARD STYLES --- */
.tm-card {
    background-color: var(--color-bg-secondary);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
    height: 120px; /* Fixed height for uniformity */
    user-select: none;
}

.tm-card:hover {
    transform: translateY(-4px);
    border-color: var(--neon-cyan);
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.5);
    background-color: var(--color-bg-tertiary);
}

/* Selection Mode Styles */
.tab-manager-overlay.selection-mode .tm-card {
    border-style: dashed;
}
.tab-manager-overlay.selection-mode .tm-card:hover {
    transform: none; 
}

.tm-card.selected {
    background-color: rgba(0, 246, 255, 0.1);
    border: 2px solid var(--neon-cyan);
    box-shadow: 0 0 15px var(--glow-cyan) inset;
}

.tm-card.active-tab {
    border-left: 4px solid var(--neon-magenta);
}

/* Pinned State */
.tm-card.pinned {
    border-top: 3px solid var(--neon-lime);
}
.tm-card.pinned::after {
    content: '📌';
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 1.2em;
}

/* Dragging Styles */
.tm-card.dragging {
    opacity: 0.5;
    transform: scale(0.95);
    box-shadow: 0 0 20px var(--neon-magenta);
}

.tm-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-grow: 1; 
}

.tm-icon {
    font-size: 2em;
    color: var(--color-text-tertiary);
    flex-shrink: 0;
}

.tm-info {
    flex-grow: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tm-name {
    display: block;
    font-weight: 700;
    font-size: 1.1em;
    color: var(--color-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 6px; 
}

.tm-path {
    display: block;
    font-size: 0.85em;
    color: var(--color-text-tertiary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Status Indicators */
.tm-status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 6px;
    background-color: transparent;
}
.tm-status-dot.dirty { background-color: var(--neon-magenta); box-shadow: 0 0 5px var(--neon-magenta); }
.tm-status-dot.uncommitted { background-color: var(--neon-lime); box-shadow: 0 0 5px var(--neon-lime); }


/* FLOATING ACTION BAR */
.tm-selection-bar {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(30, 34, 50, 0.95);
    border: 1px solid var(--neon-cyan);
    box-shadow: 0 5px 30px var(--glow-cyan);
    border-radius: 50px;
    padding: 10px 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    z-index: 20002;
    animation: slideUp 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes slideUp { from { transform: translate(-50%, 50px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }

.tm-selection-info {
    font-weight: 700;
    color: var(--neon-cyan);
    border-right: 1px solid var(--color-border);
    padding-right: 20px;
}

.tm-selection-actions {
    display: flex;
    gap: 10px;
}

/* CONTEXT MENU */
.tm-context-menu {
    position: absolute;
    background-color: var(--color-bg-secondary);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 6px;
    display: flex;
    flex-direction: column;
    min-width: 150px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.8);
    z-index: 20005;
    backdrop-filter: blur(10px);
}

.tm-context-menu button {
    background: none;
    border: none;
    color: var(--color-text-primary);
    text-align: left;
    padding: 10px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.95em;
    transition: background 0.1s;
}

.tm-context-menu button:hover {
    background-color: var(--color-accent-primary);
    color: var(--color-bg-deep);
}

.tm-context-menu button.danger {
    color: var(--color-accent-danger);
}
.tm-context-menu button.danger:hover {
    background-color: var(--color-accent-danger);
    color: white;
}

@media (max-width: 768px) {
    .tm-selection-bar {
        width: 90%;
        border-radius: 12px;
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }
    .tm-selection-info {
        border-right: none;
        border-bottom: 1px solid var(--color-border);
        padding-right: 0;
        padding-bottom: 10px;
        width: 100%;
        text-align: center;
    }
    .tm-selection-actions {
        width: 100%;
        justify-content: space-between;
    }
}



/* CompactCSS source: /apps/code/css/tab-manager-lifecycle.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews open, hidden, and closed tab vessels as separate chambers.
*/

/* CompactCSS source: /apps/code/css/tab-manager-lifecycle/shell.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews the tab-lifecycle shell and section chambers.
*/
.tm-lifecycle-shell {
	max-width: 1040px;
	margin: 28px auto;
	padding: 20px;
	background: color-mix(in srgb, var(--color-bg-secondary) 94%, transparent);
	border: 1px solid var(--color-border);
	border-radius: 18px;
	box-shadow: 0 24px 90px rgba(0, 0, 0, .55);
	color: var(--color-text-primary);
}
.tm-lifecycle-header,
.tm-lifecycle-section > header,
.tm-lifecycle-card,
.tm-lifecycle-actions {
	display: flex;
	align-items: center;
}
.tm-lifecycle-header {
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}
.tm-lifecycle-header h2,
.tm-lifecycle-section h3,
.tm-lifecycle-section p { margin: 0; }
.tm-lifecycle-header > button {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid var(--color-border);
	background: var(--color-bg-tertiary);
	color: inherit;
	font-size: 1.5rem;
	cursor: pointer;
}
.tm-lifecycle-section { margin-top: 22px; }
.tm-lifecycle-section > header {
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 10px;
}
.tm-lifecycle-section p,
.tm-lifecycle-card small,
.tm-lifecycle-card span {
	color: var(--color-text-tertiary);
	font-size: .82rem;
}
.tm-lifecycle-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 10px;
}
.tm-lifecycle-empty {
	grid-column: 1 / -1;
	padding: 14px;
	border: 1px dashed var(--color-border);
	border-radius: 10px;
}
@media (max-width: 700px) {
	.tm-lifecycle-shell { margin: 8px; padding: 14px; }
	.tm-lifecycle-section > header,
	.tm-lifecycle-card { align-items: stretch; flex-direction: column; }
}



/* CompactCSS source: /apps/code/css/tab-manager-lifecycle/cards.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews tab cards, pin testimony, and restoration actions.
*/
.tm-lifecycle-card {
	align-items: stretch;
	justify-content: space-between;
	gap: 12px;
	padding: 13px;
	background: var(--color-bg-primary);
	border: 1px solid var(--color-border);
	border-radius: 12px;
}
.tm-lifecycle-card.is-hidden {
	border-style: dashed;
	opacity: .9;
}
.tm-lifecycle-card.is-pinned {
	box-shadow: inset 3px 0 0 var(--neon-lime);
}
.tm-lifecycle-card__identity {
	display: grid;
	gap: 4px;
	min-width: 0;
}
.tm-lifecycle-card__identity strong,
.tm-lifecycle-card__identity small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.tm-lifecycle-actions {
	align-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 5px;
}
.tm-lifecycle-actions button {
	border: 1px solid var(--color-border);
	border-radius: 6px;
	padding: 5px 8px;
	background: var(--color-bg-tertiary);
	color: inherit;
	cursor: pointer;
}
.tm-lifecycle-actions button:hover {
	border-color: var(--neon-cyan);
	color: var(--neon-cyan);
}





/* CompactCSS source: /apps/code/css/search.css */
/* B"H
 - Global Search Styles */

.search-overlay {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(10, 12, 20, 0.85);
    backdrop-filter: blur(15px);
    z-index: 25000;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 100px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.search-overlay.visible {
    opacity: 1;
    pointer-events: auto;
}

.search-window {
    width: 600px;
    max-width: 90%;
    max-height: 80vh;
    background-color: var(--color-bg-deep);
    border: 1px solid var(--color-border-accent);
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 20px var(--glow-cyan);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: scaleUp 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.search-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background-color: var(--color-bg-secondary);
    border-bottom: 1px solid var(--color-border);
}

.search-header h2 {
    margin: 0;
    font-size: 1.2em;
    color: var(--neon-cyan);
    letter-spacing: 1px;
}

.search-controls {
    padding: 20px;
    background-color: rgba(0,0,0,0.2);
    border-bottom: 1px solid var(--color-border);
}

.search-input-group {
    display: flex;
    gap: 10px;
}

#global-search-input {
    flex-grow: 1;
    font-size: 1.1em;
}

.search-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    color: var(--color-text-secondary);
    font-size: 0.9em;
}

.search-scope {
    font-family: var(--font-code);
    color: var(--color-text-tertiary);
}

.search-results {
    flex-grow: 1;
    overflow-y: auto;
    padding: 10px;
}

.search-empty {
    text-align: center;
    padding: 40px;
    color: var(--color-text-tertiary);
    font-style: italic;
}

/* Result Item */
.search-result-item {
    padding: 10px 15px;
    border-bottom: 1px solid var(--color-border);
    cursor: pointer;
    transition: background-color 0.1s;
    border-radius: 4px;
}

.search-result-item:hover {
    background-color: var(--color-bg-tertiary);
}

.result-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.result-name {
    font-weight: 700;
    color: var(--color-text-primary);
}

.result-path {
    font-size: 0.85em;
    color: var(--color-text-tertiary);
    font-family: var(--font-code);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.result-snippet {
    font-family: var(--font-code);
    font-size: 0.85em;
    color: var(--color-text-secondary);
    background-color: rgba(0,0,0,0.2);
    padding: 4px 8px;
    border-radius: 4px;
    margin-top: 4px;
    white-space: pre-wrap;
    word-break: break-all;
}

.result-match-highlight {
    background-color: rgba(255, 0, 255, 0.4);
    color: white;
    border-radius: 2px;
}



/* CompactCSS source: /apps/code/css/ai-studio.css */
/* B"H
 * Native Code Chat, live suggestions, legacy agent settings, and Merkava preview.
 */

.ai-studio-shell,
.code-chat-shell {
  display: grid;
  gap: 12px;
  width: min(94vw, 900px);
  max-height: min(88vh, 840px);
  overflow: auto;
  padding: 2px;
}

.ai-studio-title,
.code-chat-header strong,
.merkava-preview-panel header strong {
  color: var(--neon-cyan);
  font-weight: 900;
  letter-spacing: 0.02em;
  font-size: clamp(1.1rem, 4vw, 1.55rem);
}

.code-chat-header {
  display: grid;
  gap: 4px;
}

.code-chat-header span,
.ai-studio-helper {
  margin: 0;
  opacity: 0.84;
  line-height: 1.45;
}

.ai-studio-input,
.ai-studio-output,
.ai-studio-style,
.ai-studio-select,
.ai-studio-tool-row input,
.ai-studio-number-grid input,
.code-chat-input,
.code-chat-log {
  box-sizing: border-box;
  width: 100%;
  color: #fff;
  background: #05070a;
  border: 1px solid rgba(0, 246, 255, 0.28);
  border-radius: 12px;
  padding: 11px;
  font-family: var(--font-code, monospace);
}

.ai-studio-output,
.code-chat-log {
  min-height: 260px;
  resize: vertical;
}

.ai-memory-box {
  min-height: 120px;
}

.ai-studio-actions,
.ai-studio-settings,
.ai-studio-tool-row,
.ai-studio-number-grid,
.code-chat-actions {
  display: grid;
  gap: 8px;
}

.ai-studio-settings {
  grid-template-columns: 1fr;
}

.ai-studio-card,
.code-chat-shell,
.merkava-preview-panel {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(168, 255, 0, 0.2);
  background: linear-gradient(135deg, rgba(0, 246, 255, 0.07), rgba(168, 255, 0, 0.05));
}

.ai-studio-card h5 {
  margin: 0 0 8px;
  color: var(--neon-lime);
}

.ai-studio-card label {
  display: grid;
  gap: 5px;
  line-height: 1.35;
}

.ai-studio-card label:has(input[type="checkbox"]) {
  display: flex;
  gap: 8px;
  align-items: center;
}

.ai-studio-card input[type="checkbox"] {
  width: auto;
  accent-color: var(--neon-cyan);
}

.ai-live-suggestion-box {
  position: fixed;
  z-index: 10000;
  max-width: min(720px, 92vw);
  padding: 12px;
  border: 1px solid rgba(0, 246, 255, 0.42);
  border-radius: 14px;
  color: #f8fbff;
  background: rgba(2, 4, 8, 0.96);
  box-shadow: 0 0 28px rgba(0, 246, 255, 0.18);
}

.ai-live-title {
  color: var(--neon-cyan);
  font-weight: 800;
  margin-bottom: 6px;
}

#ai-live-suggestion-text {
  white-space: pre-wrap;
  max-height: 180px;
  overflow: auto;
}

.ai-live-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.merkava-preview-vessel {
  color: #f8fbff;
  background: #020408;
}

.merkava-preview-panel {
  display: grid;
  gap: 12px;
  min-height: 100%;
}

.merkava-preview-panel header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.merkava-vdom-canvas {
  width: 100%;
  max-height: 180px;
  border-radius: 12px;
  border: 1px solid rgba(0, 246, 255, 0.22);
  background: radial-gradient(circle at 20% 20%, rgba(0,246,255,.18), rgba(0,0,0,.9));
}

.merkava-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.merkava-tag {
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(0, 246, 255, 0.1);
  border: 1px solid rgba(0, 246, 255, 0.18);
}

.merkava-preview-text,
.merkava-preview-errors {
  white-space: pre-wrap;
  overflow: auto;
}

@media (min-width: 680px) {
  .ai-studio-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ai-studio-footer-actions,
  .ai-memory-actions,
  .ai-studio-tool-row,
  .code-chat-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ai-studio-settings {
    grid-template-columns: 1fr 1fr;
  }

  .ai-studio-number-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}



/* CompactCSS source: /apps/code/css/file-commander/layout.css */

/* B"H - FILE COMMANDER LAYOUT */

#file-commander-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-color: var(--color-bg-deep);
}

.file-commander-overlay {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(10, 12, 20, 0.85);
    backdrop-filter: blur(15px);
    z-index: 25000;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.file-commander-overlay.visible {
    opacity: 1;
    pointer-events: auto;
}

.fc-window {
    width: 100%;
    height: 100%;
    background-color: var(--color-bg-deep);
    border: 1px solid var(--color-border-accent);
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 20px var(--glow-cyan);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: scaleUp 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px 10px;
    background-color: var(--color-bg-secondary);
    border-bottom: 1px solid var(--color-border);
}

.fc-title {
    font-size: 1.5em;
    font-weight: 700;
    color: var(--neon-cyan);
    letter-spacing: 1px;
}

.fc-toolbar {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    gap: 12px;
    background-color: rgba(0,0,0,0.2);
    border-bottom: 1px solid var(--color-border);
}

.fc-breadcrumbs {
    flex-grow: 1;
    display: flex;
    align-items: center;
    overflow-x: auto;
    font-family: var(--font-code);
    font-size: 0.9em;
    white-space: nowrap;
}

.fc-crumb {
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background 0.15s;
    color: var(--color-text-secondary);
}
.fc-crumb:hover {
    background-color: var(--color-bg-tertiary);
    color: var(--neon-cyan);
}
.fc-sep {
    color: var(--color-text-tertiary);
    margin: 0 4px;
}

.fc-view-options {
    display: flex;
    gap: 4px;
}
.fc-view-options button.active {
    background-color: var(--neon-cyan);
    color: var(--color-bg-deep);
}

.fc-content {
    flex-grow: 1;
    overflow-y: auto;
    padding: 16px;
    background-color: var(--color-bg-primary);
}

.fc-statusbar {
    padding: 8px 16px;
    background-color: var(--color-bg-secondary);
    border-top: 1px solid var(--color-border);
    font-size: 0.85em;
    color: var(--color-text-tertiary);
}



/* CompactCSS source: /apps/code/css/file-commander/grid.css */

/* B"H - FILE COMMANDER GRID VIEW */

.fc-content.grid-view {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 16px;
    align-content: start;
}

.fc-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s;
    border: 1px solid transparent;
}

.fc-item:hover {
    background-color: var(--color-bg-tertiary);
    border-color: var(--color-border);
    box-shadow: 0 0 10px var(--glow-cyan);
}

.fc-item .fc-icon {
    font-size: 3em;
    color: var(--color-text-tertiary);
    margin-bottom: 8px;
    transition: color 0.15s;
}
.fc-item:hover .fc-icon {
    color: var(--neon-cyan);
}

.fc-item .fc-name {
    font-size: 0.9em;
    word-break: break-word;
    color: var(--color-text-primary);
}



/* CompactCSS source: /apps/code/css/file-commander/details.css */

/* B"H - FILE COMMANDER DETAILS VIEW */

.fc-sort-bar {
    display: grid;
    grid-template-columns: 3fr 1fr 1.5fr;
    padding: 8px 16px;
    border-bottom: 1px solid var(--color-border);
    background-color: var(--color-bg-secondary);
    font-weight: 600;
    color: var(--color-text-secondary);
    font-size: 0.9em;
    cursor: pointer;
    user-select: none;
}
.fc-sort-bar div:hover {
    color: var(--neon-cyan);
}

.fc-content.details-view {
    display: flex;
    flex-direction: column;
    padding: 0;
}

.fc-content.details-view .fc-item {
    display: grid;
    grid-template-columns: 3fr 1fr 1.5fr;
    flex-direction: row;
    align-items: center;
    text-align: left;
    padding: 8px 16px;
    border-radius: 0;
    border-bottom: 1px solid var(--color-bg-secondary);
    height: 40px;
}

.fc-content.details-view .fc-item .fc-icon {
    display: none; /* Hide large icon in details */
}

.fc-content.details-view .fc-col-name {
    display: flex;
    align-items: center;
    gap: 10px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.fc-content.details-view .fc-col-name svg {
    font-size: 1.2em;
    color: var(--color-text-tertiary);
}

.fc-content.details-view .fc-col-size,
.fc-content.details-view .fc-col-date {
    font-family: var(--font-code);
    font-size: 0.85em;
    color: var(--color-text-tertiary);
}



/* CompactCSS source: /apps/code/css/vibe/main.css */

/* B"H - VIBE MASTER CSS
 * Chapter 1: the Awtsmoos gathers every stylesheet into one ordered river.
 * Each import is a gate; the repaired AI Chat gate now enters with its own
 * vessel so the sidebar no longer borrows cramped inline garments.
 */

/* CompactCSS source: /apps/code/css/vibe/layout.css */

/* B"H - VIBE CORE LAYOUT */

#vibe-editor-wrapper {
    container-type: inline-size;
    container-name: vibe-wrapper;
    width: 100%;
    height: 100%;
    /* B"H - Critical Fix: Removed 'display: flex !important' which overrode the .hidden class and broke the entire editor layout. */
}

.vibe-container {
    display: flex !important;
    flex-direction: row; /* Default to side-by-side */
    height: 100% !important;
    width: 100% !important;
    max-width: 100% !important; /* Absolute prevention of horizontal blowout */
    overflow: hidden !important;
    position: relative;
    --side-panel-width: 400px;
    --chat-panel-height: 60%;
    background-color: var(--color-bg-primary); /* Prevents void transparency */
}

.vibe-chat-panel {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    min-width: 250px !important; /* Prevent it from being squished into oblivion */
    min-height: 0 !important;
    flex: 1 1 0; /* Grow to take all remaining horizontal space */
}

.vibe-side-panel {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    background: var(--color-bg-secondary);
    border-left: 1px solid var(--color-border);
    min-width: 0 !important;
    min-height: 0 !important;
    flex: 0 1 var(--side-panel-width); /* CAN SHRINK to prevent horizontal overflow */
    max-width: 100% !important;
}

#vibe-resizer-horizontal { display: none; }
#vibe-resizer-vertical { display: block; }

.vibe-panel-restore-btn {
    display: none;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    cursor: pointer;
    color: var(--color-text-tertiary);
    transition: all 0.2s ease;
    background: rgba(0,0,0,0.2);
}

.vibe-panel-restore-btn:hover {
    background-color: var(--color-bg-tertiary);
    color: var(--neon-cyan);
}

/* --- NARROW / VERTICAL MODE (Triggered dynamically by container width) --- */
@container vibe-wrapper (max-width: 750px) {
    .vibe-container { flex-direction: column !important; }
    
    .vibe-chat-panel { 
        flex: 0 1 var(--chat-panel-height) !important; /* Fixed basis, can shrink */
        min-height: 150px !important;
        width: 100% !important;
        min-width: 0 !important; /* Reset horizontal constraint */
    }
    
    .vibe-side-panel { 
        flex: 1 1 0 !important; /* Grow to fill the entire remaining vertical space */
        width: 100% !important;
        height: auto !important;
        max-width: none !important;
        border-left: none !important;
        border-top: 1px solid var(--color-border);
    }
    
    #vibe-resizer-vertical { display: none !important; }
    #vibe-resizer-horizontal { display: block !important; }
}

/* Fallback for older browsers without container query support */
@media (max-width: 750px) {
    .vibe-container { flex-direction: column !important; }
    .vibe-chat-panel { flex: 0 1 var(--chat-panel-height) !important; min-height: 150px !important; width: 100% !important; min-width: 0 !important; }
    .vibe-side-panel { flex: 1 1 0 !important; width: 100% !important; height: auto !important; max-width: none !important; border-left: none !important; border-top: 1px solid var(--color-border); }
    #vibe-resizer-vertical { display: none !important; }
    #vibe-resizer-horizontal { display: block !important; }
}

/* --- MINIMIZED STATE OVERRIDES --- */
.panel-minimized .vibe-side-panel { 
    flex: 0 0 44px !important; 
    width: 44px !important; 
    min-width: 44px !important;
}

.panel-minimized .vibe-chat-panel { 
    flex: 1 1 0 !important; /* Must expand to fill void */
    height: auto !important; 
    width: auto !important; 
    min-width: 0 !important;
}

@container vibe-wrapper (max-width: 750px) {
    .panel-minimized .vibe-side-panel { 
        flex: 0 0 44px !important; 
        height: 44px !important; 
        width: 100% !important; 
        min-height: 44px !important;
        min-width: 0 !important;
        border-left: none !important;
        border-top: 1px solid var(--color-border);
    }
    .panel-minimized .vibe-chat-panel {
        flex: 1 1 0 !important; /* Fills void vertically */
        min-height: 0 !important;
    }
}

@media (max-width: 750px) {
    .panel-minimized .vibe-side-panel { flex: 0 0 44px !important; height: 44px !important; width: 100% !important; min-height: 44px !important; min-width: 0 !important; border-left: none !important; border-top: 1px solid var(--color-border); }
    .panel-minimized .vibe-chat-panel { flex: 1 1 0 !important; min-height: 0 !important; }
}

/* Hide innards and resizers when minimized */
.panel-minimized .vibe-panel-inner { display: none !important; }
.panel-minimized .vibe-panel-restore-btn { display: flex !important; }
.panel-minimized .vibe-resizer,
.panel-minimized #vibe-resizer-horizontal,
.panel-minimized #vibe-resizer-vertical { display: none !important; }

/* --- MAXIMIZED STATE OVERRIDES --- */
.panel-maximized .vibe-chat-panel { display: none !important; }
.panel-maximized .vibe-side-panel { 
    flex: 1 1 auto !important; 
    width: 100% !important; 
    height: 100% !important; 
    max-width: none !important;
    border: none !important;
}
.panel-maximized .vibe-resizer,
.panel-maximized #vibe-resizer-horizontal,
.panel-maximized #vibe-resizer-vertical { display: none !important; }



/* CompactCSS source: /apps/code/css/vibe/resizer.css */

/* B"H - VIBE RESIZER STYLES */
.vibe-resizer {
    background: var(--color-bg-deep);
    transition: background 0.2s;
    z-index: 100;
    flex-shrink: 0;
}

.vibe-resizer:hover, .is-resizing .vibe-resizer {
    background: var(--neon-cyan);
    box-shadow: 0 0 10px var(--glow-cyan);
}

#vibe-resizer-vertical {
    width: 6px;
    cursor: col-resize;
    border-left: 1px solid var(--color-border);
}

#vibe-resizer-horizontal {
    height: 8px;
    cursor: row-resize;
    border-top: 1px solid var(--color-border);
}



/* CompactCSS source: /apps/code/css/vibe/tabs.css */

/* B"H - VIBE SIDEBAR TABS */
.vibe-sidebar-tabs {
    display: flex !important;
    width: 100% !important;
    background: var(--color-bg-deep);
    border-bottom: 1px solid var(--color-border);
    flex-shrink: 0;
    align-items: stretch;
    height: 40px;
}

.vibe-sb-tab {
    flex: 1;
    text-align: center;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8em;
    font-weight: 600;
    cursor: pointer;
    color: var(--color-text-tertiary);
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
    user-select: none;
    white-space: nowrap;
}

.vibe-sb-tab.active {
    color: var(--neon-cyan);
    border-bottom-color: var(--neon-cyan);
    background: rgba(0, 246, 255, 0.05);
}

.vibe-tab-spacer {
    flex: 0 0 10px;
}

.vibe-header-actions {
    display: flex;
    align-items: center;
    padding-right: 8px;
    gap: 4px;
}



/* CompactCSS source: /apps/code/css/vibe/chat.css */

/* B"H - VIBE CHAT (The Conversation) */

.vibe-chat-history {
    flex-grow: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-bottom: 20px; /* Reduced since controls moved to bottom */
    scroll-behavior: smooth;
    padding-right: 10px; 
}

.vibe-message {
    max-width: 95%;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 0.95em;
    line-height: 1.6;
    white-space: pre-wrap;
    word-wrap: break-word;
    position: relative;
    animation: fadeIn 0.15s ease-out;
}

.vibe-message.user {
    align-self: flex-end;
    background-color: var(--color-bg-tertiary);
    border: 1px solid var(--color-border);
    color: var(--color-text-primary);
    border-bottom-right-radius: 2px;
}

.vibe-message.model {
    align-self: flex-start;
    background-color: rgba(0,0,0,0.2);
    border: 1px solid var(--color-border-accent);
    color: var(--color-text-secondary);
    border-bottom-left-radius: 2px;
    width: 100%;
}

/* B"H - CONSTRAINED AI TEXT BOX */
.vibe-model-text {
    max-height: 400px;
    overflow-y: auto;
    padding-right: 5px;
    scrollbar-width: thin;
}

/* B"H - STREAMING CODE BOX */
.vibe-stream-box::-webkit-scrollbar {
    width: 6px;
}
.vibe-stream-box::-webkit-scrollbar-thumb {
    background: var(--neon-cyan);
    border-radius: 3px;
}

/* Markdown Elements */
.vibe-md-h1, .vibe-md-h2, .vibe-md-h3 { color: var(--neon-cyan); margin: 15px 0 8px 0; font-weight: 700; line-height: 1.2; }
.vibe-md-h1 { font-size: 1.4em; border-bottom: 1px solid var(--color-border); padding-bottom: 5px; }
.vibe-md-h2 { font-size: 1.2em; }
.vibe-md-h3 { font-size: 1.1em; }

.vibe-md-paragraph { margin-bottom: 8px; }
.vibe-md-list { padding-left: 20px; margin: 8px 0; }
.vibe-md-list li { margin-bottom: 4px; }
.vibe-md-strong { color: var(--neon-cyan); font-weight: bold; }
.vibe-md-em { color: var(--neon-lime); font-style: italic; }

/* CODE BLOCKS with Copy Button */
.vibe-code-container {
    background: #0d0f12;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    margin: 12px 0;
    overflow: hidden;
    position: relative;
}

.vibe-code-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 10px;
    background: rgba(255,255,255,0.05);
    border-bottom: 1px solid var(--color-border);
    font-size: 0.75em;
    color: var(--color-text-tertiary);
    font-family: var(--font-ui);
    text-transform: uppercase;
}

.vibe-copy-btn {
    background: transparent;
    border: 1px solid transparent;
    color: var(--color-text-tertiary);
    cursor: pointer;
    font-size: 0.9em;
    padding: 2px 6px;
    border-radius: 3px;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 4px;
}
.vibe-copy-btn:hover {
    color: var(--neon-cyan);
    background: rgba(0,246,255,0.1);
    border-color: var(--neon-cyan);
}

.vibe-md-code-block {
    padding: 12px;
    overflow-x: auto;
    font-family: var(--font-code);
    font-size: 0.9em;
    color: #e6e6e6;
    margin: 0;
    white-space: pre; 
}

.vibe-md-inline-code {
    background: rgba(255,255,255,0.1);
    padding: 2px 5px;
    border-radius: 4px;
    font-family: var(--font-code);
    color: var(--neon-lime);
    font-size: 0.9em;
}

/* INPUT AREA & TOKEN CONTROLS */
.vibe-input-area {
    padding: 15px;
    background-color: var(--color-bg-secondary);
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}

.vibe-input-wrapper {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}

.vibe-role-select {
    background: #000;
    color: var(--neon-lime);
    border: 1px solid rgba(57,255,20,0.35);
    border-radius: 8px;
    padding: 10px 10px;
    font-family: var(--font-code);
    font-weight: 700;
    font-size: 11px;
    height: 40px;
    outline: none;
    min-width: 95px;
    box-shadow: inset 0 0 10px rgba(57,255,20,0.08);
}

.vibe-role-select:focus {
    border-color: var(--neon-lime);
    box-shadow: 0 0 10px rgba(57,255,20,0.15);
}

.vibe-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 5px;
    flex-wrap: wrap; 
    gap: 10px;
}

.vibe-actions-left {
    display: flex;
    gap: 10px;
}

/* The New Bottom Token Bar */
.vibe-token-bar-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 15px;
    background: rgba(0, 0, 0, 0.4);
    border-bottom: 1px solid var(--color-border);
    border-top: 1px solid var(--color-border);
    z-index: 5;
    flex-shrink: 0;
}

.vibe-token-counter-text {
    font-family: var(--font-code);
    font-size: 11px;
    color: var(--color-text-secondary);
}

.vibe-token-controls {
    display: flex;
    gap: 8px;
    align-items: center;
}

.vibe-halt-btn {
    background: var(--color-accent-danger);
    color: #000;
    border: none;
    padding: 4px 10px;
    font-weight: bold;
    font-size: 11px;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 0 0 8px rgba(247, 93, 101, 0.4);
}

.vibe-restore-input-btn {
    background: var(--color-bg-tertiary);
    color: var(--neon-cyan);
    border: 1px solid var(--neon-cyan);
    padding: 4px 10px;
    font-size: 11px;
    font-weight: bold;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: 0 0 5px rgba(0,246,255,0.2);
}

.vibe-textarea {
    flex-grow: 1;
    background-color: var(--color-bg-deep);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    color: white;
    padding: 10px;
    resize: none;
    height: 70px;
    min-height: 40px;
    font-family: var(--font-ui);
    font-size: 0.95em;
    transition: border-color 0.2s;
}
.vibe-textarea:focus {
    border-color: var(--neon-cyan);
    outline: none;
    box-shadow: 0 0 10px var(--glow-cyan);
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes pulse {
    from { opacity: 1; }
    to { opacity: 0.3; }
}



/* CompactCSS source: /apps/code/css/vibe/sidebar.css */

/* B"H - VIBE SIDEBAR (The Assets) */

/* Header */
.vibe-panel-header {
    padding: 0 12px;
    border-bottom: 1px solid var(--color-border);
    font-weight: bold;
    color: var(--neon-cyan);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(0,0,0,0.2);
    flex-shrink: 0;
    height: 42px;
    white-space: nowrap;
    overflow: hidden;
}

/* Tabs */
.vibe-sidebar-tabs {
    display: flex;
    background: var(--color-bg-deep);
    border-bottom: 1px solid var(--color-border);
    flex-shrink: 0;
}

.vibe-sb-tab {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    font-size: 0.85em;
    cursor: pointer;
    color: var(--color-text-tertiary);
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
    user-select: none;
    background: rgba(0,0,0,0.2);
}
.vibe-sb-tab.active {
    color: var(--neon-cyan);
    border-bottom-color: var(--neon-cyan);
    font-weight: bold;
    background: transparent;
    text-shadow: 0 0 10px var(--glow-cyan);
}
.vibe-sb-tab.pulse { animation: text-pulse 1s infinite alternate; }

/* Containers */
.vibe-context-list, .vibe-stream-view, .vibe-manifest-view, .vibe-timeline-view {
    flex-grow: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 5px 0;
    background: var(--color-bg-deep);
    display: none;
    position: relative;
    min-height: 0; /* Flex fix */
}

/* Let JS dictate if they are flex or block when visible */
.vibe-context-list.visible, .vibe-stream-view.visible { display: block; }

/* Fix Tree Cutoff: Ensure container allows inner scroll */
.vibe-context-list .workspace-tree {
    min-width: 100%; 
    width: fit-content; 
    padding: 10px;
    padding-right: 20px; 
}

/* Stream View Styling */
.vibe-stream-view {
    padding: 15px;
    font-family: var(--font-code);
    font-size: 0.85em;
    color: var(--neon-lime);
    white-space: pre-wrap; 
    word-break: break-word; 
    line-height: 1.5;
    overflow-x: auto; 
}

/* Manifestation Cards */
.vibe-manifest-card {
    background: rgba(13, 17, 23, 0.95);
    border: 1px solid var(--color-border);
    border-left: 3px solid var(--neon-cyan);
    border-radius: 6px;
    margin-bottom: 8px;
    padding: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
    user-select: none;
    /* B"H - PREVENT FLEX BLOWOUT */
    width: 100%;
    min-width: 0;
}

.vibe-manifest-card:hover {
    background: var(--color-bg-tertiary);
    border-color: var(--neon-cyan);
    transform: translateX(4px);
}

.vibe-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden; 
}

.vibe-card-path {
    font-family: var(--font-code);
    font-weight: 700;
    color: var(--neon-cyan);
    font-size: 0.9em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-grow: 1;
    margin-right: 10px;
}

.vibe-card-status {
    font-size: 0.75em;
    color: var(--color-text-tertiary);
    flex-shrink: 0;
}

.vibe-card-desc {
    font-size: 0.8em;
    color: var(--color-text-tertiary);
    margin-top: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vibe-settings-area {
    padding: 10px;
    border-top: 1px solid var(--color-border);
    background-color: rgba(0,0,0,0.2);
    flex-shrink: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}



/* CompactCSS source: /apps/code/css/vibe/ai-chat-panel.css */
/* B"H
 * AI Chat Sidebar Repair
 * Chapter 1: the Awtsmoos pours cyan rain through the narrow vessel. The
 * panel becomes a calm river: header fixed, output breathing, composer anchored.
 */

.vibe-ai-chat-root {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: 100%;
    min-height: 0;
    padding: 12px;
    gap: 12px;
    background:
        radial-gradient(circle at top left, rgba(0, 246, 255, 0.13), transparent 32%),
        linear-gradient(180deg, rgba(8, 15, 25, 0.98), rgba(2, 6, 12, 0.98));
}

.vibe-ai-chat-header,
.vibe-ai-chat-composer,
.vibe-ai-chat-scroll {
    border: 1px solid rgba(0, 246, 255, 0.22);
    border-radius: 16px;
    background: rgba(2, 8, 16, 0.76);
    box-shadow: inset 0 0 18px rgba(0, 246, 255, 0.05), 0 12px 32px rgba(0, 0, 0, 0.28);
}

.vibe-ai-chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px;
    min-width: 0;
}

.vibe-ai-chat-title {
    color: var(--neon-cyan);
    font-weight: 900;
    letter-spacing: 0.09em;
    white-space: nowrap;
    text-shadow: 0 0 12px rgba(0, 246, 255, 0.55);
}

.vibe-ai-chat-model {
    min-width: 0;
    max-width: 55%;
    padding: 7px 9px;
    border: 1px solid rgba(57, 255, 20, 0.28);
    border-radius: 10px;
    color: var(--neon-lime);
    background: rgba(0, 0, 0, 0.68);
    font-family: var(--font-code);
    font-size: 11px;
    outline: none;
}

.vibe-ai-chat-scroll {
    min-height: 0;
    overflow: auto;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vibe-ai-chat-status {
    color: var(--color-text-secondary);
    font-size: 12px;
    line-height: 1.35;
    opacity: 0.86;
}

.vibe-ai-chat-output {
    flex: 1;
    min-height: 120px;
    color: #dffcff;
    font-family: var(--font-code);
    font-size: 12px;
    line-height: 1.55;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.vibe-ai-chat-composer {
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vibe-ai-chat-prompt {
    width: 100%;
    min-height: 88px;
    max-height: 180px;
    resize: vertical;
    padding: 12px;
    border: 1px solid rgba(0, 246, 255, 0.25);
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.42);
    color: #ffffff;
    font-family: var(--font-ui);
    outline: none;
}

.vibe-ai-chat-prompt:focus,
.vibe-ai-chat-model:focus {
    border-color: var(--neon-cyan);
    box-shadow: 0 0 0 2px rgba(0, 246, 255, 0.12), 0 0 22px rgba(0, 246, 255, 0.18);
}

.vibe-ai-chat-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.vibe-ai-chat-send,
.vibe-ai-chat-clear {
    min-height: 34px;
    padding: 7px 14px;
    border-radius: 12px;
}

.vibe-ai-chat-empty {
    height: 100%;
    display: grid;
    place-content: center;
    gap: 10px;
    padding: 28px;
    text-align: center;
    color: var(--neon-cyan);
    background: radial-gradient(circle, rgba(0, 246, 255, 0.11), transparent 58%);
}

.vibe-ai-chat-empty-icon {
    font-size: 36px;
}



/* CompactCSS source: /apps/code/css/vibe/chat-vessels.css */

/* B"H - VIBE CHAT VESSELS CSS */

.vibe-inline-action {
    background: rgba(0, 246, 255, 0.03);
    border: 1px solid rgba(0, 246, 255, 0.15);
    border-radius: 8px;
    margin-bottom: 8px;
    width: 100%;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.vibe-inline-action[open] {
    background: rgba(0, 246, 255, 0.06);
    box-shadow: 0 5px 20px rgba(0,0,0,0.4), inset 0 0 10px rgba(0, 246, 255, 0.05);
}

.vibe-inline-action summary {
    padding: 12px 16px;
    cursor: pointer;
    font-size: 0.85em;
    font-weight: 700;
    color: var(--neon-cyan);
    user-select: none;
    outline: none;
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
}

.vibe-inline-action summary::-webkit-details-marker { display: none; }

.vibe-inline-action .status-icon {
    font-size: 1.2em;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* THE SACRED SPINNER */
.vibe-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(0, 246, 255, 0.2);
    border-top: 2px solid var(--neon-cyan);
    border-radius: 50%;
    animation: vibe-spin 0.8s linear infinite;
}

@keyframes vibe-spin {
    to { transform: rotate(360deg); }
}

.vibe-inline-action .action-content {
    max-height: 300px;
    overflow-y: auto;
    padding: 0 16px 16px 16px;
    font-size: 0.85em;
    color: var(--color-text-secondary);
    font-family: var(--font-code);
    white-space: pre-wrap;
    word-break: break-all;
    border-top: 1px dashed rgba(0, 246, 255, 0.1);
    margin-top: 4px;
    padding-top: 12px;
}

.vibe-action-label {
    flex-grow: 1;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.vibe-action-meta {
    font-size: 0.8em;
    opacity: 0.5;
    font-weight: normal;
}

.pulse-processing {
    animation: vibe-pulse-glow 1.5s infinite alternate;
}

@keyframes vibe-pulse-glow {
    from { color: var(--neon-cyan); text-shadow: 0 0 2px var(--neon-cyan); }
    to { color: #fff; text-shadow: 0 0 12px var(--neon-cyan); }
}



/* CompactCSS source: /apps/code/css/vibe/manager.css */

/* B"H - VIBE SUPREME MANAGER CSS */

.vibe-manager-scroll-wrap {
    height: 100%;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    background: #020408;
    background-image: 
        radial-gradient(circle at 50% 50%, rgba(0, 246, 255, 0.05) 0%, transparent 70%),
        linear-gradient(rgba(13, 17, 23, 0.8) 1px, transparent 1px),
        linear-gradient(90deg, rgba(13, 17, 23, 0.8) 1px, transparent 1px);
    background-size: 100% 100%, 40px 40px, 40px 40px;
}

.vibe-manager-scroll-wrap::-webkit-scrollbar { width: 8px; }
.vibe-manager-scroll-wrap::-webkit-scrollbar-track { background: #000; }
.vibe-manager-scroll-wrap::-webkit-scrollbar-thumb { 
    background: linear-gradient(var(--neon-cyan), var(--neon-magenta)); 
    border-radius: 4px;
}

.vibe-manager-content {
    padding: 60px 40px;
    max-width: 1300px;
    margin: 0 auto;
    color: white;
    font-family: var(--font-ui);
    padding-bottom: 200px;
}

.vibe-manager-header {
    margin-bottom: 50px;
    border-left: 5px solid var(--neon-cyan);
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.vibe-manager-header-title {
    font-size: 2.8em;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 5px;
    color: #fff;
    text-shadow: 0 0 20px rgba(0, 246, 255, 0.5);
    margin: 0;
}

.vibe-manager-header-sub {
    font-size: 0.8em;
    color: var(--neon-lime);
    font-family: var(--font-code);
    letter-spacing: 2px;
    opacity: 0.8;
}

.vibe-manager-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 40px;
    align-items: start;
}

/* PALACE OF COMMAND (Boxes) */
.vibe-manager-box {
    background: rgba(13, 17, 23, 0.6);
    backdrop-filter: blur(20px);
    padding: 30px;
    border-radius: 15px;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
    overflow: hidden;
}

.vibe-manager-box::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 2px;
    background: linear-gradient(90deg, transparent, var(--box-accent, var(--neon-cyan)), transparent);
}

.vibe-manager-box.gatekeepers { --box-accent: var(--neon-lime); }
.vibe-manager-box.directive { --box-accent: var(--neon-magenta); }
.vibe-manager-box.ledger { --box-accent: var(--neon-cyan); }

.vibe-manager-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding-bottom: 15px;
}

.vibe-manager-box-title {
    margin: 0;
    font-size: 1.4em;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--box-accent);
    display: flex;
    align-items: center;
    gap: 15px;
}

.vibe-manager-label {
    font-size: 0.75em;
    font-weight: bold;
    text-transform: uppercase;
    color: var(--color-text-tertiary);
    letter-spacing: 1.5px;
    margin-bottom: 8px;
    display: block;
}

.vibe-manager-input-group {
    background: #000;
    border-radius: 8px;
    border: 1px solid #222;
    padding: 4px;
    display: flex;
    gap: 5px;
    transition: all 0.3s;
    margin-bottom: 20px;
}

.vibe-manager-input-group:focus-within {
    border-color: var(--box-accent);
    box-shadow: 0 0 15px rgba(0, 0, 0, 1), 0 0 5px var(--box-accent);
}

.vibe-manager-input {
    background: transparent !important;
    border: none !important;
    padding: 10px 15px;
    color: #fff;
    font-family: var(--font-code);
    flex-grow: 1;
    outline: none;
}

.vibe-manager-select {
    width: 100%;
    background: #000;
    color: var(--neon-cyan);
    border: 2px solid var(--neon-cyan);
    padding: 15px;
    border-radius: 10px;
    outline: none;
    font-family: var(--font-code);
    font-weight: bold;
    cursor: pointer;
    box-shadow: inset 0 0 10px rgba(0, 246, 255, 0.2);
    appearance: none;
}

.vibe-manager-textarea {
    background: #05070a;
    border: 1px solid #1a1d23;
    border-left: 3px solid var(--neon-magenta);
    width: 100%;
    height: 400px;
    color: var(--neon-lime);
    padding: 20px;
    font-family: var(--font-code);
    font-size: 13px;
    line-height: 1.6;
    outline: none;
    border-radius: 8px;
    resize: vertical;
    transition: all 0.3s;
}

.vibe-manager-textarea:focus {
    border-color: var(--neon-magenta);
    box-shadow: inset 0 0 20px #000, 0 0 15px rgba(255, 0, 255, 0.1);
}

.timestream-card {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.2s;
    position: relative;
    overflow: hidden;
}

.timestream-card:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: var(--neon-cyan);
    transform: translateX(5px);
}

.timestream-info {
    flex-grow: 1;
    overflow: hidden;
}

.timestream-name {
    display: block;
    font-weight: 800;
    color: var(--neon-lime);
    font-size: 1em;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.timestream-path {
    font-size: 0.7em;
    opacity: 0.5;
    font-family: var(--font-code);
    color: #fff;
}



/* CompactCSS source: /apps/code/css/vibe/model-limits.css */
/* B"H - Model limits tables + pills */

.model-limits-controls {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    margin: 10px 0 15px 0;
}

.model-limits-controls input[type="text"] {
    background: #000;
    color: #fff;
    border: 1px solid #222;
    border-radius: 8px;
    padding: 10px 12px;
    outline: none;
    font-family: var(--font-code);
    min-width: 240px;
}

.model-limits-controls .pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 0.75em;
    color: rgba(255,255,255,0.85);
    user-select: none;
}

.model-limits-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-code);
    font-size: 12px;
    background: rgba(0,0,0,0.35);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    overflow: hidden;
}

.model-limits-table th,
.model-limits-table td {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    vertical-align: top;
}

.model-limits-table th {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    background: rgba(255,255,255,0.03);
}

.model-limits-table tr:hover td {
    background: rgba(0,246,255,0.04);
}

.model-limits-tag {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.1);
    font-size: 11px;
    line-height: 1.2;
    margin-right: 6px;
}

.model-limits-tag.free { color: var(--neon-lime); border-color: rgba(57,255,20,0.25); }
.model-limits-tag.tools { color: var(--neon-cyan); border-color: rgba(0,246,255,0.25); }
.model-limits-tag.reason { color: var(--neon-magenta); border-color: rgba(255,0,255,0.2); }

.model-limits-mono {
    font-family: var(--font-code);
    white-space: pre-wrap;
    word-break: break-word;
    color: rgba(255,255,255,0.85);
}



.is-resizing {
    user-select: none !important;
    cursor: col-resize !important;
}



/* CompactCSS source: /apps/code/css/vibe/chat-vessels.css */

/* B"H - VIBE CHAT VESSELS CSS */

.vibe-inline-action {
    background: rgba(0, 246, 255, 0.03);
    border: 1px solid rgba(0, 246, 255, 0.15);
    border-radius: 8px;
    margin-bottom: 8px;
    width: 100%;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.vibe-inline-action[open] {
    background: rgba(0, 246, 255, 0.06);
    box-shadow: 0 5px 20px rgba(0,0,0,0.4), inset 0 0 10px rgba(0, 246, 255, 0.05);
}

.vibe-inline-action summary {
    padding: 12px 16px;
    cursor: pointer;
    font-size: 0.85em;
    font-weight: 700;
    color: var(--neon-cyan);
    user-select: none;
    outline: none;
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
}

.vibe-inline-action summary::-webkit-details-marker { display: none; }

.vibe-inline-action .status-icon {
    font-size: 1.2em;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* THE SACRED SPINNER */
.vibe-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(0, 246, 255, 0.2);
    border-top: 2px solid var(--neon-cyan);
    border-radius: 50%;
    animation: vibe-spin 0.8s linear infinite;
}

@keyframes vibe-spin {
    to { transform: rotate(360deg); }
}

.vibe-inline-action .action-content {
    max-height: 300px;
    overflow-y: auto;
    padding: 0 16px 16px 16px;
    font-size: 0.85em;
    color: var(--color-text-secondary);
    font-family: var(--font-code);
    white-space: pre-wrap;
    word-break: break-all;
    border-top: 1px dashed rgba(0, 246, 255, 0.1);
    margin-top: 4px;
    padding-top: 12px;
}

.vibe-action-label {
    flex-grow: 1;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.vibe-action-meta {
    font-size: 0.8em;
    opacity: 0.5;
    font-weight: normal;
}

.pulse-processing {
    animation: vibe-pulse-glow 1.5s infinite alternate;
}

@keyframes vibe-pulse-glow {
    from { color: var(--neon-cyan); text-shadow: 0 0 2px var(--neon-cyan); }
    to { color: #fff; text-shadow: 0 0 12px var(--neon-cyan); }
}



/* CompactCSS source: /apps/code/css/civilization/tokens.css */
/* B"H
 * Chapter 553: Civilization receives a neon garment woven from the existing
 * Code Forge palette: cyan breath, magenta attention, lime completion.
 */
:root {
  --civ-panel-bg: linear-gradient(135deg, rgba(0,246,255,.09), rgba(255,0,255,.06), rgba(168,255,0,.045));
  --civ-glass-bg: rgba(2, 6, 14, .86);
  --civ-border: rgba(0, 246, 255, .34);
  --civ-border-hot: rgba(255, 0, 255, .55);
  --civ-shadow: 0 0 28px rgba(0, 246, 255, .18), 0 18px 46px rgba(0,0,0,.55);
  --civ-lime-shadow: 0 0 18px rgba(168,255,0,.28);
}
.civ-chip {
  border: 1px solid var(--civ-border);
  border-radius: 999px;
  background: rgba(0,246,255,.08);
  color: var(--neon-cyan);
  font-family: var(--font-code, monospace);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  padding: 4px 8px;
  text-transform: uppercase;
}
.civ-pulse { animation: civPulse 1.8s infinite alternate; }
@keyframes civPulse {
  from { box-shadow: 0 0 4px rgba(0,246,255,.2); }
  to { box-shadow: 0 0 18px rgba(0,246,255,.55); }
}



/* CompactCSS source: /apps/code/css/civilization/hud.css */
/* B"H
 * Chapter 554: The editor HUD becomes a civilization heartbeat.
 */
.civilization-hud {
  display: grid;
  gap: 6px;
  min-width: 220px;
}
.civilization-hud-title {
  color: var(--neon-cyan);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.civilization-hud-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}
.civilization-hud-stat {
  border: 1px solid rgba(0,246,255,.18);
  border-radius: 7px;
  padding: 4px 6px;
  background: rgba(0,0,0,.28);
}
.civilization-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 260px;
  white-space: nowrap;
}
.civilization-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--neon-lime);
  box-shadow: var(--civ-lime-shadow);
}
@media (max-width: 760px) {
  .civilization-status-pill { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
  .civilization-hud { min-width: 150px; }
}



/* CompactCSS source: /apps/code/css/civilization/event-rain.css */
/* B"H
 * Chapter 555: Civilization events descend as clickable sparks over the Code Forge.
 */
.civilization-event-spark {
  position: fixed;
  z-index: 180;
  pointer-events: auto;
  border: 1px solid rgba(0,246,255,.28);
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--neon-cyan);
  background: rgba(2, 6, 14, .86);
  box-shadow: var(--civ-shadow);
  font: 900 11px/1 var(--font-code, monospace);
  animation: civFall 7s linear forwards;
  cursor: pointer;
}
.civilization-event-spark[data-priority="hot"] {
  color: var(--neon-magenta);
  border-color: var(--civ-border-hot);
}
@keyframes civFall {
  from { transform: translateY(-20px) scale(.94); opacity: 0; }
  8% { opacity: 1; }
  88% { opacity: .9; }
  to { transform: translateY(100vh) scale(1.05); opacity: 0; }
}



/* CompactCSS source: /apps/code/css/civilization/cockpit.css */
/* B"H
 * Chapter 556: The cockpit lists the recent sparks as collapsible vessels.
 */
.civilization-cockpit {
  display: grid;
  gap: 10px;
  width: min(92vw, 860px);
  max-height: min(78vh, 720px);
  overflow: auto;
}
.civilization-cockpit header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.civilization-cockpit h3 {
  margin: 0;
  color: var(--neon-cyan);
  text-shadow: 0 0 10px rgba(0,246,255,.35);
}
.civilization-event-card {
  border: 1px solid rgba(0,246,255,.22);
  border-radius: 12px;
  background: var(--civ-panel-bg);
  overflow: hidden;
}
.civilization-event-card summary {
  cursor: pointer;
  padding: 10px 12px;
  color: var(--neon-cyan);
  font-family: var(--font-code, monospace);
  font-weight: 900;
  list-style: none;
}
.civilization-event-card pre {
  margin: 0;
  padding: 12px;
  color: var(--color-text-secondary);
  background: rgba(0,0,0,.3);
  white-space: pre-wrap;
  font-size: 12px;
}



/* CompactCSS source: /apps/code/css/civilization/launcher.css */
/* B"H — civilization enters through one compact gate. */
.civilization-launcher-pack { position: relative; display: inline-flex; flex: 0 0 auto; }
.civilization-launcher {
  width: 40px;
  height: 36px;
  padding: 0;
  border: 1px solid rgba(0,246,255,.22);
  border-radius: 12px;
  background: rgba(0,246,255,.055);
  color: var(--neon-cyan);
  font: 900 11px var(--font-code, monospace);
  letter-spacing: .1em;
}
.civilization-launcher:hover { background: rgba(0,246,255,.16); box-shadow: 0 0 16px rgba(0,246,255,.16); }
.civilization-launcher-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  display: none;
  width: 210px;
  padding: 10px;
  border: 1px solid rgba(0,246,255,.28);
  border-radius: 16px;
  background: rgba(6, 12, 28, .98);
  box-shadow: 0 22px 70px rgba(0,0,0,.72), 0 0 28px rgba(0,246,255,.12);
  backdrop-filter: blur(14px);
  z-index: 6400;
}
.civilization-launcher-pack.is-open .civilization-launcher-menu { display: grid; gap: 7px; }
.civilization-menu-item {
  min-height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(0,246,255,.16);
  background: rgba(0,246,255,.055);
  color: var(--color-text-primary);
  text-align: left;
  padding: 0 10px;
  font: 800 12px var(--font-ui);
}
.civilization-menu-item:hover { color: var(--neon-cyan); background: rgba(0,246,255,.14); }
@media (max-width: 620px) {
  .civilization-launcher { width: 36px; letter-spacing: 0; }
  .civilization-launcher-menu { left: -44px; }
}



/* CompactCSS source: /apps/code/css/session/account-panel.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos gathers identity into one quiet crown; Awtsmoos.com keeps the account doorway reachable without crushing the editor down.
*/

/* CompactCSS source: /apps/code/css/session/account-menu.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos reveals identity portals only when requested; Awtsmoos.com gives every account action a calm, touchable vessel.
*/
.awtsmoos-account-menu {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	display: none;
	width: min(292px, calc(100vw - 24px));
	padding: 12px;
	border: 1px solid rgba(0, 246, 255, .3);
	border-radius: 16px;
	background: rgba(6, 12, 28, .98);
	box-shadow: 0 22px 70px rgba(0, 0, 0, .72), 0 0 30px rgba(0, 246, 255, .13);
	backdrop-filter: blur(14px);
}

.awtsmoos-account-shell.is-open .awtsmoos-account-menu {
	display: grid;
	gap: 10px;
}

.awtsmoos-account-menu-title {
	color: var(--neon-cyan);
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.awtsmoos-account-menu-user,
.awtsmoos-account-note {
	color: var(--color-text-secondary);
	font-size: 12px;
	line-height: 1.4;
}

.awtsmoos-account-menu-user {
	font-family: var(--font-code);
	overflow-wrap: anywhere;
}

.awtsmoos-account-portal-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
}

.awtsmoos-account-portal-grid a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border-radius: 10px;
	border: 1px solid rgba(0, 246, 255, .2);
	color: var(--neon-cyan);
	background: rgba(0, 246, 255, .06);
	text-decoration: none;
	font: 800 11px var(--font-ui);
}

.awtsmoos-account-actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}

.awtsmoos-account-actions .primary-btn,
.awtsmoos-account-actions .secondary-btn {
	min-height: 44px;
	padding: 8px 12px;
}



.awtsmoos-account-panel {
	position: relative;
	flex: 0 0 auto;
	min-width: 0;
	z-index: 6500;
}

.awtsmoos-account-shell {
	position: relative;
}

.awtsmoos-account-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 44px;
	height: 44px;
	max-width: 190px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid rgba(0, 246, 255, .28);
	color: var(--neon-cyan);
	background: rgba(0, 246, 255, .075);
	font: 700 12px var(--font-ui);
	letter-spacing: .03em;
}

.awtsmoos-account-trigger:hover {
	background: rgba(0, 246, 255, .16);
	box-shadow: 0 0 14px rgba(0, 246, 255, .18);
}

.awtsmoos-account-trigger:focus-visible {
	outline: 2px solid var(--neon-cyan);
	outline-offset: 2px;
}

.awtsmoos-account-orb {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--color-text-tertiary);
}

.awtsmoos-account-shell.is-online .awtsmoos-account-orb {
	background: var(--neon-lime);
	box-shadow: 0 0 12px rgba(168, 255, 0, .5);
}

.awtsmoos-account-shell.is-offline .awtsmoos-account-orb {
	background: var(--color-accent-danger);
}

.awtsmoos-account-text {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}

.awtsmoos-account-caret {
	opacity: .75;
}

@media (max-width: 620px) {
	.awtsmoos-account-text,
	.awtsmoos-account-caret {
		display: none;
	}

	.awtsmoos-account-trigger {
		width: 44px;
		padding: 0;
	}
}



/* CompactCSS source: /apps/code/css/shell/topbar.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos gives every Code command a bounded crown; Awtsmoos.com lets useful portals glow without pushing their neighbors out of town.
*/
.top-panel {
	overflow: visible;
	min-width: 0;
}

.menu-bar {
	box-sizing: border-box;
	min-width: 0;
	overflow: visible;
	isolation: isolate;
}

.menu-bar .icon-button {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	padding: 0;
}

#custom-menu-container {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 1 auto;
	min-width: 0;
}

#global-console-btn,
#global-ai-chat-btn,
#global-refresh-preview-btn,
#tunnel-console-btn {
	order: 80;
	width: 44px;
	height: 44px;
	padding: 0;
	flex: 0 0 44px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .025);
}

#awtsmoos-account-panel {
	order: 90;
}

.tab-bar-wrapper,
.tab-bar {
	min-width: 0;
}

@media (max-width: 760px) {
	.menu-bar {
		gap: 4px;
		padding-inline: 6px;
	}

	#custom-menu-container,
	#global-refresh-preview-btn,
	#global-ai-chat-btn {
		display: none;
	}
}

@media (max-width: 430px) {
	#global-console-btn {
		display: none;
	}
}



/* CompactCSS source: /apps/code/css/onboarding.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews first understanding before any optional provider key appears.
Awtsmoos.com composes welcome shell, product modes, and installer testimony.
*/

/* CompactCSS source: /apps/code/css/onboarding/shell.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews the welcome shell before optional provider keys appear.
*/
.code-welcome-wrapper {
	position: fixed;
	inset: 0;
	z-index: 30000;
	display: grid;
	place-items: center;
	padding: 20px;
	background: radial-gradient(circle at 20% 10%, rgba(0, 246, 255, .16), transparent 34%), rgba(3, 9, 19, .94);
	backdrop-filter: blur(18px);
	overflow: auto;
}
.code-welcome-wrapper[hidden] { display: none; }
.code-welcome {
	width: min(1120px, 100%);
	margin: auto;
	padding: clamp(20px, 4vw, 42px);
	background: linear-gradient(145deg, rgba(13, 28, 49, .98), rgba(7, 16, 30, .98));
	border: 1px solid rgba(97, 232, 255, .32);
	border-radius: 26px;
	box-shadow: 0 36px 120px rgba(0, 0, 0, .66), inset 0 1px 0 rgba(255, 255, 255, .06);
	color: #eefbff;
}
.code-kicker {
	margin: 0 0 6px;
	color: var(--neon-cyan, #61e8ff);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.code-welcome__hero h1 {
	max-width: 880px;
	margin: 0;
	font-size: clamp(2rem, 5vw, 4.5rem);
	line-height: .98;
}
.code-welcome__hero > p {
	max-width: 780px;
	font-size: 1.08rem;
	line-height: 1.65;
	color: #b8cad8;
}
.code-welcome__hero-actions,
.code-welcome__footer,
.code-welcome__installers {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.code-welcome button,
.code-welcome a {
	border: 1px solid rgba(97, 232, 255, .25);
	border-radius: 10px;
	padding: 11px 15px;
	background: rgba(24, 48, 74, .85);
	color: #effcff;
	text-decoration: none;
	cursor: pointer;
}
.code-welcome .code-primary-action {
	background: linear-gradient(135deg, #61e8ff, #9effc5);
	border-color: transparent;
	color: #03121d;
	font-weight: 900;
	box-shadow: 0 12px 34px rgba(97, 232, 255, .28);
}
.code-welcome__footer {
	justify-content: flex-end;
	margin-top: 18px;
}
@media (max-width: 680px) {
	.code-welcome-wrapper { padding: 8px; }
	.code-welcome { border-radius: 16px; }
	.code-welcome__hero-actions > * { width: 100%; text-align: center; }
}



/* CompactCSS source: /apps/code/css/onboarding/modes.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews every product mode without mixing public GPT and provider keys.
*/
.code-welcome__modes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 28px 0;
}
.code-mode-card,
.code-welcome__steps,
.code-welcome__runtime {
	border: 1px solid rgba(151, 190, 216, .18);
	border-radius: 15px;
	background: rgba(255, 255, 255, .035);
}
.code-mode-card {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 12px;
	padding: 16px;
}
.code-mode-card > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(97, 232, 255, .12);
	color: #61e8ff;
	font-weight: 900;
}
.code-mode-card header {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}
.code-mode-card h2,
.code-mode-card p,
.code-welcome__steps h2,
.code-welcome__runtime h2 {
	margin: 0;
}
.code-mode-card h2 { font-size: 1.02rem; }
.code-mode-card p,
.code-mode-card small,
.code-welcome__steps,
.code-welcome__runtime {
	color: #aebfce;
}
.code-welcome__steps,
.code-welcome__runtime {
	padding: 16px 20px;
	margin: 12px 0;
}
.code-welcome__steps li { margin: 8px 0; line-height: 1.5; }
.code-welcome__runtime ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 18px;
	padding-left: 20px;
}
@media (max-width: 760px) {
	.code-welcome__modes,
	.code-welcome__runtime ul { grid-template-columns: 1fr; }
	.code-mode-card header { align-items: flex-start; flex-direction: column; }
}



/* CompactCSS source: /apps/code/css/onboarding/installers.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews installer commands and native-runtime truth as optional paths.
*/
.code-welcome__installers {
	margin-top: 12px;
}
.code-command-card {
	display: grid;
	gap: 6px;
	min-width: min(100%, 360px);
	padding: 12px;
	border: 1px solid rgba(151, 190, 216, .18);
	border-radius: 15px;
	background: rgba(255, 255, 255, .035);
}
.code-command-card code {
	overflow: auto;
	padding: 8px;
	background: #020812;
	border-radius: 7px;
	color: #9effc5;
	font-family: "Fira Code", monospace;
	font-size: .78rem;
}
.code-command-card button {
	justify-self: start;
	padding: 6px 10px;
}
.code-settings-shell {
	display: grid;
	gap: 12px;
}
.settings-card {
	padding: 14px;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: var(--color-bg-secondary);
}
.settings-card--primary {
	border-color: color-mix(in srgb, var(--neon-cyan) 50%, var(--color-border));
	box-shadow: inset 3px 0 0 var(--neon-cyan);
}
.settings-card h4,
.settings-card p {
	margin-top: 0;
}
.settings-help {
	color: var(--color-text-tertiary);
	line-height: 1.5;
}
.settings-title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.settings-provider-details summary {
	cursor: pointer;
}
.settings-provider-details[open] summary {
	margin-bottom: 12px;
}
@media (max-width: 620px) {
	.code-welcome__installers { align-items: stretch; flex-direction: column; }
	.code-command-card { min-width: 0; }
	.settings-title-row { align-items: stretch; flex-direction: column; }
}





/* CompactCSS source: /apps/code/css/tunnel-console.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews every live agent action in a visible Code chamber.
*/

/* CompactCSS source: /apps/code/css/tunnel-console/shell.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews the live tunnel shell, status badge, and control surface.
*/
#tunnel-console-btn { position: relative; }
#tunnel-console-btn [data-agent-count] {
	position: absolute;
	top: -5px;
	right: -5px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--neon-cyan, #61e8ff);
	color: #03121d;
	font-size: 10px;
	font-weight: 900;
	line-height: 16px;
}
#tunnel-console-btn[data-state="connected"] { color: var(--neon-lime, #9effc5); }
.code-tunnel-console {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 26000;
	width: min(760px, 96vw);
	height: 100vh;
	padding: 18px;
	background: rgba(5, 13, 25, .98);
	border-left: 1px solid rgba(97, 232, 255, .24);
	box-shadow: -24px 0 80px rgba(0, 0, 0, .58);
	color: #edfaff;
	overflow: auto;
	transform: translateX(102%);
	transition: transform .2s ease;
}
.code-tunnel-console[hidden] { display: none; }
.code-tunnel-console.is-open { display: block; transform: translateX(0); }
.code-tunnel-console__header,
.code-tunnel-console__header-actions,
.code-tunnel-console__controls,
.code-tunnel-console__summary {
	display: flex;
	align-items: center;
}
.code-tunnel-console__header {
	justify-content: space-between;
	gap: 16px;
	position: sticky;
	top: -18px;
	z-index: 2;
	padding: 16px 0;
	background: rgba(5, 13, 25, .96);
}
.code-tunnel-console__header h2,
.code-tunnel-panel h3 { margin: 0; }
.code-tunnel-console__header-actions,
.code-tunnel-console__controls { gap: 8px; }
.code-tunnel-console button,
.code-tunnel-console a {
	border: 1px solid rgba(97, 232, 255, .28);
	border-radius: 8px;
	padding: 8px 10px;
	background: rgba(25, 50, 75, .82);
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}
.code-tunnel-badge {
	padding: 5px 9px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	font-size: .75rem;
	text-transform: uppercase;
}
.code-tunnel-badge[data-state="connected"] {
	background: rgba(158, 255, 197, .14);
	color: #9effc5;
}
.code-tunnel-console__summary { gap: 10px; margin: 8px 0 12px; }
.code-tunnel-console__summary > div {
	flex: 1;
	min-width: 100px;
	padding: 10px;
	border: 1px solid rgba(151, 190, 216, .14);
	border-radius: 10px;
	background: rgba(255, 255, 255, .03);
}
.code-tunnel-console__summary small,
.code-tunnel-console__summary strong { display: block; }



/* CompactCSS source: /apps/code/css/tunnel-console/content.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos renews mission, agent, action, runtime, and browser-target testimony.
*/
.code-tunnel-console__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}
.code-tunnel-panel {
	min-height: 160px;
	padding: 13px;
	border: 1px solid rgba(151, 190, 216, .15);
	border-radius: 12px;
	background: rgba(255, 255, 255, .03);
}
.code-tunnel-actions { grid-column: 1 / -1; }
.code-agent-row,
.code-mission-row,
.code-action-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 10px;
	padding: 9px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.code-agent-row small,
.code-mission-row small,
.code-action-row small,
.code-action-row time,
.code-tunnel-empty,
.code-runtime-list dd {
	color: #94a9ba;
	font-size: .78rem;
}
.code-action-row[data-state="failed"] { color: #ff9a9a; }
.code-action-row__state {
	font-size: .68rem;
	text-transform: uppercase;
}
.code-runtime-list {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 7px 10px;
}
.code-runtime-list dt,
.code-runtime-list dd { margin: 0; }
.code-tunnel-error {
	padding: 9px;
	border: 1px solid rgba(255, 100, 100, .35);
	border-radius: 8px;
	color: #ffb0b0;
}
@media (max-width: 680px) {
	.code-tunnel-console__grid { grid-template-columns: 1fr; }
	.code-tunnel-actions { grid-column: auto; }
	.code-tunnel-console__summary {
		align-items: stretch;
		flex-direction: column;
	}
	.code-runtime-list { grid-template-columns: 1fr; }
}





/* CompactCSS source: /apps/code/css/effects.css */
/* B"H - EFFECTS CSS */

/* ENTROPY MODE */
#editor.entropy-active {
    transition: filter 2s ease;
}
#editor.entropy-decay {
    filter: blur(4px) opacity(0.5);
    animation: pulse-decay 3s infinite alternate;
}
@keyframes pulse-decay {
    from { filter: blur(4px) opacity(0.5); }
    to { filter: blur(6px) opacity(0.3); }
}

/* SPOTLIGHT MODE */
body.spotlight-mode::after {
    content: '';
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.85);
    pointer-events: none;
    z-index: 9998;
}
body.spotlight-mode #editor-wrapper {
    z-index: 9999;
    position: relative;
    box-shadow: 0 0 50px rgba(0, 246, 255, 0.2);
}
body.spotlight-mode #editor {
    background-color: var(--color-bg-deep); /* Ensure readable bg */
}



/* CompactCSS source: /apps/code/css/visuals.css */

/* B"H - VISUAL ENGINE CSS */

.visual-layer {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none;
    z-index: 50; /* Behind panels, above background */
    overflow: hidden;
}

#canvas-bg, #canvas-ui {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none; /* Crucial: Let clicks pass through rain */
}

/* B"H - FIXED COORDINATE SPACE */
.editor-canvas {
    position: fixed; /* Changed from absolute to fixed */
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none;
    z-index: 100;
}

.minimap-canvas {
    position: absolute;
    top: 0; 
    right: 14px; /* B"H - Moved 14px to the left to perfectly clear the 12px webkit scrollbar */
    width: 100px; height: 100%;
    z-index: 150;
    opacity: 0.8;
    background: rgba(0,0,0,0.2);
    border-left: 1px solid var(--color-border);
    cursor: pointer;
    pointer-events: auto; /* Interactive */
    touch-action: none; /* Prevent browser scrolling on mobile */
}

/* HUD */
.hud-stats {
    position: absolute;
    bottom: 20px;
    right: 120px; /* Left of minimap */
    background: rgba(0, 20, 40, 0.8);
    border: 1px solid var(--neon-cyan);
    color: var(--neon-cyan);
    padding: 8px 12px;
    border-radius: 4px;
    font-family: var(--font-code);
    font-size: 0.8em;
    pointer-events: auto; /* B"H - Fixed: Allow clicks on buttons */
    z-index: 200;
    display: none; /* Hidden by default, toggled via options */
    box-shadow: 0 0 15px var(--glow-cyan);
    backdrop-filter: blur(4px);
    text-shadow: 0 0 5px var(--neon-cyan);
    transition: width 0.2s, min-width 0.2s; 
}

.hud-row {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    line-height: 1.4;
}

/* Graph Nav */
.graph-nav-overlay {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(10, 12, 20, 0.95);
    z-index: 30000;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}
.graph-nav-overlay.visible {
    opacity: 1;
    pointer-events: auto;
}
#graph-canvas {
    width: 100%; height: 100%;
}
#graph-nav-close {
    position: absolute;
    top: 20px; right: 20px;
    z-index: 30001;
    background: var(--color-bg-tertiary);
    border: 1px solid var(--color-border);
    width: 44px; height: 44px; /* Larger hit target */
}

/* Color Preview Orbs */
.color-orb {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-left: 5px;
    border: 1px solid white;
    box-shadow: 0 0 5px rgba(255,255,255,0.5);
    vertical-align: middle;
    cursor: pointer;
    transition: transform 0.1s;
}
.color-orb:hover {
    transform: scale(1.5);
}

/* Shockwave Animation Class */
.shockwave-active {
    animation: shockwave-pulse 0.1s ease-out;
}
@keyframes shockwave-pulse {
    0% { transform: scale(1); filter: hue-rotate(0deg); }
    50% { transform: scale(1.002); filter: hue-rotate(15deg); }
    100% { transform: scale(1); filter: hue-rotate(0deg); }
}

/* Mobile Optimizations */
@media (max-width: 768px) {
    .minimap-canvas {
        width: 40px; /* Thinner on mobile */
        opacity: 0.6;
    }
    
    .hud-stats {
        right: 50px; /* Push left */
        bottom: 10px;
        font-size: 0.7em;
        padding: 4px 8px;
    }
    
    .color-orb {
        width: 12px; height: 12px; /* Bigger touch target */
    }
}



/* CompactCSS source: /apps/code/css/revelation/tokens.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos creates code, color, emoji, cursor, and every debugging vessel anew.
Awtsmoos.com gives Apps Code one readable cross-platform revelation layer.
*/
:root {
	--code-reveal-font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--code-reveal-font-mono: "Fira Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	--code-reveal-font-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
	--code-reveal-deep: #050713;
	--code-reveal-panel: rgba(11, 18, 45, 0.88);
	--code-reveal-panel-strong: rgba(8, 14, 34, 0.97);
	--code-reveal-soft: rgba(255, 255, 255, 0.07);
	--code-reveal-border: rgba(139, 198, 255, 0.2);
	--code-reveal-border-active: rgba(77, 233, 220, 0.78);
	--code-reveal-text: #f7fbff;
	--code-reveal-muted: #aebfe1;
	--code-reveal-cyan: #4de9dc;
	--code-reveal-blue: #5b8cff;
	--code-reveal-violet: #b77dff;
	--code-reveal-pink: #ff74b8;
	--code-reveal-gold: #ffd36c;
	--code-reveal-danger: #ff6b7f;
	--code-reveal-success: #68efad;
	--code-reveal-radius-sm: 9px;
	--code-reveal-radius-md: 16px;
	--code-reveal-radius-lg: 24px;
	--code-reveal-shadow: 0 20px 62px rgba(0, 0, 0, 0.44);
	--code-reveal-fast: 130ms;
	--code-reveal-medium: 240ms;
	--font-ui: var(--code-reveal-font-ui);
	--font-code: var(--code-reveal-font-mono);
	--color-bg-deep: var(--code-reveal-deep);
	--color-text-primary: var(--code-reveal-text);
	--color-text-secondary: var(--code-reveal-muted);
}
body, button, input, textarea, select {
	font-family: var(--code-reveal-font-ui);
}
textarea, code, pre, #editor, #line-numbers {
	font-family: var(--code-reveal-font-mono);
}
.emoji, [data-emoji] {
	font-family: var(--code-reveal-font-emoji);
}



/* CompactCSS source: /apps/code/css/revelation/surfaces.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos creates explorer, editor, browser, terminal, and every tab anew.
Awtsmoos.com gives all Apps Code surfaces coherent glass depth and focus.
*/
html, body {
	background:
		radial-gradient(circle at 12% 18%, rgba(77, 233, 220, 0.12), transparent 31%),
		radial-gradient(circle at 84% 20%, rgba(183, 125, 255, 0.15), transparent 34%),
		linear-gradient(145deg, #050713, #09122d 60%, #0c1534);
}
.app-container {
	background: transparent;
}
.top-panel {
	border-bottom: 1px solid var(--code-reveal-border);
	background: linear-gradient(180deg, rgba(8, 14, 34, 0.95), rgba(8, 14, 34, 0.78));
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
	backdrop-filter: blur(22px) saturate(155%);
}
.menu-bar {
	min-height: 46px;
	padding-inline: 8px;
}
.sidebar {
	border-right: 1px solid var(--code-reveal-border);
	background: linear-gradient(180deg, rgba(9, 16, 39, 0.96), rgba(6, 11, 28, 0.92));
	box-shadow: 12px 0 36px rgba(0, 0, 0, 0.18);
	backdrop-filter: blur(20px);
}
.sidebar-header, .sidebar-sub-header {
	color: var(--code-reveal-text);
	background: rgba(255, 255, 255, 0.035);
	border-color: var(--code-reveal-border) !important;
}
.main-content, .editor-area {
	background: transparent;
}
.editor-area::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px);
	background-size: 38px 38px;
	mask-image: linear-gradient(to bottom, black, transparent 88%);
}
#editor-wrapper, #previewer, #terminal-wrapper, #browser-wrapper, #virtual-os-wrapper, #devtools-wrapper, #hex-editor-wrapper, #zip-editor-wrapper, #file-commander-wrapper, #vibe-editor-wrapper, #vibe-manager-wrapper {
	border: 1px solid var(--code-reveal-border);
	border-radius: var(--code-reveal-radius-md);
	background: var(--code-reveal-panel);
	box-shadow: var(--code-reveal-shadow);
	overflow: hidden;
	backdrop-filter: blur(18px) saturate(145%);
}
#editor {
	color: var(--code-reveal-text);
	background: rgba(4, 8, 22, 0.82);
	caret-color: var(--code-reveal-cyan);
}
#line-numbers {
	color: #7185ad;
	background: rgba(4, 8, 22, 0.94);
	border-right: 1px solid var(--code-reveal-border);
}
.tab-bar-wrapper {
	border-top: 1px solid rgba(255, 255, 255, 0.035);
	background: rgba(255, 255, 255, 0.025);
}
.tab, .tab-item {
	border-color: transparent;
	border-radius: 10px 10px 0 0;
	color: var(--code-reveal-muted);
	transition: color var(--code-reveal-fast), background var(--code-reveal-fast), border-color var(--code-reveal-fast);
}
.tab.active, .tab-item.active {
	color: var(--code-reveal-text);
	border-color: var(--code-reveal-border-active);
	background: linear-gradient(180deg, rgba(77, 233, 220, 0.12), rgba(91, 140, 255, 0.08));
}
.icon-button {
	border: 1px solid transparent;
	border-radius: 10px;
	color: var(--code-reveal-muted);
	transition: transform var(--code-reveal-fast), color var(--code-reveal-fast), background var(--code-reveal-fast), border-color var(--code-reveal-fast);
}
.icon-button:hover {
	transform: translateY(-1px);
	color: var(--code-reveal-text);
	border-color: var(--code-reveal-border-active);
	background: rgba(77, 233, 220, 0.11);
}
.status-bar {
	border-top: 1px solid var(--code-reveal-border);
	color: var(--code-reveal-muted);
	background: rgba(7, 12, 30, 0.94);
	backdrop-filter: blur(18px);
}
.empty-editor-message {
	color: var(--code-reveal-muted);
}
.empty-editor-message h2 {
	color: var(--code-reveal-text);
	text-shadow: 0 0 32px rgba(77, 233, 220, 0.32);
}



/* CompactCSS source: /apps/code/css/revelation/responsive.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos recreates every viewport anew; Awtsmoos.com turns the wide development temple into one mobile column without cutting a single useful view.
*/

/* CompactCSS source: /apps/code/css/revelation/responsive-narrow.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos lets narrow screens keep their strength without restless motion; Awtsmoos.com folds secondary chrome and preserves the editor ocean.
*/
@media (max-width: 560px) {
	#custom-menu-container,
	#tab-manager-btn {
		display: none;
	}

	.menu-bar {
		padding-inline: 6px !important;
	}

	.tab-bar-wrapper {
		min-height: 38px;
	}

	#editor {
		font-size: 13px;
		line-height: 1.55;
	}

	#line-numbers {
		font-size: 12px;
	}

	#status-right {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.task-card,
	.toast,
	.app-container {
		animation: none !important;
		transition: none !important;
	}
}



@media (max-width: 900px) {
	body,
	.app-container,
	.top-panel,
	.menu-bar {
		box-sizing: border-box;
		max-width: 100vw;
		min-width: 0;
	}

	.app-container,
	.app-container.sidebar-collapsed {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.top-panel,
	.main-content,
	.status-bar,
	.app-container.sidebar-collapsed > .top-panel,
	.app-container.sidebar-collapsed > .main-content,
	.app-container.sidebar-collapsed > .status-bar {
		grid-column: 1 / 2;
	}

	.menu-bar {
		overflow: hidden;
		gap: 4px !important;
	}

	#awtsmoos-account-panel {
		flex: 0 0 44px;
		max-width: 44px;
		margin-inline-start: auto;
	}

	.sidebar {
		position: absolute;
		z-index: 3200;
		top: 0;
		bottom: 0;
		left: 0;
		width: min(340px, 88vw);
		max-width: 100vw;
		box-shadow: 24px 0 60px rgba(0, 0, 0, .48);
	}

	.sidebar.collapsed,
	.sidebar.is-collapsed,
	.app-container.sidebar-collapsed .sidebar {
		transform: translateX(-102%);
		pointer-events: none;
	}

	.sidebar-resizer {
		display: none;
	}

	.top-panel {
		padding-top: env(safe-area-inset-top);
	}

	.main-content,
	.editor-area {
		min-width: 0;
	}

	.editor-area {
		padding: 6px;
	}

	#empty-editor-message {
		left: 50% !important;
		right: auto !important;
		box-sizing: border-box;
		width: min(260px, calc(100vw - 48px));
		max-width: calc(100vw - 48px);
		transform: translate(-50%, -50%) !important;
		letter-spacing: 2px;
	}

	#toast-container,
	.task-notification-stack {
		top: auto !important;
		bottom: max(44px, calc(env(safe-area-inset-bottom) + 12px)) !important;
		left: max(10px, env(safe-area-inset-left)) !important;
		right: max(10px, env(safe-area-inset-right)) !important;
		width: auto !important;
		max-width: none !important;
		box-sizing: border-box;
	}

	.status-bar {
		padding-bottom: env(safe-area-inset-bottom);
		font-size: 11px;
	}
}



/* CompactCSS source: /apps/code/css/revelation/accessibility.css */
/* B"H
Boruch Hashem
Blessed is He
The Awtsmoos creates every developer and every mode of perception anew.
Awtsmoos.com keeps focus, contrast, motion, and touch boundaries visible.
*/
:focus-visible {
	outline: 3px solid var(--code-reveal-gold) !important;
	outline-offset: 2px !important;
}
button, [role="button"], input, select {
	min-height: 34px;
}
::selection {
	color: #fff;
	background: rgba(91, 140, 255, 0.52);
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
	}
}
@media (prefers-contrast: more) {
	:root {
		--code-reveal-deep: #000;
		--code-reveal-panel: rgba(0, 0, 0, 0.98);
		--code-reveal-panel-strong: #000;
		--code-reveal-border: rgba(255, 255, 255, 0.68);
		--code-reveal-border-active: #fff;
		--code-reveal-text: #fff;
		--code-reveal-muted: #fff;
	}
}
@media (forced-colors: active) {
	.sidebar, .top-panel, .status-bar, .tab, .icon-button, #editor-wrapper {
		forced-color-adjust: auto;
		border-color: CanvasText !important;
	}
}
@media (pointer: coarse) {
	.icon-button, button, [role="button"] {
		min-width: 42px;
		min-height: 42px;
	}
}


