* { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; -webkit-font-smoothing: antialiased; }
        [x-cloak] { display: none !important; }
        body { background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%, #f8fafc 100%); min-height: 100vh; }

        .glass { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
        .card { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: 20px; border: 1px solid rgba(226, 232, 240, 0.8); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04); }

        .price-glow { background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%); border-radius: 16px; box-shadow: 0 4px 20px rgba(30, 64, 175, 0.25); }

        .btn-primary { background: #334155; color: white; border-radius: 10px; font-weight: 600; transition: all 0.2s ease; }
        .btn-primary:hover { background: #1e293b; }

        .btn-secondary { background: rgba(255, 255, 255, 0.8); border: 1px solid #e2e8f0; color: #475569; border-radius: 10px; font-weight: 500; transition: all 0.2s ease; }
        .btn-secondary:hover { background: #ffffff; border-color: #cbd5e1; }

        .stat-orb { background: #ffffff; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); border: 1px solid #e2e8f0; border-radius: 14px; transition: all 0.2s ease; }
        .stat-orb:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06); }


        .total-row { background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%); border: 1px solid #cbd5e1; }

        .badge-glass { background: rgba(71, 85, 105, 0.08); color: #475569; border: 1px solid rgba(71, 85, 105, 0.12); border-radius: 20px; }

        .visual-placeholder { background: #f8fafc; border: 2px dashed #e2e8f0; border-radius: 16px; }

        .type-badge { padding: 4px 12px; border-radius: 20px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
        .type-ressource { background: rgba(107, 114, 128, 0.08); color: #4b5563; }
        .type-abstract { background: rgba(99, 102, 241, 0.08); color: #4f46e5; }
        .type-maschinist { background: rgba(2, 132, 199, 0.08); color: #0284c7; }
        .type-electricity { background: rgba(217, 119, 6, 0.08); color: #b45309; }

        .tag-toggle { cursor: pointer; transition: all 0.2s ease; }
        .tag-toggle:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }

        .section-header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
        .section-header svg { flex-shrink: 0; }

        .resource-row { transition: all 0.2s ease; }
        .resource-row:hover { background: rgba(71, 85, 105, 0.03); }

        .floating { animation: float 6s ease-in-out infinite; }
        @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-6px); } }

        .ai-tooltip { animation: tooltipIn 0.15s ease-out; pointer-events: none; }
        @keyframes tooltipIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

        .hide-scrollbar::-webkit-scrollbar { display: none; }
        .hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
        @media print { .no-print { display: none !important; } }

        /* AI Modal Styles */
        /* AI inline results styles handled by Tailwind */
        .ai-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 48px 24px; }
        .ai-loading-spinner { width: 48px; height: 48px; border: 3px solid #e2e8f0; border-top-color: #1e40af; border-radius: 50%; animation: spin 1s linear infinite; }
        @keyframes spin { to { transform: rotate(360deg); } }
        .ai-content { line-height: 1.7; color: #374151; font-size: 0.875rem; }
        .ai-content h2 { font-size: 1.125rem; font-weight: 700; color: #111827; margin: 1.25rem 0 0.75rem 0; }
        .ai-content h3 { font-weight: 700; color: #111827; margin: 1.25rem 0 0.5rem 0; display: flex; align-items: center; gap: 0.5rem; }
        .ai-content h3:first-child, .ai-content h2:first-child { margin-top: 0; }
        .ai-content p { margin-bottom: 0.75rem; color: #4b5563; line-height: 1.6; }
        .ai-content ul { list-style: none; padding-left: 0; margin: 0.75rem 0; }
        .ai-content ol { list-style: none; padding-left: 0; margin: 0.75rem 0; }
        .ai-content li.ai-li { display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.25rem 0; margin-bottom: 0; }
        .ai-content li { margin-bottom: 0.25rem; }
        .ai-content strong { color: #111827; font-weight: 600; }
        .ai-content code { background: #f1f5f9; padding: 2px 6px; border-radius: 4px; font-size: 0.85em; }
        .ai-content table { width: 100%; border-collapse: collapse; font-size: 0.8125rem; }
        .ai-content table th { text-align: left; padding: 0.5rem 0.75rem; font-weight: 600; color: #374151; border-bottom: 2px solid #e5e7eb; background: #f9fafb; }
        .ai-content table td { padding: 0.5rem 0.75rem; color: #4b5563; border-bottom: 1px solid #f3f4f6; }
        .ai-content table tr:hover td { background: #f9fafb; }
        .ai-action-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%); color: white; border-radius: 20px; font-size: 12px; font-weight: 500; }