<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="http://localhost:4000/atom.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2026-04-03T13:41:45+02:00</updated><id>http://localhost:4000/atom.xml</id><title type="html">Buildlog RV-7A FB</title><subtitle>Dies ist unser interne Baudokumentation von der Vans RV-7A
</subtitle><author><name>Florian Brandes</name><email>info@traumvomfliegen.de</email></author><entry><title type="html">Trim Tab gebogen, Trim Zugang leichter gestaltet</title><link href="http://localhost:4000/work%20log/trim-tab-gebogen-trim-zugang-leichter-gestaltet/" rel="alternate" type="text/html" title="Trim Tab gebogen, Trim Zugang leichter gestaltet" /><published>2026-04-03T13:26:43+02:00</published><updated>2026-04-03T13:26:43+02:00</updated><id>http://localhost:4000/work%20log/trim-tab-gebogen-trim-zugang-leichter-gestaltet</id><content type="html" xml:base="http://localhost:4000/work%20log/trim-tab-gebogen-trim-zugang-leichter-gestaltet/"><![CDATA[<p>Es störte mich, dass es wirklich schwierig ist, den Trimmotor zu entfernen, wenn man mal dran muss. Also hab ich ein wenig geschliffen und den Zugang somit leichter gemacht. Auch stört es mich, dass Vans die Kabelführung durch das gleiche Loch führen möchte, wie die Schraube vom Trimmotor. Ich hab mal Andy gefragt, was er von Alternativen hält.
Dann hab ich weiter gemacht mit dem Trim. Dabei habe ich die Fläche gebogen und die beiden Seitenteile so nach Innen gebogen, dass man diese zusammen nieten kann</p>

<p><strong>Time spent</strong>: 2hrs 30min</p>

<style>
    .ann {
        position: relative;
        display: inline-block;
        width: 100%;
    }
    .ann img {
        display: block;
        width: 100%;
        border-radius: 6px;
    }
    .ann-dot {
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
        display: grid;
        place-items: center;
        transform: translate(-50%, -50%);
        cursor: pointer;
        z-index: 10;
    }
    .ann-dot svg {
        width: 100%;
        height: 100%;
        display: block;
        pointer-events: none;
    }
    .ann-dot span {
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        pointer-events: none;
    }
    .ann-tip {
        display: none;
        position: absolute;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        padding: 7px 12px;
        font-size: 13px;
        color: #111;
        white-space: normal;
        max-width: 200px;
        pointer-events: none;
        z-index: 20;
    }
    .ann-caption {
        display: block;
        font-style: italic;
        font-size: 14px;
        color: #575757;
        margin-top: 2px;
        text-align: center;
    }
    .ann-wm {
        position: absolute;
        bottom: 4px;
        left: 8px;
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.85);
        text-shadow: 0 0px 2px rgba(0, 0, 0, 0.8);
        letter-spacing: 0.02em;
        pointer-events: auto;
        z-index: 10;
        font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    }
</style>

<script>
    var C = {
        number: "#1a1a1a",
        letter: "#1a1a1a",
    };
    var F = {
        warning: "#f57c00",
        issue: "#d32f2f",
        information: "#1565c0",
        question: "#1565c0",
        approved: "#2e7d32",
    };
    var I = {
        information:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.75 4.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-1.5 3h1.5v5h-1.5V9.5z"/></svg>',
        warning:
            '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm-.75 4.5h1.5v5h-1.5v-5zm.75 7.25a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5z"/></svg>',
        issue: '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm2.78 5.22a.75.75 0 0 1 0 1.06L11.06 10l1.72 1.72a.75.75 0 1 1-1.06 1.06L10 11.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L8.94 10 7.22 8.28a.75.75 0 0 1 1.06-1.06L10 8.94l1.72-1.72a.75.75 0 0 1 1.06 0z"/></svg>',
        question:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.5 11.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.6-3.2c.05-.28.22-.52.47-.7.82-.59 1.38-1.44 1.38-2.35 0-1.52-1.23-2.75-2.75-2.75S6.25 5.73 6.25 7.25h1.5c0-.69.56-1.25 1.25-1.25s1.25.56 1.25 1.25c0 .45-.28.88-.75 1.22-.57.41-.97 1.02-1.07 1.72l-.03.31h1.5z"/></svg>',
        approved:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm3.53 5.97-4.25 4.25a.75.75 0 0 1-1.06 0l-1.75-1.75a.75.75 0 1 1 1.06-1.06l1.22 1.22 3.72-3.72a.75.75 0 0 1 1.06 1.06z"/></svg>',
    };
    function showTip(tip, a, wrap) {
        tip.textContent = a.title;
        tip.style.maxWidth = wrap.offsetWidth * 0.8 + "px";
        tip.style.left = "0px";
        tip.style.top = "0px";
        tip.style.display = "block";

        var wrapW = wrap.offsetWidth;
        var wrapH = wrap.offsetHeight;
        var tipW = tip.offsetWidth;
        var tipH = tip.offsetHeight;

        var dotX = a.x * wrapW;
        var dotY = a.y * wrapH;

        var left = Math.min(Math.max(dotX - tipW / 2, 4), wrapW - tipW - 4);
        var top = dotY + 20;
        if (top + tipH > wrapH - 4) top = dotY - tipH - 16;

        tip.style.left = left + "px";
        tip.style.top = top + "px";
    }
    function annBuild(id, annotations) {
        var wrap = document.getElementById(id);
        if (!wrap) return;
        var tip = wrap.querySelector(".ann-tip");
        var wm = document.createElement("div");
        wm.className = "ann-wm";
        wm.innerHTML = `
          <!-- Built with KitFlight Builder App (kitflight.com).
               If you're reading this — thank you for keeping this link 🙇‍♂️
               It helps other builders find modern tools for their journey. -->
          <a href="https://kitflight.com" target="_blank" rel="noopener" style="color:inherit;text-decoration:none;">KitFlight  App</a>
        `.trim();
        wrap.appendChild(wm);
        annotations.forEach(function (a) {
            var dot = document.createElement("div");
            dot.className = "ann-dot";
            dot.style.background = C[a.style] || "#fff";
            dot.style.left = a.x * 100 + "%";
            dot.style.top = a.y * 100 + "%";
            dot.innerHTML =
                a.style === "number"
                    ? "<span>" + (a.index || "") + "</span>"
                    : a.style === "letter"
                      ? "<span>" + (a.letter || "A") + "</span>"
                      : I[a.style] || "";
            var svg = dot.querySelector("svg");
            if (svg) svg.style.fill = F[a.style] || "#fff";
            dot.addEventListener("mouseenter", function () {
                if (a.title) showTip(tip, a, wrap);
            });
            dot.addEventListener("mouseleave", function () {
                tip.style.display = "none";
            });
            dot.addEventListener(
                "touchstart",
                function (e) {
                    e.preventDefault();
                    if (!a.title) return;
                    if (tip._currentAnnotation === a) {
                        tip.style.display = "none";
                        tip._currentAnnotation = null;
                        return;
                    }
                    tip._currentAnnotation = a;
                    showTip(tip, a, wrap);
                },
                { passive: false },
            );
            wrap.appendChild(dot);
        });
        wrap.addEventListener("touchstart", function (e) {
            if (!e.target.closest(".ann-dot")) {
                tip.style.display = "none";
                tip._currentAnnotation = null;
            }
        });
    }
</script>

<div class="ann" id="ann-assets-43e1b67d-96dc-435d-8183-394f0b314eee-jpg">
    <img src="/assets/43E1B67D-96DC-435D-8183-394F0B314EEE.jpg" alt="Vorderseite vom linken Höhenruder" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Vorderseite vom linken Höhenruder</span>
<script>
    annBuild("ann-assets-43e1b67d-96dc-435d-8183-394f0b314eee-jpg", [
  { "x": 0.4612, "y": 0.3732, "style": "number", "index": 1 },
  { "x": 0.3490, "y": 0.3618, "style": "number", "index": 2, "title": "Diese Kabel würde ich gerne woanders verlegen" },
  { "x": 0.6261, "y": 0.4250, "style": "number", "index": 3, "title": "Hier würde ich wahrscheinlich ein Loch bohren, um die Kabel separat durchzuführen" }
]);
</script></p>

<div class="ann" id="ann-assets-c9288bb2-ecdc-4306-ad3d-53f2f248ffc7-jpg">
    <img src="/assets/C9288BB2-ECDC-4306-AD3D-53F2F248FFC7.jpg" alt="Blick von unten auf den Trimmotor" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Blick von unten auf den Trimmotor</span>
<script>
    annBuild("ann-assets-c9288bb2-ecdc-4306-ad3d-53f2f248ffc7-jpg", [
  { "x": 0.6817, "y": 0.3435, "style": "number", "index": 1, "title": "Unter der Deckplatte habe ich die „Nutplates“ etwas gekürzt, da diese Überstanden. Nun kann man die Trimplatte leichter heraus heben" }
]);
</script></p>

<div class="ann" id="ann-assets-44bdc9bf-39b2-4e64-b624-43e32a8f2152-jpg">
    <img src="/assets/44BDC9BF-39B2-4E64-B624-43E32A8F2152.jpg" alt="Beginn der Biegeaktion" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Beginn der Biegeaktion</span>
<script>
    annBuild("ann-assets-44bdc9bf-39b2-4e64-b624-43e32a8f2152-jpg", []);
</script></p>

<div class="ann" id="ann-assets-f08db6aa-a918-4a8b-a56d-24576098940b-jpg">
    <img src="/assets/F08DB6AA-A918-4A8B-A56D-24576098940B.jpg" alt="Erstes Zwischenergebnis" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Erstes Zwischenergebnis</span>
<script>
    annBuild("ann-assets-f08db6aa-a918-4a8b-a56d-24576098940b-jpg", []);
</script></p>

<div class="ann" id="ann-assets-edfde7ec-f37d-4092-87b6-8b52613a14e4-jpg">
    <img src="/assets/EDFDE7EC-F37D-4092-87B6-8B52613A14E4.jpg" alt="Andere Seite" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Andere Seite</span>
<script>
    annBuild("ann-assets-edfde7ec-f37d-4092-87b6-8b52613a14e4-jpg", []);
</script></p>

<div class="ann" id="ann-assets-051a5da0-4c40-49a1-a4ef-6169c27e9052-jpg">
    <img src="/assets/051A5DA0-4C40-49A1-A4EF-6169C27E9052.jpg" alt="So sieht es dann irgendwann mal aus, wenn man es anbringt. Wichtig ist hier, dass nichts aneinander schabt oder kommt. Aktuell scheint es gut zu passen!
" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">So sieht es dann irgendwann mal aus, wenn man es anbringt. Wichtig ist hier, dass nichts aneinander schabt oder kommt. Aktuell scheint es gut zu passen!
</span>
<script>
    annBuild("ann-assets-051a5da0-4c40-49a1-a4ef-6169c27e9052-jpg", []);
</script></p>]]></content><author><name>Florian Brandes</name><email>info@traumvomfliegen.de</email></author><category term="Work Log" /><category term="Elevator" /><category term="Empennage" /><summary type="html"><![CDATA[Es störte mich, dass es wirklich schwierig ist, den Trimmotor zu entfernen, wenn man mal dran muss. Also hab ich ein wenig geschliffen und den Zugang somit leichter gemacht. Auch stört es mich, dass Vans die Kabelführung durch das gleiche Loch führen möchte, wie die Schraube vom Trimmotor. Ich hab mal Andy gefragt, was er von Alternativen hält. Dann hab ich weiter gemacht mit dem Trim. Dabei habe ich die Fläche gebogen und die beiden Seitenteile so nach Innen gebogen, dass man diese zusammen nieten kann]]></summary></entry><entry><title type="html">Linkes Höhenruder Skelett Fertig</title><link href="http://localhost:4000/work%20log/linkes-hhenruder-skelett-fertig/" rel="alternate" type="text/html" title="Linkes Höhenruder Skelett Fertig" /><published>2026-04-01T19:12:41+02:00</published><updated>2026-04-01T19:12:41+02:00</updated><id>http://localhost:4000/work%20log/linkes-hhenruder-skelett-fertig</id><content type="html" xml:base="http://localhost:4000/work%20log/linkes-hhenruder-skelett-fertig/"><![CDATA[<p>Die fehlende Seite wurde grundiert und später, nachdem es getrocknet ist, genietet. Wie schon beim rechten Höhenruder wurde Sikaflex an den Enden der Verstärker</p>

<p><strong>Time spent</strong>: 1hr 30min</p>

<style>
    .ann {
        position: relative;
        display: inline-block;
        width: 100%;
    }
    .ann img {
        display: block;
        width: 100%;
        border-radius: 6px;
    }
    .ann-dot {
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
        display: grid;
        place-items: center;
        transform: translate(-50%, -50%);
        cursor: pointer;
        z-index: 10;
    }
    .ann-dot svg {
        width: 100%;
        height: 100%;
        display: block;
        pointer-events: none;
    }
    .ann-dot span {
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        pointer-events: none;
    }
    .ann-tip {
        display: none;
        position: absolute;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        padding: 7px 12px;
        font-size: 13px;
        color: #111;
        white-space: normal;
        max-width: 200px;
        pointer-events: none;
        z-index: 20;
    }
    .ann-caption {
        display: block;
        font-style: italic;
        font-size: 14px;
        color: #575757;
        margin-top: 2px;
        text-align: center;
    }
    .ann-wm {
        position: absolute;
        bottom: 4px;
        left: 8px;
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.85);
        text-shadow: 0 0px 2px rgba(0, 0, 0, 0.8);
        letter-spacing: 0.02em;
        pointer-events: auto;
        z-index: 10;
        font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    }
</style>

<script>
    var C = {
        number: "#1a1a1a",
        letter: "#1a1a1a",
    };
    var F = {
        warning: "#f57c00",
        issue: "#d32f2f",
        information: "#1565c0",
        question: "#1565c0",
        approved: "#2e7d32",
    };
    var I = {
        information:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.75 4.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-1.5 3h1.5v5h-1.5V9.5z"/></svg>',
        warning:
            '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm-.75 4.5h1.5v5h-1.5v-5zm.75 7.25a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5z"/></svg>',
        issue: '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm2.78 5.22a.75.75 0 0 1 0 1.06L11.06 10l1.72 1.72a.75.75 0 1 1-1.06 1.06L10 11.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L8.94 10 7.22 8.28a.75.75 0 0 1 1.06-1.06L10 8.94l1.72-1.72a.75.75 0 0 1 1.06 0z"/></svg>',
        question:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.5 11.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.6-3.2c.05-.28.22-.52.47-.7.82-.59 1.38-1.44 1.38-2.35 0-1.52-1.23-2.75-2.75-2.75S6.25 5.73 6.25 7.25h1.5c0-.69.56-1.25 1.25-1.25s1.25.56 1.25 1.25c0 .45-.28.88-.75 1.22-.57.41-.97 1.02-1.07 1.72l-.03.31h1.5z"/></svg>',
        approved:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm3.53 5.97-4.25 4.25a.75.75 0 0 1-1.06 0l-1.75-1.75a.75.75 0 1 1 1.06-1.06l1.22 1.22 3.72-3.72a.75.75 0 0 1 1.06 1.06z"/></svg>',
    };
    function showTip(tip, a, wrap) {
        tip.textContent = a.title;
        tip.style.maxWidth = wrap.offsetWidth * 0.8 + "px";
        tip.style.left = "0px";
        tip.style.top = "0px";
        tip.style.display = "block";

        var wrapW = wrap.offsetWidth;
        var wrapH = wrap.offsetHeight;
        var tipW = tip.offsetWidth;
        var tipH = tip.offsetHeight;

        var dotX = a.x * wrapW;
        var dotY = a.y * wrapH;

        var left = Math.min(Math.max(dotX - tipW / 2, 4), wrapW - tipW - 4);
        var top = dotY + 20;
        if (top + tipH > wrapH - 4) top = dotY - tipH - 16;

        tip.style.left = left + "px";
        tip.style.top = top + "px";
    }
    function annBuild(id, annotations) {
        var wrap = document.getElementById(id);
        if (!wrap) return;
        var tip = wrap.querySelector(".ann-tip");
        var wm = document.createElement("div");
        wm.className = "ann-wm";
        wm.innerHTML = `
          <!-- Built with KitFlight Builder App (kitflight.com).
               If you're reading this — thank you for keeping this link 🙇‍♂️
               It helps other builders find modern tools for their journey. -->
          <a href="https://kitflight.com" target="_blank" rel="noopener" style="color:inherit;text-decoration:none;">KitFlight  App</a>
        `.trim();
        wrap.appendChild(wm);
        annotations.forEach(function (a) {
            var dot = document.createElement("div");
            dot.className = "ann-dot";
            dot.style.background = C[a.style] || "#fff";
            dot.style.left = a.x * 100 + "%";
            dot.style.top = a.y * 100 + "%";
            dot.innerHTML =
                a.style === "number"
                    ? "<span>" + (a.index || "") + "</span>"
                    : a.style === "letter"
                      ? "<span>" + (a.letter || "A") + "</span>"
                      : I[a.style] || "";
            var svg = dot.querySelector("svg");
            if (svg) svg.style.fill = F[a.style] || "#fff";
            dot.addEventListener("mouseenter", function () {
                if (a.title) showTip(tip, a, wrap);
            });
            dot.addEventListener("mouseleave", function () {
                tip.style.display = "none";
            });
            dot.addEventListener(
                "touchstart",
                function (e) {
                    e.preventDefault();
                    if (!a.title) return;
                    if (tip._currentAnnotation === a) {
                        tip.style.display = "none";
                        tip._currentAnnotation = null;
                        return;
                    }
                    tip._currentAnnotation = a;
                    showTip(tip, a, wrap);
                },
                { passive: false },
            );
            wrap.appendChild(dot);
        });
        wrap.addEventListener("touchstart", function (e) {
            if (!e.target.closest(".ann-dot")) {
                tip.style.display = "none";
                tip._currentAnnotation = null;
            }
        });
    }
</script>

<div class="ann" id="ann-assets-838c212f-8e88-4d2d-8bcc-ebae139cee8b-jpg">
    <img src="/assets/838C212F-8E88-4D2D-8BCC-EBAE139CEE8B.jpg" alt="" />
    <div class="ann-tip"></div>
</div>

<script>
    annBuild("ann-assets-838c212f-8e88-4d2d-8bcc-ebae139cee8b-jpg", [
  { "x": 0.4707, "y": 0.4785, "style": "number", "index": 1, "title": "Wie schon rechts die beiden Nieten zuerst" }
]);
</script>

<div class="ann" id="ann-assets-56f3d025-9f46-4ade-8ffb-ed2b40f16224-jpg">
    <img src="/assets/56F3D025-9F46-4ADE-8FFB-ED2B40F16224.jpg" alt="Sikaflex am Ende der Verstärker" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Sikaflex am Ende der Verstärker</span>
<script>
    annBuild("ann-assets-56f3d025-9f46-4ade-8ffb-ed2b40f16224-jpg", []);
</script></p>

<div class="ann" id="ann-assets-9247a752-01c0-4b78-aef8-6b7288739cb0-jpg">
    <img src="/assets/9247A752-01C0-4B78-AEF8-6B7288739CB0.jpg" alt="Alles zusammen geheftet" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Alles zusammen geheftet</span>
<script>
    annBuild("ann-assets-9247a752-01c0-4b78-aef8-6b7288739cb0-jpg", []);
</script></p>

<div class="ann" id="ann-assets-1ae78917-77ce-4d68-a53a-cce2e5a18662-jpg">
    <img src="/assets/1AE78917-77CE-4D68-A53A-CCE2E5A18662.jpg" alt="Die Nieten die fehlten von gestern" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Die Nieten die fehlten von gestern</span>
<script>
    annBuild("ann-assets-1ae78917-77ce-4d68-a53a-cce2e5a18662-jpg", []);
</script></p>]]></content><author><name>Florian Brandes</name><email>info@traumvomfliegen.de</email></author><category term="Work Log" /><category term="Elevator" /><category term="Empennage" /><category term="Nieten" /><category term="Priming" /><summary type="html"><![CDATA[Die fehlende Seite wurde grundiert und später, nachdem es getrocknet ist, genietet. Wie schon beim rechten Höhenruder wurde Sikaflex an den Enden der Verstärker]]></summary></entry><entry><title type="html">Skelett genietet vom linken Höhenruder</title><link href="http://localhost:4000/work%20log/skelett-genietet-vom-linken-hhenruder/" rel="alternate" type="text/html" title="Skelett genietet vom linken Höhenruder" /><published>2026-03-31T18:22:47+02:00</published><updated>2026-03-31T18:22:47+02:00</updated><id>http://localhost:4000/work%20log/skelett-genietet-vom-linken-hhenruder</id><content type="html" xml:base="http://localhost:4000/work%20log/skelett-genietet-vom-linken-hhenruder/"><![CDATA[<p>Nachdem gestern der Skin gebogen wurde und der Servo fertig gestellt wurde, kam heute nun das Skelett für das Höhenruder dran. Dies ist nun fast fertig. Eine Seite habe ich vergessen zu lackieren, welches ich noch nachholen muss</p>

<p><strong>Time spent</strong>: 1hr 15min</p>

<style>
    .ann {
        position: relative;
        display: inline-block;
        width: 100%;
    }
    .ann img {
        display: block;
        width: 100%;
        border-radius: 6px;
    }
    .ann-dot {
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
        display: grid;
        place-items: center;
        transform: translate(-50%, -50%);
        cursor: pointer;
        z-index: 10;
    }
    .ann-dot svg {
        width: 100%;
        height: 100%;
        display: block;
        pointer-events: none;
    }
    .ann-dot span {
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        pointer-events: none;
    }
    .ann-tip {
        display: none;
        position: absolute;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        padding: 7px 12px;
        font-size: 13px;
        color: #111;
        white-space: normal;
        max-width: 200px;
        pointer-events: none;
        z-index: 20;
    }
    .ann-caption {
        display: block;
        font-style: italic;
        font-size: 14px;
        color: #575757;
        margin-top: 2px;
        text-align: center;
    }
    .ann-wm {
        position: absolute;
        bottom: 4px;
        left: 8px;
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.85);
        text-shadow: 0 0px 2px rgba(0, 0, 0, 0.8);
        letter-spacing: 0.02em;
        pointer-events: auto;
        z-index: 10;
        font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    }
</style>

<script>
    var C = {
        number: "#1a1a1a",
        letter: "#1a1a1a",
    };
    var F = {
        warning: "#f57c00",
        issue: "#d32f2f",
        information: "#1565c0",
        question: "#1565c0",
        approved: "#2e7d32",
    };
    var I = {
        information:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.75 4.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-1.5 3h1.5v5h-1.5V9.5z"/></svg>',
        warning:
            '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm-.75 4.5h1.5v5h-1.5v-5zm.75 7.25a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5z"/></svg>',
        issue: '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm2.78 5.22a.75.75 0 0 1 0 1.06L11.06 10l1.72 1.72a.75.75 0 1 1-1.06 1.06L10 11.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L8.94 10 7.22 8.28a.75.75 0 0 1 1.06-1.06L10 8.94l1.72-1.72a.75.75 0 0 1 1.06 0z"/></svg>',
        question:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.5 11.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.6-3.2c.05-.28.22-.52.47-.7.82-.59 1.38-1.44 1.38-2.35 0-1.52-1.23-2.75-2.75-2.75S6.25 5.73 6.25 7.25h1.5c0-.69.56-1.25 1.25-1.25s1.25.56 1.25 1.25c0 .45-.28.88-.75 1.22-.57.41-.97 1.02-1.07 1.72l-.03.31h1.5z"/></svg>',
        approved:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm3.53 5.97-4.25 4.25a.75.75 0 0 1-1.06 0l-1.75-1.75a.75.75 0 1 1 1.06-1.06l1.22 1.22 3.72-3.72a.75.75 0 0 1 1.06 1.06z"/></svg>',
    };
    function showTip(tip, a, wrap) {
        tip.textContent = a.title;
        tip.style.maxWidth = wrap.offsetWidth * 0.8 + "px";
        tip.style.left = "0px";
        tip.style.top = "0px";
        tip.style.display = "block";

        var wrapW = wrap.offsetWidth;
        var wrapH = wrap.offsetHeight;
        var tipW = tip.offsetWidth;
        var tipH = tip.offsetHeight;

        var dotX = a.x * wrapW;
        var dotY = a.y * wrapH;

        var left = Math.min(Math.max(dotX - tipW / 2, 4), wrapW - tipW - 4);
        var top = dotY + 20;
        if (top + tipH > wrapH - 4) top = dotY - tipH - 16;

        tip.style.left = left + "px";
        tip.style.top = top + "px";
    }
    function annBuild(id, annotations) {
        var wrap = document.getElementById(id);
        if (!wrap) return;
        var tip = wrap.querySelector(".ann-tip");
        var wm = document.createElement("div");
        wm.className = "ann-wm";
        wm.innerHTML = `
          <!-- Built with KitFlight Builder App (kitflight.com).
               If you're reading this — thank you for keeping this link 🙇‍♂️
               It helps other builders find modern tools for their journey. -->
          <a href="https://kitflight.com" target="_blank" rel="noopener" style="color:inherit;text-decoration:none;">KitFlight  App</a>
        `.trim();
        wrap.appendChild(wm);
        annotations.forEach(function (a) {
            var dot = document.createElement("div");
            dot.className = "ann-dot";
            dot.style.background = C[a.style] || "#fff";
            dot.style.left = a.x * 100 + "%";
            dot.style.top = a.y * 100 + "%";
            dot.innerHTML =
                a.style === "number"
                    ? "<span>" + (a.index || "") + "</span>"
                    : a.style === "letter"
                      ? "<span>" + (a.letter || "A") + "</span>"
                      : I[a.style] || "";
            var svg = dot.querySelector("svg");
            if (svg) svg.style.fill = F[a.style] || "#fff";
            dot.addEventListener("mouseenter", function () {
                if (a.title) showTip(tip, a, wrap);
            });
            dot.addEventListener("mouseleave", function () {
                tip.style.display = "none";
            });
            dot.addEventListener(
                "touchstart",
                function (e) {
                    e.preventDefault();
                    if (!a.title) return;
                    if (tip._currentAnnotation === a) {
                        tip.style.display = "none";
                        tip._currentAnnotation = null;
                        return;
                    }
                    tip._currentAnnotation = a;
                    showTip(tip, a, wrap);
                },
                { passive: false },
            );
            wrap.appendChild(dot);
        });
        wrap.addEventListener("touchstart", function (e) {
            if (!e.target.closest(".ann-dot")) {
                tip.style.display = "none";
                tip._currentAnnotation = null;
            }
        });
    }
</script>

<div class="ann" id="ann-assets-f0f478d9-4b9e-4d05-9d50-41f58fce7157-jpg">
    <img src="/assets/F0F478D9-4B9E-4D05-9D50-41F58FCE7157.jpg" alt="" />
    <div class="ann-tip"></div>
</div>

<script>
    annBuild("ann-assets-f0f478d9-4b9e-4d05-9d50-41f58fce7157-jpg", []);
</script>

<div class="ann" id="ann-assets-43efca45-3630-43e7-bc82-20075b4deb8c-jpg">
    <img src="/assets/43EFCA45-3630-43E7-BC82-20075B4DEB8C.jpg" alt="" />
    <div class="ann-tip"></div>
</div>

<script>
    annBuild("ann-assets-43efca45-3630-43e7-bc82-20075b4deb8c-jpg", []);
</script>

<div class="ann" id="ann-assets-5ca22aef-bbe8-4845-8660-66ee97a38d71-jpg">
    <img src="/assets/5CA22AEF-BBE8-4845-8660-66EE97A38D71.jpg" alt="" />
    <div class="ann-tip"></div>
</div>

<script>
    annBuild("ann-assets-5ca22aef-bbe8-4845-8660-66ee97a38d71-jpg", []);
</script>

<div class="ann" id="ann-assets-a204b806-3f99-4660-a138-ba12350163bd-jpg">
    <img src="/assets/A204B806-3F99-4660-A138-BA12350163BD.jpg" alt="Hier habe ich die Seitenteile diesmal nicht zuerst zusammen genietet, sondern erst an den Spar. Dies hat mir die Nietarbeit dort deutlich erleichtert" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Hier habe ich die Seitenteile diesmal nicht zuerst zusammen genietet, sondern erst an den Spar. Dies hat mir die Nietarbeit dort deutlich erleichtert</span>
<script>
    annBuild("ann-assets-a204b806-3f99-4660-a138-ba12350163bd-jpg", []);
</script></p>

<div class="ann" id="ann-assets-5ebd11a6-0e84-4851-af1f-38302ad802aa-jpg">
    <img src="/assets/5EBD11A6-0E84-4851-AF1F-38302AD802AA.jpg" alt="Hier ein Bild von diesen Nieten" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Hier ein Bild von diesen Nieten</span>
<script>
    annBuild("ann-assets-5ebd11a6-0e84-4851-af1f-38302ad802aa-jpg", [
  { "x": 0.2068, "y": 0.4639, "style": "number", "index": 1, "title": "Diese Nieten habe ich zuerst genietet" }
]);
</script></p>

<div class="ann" id="ann-assets-7e270b4f-7120-42fc-a85d-4086ff168b15-jpg">
    <img src="/assets/7E270B4F-7120-42FC-A85D-4086FF168B15.jpg" alt="Die andere Seite vom Spar. Die linke (hier nicht sichtbare) Seite muss noch lackiert werden" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Die andere Seite vom Spar. Die linke (hier nicht sichtbare) Seite muss noch lackiert werden</span>
<script>
    annBuild("ann-assets-7e270b4f-7120-42fc-a85d-4086ff168b15-jpg", []);
</script></p>]]></content><author><name>Florian Brandes</name><email>info@traumvomfliegen.de</email></author><category term="Work Log" /><category term="Empennage" /><category term="Elevator" /><category term="Nieten" /><summary type="html"><![CDATA[Nachdem gestern der Skin gebogen wurde und der Servo fertig gestellt wurde, kam heute nun das Skelett für das Höhenruder dran. Dies ist nun fast fertig. Eine Seite habe ich vergessen zu lackieren, welches ich noch nachholen muss]]></summary></entry><entry><title type="html">Elektrischer Trim vorbereitet</title><link href="http://localhost:4000/work%20log/elektrischer-trim-vorbereitet/" rel="alternate" type="text/html" title="Elektrischer Trim vorbereitet" /><published>2026-03-30T21:26:20+02:00</published><updated>2026-03-30T21:26:20+02:00</updated><id>http://localhost:4000/work%20log/elektrischer-trim-vorbereitet</id><content type="html" xml:base="http://localhost:4000/work%20log/elektrischer-trim-vorbereitet/"><![CDATA[<p>Heute hab ich die Trimplatte zusammen genietet, das Trimloch angepasst, sodass die Gewindestange durchpasst und die Trimtap Seite fertig gebogen</p>

<p><strong>Time spent</strong>: 2hrs 30min</p>

<style>
    .ann {
        position: relative;
        display: inline-block;
        width: 100%;
    }
    .ann img {
        display: block;
        width: 100%;
        border-radius: 6px;
    }
    .ann-dot {
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
        display: grid;
        place-items: center;
        transform: translate(-50%, -50%);
        cursor: pointer;
        z-index: 10;
    }
    .ann-dot svg {
        width: 100%;
        height: 100%;
        display: block;
        pointer-events: none;
    }
    .ann-dot span {
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        pointer-events: none;
    }
    .ann-tip {
        display: none;
        position: absolute;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        padding: 7px 12px;
        font-size: 13px;
        color: #111;
        white-space: normal;
        max-width: 200px;
        pointer-events: none;
        z-index: 20;
    }
    .ann-caption {
        display: block;
        font-style: italic;
        font-size: 14px;
        color: #575757;
        margin-top: 2px;
        text-align: center;
    }
    .ann-wm {
        position: absolute;
        bottom: 4px;
        left: 8px;
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.85);
        text-shadow: 0 0px 2px rgba(0, 0, 0, 0.8);
        letter-spacing: 0.02em;
        pointer-events: auto;
        z-index: 10;
        font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    }
</style>

<script>
    var C = {
        number: "#1a1a1a",
        letter: "#1a1a1a",
    };
    var F = {
        warning: "#f57c00",
        issue: "#d32f2f",
        information: "#1565c0",
        question: "#1565c0",
        approved: "#2e7d32",
    };
    var I = {
        information:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.75 4.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-1.5 3h1.5v5h-1.5V9.5z"/></svg>',
        warning:
            '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm-.75 4.5h1.5v5h-1.5v-5zm.75 7.25a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5z"/></svg>',
        issue: '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm2.78 5.22a.75.75 0 0 1 0 1.06L11.06 10l1.72 1.72a.75.75 0 1 1-1.06 1.06L10 11.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L8.94 10 7.22 8.28a.75.75 0 0 1 1.06-1.06L10 8.94l1.72-1.72a.75.75 0 0 1 1.06 0z"/></svg>',
        question:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.5 11.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.6-3.2c.05-.28.22-.52.47-.7.82-.59 1.38-1.44 1.38-2.35 0-1.52-1.23-2.75-2.75-2.75S6.25 5.73 6.25 7.25h1.5c0-.69.56-1.25 1.25-1.25s1.25.56 1.25 1.25c0 .45-.28.88-.75 1.22-.57.41-.97 1.02-1.07 1.72l-.03.31h1.5z"/></svg>',
        approved:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm3.53 5.97-4.25 4.25a.75.75 0 0 1-1.06 0l-1.75-1.75a.75.75 0 1 1 1.06-1.06l1.22 1.22 3.72-3.72a.75.75 0 0 1 1.06 1.06z"/></svg>',
    };
    function showTip(tip, a, wrap) {
        tip.textContent = a.title;
        tip.style.maxWidth = wrap.offsetWidth * 0.8 + "px";
        tip.style.left = "0px";
        tip.style.top = "0px";
        tip.style.display = "block";

        var wrapW = wrap.offsetWidth;
        var wrapH = wrap.offsetHeight;
        var tipW = tip.offsetWidth;
        var tipH = tip.offsetHeight;

        var dotX = a.x * wrapW;
        var dotY = a.y * wrapH;

        var left = Math.min(Math.max(dotX - tipW / 2, 4), wrapW - tipW - 4);
        var top = dotY + 20;
        if (top + tipH > wrapH - 4) top = dotY - tipH - 16;

        tip.style.left = left + "px";
        tip.style.top = top + "px";
    }
    function annBuild(id, annotations) {
        var wrap = document.getElementById(id);
        if (!wrap) return;
        var tip = wrap.querySelector(".ann-tip");
        var wm = document.createElement("div");
        wm.className = "ann-wm";
        wm.innerHTML = `
          <!-- Built with KitFlight Builder App (kitflight.com).
               If you're reading this — thank you for keeping this link 🙇‍♂️
               It helps other builders find modern tools for their journey. -->
          <a href="https://kitflight.com" target="_blank" rel="noopener" style="color:inherit;text-decoration:none;">KitFlight  App</a>
        `.trim();
        wrap.appendChild(wm);
        annotations.forEach(function (a) {
            var dot = document.createElement("div");
            dot.className = "ann-dot";
            dot.style.background = C[a.style] || "#fff";
            dot.style.left = a.x * 100 + "%";
            dot.style.top = a.y * 100 + "%";
            dot.innerHTML =
                a.style === "number"
                    ? "<span>" + (a.index || "") + "</span>"
                    : a.style === "letter"
                      ? "<span>" + (a.letter || "A") + "</span>"
                      : I[a.style] || "";
            var svg = dot.querySelector("svg");
            if (svg) svg.style.fill = F[a.style] || "#fff";
            dot.addEventListener("mouseenter", function () {
                if (a.title) showTip(tip, a, wrap);
            });
            dot.addEventListener("mouseleave", function () {
                tip.style.display = "none";
            });
            dot.addEventListener(
                "touchstart",
                function (e) {
                    e.preventDefault();
                    if (!a.title) return;
                    if (tip._currentAnnotation === a) {
                        tip.style.display = "none";
                        tip._currentAnnotation = null;
                        return;
                    }
                    tip._currentAnnotation = a;
                    showTip(tip, a, wrap);
                },
                { passive: false },
            );
            wrap.appendChild(dot);
        });
        wrap.addEventListener("touchstart", function (e) {
            if (!e.target.closest(".ann-dot")) {
                tip.style.display = "none";
                tip._currentAnnotation = null;
            }
        });
    }
</script>

<div class="ann" id="ann-assets-ab93b76c-5445-4c3f-9cff-beccb3e8b099-jpg">
    <img src="/assets/AB93B76C-5445-4C3F-9CFF-BECCB3E8B099.jpg" alt="Der Servo an die Platte angebracht" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Der Servo an die Platte angebracht</span>
<script>
    annBuild("ann-assets-ab93b76c-5445-4c3f-9cff-beccb3e8b099-jpg", []);
</script></p>

<div class="ann" id="ann-assets-7c3434ea-bf86-4ad6-8c9c-57b8bff6957e-jpg">
    <img src="/assets/7C3434EA-BF86-4AD6-8C9C-57B8BFF6957E.jpg" alt="Von unten" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Von unten</span>
<script>
    annBuild("ann-assets-7c3434ea-bf86-4ad6-8c9c-57b8bff6957e-jpg", [
  { "x": 0.4035, "y": 0.5473, "style": "number", "index": 1, "title": "Hier wurde die Öffnung erweitert, sodass auch die Halterung  der Gewindestange genug Platz hat" }
]);
</script></p>

<div class="ann" id="ann-assets-b502dae7-7e6a-4fcc-a844-2bdb30c65f0f-jpg">
    <img src="/assets/B502DAE7-7E6A-4FCC-A844-2BDB30C65F0F.jpg" alt="Von Innen" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Von Innen</span>
<script>
    annBuild("ann-assets-b502dae7-7e6a-4fcc-a844-2bdb30c65f0f-jpg", [
  { "x": 0.5510, "y": 0.6052, "style": "number", "index": 1 }
]);
</script></p>

<div class="ann" id="ann-assets-c012396e-e261-4317-8412-45373097c8c4-jpg">
    <img src="/assets/C012396E-E261-4317-8412-45373097C8C4.jpg" alt="Trimtab noch ungebogen" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Trimtab noch ungebogen</span>
<script>
    annBuild("ann-assets-c012396e-e261-4317-8412-45373097c8c4-jpg", []);
</script></p>

<div class="ann" id="ann-assets-c467a9e8-7224-4671-a220-2a711512834f-jpg">
    <img src="/assets/C467A9E8-7224-4671-A220-2A711512834F.jpg" alt="Holzblöcke genau angefertigt und so ausgerichtet, dass es eine 90° Biegelinie zum Trim gibt" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Holzblöcke genau angefertigt und so ausgerichtet, dass es eine 90° Biegelinie zum Trim gibt</span>
<script>
    annBuild("ann-assets-c467a9e8-7224-4671-a220-2a711512834f-jpg", []);
</script></p>

<div class="ann" id="ann-assets-96eab071-85ee-4586-9ec8-781772489bb3-jpg">
    <img src="/assets/96EAB071-85EE-4586-9EC8-781772489BB3.jpg" alt="Beide fertig gebogen" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Beide fertig gebogen</span>
<script>
    annBuild("ann-assets-96eab071-85ee-4586-9ec8-781772489bb3-jpg", []);
</script></p>

<div class="ann" id="ann-assets-4f16858f-1846-4c28-9371-30f838c86232-jpg">
    <img src="/assets/4F16858F-1846-4C28-9371-30F838C86232.jpg" alt="So siehts von der Seite aus" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">So siehts von der Seite aus</span>
<script>
    annBuild("ann-assets-4f16858f-1846-4c28-9371-30f838c86232-jpg", []);
</script></p>]]></content><author><name>Florian Brandes</name><email>info@traumvomfliegen.de</email></author><category term="Work Log" /><category term="Empennage" /><category term="Nieten" /><category term="Schleifen_Polieren_Sägen" /><category term="Elevator" /><summary type="html"><![CDATA[Heute hab ich die Trimplatte zusammen genietet, das Trimloch angepasst, sodass die Gewindestange durchpasst und die Trimtap Seite fertig gebogen]]></summary></entry><entry><title type="html">Linkes Höhenruder Weiter</title><link href="http://localhost:4000/work%20log/linkes-hhenruder-weiter/" rel="alternate" type="text/html" title="Linkes Höhenruder Weiter" /><published>2026-03-29T18:42:37+02:00</published><updated>2026-03-29T18:42:37+02:00</updated><id>http://localhost:4000/work%20log/linkes-hhenruder-weiter</id><content type="html" xml:base="http://localhost:4000/work%20log/linkes-hhenruder-weiter/"><![CDATA[<p>Heute wurden die restlichen Löcher gedimpelt. Danach die Löcher gesenkt, welche Vans nicht gedimpelt haben möchte, die Trim Platte vorbereitet und schlussendlich alles grundiert</p>

<p><strong>Time spent</strong>: 3hrs 30min</p>

<style>
    .ann {
        position: relative;
        display: inline-block;
        width: 100%;
    }
    .ann img {
        display: block;
        width: 100%;
        border-radius: 6px;
    }
    .ann-dot {
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
        display: grid;
        place-items: center;
        transform: translate(-50%, -50%);
        cursor: pointer;
        z-index: 10;
    }
    .ann-dot svg {
        width: 100%;
        height: 100%;
        display: block;
        pointer-events: none;
    }
    .ann-dot span {
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        pointer-events: none;
    }
    .ann-tip {
        display: none;
        position: absolute;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        padding: 7px 12px;
        font-size: 13px;
        color: #111;
        white-space: normal;
        max-width: 200px;
        pointer-events: none;
        z-index: 20;
    }
    .ann-caption {
        display: block;
        font-style: italic;
        font-size: 14px;
        color: #575757;
        margin-top: 2px;
        text-align: center;
    }
    .ann-wm {
        position: absolute;
        bottom: 4px;
        left: 8px;
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.85);
        text-shadow: 0 0px 2px rgba(0, 0, 0, 0.8);
        letter-spacing: 0.02em;
        pointer-events: auto;
        z-index: 10;
        font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    }
</style>

<script>
    var C = {
        number: "#1a1a1a",
        letter: "#1a1a1a",
    };
    var F = {
        warning: "#f57c00",
        issue: "#d32f2f",
        information: "#1565c0",
        question: "#1565c0",
        approved: "#2e7d32",
    };
    var I = {
        information:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.75 4.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-1.5 3h1.5v5h-1.5V9.5z"/></svg>',
        warning:
            '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm-.75 4.5h1.5v5h-1.5v-5zm.75 7.25a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5z"/></svg>',
        issue: '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm2.78 5.22a.75.75 0 0 1 0 1.06L11.06 10l1.72 1.72a.75.75 0 1 1-1.06 1.06L10 11.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L8.94 10 7.22 8.28a.75.75 0 0 1 1.06-1.06L10 8.94l1.72-1.72a.75.75 0 0 1 1.06 0z"/></svg>',
        question:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.5 11.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.6-3.2c.05-.28.22-.52.47-.7.82-.59 1.38-1.44 1.38-2.35 0-1.52-1.23-2.75-2.75-2.75S6.25 5.73 6.25 7.25h1.5c0-.69.56-1.25 1.25-1.25s1.25.56 1.25 1.25c0 .45-.28.88-.75 1.22-.57.41-.97 1.02-1.07 1.72l-.03.31h1.5z"/></svg>',
        approved:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm3.53 5.97-4.25 4.25a.75.75 0 0 1-1.06 0l-1.75-1.75a.75.75 0 1 1 1.06-1.06l1.22 1.22 3.72-3.72a.75.75 0 0 1 1.06 1.06z"/></svg>',
    };
    function showTip(tip, a, wrap) {
        tip.textContent = a.title;
        tip.style.maxWidth = wrap.offsetWidth * 0.8 + "px";
        tip.style.left = "0px";
        tip.style.top = "0px";
        tip.style.display = "block";

        var wrapW = wrap.offsetWidth;
        var wrapH = wrap.offsetHeight;
        var tipW = tip.offsetWidth;
        var tipH = tip.offsetHeight;

        var dotX = a.x * wrapW;
        var dotY = a.y * wrapH;

        var left = Math.min(Math.max(dotX - tipW / 2, 4), wrapW - tipW - 4);
        var top = dotY + 20;
        if (top + tipH > wrapH - 4) top = dotY - tipH - 16;

        tip.style.left = left + "px";
        tip.style.top = top + "px";
    }
    function annBuild(id, annotations) {
        var wrap = document.getElementById(id);
        if (!wrap) return;
        var tip = wrap.querySelector(".ann-tip");
        var wm = document.createElement("div");
        wm.className = "ann-wm";
        wm.innerHTML = `
          <!-- Built with KitFlight Builder App (kitflight.com).
               If you're reading this — thank you for keeping this link 🙇‍♂️
               It helps other builders find modern tools for their journey. -->
          <a href="https://kitflight.com" target="_blank" rel="noopener" style="color:inherit;text-decoration:none;">KitFlight  App</a>
        `.trim();
        wrap.appendChild(wm);
        annotations.forEach(function (a) {
            var dot = document.createElement("div");
            dot.className = "ann-dot";
            dot.style.background = C[a.style] || "#fff";
            dot.style.left = a.x * 100 + "%";
            dot.style.top = a.y * 100 + "%";
            dot.innerHTML =
                a.style === "number"
                    ? "<span>" + (a.index || "") + "</span>"
                    : a.style === "letter"
                      ? "<span>" + (a.letter || "A") + "</span>"
                      : I[a.style] || "";
            var svg = dot.querySelector("svg");
            if (svg) svg.style.fill = F[a.style] || "#fff";
            dot.addEventListener("mouseenter", function () {
                if (a.title) showTip(tip, a, wrap);
            });
            dot.addEventListener("mouseleave", function () {
                tip.style.display = "none";
            });
            dot.addEventListener(
                "touchstart",
                function (e) {
                    e.preventDefault();
                    if (!a.title) return;
                    if (tip._currentAnnotation === a) {
                        tip.style.display = "none";
                        tip._currentAnnotation = null;
                        return;
                    }
                    tip._currentAnnotation = a;
                    showTip(tip, a, wrap);
                },
                { passive: false },
            );
            wrap.appendChild(dot);
        });
        wrap.addEventListener("touchstart", function (e) {
            if (!e.target.closest(".ann-dot")) {
                tip.style.display = "none";
                tip._currentAnnotation = null;
            }
        });
    }
</script>

<div class="ann" id="ann-assets-3f8fa210-c068-4fba-8721-af18f010c73c-jpg">
    <img src="/assets/3F8FA210-C068-4FBA-8721-AF18F010C73C.jpg" alt="Keine vorgebohrte Löcher..Also alles abgemessen, markiert und gebohrt" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Keine vorgebohrte Löcher..Also alles abgemessen, markiert und gebohrt</span>
<script>
    annBuild("ann-assets-3f8fa210-c068-4fba-8721-af18f010c73c-jpg", []);
</script></p>

<div class="ann" id="ann-assets-1197fe6d-841f-4a4c-abc4-5eada2aa5b3a-jpg">
    <img src="/assets/1197FE6D-841F-4A4C-ABC4-5EADA2AA5B3A.jpg" alt="Alles geprimed " />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Alles geprimed </span>
<script>
    annBuild("ann-assets-1197fe6d-841f-4a4c-abc4-5eada2aa5b3a-jpg", []);
</script></p>

<div class="ann" id="ann-assets-32c25f5b-c411-444d-9690-0960941c8762-jpg">
    <img src="/assets/32C25F5B-C411-444D-9690-0960941C8762.jpg" alt="" />
    <div class="ann-tip"></div>
</div>

<script>
    annBuild("ann-assets-32c25f5b-c411-444d-9690-0960941c8762-jpg", []);
</script>

<div class="ann" id="ann-assets-c4b4f76a-3b31-4d51-b153-077f698d79f8-jpg">
    <img src="/assets/C4B4F76A-3B31-4D51-B153-077F698D79F8.jpg" alt="Die Oberseite (hier unten) der später gerollten Fläche liegt später direkt auf der anderen auf. Daher ist diese hier auch grundiert" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Die Oberseite (hier unten) der später gerollten Fläche liegt später direkt auf der anderen auf. Daher ist diese hier auch grundiert</span>
<script>
    annBuild("ann-assets-c4b4f76a-3b31-4d51-b153-077f698d79f8-jpg", []);
</script></p>]]></content><author><name>Florian Brandes</name><email>info@traumvomfliegen.de</email></author><category term="Work Log" /><category term="Elevator" /><category term="Priming" /><category term="Empennage" /><summary type="html"><![CDATA[Heute wurden die restlichen Löcher gedimpelt. Danach die Löcher gesenkt, welche Vans nicht gedimpelt haben möchte, die Trim Platte vorbereitet und schlussendlich alles grundiert]]></summary></entry><entry><title type="html">Linkes Höhenruder bohren, entgraten, dimpeln</title><link href="http://localhost:4000/work%20log/linkes-hhenruder-bohren-entgraten-dimpeln/" rel="alternate" type="text/html" title="Linkes Höhenruder bohren, entgraten, dimpeln" /><published>2026-03-27T18:48:51+01:00</published><updated>2026-03-27T18:48:51+01:00</updated><id>http://localhost:4000/work%20log/linkes-hhenruder-bohren-entgraten-dimpeln</id><content type="html" xml:base="http://localhost:4000/work%20log/linkes-hhenruder-bohren-entgraten-dimpeln/"><![CDATA[<p>Wie der Titel schon sagt: Linkes Höhenruder wurde auf die korrekte Größe gebohrt, alles entgratet und dann gedimpelt</p>

<p><strong>Time spent</strong>: 1hr 45min</p>

<style>
    .ann {
        position: relative;
        display: inline-block;
        width: 100%;
    }
    .ann img {
        display: block;
        width: 100%;
        border-radius: 6px;
    }
    .ann-dot {
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
        display: grid;
        place-items: center;
        transform: translate(-50%, -50%);
        cursor: pointer;
        z-index: 10;
    }
    .ann-dot svg {
        width: 100%;
        height: 100%;
        display: block;
        pointer-events: none;
    }
    .ann-dot span {
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        pointer-events: none;
    }
    .ann-tip {
        display: none;
        position: absolute;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        padding: 7px 12px;
        font-size: 13px;
        color: #111;
        white-space: normal;
        max-width: 200px;
        pointer-events: none;
        z-index: 20;
    }
    .ann-caption {
        display: block;
        font-style: italic;
        font-size: 14px;
        color: #575757;
        margin-top: 2px;
        text-align: center;
    }
    .ann-wm {
        position: absolute;
        bottom: 4px;
        left: 8px;
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.85);
        text-shadow: 0 0px 2px rgba(0, 0, 0, 0.8);
        letter-spacing: 0.02em;
        pointer-events: auto;
        z-index: 10;
        font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    }
</style>

<script>
    var C = {
        number: "#1a1a1a",
        letter: "#1a1a1a",
    };
    var F = {
        warning: "#f57c00",
        issue: "#d32f2f",
        information: "#1565c0",
        question: "#1565c0",
        approved: "#2e7d32",
    };
    var I = {
        information:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.75 4.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-1.5 3h1.5v5h-1.5V9.5z"/></svg>',
        warning:
            '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm-.75 4.5h1.5v5h-1.5v-5zm.75 7.25a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5z"/></svg>',
        issue: '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm2.78 5.22a.75.75 0 0 1 0 1.06L11.06 10l1.72 1.72a.75.75 0 1 1-1.06 1.06L10 11.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L8.94 10 7.22 8.28a.75.75 0 0 1 1.06-1.06L10 8.94l1.72-1.72a.75.75 0 0 1 1.06 0z"/></svg>',
        question:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.5 11.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.6-3.2c.05-.28.22-.52.47-.7.82-.59 1.38-1.44 1.38-2.35 0-1.52-1.23-2.75-2.75-2.75S6.25 5.73 6.25 7.25h1.5c0-.69.56-1.25 1.25-1.25s1.25.56 1.25 1.25c0 .45-.28.88-.75 1.22-.57.41-.97 1.02-1.07 1.72l-.03.31h1.5z"/></svg>',
        approved:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm3.53 5.97-4.25 4.25a.75.75 0 0 1-1.06 0l-1.75-1.75a.75.75 0 1 1 1.06-1.06l1.22 1.22 3.72-3.72a.75.75 0 0 1 1.06 1.06z"/></svg>',
    };
    function showTip(tip, a, wrap) {
        tip.textContent = a.title;
        tip.style.maxWidth = wrap.offsetWidth * 0.8 + "px";
        tip.style.left = "0px";
        tip.style.top = "0px";
        tip.style.display = "block";

        var wrapW = wrap.offsetWidth;
        var wrapH = wrap.offsetHeight;
        var tipW = tip.offsetWidth;
        var tipH = tip.offsetHeight;

        var dotX = a.x * wrapW;
        var dotY = a.y * wrapH;

        var left = Math.min(Math.max(dotX - tipW / 2, 4), wrapW - tipW - 4);
        var top = dotY + 20;
        if (top + tipH > wrapH - 4) top = dotY - tipH - 16;

        tip.style.left = left + "px";
        tip.style.top = top + "px";
    }
    function annBuild(id, annotations) {
        var wrap = document.getElementById(id);
        if (!wrap) return;
        var tip = wrap.querySelector(".ann-tip");
        var wm = document.createElement("div");
        wm.className = "ann-wm";
        wm.innerHTML = `
          <!-- Built with KitFlight Builder App (kitflight.com).
               If you're reading this — thank you for keeping this link 🙇‍♂️
               It helps other builders find modern tools for their journey. -->
          <a href="https://kitflight.com" target="_blank" rel="noopener" style="color:inherit;text-decoration:none;">KitFlight  App</a>
        `.trim();
        wrap.appendChild(wm);
        annotations.forEach(function (a) {
            var dot = document.createElement("div");
            dot.className = "ann-dot";
            dot.style.background = C[a.style] || "#fff";
            dot.style.left = a.x * 100 + "%";
            dot.style.top = a.y * 100 + "%";
            dot.innerHTML =
                a.style === "number"
                    ? "<span>" + (a.index || "") + "</span>"
                    : a.style === "letter"
                      ? "<span>" + (a.letter || "A") + "</span>"
                      : I[a.style] || "";
            var svg = dot.querySelector("svg");
            if (svg) svg.style.fill = F[a.style] || "#fff";
            dot.addEventListener("mouseenter", function () {
                if (a.title) showTip(tip, a, wrap);
            });
            dot.addEventListener("mouseleave", function () {
                tip.style.display = "none";
            });
            dot.addEventListener(
                "touchstart",
                function (e) {
                    e.preventDefault();
                    if (!a.title) return;
                    if (tip._currentAnnotation === a) {
                        tip.style.display = "none";
                        tip._currentAnnotation = null;
                        return;
                    }
                    tip._currentAnnotation = a;
                    showTip(tip, a, wrap);
                },
                { passive: false },
            );
            wrap.appendChild(dot);
        });
        wrap.addEventListener("touchstart", function (e) {
            if (!e.target.closest(".ann-dot")) {
                tip.style.display = "none";
                tip._currentAnnotation = null;
            }
        });
    }
</script>

<div class="ann" id="ann-assets-1c80723a-aec0-4fa3-a5e0-d01e61ee4b54-jpg">
    <img src="/assets/1C80723A-AEC0-4FA3-A5E0-D01E61EE4B54.jpg" alt="" />
    <div class="ann-tip"></div>
</div>

<script>
    annBuild("ann-assets-1c80723a-aec0-4fa3-a5e0-d01e61ee4b54-jpg", []);
</script>

<div class="ann" id="ann-assets-89581352-9a54-445b-852e-d56390ae658f-jpg">
    <img src="/assets/89581352-9A54-445B-852E-D56390AE658F.jpg" alt="" />
    <div class="ann-tip"></div>
</div>

<script>
    annBuild("ann-assets-89581352-9a54-445b-852e-d56390ae658f-jpg", []);
</script>

<div class="ann" id="ann-assets-97624fc0-fd71-46de-8735-2e4f93add2e1-jpg">
    <img src="/assets/97624FC0-FD71-46DE-8735-2E4F93ADD2E1.jpg" alt="" />
    <div class="ann-tip"></div>
</div>

<script>
    annBuild("ann-assets-97624fc0-fd71-46de-8735-2e4f93add2e1-jpg", []);
</script>]]></content><author><name>Florian Brandes</name><email>info@traumvomfliegen.de</email></author><category term="Work Log" /><category term="Empennage" /><category term="Elevator" /><summary type="html"><![CDATA[Wie der Titel schon sagt: Linkes Höhenruder wurde auf die korrekte Größe gebohrt, alles entgratet und dann gedimpelt]]></summary></entry><entry><title type="html">Linkes Höhenruder weiter zusammen gebaut</title><link href="http://localhost:4000/work%20log/linkes-hhenruder-weiter-zusammen-gebaut/" rel="alternate" type="text/html" title="Linkes Höhenruder weiter zusammen gebaut" /><published>2026-03-26T21:45:29+01:00</published><updated>2026-03-26T21:45:29+01:00</updated><id>http://localhost:4000/work%20log/linkes-hhenruder-weiter-zusammen-gebaut</id><content type="html" xml:base="http://localhost:4000/work%20log/linkes-hhenruder-weiter-zusammen-gebaut/"><![CDATA[<p>Das Skelett vom linken Höhenruder wurde heute zusammen geheftet und die ersten Löcher auf die endgültige Größe aufgebohrt</p>

<p><strong>Time spent</strong>: 45min</p>

<style>
    .ann {
        position: relative;
        display: inline-block;
        width: 100%;
    }
    .ann img {
        display: block;
        width: 100%;
        border-radius: 6px;
    }
    .ann-dot {
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
        display: grid;
        place-items: center;
        transform: translate(-50%, -50%);
        cursor: pointer;
        z-index: 10;
    }
    .ann-dot svg {
        width: 100%;
        height: 100%;
        display: block;
        pointer-events: none;
    }
    .ann-dot span {
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        pointer-events: none;
    }
    .ann-tip {
        display: none;
        position: absolute;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        padding: 7px 12px;
        font-size: 13px;
        color: #111;
        white-space: normal;
        max-width: 200px;
        pointer-events: none;
        z-index: 20;
    }
    .ann-caption {
        display: block;
        font-style: italic;
        font-size: 14px;
        color: #575757;
        margin-top: 2px;
        text-align: center;
    }
    .ann-wm {
        position: absolute;
        bottom: 4px;
        left: 8px;
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.85);
        text-shadow: 0 0px 2px rgba(0, 0, 0, 0.8);
        letter-spacing: 0.02em;
        pointer-events: auto;
        z-index: 10;
        font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    }
</style>

<script>
    var C = {
        number: "#1a1a1a",
        letter: "#1a1a1a",
    };
    var F = {
        warning: "#f57c00",
        issue: "#d32f2f",
        information: "#1565c0",
        question: "#1565c0",
        approved: "#2e7d32",
    };
    var I = {
        information:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.75 4.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-1.5 3h1.5v5h-1.5V9.5z"/></svg>',
        warning:
            '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm-.75 4.5h1.5v5h-1.5v-5zm.75 7.25a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5z"/></svg>',
        issue: '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm2.78 5.22a.75.75 0 0 1 0 1.06L11.06 10l1.72 1.72a.75.75 0 1 1-1.06 1.06L10 11.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L8.94 10 7.22 8.28a.75.75 0 0 1 1.06-1.06L10 8.94l1.72-1.72a.75.75 0 0 1 1.06 0z"/></svg>',
        question:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.5 11.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.6-3.2c.05-.28.22-.52.47-.7.82-.59 1.38-1.44 1.38-2.35 0-1.52-1.23-2.75-2.75-2.75S6.25 5.73 6.25 7.25h1.5c0-.69.56-1.25 1.25-1.25s1.25.56 1.25 1.25c0 .45-.28.88-.75 1.22-.57.41-.97 1.02-1.07 1.72l-.03.31h1.5z"/></svg>',
        approved:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm3.53 5.97-4.25 4.25a.75.75 0 0 1-1.06 0l-1.75-1.75a.75.75 0 1 1 1.06-1.06l1.22 1.22 3.72-3.72a.75.75 0 0 1 1.06 1.06z"/></svg>',
    };
    function showTip(tip, a, wrap) {
        tip.textContent = a.title;
        tip.style.maxWidth = wrap.offsetWidth * 0.8 + "px";
        tip.style.left = "0px";
        tip.style.top = "0px";
        tip.style.display = "block";

        var wrapW = wrap.offsetWidth;
        var wrapH = wrap.offsetHeight;
        var tipW = tip.offsetWidth;
        var tipH = tip.offsetHeight;

        var dotX = a.x * wrapW;
        var dotY = a.y * wrapH;

        var left = Math.min(Math.max(dotX - tipW / 2, 4), wrapW - tipW - 4);
        var top = dotY + 20;
        if (top + tipH > wrapH - 4) top = dotY - tipH - 16;

        tip.style.left = left + "px";
        tip.style.top = top + "px";
    }
    function annBuild(id, annotations) {
        var wrap = document.getElementById(id);
        if (!wrap) return;
        var tip = wrap.querySelector(".ann-tip");
        var wm = document.createElement("div");
        wm.className = "ann-wm";
        wm.innerHTML = `
          <!-- Built with KitFlight Builder App (kitflight.com).
               If you're reading this — thank you for keeping this link 🙇‍♂️
               It helps other builders find modern tools for their journey. -->
          <a href="https://kitflight.com" target="_blank" rel="noopener" style="color:inherit;text-decoration:none;">KitFlight  App</a>
        `.trim();
        wrap.appendChild(wm);
        annotations.forEach(function (a) {
            var dot = document.createElement("div");
            dot.className = "ann-dot";
            dot.style.background = C[a.style] || "#fff";
            dot.style.left = a.x * 100 + "%";
            dot.style.top = a.y * 100 + "%";
            dot.innerHTML =
                a.style === "number"
                    ? "<span>" + (a.index || "") + "</span>"
                    : a.style === "letter"
                      ? "<span>" + (a.letter || "A") + "</span>"
                      : I[a.style] || "";
            var svg = dot.querySelector("svg");
            if (svg) svg.style.fill = F[a.style] || "#fff";
            dot.addEventListener("mouseenter", function () {
                if (a.title) showTip(tip, a, wrap);
            });
            dot.addEventListener("mouseleave", function () {
                tip.style.display = "none";
            });
            dot.addEventListener(
                "touchstart",
                function (e) {
                    e.preventDefault();
                    if (!a.title) return;
                    if (tip._currentAnnotation === a) {
                        tip.style.display = "none";
                        tip._currentAnnotation = null;
                        return;
                    }
                    tip._currentAnnotation = a;
                    showTip(tip, a, wrap);
                },
                { passive: false },
            );
            wrap.appendChild(dot);
        });
        wrap.addEventListener("touchstart", function (e) {
            if (!e.target.closest(".ann-dot")) {
                tip.style.display = "none";
                tip._currentAnnotation = null;
            }
        });
    }
</script>

<div class="ann" id="ann-assets-1df129e7-49a4-4228-b08b-e8d65ad10a70-jpg">
    <img src="/assets/1DF129E7-49A4-4228-B08B-E8D65AD10A70.jpg" alt="Andere Seite" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Andere Seite</span>
<script>
    annBuild("ann-assets-1df129e7-49a4-4228-b08b-e8d65ad10a70-jpg", []);
</script></p>

<div class="ann" id="ann-assets-208bb236-0f3a-49d8-97b8-72613275941c-jpg">
    <img src="/assets/208BB236-0F3A-49D8-97B8-72613275941C.jpg" alt="Linkes Höhenruder mit Clecos temporär zusammen geheftet" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Linkes Höhenruder mit Clecos temporär zusammen geheftet</span>
<script>
    annBuild("ann-assets-208bb236-0f3a-49d8-97b8-72613275941c-jpg", []);
</script></p>

<div class="ann" id="ann-assets-c7c33265-9a3d-43c6-abac-e3907115cd74-jpg">
    <img src="/assets/C7C33265-9A3D-43C6-ABAC-E3907115CD74.jpg" alt="Emma müde (und noch etwas nass) nach dem Spaziergang" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Emma müde (und noch etwas nass) nach dem Spaziergang</span>
<script>
    annBuild("ann-assets-c7c33265-9a3d-43c6-abac-e3907115cd74-jpg", []);
</script></p>]]></content><author><name>Florian Brandes</name><email>info@traumvomfliegen.de</email></author><category term="Work Log" /><category term="Elevator" /><category term="Empennage" /><summary type="html"><![CDATA[Das Skelett vom linken Höhenruder wurde heute zusammen geheftet und die ersten Löcher auf die endgültige Größe aufgebohrt]]></summary></entry><entry><title type="html">Rechtes Höhenruder fertig genietet</title><link href="http://localhost:4000/work%20log/rechtes-hhenruder-fertig-genietet/" rel="alternate" type="text/html" title="Rechtes Höhenruder fertig genietet" /><published>2026-03-26T20:46:32+01:00</published><updated>2026-03-26T20:46:32+01:00</updated><id>http://localhost:4000/work%20log/rechtes-hhenruder-fertig-genietet</id><content type="html" xml:base="http://localhost:4000/work%20log/rechtes-hhenruder-fertig-genietet/"><![CDATA[<p>Die letzten Nieten wurden erledigt. Ich habe für die super enge Niete am Ende alles probiert, inklusive Eisenprofil als Gegenhalter. Auch Online habe ich keinen genügend dünnen Gegenhalter gefunden. Ich kam dann auf die Idee, eine etwas kürzere Niete als in den Plänen zu verwenden, damit ich mit der Quetsche rein komme. Das hat perfekt funktioniert! Der Nietkopf hat korrekte Maße nach dem Nieten, sodass auch die kürzere Niete hierfür gut zu passen scheint.
Ein Erfolg, yay!</p>

<p><strong>Time spent</strong>: 2hrs</p>

<style>
    .ann {
        position: relative;
        display: inline-block;
        width: 100%;
    }
    .ann img {
        display: block;
        width: 100%;
        border-radius: 6px;
    }
    .ann-dot {
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
        display: grid;
        place-items: center;
        transform: translate(-50%, -50%);
        cursor: pointer;
        z-index: 10;
    }
    .ann-dot svg {
        width: 100%;
        height: 100%;
        display: block;
        pointer-events: none;
    }
    .ann-dot span {
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        pointer-events: none;
    }
    .ann-tip {
        display: none;
        position: absolute;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        padding: 7px 12px;
        font-size: 13px;
        color: #111;
        white-space: normal;
        max-width: 200px;
        pointer-events: none;
        z-index: 20;
    }
    .ann-caption {
        display: block;
        font-style: italic;
        font-size: 14px;
        color: #575757;
        margin-top: 2px;
        text-align: center;
    }
    .ann-wm {
        position: absolute;
        bottom: 4px;
        left: 8px;
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.85);
        text-shadow: 0 0px 2px rgba(0, 0, 0, 0.8);
        letter-spacing: 0.02em;
        pointer-events: auto;
        z-index: 10;
        font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    }
</style>

<script>
    var C = {
        number: "#1a1a1a",
        letter: "#1a1a1a",
    };
    var F = {
        warning: "#f57c00",
        issue: "#d32f2f",
        information: "#1565c0",
        question: "#1565c0",
        approved: "#2e7d32",
    };
    var I = {
        information:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.75 4.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-1.5 3h1.5v5h-1.5V9.5z"/></svg>',
        warning:
            '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm-.75 4.5h1.5v5h-1.5v-5zm.75 7.25a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5z"/></svg>',
        issue: '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm2.78 5.22a.75.75 0 0 1 0 1.06L11.06 10l1.72 1.72a.75.75 0 1 1-1.06 1.06L10 11.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L8.94 10 7.22 8.28a.75.75 0 0 1 1.06-1.06L10 8.94l1.72-1.72a.75.75 0 0 1 1.06 0z"/></svg>',
        question:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.5 11.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.6-3.2c.05-.28.22-.52.47-.7.82-.59 1.38-1.44 1.38-2.35 0-1.52-1.23-2.75-2.75-2.75S6.25 5.73 6.25 7.25h1.5c0-.69.56-1.25 1.25-1.25s1.25.56 1.25 1.25c0 .45-.28.88-.75 1.22-.57.41-.97 1.02-1.07 1.72l-.03.31h1.5z"/></svg>',
        approved:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm3.53 5.97-4.25 4.25a.75.75 0 0 1-1.06 0l-1.75-1.75a.75.75 0 1 1 1.06-1.06l1.22 1.22 3.72-3.72a.75.75 0 0 1 1.06 1.06z"/></svg>',
    };
    function showTip(tip, a, wrap) {
        tip.textContent = a.title;
        tip.style.maxWidth = wrap.offsetWidth * 0.8 + "px";
        tip.style.left = "0px";
        tip.style.top = "0px";
        tip.style.display = "block";

        var wrapW = wrap.offsetWidth;
        var wrapH = wrap.offsetHeight;
        var tipW = tip.offsetWidth;
        var tipH = tip.offsetHeight;

        var dotX = a.x * wrapW;
        var dotY = a.y * wrapH;

        var left = Math.min(Math.max(dotX - tipW / 2, 4), wrapW - tipW - 4);
        var top = dotY + 20;
        if (top + tipH > wrapH - 4) top = dotY - tipH - 16;

        tip.style.left = left + "px";
        tip.style.top = top + "px";
    }
    function annBuild(id, annotations) {
        var wrap = document.getElementById(id);
        if (!wrap) return;
        var tip = wrap.querySelector(".ann-tip");
        var wm = document.createElement("div");
        wm.className = "ann-wm";
        wm.innerHTML = `
          <!-- Built with KitFlight Builder App (kitflight.com).
               If you're reading this — thank you for keeping this link 🙇‍♂️
               It helps other builders find modern tools for their journey. -->
          <a href="https://kitflight.com" target="_blank" rel="noopener" style="color:inherit;text-decoration:none;">KitFlight  App</a>
        `.trim();
        wrap.appendChild(wm);
        annotations.forEach(function (a) {
            var dot = document.createElement("div");
            dot.className = "ann-dot";
            dot.style.background = C[a.style] || "#fff";
            dot.style.left = a.x * 100 + "%";
            dot.style.top = a.y * 100 + "%";
            dot.innerHTML =
                a.style === "number"
                    ? "<span>" + (a.index || "") + "</span>"
                    : a.style === "letter"
                      ? "<span>" + (a.letter || "A") + "</span>"
                      : I[a.style] || "";
            var svg = dot.querySelector("svg");
            if (svg) svg.style.fill = F[a.style] || "#fff";
            dot.addEventListener("mouseenter", function () {
                if (a.title) showTip(tip, a, wrap);
            });
            dot.addEventListener("mouseleave", function () {
                tip.style.display = "none";
            });
            dot.addEventListener(
                "touchstart",
                function (e) {
                    e.preventDefault();
                    if (!a.title) return;
                    if (tip._currentAnnotation === a) {
                        tip.style.display = "none";
                        tip._currentAnnotation = null;
                        return;
                    }
                    tip._currentAnnotation = a;
                    showTip(tip, a, wrap);
                },
                { passive: false },
            );
            wrap.appendChild(dot);
        });
        wrap.addEventListener("touchstart", function (e) {
            if (!e.target.closest(".ann-dot")) {
                tip.style.display = "none";
                tip._currentAnnotation = null;
            }
        });
    }
</script>

<div class="ann" id="ann-assets-6cf9db68-4d37-4884-be2e-b6f84e85163e-jpg">
    <img src="/assets/6CF9DB68-4D37-4884-BE2E-B6F84E85163E.jpg" alt="Und auch von Innen sind die Maße ausreichend" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Und auch von Innen sind die Maße ausreichend</span>
<script>
    annBuild("ann-assets-6cf9db68-4d37-4884-be2e-b6f84e85163e-jpg", []);
</script></p>

<div class="ann" id="ann-assets-0d22252d-3bc3-4315-a731-4304d509755b-jpg">
    <img src="/assets/0D22252D-3BC3-4315-A731-4304D509755B.jpg" alt="Nietenreihe von vorne" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Nietenreihe von vorne</span>
<script>
    annBuild("ann-assets-0d22252d-3bc3-4315-a731-4304d509755b-jpg", []);
</script></p>

<div class="ann" id="ann-assets-3ca14deb-9c2d-494d-819b-18d08c94dede-jpg">
    <img src="/assets/3CA14DEB-9C2D-494D-819B-18D08C94DEDE.jpg" alt="Höhenruder fertig" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Höhenruder fertig</span>
<script>
    annBuild("ann-assets-3ca14deb-9c2d-494d-819b-18d08c94dede-jpg", []);
</script></p>

<div class="ann" id="ann-assets-08d34e50-799e-448d-a81d-1dd17551a32e-jpg">
    <img src="/assets/08D34E50-799E-448D-A81D-1DD17551A32E.jpg" alt="Auch nicht auf der Gegenseite" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Auch nicht auf der Gegenseite</span>
<script>
    annBuild("ann-assets-08d34e50-799e-448d-a81d-1dd17551a32e-jpg", []);
</script></p>

<div class="ann" id="ann-assets-c90310cf-d3ef-430c-ac7f-40a7c95add24-jpg">
    <img src="/assets/C90310CF-D3EF-430C-AC7F-40A7C95ADD24.jpg" alt="Hier sieht man von außen keinen Unterschied" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Hier sieht man von außen keinen Unterschied</span>
<script>
    annBuild("ann-assets-c90310cf-d3ef-430c-ac7f-40a7c95add24-jpg", [
  { "x": 0.5176, "y": 0.5243, "style": "number", "index": 1 }
]);
</script></p>]]></content><author><name>Florian Brandes</name><email>info@traumvomfliegen.de</email></author><category term="Work Log" /><category term="Elevator" /><category term="Empennage" /><category term="Nieten" /><summary type="html"><![CDATA[Die letzten Nieten wurden erledigt. Ich habe für die super enge Niete am Ende alles probiert, inklusive Eisenprofil als Gegenhalter. Auch Online habe ich keinen genügend dünnen Gegenhalter gefunden. Ich kam dann auf die Idee, eine etwas kürzere Niete als in den Plänen zu verwenden, damit ich mit der Quetsche rein komme. Das hat perfekt funktioniert! Der Nietkopf hat korrekte Maße nach dem Nieten, sodass auch die kürzere Niete hierfür gut zu passen scheint. Ein Erfolg, yay!]]></summary></entry><entry><title type="html">Rechtes Höhenruder weiter genietet</title><link href="http://localhost:4000/work%20log/rechtes-hhenruder-weiter-genietet/" rel="alternate" type="text/html" title="Rechtes Höhenruder weiter genietet" /><published>2026-03-22T18:39:30+01:00</published><updated>2026-03-22T18:39:30+01:00</updated><id>http://localhost:4000/work%20log/rechtes-hhenruder-weiter-genietet</id><content type="html" xml:base="http://localhost:4000/work%20log/rechtes-hhenruder-weiter-genietet/"><![CDATA[<p>Heute wurde das SikaFlex an die Stellen zwischen den Verstärkern appliziert und der „Skin“ zum Teil an das Skelett genietet.</p>

<p><strong>Time spent</strong>: 2hrs 15min</p>

<style>
    .ann {
        position: relative;
        display: inline-block;
        width: 100%;
    }
    .ann img {
        display: block;
        width: 100%;
        border-radius: 6px;
    }
    .ann-dot {
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
        display: grid;
        place-items: center;
        transform: translate(-50%, -50%);
        cursor: pointer;
        z-index: 10;
    }
    .ann-dot svg {
        width: 100%;
        height: 100%;
        display: block;
        pointer-events: none;
    }
    .ann-dot span {
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        pointer-events: none;
    }
    .ann-tip {
        display: none;
        position: absolute;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        padding: 7px 12px;
        font-size: 13px;
        color: #111;
        white-space: normal;
        max-width: 200px;
        pointer-events: none;
        z-index: 20;
    }
    .ann-caption {
        display: block;
        font-style: italic;
        font-size: 14px;
        color: #575757;
        margin-top: 2px;
        text-align: center;
    }
    .ann-wm {
        position: absolute;
        bottom: 4px;
        left: 8px;
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.85);
        text-shadow: 0 0px 2px rgba(0, 0, 0, 0.8);
        letter-spacing: 0.02em;
        pointer-events: auto;
        z-index: 10;
        font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    }
</style>

<script>
    var C = {
        number: "#1a1a1a",
        letter: "#1a1a1a",
    };
    var F = {
        warning: "#f57c00",
        issue: "#d32f2f",
        information: "#1565c0",
        question: "#1565c0",
        approved: "#2e7d32",
    };
    var I = {
        information:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.75 4.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-1.5 3h1.5v5h-1.5V9.5z"/></svg>',
        warning:
            '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm-.75 4.5h1.5v5h-1.5v-5zm.75 7.25a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5z"/></svg>',
        issue: '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm2.78 5.22a.75.75 0 0 1 0 1.06L11.06 10l1.72 1.72a.75.75 0 1 1-1.06 1.06L10 11.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L8.94 10 7.22 8.28a.75.75 0 0 1 1.06-1.06L10 8.94l1.72-1.72a.75.75 0 0 1 1.06 0z"/></svg>',
        question:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.5 11.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.6-3.2c.05-.28.22-.52.47-.7.82-.59 1.38-1.44 1.38-2.35 0-1.52-1.23-2.75-2.75-2.75S6.25 5.73 6.25 7.25h1.5c0-.69.56-1.25 1.25-1.25s1.25.56 1.25 1.25c0 .45-.28.88-.75 1.22-.57.41-.97 1.02-1.07 1.72l-.03.31h1.5z"/></svg>',
        approved:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm3.53 5.97-4.25 4.25a.75.75 0 0 1-1.06 0l-1.75-1.75a.75.75 0 1 1 1.06-1.06l1.22 1.22 3.72-3.72a.75.75 0 0 1 1.06 1.06z"/></svg>',
    };
    function showTip(tip, a, wrap) {
        tip.textContent = a.title;
        tip.style.maxWidth = wrap.offsetWidth * 0.8 + "px";
        tip.style.left = "0px";
        tip.style.top = "0px";
        tip.style.display = "block";

        var wrapW = wrap.offsetWidth;
        var wrapH = wrap.offsetHeight;
        var tipW = tip.offsetWidth;
        var tipH = tip.offsetHeight;

        var dotX = a.x * wrapW;
        var dotY = a.y * wrapH;

        var left = Math.min(Math.max(dotX - tipW / 2, 4), wrapW - tipW - 4);
        var top = dotY + 20;
        if (top + tipH > wrapH - 4) top = dotY - tipH - 16;

        tip.style.left = left + "px";
        tip.style.top = top + "px";
    }
    function annBuild(id, annotations) {
        var wrap = document.getElementById(id);
        if (!wrap) return;
        var tip = wrap.querySelector(".ann-tip");
        var wm = document.createElement("div");
        wm.className = "ann-wm";
        wm.innerHTML = `
          <!-- Built with KitFlight Builder App (kitflight.com).
               If you're reading this — thank you for keeping this link 🙇‍♂️
               It helps other builders find modern tools for their journey. -->
          <a href="https://kitflight.com" target="_blank" rel="noopener" style="color:inherit;text-decoration:none;">KitFlight  App</a>
        `.trim();
        wrap.appendChild(wm);
        annotations.forEach(function (a) {
            var dot = document.createElement("div");
            dot.className = "ann-dot";
            dot.style.background = C[a.style] || "#fff";
            dot.style.left = a.x * 100 + "%";
            dot.style.top = a.y * 100 + "%";
            dot.innerHTML =
                a.style === "number"
                    ? "<span>" + (a.index || "") + "</span>"
                    : a.style === "letter"
                      ? "<span>" + (a.letter || "A") + "</span>"
                      : I[a.style] || "";
            var svg = dot.querySelector("svg");
            if (svg) svg.style.fill = F[a.style] || "#fff";
            dot.addEventListener("mouseenter", function () {
                if (a.title) showTip(tip, a, wrap);
            });
            dot.addEventListener("mouseleave", function () {
                tip.style.display = "none";
            });
            dot.addEventListener(
                "touchstart",
                function (e) {
                    e.preventDefault();
                    if (!a.title) return;
                    if (tip._currentAnnotation === a) {
                        tip.style.display = "none";
                        tip._currentAnnotation = null;
                        return;
                    }
                    tip._currentAnnotation = a;
                    showTip(tip, a, wrap);
                },
                { passive: false },
            );
            wrap.appendChild(dot);
        });
        wrap.addEventListener("touchstart", function (e) {
            if (!e.target.closest(".ann-dot")) {
                tip.style.display = "none";
                tip._currentAnnotation = null;
            }
        });
    }
</script>

<div class="ann" id="ann-assets-5d988312-4adc-429f-b528-44b738057d63-jpg">
    <img src="/assets/5D988312-4ADC-429F-B528-44B738057D63.jpg" alt="Diese Niete fehlt noch" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Diese Niete fehlt noch</span>
<script>
    annBuild("ann-assets-5d988312-4adc-429f-b528-44b738057d63-jpg", [
  { "x": 0.4192, "y": 0.4874, "style": "number", "index": 1 }
]);
</script></p>

<div class="ann" id="ann-assets-d530ea0d-7483-4e17-9746-cb0ba465e000-jpg">
    <img src="/assets/D530EA0D-7483-4E17-9746-CB0BA465E000.jpg" alt="Ein Blick ins Höhenruder" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Ein Blick ins Höhenruder</span>
<script>
    annBuild("ann-assets-d530ea0d-7483-4e17-9746-cb0ba465e000-jpg", [
  { "x": 0.4417, "y": 0.3415, "style": "number", "index": 1, "title": "Hier ist das SikaFlex" }
]);
</script></p>

<div class="ann" id="ann-assets-7b5ee52c-9392-4562-b458-83b566150acc-jpg">
    <img src="/assets/7B5EE52C-9392-4562-B458-83B566150ACC.jpg" alt="SikaFlex als „RTV“ Ersatz um Schwingungen zwischen der Ober- und Unterseite des Höhenruders zu mindern" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">SikaFlex als „RTV“ Ersatz um Schwingungen zwischen der Ober- und Unterseite des Höhenruders zu mindern</span>
<script>
    annBuild("ann-assets-7b5ee52c-9392-4562-b458-83b566150acc-jpg", []);
</script></p>

<div class="ann" id="ann-assets-59cd6841-2f68-4ceb-a2f0-4ce18ca160fe-jpg">
    <img src="/assets/59CD6841-2F68-4CEB-A2F0-4CE18CA160FE.jpg" alt="Und von Oben vom Höhenruder" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Und von Oben vom Höhenruder</span>
<script>
    annBuild("ann-assets-59cd6841-2f68-4ceb-a2f0-4ce18ca160fe-jpg", []);
</script></p>

<div class="ann" id="ann-assets-0cea4856-fe1d-4287-bce2-79bc959845a3-jpg">
    <img src="/assets/0CEA4856-FE1D-4287-BCE2-79BC959845A3.jpg" alt="Ein Blick von unten" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Ein Blick von unten</span>
<script>
    annBuild("ann-assets-0cea4856-fe1d-4287-bce2-79bc959845a3-jpg", []);
</script></p>

<div class="ann" id="ann-assets-0dabf1bc-f2fc-4dbb-936d-f2d9a2abaabd-jpg">
    <img src="/assets/0DABF1BC-F2FC-4DBB-936D-F2D9A2ABAABD.jpg" alt="Da weder Bucking Bar, noch Quetsche hier passt" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Da weder Bucking Bar, noch Quetsche hier passt</span>
<script>
    annBuild("ann-assets-0dabf1bc-f2fc-4dbb-936d-f2d9a2abaabd-jpg", []);
</script></p>]]></content><author><name>Florian Brandes</name><email>info@traumvomfliegen.de</email></author><category term="Work Log" /><category term="Nieten" /><category term="Elevator" /><category term="Empennage" /><summary type="html"><![CDATA[Heute wurde das SikaFlex an die Stellen zwischen den Verstärkern appliziert und der „Skin“ zum Teil an das Skelett genietet.]]></summary></entry><entry><title type="html">Linkes Höhenruder Skelett weiter</title><link href="http://localhost:4000/work%20log/linkes-hhenruder-skelett-weiter/" rel="alternate" type="text/html" title="Linkes Höhenruder Skelett weiter" /><published>2026-03-18T18:34:10+01:00</published><updated>2026-03-18T18:34:10+01:00</updated><id>http://localhost:4000/work%20log/linkes-hhenruder-skelett-weiter</id><content type="html" xml:base="http://localhost:4000/work%20log/linkes-hhenruder-skelett-weiter/"><![CDATA[<p>Heute wurde das Skelett des linken Höhenruders begonnen. Diesmal musste immerhin das Bleigewicht nicht gekürzt werden</p>

<p><strong>Time spent</strong>: 1hr 30min</p>

<style>
    .ann {
        position: relative;
        display: inline-block;
        width: 100%;
    }
    .ann img {
        display: block;
        width: 100%;
        border-radius: 6px;
    }
    .ann-dot {
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid #fff;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
        display: grid;
        place-items: center;
        transform: translate(-50%, -50%);
        cursor: pointer;
        z-index: 10;
    }
    .ann-dot svg {
        width: 100%;
        height: 100%;
        display: block;
        pointer-events: none;
    }
    .ann-dot span {
        font-size: 11px;
        font-weight: 700;
        color: #fff;
        pointer-events: none;
    }
    .ann-tip {
        display: none;
        position: absolute;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
        padding: 7px 12px;
        font-size: 13px;
        color: #111;
        white-space: normal;
        max-width: 200px;
        pointer-events: none;
        z-index: 20;
    }
    .ann-caption {
        display: block;
        font-style: italic;
        font-size: 14px;
        color: #575757;
        margin-top: 2px;
        text-align: center;
    }
    .ann-wm {
        position: absolute;
        bottom: 4px;
        left: 8px;
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.85);
        text-shadow: 0 0px 2px rgba(0, 0, 0, 0.8);
        letter-spacing: 0.02em;
        pointer-events: auto;
        z-index: 10;
        font-family: -apple-system, BlinkMacSystemFont, sans-serif;
    }
</style>

<script>
    var C = {
        number: "#1a1a1a",
        letter: "#1a1a1a",
    };
    var F = {
        warning: "#f57c00",
        issue: "#d32f2f",
        information: "#1565c0",
        question: "#1565c0",
        approved: "#2e7d32",
    };
    var I = {
        information:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.75 4.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-1.5 3h1.5v5h-1.5V9.5z"/></svg>',
        warning:
            '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm-.75 4.5h1.5v5h-1.5v-5zm.75 7.25a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5z"/></svg>',
        issue: '<svg viewBox="2 2 16 16" width="20" height="20"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm2.78 5.22a.75.75 0 0 1 0 1.06L11.06 10l1.72 1.72a.75.75 0 1 1-1.06 1.06L10 11.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L8.94 10 7.22 8.28a.75.75 0 0 1 1.06-1.06L10 8.94l1.72-1.72a.75.75 0 0 1 1.06 0z"/></svg>',
        question:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm.5 11.5a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.6-3.2c.05-.28.22-.52.47-.7.82-.59 1.38-1.44 1.38-2.35 0-1.52-1.23-2.75-2.75-2.75S6.25 5.73 6.25 7.25h1.5c0-.69.56-1.25 1.25-1.25s1.25.56 1.25 1.25c0 .45-.28.88-.75 1.22-.57.41-.97 1.02-1.07 1.72l-.03.31h1.5z"/></svg>',
        approved:
            '<svg viewBox="2 2 16 16" width="24" height="24"><path d="M10 2a8 8 0 1 0 0 16A8 8 0 0 0 10 2zm3.53 5.97-4.25 4.25a.75.75 0 0 1-1.06 0l-1.75-1.75a.75.75 0 1 1 1.06-1.06l1.22 1.22 3.72-3.72a.75.75 0 0 1 1.06 1.06z"/></svg>',
    };
    function showTip(tip, a, wrap) {
        tip.textContent = a.title;
        tip.style.maxWidth = wrap.offsetWidth * 0.8 + "px";
        tip.style.left = "0px";
        tip.style.top = "0px";
        tip.style.display = "block";

        var wrapW = wrap.offsetWidth;
        var wrapH = wrap.offsetHeight;
        var tipW = tip.offsetWidth;
        var tipH = tip.offsetHeight;

        var dotX = a.x * wrapW;
        var dotY = a.y * wrapH;

        var left = Math.min(Math.max(dotX - tipW / 2, 4), wrapW - tipW - 4);
        var top = dotY + 20;
        if (top + tipH > wrapH - 4) top = dotY - tipH - 16;

        tip.style.left = left + "px";
        tip.style.top = top + "px";
    }
    function annBuild(id, annotations) {
        var wrap = document.getElementById(id);
        if (!wrap) return;
        var tip = wrap.querySelector(".ann-tip");
        var wm = document.createElement("div");
        wm.className = "ann-wm";
        wm.innerHTML = `
          <!-- Built with KitFlight Builder App (kitflight.com).
               If you're reading this — thank you for keeping this link 🙇‍♂️
               It helps other builders find modern tools for their journey. -->
          <a href="https://kitflight.com" target="_blank" rel="noopener" style="color:inherit;text-decoration:none;">KitFlight  App</a>
        `.trim();
        wrap.appendChild(wm);
        annotations.forEach(function (a) {
            var dot = document.createElement("div");
            dot.className = "ann-dot";
            dot.style.background = C[a.style] || "#fff";
            dot.style.left = a.x * 100 + "%";
            dot.style.top = a.y * 100 + "%";
            dot.innerHTML =
                a.style === "number"
                    ? "<span>" + (a.index || "") + "</span>"
                    : a.style === "letter"
                      ? "<span>" + (a.letter || "A") + "</span>"
                      : I[a.style] || "";
            var svg = dot.querySelector("svg");
            if (svg) svg.style.fill = F[a.style] || "#fff";
            dot.addEventListener("mouseenter", function () {
                if (a.title) showTip(tip, a, wrap);
            });
            dot.addEventListener("mouseleave", function () {
                tip.style.display = "none";
            });
            dot.addEventListener(
                "touchstart",
                function (e) {
                    e.preventDefault();
                    if (!a.title) return;
                    if (tip._currentAnnotation === a) {
                        tip.style.display = "none";
                        tip._currentAnnotation = null;
                        return;
                    }
                    tip._currentAnnotation = a;
                    showTip(tip, a, wrap);
                },
                { passive: false },
            );
            wrap.appendChild(dot);
        });
        wrap.addEventListener("touchstart", function (e) {
            if (!e.target.closest(".ann-dot")) {
                tip.style.display = "none";
                tip._currentAnnotation = null;
            }
        });
    }
</script>

<div class="ann" id="ann-assets-c2562fb4-6ac5-4cad-8494-6796d4663a8c-jpg">
    <img src="/assets/C2562FB4-6AC5-4CAD-8494-6796D4663A8C.jpg" alt="Frontansicht auf das Bleigewicht" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Frontansicht auf das Bleigewicht</span>
<script>
    annBuild("ann-assets-c2562fb4-6ac5-4cad-8494-6796d4663a8c-jpg", [
  { "x": 0.4973, "y": 0.4954, "style": "number", "index": 1, "title": "#12 Löcher für die Schrauben vom Gewicht" }
]);
</script></p>

<div class="ann" id="ann-assets-e2a57d63-b87d-4a66-9d70-ee5f32540b55-jpg">
    <img src="/assets/E2A57D63-B87D-4A66-9D70-EE5F32540B55.jpg" alt="Sehr langer Bohrer für eine sonst blöde Stelle" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Sehr langer Bohrer für eine sonst blöde Stelle</span>
<script>
    annBuild("ann-assets-e2a57d63-b87d-4a66-9d70-ee5f32540b55-jpg", []);
</script></p>

<div class="ann" id="ann-assets-aec94251-2b54-42c8-8ae1-3f58ca3d348c-jpg">
    <img src="/assets/AEC94251-2B54-42C8-8AE1-3F58CA3D348C.jpg" alt="Rippe am Spar" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Rippe am Spar</span>
<script>
    annBuild("ann-assets-aec94251-2b54-42c8-8ae1-3f58ca3d348c-jpg", []);
</script></p>

<div class="ann" id="ann-assets-873eb2a7-90ae-47a2-85b7-be48e8db676b-jpg">
    <img src="/assets/873EB2A7-90AE-47A2-85B7-BE48E8DB676B.jpg" alt="Jetzt mit Bleigewicht" />
    <div class="ann-tip"></div>
</div>
<p><span class="ann-caption">Jetzt mit Bleigewicht</span>
<script>
    annBuild("ann-assets-873eb2a7-90ae-47a2-85b7-be48e8db676b-jpg", []);
</script></p>]]></content><author><name>Florian Brandes</name><email>info@traumvomfliegen.de</email></author><category term="Work Log" /><category term="Empennage" /><category term="Elevator" /><summary type="html"><![CDATA[Heute wurde das Skelett des linken Höhenruders begonnen. Diesmal musste immerhin das Bleigewicht nicht gekürzt werden]]></summary></entry></feed>