*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0f1720;--card:#18232e;--text:#eef3f7;--muted:#9fb0bd;--accent:#e07a3f;--accent2:#2a9d8f;--line:#26333f}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
header{padding:1.1rem 1rem .9rem;background:linear-gradient(135deg,#e07a3f 0%,#b7472a 55%,#2a9d8f 140%);color:#fff}
header h1{font-size:1.5rem}
header p{opacity:.95;font-size:.9rem;margin-top:.25rem}
.wrap{max-width:820px;margin:0 auto;padding:1rem}
.intro{color:var(--muted);font-size:.9rem;margin:.2rem 0 1.1rem}
.tts{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.6rem;margin-bottom:1rem}
.btn{background:var(--card);color:var(--text);border:1px solid var(--accent);border-radius:8px;padding:.5rem .8rem;font-size:.9rem;cursor:pointer;min-height:42px}
.btn.primary{background:var(--accent);color:#fff}
.btn.tts-btn{border-color:var(--accent2);color:var(--accent2)}
.btn:active{opacity:.85}
.tts-stat{font-size:.8rem;color:var(--muted)}
.stop{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:1.2rem}
.stop.ziel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.stop h2{display:flex;align-items:center;gap:.6rem;font-size:1.2rem;flex-wrap:wrap}
.num{flex:none;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem}
.tag{flex:none;background:var(--accent2);color:#fff;font-size:.68rem;font-weight:700;padding:.28rem .5rem;border-radius:8px;text-transform:uppercase;letter-spacing:.04em}
.ibtn{margin-left:auto;flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--accent2);color:var(--accent2);display:flex;align-items:center;justify-content:center;font-weight:700;font-style:italic;text-decoration:none;font-size:1rem}
.ibtn:hover{background:var(--accent2);color:#fff}
.minimap{height:230px;border-radius:12px;margin:.7rem 0;background:#20303c;border:1px solid var(--line)}
.detailmap{height:300px}
.block{margin-top:.7rem}
.block .lab{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent2);font-weight:700;margin-bottom:.15rem}
.block .txt{font-size:.94rem}
.links{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.maps,.back,.wiki{display:inline-block;font-size:.88rem;color:var(--accent);text-decoration:none;border:1px solid var(--accent);padding:.5rem .8rem;border-radius:8px}
.maps:hover,.back:hover,.wiki:hover{background:var(--accent);color:#fff}
.back{color:var(--muted);border-color:var(--line)}
figure{margin:.7rem 0;background:#12202b;border:1px solid var(--line);border-radius:10px;overflow:hidden}
figure img{width:100%;height:auto;display:block}
figcaption{font-size:.75rem;color:var(--muted);padding:.4rem .6rem}
figcaption a{color:var(--accent2)}
.marker-pin{background:var(--accent);color:#fff;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.5);border:2px solid #fff}
.marker-pin span{transform:rotate(45deg);font-weight:700;font-size:.7rem}
.pop b{display:block;margin-bottom:.3rem}
.pop a{color:#b7472a;font-weight:600;text-decoration:none}
footer{color:var(--muted);font-size:.8rem;text-align:center;padding:1rem 1rem 2rem}
