270 lines
7.9 KiB
HTML
270 lines
7.9 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<meta name="color-scheme" content="light only">
|
||
<meta name="supported-color-schemes" content="light">
|
||
<title>Schankkarte der Taverne – Der letzte Auftrag</title>
|
||
<link href="https://fonts.googleapis.com/css2?family=MedievalSharp&family=Cinzel+Decorative:wght@700&family=Cinzel:wght@400;600&family=Crimson+Pro:ital,wght@0,400;0,600;1,400&display=swap" rel="stylesheet">
|
||
<style>
|
||
:root {
|
||
--parchment: #f4e8c1;
|
||
--parchment-dark: #e8d5a0;
|
||
--ink: #1a0f00;
|
||
--ink-light: #3d2200;
|
||
--red: #8b1a1a;
|
||
--gold: #c9a227;
|
||
--gold-light: #f0c94a;
|
||
--shadow: rgba(0,0,0,0.4);
|
||
color-scheme: light only;
|
||
}
|
||
|
||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||
|
||
@media (prefers-color-scheme: dark) {
|
||
body { background: #0d0800 !important; }
|
||
.parchment { background: #f4e8c1 !important; }
|
||
.parchment p, .parchment div, .parchment span { color: #3d2200; }
|
||
}
|
||
|
||
body {
|
||
background: #0d0800;
|
||
background-image: radial-gradient(ellipse at 50% 0%, #2a1500 0%, #0d0800 60%);
|
||
font-family: 'Crimson Pro', Georgia, serif;
|
||
color: var(--ink);
|
||
min-height: 100vh;
|
||
padding: 2rem 1rem 4rem;
|
||
}
|
||
|
||
.menu-wrap {
|
||
max-width: 640px;
|
||
margin: 0 auto;
|
||
}
|
||
|
||
/* ── PERGAMENT ─────────────────────────────── */
|
||
.parchment {
|
||
background: #f4e8c1 !important;
|
||
border: 3px solid #8a6520;
|
||
border-radius: 4px;
|
||
padding: 2.5rem 2rem;
|
||
box-shadow:
|
||
0 0 0 1px #c9a227,
|
||
0 8px 30px rgba(0,0,0,0.5),
|
||
inset 0 1px 0 rgba(255,255,255,0.3);
|
||
position: relative;
|
||
}
|
||
.parchment::before {
|
||
content: '';
|
||
position: absolute;
|
||
inset: 6px;
|
||
border: 1px solid rgba(138,101,32,0.3);
|
||
pointer-events: none;
|
||
}
|
||
|
||
/* ── KOPF ──────────────────────────────────── */
|
||
.menu-emblem {
|
||
font-size: 3rem;
|
||
text-align: center;
|
||
filter: drop-shadow(0 0 12px rgba(201,162,39,0.5));
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
.menu-subtitle {
|
||
font-family: 'Cinzel', serif;
|
||
font-size: 0.75rem;
|
||
letter-spacing: 0.3em;
|
||
color: #8a6520;
|
||
text-align: center;
|
||
text-transform: uppercase;
|
||
margin-bottom: 0.6rem;
|
||
}
|
||
.menu-title {
|
||
font-family: 'Cinzel Decorative', serif;
|
||
font-size: clamp(1.8rem, 6vw, 2.6rem);
|
||
color: var(--red);
|
||
text-align: center;
|
||
line-height: 1.15;
|
||
text-shadow: 1px 1px 0 rgba(0,0,0,0.12);
|
||
}
|
||
.menu-divider {
|
||
width: 80%;
|
||
height: 2px;
|
||
background: linear-gradient(90deg, transparent, var(--gold), transparent);
|
||
margin: 1.4rem auto;
|
||
position: relative;
|
||
}
|
||
.menu-divider::before, .menu-divider::after {
|
||
content: '◆';
|
||
position: absolute;
|
||
top: 50%;
|
||
transform: translateY(-50%);
|
||
color: var(--gold);
|
||
font-size: 0.9rem;
|
||
}
|
||
.menu-divider::before { left: 8%; }
|
||
.menu-divider::after { right: 8%; }
|
||
|
||
.flavor-text {
|
||
font-style: italic;
|
||
background: rgba(138,101,32,0.08);
|
||
border-left: 3px solid var(--gold);
|
||
padding: 0.8rem 1rem;
|
||
margin: 0.5rem 0 1.8rem;
|
||
border-radius: 0 4px 4px 0;
|
||
font-size: 1rem;
|
||
color: var(--ink-light);
|
||
line-height: 1.6;
|
||
}
|
||
|
||
/* ── GETRÄNKE-LISTE ────────────────────────── */
|
||
.drink-list { list-style: none; }
|
||
.drink-row {
|
||
display: flex;
|
||
align-items: baseline;
|
||
gap: 0.6rem;
|
||
padding: 0.85rem 0;
|
||
border-bottom: 1px dashed rgba(138,101,32,0.4);
|
||
}
|
||
.drink-row:last-child { border-bottom: none; }
|
||
|
||
.drink-emoji {
|
||
font-size: 1.4rem;
|
||
flex-shrink: 0;
|
||
width: 1.8rem;
|
||
text-align: center;
|
||
}
|
||
.drink-name {
|
||
font-family: 'Cinzel', serif;
|
||
font-size: 1.15rem;
|
||
color: var(--ink);
|
||
font-weight: 600;
|
||
white-space: nowrap;
|
||
}
|
||
.drink-dots {
|
||
flex: 1;
|
||
border-bottom: 2px dotted #c9a22790;
|
||
transform: translateY(-0.25rem);
|
||
min-width: 1rem;
|
||
}
|
||
.drink-price {
|
||
font-family: 'Cinzel Decorative', serif;
|
||
font-size: 1.15rem;
|
||
color: var(--red);
|
||
white-space: nowrap;
|
||
flex-shrink: 0;
|
||
}
|
||
.coin { color: var(--gold); }
|
||
|
||
/* Besonderer Eintrag: Salzleckstein */
|
||
.drink-row.special {
|
||
background: rgba(201,162,39,0.12);
|
||
border: 1px solid #c9a22760;
|
||
border-radius: 4px;
|
||
padding: 0.85rem 0.9rem;
|
||
margin: 0.4rem 0;
|
||
}
|
||
.drink-row.special .drink-price { font-size: 1.3rem; }
|
||
.drink-note {
|
||
display: block;
|
||
font-family: 'Crimson Pro', serif;
|
||
font-size: 0.82rem;
|
||
font-style: italic;
|
||
font-weight: 400;
|
||
color: #5a3a10;
|
||
margin-top: 0.15rem;
|
||
white-space: normal;
|
||
}
|
||
|
||
.menu-foot {
|
||
text-align: center;
|
||
font-family: 'Cinzel', serif;
|
||
font-size: 0.78rem;
|
||
letter-spacing: 0.12em;
|
||
color: #5a3a10;
|
||
margin-top: 1.6rem;
|
||
line-height: 1.7;
|
||
}
|
||
.menu-foot .coin { font-size: 1.05rem; }
|
||
|
||
@media (max-width: 480px) {
|
||
.parchment { padding: 1.8rem 1.2rem; }
|
||
.drink-name { font-size: 1rem; }
|
||
}
|
||
|
||
/* ── DRUCK / PDF ───────────────────────────── */
|
||
* { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
|
||
@page { size: A4 portrait; margin: 12mm; }
|
||
@media print {
|
||
body { padding: 0; background: #0d0800; }
|
||
.menu-wrap { max-width: 100%; }
|
||
.parchment { box-shadow: 0 0 0 1px #c9a227; }
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="menu-wrap">
|
||
<div class="parchment">
|
||
<div class="menu-emblem">🍺</div>
|
||
<div class="menu-subtitle">Im Jahre Schnee · Der letzte Auftrag</div>
|
||
<div class="menu-title">Schankkarte<br>der Taverne</div>
|
||
|
||
<div class="menu-divider"></div>
|
||
|
||
<div class="flavor-text">
|
||
„Tretet näher, durstige Seelen! Der Wirt zapft das Beste, was die Taverne zu bieten hat. Eine Münze, ein Krug – und der Mut wächst mit jedem Schluck."
|
||
</div>
|
||
|
||
<ul class="drink-list">
|
||
<li class="drink-row">
|
||
<span class="drink-emoji">🍊</span>
|
||
<span class="drink-name">Wodka Orange</span>
|
||
<span class="drink-dots"></span>
|
||
<span class="drink-price">1 <span class="coin">🪙</span></span>
|
||
</li>
|
||
<li class="drink-row">
|
||
<span class="drink-emoji">🥃</span>
|
||
<span class="drink-name">Cuba Libre</span>
|
||
<span class="drink-dots"></span>
|
||
<span class="drink-price">1 <span class="coin">🪙</span></span>
|
||
</li>
|
||
<li class="drink-row">
|
||
<span class="drink-emoji">🍑</span>
|
||
<span class="drink-name">Sex on the Beach</span>
|
||
<span class="drink-dots"></span>
|
||
<span class="drink-price">1 <span class="coin">🪙</span></span>
|
||
</li>
|
||
<li class="drink-row">
|
||
<span class="drink-emoji">🌶️</span>
|
||
<span class="drink-name">„Hot" Pan</span>
|
||
<span class="drink-dots"></span>
|
||
<span class="drink-price">1 <span class="coin">🪙</span></span>
|
||
</li>
|
||
<li class="drink-row">
|
||
<span class="drink-emoji">✨</span>
|
||
<span class="drink-name">„Was Gutes"</span>
|
||
<span class="drink-dots"></span>
|
||
<span class="drink-price">1 <span class="coin">🪙</span></span>
|
||
</li>
|
||
|
||
<li class="drink-row special">
|
||
<span class="drink-emoji">🧂</span>
|
||
<span class="drink-name">
|
||
Salzleckstein
|
||
<span class="drink-note">Die Spezialität des Hauses – nur für wahre Helden.</span>
|
||
</span>
|
||
<span class="drink-dots"></span>
|
||
<span class="drink-price">5 <span class="coin">🪙</span></span>
|
||
</li>
|
||
</ul>
|
||
|
||
<div class="menu-divider"></div>
|
||
|
||
<div class="menu-foot">
|
||
Alle Krüge kosten <strong>1 <span class="coin">🪙</span></strong> · der Salzleckstein <strong>5 <span class="coin">🪙</span></strong><br>
|
||
Bezahlt wird beim Wirt — Stimmung vor Regeln!
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</body>
|
||
</html>
|