/* Išcentruota iš šablonų (pataisa 4c). */
    /* === Tokens === */
    :root{--font-display:'Inter',-apple-system,sans-serif;--font-sans:'Inter',-apple-system,sans-serif;--font-serif:'Inter',-apple-system,sans-serif;--font-mono:'JetBrains Mono','SF Mono',ui-monospace,monospace;--r-sm:8px;--r-md:12px;--r-lg:12px;--r-xl:20px;--r-2xl:20px;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--t-fast:150ms cubic-bezier(0.16,1,0.3,1);--t-default:250ms cubic-bezier(0.16,1,0.3,1);--t-slow:400ms cubic-bezier(0.16,1,0.3,1);--t-spring:500ms cubic-bezier(0.34,1.56,0.64,1)}

    /* === Base — hard values, no vars, cannot fail to resolve === */
    *, *::before, *::after { box-sizing: border-box; }
    html { background: #060606 !important; scroll-behavior: smooth; }
    body { background: #060606 !important; color: #ededed !important; font-family: 'Inter',-apple-system,sans-serif; -webkit-font-smoothing: antialiased; min-height: 100vh; margin: 0; }

    /* Tailwind light-class neutralisation */
    .bg-white    { background-color: #131316 !important; color: #ededed !important; }
    .bg-slate-50, .bg-slate-100, .bg-gray-50, .bg-gray-100, .bg-zinc-50 { background-color: #0e0e10 !important; }
    main, [class*="container"] { background: transparent !important; color: inherit; }

    /* === Soft grid === */
    .soft-grid {
      background-image: linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
      background-size: 42px 42px;
    }

    /* === Native edge-to-edge (app build ≥11) === */
    /* The app sets contentInset:'never', so the WebView extends under the
       status bar & home indicator — the fixed background layers then cover the
       whole screen (no more black bars top/bottom). These rules push CONTENT
       out of the unsafe zones. On older builds (contentInset:'always') the
       env() insets are 0, so everything below is a harmless no-op. */
    html.is-native .soft-grid > header { padding-top: env(safe-area-inset-top, 0px); }
    html.is-native body { padding-bottom: env(safe-area-inset-bottom, 0px); }
    html.is-native #offline-banner { padding-top: calc(8px + env(safe-area-inset-top, 0px)); }

    /* === Glass card (legacy) === */
    

    /* === Mesh gradient === */
    .mesh-bg { position: relative; overflow: hidden; isolation: isolate; }
    .mesh-bg::before, .mesh-bg::after {
      content: ''; display: none;
    }
    .mesh-bg::before { width: 500px; height: 500px; background:transparent; top: -200px; left: -100px; }
    .mesh-bg::after  { width: 400px; height: 400px; background:transparent; bottom: -150px; right: -100px; animation-delay: -10s; }
    
    @media (prefers-reduced-motion: reduce) { .mesh-bg::before, .mesh-bg::after { animation: none; } }
    @media (max-width: 768px) { .mesh-bg::before { width:280px;height:280px;opacity:0.28 } .mesh-bg::after { width:220px;height:220px;opacity:0.28 } }

    /* === Cards === */
    
    
    
    
    .card.card--accent.card--bare{position:relative;overflow:hidden}
    .card.card--accent.card--bare::before{ content:''; position:absolute; inset:0; background:transparent; pointer-events:none; }
    .pcard-3d { transform-style:flat; }

    /* === Buttons === */
    
    
    /* Pirminis mygtukas (2026-10-04): vientisas akcentas, Inter, sakinio didžioji, be gradiento, švytėjimo ir slenkančio blizgesio.
       Ta pati išvaizda kaip .dbtn--solid (dash.css), kad visame kelyje būtų viena mygtukų sistema. */
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    /* === Badges === */
    
    
    
    
    
    
    

    /* === Stat components === */
    .stat-label { font-size:12px; font-weight:600; color:var(--text-muted,#8a8a93); }
    .stat-value { font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace; font-size:40px; font-weight:700; letter-spacing:-0.04em; color:#ededed; line-height:1.15;font-variant-numeric:tabular-nums; }
    .stat-meta  { font-size:12px; color:var(--text-muted,#8a8a93); }
    .stat-hero  { font-size:56px; font-weight:700; letter-spacing:-0.06em; line-height:1.15;color:#c9c9cf;}
    .stat-hero-accent {color:var(--accent,#22d3ee);}
    @media (max-width:768px) { .stat-hero { font-size:56px; } }

    /* === Input === */
    .pinput{width:100%;transition: border-color 250ms}
    

    /* === Utilities === */
    .hairline { height:1px; background:rgba(255,255,255,.03); border:0; margin:24px 0; }
    .glow-accent { color:var(--accent,#22d3ee); text-shadow:none; }
    .glow-win    { color:var(--win,#34d399); text-shadow:none; }
    .glow-gold   { color:var(--gold-light,#f7d959); text-shadow:none; }
    .num, [data-num] { font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace; font-variant-numeric:tabular-nums; letter-spacing:-0.02em; }
    .reveal, .reveal.in { opacity:1; transform:none; }

    /* === Bar charts === */
    .bar-track{position:relative;height:6px;background:#0e0e10;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.05)}
    .bar-fill{height:100%;background:var(--accent,#22d3ee);border-radius:4px;box-shadow:none;position:relative;overflow:hidden;transition:width 800ms cubic-bezier(0.16,1,0.3,1)}
    .bar-fill.bar-win  { background:var(--win,#34d399); box-shadow:none; }
    .bar-fill.bar-loss { background:var(--loss,#ef4444); box-shadow:none; }
    .bar-fill::after { content:''; position:absolute; inset:0; background:transparent; }

    /* === Indeterminate progress === */
    .progress-indeterminate { position:relative; height:3px; background:var(--accent-soft,rgba(34,211,238,.1)); overflow:hidden; }
    .progress-indeterminate::before { content:''; position:absolute; top:0; height:100%; width:30%; background:var(--accent,#22d3ee); }
    

    /* === HTMX indicator === */
    .htmx-request #loading-spinner, #loading-spinner.htmx-request, #landing-loading.htmx-request { display:flex; }

    /* === Grain overlay — disabled for perf === */
    body::before { display:none; }

    /* === Scrollbar === */
    ::-webkit-scrollbar { width:8px; } ::-webkit-scrollbar-track { background:#060606; } ::-webkit-scrollbar-thumb{background:rgba(34,211,238,.16);border-radius:4px}
    .custom-scrollbar::-webkit-scrollbar { width:4px; } .custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(34,211,238,.12);border-radius:4px}

    /* === Markdown === */
    .analysis-content strong { font-weight:700; color:#ededed; }
    .analysis-content ul { list-style-type:disc; padding-left:1.25rem; margin:0.5rem 0; }
    .analysis-content li { margin-bottom:0.4rem; color:var(--text-secondary,#a1a1a9); }
    .analysis-content p { margin-bottom:0.75rem; color:var(--text-secondary,#a1a1a9); }
    .analysis-content p:last-child { margin-bottom:0; }
    .analysis-content h3, .analysis-content h4 { color:#ededed; margin:1rem 0 0.5rem; }

    /* === Sparkline === */
    .sparkline { width:100%; overflow:visible; }

    /* === Drop zone === */
    .drop-zone { border:1px dashed var(--accent-border,rgba(34,211,238,.3)); transition:border-color 160ms ease,background 160ms ease,transform 160ms ease; }
    .drop-zone.is-dragging { border-color:var(--accent,#22d3ee); background:rgba(34,211,238,.08); transform:translateY(-1px); }

    /* === Luxe animated gradient border card === */
    
    
    
