2026-06-29 16:24:48 +00:00
<!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< / 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 1 px 3 px rgba ( 0 , 0 , 0 , .06 ) , 0 4 px 16 px rgba ( 0 , 0 , 0 , .04 ) ;
--r : 10 px ; --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 : 14 px ; background : var ( - - bg ) ; color : var ( - - text ) }
. topbar { position : sticky ; top : 0 ; z-index : 100 ; background : #fff ; border-bottom : 1 px solid var ( - - border ) ; box-shadow : 0 1 px 4 px rgba ( 0 , 0 , 0 , .06 ) ; display : flex ; align-items : center ; gap : 12 px ; padding : 0 28 px ; height : 60 px }
. brand-logo { width : 32 px ; height : 32 px ; border-radius : 8 px ; background : var ( - - accent ) ; display : flex ; align-items : center ; justify-content : center ; font-size : 14 px ; font-weight : 800 ; color : #fff }
. brand-name { font-size : 1 rem ; font-weight : 700 }
. brand-tag { font-size : .75 rem ; color : var ( - - text -2 ) ; margin-left : auto }
. container { max-width : 1200 px ; margin : 0 auto ; padding : 24 px 28 px }
. hero { background : var ( - - card ) ; border : 1 px solid var ( - - border ) ; border-radius : var ( - - r ) ; padding : 32 px 36 px ; margin-bottom : 24 px ; box-shadow : var ( - - shadow ) }
. hero h1 { font-size : 1.6 rem ; font-weight : 700 ; margin-bottom : 8 px }
. hero p { color : var ( - - text -2 ) ; font-size : .92 rem ; line-height : 1.6 ; max-width : 700 px }
. hero . principle { display : inline-block ; background : #111 ; color : #fff ; padding : 4 px 12 px ; border-radius : 6 px ; font-size : .78 rem ; font-weight : 600 ; margin-top : 12 px }
. scoreboard { display : grid ; grid-template-columns : repeat ( 4 , 1 fr ) ; gap : 16 px ; margin-bottom : 24 px }
. score { background : var ( - - card ) ; border : 1 px solid var ( - - border ) ; border-radius : var ( - - r ) ; padding : 20 px 24 px ; box-shadow : var ( - - shadow ) ; text-align : center }
. score-val { font-size : 2 rem ; 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 : .75 rem ; color : var ( - - text -3 ) ; margin-top : 6 px ; text-transform : uppercase ; letter-spacing : .05 em }
. filter-bar { display : flex ; gap : 8 px ; margin-bottom : 20 px ; flex-wrap : wrap }
. filter-btn { background : #fff ; border : 1 px solid var ( - - border ) ; border-radius : 7 px ; padding : 7 px 16 px ; font-size : .82 rem ; 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 : 1 px solid var ( - - border ) ; border-radius : var ( - - r ) ; margin-bottom : 16 px ; overflow : hidden ; box-shadow : var ( - - shadow ) ; transition : transform .15 s }
. contradiction : hover { transform : translateY ( -1 px ) ; box-shadow : 0 4 px 20 px rgba ( 0 , 0 , 0 , .08 ) }
. contra-header { display : flex ; align-items : flex-start ; gap : 16 px ; padding : 20 px 24 px ; border-bottom : 1 px solid var ( - - border ) }
. contra-severity { width : 4 px ; align-self : stretch ; border-radius : 2 px ; 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 : .72 rem ; color : var ( - - text -3 ) ; margin-bottom : 4 px }
. contra-title { font-size : 1.05 rem ; font-weight : 700 ; margin-bottom : 4 px ; line-height : 1.3 }
. contra-location { font-size : .8 rem ; color : var ( - - text -2 ) ; display : flex ; align-items : center ; gap : 6 px }
. contra-score { background : var ( - - bg ) ; border-radius : 8 px ; padding : 10 px 16 px ; text-align : center ; flex-shrink : 0 ; min-width : 90 px }
. contra-score-val { font-size : 1.4 rem ; font-weight : 700 }
. contra-score-lbl { font-size : .68 rem ; color : var ( - - text -3 ) ; text-transform : uppercase ; letter-spacing : .05 em ; margin-top : 2 px }
. contra-body { padding : 20 px 24 px }
. comparison { display : grid ; grid-template-columns : 1 fr 1 fr ; gap : 16 px ; margin-bottom : 16 px }
. side { background : #F5F4F2 ; border-radius : 8 px ; padding : 16 px }
. side-header { display : flex ; align-items : center ; gap : 8 px ; margin-bottom : 10 px }
. side-icon { width : 28 px ; height : 28 px ; border-radius : 6 px ; display : flex ; align-items : center ; justify-content : center ; font-size : 14 px }
. side . official . side-icon { background : #E8E8E8 }
. side . observed . side-icon { background : var ( - - accent ) ; color : #fff }
. side-title { font-size : .8 rem ; font-weight : 700 ; text-transform : uppercase ; letter-spacing : .05 em }
. side . official . side-title { color : var ( - - text -2 ) }
. side . observed . side-title { color : var ( - - accent ) }
. side-content { font-size : .85 rem ; line-height : 1.6 ; color : var ( - - text -2 ) }
. side-content strong { color : var ( - - text ) }
. side-data { font-family : var ( - - mono ) ; font-size : .78 rem ; background : #fff ; padding : 8 px 12 px ; border-radius : 6 px ; margin-top : 8 px ; color : var ( - - text -2 ) }
. vs { display : flex ; align-items : center ; justify-content : center ; font-size : .75 rem ; font-weight : 700 ; color : var ( - - text -3 ) ; text-transform : uppercase ; letter-spacing : .1 em }
. analysis { background : #FEF3C7 ; border : 1 px solid #FDE68A ; border-radius : 8 px ; padding : 14 px 18 px ; margin-bottom : 16 px }
. analysis-title { font-size : .78 rem ; font-weight : 700 ; color : #92400E ; text-transform : uppercase ; letter-spacing : .05 em ; margin-bottom : 6 px }
. analysis-text { font-size : .85 rem ; color : #78350F ; line-height : 1.6 }
. evidence { display : flex ; gap : 12 px ; flex-wrap : wrap ; margin-bottom : 16 px }
. evidence-item { background : #fff ; border : 1 px solid var ( - - border ) ; border-radius : 8 px ; padding : 10 px 14 px ; font-size : .78 rem ; display : flex ; align-items : center ; gap : 8 px }
. evidence-item img { width : 48 px ; height : 48 px ; border-radius : 6 px ; object-fit : cover }
. actions { display : flex ; gap : 8 px ; flex-wrap : wrap }
. action-btn { background : var ( - - accent ) ; color : #fff ; border : none ; border-radius : 6 px ; padding : 8 px 16 px ; font-size : .78 rem ; font-weight : 600 ; cursor : pointer ; font-family : inherit }
. action-btn . secondary { background : #fff ; color : var ( - - text ) ; border : 1 px solid var ( - - border ) }
. action-btn : hover { opacity : .9 }
. timeline { background : var ( - - card ) ; border : 1 px solid var ( - - border ) ; border-radius : var ( - - r ) ; padding : 20 px 24 px ; box-shadow : var ( - - shadow ) }
. timeline-title { font-size : .9 rem ; font-weight : 700 ; margin-bottom : 16 px }
. timeline-row { display : flex ; gap : 12 px ; margin-bottom : 12 px ; align-items : flex-start }
. timeline-dot { width : 10 px ; height : 10 px ; border-radius : 50 % ; margin-top : 4 px ; 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 : .72 rem ; color : var ( - - text -3 ) ; min-width : 80 px }
. timeline-text { font-size : .82 rem ; color : var ( - - text -2 ) ; line-height : 1.5 }
. footer { margin-top : 32 px ; padding : 20 px 0 ; border-top : 1 px solid var ( - - border ) ; text-align : center ; color : var ( - - text -3 ) ; font-size : .78 rem }
@ media ( max-width : 768px ) {
. scoreboard { grid-template-columns : repeat ( 2 , 1 fr ) }
. comparison { grid-template-columns : 1 fr }
. 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 Demo< / 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" > 7< / div >
< div class = "score-lbl" > Aktiva motsägelser< / div >
< / div >
< div class = "score" >
< div class = "score-val amber" id = "score-high" > 3< / div >
< div class = "score-lbl" > Hög prioritet< / div >
< / div >
< div class = "score" >
< div class = "score-val green" id = "score-verified" > 156< / div >
< div class = "score-lbl" > Verifierade obs.< / div >
< / div >
< div class = "score" >
< div class = "score-val" style = "color:var(--blue)" id = "score-sources" > 12< / 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 >
< / 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 maj– juni 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 (juli– okt) ö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 >
2026-07-14 15:27:33 +00:00
<!-- CONTRADICTION 2: Vägunderhåll Stockholm -->
2026-06-29 16:24:48 +00:00
< div class = "contradiction" data-sev = "high" data-cat = "transport" >
< div class = "contra-header" >
< div class = "contra-severity sev-high" > < / div >
< div class = "contra-meta" >
2026-07-14 15:27:33 +00:00
< div class = "contra-id" > CONTRA-2026-06-22-003 · Transport · Stockholm, SE< / div >
2026-06-29 16:24:48 +00:00
< div class = "contra-title" > Vägunderhåll: Kommunalt "gott skick" vs observerade skador< / div >
2026-07-14 15:27:33 +00:00
< div class = "contra-location" > 📍 59.2333°N, 18.3000°E · Stockholm kommun · 23 observationer< / div >
2026-06-29 16:24:48 +00:00
< / 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" >
2026-07-14 15:27:33 +00:00
< strong > Stockholm kommun< / strong > rapporterar att < strong > 92% av kommunala vägar< / strong > är i "gott skick" (klass 1– 2) enligt årsredovisning 2025.< br > < br >
2026-06-29 16:24:48 +00:00
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" >
2026-07-14 15:27:33 +00:00
< strong > 23 Zoomers< / strong > har dokumenterat vägskador i Stockholm under maj– juni 2026.< br > < br >
2026-06-29 16:24:48 +00:00
< 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 april– juni 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å 4– 7 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: Broinspektion -->
< 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 maj– juni 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: 15– 30 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 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-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 maj– juni 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 3– 6 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 -->
< 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 >
< 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 >
2026-07-14 15:27:33 +00:00
< div class = "timeline-text" > < strong > Vägunderhåll Stockholm:< / strong > 23 observationer avslöjar allvarliga skador. Kommunen rapporterar 92% i gott skick.< / div >
2026-06-29 16:24:48 +00:00
< / 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 green" > < / div >
< div class = "timeline-date" > 2026-06-01< / div >
< div class = "timeline-text" > < strong > System:< / strong > Contradiction Engine v2.0 aktiverad. 12 datakällor indexerade. 156 verifierade observationer insamlade.< / div >
< / div >
< / div >
< div class = "footer" >
LandveX Contradiction Engine — Live Demo v2.0 · Datakällor: quixzoom-nätverket, offentliga register, satellitdata, väderdata, trafikdata< 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 >