Ali-86 commited on
Commit
c0efb44
·
verified ·
1 Parent(s): 56f4342

MED ANLEDNING AV HOVRÄTTENS FÖRELÄGGANDE (AKTBILAGA 71)

Inledning
Undertecknad företrädare för Mahoor Bistro AB i konkurs inkommer härmed med yttrande med anledning av hovrättens föreläggande daterat den 9 december 2025 (aktbilaga 71). Klaganden vidhåller i sin helhet den i målet förda talan samt samtliga tidigare framställda yrkanden.

Föreliggande yttrande är konsoliderat och ersätter tidigare framställningar i den mån överlappning förekommit. Syftet är att uppnå processuell tydlighet och säkerställa spårbarhet i prövningen. Handlingen ska läsas tillsammans med överklagandet och tidigare ingivna kompletterande skrifter. Samtliga uppgifter grundas uteslutande på handlingarna i målet.

Del I: Yrkandet om återställande av inventarier

1.1 Yrkandet kvarstår
Mahoor Bistro AB i konkurs vidhåller det i kompletterande överklagande daterat den 6 november 2025 framställda yrkandet att Bengt Peter Joacim Sundlöf ska förpliktas att återställa de inventarier som finns i hans besittning eller annars står under hans faktiska rådighet enligt den muntliga överenskommelsen daterad den 28 augusti 2023, med leverans den 4 september 2023.

Hovrätten har korrekt noterat att tingsrätten i sin dom återgav yrkandet som en fastställelsetalan avseende bolagets äganderätt till de kvarvarande oskadade inventarierna, utan uttryckligt fullgörelsemoment. Nedan redovisas den rättsliga grunden för att yrkandet om återställande ska tillåtas i hovrätten.

1.2 Rättslig grund för att yrkandet ska tillåtas i hovrätten
Det justerade yrkandet utgör inte en otillåten taleändring enligt 13 kap. 3 § rättegångsbalken. Frågan rör en tillåten justering av rättsföljden inom ramen för samma saksammanhang. Enligt 50 kap. 25 § rättegångsbalken gäller i hovrätten samma regler om taleändring som i första instans.

Högsta domstolen har i NJA 1981 s. 1201 accepterat att en övergång från fastställelsetalan till fullgörelsetalan i högre rätt kan tillåtas när yrkandena grundar sig på samma rättsförhållande. I NJA 2021 s. 193 har domstolen klargjort att bedömningen ska göras utifrån om yrkandena ryms inom samma saksammanhang, med särskilt beaktande av om de faktiska omständigheterna i huvudsak är desamma och om rättsföljden vid bifall är nära sammanhängande.

I förevarande mål avser såväl det ursprungliga fastställelseyrkandet som det nu preciserade återställandeyrkandet samma inventarier, samma avtalsrelation och samma påstådda rättsfaktum, nämligen att full betalning inte har erlagts. Bevisningen är oförändrad och utgörs av samma handlingar som prövats i tingsrätten.

Fastställelse av äganderätt och förpliktelse till återställande utgör i detta sammanhang två led i samma sakrättsliga anspråk. Separationsrätt vid konkurs följer av 5 kap. 1 § konkurslagen och förutsätter att egendomen kan identifieras samt att äganderätten inte har övergått. När dessa förutsättningar är uppfyllda omfattar separationsrätten inte endast ett konstaterande av äganderätten utan även rätten att få egendomen utlämnad i den mån den finns kvar.

Säljarens rättsliga ställning vid utebliven betalning följer av köplagens bestämmelser om säljarens rätt att hålla inne varan enligt 49 § köplagen. Någon generell regel om att äganderätten inte kan övergå före betalning görs inte gällande. Grunden för yrkandet är i stället att äganderätten i det aktuella rättsförhållandet inte har övergått, vilket är den fråga som redan varit föremål för prövning.

I doktrinen framhålls att separationsrätten vid utebliven betalning innefattar såväl fastställelse av äganderätt som rätt till återfående av egendomen i den mån detta är möjligt. Dessa utgör inte fristående anspråk utan olika rättsföljder av samma sakrättsliga position.

Högsta domstolen har i NJA 2007 s. 862 godtagit att ett fullgörelsey rkande preciseras i hovrätten när det vilar på samma faktiska grund som prövats i första instans. Ett avvisande av återställandeyrkandet skulle i detta fall leda till att identiska rättsfakta måste prövas på nytt i en separat process, vilket strider mot grundläggande processekonomiska principer.

Motpartens rättssäkerhetsintresse
Motparten har i tingsrätten haft full möjlighet att bemöta grunden för separationsrätten, det vill säga frågan om äganderätten till inventarierna har övergått. De invändningar som framförts avser samma rättsförhållande och träffar återställandeyrkandet i samma utsträckning som fastställelseyrkandet. Motpartens försvar försvåras därför inte genom att hovrätten prövar även fullgörelsemomentet.

Slutsats i denna del
Yrkandet om återställande av inventarier ska tillåtas i hovrätten eftersom det utgör en tillåten precisering av rättsföljden inom samma saksammanhang, grundas på identiska faktiska omständigheter och följer av den separationsrätt som aktualiseras om äganderätten inte anses ha övergått.

### SAKFRAMSTÄLLAN – FAKTISKA OMSTÄNDIGHETER

Mahoor Bistro AB i konkurs levererade inventarier enligt muntlig överenskommelse den 28 augusti 2023, med faktisk leverans den 4 september 2023. Leveransen dokumenterades genom fakturor 207–210, vilka avser specificerade inventarier med ett sammanlagt fakturabelopp om 1 532 453 kronor. Full betalning erlades aldrig.

Inventarierna placerades i lokaler disponerade av Bistro Le Parc AB, där Bengt Peter Joacim Sundlöf hade faktisk rådighet över verksamheten och lokalen. Detta förhållande var ostridigt under tingsrättsprocessen. Vid tidpunkten för leveransen användes och förvarades inventarierna i anslutning till den bedrivna verksamheten.

Efter leveransen uppstod tvist mellan parterna om äganderätten till inventarierna. Mahoor Bistro AB gjorde gällande att äganderätten aldrig övergått på grund av utebliven betalning, medan motparten invände att ett bolag varit avtalspart och att inventarierna tillhörde detta bolag.

Den 7 februari 2024 uttalade Bengt Peter Joacim Sundlöf offentligt att Bistro Le Parc AB skulle försättas i konkurs. Dagen därpå, den 8 februari 2024, upprättades ett skriftligt hyresavtal avseende samma utrymmen där inventarierna förvarades. Av ljudinspelningar framgår att avtalet upprättades i efterhand och bakdaterades, i syfte att ge intryck av att Mahoor Bistro AB hyrde lokalen. Av samma inspelningar framgår uttalanden om att avtalet syftade till att skydda inventarierna från konkurs.

I ljudinspelningar daterade den 8 februari 2024 uttalar Bengt Peter Joacim Sundlöf att inventarierna köpts i personlig egenskap. Vidare uttalas att inventarierna tillhör Mahoor Bistro AB. Dessa uppgifter står i direkt motsättning till de invändningar som senare framfördes under tingsrättsprocessen.

Den 29 februari 2024 såldes inventarierna genom auktionsförfarande av konkursförvaltaren för Bistro Le Parc AB. Auktionshandlingarna visar att inventarier som motsvarar de i fakturorna 207–210 specificerade föremålen avyttrades som tillgångar i konkursboet. Därutöver avyttrades även egendom som enligt Mahoor Bistro AB utgjorde bolagets egna tillhörigheter, vilka förvarats i lokalen.

Vid besiktning den 6 april 2025 konstaterades att inventarier saknades eller var skadade. Besiktningsprotokollet dokumenterar omfattningen av bortfallet. Av SMS-konversation den 6 maj 2024 framgår att inventarier, särskilt glas, förbrukats i verksamheten av personal. Uttalandena bestrider inte att godset fanns eller användes, utan indikerar faktisk användning inom verksamheten.

I e-post daterad den 9 maj 2024 uttalar Bengt Peter Joacim Sundlöf att han inte beställt inventarierna privat. Uttalandet skedde efter att tvist uppkommit och efter att inventarierna redan disponerats och delvis avyttrats.

Sammanfattningsvis visar handlingarna att inventarier levererats till lokaler under Sundlöfs faktiska rådighet, att betalning uteblivit, att äganderätten varit omtvistad redan före konkursen, att ett hyresavtal upprättats i efterhand i anslutning till konkursutbrottet samt att inventarierna därefter avyttrats genom konkursboet trots kännedom om tvisten.

---
Bra. Då gör vi det ordentligt och utan cirkus.

Nedan är **synkningen mellan sakframställan och yrkandena**, skriven i löpande text, utan nya uppgifter och utan juridiska utsvävningar. Syftet är ett enda: att hovrätten inte ska kunna påstå att något yrkande saknar faktisk förankring.

---

### SAMBAND MELLAN SAKFRAMSTÄLLAN OCH YRKANDENA

Det framställda yrkandet om återställande av inventarier grundas uteslutande på de faktiska omständigheter som redovisats i sakframställan. Av denna framgår att inventarier levererats till lokaler under Bengt Peter Joacim Sundlöfs faktiska rådighet, att leveransen dokumenterats genom fakturor 207–210 samt att full betalning aldrig erlagts. Dessa omständigheter utgör den faktiska grunden för påståendet att äganderätten aldrig övergått från Mahoor Bistro AB.

Samma faktiska omständigheter låg till grund för den fastställelsetalan som prövades i tingsrätten. Det nu framställda återställandeyrkandet avser inte ett nytt rättsförhållande, utan är en konsekvens av den redan prövade äganderättsfrågan. Återställande i natura utgör därmed ett fullgörelsemoment av samma sakrättsliga anspråk som tidigare aktualiserats.

Av sakframställan framgår vidare att inventarierna varit identifierbara, att de funnits kvar i lokalerna under tiden efter leverans samt att de disponerats och sedermera avyttrats trots kännedom om tvisten. Dessa omständigheter bär direkt upp yrkandet om återställande och, i förekommande fall, ersättning där återställande inte är möjligt. Yrkandet står därmed i direkt och obruten linje med de faktiska händelser som redan varit föremål för motpartens bemötande.

De invändningar som motparten fört i tingsrätten, rörande avtalspart och äganderättens övergång, träffar återställandeyrkandet på samma sätt som de träffade fastställelseyrkandet. Sakframställan visar att dessa invändningar grundar sig på

Files changed (6) hide show
  1. README.md +7 -4
  2. components/case-header.js +76 -0
  3. components/navbar.js +69 -0
  4. index.html +127 -19
  5. script.js +52 -0
  6. style.css +29 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Legaleagle Case Manager
3
- emoji: 👀
4
- colorFrom: purple
5
  colorTo: blue
 
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: LegalEagle Case Manager 🏛️⚖️
3
+ colorFrom: pink
 
4
  colorTo: blue
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
components/case-header.js ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CaseHeader extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ .case-header {
7
+ background-color: white;
8
+ border-radius: 0.5rem;
9
+ padding: 2rem;
10
+ box-shadow: 0 1px 3px rgba(0,0,0,0.1);
11
+ border-left: 4px solid #4f46e5;
12
+ }
13
+ h1 {
14
+ font-size: 1.5rem;
15
+ font-weight: bold;
16
+ color: #111827;
17
+ margin-bottom: 0.5rem;
18
+ }
19
+ .case-meta {
20
+ display: flex;
21
+ gap: 2rem;
22
+ margin-top: 1rem;
23
+ flex-wrap: wrap;
24
+ }
25
+ .meta-item {
26
+ display: flex;
27
+ align-items: center;
28
+ color: #6b7280;
29
+ }
30
+ .meta-item i {
31
+ margin-right: 0.5rem;
32
+ }
33
+ .status-badge {
34
+ background-color: #fef3c7;
35
+ color: #92400e;
36
+ padding: 0.25rem 0.75rem;
37
+ border-radius: 9999px;
38
+ font-size: 0.875rem;
39
+ font-weight: 500;
40
+ margin-left: auto;
41
+ }
42
+ @media (max-width: 768px) {
43
+ .case-meta {
44
+ flex-direction: column;
45
+ gap: 0.5rem;
46
+ }
47
+ .status-badge {
48
+ margin-left: 0;
49
+ }
50
+ }
51
+ </style>
52
+ <div class="case-header">
53
+ <h1>${this.getAttribute('case-title') || 'Case Title'}</h1>
54
+ <div class="case-meta">
55
+ <div class="meta-item">
56
+ <i data-feather="hash"></i>
57
+ <span>${this.getAttribute('case-number') || 'No Case Number'}</span>
58
+ </div>
59
+ <div class="meta-item">
60
+ <i data-feather="calendar"></i>
61
+ <span>Filed: Feb 15, 2024</span>
62
+ </div>
63
+ <div class="meta-item">
64
+ <i data-feather="user"></i>
65
+ <span>Representative: Ali Habibpoor</span>
66
+ </div>
67
+ <div class="status-badge">
68
+ <i data-feather="clock"></i>
69
+ Pending Appeal
70
+ </div>
71
+ </div>
72
+ </div>
73
+ `;
74
+ }
75
+ }
76
+ customElements.define('case-header', CaseHeader);
components/navbar.js ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ nav {
7
+ background-color: #1a365d;
8
+ color: white;
9
+ padding: 1rem 2rem;
10
+ box-shadow: 0 2px 10px rgba(0,0,0,0.1);
11
+ }
12
+ .container {
13
+ display: flex;
14
+ justify-content: space-between;
15
+ align-items: center;
16
+ max-width: 1200px;
17
+ margin: 0 auto;
18
+ }
19
+ .logo {
20
+ font-size: 1.5rem;
21
+ font-weight: bold;
22
+ display: flex;
23
+ align-items: center;
24
+ }
25
+ .logo i {
26
+ margin-right: 0.5rem;
27
+ }
28
+ .nav-links {
29
+ display: flex;
30
+ gap: 1.5rem;
31
+ }
32
+ .nav-links a {
33
+ color: white;
34
+ text-decoration: none;
35
+ font-weight: 500;
36
+ transition: opacity 0.2s;
37
+ }
38
+ .nav-links a:hover {
39
+ opacity: 0.8;
40
+ }
41
+ @media (max-width: 768px) {
42
+ .container {
43
+ flex-direction: column;
44
+ gap: 1rem;
45
+ }
46
+ .nav-links {
47
+ width: 100%;
48
+ justify-content: space-around;
49
+ }
50
+ }
51
+ </style>
52
+ <nav>
53
+ <div class="container">
54
+ <div class="logo">
55
+ <i data-feather="briefcase"></i>
56
+ <span>LegalEagle</span>
57
+ </div>
58
+ <div class="nav-links">
59
+ <a href="#"><i data-feather="home"></i> Dashboard</a>
60
+ <a href="#"><i data-feather="folder"></i> Cases</a>
61
+ <a href="#"><i data-feather="calendar"></i> Calendar</a>
62
+ <a href="#"><i data-feather="user"></i> Account</a>
63
+ </div>
64
+ </div>
65
+ </nav>
66
+ `;
67
+ }
68
+ }
69
+ customElements.define('custom-navbar', CustomNavbar);
index.html CHANGED
@@ -1,19 +1,127 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>LegalEagle Case Manager</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script src="components/navbar.js"></script>
12
+ <script src="components/case-header.js"></script>
13
+ </head>
14
+ <body class="bg-gray-50">
15
+ <custom-navbar></custom-navbar>
16
+
17
+ <div class="container mx-auto px-4 py-8">
18
+ <case-header case-title="Mahoor Bistro AB vs. Bengt Sundlöf" case-number="Hovrättsmål T 2694-24"></case-header>
19
+
20
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-6 mt-8">
21
+ <!-- Case Navigation -->
22
+ <div class="md:col-span-1 bg-white rounded-lg shadow p-6">
23
+ <h3 class="text-lg font-bold mb-4 flex items-center">
24
+ <i data-feather="file-text" class="mr-2"></i> Case Sections
25
+ </h3>
26
+ <ul class="space-y-2">
27
+ <li><a href="#introduction" class="text-blue-600 hover:underline">Introduction</a></li>
28
+ <li><a href="#claim" class="text-blue-600 hover:underline">Inventory Claim</a></li>
29
+ <li><a href="#legal-basis" class="text-blue-600 hover:underline">Legal Basis</a></li>
30
+ <li><a href="#evidence-chain" class="text-blue-600 hover:underline">Evidence Chain</a></li>
31
+ <li><a href="#procedural-evidence" class="text-blue-600 hover:underline">Procedural Evidence</a></li>
32
+ </ul>
33
+
34
+ <h3 class="text-lg font-bold mt-8 mb-4 flex items-center">
35
+ <i data-feather="paperclip" class="mr-2"></i> Attachments
36
+ </h3>
37
+ <div class="space-y-2">
38
+ <div class="flex items-center">
39
+ <i data-feather="file" class="mr-2 text-gray-500"></i>
40
+ <span>Audio Recording 1</span>
41
+ </div>
42
+ <div class="flex items-center">
43
+ <i data-feather="file" class="mr-2 text-gray-500"></i>
44
+ <span>Invoices 207-210</span>
45
+ </div>
46
+ <div class="flex items-center">
47
+ <i data-feather="file" class="mr-2 text-gray-500"></i>
48
+ <span>Auction Documents</span>
49
+ </div>
50
+ </div>
51
+ </div>
52
+
53
+ <!-- Main Content -->
54
+ <div class="md:col-span-3 space-y-6">
55
+ <!-- Introduction Section -->
56
+ <section id="introduction" class="bg-white rounded-lg shadow p-6">
57
+ <h2 class="text-xl font-bold mb-4 flex items-center">
58
+ <i data-feather="info" class="mr-2"></i> Introduction
59
+ </h2>
60
+ <p class="text-gray-700">
61
+ Mahoor Bistro AB in bankruptcy hereby submits this statement in response to the Court of Appeal's request dated December 9, 2025 (Attachment 71). The claimant maintains in full the argument presented in the case as well as all previously submitted claims.
62
+ </p>
63
+ </section>
64
+
65
+ <!-- Claim Section -->
66
+ <section id="claim" class="bg-white rounded-lg shadow p-6">
67
+ <h2 class="text-xl font-bold mb-4 flex items-center">
68
+ <i data-feather="list" class="mr-2"></i> Inventory Restoration Claim
69
+ </h2>
70
+ <p class="text-gray-700 mb-4">
71
+ Mahoor Bistro AB maintains the claim presented in the supplementary appeal dated November 6, 2025 that Bengt Peter Joacim Sundlöf should be obliged to restore the inventories that are in his possession or otherwise under his actual control.
72
+ </p>
73
+
74
+ <div class="bg-blue-50 p-4 rounded border border-blue-100">
75
+ <h4 class="font-bold text-blue-800 mb-2">Key Evidence Timeline</h4>
76
+ <ul class="space-y-2 text-sm">
77
+ <li class="flex">
78
+ <span class="font-medium w-32">Aug 28, 2023:</span>
79
+ <span>Oral agreement for inventory delivery</span>
80
+ </li>
81
+ <li class="flex">
82
+ <span class="font-medium w-32">Sep 4, 2023:</span>
83
+ <span>Actual delivery (Invoices 207-210)</span>
84
+ </li>
85
+ <li class="flex">
86
+ <span class="font-medium w-32">Feb 8, 2024:</span>
87
+ <span>Backdated rental agreement created</span>
88
+ </li>
89
+ <li class="flex">
90
+ <span class="font-medium w-32">Feb 29, 2024:</span>
91
+ <span>Inventories sold at auction</span>
92
+ </li>
93
+ </ul>
94
+ </div>
95
+ </section>
96
+
97
+ <!-- Evidence Visualization -->
98
+ <section class="bg-white rounded-lg shadow p-6">
99
+ <h2 class="text-xl font-bold mb-6 flex items-center">
100
+ <i data-feather="bar-chart-2" class="mr-2"></i> Evidence Overview
101
+ </h2>
102
+ <div class="grid md:grid-cols-3 gap-4">
103
+ <div class="bg-indigo-50 p-4 rounded-lg border border-indigo-100">
104
+ <div class="text-indigo-600 font-bold text-2xl">6</div>
105
+ <div class="text-indigo-800">Audio Recordings</div>
106
+ </div>
107
+ <div class="bg-green-50 p-4 rounded-lg border border-green-100">
108
+ <div class="text-green-600 font-bold text-2xl">4</div>
109
+ <div class="text-green-800">Invoices</div>
110
+ </div>
111
+ <div class="bg-purple-50 p-4 rounded-lg border border-purple-100">
112
+ <div class="text-purple-600 font-bold text-2xl">15</div>
113
+ <div class="text-purple-800">Auction Documents</div>
114
+ </div>
115
+ </div>
116
+ </section>
117
+ </div>
118
+ </div>
119
+ </div>
120
+
121
+ <script>
122
+ feather.replace();
123
+ </script>
124
+ <script src="script.js"></script>
125
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
126
+ </body>
127
+ </html>
script.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Smooth scrolling for anchor links
2
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
3
+ anchor.addEventListener('click', function (e) {
4
+ e.preventDefault();
5
+ document.querySelector(this.getAttribute('href')).scrollIntoView({
6
+ behavior: 'smooth'
7
+ });
8
+ });
9
+ });
10
+
11
+ // Document ready function
12
+ document.addEventListener('DOMContentLoaded', function() {
13
+ // Initialize tooltips
14
+ const tooltipElements = document.querySelectorAll('[data-tooltip]');
15
+ tooltipElements.forEach(el => {
16
+ el.addEventListener('mouseenter', showTooltip);
17
+ el.addEventListener('mouseleave', hideTooltip);
18
+ });
19
+
20
+ // Animate elements when they come into view
21
+ const observer = new IntersectionObserver((entries) => {
22
+ entries.forEach(entry => {
23
+ if (entry.isIntersecting) {
24
+ entry.target.classList.add('animate-fadeIn');
25
+ observer.unobserve(entry.target);
26
+ }
27
+ });
28
+ }, { threshold: 0.1 });
29
+
30
+ document.querySelectorAll('.animate-on-scroll').forEach(el => {
31
+ observer.observe(el);
32
+ });
33
+ });
34
+
35
+ function showTooltip(e) {
36
+ const tooltipText = this.getAttribute('data-tooltip');
37
+ const tooltip = document.createElement('div');
38
+ tooltip.className = 'tooltip';
39
+ tooltip.textContent = tooltipText;
40
+ document.body.appendChild(tooltip);
41
+
42
+ const rect = this.getBoundingClientRect();
43
+ tooltip.style.top = `${rect.top - tooltip.offsetHeight - 10}px`;
44
+ tooltip.style.left = `${rect.left + rect.width / 2 - tooltip.offsetWidth / 2}px`;
45
+ }
46
+
47
+ function hideTooltip() {
48
+ const tooltip = document.querySelector('.tooltip');
49
+ if (tooltip) {
50
+ tooltip.remove();
51
+ }
52
+ }
style.css CHANGED
@@ -1,28 +1,39 @@
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Base styles */
2
  body {
3
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
4
+ line-height: 1.6;
5
+ color: #333;
6
  }
7
 
8
+ /* Custom scrollbar */
9
+ ::-webkit-scrollbar {
10
+ width: 8px;
11
  }
12
 
13
+ ::-webkit-scrollbar-track {
14
+ background: #f1f1f1;
 
 
 
15
  }
16
 
17
+ ::-webkit-scrollbar-thumb {
18
+ background: #888;
19
+ border-radius: 4px;
 
 
 
20
  }
21
 
22
+ ::-webkit-scrollbar-thumb:hover {
23
+ background: #555;
24
  }
25
+
26
+ /* Link hover effect */
27
+ a {
28
+ transition: all 0.2s ease;
29
+ }
30
+
31
+ /* Section animations */
32
+ section {
33
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
34
+ }
35
+
36
+ section:hover {
37
+ transform: translateY(-2px);
38
+ box-shadow: 0 10px 20px rgba(0,0,0,0.1);
39
+ }