/* Story-Seiten: derselbe Seitenrahmen wie Krypta und Gorekanoid. */
.st-index {
  max-width: 900px; margin: 0 auto;
  padding: 3.5rem clamp(1.25rem,5vw,3.5rem) 6rem;
}
.st-index-eyebrow {
  font-family: 'DM Mono', monospace; font-size: .65rem;
  letter-spacing: .2em; color: #333; text-transform: uppercase;
  margin-bottom: .5rem;
}
.st-index-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(2.4rem, 6vw, 3.8rem);
  letter-spacing: .07em; color: #fff;
  margin-bottom: 3rem; line-height: 1;
}

.st-story-card {
  display: block; text-decoration: none; color: inherit;
  border: 1px solid #111; background: #070707;
  margin-bottom: 1.2rem; overflow: hidden;
  transition: border-color .15s;
  position: relative;
}
.st-story-card:hover { border-color: #222; }
.st-story-card::before {
  content: ''; position: absolute;
  left: 0; top: 0; bottom: 0; width: 2px;
  background: #fff; opacity: 0; transition: opacity .15s;
}
.st-story-card:hover::before { opacity: .1; }
.st-story-cover {
  width: 100%; height: 200px; object-fit: cover; display: block;
  filter: saturate(.25) brightness(.45);
  transition: filter .5s;
}
.st-story-card:hover .st-story-cover { filter: saturate(.4) brightness(.6); }
.st-story-body { padding: 1.6rem 2rem 2rem; }
.st-story-label {
  font-family: 'DM Mono', monospace; font-size: .62rem;
  letter-spacing: .18em; color: #2e2e2e; text-transform: uppercase;
  margin-bottom: .6rem;
}
.st-story-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(1.8rem, 5vw, 2.6rem);
  letter-spacing: .06em; color: #ddd; line-height: 1;
  margin-bottom: .8rem;
}
.st-story-desc {
  font-family: 'DM Mono', monospace; font-size: .78rem;
  color: #444; line-height: 1.7; max-width: 56ch;
}
.st-story-cta {
  display: inline-block; margin-top: 1.5rem;
  font-family: 'DM Mono', monospace; font-size: .68rem;
  letter-spacing: .14em; color: #555; text-transform: uppercase;
  border-bottom: 1px solid #1e1e1e; padding-bottom: 2px;
  transition: color .12s, border-color .12s;
}
.st-story-card:hover .st-story-cta { color: #ddd; border-color: #666; }

.st-hub { background:radial-gradient(ellipse at 80% 0,#19271f 0,transparent 48%),#0c0b0e; color:#f4eadd; padding-bottom:36px; }
.st-hub .spiel-kopf { max-width:1120px; padding:22px 24px 16px; --spiel-kopf-farbe:#b5a9ae; }
.stl-lobby { max-width:1120px; margin:auto; padding:0 24px; font:14px/1.6 Inter,system-ui,sans-serif; }
.stl-lobby *, .stl-community * { box-sizing:border-box; }
.stl-lobby a:focus-visible, .stl-lobby summary:focus-visible, .stl-lobby button:focus-visible { outline:3px solid #f3c584; outline-offset:4px; }
.stl-hero { position:relative; isolation:isolate; overflow:hidden; min-height:350px; border:1px solid #4c313d; border-radius:16px; background:#111a15; margin-bottom:32px; }
.stl-hero-silence { background:url('img/hero-silence-v1.webp') 76% 48%/cover; }
.stl-hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(12,13,14,.96),rgba(12,13,14,.78) 38%,rgba(12,13,14,.08) 90%); }
.stl-hero-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.stl-hero-copy { max-width:680px; padding:32px 36px; }
.stl-eyebrow { display:block; color:#b6cab7; font:700 10px/1.4 ui-monospace,monospace; letter-spacing:.12em; }
.stl-hero h1 { margin:20px 0 16px; max-width:520px; color:#f4eadd; font:700 clamp(36px,4.3vw,56px)/1.08 Inter,system-ui,sans-serif; letter-spacing:-.04em; }
.stl-hero p { max-width:430px; color:#d1c3c5; font-size:14px; line-height:1.7; margin:0; }
.stl-tags { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 6px; }
.stl-tags span { border:1px solid #536458; border-radius:5px; padding:5px 9px; color:#d4d7cb; font-size:11px; }
.stl-hero-actions { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:12px; }
.stl-hero-actions a { display:inline-flex; align-items:center; min-height:44px; color:#c8b4bc; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.stl-hero-actions a:hover { color:#f1d4dc; }
.stl-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:24px; }
.stl-main, .stl-sidebar { min-width:0; }
.stl-section-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.stl-lobby h2 { margin:0; color:#f4eadd; font:700 19px/1.3 Inter,system-ui,sans-serif; letter-spacing:-.02em; }
.stl-section-heading > span { color:#b5a9ae; font-size:11px; }
.stl-start-card { padding:24px; border:1px solid #86424b; border-radius:12px; background:linear-gradient(145deg,#321b25,#181318); }
.stl-start-card h3 { margin:16px 0 10px; color:#f4eadd; font-size:24px; font-weight:700; line-height:1.3; letter-spacing:-.03em; }
.stl-start-card p { color:#bfb2b7; font-size:13px; line-height:1.65; margin:0 0 22px; }
.stl-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:46px; width:100%; max-width:320px; padding:11px 16px; border:1px solid #e5727d; border-radius:7px; background:#bb3d49; color:#fff7eb; text-decoration:none; font-weight:700; line-height:1.3; }
.stl-button:hover { background:#d34c59; border-color:#f69da6; }
.stl-start-card small { display:block; margin-top:12px; color:#c6b1b6; font-size:11px; }
.stl-controls { margin:28px 0; padding:22px; border:1px solid #3b3037; border-radius:12px; background:#151217; }
.stl-controls ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; list-style:none; margin:20px 0 0; padding:0; }
.stl-controls li { display:flex; gap:10px; }
.stl-controls li > span { display:grid; place-items:center; flex:0 0 25px; height:25px; border:1px solid #65434d; border-radius:50%; color:#efa0a5; font:12px ui-monospace,monospace; }
.stl-controls strong { font-size:12px; color:#f4eadd; }
.stl-controls p { color:#b5a9ae; margin:5px 0 0; font-size:11px; line-height:1.6; }
.stl-details { min-width:0; border:1px solid #3b3037; border-radius:9px; background:#171419; margin-bottom:18px; }
.stl-details summary { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:17px 18px; cursor:pointer; list-style:none; color:#e8dadd; font-size:13px; font-weight:600; }
.stl-details summary::-webkit-details-marker { display:none; }
.stl-disclosure::before { content:'+'; color:#b796a3; }
.stl-details[open] .stl-disclosure::before { content:'−'; }
.stl-details[open] summary { border-bottom:1px solid #3b3037; }
.stl-details-body { padding:18px; }
.stl-details-body > p { color:#b5a9ae; font-size:12px; line-height:1.65; margin:0 0 16px; }
.stl-details-body > p:last-child { margin-bottom:0; }
.stl-stats { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.stl-stats strong { display:block; color:#f3d6b1; font-size:24px; font-weight:600; }
.stl-stats span { display:block; color:#b5a9ae; font-size:11px; }
.stl-progress { height:6px; background:#332b31; border-radius:4px; overflow:hidden; margin:20px 0 12px; }
.stl-progress > span { display:block; height:100%; background:#88bd95; }
.stl-ranking table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.stl-ranking th { padding:7px 0; color:#b5a9ae; font-size:10px; text-align:left; font-weight:500; }
.stl-ranking td { border-top:1px solid #3b3037; padding:12px 0; color:#e8dadd; }
.stl-ranking th:first-child, .stl-ranking td:first-child { width:25px; color:#b796a3; }
.stl-ranking th:nth-child(2), .stl-ranking td:nth-child(2) { overflow-wrap:anywhere; padding-right:10px; }
.stl-ranking th:last-child, .stl-ranking td:last-child { width:70px; text-align:right; color:#f3d6b1; white-space:nowrap; }
.stl-ranking tbody tr:first-child td { color:#f0c687; }
.stl-secondary-link { display:inline-block; color:#d9bac3; font-size:12px; text-decoration:underline; text-underline-offset:4px; padding:10px 0; }
.stl-info { padding:22px; border:1px solid #3b3037; border-radius:12px; background:#171419; }
.stl-info h2 { font-size:15px; }
.stl-info p { color:#b5a9ae; font-size:12px; margin:10px 0 0; }
.st-kap-grid { display:grid; gap:12px; }
.st-kap-card { display:flex; align-items:stretch; min-width:0; border:1px solid #4e3b46; border-radius:8px; background:#21191f; text-decoration:none; color:inherit; overflow:hidden; }
.st-kap-card:not(.is-locked):hover { background:#30222c; border-color:#987184; }
.st-kap-card.is-locked { background:#151317; border-color:#312a30; }
.st-kap-card.is-done { border-color:#47654f; background:#18231b; }
.st-kap-thumb { position:relative; width:86px; flex:0 0 86px; overflow:hidden; background:radial-gradient(ellipse at 60% 40%,#294831,#101715); }
.st-kap-thumb-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.6; }
.st-kap-thumb-num { position:absolute; inset:0; display:grid; place-items:center; color:#e4d5db; font:700 25px ui-monospace,monospace; text-shadow:0 2px 10px #000; }
.st-kap-body { flex:1; min-width:0; padding:16px; }
.st-kap-meta { font:10px/1.4 ui-monospace,monospace; color:#c6a3b1; margin-bottom:6px; }
.st-kap-title { color:#f4eadd; font:600 15px/1.4 Inter,system-ui,sans-serif; overflow-wrap:anywhere; }
.st-kap-teaser { color:#b5a9ae; font-size:12px; line-height:1.6; margin-top:7px; }
.st-kap-right { display:flex; align-items:center; flex:none; padding:12px 12px 12px 0; }
.st-kap-cta { color:#e9c1cd; font-size:11px; white-space:nowrap; }
.st-kap-cta.done { color:#a3d2af; }
.st-kap-cta.locked { color:#a99ba2; }
.st-kap-ending { display:block; font-size:10px; margin-top:5px; }
.st-kap-card.is-locked .st-kap-title, .st-kap-card.is-locked .st-kap-thumb-num { color:#b5a9ae; }
.st-kap-card.is-epilog { border-style:dashed; }
.stl-guide dl { margin:0; }
.stl-guide dt { color:#e8dadd; font-weight:600; font-size:12px; margin-top:16px; }
.stl-guide dd { margin:4px 0 0; color:#b5a9ae; font-size:12px; }
.stl-alert { border:1px solid #a65d68; border-radius:8px; background:#321b25; padding:16px; color:#f1d4dc; }
.stl-community { max-width:1072px; margin:32px auto 0; padding:24px; border-top:1px solid #3b3037; color:#b5a9ae; --ink:#f4eadd; --muted:#b5a9ae; --red:#ed6268; --paper:#171419; --paper-2:#20191f; --rt-text-muted:#d7c2cb; --rt-text-faint:#b5a9ae; --rt-text-sub:#e5d5dc; }
.stl-community-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; }
.stl-community-heading h2 { margin:0; color:#f4eadd; font:700 18px Inter,system-ui,sans-serif; }
.stl-community-heading p { margin:0; font:12px/1.6 Inter,system-ui,sans-serif; }
.stl-community .kom-wrap, .stl-community .sf-wrap { max-width:none; margin:20px 0 0; padding:0; }
.stl-community .kom-wrap { border-top:1px solid #493039; }
.stl-community .kom-toggle { border-color:#493039; }
.stl-community .kom-input, .stl-community .kom-textarea { border-color:#60404e; color:#f4eadd; }
.stl-report-card { margin:24px 0; padding:20px; border:1px solid #86424b; border-radius:10px; background:#21151d; }
.stl-community .stl-report-card .sf-wrap { margin:0; }
.stl-report-card .sf-auf { min-height:40px; padding:10px 14px; border-radius:5px; background:#9d3344; color:#fff2ea; border:1px solid #da7481; font-weight:700; }
.stl-report-card .sf-form { border-color:#60404e; background:#171018; }
.stl-report-card .sf-label { color:#dbc6ce; }
.stl-report-card .sf-text { border-color:#715362; border-radius:6px; font-size:13px; }
.st-index-eyebrow, .st-story-label { color:#b5a9ae; }
.st-story-desc { color:#bfb2b7; }
.st-story-card { background:#171419; border:1px solid #3b3037; border-radius:12px; overflow:hidden; }
.st-story-cta { color:#e9c1cd; border-color:#86424b; }
@media(max-width:900px) { .stl-layout { grid-template-columns:minmax(0,1fr) 260px; gap:18px; } .st-kap-thumb { width:64px; flex-basis:64px; } .st-kap-card { flex-wrap:wrap; } .st-kap-right { margin-left:auto; padding:0 16px 14px; } }
@media(max-width:680px) { .stl-lobby { padding:0 14px; } .st-hub .spiel-kopf { padding:16px 14px; } .stl-hero { min-height:0; margin-bottom:24px; background-position:70% center; } .stl-hero::before { background:linear-gradient(90deg,rgba(12,13,14,.97),rgba(12,13,14,.82) 58%,rgba(12,13,14,.4)); } .stl-hero-copy { padding:24px; } .stl-hero h1 { font-size:36px; } .stl-hero p { font-size:13px; } .stl-layout,.stl-controls ol { grid-template-columns:1fr; } .stl-controls ol { gap:18px; } .stl-details-body { padding:14px; } .stl-community { padding:22px 14px; } .st-kap-body { padding:14px; } }
@media(max-width:380px) { .stl-hero-copy { padding:20px; } .stl-hero h1 { font-size:30px; } .st-kap-thumb { width:46px; flex-basis:46px; } .st-kap-title { font-size:13px; } }
@media(prefers-reduced-motion:reduce) { .stl-lobby * { scroll-behavior:auto!important; transition:none!important; } }
/* Die vollständige Bestenliste trägt denselben Seitenrahmen. */
.st-hub .sl-wrap { max-width:1120px; padding:24px; font:14px/1.6 Inter,system-ui,sans-serif; }
.st-hub .sl-back { color:#d9bac3; font:12px Inter,system-ui,sans-serif; margin-bottom:24px; }
.st-hub .sl-eyebrow { color:#b5a9ae; }
.st-hub .sl-title { color:#f4eadd; font:700 clamp(28px,4vw,42px)/1.15 Inter,system-ui,sans-serif; letter-spacing:-.03em; text-shadow:none; }
.st-hub .sl-table th { color:#b5a9ae; border-color:#50404a; }
.st-hub .sl-table td { color:#e8dadd; border-color:#3b3037; }
.st-hub .sl-kap, .st-hub .sl-rank { color:#b5a9ae; }
.st-hub .sl-rank.top, .st-hub .sl-pts { color:#f3d6b1; }
.st-hub .sl-empty { color:#b5a9ae; }
.st-hub .sl-ending.gut { color:#a3d2af; border-color:#47654f; }
.st-hub .sl-ending.schlecht { color:#e98789; border-color:#86424b; }
.st-hub .sl-ending.session2 { color:#afa8eb; border-color:#655c9a; }
.st-hub .sl-ending.neutral { color:#c8b4bc; border-color:#70505b; }
.st-hub .sl-play-cta { color:#fff7eb; background:#bb3d49; border-color:#e5727d; border-radius:7px; min-height:46px; font:600 13px/1.5 Inter,system-ui,sans-serif; letter-spacing:0; }
.st-hub .sl-play-cta:hover { background:#d34c59; }
.stl-table-scroll { overflow-x:auto; border:1px solid #3b3037; border-radius:10px; background:#171419; margin-bottom:24px; padding:12px; }
.st-hub .sl-table { margin:0; min-width:540px; }
@media(max-width:680px) { .st-hub .sl-wrap { padding:18px 14px; } }
