Files
boc/design/landvex-contradiction-v3.html
T
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- Add NFC ePassport roadmap (ICAO 9303, eIDAS)
- Add TensorFlow.js edge face detection (BlazeFace)
- Add structured audit logger (GDPR-compliant)
- Risk scoring support

Part of KYC Apple Native UX v1.1.0
2026-06-29 16:24:48 +00:00

923 lines
49 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LandveX — Contradiction Engine v3</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
:root{
--bg:#F8F7F5;--card:#FFFFFF;--border:#EBEBEB;
--text:#111111;--text-2:#666666;--text-3:#999999;
--accent:#1a1a1a;--amber:#C8763A;--green:#16A34A;--red:#DC2626;--blue:#2563EB;
--shadow:0 1px 3px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.04);
--r:10px;--font:'IBM Plex Sans',-apple-system,Arial,sans-serif;
--mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-family:var(--font);font-size:14px;background:var(--bg);color:var(--text)}
.topbar{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 4px rgba(0,0,0,.06);display:flex;align-items:center;gap:12px;padding:0 28px;height:60px}
.brand-logo{width:32px;height:32px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff}
.brand-name{font-size:1rem;font-weight:700}
.brand-tag{font-size:.75rem;color:var(--text-2);margin-left:auto}
.container{max-width:1200px;margin:0 auto;padding:24px 28px}
.hero{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:32px 36px;margin-bottom:24px;box-shadow:var(--shadow)}
.hero h1{font-size:1.6rem;font-weight:700;margin-bottom:8px}
.hero p{color:var(--text-2);font-size:.92rem;line-height:1.6;max-width:700px}
.hero .principle{display:inline-block;background:#111;color:#fff;padding:4px 12px;border-radius:6px;font-size:.78rem;font-weight:600;margin-top:12px}
.scoreboard{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.score{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:20px 24px;box-shadow:var(--shadow);text-align:center}
.score-val{font-size:2rem;font-weight:700;line-height:1}
.score-val.red{color:var(--red)}.score-val.amber{color:var(--amber)}.score-val.green{color:var(--green)}
.score-lbl{font-size:.75rem;color:var(--text-3);margin-top:6px;text-transform:uppercase;letter-spacing:.05em}
.filter-bar{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.filter-btn{background:#fff;border:1px solid var(--border);border-radius:7px;padding:7px 16px;font-size:.82rem;font-weight:500;cursor:pointer;font-family:inherit;color:var(--text-2)}
.filter-btn:hover{border-color:var(--text-3);color:var(--text)}
.filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.contradiction{background:var(--card);border:1px solid var(--border);border-radius:var(--r);margin-bottom:16px;overflow:hidden;box-shadow:var(--shadow);transition:transform .15s}
.contradiction:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(0,0,0,.08)}
.contra-header{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border)}
.contra-severity{width:4px;align-self:stretch;border-radius:2px;flex-shrink:0}
.sev-critical{background:var(--red)}.sev-high{background:var(--amber)}.sev-medium{background:#CA8A04}
.contra-meta{flex:1;min-width:0}
.contra-id{font-family:var(--mono);font-size:.72rem;color:var(--text-3);margin-bottom:4px}
.contra-title{font-size:1.05rem;font-weight:700;margin-bottom:4px;line-height:1.3}
.contra-location{font-size:.8rem;color:var(--text-2);display:flex;align-items:center;gap:6px}
.contra-score{background:var(--bg);border-radius:8px;padding:10px 16px;text-align:center;flex-shrink:0;min-width:90px}
.contra-score-val{font-size:1.4rem;font-weight:700}
.contra-score-lbl{font-size:.68rem;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.contra-body{padding:20px 24px}
.comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.side{background:#F5F4F2;border-radius:8px;padding:16px}
.side-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.side-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px}
.side.official .side-icon{background:#E8E8E8}
.side.observed .side-icon{background:var(--accent);color:#fff}
.side-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.side.official .side-title{color:var(--text-2)}
.side.observed .side-title{color:var(--accent)}
.side-content{font-size:.85rem;line-height:1.6;color:var(--text-2)}
.side-content strong{color:var(--text)}
.side-data{font-family:var(--mono);font-size:.78rem;background:#fff;padding:8px 12px;border-radius:6px;margin-top:8px;color:var(--text-2)}
.vs{display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.1em}
.analysis{background:#FEF3C7;border:1px solid #FDE68A;border-radius:8px;padding:14px 18px;margin-bottom:16px}
.analysis-title{font-size:.78rem;font-weight:700;color:#92400E;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.analysis-text{font-size:.85rem;color:#78350F;line-height:1.6}
.evidence{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.evidence-item{background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:.78rem;display:flex;align-items:center;gap:8px}
.evidence-item img{width:48px;height:48px;border-radius:6px;object-fit:cover}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.action-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit}
.action-btn.secondary{background:#fff;color:var(--text);border:1px solid var(--border)}
.action-btn:hover{opacity:.9}
.timeline{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:20px 24px;box-shadow:var(--shadow)}
.timeline-title{font-size:.9rem;font-weight:700;margin-bottom:16px}
.timeline-row{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start}
.timeline-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0}
.timeline-dot.red{background:var(--red)}.timeline-dot.amber{background:var(--amber)}.timeline-dot.green{background:var(--green)}
.timeline-date{font-family:var(--mono);font-size:.72rem;color:var(--text-3);min-width:80px}
.timeline-text{font-size:.82rem;color:var(--text-2);line-height:1.5}
.footer{margin-top:32px;padding:20px 0;border-top:1px solid var(--border);text-align:center;color:var(--text-3);font-size:.78rem}
@media(max-width:768px){
.scoreboard{grid-template-columns:repeat(2,1fr)}
.comparison{grid-template-columns:1fr}
.vs{display:none}
.contra-header{flex-direction:column}
.contra-score{align-self:flex-start}
}
</style>
</head>
<body>
<div class="topbar">
<div class="brand-logo">LV</div>
<div class="brand-name">LandveX</div>
<div class="brand-tag">Contradiction Engine — Live v3</div>
</div>
<div class="container">
<div class="hero">
<h1>Vi letar inte efter bekräftelse. Vi letar efter motsägelse.</h1>
<p>LandveX jämför officiell statistik och rapporter med verifierade observationer från quixzoom-nätverket. När data säger emot sig själv — där finns insikten.</p>
<span class="principle">"We don't look for confirmation. We look for contradiction."</span>
</div>
<div class="scoreboard">
<div class="score">
<div class="score-val red" id="score-contra">12</div>
<div class="score-lbl">Aktiva motsägelser</div>
</div>
<div class="score">
<div class="score-val amber" id="score-high">5</div>
<div class="score-lbl">Hög prioritet</div>
</div>
<div class="score">
<div class="score-val green" id="score-verified">342</div>
<div class="score-lbl">Verifierade obs.</div>
</div>
<div class="score">
<div class="score-val" style="color:var(--blue)" id="score-sources">18</div>
<div class="score-lbl">Datakällor</div>
</div>
</div>
<div class="filter-bar">
<button class="filter-btn active" onclick="filter('all')">Alla</button>
<button class="filter-btn" onclick="filter('critical')">⛔ Kritiska</button>
<button class="filter-btn" onclick="filter('high')">⚠️ Hög prioritet</button>
<button class="filter-btn" onclick="filter('energy')">⚡ Energi</button>
<button class="filter-btn" onclick="filter('transport')">🚗 Transport</button>
<button class="filter-btn" onclick="filter('infrastructure')">🏗️ Infrastruktur</button>
<button class="filter-btn" onclick="filter('environment')">🌿 Miljö</button>
<button class="filter-btn" onclick="filter('safety')">🛡️ Säkerhet</button>
<button class="filter-btn" onclick="filter('retail')">🏪 Retail</button>
<button class="filter-btn" onclick="filter('healthcare')">🏥 Hälsovård</button>
</div>
<!-- CONTRADICTION 1: Elnät Bangkok -->
<div class="contradiction" data-sev="critical" data-cat="energy infrastructure">
<div class="contra-header">
<div class="contra-severity sev-critical"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-06-24-001 · Energi · Bangkok, TH</div>
<div class="contra-title">Elnät: Rapporterad driftstid vs observerad överbelastning</div>
<div class="contra-location">📍 13.7563°N, 100.5018°E · Bang Rak District · 47 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:var(--red)">94%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Provincial Electricity Authority (PEA)</strong> rapporterar <strong>99.7% driftstid</strong> för Bang Rak-distriktet Q1 2026.<br><br>
<strong>PEA årsrapport 2025:</strong> "Nätmodernisering 85% färdig. Inga rapporterade avbrott över 4 timmar."
</div>
<div class="side-data">Driftstid: 99.7%<br>Avbrott: 0.3%<br>Senaste uppdatering: 2026-03-31</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>47 Zoomers</strong> har fotograferat elstolpar i Bang Rak under majjuni 2026.<br><br>
<strong>Observationer:</strong> 38 av 47 stolpar (81%) visar <strong>extrem överbelastning</strong> — improviserade kopplingar, överhettade transformatorer, provisoriska kablar.
</div>
<div class="side-data">Överbelastade stolpar: 38/47 (81%)<br>Provisoriska kopplingar: 29<br>Riskklassning: 🔴 Kritisk</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Officiell statistik rapporterar nära perfekt driftstid, men visuell inspektion av 81% av stolparna i samma område visar kritisk överbelastning.
<strong>Motsägelse:</strong> "Driftstid" mäter bara strömflöde — inte säkerhet eller kapacitetsmarginal. Nätet kan vara "uppe" men på gränsen till haveri.
<strong>Risk:</strong> Regnperiod (juliokt) ökar sannolikheten för eldsvåda och strömavbrott med 340% enligt historisk data.
</div>
</div>
<div class="evidence">
<div class="evidence-item">📸 Bild 1-12: Överbelastade stolpar</div>
<div class="evidence-item">🌡️ IR-mätning: 127°C på transformator T-2847</div>
<div class="evidence-item">📍 GPS: ±3m noggrannhet</div>
<div class="evidence-item">⏱️ Tidsstämpel: 2026-06-18 14:32 UTC</div>
</div>
<div class="actions">
<button class="action-btn">📤 Dela med PEA</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">🔔 Prenumerera på uppdateringar</button>
</div>
</div>
</div>
<!-- CONTRADICTION 2: Vägunderhåll Tyresö -->
<div class="contradiction" data-sev="high" data-cat="transport">
<div class="contra-header">
<div class="contra-severity sev-high"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-06-22-003 · Transport · Tyresö, SE</div>
<div class="contra-title">Vägunderhåll: Kommunalt "gott skick" vs observerade skador</div>
<div class="contra-location">📍 59.2333°N, 18.3000°E · Tyresö kommun · 23 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:var(--amber)">87%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Tyresö kommun</strong> rapporterar att <strong>92% av kommunala vägar</strong> är i "gott skick" (klass 12) enligt årsredovisning 2025.<br><br>
Underhållsbudget: <strong>18.4 Mkr</strong> för 2026. Ingen upphandling för asfaltläggning planerad före Q3.
</div>
<div class="side-data">Vägar i gott skick: 92%<br>Budget: 18.4 Mkr<br>Senaste inspektion: 2025-11-15</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>23 Zoomers</strong> har dokumenterat vägskador i Tyresö under majjuni 2026.<br><br>
<strong>Observationer:</strong> 19 av 23 vägsträckor (83%) visar <strong>allvarliga skador</strong> — djupa gropar, sprickbildning, avflagning. 7 skador klassade som trafikfarliga.
</div>
<div class="side-data">Allvarliga skador: 19/23 (83%)<br>Trafikfarliga: 7<br>Genomsnittlig skaddjup: 8.4 cm</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Kommunen rapporterar 92% i gott skick baserat på årlig inspektion (november 2025). quixzoom-observationer från juni 2026 visar 83% allvarliga skador.
<strong>Motsägelse:</strong> Vinterfrostsprickor och tung trafik under våren har försämrat tillståndet avsevärt sedan senaste officiella inspektion. Kommunen har inte uppdaterat sin bedömning.
<strong>Risk:</strong> 7 trafikfarliga skador. Kostnad för försenat underhåll: uppskattat 2.3x högre än proaktivt åtgärdande.
</div>
</div>
<div class="actions">
<button class="action-btn">📤 Dela med kommunen</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">🗺️ Visa på karta</button>
</div>
</div>
</div>
<!-- CONTRADICTION 3: Fastighet Södermalm -->
<div class="contradiction" data-sev="high" data-cat="infrastructure">
<div class="contra-header">
<div class="contra-severity sev-high"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-06-20-007 · Fastighet · Stockholm, SE</div>
<div class="contra-title">Fastighetsskötsel: "Under kontroll" vs observerat förfall</div>
<div class="contra-location">📍 59.3293°N, 18.0686°E · Södermalm · 31 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:var(--amber)">79%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Fastighetsägaren</strong> rapporterar i årsredovisning 2025 att fastigheten är i <strong>"gott tekniskt skick"</strong> med planerat underhåll budgeterat till 2.1 Mkr för 2026.<br><br>
Energideklaration: Klass C. Inga anmärkningar från myndigheter.
</div>
<div class="side-data">Tekniskt skick: Gott<br>Underhållsbudget: 2.1 Mkr<br>Senaste besiktning: 2025-09-20</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>31 Zoomers</strong> har dokumenterat fasader, tak och entréer under apriljuni 2026.<br><br>
<strong>Observationer:</strong> Omfattande mögelväxt på fasad (nordost), lossnande fönsterfoder, vattenskador i takkonstruktion. Energiförbrukning 34% över deklarerad nivå.
</div>
<div class="side-data">Mögel: 14 av 31 fasader<br>Vattenskador: 8 tak<br>Energiavvikelse: +34%</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Fastighetsägaren rapporterar "gott skick" baserat på intern besiktning (september 2025). quixzoom-observationer visar pågående förfall som inte åtgärdats.
<strong>Motsägelse:</strong> "Gott skick" definieras av ägaren utan oberoende verifiering. Mögel och vattenskador har utvecklats sedan besiktning men inte rapporterats.
<strong>Risk:</strong> Fortsatt förfall kan leda till saneringskostnader på 47 Mkr. Hyresgäster kan kräva hyresnedsättning.
</div>
</div>
<div class="actions">
<button class="action-btn">📤 Dela med hyresgästförening</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">🏛️ Anmäl till kommunen</button>
</div>
</div>
</div>
<!-- CONTRADICTION 4: Vattenkvalitet Mälaren -->
<div class="contradiction" data-sev="medium" data-cat="environment">
<div class="contra-header">
<div class="contra-severity sev-medium"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-06-18-012 · Miljö · Mälaren, SE</div>
<div class="contra-title">Vattenkvalitet: "God" klassning vs observerad algblomning</div>
<div class="contra-location">📍 59.4000°N, 17.8000°E · Ekerö kommun · 15 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:#CA8A04">71%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Länsstyrelsen Stockholm</strong> klassar Mälaren som <strong>"god vattenstatus"</strong> (klass II) i senaste rapport (2024).<br><br>
Näringsämnen inom acceptabla gränser. Ingen badförbud utfärdat för 2026.
</div>
<div class="side-data">Vattenstatus: God (II)<br>Senaste prov: 2024-08<br>Nästa planerade: 2026-08</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>15 Zoomers</strong> har dokumenterat vattenkvalitet vid 8 badplatser i Ekerö kommun under juni 2026.<br><br>
<strong>Observationer:</strong> Omfattande algblomning (cyanobakterier) vid 5 av 8 platser. Grumligt vatten, lukt, döda fiskar observerade vid 2 platser.
</div>
<div class="side-data">Algblomning: 5/8 platser<br>Grumlighet: 6/8<br>Döda fiskar: 2 platser</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Officiell klassning baseras på årliga prover (senaste augusti 2024). quixzoom-observationer från juni 2026 visar pågående algblomning som inte fångats av provtagning.
<strong>Motsägelse:</strong> Provtagningsfrekvens (1x/år) är för låg för att fånga säsongsvariationer. Zoomer-nätverket ger realtidsdata mellan officiella mätningar.
<strong>Risk:</strong> Badande exponeras för toxiner utan varning. Kommunen saknar data för att utfärda badförbud.
</div>
</div>
<div class="actions">
<button class="action-btn">📤 Dela med länsstyrelsen</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">⚠️ Begär badförbud</button>
</div>
</div>
</div>
<!-- CONTRADICTION 5: Bro Göteborg -->
<div class="contradiction" data-sev="critical" data-cat="infrastructure safety">
<div class="contra-header">
<div class="contra-severity sev-critical"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-06-15-018 · Bro · Göteborg, SE</div>
<div class="contra-title">Brokonstruktion: "Godkänd" vs observerade sprickor</div>
<div class="contra-location">📍 57.7089°N, 11.9746°E · Götaälvbron · 12 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:var(--red)">91%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Trafikverket</strong> rapporterar att Götaälvbron är <strong>"i gott skick"</strong> efter senaste inspektion (december 2025).<br><br>
Bärighetsklass: BK1. Nästa planerade inspektion: december 2026. Underhållsbudget 2026: 4.2 Mkr.
</div>
<div class="side-data">Status: Godkänd<br>Bärighet: BK1<br>Senaste inspektion: 2025-12-10</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>12 Zoomers</strong> har dokumenterat brokonstruktionen under majjuni 2026.<br><br>
<strong>Observationer:</strong> Synliga sprickor i betong på 4 av 12 fotograferade sektioner. Rost på bärande stålkonstruktioner. Avflagning av skyddande coating på 6 sektioner.
</div>
<div class="side-data">Sprickor: 4/12 sektioner<br>Rost: 8 sektioner<br>Coating-skador: 6 sektioner</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Trafikverkets inspektion (december 2025) godkände bron. quixzoom-observationer 6 månader senare visar pågående försämring.
<strong>Motsägelse:</strong> Årlig inspektion missar gradvis försämring mellan tillfällena. Zoomer-nätverket ger kontinuerlig övervakning.
<strong>Risk:</strong> Brott i bärande konstruktion kan leda till trafikavstängning. 45 000 fordon/dag påverkas. Kostnad för akut reparation: 1530 Mkr.
</div>
</div>
<div class="actions">
<button class="action-btn">📤 Dela med Trafikverket</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">🚨 Begär omedelbar inspektion</button>
</div>
</div>
</div>
<!-- CONTRADICTION 6: Byggarbetsplats Malmö -->
<div class="contradiction" data-sev="high" data-cat="safety">
<div class="contra-header">
<div class="contra-severity sev-high"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-06-14-021 · Bygge · Malmö, SE</div>
<div class="contra-title">Byggarbetsplats: "Säker" vs observerade brott</div>
<div class="contra-location">📍 55.6050°N, 13.0038°E · Västra Hamnen · 19 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:var(--amber)">85%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Byggföretaget</strong> rapporterar <strong>"noll allvarliga incidenter"</strong> under Q2 2026.<br><br>
Arbetsmiljöverket senaste inspektion (mars 2026): Inga anmärkningar. Säkerhetsronder genomförda veckovis.
</div>
<div class="side-data">Incidenter: 0<br>Senaste AV-inspektion: 2026-03-15<br>Säkerhetsronder: Veckovis</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>19 Zoomers</strong> har dokumenterat byggarbetsplatsen under majjuni 2026.<br><br>
<strong>Observationer:</strong> 14 av 19 tillfällen (74%) visar <strong>säkerhetsbrister</strong> — saknade skyddsräcken, oskyddade hål, felaktig personlig skyddsutrustning, blockerade nödutgångar.
</div>
<div class="side-data">Säkerhetsbrister: 14/19 (74%)<br>Saknade räcken: 9<br>Blockerade utgångar: 5</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Byggföretaget rapporterar noll incidenter, men quixzoom-observationer visar systematiska säkerhetsbrister.
<strong>Motsägelse:</strong> "Noll incidenter" betyder bara att inga olyckor rapporterats — inte att riskerna inte finns. Interna ronder påverkas av att personal vet när de sker.
<strong>Risk:</strong> Allvarlig arbetsplatsolycka sannolik. Arbetsmiljöverket kan stänga arbetsplatsen. Försenad byggtid: uppskattat 36 veckor.
</div>
</div>
<div class="actions">
<button class="action-btn">📤 Anmäl till Arbetsmiljöverket</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">📸 Visa alla observationer</button>
</div>
</div>
</div>
<!-- CONTRADICTION 7: Parkeringsövervakning Uppsala -->
<div class="contradiction" data-sev="medium" data-cat="transport">
<div class="contra-header">
<div class="contra-severity sev-medium"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-06-10-025 · Parkerings · Uppsala, SE</div>
<div class="contra-title">Parkeringsövervakning: "Effektiv" vs observerade överträdelser</div>
<div class="contra-location">📍 59.8586°N, 17.6389°E · Uppsala centrum · 34 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:#CA8A04">68%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Uppsala kommun</strong> rapporterar <strong>96% efterlevnad</strong> av parkeringsregler i centrum (Q1 2026).<br><br>
Parkeringsövervakning: 8 kontrollanter, 6 dagar/vecka. Genomsnittlig kontrolltid per zon: 45 minuter.
</div>
<div class="side-data">Efterlevnad: 96%<br>Kontrollanter: 8<br>Täckning: 6 dagar/vecka</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>34 Zoomers</strong> har dokumenterat parkeringsöverträdelser i Uppsala centrum under juni 2026.<br><br>
<strong>Observationer:</strong> 28 av 34 tillfällen (82%) visar <strong>överträdelser</strong> — felparkering, överträdda tidsgränser, parkering på handikapplatser utan tillstånd, blockering av cykelbanor.
</div>
<div class="side-data">Överträdelser: 28/34 (82%)<br>Handikapp-platser: 7<br>Blockerade cykelbanor: 12</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Kommunen rapporterar 96% efterlevnad baserat på utfärdade p-bot. quixzoom-observationer visar 82% överträdelser.
<strong>Motsägelse:</strong> Kontrollanterna täcker inte alla zoner samtidigt. Överträdelser sker i "blinda fläckar" mellan kontrollerna. quixzoom ger kontinuerlig täckning.
<strong>Risk:</strong> Förlorade intäkter från p-böter. Tillgänglighetsproblem för rörelsehindrade. Cykelsäkerhet påverkas.
</div>
</div>
<div class="actions">
<button class="action-btn">📤 Dela med kommunen</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">🗺️ Visa heatmap</button>
</div>
</div>
</div>
<!-- CONTRADICTION 8: Retail butikskedja -->
<div class="contradiction" data-sev="high" data-cat="retail">
<div class="contra-header">
<div class="contra-severity sev-high"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-06-08-028 · Retail · Stockholm, SE</div>
<div class="contra-title">Butikskedja: "Premium läge" vs observerat förfall</div>
<div class="contra-location">📍 59.3326°N, 18.0649°E · Drottninggatan · 41 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:var(--amber)">76%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Butikskedjan</strong> rapporterar <strong>"premium butiksmiljö"</strong> i alla Stockholmsbutiker enligt intern kvalitetsgranskning (Q1 2026).<br><br>
Kundnöjdhet: 4.2/5. Inga klagomål om butiksmiljö. Underhållsbudget: 850k kr/år.
</div>
<div class="side-data">Kvalitetsgranskning: Premium<br>Kundnöjdhet: 4.2/5<br>Senaste granskning: 2026-03-31</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>41 Zoomers</strong> har dokumenterat 8 butiker på Drottninggatan under majjuni 2026.<br><br>
<strong>Observationer:</strong> 6 av 8 butiker (75%) visar <strong>underhållsbrister</strong> — trasiga skyltar, smutsiga fönster, slitet golv, trasiga belysningsarmaturer, överfulla sopkorgar.
</div>
<div class="side-data">Underhållsbrister: 6/8 (75%)<br>Trasiga skyltar: 5<br>Smutsiga fönster: 7</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Butikskedjan rapporterar "premium miljö" baserat på intern granskning. quixzoom-observationer visar att 75% av butikerna har underhållsbrister.
<strong>Motsägelse:</strong> Intern granskning utförs med förvarning och fokuserar på utvalda områden. quixzoom ger oannonserad, kontinuerlig övervakning.
<strong>Risk:</strong> Varumärkesskada. Kunder väljer konkurrenter. Uppskattad intäktsförlust: 812% per butik med brister.
</div>
</div>
<div class="actions">
<button class="action-btn">📤 Dela med kedjans ledning</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">🏪 Visa alla butiker</button>
</div>
</div>
</div>
<!-- CONTRADICTION 9: Hälsovård väntetider -->
<div class="contradiction" data-sev="critical" data-cat="healthcare">
<div class="contra-header">
<div class="contra-severity sev-critical"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-06-05-031 · Vård · Linköping, SE</div>
<div class="contra-title">Vårdcentral: "7 dagars väntetid" vs observerade köer</div>
<div class="contra-location">📍 58.4108°N, 15.6214°E · Linköping centrum · 27 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:var(--red)">89%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Region Östergötland</strong> rapporterar <strong>genomsnittlig väntetid 7 dagar</strong> för läkarbesök på vårdcentraler (maj 2026).<br><br>
1177 Vårdguiden: "Ring oss så får du en tid inom en vecka." Nationellt mål: 90% inom 7 dagar.
</div>
<div class="side-data">Väntetid: 7 dagar<br>Måluppfyllelse: 89%<br>Senaste rapport: 2026-05-31</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>27 Zoomers</strong> har dokumenterat kösituationen vid 4 vårdcentraler i Linköping under majjuni 2026.<br><br>
<strong>Observationer:</strong> Genomsnittlig kötid <strong>23 dagar</strong> för läkarbesök. 18 av 27 observationer (67%) visar överfulla väntrum. Telefontider: genomsnitt 47 minuter i kö.
</div>
<div class="side-data">Faktisk väntetid: 23 dagar<br>Överfulla väntrum: 18/27 (67%)<br>Telefonkö: 47 min</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Regionen rapporterar 7 dagars väntetid baserat på bokade tider. quixzoom-observationer visar att faktisk väntetid är 23 dagar.
<strong>Motsägelse:</strong> "Väntetid" mäts från bokning till besök — men bokningen själv kan vara 23 veckor fram i tiden. Patienter rapporterar inte alltid till 1177.
<strong>Risk:</strong> Försenad diagnos och behandling. Patienter söker akutvård istället. Kostnad för onödiga akutbesök: uppskattat 4.2 Mkr/år för regionen.
</div>
</div>
<div class="actions">
<button class="action-btn">📤 Dela med regionen</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">📰 Kontakta media</button>
</div>
</div>
</div>
<!-- CONTRADICTION 10: Skolgård säkerhet -->
<div class="contradiction" data-sev="high" data-cat="safety">
<div class="contra-header">
<div class="contra-severity sev-high"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-06-02-034 · Skola · Lund, SE</div>
<div class="contra-title">Skolgård: "Säker miljö" vs observerade risker</div>
<div class="contra-location">📍 55.7047°N, 13.1910°E · Lund centrum · 16 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:var(--amber)">82%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Lunds kommun</strong> rapporterar att alla skolgårdar är <strong>"säkra och ändamålsenliga"</strong> enligt årlig inspektion (april 2026).<br><br>
Ingen skada på skolgård under läsåret 2025/26. Underhållsbudget: 1.2 Mkr för 2026.
</div>
<div class="side-data">Status: Säker<br>Skador: 0<br>Senaste inspektion: 2026-04-15</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>16 Zoomers</strong> har dokumenterat 5 skolgårdar i Lund under majjuni 2026.<br><br>
<strong>Observationer:</strong> 4 av 5 skolgårdar (80%) visar <strong>säkerhetsrisker</strong> — trasiga klätterställningar, hål i staket, vassa kanter på lekutrustning, ojämna underlag, blockerade nödutgångar.
</div>
<div class="side-data">Säkerhetsrisker: 4/5 (80%)<br>Trasig utrustning: 7<br>Hål i staket: 3</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Kommunen rapporterar "säker miljö" baserat på årlig inspektion. quixzoom-observationer visar att 80% av skolgårdarna har säkerhetsrisker.
<strong>Motsägelse:</strong> Årlig inspektion missar skador som uppstår efter inspektionen. Barn rapporterar inte alltid mindre skador.
<strong>Risk:</strong> Allvarlig skada på barn. Försäkringskrav. Kommunen kan stå som ansvarig vid olycka.
</div>
</div>
<div class="actions">
<button class="action-btn">📤 Anmäl till kommunen</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">👨‍👩‍👧‍👦 Informera föräldrar</button>
</div>
</div>
</div>
<!-- CONTRADICTION 11: Cykelvägar -->
<div class="contradiction" data-sev="medium" data-cat="transport">
<div class="contra-header">
<div class="contra-severity sev-medium"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-05-28-037 · Cykel · Umeå, SE</div>
<div class="contra-title">Cykelvägar: "God standard" vs observerade hinder</div>
<div class="contra-location">📍 63.8258°N, 20.2630°E · Umeå centrum · 22 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:#CA8A04">74%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Umeå kommun</strong> rapporterar att <strong>88% av cykelvägarna</strong> är i "gott skick" enligt årsredovisning 2025.<br><br>
Cykelstrategi 20252030: Mål 95% i gott skick till 2030. Budget: 12 Mkr för 2026.
</div>
<div class="side-data">Cykelvägar i gott skick: 88%<br>Budget: 12 Mkr<br>Senaste inspektion: 2025-10-20</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>22 Zoomers</strong> har dokumenterat cykelvägar i Umeå under majjuni 2026.<br><br>
<strong>Observationer:</strong> 16 av 22 vägsträckor (73%) visar <strong>hinder</strong> — gropar, is på vintervägar (ej sandade), blockerade vägar av snö, saknade skyltar, ojämna korsningar.
</div>
<div class="side-data">Hinder: 16/22 (73%)<br>Gropar: 11<br>Blockerade vägar: 8</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Kommunen rapporterar 88% i gott skick baserat på årlig inspektion. quixzoom-observationer visar 73% hinder.
<strong>Motsägelse:</strong> Inspektionen sker under sommarhalvåret och missar vinterproblem. Cyklister rapporterar inte alltid hinder.
<strong>Risk:</strong> Cykelolyckor ökar. Färre väljer cykel istället för bil. Klimatmål påverkas negativt.
</div>
</div>
<div class="actions">
<button class="action-btn">📤 Dela med kommunen</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">🚴 Visa cykelvägskarta</button>
</div>
</div>
</div>
<!-- CONTRADICTION 12: Renhållning -->
<div class="contradiction" data-sev="medium" data-cat="environment">
<div class="contra-header">
<div class="contra-severity sev-medium"></div>
<div class="contra-meta">
<div class="contra-id">CONTRA-2026-05-25-040 · Renhållning · Göteborg, SE</div>
<div class="contra-title">Sophantering: "Effektiv" vs observerad nedskräpning</div>
<div class="contra-location">📍 57.7089°N, 11.9746°E · Haga · 29 observationer</div>
</div>
<div class="contra-score">
<div class="contra-score-val" style="color:#CA8A04">69%</div>
<div class="contra-score-lbl">Konfidens</div>
</div>
</div>
<div class="contra-body">
<div class="comparison">
<div class="side official">
<div class="side-header">
<div class="side-icon">🏛️</div>
<div class="side-title">Officiell data</div>
</div>
<div class="side-content">
<strong>Göteborgs Stad</strong> rapporterar <strong>99.2% tömningsgrad</strong> för sopkorgar i centrum (Q1 2026).<br><br>
Renhållning: 6 dagar/vecka, 04:0007:00. Klagomål om nedskräpning: 12 st under Q1.
</div>
<div class="side-data">Tömningsgrad: 99.2%<br>Frekvens: 6 dagar/vecka<br>Klagomål: 12 st</div>
</div>
<div class="vs">VS</div>
<div class="side observed">
<div class="side-header">
<div class="side-icon">📸</div>
<div class="side-title">quixzoom-observationer</div>
</div>
<div class="side-content">
<strong>29 Zoomers</strong> har dokumenterat sopkorgar och nedskräpning i Haga under majjuni 2026.<br><br>
<strong>Observationer:</strong> 21 av 29 tillfällen (72%) visar <strong>överfulla sopkorgar</strong> eller nedskräpning. 8 sopkorgar ej tömda på 3+ dagar. Råttor observerade vid 4 platser.
</div>
<div class="side-data">Överfulla korgar: 21/29 (72%)<br>Ej tömda 3+ dagar: 8<br>Råttor: 4 platser</div>
</div>
</div>
<div class="analysis">
<div class="analysis-title">🎯 Kontradiktionsanalys</div>
<div class="analysis-text">
Kommunen rapporterar 99.2% tömningsgrad baserat på schemalagda tömningar. quixzoom-observationer visar 72% överfulla korgar.
<strong>Motsägelse:</strong> Tömning sker tidigt morgon — men korgarna fylls under dagen. Turistsäsong ökar avfallsmängden utan att schemat justeras.
<strong>Risk:</strong> Råttproblem. Miljöskada. Negativ upplevelse för turister och invånare.
</div>
</div>
<div class="actions">
<button class="action-btn">📤 Dela med kommunen</button>
<button class="action-btn secondary">📊 Generera rapport</button>
<button class="action-btn secondary">🗺️ Visa problemområden</button>
</div>
</div>
</div>
<div class="timeline">
<div class="timeline-title">📅 Tidslinje — Kontradiktioner upptäckta</div>
<div class="timeline-row">
<div class="timeline-dot red"></div>
<div class="timeline-date">2026-06-24</div>
<div class="timeline-text"><strong>Elnät Bangkok:</strong> 47 observationer bekräftar kritisk överbelastning. Konfidens 94%.</div>
</div>
<div class="timeline-row">
<div class="timeline-dot amber"></div>
<div class="timeline-date">2026-06-22</div>
<div class="timeline-text"><strong>Vägunderhåll Tyresö:</strong> 23 observationer avslöjar allvarliga skador. Kommunen rapporterar 92% i gott skick.</div>
</div>
<div class="timeline-row">
<div class="timeline-dot amber"></div>
<div class="timeline-date">2026-06-20</div>
<div class="timeline-text"><strong>Fastighet Södermalm:</strong> 31 observationer visar pågående förfall. Ägaren rapporterar "gott skick".</div>
</div>
<div class="timeline-row">
<div class="timeline-dot" style="background:#CA8A04"></div>
<div class="timeline-date">2026-06-18</div>
<div class="timeline-text"><strong>Vattenkvalitet Mälaren:</strong> 15 observationer påvisar algblomning. Länsstyrelsen klassar som "god".</div>
</div>
<div class="timeline-row">
<div class="timeline-dot red"></div>
<div class="timeline-date">2026-06-15</div>
<div class="timeline-text"><strong>Bro Göteborg:</strong> 12 observationer visar sprickor och rost. Trafikverket godkände bron i december.</div>
</div>
<div class="timeline-row">
<div class="timeline-dot amber"></div>
<div class="timeline-date">2026-06-14</div>
<div class="timeline-text"><strong>Byggarbetsplats Malmö:</strong> 19 observationer visar systematiska säkerhetsbrister. Noll rapporterade incidenter.</div>
</div>
<div class="timeline-row">
<div class="timeline-dot" style="background:#CA8A04"></div>
<div class="timeline-date">2026-06-10</div>
<div class="timeline-text"><strong>Parkeringsövervakning Uppsala:</strong> 34 observationer visar 82% överträdelser. Kommunen rapporterar 96% efterlevnad.</div>
</div>
<div class="timeline-row">
<div class="timeline-dot amber"></div>
<div class="timeline-date">2026-06-08</div>
<div class="timeline-text"><strong>Retail Stockholm:</strong> 41 observationer visar 75% underhållsbrister. Kedjan rapporterar "premium miljö".</div>
</div>
<div class="timeline-row">
<div class="timeline-dot red"></div>
<div class="timeline-date">2026-06-05</div>
<div class="timeline-text"><strong>Vård Linköping:</strong> 27 observationer visar 23 dagars väntetid. Regionen rapporterar 7 dagar.</div>
</div>
<div class="timeline-row">
<div class="timeline-dot amber"></div>
<div class="timeline-date">2026-06-02</div>
<div class="timeline-text"><strong>Skolgård Lund:</strong> 16 observationer visar 80% säkerhetsrisker. Kommunen rapporterar "säker miljö".</div>
</div>
<div class="timeline-row">
<div class="timeline-dot" style="background:#CA8A04"></div>
<div class="timeline-date">2026-05-28</div>
<div class="timeline-text"><strong>Cykelvägar Umeå:</strong> 22 observationer visar 73% hinder. Kommunen rapporterar 88% i gott skick.</div>
</div>
<div class="timeline-row">
<div class="timeline-dot" style="background:#CA8A04"></div>
<div class="timeline-date">2026-05-25</div>
<div class="timeline-text"><strong>Renhållning Göteborg:</strong> 29 observationer visar 72% överfulla sopkorgar. Kommunen rapporterar 99.2% tömningsgrad.</div>
</div>
<div class="timeline-row">
<div class="timeline-dot green"></div>
<div class="timeline-date">2026-05-01</div>
<div class="timeline-text"><strong>System:</strong> Contradiction Engine v3.0 aktiverad. 18 datakällor indexerade. 342 verifierade observationer insamlade.</div>
</div>
</div>
<div class="footer">
LandveX Contradiction Engine — Live Demo v3.0 · Datakällor: quixzoom-nätverket, offentliga register, satellitdata, väderdata, trafikdata, hälsojournaler<br>
Alla observationer är geolokaliserade, tidsstämplade och verifierade av minst 3 oberoende Zoomers.<br>
<strong>Metod:</strong> Officiell statistik + QUIXZOOM-observationer + Extern data → Kontradiktionsanalys → Kontrollintelligens
</div>
</div>
<script>
function filter(cat){
document.querySelectorAll('.filter-btn').forEach(b=>b.classList.remove('active'));
event.target.classList.add('active');
document.querySelectorAll('.contradiction').forEach(c=>{
if(cat==='all'||c.dataset.sev===cat||c.dataset.cat.includes(cat)){
c.style.display='';
}else{
c.style.display='none';
}
});
}
</script>
</body>
</html>