Regeneracja: 19 kart w pages/, graf 18 konceptów + 20 external

Karta zbiorcza pages/index.html grupowała tylko korzeń i oferty/ —
dziewięć konceptów wariantów dostawało własne karty, ale nie było ich
na liście. Grupowanie idzie teraz po katalogach najwyższego poziomu,
a nazwa grupy to pierwszy nagłówek index.md tego katalogu, więc kolejny
region wystarczy dodać do bundle'a, żeby pojawił się tu sam.

Linki wariantów w root index.md prowadzą do region.md, nie do index.md
podkatalogów: pliki zarezerwowane nie mają kart, więc w pages/ taki
odnośnik degenerował się do linku na samego siebie.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
oskar 2026-08-03 16:23:25 +02:00
parent f4d69867cd
commit ae9d170ba3
15 changed files with 792 additions and 6 deletions

View file

@ -442,11 +442,39 @@ def render_page(concept: Concept, pages: dict[str, str]) -> str:
return _page_shell(concept.title, concept.id.count("/"), content)
_INDEX_HEADING_RE = re.compile(r"^#\s+(.+)$", re.M)
def group_heading(dirname: str) -> str:
"""Nagłówek grupy = pierwszy nagłówek `index.md` katalogu (§8).
Indexy podkatalogów same nazywają swoją zawartość, więc karta zbiorcza
nie musi mieć zaszytej listy katalogów dorzucenie nowego regionu do
bundle'a wystarczy, żeby pojawił się tu z własną nazwą.
"""
index = BUNDLE_ROOT / dirname / "index.md"
if index.is_file():
match = _INDEX_HEADING_RE.search(index.read_text(encoding="utf-8"))
if match:
return match.group(1).strip()
return dirname
def render_index(concepts: list[Concept]) -> str:
"""Karta zbiorcza: koncepty z korzenia, potem grupa na katalog najwyższego
poziomu. Każdy koncept bundle'a ląduje w dokładnie jednej grupie."""
by_dir: dict[str, list[Concept]] = {}
for concept in concepts:
if "/" in concept.id:
by_dir.setdefault(concept.id.split("/", 1)[0], []).append(concept)
groups: list[tuple[str, list[Concept]]] = [
("Wyjazd i wiedza ogólna", [c for c in concepts if "/" not in c.id]),
("Oferty noclegowe", [c for c in concepts if c.id.startswith("oferty/")]),
("Wyjazd i wiedza ogólna", [c for c in concepts if "/" not in c.id])
]
for dirname in sorted(by_dir):
# region.md przed oferty/* — płycej w drzewie znaczy ogólniej.
items = sorted(by_dir[dirname], key=lambda c: (c.id.count("/"), c.id))
groups.append((group_heading(dirname), items))
sections = []
for heading, items in groups:
if not items:

View file

@ -17,8 +17,8 @@ okf_version: "0.1"
# Warianty alternatywne
* [Ischgl / Paznaun](/ischgl/index.md) - Wariant "Ischgl w budżecie": jazda w Silvretta Arenie (239 km) i Samnaun, nocleg w Kappl; skipass najdroższy z czterech wariantów, bo zniżka młodzieżowa kończy się przed 17. rokiem życia.
* [Kronplatz / Plan de Corones](/kronplatz/index.md) - Wariant "Dolomity bez powtórki Sella Rondy": 121 km na jednej górze plus cały Dolomiti Superski w karnecie, baza w tanim Olang/Valdaora, junior do 18 lat.
* [Serfaus-Fiss-Ladis](/sfl/index.md) - Najbardziej rodzinny wariant i najtańszy budżetowo: 214 km na słonecznym płaskowyżu, a termin 1623.01 to u nich oficjalnie niski sezon.
* [Ischgl / Silvretta Arena + dolina Paznaun](/ischgl/region.md) - Wariant alternatywny: 239 km Silvretta Areny z jazdą do bezcłowego Samnaun, nocleg w tańszym Kappl — skipass zweryfikowany na 26/27, bez zniżki dla 17-latków.
* [Kronplatz / Plan de Corones (Południowy Tyrol)](/kronplatz/region.md) - Wariant alternatywny: 121 km na jednej górze plus cały Dolomiti Superski w karnecie, baza w tanim Olang/Valdaora, junior do 18 lat bez dopłaty.
* [Serfaus-Fiss-Ladis (SFL)](/sfl/region.md) - Wariant alternatywny i najtańszy budżetowo: 214 km na słonecznym płaskowyżu, infrastruktura skrojona pod rodziny, a termin 1623.01 to u nich oficjalnie niski sezon.
Porównanie wszystkich czterech wariantów obok siebie → [wyjazd](/wyjazd.md).

4
log.md
View file

@ -1,5 +1,9 @@
# Update Log
## 2026-08-03
* **Update**: Scalenie paczki `ski-2027-kb` (skonsumowana i usunięta) — do bundle'a weszły trzy warianty alternatywne: [Ischgl/Paznaun](/ischgl/region.md), [Kronplatz](/kronplatz/region.md) i [Serfaus-Fiss-Ladis](/sfl/region.md), każdy z dwiema kartami noclegów w `<region>/oferty/`. Nowe koncepty znormalizowane do konwencji bundle'a (`title`/`description`/`timestamp`/`tags` przed polami producenta), dołożone indexy podkatalogów. Tabela porównawcza czterech wariantów i wnioski przekrojowe trafiły do [wyjazdu](/wyjazd.md), listing wariantów do [index.md](/index.md). Regeneracja: 18 konceptów, 20 linków zewnętrznych, 41 krawędzi, 19 kart w `pages/`.
## 2026-07-31
* **Initialization**: Utworzenie bundle'a wiedzy o wyjeździe — [region](/region.md), [szablon maila](/szablon-maila.md) i sześć kart noclegowych w [oferty/](/oferty/index.md).

View file

@ -65,8 +65,14 @@ footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
<p class="lead">Karty konceptów bundle'a — pełna treść każdego dokumentu (ceny, dostępność, plusy/minusy). Struktura powiązań: <a href="../viz.html">graf</a>.</p>
<h2>Wyjazd i wiedza ogólna</h2>
<ul class="cards"><li><a href="region.html">Skicircus Saalbach-Hinterglemm-Leogang-Fieberbrunn</a> <span class="chip">region</span><p>Wszystko poza noclegiem: teren narciarski, skipassy ALPIN CARD, dojazd z Warszawy, analiza terminów, koszty życia i budżet całkowity grupy.</p></li><li><a href="szablon-maila.html">Szablon zapytania grupowego (EN)</a> <span class="chip">narzedzie</span><p>Gotowy angielski mail z zapytaniem o 4 apartamenty dla 14 osób w terminie 1623.01.2027 wraz z notatkami negocjacyjnymi.</p></li><li><a href="wyjazd.html">Ski 2027 — Skicircus Saalbach</a> <span class="chip">Trip</span><p>Wyjazd narciarski 4 rodzin (14 osób) z Warszawy do Skicircus Saalbach w styczniu 2027, z celem budżetowym ~2 000 € za nocleg na rodzinę.</p></li></ul>
<h2>Wariant Ischgl / Paznaun</h2>
<ul class="cards"><li><a href="ischgl/region.html">Ischgl / Silvretta Arena + dolina Paznaun</a> <span class="chip">region</span><p>Wariant alternatywny: 239 km Silvretta Areny z jazdą do bezcłowego Samnaun, nocleg w tańszym Kappl — skipass zweryfikowany na 26/27, bez zniżki dla 17-latków.</p></li><li><a href="ischgl/oferty/apartment-brandau-kappl.html">Apartment Brandau (Kappl)</a> <span class="chip">SZACUNEK</span> <span class="chip">oferta</span><p>Rodzinny dom z sześcioma apartamentami w Kappl — bierzemy cztery, ceny doliny zamiast cen Ischgl, PLAN A wariantu Ischgl.</p></li><li><a href="ischgl/oferty/apartments-kappl.html">Apartments Kappl</a> <span class="chip">SZACUNEK</span> <span class="chip">oferta</span><p>Tyrolski dom apartamentowy 100 m od przystanku skibusa bez przesiadki do Ischgl — liczba wolnych jednostek do potwierdzenia, PLAN B wariantu Ischgl.</p></li></ul>
<h2>Wariant Kronplatz / Plan de Corones</h2>
<ul class="cards"><li><a href="kronplatz/region.html">Kronplatz / Plan de Corones (Południowy Tyrol)</a> <span class="chip">region</span><p>Wariant alternatywny: 121 km na jednej górze plus cały Dolomiti Superski w karnecie, baza w tanim Olang/Valdaora, junior do 18 lat bez dopłaty.</p></li><li><a href="kronplatz/oferty/haeuslerhof-valdaora.html">Häuslerhof (Valdaora)</a> <span class="chip">SZACUNEK</span> <span class="chip">oferta</span><p>Gospodarstwo z dokładnie czterema apartamentami — grupa zajmuje cały obiekt, anulacja bezpłatna do 2 miesięcy przed, PLAN A wariantu Kronplatz.</p></li><li><a href="kronplatz/oferty/residence-corones-valdaora.html">Residence Corones (Valdaora)</a> <span class="chip">SZACUNEK</span> <span class="chip">oferta</span><p>Rezydencja w centrum Valdaory z przystankiem skibusa przed domem i Digital Guestpassem w cenie — PLAN B wariantu Kronplatz.</p></li></ul>
<h2>Oferty noclegowe</h2>
<ul class="cards"><li><a href="oferty/alpenparks-rehrenberg.html">AlpenParks Apartments Rehrenberg</a> <span class="chip">SZACUNEK</span> <span class="chip">oferta</span><p>Najtańszy nowy obiekt na liście — przestronne apartamenty z prywatnymi saunami w Viehhofen, wariant rezerwowy o mieszanych opiniach, PLAN C.</p></li><li><a href="oferty/alpenparks-sonnleiten.html">AlpenParks Hotel &amp; Apartment Sonnleiten</a> <span class="chip">SZACUNEK</span> <span class="chip">oferta</span><p>Duży aparthotel ~2 min pieszo od stoku w Saalbach, z basenem i sauną w cenie — największa szansa na 4 wolne apartamenty w jednym tygodniu.</p></li><li><a href="oferty/dom-dla-grupy.html">Duży dom wakacyjny 1214 os. (do wyszukania)</a> <span class="chip">SZACUNEK</span> <span class="chip">oferta-koncept</span><p>Koncept wynajęcia jednego domu wakacyjnego dla całej grupy zamiast czterech osobnych apartamentów — klimat chaletowy w połowie ceny Glemm Lodge.</p></li><li><a href="oferty/glemm-lodge.html">Glemm Lodge Apartments ⭐⭐⭐⭐</a> <span class="chip">ZWERYFIKOWANE (cennik + kalendarz obiektu, stan 31.07.2026)</span> <span class="chip">oferta</span><p>Jedyna oferta z w pełni zweryfikowanym cennikiem (~4 370 €/rodzinę) — odrzucona budżetowo, służy jako punkt odniesienia cenowego.</p></li><li><a href="oferty/kristall-schattbergxpress.html">Appartementhaus Kristall at SchattbergXpress</a> <span class="chip">SZACUNEK</span> <span class="chip">oferta</span><p>Apartamenty 50 m od gondoli Schattberg X-press w centrum Saalbach — najlepsza lokalizacja w rozważanym budżecie, PLAN A.</p></li><li><a href="oferty/sportchalet-viehhofen.html">Sportchalet Viehhofen</a> <span class="chip">SZACUNEK</span> <span class="chip">oferta</span><p>Kameralny obiekt holenderskich gospodarzy w Viehhofen z oceną 5.0 — najlepszy stosunek ceny do jakości, PLAN B.</p></li></ul>
<h2>Wariant Serfaus-Fiss-Ladis</h2>
<ul class="cards"><li><a href="sfl/region.html">Serfaus-Fiss-Ladis (SFL)</a> <span class="chip">region</span><p>Wariant alternatywny i najtańszy budżetowo: 214 km na słonecznym płaskowyżu, infrastruktura skrojona pod rodziny, a termin 1623.01 to u nich oficjalnie niski sezon.</p></li><li><a href="sfl/oferty/apart-ideal-serfaus.html">Apart Ideal (Serfaus)</a> <span class="chip">SZACUNEK</span> <span class="chip">oferta</span><p>Sześć apartamentów z oceną 4.8/5, 50 m od podziemnego metra w Serfaus — pełne doświadczenie regionu za dopłatą, PLAN B wariantu SFL.</p></li><li><a href="sfl/oferty/haus-central-ladis.html">Haus Central (Apart Central), Ladis</a> <span class="chip">SZACUNEK</span> <span class="chip">oferta</span><p>Dokładnie cztery apartamenty z balkonami przy kolejce Sonnenbahn w najtańszej wsi płaskowyżu — cały dom dla grupy, PLAN A wariantu SFL.</p></li></ul>
<footer>Wygenerowane z bundle'a OKF przez <code>gen_pages.py</code> — nie edytuj
tych plików, edytuj <code>.md</code> i przegeneruj.</footer>
</body>

View file

@ -0,0 +1,80 @@
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Apartment Brandau (Kappl) — Ski 2027 — Skicircus Saalbach</title>
<style>
:root { color-scheme: light dark; --fg:#0f172a; --muted:#64748b; --bg:#ffffff;
--line:#e2e8f0; --accent:#0d9488; --chip:#f1f5f9; --quote:#f8fafc; }
@media (prefers-color-scheme: dark) {
:root { --fg:#e2e8f0; --muted:#94a3b8; --bg:#0f172a; --line:#334155;
--accent:#2dd4bf; --chip:#1e293b; --quote:#1e293b; }
}
* { box-sizing: border-box; }
body { margin: 0 auto; padding: 1.25rem 1rem 4rem; max-width: 46rem;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 17px; line-height: 1.55; color: var(--fg); background: var(--bg);
-webkit-text-size-adjust: 100%; }
nav { font-size: .85rem; margin-bottom: 1.25rem; }
nav a { color: var(--muted); }
h1 { font-size: 1.55rem; line-height: 1.25; margin: 0 0 .35rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; padding-top: .5rem;
border-top: 1px solid var(--line); }
h3 { font-size: 1.02rem; margin: 1.4rem 0 .4rem; }
p, ul, ol { margin: .6rem 0; }
ul, ol { padding-left: 1.3rem; }
li { margin: .25rem 0; }
li.task { list-style: none; margin-left: -1.3rem; }
li.task input { margin-right: .45rem; }
a { color: var(--accent); }
a.ext::after { content: " ↗"; font-size: .8em; color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em;
background: var(--chip); padding: .1em .35em; border-radius: 4px; }
pre { background: var(--chip); padding: .75rem; border-radius: 6px; overflow-x: auto; }
pre code { background: none; padding: 0; }
blockquote { margin: .9rem 0; padding: .6rem .9rem; background: var(--quote);
border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; }
blockquote p { margin: .2rem 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.table-wrap { overflow-x: auto; margin: .8rem 0; -webkit-overflow-scrolling: touch; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { border: 1px solid var(--line); padding: .4rem .55rem; vertical-align: top; }
th { background: var(--chip); font-weight: 600; }
.chip { display: inline-block; background: var(--chip); color: var(--muted);
font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
padding: .15rem .5rem; border-radius: 999px; }
.lead { color: var(--muted); margin: .35rem 0 1.25rem; }
.meta { margin: 0 0 1.5rem; }
.meta summary { cursor: pointer; font-size: .85rem; color: var(--muted);
padding: .3rem 0; }
.meta table { font-size: .85rem; }
.meta th { width: 38%; text-align: left; font-weight: 500; word-break: break-word; }
.cards { list-style: none; padding: 0; margin: 0; }
.cards li { border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem;
margin: .6rem 0; }
.cards a { font-weight: 600; text-decoration: none; }
.cards p { margin: .3rem 0 0; font-size: .9rem; color: var(--muted); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
font-size: .78rem; color: var(--muted); }
</style>
</head>
<body>
<nav><a href="../../index.html">← Wszystkie karty</a> · <a href="../../../viz.html">Graf</a></nav>
<span class="chip">oferta</span>
<h1>Apartment Brandau (Kappl) — PLAN A</h1>
<p class="lead">Rodzinny dom z sześcioma apartamentami w Kappl — bierzemy cztery, ceny doliny zamiast cen Ischgl, PLAN A wariantu Ischgl.</p>
<details class="meta" open><summary>Metadane (frontmatter)</summary><div class="table-wrap"><table><tbody><tr><th>type</th><td>oferta</td></tr><tr><th>title</th><td>Apartment Brandau (Kappl)</td></tr><tr><th>description</th><td>Rodzinny dom z sześcioma apartamentami w Kappl — bierzemy cztery, ceny doliny zamiast cen Ischgl, PLAN A wariantu Ischgl.</td></tr><tr><th>timestamp</th><td>2026-08-01T00:00:00Z</td></tr><tr><th>tags</th><td>nocleg, ischgl, kappl, plan-a</td></tr><tr><th>id</th><td>apartment-brandau-kappl</td></tr><tr><th>nazwa</th><td>Apartment Brandau</td></tr><tr><th>operator</th><td>prywatna rodzina</td></tr><tr><th>miejscowosc</th><td>Kappl (Paznaun)</td></tr><tr><th>odleglosc_od_wyciagu</th><td>skibus (przystanek blisko domu) → Kappl / Ischgl ~10 min</td></tr><tr><th>uklad_dla_grupy</th><td>6 apartamentów w jednym domu → 4 dla nas</td></tr><tr><th>cena_za_apartament_tydzien</th><td>~9001 300 € (szacunek, styczeń)</td></tr><tr><th>koszt_rodzina_2p2</th><td>~9001 300 €</td></tr><tr><th>koszt_rodzina_2p1</th><td>~7501 100 €</td></tr><tr><th>status_ceny</th><td>SZACUNEK — wycena mailowo</td></tr><tr><th>priorytet</th><td>PLAN A dla wariantu Ischgl</td></tr><tr><th>www</th><td><a href="http://www.kappl-apartment-brandau.at" target="_blank" rel="noopener" class="ext">http://www.kappl-apartment-brandau.at</a></td></tr><tr><th>ostatnia_aktualizacja</th><td>2026-08-01</td></tr></tbody></table></div></details>
<h2>W skrócie</h2>
<p>Rodzinnie prowadzony dom z <strong>6 komfortowymi apartamentami</strong> w Kappl — idealna konfiguracja pod 4 rodziny (bierzemy 4 jednostki, dom prawie na wyłączność). Silvretta Arena Ischgl/Samnaun ~10 min autem/skibusem, skibus po całej dolinie bezpłatny.</p>
<h2>Fakty</h2>
<ul><li>Apartamenty z pełnymi aneksami kuchennymi (piekarnik, zmywarka — poza typami 1 i 6), SAT-TV, WLAN, sejf.</li><li>W Kappl: 40 km rodzinnych tras + oświetlony 6-km tor saneczkowy.</li><li>Wyposażenie dla dzieci (krzesełka, łóżeczka).</li></ul>
<h2>Plusy / minusy</h2>
<p><strong>+</strong> układ 6 apartamentów = klimat "nasz dom"; ceny Kappl zamiast Ischgl; tor saneczkowy na wieczory; parking. <strong></strong> codzienna logistyka skibus/auto do Silvretta Areny; wieczorne życie tylko w Ischgl (10 min taksówką).</p>
<h2>Do zrobienia</h2>
<ul><li class="task"><input type="checkbox" disabled> Mail (szablon EN): 4 apartamenty, 1623.01.2027, konfiguracja 4+4+3+3, cena grupowa.</li><li class="task"><input type="checkbox" disabled> Alternatywy w Kappl, jeśli brak miejsc: Apartments Kappl (apartments.kappl.at — skibus 100 m, narciarnia z suszarką), Ferienwohnen Mattle (centrum, blisko trasy i skibusa), Apart Avenzio (3 min od gondoli Kappl).</li></ul>
<footer>Wygenerowane z bundle'a OKF przez <code>gen_pages.py</code> — nie edytuj
tych plików, edytuj <code>.md</code> i przegeneruj.</footer>
</body>
</html>

View file

@ -0,0 +1,78 @@
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Apartments Kappl — Ski 2027 — Skicircus Saalbach</title>
<style>
:root { color-scheme: light dark; --fg:#0f172a; --muted:#64748b; --bg:#ffffff;
--line:#e2e8f0; --accent:#0d9488; --chip:#f1f5f9; --quote:#f8fafc; }
@media (prefers-color-scheme: dark) {
:root { --fg:#e2e8f0; --muted:#94a3b8; --bg:#0f172a; --line:#334155;
--accent:#2dd4bf; --chip:#1e293b; --quote:#1e293b; }
}
* { box-sizing: border-box; }
body { margin: 0 auto; padding: 1.25rem 1rem 4rem; max-width: 46rem;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 17px; line-height: 1.55; color: var(--fg); background: var(--bg);
-webkit-text-size-adjust: 100%; }
nav { font-size: .85rem; margin-bottom: 1.25rem; }
nav a { color: var(--muted); }
h1 { font-size: 1.55rem; line-height: 1.25; margin: 0 0 .35rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; padding-top: .5rem;
border-top: 1px solid var(--line); }
h3 { font-size: 1.02rem; margin: 1.4rem 0 .4rem; }
p, ul, ol { margin: .6rem 0; }
ul, ol { padding-left: 1.3rem; }
li { margin: .25rem 0; }
li.task { list-style: none; margin-left: -1.3rem; }
li.task input { margin-right: .45rem; }
a { color: var(--accent); }
a.ext::after { content: " ↗"; font-size: .8em; color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em;
background: var(--chip); padding: .1em .35em; border-radius: 4px; }
pre { background: var(--chip); padding: .75rem; border-radius: 6px; overflow-x: auto; }
pre code { background: none; padding: 0; }
blockquote { margin: .9rem 0; padding: .6rem .9rem; background: var(--quote);
border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; }
blockquote p { margin: .2rem 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.table-wrap { overflow-x: auto; margin: .8rem 0; -webkit-overflow-scrolling: touch; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { border: 1px solid var(--line); padding: .4rem .55rem; vertical-align: top; }
th { background: var(--chip); font-weight: 600; }
.chip { display: inline-block; background: var(--chip); color: var(--muted);
font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
padding: .15rem .5rem; border-radius: 999px; }
.lead { color: var(--muted); margin: .35rem 0 1.25rem; }
.meta { margin: 0 0 1.5rem; }
.meta summary { cursor: pointer; font-size: .85rem; color: var(--muted);
padding: .3rem 0; }
.meta table { font-size: .85rem; }
.meta th { width: 38%; text-align: left; font-weight: 500; word-break: break-word; }
.cards { list-style: none; padding: 0; margin: 0; }
.cards li { border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem;
margin: .6rem 0; }
.cards a { font-weight: 600; text-decoration: none; }
.cards p { margin: .3rem 0 0; font-size: .9rem; color: var(--muted); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
font-size: .78rem; color: var(--muted); }
</style>
</head>
<body>
<nav><a href="../../index.html">← Wszystkie karty</a> · <a href="../../../viz.html">Graf</a></nav>
<span class="chip">oferta</span>
<h1>Apartments Kappl — PLAN B</h1>
<p class="lead">Tyrolski dom apartamentowy 100 m od przystanku skibusa bez przesiadki do Ischgl — liczba wolnych jednostek do potwierdzenia, PLAN B wariantu Ischgl.</p>
<details class="meta" open><summary>Metadane (frontmatter)</summary><div class="table-wrap"><table><tbody><tr><th>type</th><td>oferta</td></tr><tr><th>title</th><td>Apartments Kappl</td></tr><tr><th>description</th><td>Tyrolski dom apartamentowy 100 m od przystanku skibusa bez przesiadki do Ischgl — liczba wolnych jednostek do potwierdzenia, PLAN B wariantu Ischgl.</td></tr><tr><th>timestamp</th><td>2026-08-01T00:00:00Z</td></tr><tr><th>tags</th><td>nocleg, ischgl, kappl, plan-b</td></tr><tr><th>id</th><td>apartments-kappl</td></tr><tr><th>nazwa</th><td>Apartments Kappl</td></tr><tr><th>operator</th><td>prywatny</td></tr><tr><th>miejscowosc</th><td>Kappl (Paznaun)</td></tr><tr><th>odleglosc_od_wyciagu</th><td>przystanek skibusa 100 m — bez przesiadki do Ischgl, Galtür, See</td></tr><tr><th>uklad_dla_grupy</th><td>kilka apartamentów w jednym domu</td></tr><tr><th>cena_za_apartament_tydzien</th><td>~9001 400 € (szacunek, styczeń)</td></tr><tr><th>koszt_rodzina_2p2</th><td>~9001 400 €</td></tr><tr><th>koszt_rodzina_2p1</th><td>~7501 150 €</td></tr><tr><th>status_ceny</th><td>SZACUNEK — wycena mailowo</td></tr><tr><th>priorytet</th><td>PLAN B dla wariantu Ischgl</td></tr><tr><th>www</th><td><a href="https://www.apartments.kappl.at" target="_blank" rel="noopener" class="ext">https://www.apartments.kappl.at</a></td></tr><tr><th>ostatnia_aktualizacja</th><td>2026-08-01</td></tr></tbody></table></div></details>
<h2>Fakty</h2>
<ul><li>Przystanek skibusa <strong>100 m od domu</strong>, bez przesiadki do Ischgl, Galtür i See.</li><li>Bezpłatna narciarnia z suszarką do butów; WLAN w całym domu; łóżeczko i krzesełko dla najmłodszych gratis.</li></ul>
<h2>Plusy / minusy</h2>
<p><strong>+</strong> logistyka skibusowa najlepsza w Kappl (100 m); typowy tyrolski dom apartamentowy = uczciwe ceny; kontakt EN bez problemu. <strong></strong> liczba jednostek do potwierdzenia (może nie pomieścić 4 rodzin — wtedy podział grupy na 2 domy obok siebie).</p>
<h2>Do zrobienia</h2>
<ul><li class="task"><input type="checkbox" disabled> Mail: ile apartamentów dostępnych 1623.01.2027, konfiguracje łóżek.</li><li class="task"><input type="checkbox" disabled> Jeśli &lt; 4 jednostek: dobrać drugi dom w Kappl (lista alternatyw w karcie Brandau).</li></ul>
<footer>Wygenerowane z bundle'a OKF przez <code>gen_pages.py</code> — nie edytuj
tych plików, edytuj <code>.md</code> i przegeneruj.</footer>
</body>
</html>

89
pages/ischgl/region.html Normal file
View file

@ -0,0 +1,89 @@
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Ischgl / Silvretta Arena + dolina Paznaun — Ski 2027 — Skicircus Saalbach</title>
<style>
:root { color-scheme: light dark; --fg:#0f172a; --muted:#64748b; --bg:#ffffff;
--line:#e2e8f0; --accent:#0d9488; --chip:#f1f5f9; --quote:#f8fafc; }
@media (prefers-color-scheme: dark) {
:root { --fg:#e2e8f0; --muted:#94a3b8; --bg:#0f172a; --line:#334155;
--accent:#2dd4bf; --chip:#1e293b; --quote:#1e293b; }
}
* { box-sizing: border-box; }
body { margin: 0 auto; padding: 1.25rem 1rem 4rem; max-width: 46rem;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 17px; line-height: 1.55; color: var(--fg); background: var(--bg);
-webkit-text-size-adjust: 100%; }
nav { font-size: .85rem; margin-bottom: 1.25rem; }
nav a { color: var(--muted); }
h1 { font-size: 1.55rem; line-height: 1.25; margin: 0 0 .35rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; padding-top: .5rem;
border-top: 1px solid var(--line); }
h3 { font-size: 1.02rem; margin: 1.4rem 0 .4rem; }
p, ul, ol { margin: .6rem 0; }
ul, ol { padding-left: 1.3rem; }
li { margin: .25rem 0; }
li.task { list-style: none; margin-left: -1.3rem; }
li.task input { margin-right: .45rem; }
a { color: var(--accent); }
a.ext::after { content: " ↗"; font-size: .8em; color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em;
background: var(--chip); padding: .1em .35em; border-radius: 4px; }
pre { background: var(--chip); padding: .75rem; border-radius: 6px; overflow-x: auto; }
pre code { background: none; padding: 0; }
blockquote { margin: .9rem 0; padding: .6rem .9rem; background: var(--quote);
border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; }
blockquote p { margin: .2rem 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.table-wrap { overflow-x: auto; margin: .8rem 0; -webkit-overflow-scrolling: touch; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { border: 1px solid var(--line); padding: .4rem .55rem; vertical-align: top; }
th { background: var(--chip); font-weight: 600; }
.chip { display: inline-block; background: var(--chip); color: var(--muted);
font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
padding: .15rem .5rem; border-radius: 999px; }
.lead { color: var(--muted); margin: .35rem 0 1.25rem; }
.meta { margin: 0 0 1.5rem; }
.meta summary { cursor: pointer; font-size: .85rem; color: var(--muted);
padding: .3rem 0; }
.meta table { font-size: .85rem; }
.meta th { width: 38%; text-align: left; font-weight: 500; word-break: break-word; }
.cards { list-style: none; padding: 0; margin: 0; }
.cards li { border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem;
margin: .6rem 0; }
.cards a { font-weight: 600; text-decoration: none; }
.cards p { margin: .3rem 0 0; font-size: .9rem; color: var(--muted); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
font-size: .78rem; color: var(--muted); }
</style>
</head>
<body>
<nav><a href="../index.html">← Wszystkie karty</a> · <a href="../../viz.html">Graf</a></nav>
<span class="chip">region</span>
<h1>Ischgl / Paznaun — informacje o regionie</h1>
<p class="lead">Wariant alternatywny: 239 km Silvretta Areny z jazdą do bezcłowego Samnaun, nocleg w tańszym Kappl — skipass zweryfikowany na 26/27, bez zniżki dla 17-latków.</p>
<details class="meta" open><summary>Metadane (frontmatter)</summary><div class="table-wrap"><table><tbody><tr><th>type</th><td>region</td></tr><tr><th>title</th><td>Ischgl / Silvretta Arena + dolina Paznaun</td></tr><tr><th>description</th><td>Wariant alternatywny: 239 km Silvretta Areny z jazdą do bezcłowego Samnaun, nocleg w tańszym Kappl — skipass zweryfikowany na 26/27, bez zniżki dla 17-latków.</td></tr><tr><th>timestamp</th><td>2026-08-01T00:00:00Z</td></tr><tr><th>tags</th><td>region, ischgl, wariant, skipass, logistyka</td></tr><tr><th>id</th><td>ischgl-paznaun</td></tr><tr><th>nazwa</th><td>Ischgl / Silvretta Arena + dolina Paznaun</td></tr><tr><th>kraj</th><td>Austria</td></tr><tr><th>region</th><td>Tyrol</td></tr><tr><th>sezon</th><td>2026/2027</td></tr><tr><th>grupa</th><td>4 rodziny (2×2+2, 2×2+1) = 14 osób</td></tr><tr><th>wyjazd_z</th><td>Warszawa</td></tr><tr><th>rekomendowany_termin</th><td>1623.01.2027 (alt. 916.01)</td></tr><tr><th>strategia_budzetowa</th><td>mieszkać w Kappl, nie w Ischgl</td></tr><tr><th>ostatnia_aktualizacja</th><td>2026-08-01</td></tr></tbody></table></div></details>
<p>Wariant "Ischgl, ale w budżecie": jeździmy w Silvretta Arenie, mieszkamy w <strong>Kappl</strong> (10 min od Ischgl, skibus gratis). Nocleg w samym Ischgl odrzucony cenowo już na etapie pierwszego porównania.</p>
<h2>Teren</h2>
<ul><li><strong>Silvretta Arena IschglSamnaun: 239 km tras</strong>, jazda do Szwajcarii (bezcłowy Samnaun — tanie zakupy), wysoko położona (1 4002 872 m), pewny śnieg.</li><li><strong>Kappl: 40 km</strong> rodzinnych tras pod domem + oświetlony tor saneczkowy 6 km (hit dla nastolatków wieczorem).</li><li>Skipass VIP obejmuje cały Paznaun (Ischgl, Kappl, See, Galtür) — darmowy skibus łączy wszystkie miejscowości.</li></ul>
<h2>Skipass — VIP Skipass (cennik OFICJALNY 2026/27, zweryfikowany)</h2>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">Taryfa 6 dni</th><th style="text-align:left">Cena 26/27</th></tr></thead><tbody><tr><td style="text-align:left">Dorosły</td><td style="text-align:left"><strong>451 €</strong></td></tr><tr><td style="text-align:left">Dziecko/młodzież 8 &lt;17 lat</td><td style="text-align:left"><strong>257 €</strong></td></tr><tr><td style="text-align:left">⚠️ 17-latek</td><td style="text-align:left">płaci jak dorosły (451 €)</td></tr></tbody></table></div>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">Rodzina</th><th style="text-align:left">Skład</th><th style="text-align:left">Skipassy 6 dni</th></tr></thead><tbody><tr><td style="text-align:left">2+2 (nastolatki &lt;17)</td><td style="text-align:left">2 dorosłych + 2 młodzież</td><td style="text-align:left"><strong>1 416 €</strong></td></tr><tr><td style="text-align:left">2+1</td><td style="text-align:left">2 dorosłych + 1 dziecko</td><td style="text-align:left"><strong>1 159 €</strong></td></tr><tr><td style="text-align:left"><strong>Grupa 14 os. razem</strong></td><td style="text-align:left"></td><td style="text-align:left"><strong>~5 150 €</strong></td></tr></tbody></table></div>
<blockquote><p>⚠️ Kluczowe ryzyko taryfowe: jeśli któryś nastolatek ma ur. przed wyjazdem i kończy 17 lat → +194 € na rodzinę. Sprawdzić roczniki!</p></blockquote>
<h2>Dojazd z Warszawy</h2>
<ul><li>~1 150 km: Katowice → Ostrawa → Brno → Wiedeń/Linz → Innsbruck → Landeck → dolina Paznaun (zjazd Pians). 1112 h.</li><li>Opłaty: winiety CZ + AT, bez odcinków specjalnych. Dojazd ~350 €/auto w obie strony.</li></ul>
<h2>Terminy</h2>
<p>1623.01 i 916.01 — oba poza szczytem, w Ischgl styczeń po 6.01 to najluźniejszy okres; ceny noclegów w Kappl wtedy najniższe w sezonie.</p>
<h2>Koszty życia</h2>
<p>Ischgl = najdroższa gastronomia z 4 porównywanych regionów (obiad na stoku 1825 €/os.). Ratunek: gotowanie w Kappl (Spar w wiosce) + 1 dzień zakupów w bezcłowym Samnaun (nartami!). Taksa ~3 €/os./noc.</p>
<h2>Budżet grupy (14 os., tydzień)</h2>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">Pozycja</th><th style="text-align:left">Kwota</th></tr></thead><tbody><tr><td style="text-align:left">Noclegi (Kappl, 4 apartamenty)</td><td style="text-align:left">4 0005 600 €</td></tr><tr><td style="text-align:left">Skipassy</td><td style="text-align:left">~5 150 €</td></tr><tr><td style="text-align:left">Dojazd (4 auta)</td><td style="text-align:left">~1 400 €</td></tr><tr><td style="text-align:left">Jedzenie + taksy</td><td style="text-align:left">3 0003 800 €</td></tr><tr><td style="text-align:left"><strong>RAZEM</strong></td><td style="text-align:left"><strong>~13 50016 000 €</strong></td></tr></tbody></table></div>
<h2>Ocena względem Saalbach (bazowego planu)</h2>
<p><strong>+</strong> najwyżej położony i najbardziej "wow" teren; Samnaun; tor saneczkowy. <strong></strong> skipass najdroższy (brak zniżki 17+); mieszkanie poza główną areną (codziennie 10 min skibusem do Ischgl); gastronomia najdroższa.</p>
<footer>Wygenerowane z bundle'a OKF przez <code>gen_pages.py</code> — nie edytuj
tych plików, edytuj <code>.md</code> i przegeneruj.</footer>
</body>
</html>

View file

@ -0,0 +1,80 @@
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Häuslerhof (Valdaora) — Ski 2027 — Skicircus Saalbach</title>
<style>
:root { color-scheme: light dark; --fg:#0f172a; --muted:#64748b; --bg:#ffffff;
--line:#e2e8f0; --accent:#0d9488; --chip:#f1f5f9; --quote:#f8fafc; }
@media (prefers-color-scheme: dark) {
:root { --fg:#e2e8f0; --muted:#94a3b8; --bg:#0f172a; --line:#334155;
--accent:#2dd4bf; --chip:#1e293b; --quote:#1e293b; }
}
* { box-sizing: border-box; }
body { margin: 0 auto; padding: 1.25rem 1rem 4rem; max-width: 46rem;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 17px; line-height: 1.55; color: var(--fg); background: var(--bg);
-webkit-text-size-adjust: 100%; }
nav { font-size: .85rem; margin-bottom: 1.25rem; }
nav a { color: var(--muted); }
h1 { font-size: 1.55rem; line-height: 1.25; margin: 0 0 .35rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; padding-top: .5rem;
border-top: 1px solid var(--line); }
h3 { font-size: 1.02rem; margin: 1.4rem 0 .4rem; }
p, ul, ol { margin: .6rem 0; }
ul, ol { padding-left: 1.3rem; }
li { margin: .25rem 0; }
li.task { list-style: none; margin-left: -1.3rem; }
li.task input { margin-right: .45rem; }
a { color: var(--accent); }
a.ext::after { content: " ↗"; font-size: .8em; color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em;
background: var(--chip); padding: .1em .35em; border-radius: 4px; }
pre { background: var(--chip); padding: .75rem; border-radius: 6px; overflow-x: auto; }
pre code { background: none; padding: 0; }
blockquote { margin: .9rem 0; padding: .6rem .9rem; background: var(--quote);
border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; }
blockquote p { margin: .2rem 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.table-wrap { overflow-x: auto; margin: .8rem 0; -webkit-overflow-scrolling: touch; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { border: 1px solid var(--line); padding: .4rem .55rem; vertical-align: top; }
th { background: var(--chip); font-weight: 600; }
.chip { display: inline-block; background: var(--chip); color: var(--muted);
font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
padding: .15rem .5rem; border-radius: 999px; }
.lead { color: var(--muted); margin: .35rem 0 1.25rem; }
.meta { margin: 0 0 1.5rem; }
.meta summary { cursor: pointer; font-size: .85rem; color: var(--muted);
padding: .3rem 0; }
.meta table { font-size: .85rem; }
.meta th { width: 38%; text-align: left; font-weight: 500; word-break: break-word; }
.cards { list-style: none; padding: 0; margin: 0; }
.cards li { border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem;
margin: .6rem 0; }
.cards a { font-weight: 600; text-decoration: none; }
.cards p { margin: .3rem 0 0; font-size: .9rem; color: var(--muted); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
font-size: .78rem; color: var(--muted); }
</style>
</head>
<body>
<nav><a href="../../index.html">← Wszystkie karty</a> · <a href="../../../viz.html">Graf</a></nav>
<span class="chip">oferta</span>
<h1>Häuslerhof (Valdaora) — PLAN A</h1>
<p class="lead">Gospodarstwo z dokładnie czterema apartamentami — grupa zajmuje cały obiekt, anulacja bezpłatna do 2 miesięcy przed, PLAN A wariantu Kronplatz.</p>
<details class="meta" open><summary>Metadane (frontmatter)</summary><div class="table-wrap"><table><tbody><tr><th>type</th><td>oferta</td></tr><tr><th>title</th><td>Häuslerhof (Valdaora)</td></tr><tr><th>description</th><td>Gospodarstwo z dokładnie czterema apartamentami — grupa zajmuje cały obiekt, anulacja bezpłatna do 2 miesięcy przed, PLAN A wariantu Kronplatz.</td></tr><tr><th>timestamp</th><td>2026-08-01T00:00:00Z</td></tr><tr><th>tags</th><td>nocleg, kronplatz, valdaora, plan-a</td></tr><tr><th>id</th><td>haeuslerhof-valdaora</td></tr><tr><th>nazwa</th><td>Häuslerhof</td></tr><tr><th>operator</th><td>gospodarstwo rodzinne (agroturystyka premium)</td></tr><tr><th>miejscowosc</th><td>Valdaora/Olang</td></tr><tr><th>odleglosc_od_wyciagu</th><td>skibus do gondoli Olang (Kronplatz)</td></tr><tr><th>uklad_dla_grupy</th><td>DOKŁADNIE 4 apartamenty (2, 4 lub 6 os.) — cały obiekt dla nas</td></tr><tr><th>cena_za_apartament_tydzien</th><td>~8001 300 € (szacunek, styczeń)</td></tr><tr><th>koszt_rodzina_2p2</th><td>~9001 300 €</td></tr><tr><th>koszt_rodzina_2p1</th><td>~8001 100 €</td></tr><tr><th>status_ceny</th><td>SZACUNEK — wycena mailowo</td></tr><tr><th>priorytet</th><td>PLAN A dla wariantu Kronplatz</td></tr><tr><th>anulacja</th><td>bezpłatnie do 2 mies. przed; 2 mies.4 tyg.: 50%; &lt;4 tyg.: 80%</td></tr><tr><th>www</th><td><a href="https://www.haeuslerhof.it" target="_blank" rel="noopener" class="ext">https://www.haeuslerhof.it</a></td></tr><tr><th>ostatnia_aktualizacja</th><td>2026-08-01</td></tr></tbody></table></div></details>
<h2>W skrócie</h2>
<p>Gospodarstwo z <strong>dokładnie 4 przestronnymi apartamentami</strong> (2, 4 lub 6 os.) — nasza grupa zajmuje cały obiekt. Tyrolski styl, osobne kuchnie, widok na Dolomity, własne produkty na śniadanie (jajka, mleko, chleb).</p>
<h2>Fakty</h2>
<ul><li>4 apartamenty z osobnymi kuchniami, zmywarką, pościelą i ręcznikami w cenie; miejsce na narty; carport; grill.</li><li><strong>Polityka anulacji opublikowana wprost</strong>: bezpłatnie do 2 miesięcy przed przyjazdem (dla 16.01 → deadline ~16.11.2026 — o miesiąc łagodniej niż Glemm Lodge!), potem 50%/80%.</li><li>Łóżeczka dla dzieci na życzenie.</li></ul>
<h2>Plusy / minusy</h2>
<p><strong>+</strong> cały obiekt = klimat wspólnego wyjazdu przy prywatności 4 kuchni; agroturystyczny vibe (zwierzęta, własne produkty) — hit u młodszych dzieci; przewidywalna anulacja; ceny gospodarstwa, nie kurortu. <strong></strong> dojazd na stok skibusem/autem (nie ski-in); wieczorem cicho — rozrywki w Brunico (10 min autem).</p>
<h2>Do zrobienia</h2>
<ul><li class="task"><input type="checkbox" disabled> Mail: wszystkie 4 apartamenty, 1623.01.2027, 4+4+3+3.</li><li class="task"><input type="checkbox" disabled> Potwierdzić odległość do przystanku skibusa i częstotliwość rano.</li></ul>
<footer>Wygenerowane z bundle'a OKF przez <code>gen_pages.py</code> — nie edytuj
tych plików, edytuj <code>.md</code> i przegeneruj.</footer>
</body>
</html>

View file

@ -0,0 +1,78 @@
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Residence Corones (Valdaora) — Ski 2027 — Skicircus Saalbach</title>
<style>
:root { color-scheme: light dark; --fg:#0f172a; --muted:#64748b; --bg:#ffffff;
--line:#e2e8f0; --accent:#0d9488; --chip:#f1f5f9; --quote:#f8fafc; }
@media (prefers-color-scheme: dark) {
:root { --fg:#e2e8f0; --muted:#94a3b8; --bg:#0f172a; --line:#334155;
--accent:#2dd4bf; --chip:#1e293b; --quote:#1e293b; }
}
* { box-sizing: border-box; }
body { margin: 0 auto; padding: 1.25rem 1rem 4rem; max-width: 46rem;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 17px; line-height: 1.55; color: var(--fg); background: var(--bg);
-webkit-text-size-adjust: 100%; }
nav { font-size: .85rem; margin-bottom: 1.25rem; }
nav a { color: var(--muted); }
h1 { font-size: 1.55rem; line-height: 1.25; margin: 0 0 .35rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; padding-top: .5rem;
border-top: 1px solid var(--line); }
h3 { font-size: 1.02rem; margin: 1.4rem 0 .4rem; }
p, ul, ol { margin: .6rem 0; }
ul, ol { padding-left: 1.3rem; }
li { margin: .25rem 0; }
li.task { list-style: none; margin-left: -1.3rem; }
li.task input { margin-right: .45rem; }
a { color: var(--accent); }
a.ext::after { content: " ↗"; font-size: .8em; color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em;
background: var(--chip); padding: .1em .35em; border-radius: 4px; }
pre { background: var(--chip); padding: .75rem; border-radius: 6px; overflow-x: auto; }
pre code { background: none; padding: 0; }
blockquote { margin: .9rem 0; padding: .6rem .9rem; background: var(--quote);
border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; }
blockquote p { margin: .2rem 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.table-wrap { overflow-x: auto; margin: .8rem 0; -webkit-overflow-scrolling: touch; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { border: 1px solid var(--line); padding: .4rem .55rem; vertical-align: top; }
th { background: var(--chip); font-weight: 600; }
.chip { display: inline-block; background: var(--chip); color: var(--muted);
font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
padding: .15rem .5rem; border-radius: 999px; }
.lead { color: var(--muted); margin: .35rem 0 1.25rem; }
.meta { margin: 0 0 1.5rem; }
.meta summary { cursor: pointer; font-size: .85rem; color: var(--muted);
padding: .3rem 0; }
.meta table { font-size: .85rem; }
.meta th { width: 38%; text-align: left; font-weight: 500; word-break: break-word; }
.cards { list-style: none; padding: 0; margin: 0; }
.cards li { border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem;
margin: .6rem 0; }
.cards a { font-weight: 600; text-decoration: none; }
.cards p { margin: .3rem 0 0; font-size: .9rem; color: var(--muted); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
font-size: .78rem; color: var(--muted); }
</style>
</head>
<body>
<nav><a href="../../index.html">← Wszystkie karty</a> · <a href="../../../viz.html">Graf</a></nav>
<span class="chip">oferta</span>
<h1>Residence Corones (Valdaora) — PLAN B</h1>
<p class="lead">Rezydencja w centrum Valdaory z przystankiem skibusa przed domem i Digital Guestpassem w cenie — PLAN B wariantu Kronplatz.</p>
<details class="meta" open><summary>Metadane (frontmatter)</summary><div class="table-wrap"><table><tbody><tr><th>type</th><td>oferta</td></tr><tr><th>title</th><td>Residence Corones (Valdaora)</td></tr><tr><th>description</th><td>Rezydencja w centrum Valdaory z przystankiem skibusa przed domem i Digital Guestpassem w cenie — PLAN B wariantu Kronplatz.</td></tr><tr><th>timestamp</th><td>2026-08-01T00:00:00Z</td></tr><tr><th>tags</th><td>nocleg, kronplatz, valdaora, plan-b</td></tr><tr><th>id</th><td>residence-corones-valdaora</td></tr><tr><th>nazwa</th><td>Residence Corones</td></tr><tr><th>operator</th><td>rodzina Pörnbacher-Oberhuber</td></tr><tr><th>miejscowosc</th><td>Valdaora (centrum)</td></tr><tr><th>odleglosc_od_wyciagu</th><td>przystanek skibusa PRZED domem → 5 min do gondoli Kronplatz</td></tr><tr><th>uklad_dla_grupy</th><td>kilka apartamentów w rezydencji</td></tr><tr><th>cena_za_apartament_tydzien</th><td>~9001 400 € (szacunek, styczeń)</td></tr><tr><th>koszt_rodzina_2p2</th><td>~9001 400 €</td></tr><tr><th>koszt_rodzina_2p1</th><td>~8001 150 €</td></tr><tr><th>status_ceny</th><td>SZACUNEK — wycena mailowo (reception@corones.it)</td></tr><tr><th>priorytet</th><td>PLAN B dla wariantu Kronplatz</td></tr><tr><th>www</th><td><a href="https://corones.it" target="_blank" rel="noopener" class="ext">https://corones.it</a></td></tr><tr><th>ostatnia_aktualizacja</th><td>2026-08-01</td></tr></tbody></table></div></details>
<h2>Fakty</h2>
<ul><li>Apartamenty z balkonami/wykuszami, centrum Valdaory, sklepy pieszo.</li><li><strong>Przystanek skibusa bezpośrednio przed domem, 5 min do wyciągów</strong> Kronplatz.</li><li><strong>Digital Guestpass w cenie</strong>: bezpłatny transport publiczny po całym Południowym Tyrolu + skibus — ułatwia wycieczki (Brunico, San Candido) bez odpalania aut.</li></ul>
<h2>Plusy / minusy</h2>
<p><strong>+</strong> najlepsza logistyka skibusowa w Valdaorze; guestpass = darmowa komunikacja regionalna; rodzinnie prowadzone. <strong></strong> liczba i wielkość jednostek do potwierdzenia pod 4 rodziny; standard klasyczny (nie "designerski").</p>
<h2>Do zrobienia</h2>
<ul><li class="task"><input type="checkbox" disabled> Mail: dostępność 4 jednostek 1623.01.2027.</li><li class="task"><input type="checkbox" disabled> Alternatywy w Olang, jeśli brak: Residence Maximilian (centrum, prywatna sauna w apartamencie), Aparthotel Familiaris (family resort z basenami — wyższa półka, dzieci 018 target), Residence Sonnwies (opcja kolacji w hotelu Markushof obok).</li></ul>
<footer>Wygenerowane z bundle'a OKF przez <code>gen_pages.py</code> — nie edytuj
tych plików, edytuj <code>.md</code> i przegeneruj.</footer>
</body>
</html>

View file

@ -0,0 +1,88 @@
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Kronplatz / Plan de Corones (Południowy Tyrol) — Ski 2027 — Skicircus Saalbach</title>
<style>
:root { color-scheme: light dark; --fg:#0f172a; --muted:#64748b; --bg:#ffffff;
--line:#e2e8f0; --accent:#0d9488; --chip:#f1f5f9; --quote:#f8fafc; }
@media (prefers-color-scheme: dark) {
:root { --fg:#e2e8f0; --muted:#94a3b8; --bg:#0f172a; --line:#334155;
--accent:#2dd4bf; --chip:#1e293b; --quote:#1e293b; }
}
* { box-sizing: border-box; }
body { margin: 0 auto; padding: 1.25rem 1rem 4rem; max-width: 46rem;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 17px; line-height: 1.55; color: var(--fg); background: var(--bg);
-webkit-text-size-adjust: 100%; }
nav { font-size: .85rem; margin-bottom: 1.25rem; }
nav a { color: var(--muted); }
h1 { font-size: 1.55rem; line-height: 1.25; margin: 0 0 .35rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; padding-top: .5rem;
border-top: 1px solid var(--line); }
h3 { font-size: 1.02rem; margin: 1.4rem 0 .4rem; }
p, ul, ol { margin: .6rem 0; }
ul, ol { padding-left: 1.3rem; }
li { margin: .25rem 0; }
li.task { list-style: none; margin-left: -1.3rem; }
li.task input { margin-right: .45rem; }
a { color: var(--accent); }
a.ext::after { content: " ↗"; font-size: .8em; color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em;
background: var(--chip); padding: .1em .35em; border-radius: 4px; }
pre { background: var(--chip); padding: .75rem; border-radius: 6px; overflow-x: auto; }
pre code { background: none; padding: 0; }
blockquote { margin: .9rem 0; padding: .6rem .9rem; background: var(--quote);
border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; }
blockquote p { margin: .2rem 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.table-wrap { overflow-x: auto; margin: .8rem 0; -webkit-overflow-scrolling: touch; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { border: 1px solid var(--line); padding: .4rem .55rem; vertical-align: top; }
th { background: var(--chip); font-weight: 600; }
.chip { display: inline-block; background: var(--chip); color: var(--muted);
font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
padding: .15rem .5rem; border-radius: 999px; }
.lead { color: var(--muted); margin: .35rem 0 1.25rem; }
.meta { margin: 0 0 1.5rem; }
.meta summary { cursor: pointer; font-size: .85rem; color: var(--muted);
padding: .3rem 0; }
.meta table { font-size: .85rem; }
.meta th { width: 38%; text-align: left; font-weight: 500; word-break: break-word; }
.cards { list-style: none; padding: 0; margin: 0; }
.cards li { border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem;
margin: .6rem 0; }
.cards a { font-weight: 600; text-decoration: none; }
.cards p { margin: .3rem 0 0; font-size: .9rem; color: var(--muted); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
font-size: .78rem; color: var(--muted); }
</style>
</head>
<body>
<nav><a href="../index.html">← Wszystkie karty</a> · <a href="../../viz.html">Graf</a></nav>
<span class="chip">region</span>
<h1>Kronplatz — informacje o regionie</h1>
<p class="lead">Wariant alternatywny: 121 km na jednej górze plus cały Dolomiti Superski w karnecie, baza w tanim Olang/Valdaora, junior do 18 lat bez dopłaty.</p>
<details class="meta" open><summary>Metadane (frontmatter)</summary><div class="table-wrap"><table><tbody><tr><th>type</th><td>region</td></tr><tr><th>title</th><td>Kronplatz / Plan de Corones (Południowy Tyrol)</td></tr><tr><th>description</th><td>Wariant alternatywny: 121 km na jednej górze plus cały Dolomiti Superski w karnecie, baza w tanim Olang/Valdaora, junior do 18 lat bez dopłaty.</td></tr><tr><th>timestamp</th><td>2026-08-01T00:00:00Z</td></tr><tr><th>tags</th><td>region, kronplatz, wariant, skipass, logistyka</td></tr><tr><th>id</th><td>kronplatz</td></tr><tr><th>nazwa</th><td>Kronplatz / Plan de Corones (Południowy Tyrol)</td></tr><tr><th>kraj</th><td>Włochy</td></tr><tr><th>region</th><td>Val Pusteria / Pustertal</td></tr><tr><th>sezon</th><td>2026/2027</td></tr><tr><th>grupa</th><td>4 rodziny (2×2+2, 2×2+1) = 14 osób</td></tr><tr><th>wyjazd_z</th><td>Warszawa</td></tr><tr><th>rekomendowany_termin</th><td>1623.01.2027 (alt. 916.01)</td></tr><tr><th>strategia_budzetowa</th><td>baza w Olang/Valdaora — taniej niż Val Gardena, skibus pod gondolę</td></tr><tr><th>ostatnia_aktualizacja</th><td>2026-08-01</td></tr></tbody></table></div></details>
<p>Wariant "Dolomity, ale nie Sella Ronda": ta sama jakość karnetu Dolomiti Superski i widoków, zupełnie inny teren. Baza: <strong>Olang/Valdaora</strong> u podnóża góry — wyraźnie taniej niż doliny Sella Rondy.</p>
<h2>Teren</h2>
<ul><li><strong>Kronplatz: 121 km tras</strong> na jednej górze — długie, szerokie zjazdy we wszystkich kierunkach; słynne czarne (Sylvester, Herrnegg, Piculin); snowpark; kolejki z każdej strony góry (Brunico, Olang, San Vigilio).</li><li><strong>Karnet = cały Dolomiti Superski (1 200 km)</strong>: kolejką Piculin zjazd do <strong>Alta Badii</strong> (bez auta!), autem 4050 min: Cortina, 3 Zinnen — gotowe wycieczki na 12 dni.</li><li>Nowoczesna infrastruktura (Kronplatz uchodzi za najlepiej "okablowaną" górę Włoch), MMM Corones (muzeum Messnera) na szczycie.</li></ul>
<h2>Skipass — Dolomiti Superski</h2>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">Taryfa 6 dni (1623.01 = sezon "regular", taniej niż szczyt)</th><th style="text-align:left">Szacunek 26/27</th></tr></thead><tbody><tr><td style="text-align:left">Dorosły</td><td style="text-align:left">~400435 €</td></tr><tr><td style="text-align:left">Junior (do 18 lat, rocznik!) 30%</td><td style="text-align:left">~280305 €</td></tr><tr><td style="text-align:left">Online ≥2 dni wcześniej</td><td style="text-align:left">5%</td></tr></tbody></table></div>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">Rodzina</th><th style="text-align:left">Skipassy 6 dni</th></tr></thead><tbody><tr><td style="text-align:left">2+2 (junior do 18 — obejmuje też 17-latka!)</td><td style="text-align:left">~1 3601 480 €</td></tr><tr><td style="text-align:left">2+1</td><td style="text-align:left">~1 0801 175 €</td></tr><tr><td style="text-align:left"><strong>Grupa 14 os.</strong></td><td style="text-align:left"><strong>~4 9005 300 €</strong> (online 5%)</td></tr></tbody></table></div>
<h2>Dojazd z Warszawy</h2>
<ul><li>~1 050 km — najkrótszy z włoskich wariantów: Wiedeń → Salzburg → Kitzbühel/Felbertauern <strong>albo</strong> Innsbruck → Brenner → Val Pusteria.</li><li>Opłaty: winiety CZ+AT; wariant Brenner: A13 (~12 €/stronę) + kawałek A22; wariant Felbertauern: tunel ~13 €/stronę. Dojazd ~370 €/auto.</li></ul>
<h2>Terminy</h2>
<p>1623.01: po feriach włoskich (Befana do 6.01) — luźno; Superski w cenie "regular season". Idealne okno.</p>
<h2>Koszty życia</h2>
<p>Południowy Tyrol: obiad na stoku 1420 €, pizza w dolinie 913 €, zakupy w Brunico (Eurospar, Lidl). Taksa ~22,50 €/os./noc (dorośli).</p>
<h2>Budżet grupy (14 os., tydzień)</h2>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">Pozycja</th><th style="text-align:left">Kwota</th></tr></thead><tbody><tr><td style="text-align:left">Noclegi (Olang, 4 apartamenty)</td><td style="text-align:left">4 0006 000 €</td></tr><tr><td style="text-align:left">Skipassy</td><td style="text-align:left">~4 9005 300 €</td></tr><tr><td style="text-align:left">Dojazd (4 auta)</td><td style="text-align:left">~1 480 €</td></tr><tr><td style="text-align:left">Jedzenie + taksy</td><td style="text-align:left">2 8003 500 €</td></tr><tr><td style="text-align:left"><strong>RAZEM</strong></td><td style="text-align:left"><strong>~13 20016 300 €</strong></td></tr></tbody></table></div>
<h2>Ocena względem Saalbach</h2>
<p><strong>+</strong> Dolomity bez powtórki Sella Rondy; wycieczki Alta Badia/Cortina na karnecie; junior do 18 lat (17-latek bez dopłaty); tania dolina. <strong></strong> "objazdowość" wymaga kolejki/auta (jedna góra na co dzień); dojazd ~100 km dłuższy niż do Saalbach.</p>
<footer>Wygenerowane z bundle'a OKF przez <code>gen_pages.py</code> — nie edytuj
tych plików, edytuj <code>.md</code> i przegeneruj.</footer>
</body>
</html>

View file

@ -0,0 +1,80 @@
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Apart Ideal (Serfaus) — Ski 2027 — Skicircus Saalbach</title>
<style>
:root { color-scheme: light dark; --fg:#0f172a; --muted:#64748b; --bg:#ffffff;
--line:#e2e8f0; --accent:#0d9488; --chip:#f1f5f9; --quote:#f8fafc; }
@media (prefers-color-scheme: dark) {
:root { --fg:#e2e8f0; --muted:#94a3b8; --bg:#0f172a; --line:#334155;
--accent:#2dd4bf; --chip:#1e293b; --quote:#1e293b; }
}
* { box-sizing: border-box; }
body { margin: 0 auto; padding: 1.25rem 1rem 4rem; max-width: 46rem;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 17px; line-height: 1.55; color: var(--fg); background: var(--bg);
-webkit-text-size-adjust: 100%; }
nav { font-size: .85rem; margin-bottom: 1.25rem; }
nav a { color: var(--muted); }
h1 { font-size: 1.55rem; line-height: 1.25; margin: 0 0 .35rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; padding-top: .5rem;
border-top: 1px solid var(--line); }
h3 { font-size: 1.02rem; margin: 1.4rem 0 .4rem; }
p, ul, ol { margin: .6rem 0; }
ul, ol { padding-left: 1.3rem; }
li { margin: .25rem 0; }
li.task { list-style: none; margin-left: -1.3rem; }
li.task input { margin-right: .45rem; }
a { color: var(--accent); }
a.ext::after { content: " ↗"; font-size: .8em; color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em;
background: var(--chip); padding: .1em .35em; border-radius: 4px; }
pre { background: var(--chip); padding: .75rem; border-radius: 6px; overflow-x: auto; }
pre code { background: none; padding: 0; }
blockquote { margin: .9rem 0; padding: .6rem .9rem; background: var(--quote);
border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; }
blockquote p { margin: .2rem 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.table-wrap { overflow-x: auto; margin: .8rem 0; -webkit-overflow-scrolling: touch; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { border: 1px solid var(--line); padding: .4rem .55rem; vertical-align: top; }
th { background: var(--chip); font-weight: 600; }
.chip { display: inline-block; background: var(--chip); color: var(--muted);
font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
padding: .15rem .5rem; border-radius: 999px; }
.lead { color: var(--muted); margin: .35rem 0 1.25rem; }
.meta { margin: 0 0 1.5rem; }
.meta summary { cursor: pointer; font-size: .85rem; color: var(--muted);
padding: .3rem 0; }
.meta table { font-size: .85rem; }
.meta th { width: 38%; text-align: left; font-weight: 500; word-break: break-word; }
.cards { list-style: none; padding: 0; margin: 0; }
.cards li { border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem;
margin: .6rem 0; }
.cards a { font-weight: 600; text-decoration: none; }
.cards p { margin: .3rem 0 0; font-size: .9rem; color: var(--muted); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
font-size: .78rem; color: var(--muted); }
</style>
</head>
<body>
<nav><a href="../../index.html">← Wszystkie karty</a> · <a href="../../../viz.html">Graf</a></nav>
<span class="chip">oferta</span>
<h1>Apart Ideal (Serfaus) — PLAN B</h1>
<p class="lead">Sześć apartamentów z oceną 4.8/5, 50 m od podziemnego metra w Serfaus — pełne doświadczenie regionu za dopłatą, PLAN B wariantu SFL.</p>
<details class="meta" open><summary>Metadane (frontmatter)</summary><div class="table-wrap"><table><tbody><tr><th>type</th><td>oferta</td></tr><tr><th>title</th><td>Apart Ideal (Serfaus)</td></tr><tr><th>description</th><td>Sześć apartamentów z oceną 4.8/5, 50 m od podziemnego metra w Serfaus — pełne doświadczenie regionu za dopłatą, PLAN B wariantu SFL.</td></tr><tr><th>timestamp</th><td>2026-08-01T00:00:00Z</td></tr><tr><th>tags</th><td>nocleg, sfl, serfaus, plan-b</td></tr><tr><th>id</th><td>apart-ideal-serfaus</td></tr><tr><th>nazwa</th><td>Apart Ideal</td></tr><tr><th>operator</th><td>Daniel &amp; Nina (rodzina Purtscher)</td></tr><tr><th>miejscowosc</th><td>Serfaus (obrzeża)</td></tr><tr><th>odleglosc_od_wyciagu</th><td>50 m do stacji metra 'Tube' → &lt;10 min do kolejki</td></tr><tr><th>ocena</th><td>4.8/5 (13 opinii, portal regionu)</td></tr><tr><th>uklad_dla_grupy</th><td>6 apartamentów w domu → 4 dla nas</td></tr><tr><th>cena_za_apartament_tydzien</th><td>~1 3001 800 € (szacunek; Serfaus = najdroższa wieś)</td></tr><tr><th>koszt_rodzina_2p2</th><td>~1 3001 800 €</td></tr><tr><th>koszt_rodzina_2p1</th><td>~1 1001 500 €</td></tr><tr><th>status_ceny</th><td>SZACUNEK — wycena przez portal regionu</td></tr><tr><th>priorytet</th><td>PLAN B dla wariantu SFL</td></tr><tr><th>www</th><td><a href="https://serfaus-fiss-ladis.at/en/serfaus/apartment/apart-ideal_dr91356" target="_blank" rel="noopener" class="ext">https://serfaus-fiss-ladis.at/en/serfaus/apartment/apart-ideal_dr91356</a></td></tr><tr><th>ostatnia_aktualizacja</th><td>2026-08-01</td></tr></tbody></table></div></details>
<h2>W skrócie</h2>
<p>Dom z <strong>6 jasnymi apartamentami</strong> na spokojnych obrzeżach Serfaus, ocena 4.8/5. Przystanek słynnego podziemnego metra ("Tube") 50 m od domu — dojazd do kolejki w &lt;10 min bez auta i bez skibusa. Wariant "pełne doświadczenie Serfaus" za dopłatą względem Ladis/Fiss.</p>
<h2>Fakty</h2>
<ul><li>6 apartamentów, 1 400 m n.p.m.; własny trawnik, parking przed domem, darmowe WLAN i serwis pieczywa rano.</li><li>Serfaus = wioska bez ruchu samochodowego (metro!), pełna infrastruktura: restauracje, sklepy, szkółki, wieczorne atrakcje dla dzieci.</li></ul>
<h2>Plusy / minusy</h2>
<p><strong>+</strong> 4 z 6 apartamentów = prawie cały dom; metro zamiast skibusa (frajda sama w sobie); centrum rodzinnego życia regionu. <strong></strong> Serfaus to najdroższa z trzech wsi (nocleg ~+2030% vs Ladis); w wysokim sezonie tłoczno (w naszym niskim terminie — OK).</p>
<h2>Do zrobienia</h2>
<ul><li class="task"><input type="checkbox" disabled> Enquiry przez portal regionu: 4 apartamenty, 1623.01.2027.</li><li class="task"><input type="checkbox" disabled> Porównać z ofertą z Ladis (Haus Central) po otrzymaniu obu cen — decyzja grupy: dopłacać do Serfaus czy nie.</li></ul>
<footer>Wygenerowane z bundle'a OKF przez <code>gen_pages.py</code> — nie edytuj
tych plików, edytuj <code>.md</code> i przegeneruj.</footer>
</body>
</html>

View file

@ -0,0 +1,80 @@
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Haus Central (Apart Central), Ladis — Ski 2027 — Skicircus Saalbach</title>
<style>
:root { color-scheme: light dark; --fg:#0f172a; --muted:#64748b; --bg:#ffffff;
--line:#e2e8f0; --accent:#0d9488; --chip:#f1f5f9; --quote:#f8fafc; }
@media (prefers-color-scheme: dark) {
:root { --fg:#e2e8f0; --muted:#94a3b8; --bg:#0f172a; --line:#334155;
--accent:#2dd4bf; --chip:#1e293b; --quote:#1e293b; }
}
* { box-sizing: border-box; }
body { margin: 0 auto; padding: 1.25rem 1rem 4rem; max-width: 46rem;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 17px; line-height: 1.55; color: var(--fg); background: var(--bg);
-webkit-text-size-adjust: 100%; }
nav { font-size: .85rem; margin-bottom: 1.25rem; }
nav a { color: var(--muted); }
h1 { font-size: 1.55rem; line-height: 1.25; margin: 0 0 .35rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; padding-top: .5rem;
border-top: 1px solid var(--line); }
h3 { font-size: 1.02rem; margin: 1.4rem 0 .4rem; }
p, ul, ol { margin: .6rem 0; }
ul, ol { padding-left: 1.3rem; }
li { margin: .25rem 0; }
li.task { list-style: none; margin-left: -1.3rem; }
li.task input { margin-right: .45rem; }
a { color: var(--accent); }
a.ext::after { content: " ↗"; font-size: .8em; color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em;
background: var(--chip); padding: .1em .35em; border-radius: 4px; }
pre { background: var(--chip); padding: .75rem; border-radius: 6px; overflow-x: auto; }
pre code { background: none; padding: 0; }
blockquote { margin: .9rem 0; padding: .6rem .9rem; background: var(--quote);
border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; }
blockquote p { margin: .2rem 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.table-wrap { overflow-x: auto; margin: .8rem 0; -webkit-overflow-scrolling: touch; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { border: 1px solid var(--line); padding: .4rem .55rem; vertical-align: top; }
th { background: var(--chip); font-weight: 600; }
.chip { display: inline-block; background: var(--chip); color: var(--muted);
font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
padding: .15rem .5rem; border-radius: 999px; }
.lead { color: var(--muted); margin: .35rem 0 1.25rem; }
.meta { margin: 0 0 1.5rem; }
.meta summary { cursor: pointer; font-size: .85rem; color: var(--muted);
padding: .3rem 0; }
.meta table { font-size: .85rem; }
.meta th { width: 38%; text-align: left; font-weight: 500; word-break: break-word; }
.cards { list-style: none; padding: 0; margin: 0; }
.cards li { border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem;
margin: .6rem 0; }
.cards a { font-weight: 600; text-decoration: none; }
.cards p { margin: .3rem 0 0; font-size: .9rem; color: var(--muted); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
font-size: .78rem; color: var(--muted); }
</style>
</head>
<body>
<nav><a href="../../index.html">← Wszystkie karty</a> · <a href="../../../viz.html">Graf</a></nav>
<span class="chip">oferta</span>
<h1>Haus Central / Apart Central (Ladis) — PLAN A</h1>
<p class="lead">Dokładnie cztery apartamenty z balkonami przy kolejce Sonnenbahn w najtańszej wsi płaskowyżu — cały dom dla grupy, PLAN A wariantu SFL.</p>
<details class="meta" open><summary>Metadane (frontmatter)</summary><div class="table-wrap"><table><tbody><tr><th>type</th><td>oferta</td></tr><tr><th>title</th><td>Haus Central (Apart Central), Ladis</td></tr><tr><th>description</th><td>Dokładnie cztery apartamenty z balkonami przy kolejce Sonnenbahn w najtańszej wsi płaskowyżu — cały dom dla grupy, PLAN A wariantu SFL.</td></tr><tr><th>timestamp</th><td>2026-08-01T00:00:00Z</td></tr><tr><th>tags</th><td>nocleg, sfl, ladis, plan-a</td></tr><tr><th>id</th><td>haus-central-ladis</td></tr><tr><th>nazwa</th><td>Haus Central (Apart Central)</td></tr><tr><th>operator</th><td>prywatny</td></tr><tr><th>miejscowosc</th><td>Ladis</td></tr><tr><th>odleglosc_od_wyciagu</th><td>przy kolejce Sonnenbahn Ladis-Fiss / przystanku skibusa</td></tr><tr><th>uklad_dla_grupy</th><td>DOKŁADNIE 4 apartamenty, każdy z balkonem — cały dom dla nas</td></tr><tr><th>cena_za_apartament_tydzien</th><td>~1 0001 400 € (szacunek, niski sezon 1623.01)</td></tr><tr><th>koszt_rodzina_2p2</th><td>~1 0001 400 €</td></tr><tr><th>koszt_rodzina_2p1</th><td>~8501 200 €</td></tr><tr><th>status_ceny</th><td>SZACUNEK — wycena przez serfaus-fiss-ladis.at lub mailowo</td></tr><tr><th>priorytet</th><td>PLAN A dla wariantu SFL</td></tr><tr><th>www</th><td><a href="https://www.serfaus-fiss-ladis.at/en/Accommodation-list/Haus-Central-holiday-apartment-Ladis_ad-40835" target="_blank" rel="noopener" class="ext">https://www.serfaus-fiss-ladis.at/en/Accommodation-list/Haus-Central-holiday-apartment-Ladis_ad-40835</a></td></tr><tr><th>ostatnia_aktualizacja</th><td>2026-08-01</td></tr></tbody></table></div></details>
<h2>W skrócie</h2>
<p>Dom z <strong>dokładnie 4 nowoczesnymi apartamentami</strong> (każdy z balkonem) w Ladis — najtańszej i najspokojniejszej z trzech wsi płaskowyżu. Oficjalnie otagowany jako "group accommodation" i "family friendly", położony przy wyciągu/trasie i przystanku skibusa. Nasza grupa zajmuje cały dom.</p>
<h2>Fakty</h2>
<ul><li>4 w pełni wyposażone apartamenty z balkonami; narciarnia z suszarką do butów; parking; ogród.</li><li>Lokalizacja: "direkt an der Bergbahn" — przy kolejce Sonnenbahn Ladis-Fiss, przy trasie i skibusie.</li><li>Ladis: klimatyczna wioska z zamkiem Laudegg i stawem; do pełnej infrastruktury Fiss — 1 kolejka lub skibus.</li></ul>
<h2>Plusy / minusy</h2>
<p><strong>+</strong> konfiguracja 1:1 pod nasze 4 rodziny; cały dom na wyłączność; Ladis = najniższe ceny na płaskowyżu; przy wyciągu. <strong></strong> najmniejsza z trzech wsi (sklep podstawowy, 23 restauracje); wieczorem bardzo cicho.</p>
<h2>Do zrobienia</h2>
<ul><li class="task"><input type="checkbox" disabled> Zapytanie przez system serfaus-fiss-ladis.at (przycisk enquiry) lub mail: 4 apartamenty, 1623.01.2027, 4+4+3+3.</li><li class="task"><input type="checkbox" disabled> Alternatywa w Ladis: Laudegghof (4★ apartamenty, jacuzzi/spa, 8.0 na Expedia, sprzątanie 100120 €/apartament).</li></ul>
<footer>Wygenerowane z bundle'a OKF przez <code>gen_pages.py</code> — nie edytuj
tych plików, edytuj <code>.md</code> i przegeneruj.</footer>
</body>
</html>

88
pages/sfl/region.html Normal file
View file

@ -0,0 +1,88 @@
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Serfaus-Fiss-Ladis (SFL) — Ski 2027 — Skicircus Saalbach</title>
<style>
:root { color-scheme: light dark; --fg:#0f172a; --muted:#64748b; --bg:#ffffff;
--line:#e2e8f0; --accent:#0d9488; --chip:#f1f5f9; --quote:#f8fafc; }
@media (prefers-color-scheme: dark) {
:root { --fg:#e2e8f0; --muted:#94a3b8; --bg:#0f172a; --line:#334155;
--accent:#2dd4bf; --chip:#1e293b; --quote:#1e293b; }
}
* { box-sizing: border-box; }
body { margin: 0 auto; padding: 1.25rem 1rem 4rem; max-width: 46rem;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
font-size: 17px; line-height: 1.55; color: var(--fg); background: var(--bg);
-webkit-text-size-adjust: 100%; }
nav { font-size: .85rem; margin-bottom: 1.25rem; }
nav a { color: var(--muted); }
h1 { font-size: 1.55rem; line-height: 1.25; margin: 0 0 .35rem; }
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; padding-top: .5rem;
border-top: 1px solid var(--line); }
h3 { font-size: 1.02rem; margin: 1.4rem 0 .4rem; }
p, ul, ol { margin: .6rem 0; }
ul, ol { padding-left: 1.3rem; }
li { margin: .25rem 0; }
li.task { list-style: none; margin-left: -1.3rem; }
li.task input { margin-right: .45rem; }
a { color: var(--accent); }
a.ext::after { content: " ↗"; font-size: .8em; color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88em;
background: var(--chip); padding: .1em .35em; border-radius: 4px; }
pre { background: var(--chip); padding: .75rem; border-radius: 6px; overflow-x: auto; }
pre code { background: none; padding: 0; }
blockquote { margin: .9rem 0; padding: .6rem .9rem; background: var(--quote);
border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; }
blockquote p { margin: .2rem 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.table-wrap { overflow-x: auto; margin: .8rem 0; -webkit-overflow-scrolling: touch; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { border: 1px solid var(--line); padding: .4rem .55rem; vertical-align: top; }
th { background: var(--chip); font-weight: 600; }
.chip { display: inline-block; background: var(--chip); color: var(--muted);
font-size: .72rem; text-transform: uppercase; letter-spacing: .04em;
padding: .15rem .5rem; border-radius: 999px; }
.lead { color: var(--muted); margin: .35rem 0 1.25rem; }
.meta { margin: 0 0 1.5rem; }
.meta summary { cursor: pointer; font-size: .85rem; color: var(--muted);
padding: .3rem 0; }
.meta table { font-size: .85rem; }
.meta th { width: 38%; text-align: left; font-weight: 500; word-break: break-word; }
.cards { list-style: none; padding: 0; margin: 0; }
.cards li { border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem;
margin: .6rem 0; }
.cards a { font-weight: 600; text-decoration: none; }
.cards p { margin: .3rem 0 0; font-size: .9rem; color: var(--muted); }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
font-size: .78rem; color: var(--muted); }
</style>
</head>
<body>
<nav><a href="../index.html">← Wszystkie karty</a> · <a href="../../viz.html">Graf</a></nav>
<span class="chip">region</span>
<h1>Serfaus-Fiss-Ladis — informacje o regionie</h1>
<p class="lead">Wariant alternatywny i najtańszy budżetowo: 214 km na słonecznym płaskowyżu, infrastruktura skrojona pod rodziny, a termin 1623.01 to u nich oficjalnie niski sezon.</p>
<details class="meta" open><summary>Metadane (frontmatter)</summary><div class="table-wrap"><table><tbody><tr><th>type</th><td>region</td></tr><tr><th>title</th><td>Serfaus-Fiss-Ladis (SFL)</td></tr><tr><th>description</th><td>Wariant alternatywny i najtańszy budżetowo: 214 km na słonecznym płaskowyżu, infrastruktura skrojona pod rodziny, a termin 1623.01 to u nich oficjalnie niski sezon.</td></tr><tr><th>timestamp</th><td>2026-08-01T00:00:00Z</td></tr><tr><th>tags</th><td>region, sfl, wariant, skipass, logistyka</td></tr><tr><th>id</th><td>serfaus-fiss-ladis</td></tr><tr><th>nazwa</th><td>Serfaus-Fiss-Ladis (SFL)</td></tr><tr><th>kraj</th><td>Austria</td></tr><tr><th>region</th><td>Tyrol (górna dolina Innu)</td></tr><tr><th>sezon</th><td>2026/2027</td></tr><tr><th>grupa</th><td>4 rodziny (2×2+2, 2×2+1) = 14 osób</td></tr><tr><th>wyjazd_z</th><td>Warszawa</td></tr><tr><th>rekomendowany_termin</th><td>1623.01.2027 — u nich to NISKI SEZON (taniej!)</td></tr><tr><th>strategia_budzetowa</th><td>mieszkać w Fiss lub Ladis (do ~30% taniej niż Serfaus)</td></tr><tr><th>ostatnia_aktualizacja</th><td>2026-08-01</td></tr></tbody></table></div></details>
<p>Najbardziej "rodzinny" kurort Alp: słoneczny płaskowyż na 1 2001 400 m, <strong>214 km tras i 68 wyciągów</strong>, śnieg pewny do wiosny (jazda do 2 820 m). Wielokrotny zwycięzca rankingów family-friendly. Dla naszej mieszanki wiekowej (nastolatki + młodsze dzieci) teren skrojony idealnie: dwa snowparki (Freestyle Circus Serfaus, Fun Area Fiss-Ladis), funslope'y, a w Serfaus kultowe metro podziemne (wioska bez aut).</p>
<h2>Kluczowy atut terminu: 1623.01 = NISKI SEZON w SFL</h2>
<p>SFL dzieli zimę nietypowo: <strong>1023.01 to oficjalnie low season</strong> (między szczytem świątecznym a resztą zimy) — nasz tydzień łapie się w całości. Efekt: tańsze skipassy, tańsze noclegi, pusto na trasach.</p>
<h2>Skipass</h2>
<p>System dwucenowy: <strong>Gästekarta</strong> (dostajesz ją automatycznie nocując w regionie ≥1 noc) daje obniżone taryfy dla całej rodziny.</p>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">Taryfa 6 dni, niski sezon, z gästekartą</th><th style="text-align:left">Szacunek 26/27</th></tr></thead><tbody><tr><td style="text-align:left">Dorosły</td><td style="text-align:left">~360390 €</td></tr><tr><td style="text-align:left">Młodzież (rocznikowo, ~1517 lat)</td><td style="text-align:left">~290320 €</td></tr><tr><td style="text-align:left">Dziecko (rocznikowo, ~1115 lat)</td><td style="text-align:left">~180200 €</td></tr><tr><td style="text-align:left">Dzieci ur. 2020+</td><td style="text-align:left">gratis</td></tr></tbody></table></div>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">Rodzina</th><th style="text-align:left">Skipassy 6 dni (szacunek)</th></tr></thead><tbody><tr><td style="text-align:left">2+2 (nastolatki)</td><td style="text-align:left">~1 3001 420 €</td></tr><tr><td style="text-align:left">2+1 (dziecko)</td><td style="text-align:left">~900980 €</td></tr><tr><td style="text-align:left"><strong>Grupa 14 os.</strong></td><td style="text-align:left"><strong>~4 4004 800 €</strong></td></tr></tbody></table></div>
<blockquote><p>⚠️ Kategorie wiekowe są ROCZNIKOWE (w 25/26: dzieci Jg 20102014, młodzież starsza osobno) — przed zakupem sprawdzić progi 26/27 na serfaus-fiss-ladis.at. KeyCard: depozyt 2 €/szt.</p></blockquote>
<h2>Dojazd z Warszawy</h2>
<ul><li>~1 120 km: jak do Ischgl (Innsbruck → Landeck), potem zamiast w dolinę Paznaun — serpentyny na płaskowyż SFL (Ried → Fiss/Serfaus, ~10 km podjazdu, zimą dobrze utrzymane).</li><li>Winiety CZ+AT, bez odcinków specjalnych. ~350 €/auto w obie strony.</li></ul>
<h2>Koszty życia</h2>
<p>Poziom tyrolski standard (taniej niż Ischgl, podobnie do Saalbach): obiad na stoku 1520 €. Sklepy: MPREIS/Spar w każdej z trzech wsi. Taksa ~2,503 €/os./noc. Bezpłatny skibus łączy SerfausFissLadis.</p>
<h2>Budżet grupy (14 os., tydzień)</h2>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">Pozycja</th><th style="text-align:left">Kwota</th></tr></thead><tbody><tr><td style="text-align:left">Noclegi (Fiss/Ladis, 4 apartamenty)</td><td style="text-align:left">4 2006 000 €</td></tr><tr><td style="text-align:left">Skipassy</td><td style="text-align:left">~4 4004 800 €</td></tr><tr><td style="text-align:left">Dojazd (4 auta)</td><td style="text-align:left">~1 400 €</td></tr><tr><td style="text-align:left">Jedzenie + taksy</td><td style="text-align:left">2 8003 500 €</td></tr><tr><td style="text-align:left"><strong>RAZEM</strong></td><td style="text-align:left"><strong>~12 80015 700 €</strong></td></tr></tbody></table></div>
<h2>Ocena względem Saalbach</h2>
<p><strong>+</strong> nasz termin = ich niski sezon (unikat wśród 4 wariantów!); najbardziej dziecięco-rodzinna infrastruktura; słoneczny płaskowyż; skipassy realnie najtańsze po Livigno. <strong></strong> mniej "objazdowy" charakter niż Skicircus (jeden połączony teren, ale bez efektu pętli); apres-ski/wieczorne życie skromne (to celowo rodzinny kurort); nastolatki-eksperci mogą po 4 dniach znać teren na pamięć.</p>
<footer>Wygenerowane z bundle'a OKF przez <code>gen_pages.py</code> — nie edytuj
tych plików, edytuj <code>.md</code> i przegeneruj.</footer>
</body>
</html>

View file

@ -71,6 +71,13 @@ footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line);
<p>Kontekst regionu, skipassów, dojazdu i budżetu całkowitego → <a href="region.html">region</a>. Karty noclegów → <a href="index.html">oferty</a>.</p>
<h2>Oferty — ranking</h2>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">#</th><th style="text-align:left">Oferta</th><th style="text-align:left">Miejscowość</th><th style="text-align:left">€/rodzinę 2+2</th><th style="text-align:left">Status</th><th style="text-align:left">Priorytet</th></tr></thead><tbody><tr><td style="text-align:left">1</td><td style="text-align:left"><a href="oferty/kristall-schattbergxpress.html">Kristall @ SchattbergXpress</a></td><td style="text-align:left">Saalbach centrum, 50 m od gondoli</td><td style="text-align:left">~1 5002 000</td><td style="text-align:left">szacunek</td><td style="text-align:left"><strong>PLAN A</strong></td></tr><tr><td style="text-align:left">2</td><td style="text-align:left"><a href="oferty/alpenparks-sonnleiten.html">AlpenParks Sonnleiten</a></td><td style="text-align:left">Saalbach, 2 min od stoku</td><td style="text-align:left">~1 4001 900</td><td style="text-align:left">szacunek</td><td style="text-align:left">PLAN A-bis</td></tr><tr><td style="text-align:left">3</td><td style="text-align:left"><a href="oferty/sportchalet-viehhofen.html">Sportchalet Viehhofen</a></td><td style="text-align:left">Viehhofen, skibus</td><td style="text-align:left">~1 2001 600</td><td style="text-align:left">szacunek</td><td style="text-align:left"><strong>PLAN B</strong></td></tr><tr><td style="text-align:left">4</td><td style="text-align:left"><a href="oferty/dom-dla-grupy.html">Dom 1214 os.</a></td><td style="text-align:left">Viehhofen/Maishofen/Fieberbrunn</td><td style="text-align:left">~1 4001 900</td><td style="text-align:left">koncept</td><td style="text-align:left">równoległy</td></tr><tr><td style="text-align:left">5</td><td style="text-align:left"><a href="oferty/alpenparks-rehrenberg.html">AlpenParks Rehrenberg</a></td><td style="text-align:left">Viehhofen</td><td style="text-align:left">~1 1001 500</td><td style="text-align:left">szacunek</td><td style="text-align:left">PLAN C</td></tr><tr><td style="text-align:left">6</td><td style="text-align:left"><a href="oferty/glemm-lodge.html">Glemm Lodge</a></td><td style="text-align:left">Saalbach/Hinterglemm</td><td style="text-align:left">~4 370</td><td style="text-align:left"><strong>zweryfikowane</strong></td><td style="text-align:left">odrzucona (referencja)</td></tr></tbody></table></div>
<h2>Porównanie wariantów regionu</h2>
<p>Saalbach jest wariantem bazowym; obok niego badane są trzy alternatywy. Wszystkie budżety liczone tą samą metodologią (14 os., tydzień, 6 dni jazdy), więc tabele są porównywalne 1:1.</p>
<div class="table-wrap"><table><thead><tr><th style="text-align:left"></th><th style="text-align:left"><a href="region.html">Saalbach (baza)</a></th><th style="text-align:left"><a href="ischgl/region.html">Ischgl/Paznaun</a></th><th style="text-align:left"><a href="kronplatz/region.html">Kronplatz</a></th><th style="text-align:left"><a href="sfl/region.html">SFL</a></th></tr></thead><tbody><tr><td style="text-align:left">Trasy</td><td style="text-align:left">270 km</td><td style="text-align:left">239 km (+40 km Kappl)</td><td style="text-align:left">121 km + Superski 1200 km</td><td style="text-align:left">214 km</td></tr><tr><td style="text-align:left">Dojazd z W-wy</td><td style="text-align:left"><strong>~950 km</strong></td><td style="text-align:left">~1 150 km</td><td style="text-align:left">~1 050 km</td><td style="text-align:left">~1 120 km</td></tr><tr><td style="text-align:left">Skipassy grupy</td><td style="text-align:left">~4 9005 400 €</td><td style="text-align:left">~5 150 € (zweryf. 26/27)</td><td style="text-align:left">~4 9005 300 €</td><td style="text-align:left"><strong>~4 4004 800 €</strong></td></tr><tr><td style="text-align:left">Zniżka 17-latka</td><td style="text-align:left">✅ (do 18)</td><td style="text-align:left">❌ brak (od 17 lat = dorosły)</td><td style="text-align:left">✅ junior do 18</td><td style="text-align:left">✅ (rocznikowo)</td></tr><tr><td style="text-align:left">Nocleg / 4 apartamenty</td><td style="text-align:left">5 5007 500 €</td><td style="text-align:left">4 0005 600 € (Kappl)</td><td style="text-align:left">4 0006 000 € (Olang)</td><td style="text-align:left">4 2006 000 € (Ladis/Fiss)</td></tr><tr><td style="text-align:left">Sezon w terminie 1623.01</td><td style="text-align:left">niski</td><td style="text-align:left">niski</td><td style="text-align:left">regular</td><td style="text-align:left"><strong>NISKI (oficjalnie!)</strong></td></tr><tr><td style="text-align:left"><strong>Budżet grupy razem</strong></td><td style="text-align:left">~14 00018 000 €</td><td style="text-align:left">~13 50016 000 €</td><td style="text-align:left">~13 20016 300 €</td><td style="text-align:left"><strong>~12 80015 700 €</strong></td></tr><tr><td style="text-align:left">Charakter</td><td style="text-align:left">wielka karuzela</td><td style="text-align:left">wysokogórski + Samnaun</td><td style="text-align:left">Dolomity bez powtórki</td><td style="text-align:left">rodzinny kombajn</td></tr><tr><td style="text-align:left">Główne ryzyko</td><td style="text-align:left">najdroższy nocleg</td><td style="text-align:left">wiek nastolatków (17!)</td><td style="text-align:left">objazdowość = auto/kolejka</td><td style="text-align:left">za spokojnie dla nastolatków?</td></tr></tbody></table></div>
<h3>Noclegi w wariantach</h3>
<div class="table-wrap"><table><thead><tr><th style="text-align:left">Wariant</th><th style="text-align:left">PLAN A</th><th style="text-align:left">PLAN B</th><th style="text-align:left">€/rodzinę 2+2</th><th style="text-align:left">Status</th></tr></thead><tbody><tr><td style="text-align:left"><a href="index.html">Ischgl</a></td><td style="text-align:left"><a href="ischgl/oferty/apartment-brandau-kappl.html">Apartment Brandau</a>, Kappl</td><td style="text-align:left"><a href="ischgl/oferty/apartments-kappl.html">Apartments Kappl</a></td><td style="text-align:left">~9001 400</td><td style="text-align:left">szacunek</td></tr><tr><td style="text-align:left"><a href="index.html">Kronplatz</a></td><td style="text-align:left"><a href="kronplatz/oferty/haeuslerhof-valdaora.html">Häuslerhof</a>, Valdaora</td><td style="text-align:left"><a href="kronplatz/oferty/residence-corones-valdaora.html">Residence Corones</a></td><td style="text-align:left">~8001 400</td><td style="text-align:left">szacunek</td></tr><tr><td style="text-align:left"><a href="index.html">SFL</a></td><td style="text-align:left"><a href="sfl/oferty/haus-central-ladis.html">Haus Central</a>, Ladis</td><td style="text-align:left"><a href="sfl/oferty/apart-ideal-serfaus.html">Apart Ideal</a>, Serfaus</td><td style="text-align:left">~1 0001 800</td><td style="text-align:left">szacunek</td></tr></tbody></table></div>
<h3>Wnioski przekrojowe</h3>
<ol><li><strong>SFL wygrywa cenowo</strong> wśród alternatyw — jedyny region, gdzie 1623.01 to oficjalnie niski sezon (skipassy i noclegi w dołku).</li><li><strong>Ischgl ma pułapkę wiekową</strong>: zniżka tylko do &lt;17 lat — policzyć roczniki nastolatków PRZED decyzją; brak zniżki = +388 € na grupę.</li><li>Dwa obiekty mają konfigurację <strong>dokładnie 4 apartamentów</strong> (<a href="kronplatz/oferty/haeuslerhof-valdaora.html">Häuslerhof</a>, <a href="sfl/oferty/haus-central-ladis.html">Haus Central</a>) — grupa zajmuje cały dom, co daje klimat wspólnego chaletu bez chaletowej ceny.</li><li>Saalbach zostaje wariantem bazowym ze względu na najkrótszy dojazd i największy połączony teren; alternatywy biją go budżetem noclegowym.</li></ol>
<h2>Najbliższe kroki</h2>
<ol><li>Mail grupowy (<a href="szablon-maila.html">szablon</a>) → Kristall/All in One + Sportchalet Viehhofen.</li><li>Ceny online datami 1623.01.2027 → AlpenParks (oba obiekty).</li><li>Zebranie ofert → decyzja grupy → zaliczki (wrzesień 2026).</li></ol>
<h2>Konwencja danych</h2>

File diff suppressed because one or more lines are too long