/* Gemeinsame Retro-Optik (Windows-Look) für alle Spiele unter /spiele/. Alles unter .cs-root. */
.cs-root{background:#008080;padding:40px 12px 48px;color:#000;font-family:Tahoma,"MS Sans Serif",Verdana,Arial,sans-serif;font-size:12px;line-height:1.3}
.cs-root *,.cs-root *::before,.cs-root *::after{box-sizing:border-box}
.cs-root [hidden]{display:none!important}
.cs-root button,.cs-root select,.cs-root summary{font:inherit;color:#000;text-transform:none;letter-spacing:normal}
.cs-root button,.cs-root summary,.cs-root select{cursor:pointer}
.cs-root button{border-radius:0;background:#c0c0c0;border:2px solid;border-color:#fff #808080 #808080 #fff;box-shadow:none;margin:0;min-height:0;line-height:1.2}
.cs-root button:active,.cs-root button[aria-pressed=true]{border-color:#808080 #fff #fff #808080}
.cs-root button:disabled{color:#808080;text-shadow:1px 1px #fff;cursor:default}
.cs-root button:focus-visible,.cs-root select:focus-visible,.cs-root summary:focus-visible,.cs-root a:focus-visible{outline:1px dotted #000;outline-offset:-4px}
.cs-symbols{position:absolute;width:0;height:0;overflow:hidden}
.cs-window{width:300px;max-width:100%;margin:0 auto;background:#c0c0c0;border:3px solid;border-color:#fff #404040 #404040 #fff;padding:2px}
.cs-titlebar{display:flex;align-items:center;gap:5px;background:#000080;color:#fff;padding:3px 4px;min-height:24px}
.cs-titlebar>svg{width:16px;height:16px;background:#c0c0c0;image-rendering:pixelated;flex-shrink:0}
.cs-titlebar h1,.cs-titlebar h2{font-family:inherit;font-size:13px;line-height:18px;margin:0;font-weight:700;color:#fff;letter-spacing:normal;text-transform:none}
.cs-menubar{display:flex;align-items:center;gap:5px;padding:4px 2px;position:relative;min-height:28px}
.cs-menubar label{padding:2px;margin:0;font-weight:400}
.cs-menubar select{background:#c0c0c0;border:0;border-radius:0;font-size:12px;width:139px;padding:2px 0;height:auto;margin:0;box-shadow:none}
.cs-help{margin-left:auto}
.cs-help summary{list-style:none;padding:3px 8px}
.cs-help summary::-webkit-details-marker{display:none}
.cs-help[open] summary{background:#000080;color:#fff}
.cs-help>div{position:absolute;right:0;top:28px;width:270px;max-width:90vw;padding:12px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:#c0c0c0;box-shadow:2px 2px #000;z-index:10;font-size:13px;line-height:1.45}
.cs-help p{margin:10px 0;font-size:13px;line-height:1.45;color:#000}
.cs-game{padding:6px}
.cs-scoreboard{display:flex;align-items:center;justify-content:space-between;border:2px solid;border-color:#808080 #fff #fff #808080;padding:6px;margin-bottom:8px;height:52px}
.cs-digits{background:#000;border:1px solid;border-color:#808080 #fff #fff #808080;display:flex;gap:2px;padding:2px;width:48px;height:30px}
.cs-digit{position:relative;width:12px;height:24px;display:block;flex-shrink:0}
.cs-seg{background:#380000;position:absolute}
.cs-seg.cs-on{background:#f00}
.cs-seg.cs-a,.cs-seg.cs-g,.cs-seg.cs-d{width:10px;height:3px;left:1px;clip-path:polygon(20% 0,80% 0,100% 50%,80% 100%,20% 100%,0 50%)}
.cs-seg.cs-a{top:0}.cs-seg.cs-g{top:10px}.cs-seg.cs-d{top:21px}
.cs-seg.cs-b,.cs-seg.cs-c,.cs-seg.cs-e,.cs-seg.cs-f{width:3px;height:10px;clip-path:polygon(50% 0,100% 20%,100% 80%,50% 100%,0 80%,0 20%)}
.cs-seg.cs-b{top:1px;right:0}.cs-seg.cs-c{top:12px;right:0}.cs-seg.cs-e{top:12px;left:0}.cs-seg.cs-f{top:1px;left:0}
.cs-face{width:34px;height:34px;padding:4px;box-shadow:1px 1px #000}
.cs-face svg{width:22px;height:22px;display:block;shape-rendering:crispEdges;pointer-events:none}
.cs-titlebar h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-status{margin:7px 0 0;padding:4px;border:1px solid;border-color:#808080 #fff #fff #808080;font-size:11px;min-height:23px;line-height:14px;color:#000}

/* Dialogfenster unter dem Spiel: Sieg + Bestzeiten */
.cs-panel{margin-top:16px}
.cs-panel-body{padding:12px 10px;font-size:13px;line-height:1.45}
.cs-panel-body p{margin:0 0 10px;font-size:13px;line-height:1.45;color:#000}
.cs-panel-body strong{font-weight:700;color:#000}
.cs-actions{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.cs-root .cs-btn{display:block;width:100%;text-align:center;padding:7px 8px;min-height:32px;background:#c0c0c0;color:#000;text-decoration:none;border:2px solid;border-color:#fff #808080 #808080 #fff;box-shadow:1px 1px #000;font-size:13px}
.cs-root .cs-btn:active{border-color:#808080 #fff #fff #808080}
.cs-root .cs-btn-primary{font-weight:700;outline:1px solid #000;outline-offset:-5px}
.cs-stats{width:100%;border-collapse:collapse;margin:0 0 10px;font-size:12px}
.cs-stats th,.cs-stats td{padding:4px 6px;border:1px solid #808080;background:#fff;text-align:left;color:#000;font-weight:400}
.cs-stats thead th{background:#c0c0c0;font-weight:700}
.cs-hint{font-size:12px;color:#000;margin:0 0 8px}

/* Grafik-Vorschau */
.cs-dialog{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.cs-dialog[hidden]{display:none}
.cs-dialog .cs-window{width:340px;max-height:calc(100vh - 32px);display:flex;flex-direction:column}
.cs-dialog .cs-titlebar{justify-content:space-between}
.cs-close{width:22px;height:20px;padding:0;font-weight:700;font-size:12px;line-height:14px}
.cs-dialog .cs-panel-body{overflow:auto}
.cs-preview{display:block;width:100%;max-width:220px;aspect-ratio:9/16;margin:0 auto 10px;background:#008080;border:2px solid;border-color:#808080 #fff #fff #808080;object-fit:contain}
@media(min-width:700px){.cs-window{width:340px}.cs-root{padding-top:56px}}
.cs-root .cs-window.cs-wide{width:390px}
@media(min-width:700px){.cs-root .cs-window.cs-wide{width:430px}}
.cs-intro{text-align:center;padding:1rem 1.5rem 2rem;max-width:880px;margin:0 auto}
.cs-intro h1{font-family:"League Gothic","Oswald",sans-serif;font-weight:400;font-size:clamp(1.75rem,4vw,3rem);hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;letter-spacing:.06em;text-transform:uppercase;color:#253D48;margin:1rem 0 .75rem;line-height:1.1}
.cs-intro p{font-family:"Open Sans",sans-serif;font-size:1rem;line-height:1.7;color:#1D1D1D;margin:0}
.v7-page main.cs-main{padding-top:0!important}
@media(max-width:400px){.cs-root{padding-top:20px}}

.cs-mode{display:flex;gap:5px;margin-top:8px}
.cs-mode button{flex:1;padding:4px 2px;min-height:28px;display:flex;align-items:center;justify-content:center;gap:4px}
.cs-mode button[aria-pressed=true]{background:#d0d0d0}
.cs-mode svg{width:14px;height:14px;shape-rendering:crispEdges}

/* Sieg-Box leuchtet nach dem Sieg kurz auf */
@keyframes cspop{0%{transform:scale(.96)}40%{transform:scale(1.03)}100%{transform:scale(1)}}
.cs-root .cs-panel.cs-pop{animation:cspop .6s ease-out;box-shadow:0 0 0 4px #ffff00,2px 2px #000}
.cs-root.cs-modern .cs-panel.cs-pop{box-shadow:0 0 0 3px #c8ab6a,0 10px 30px rgba(11,37,54,.18)}
@media (prefers-reduced-motion: reduce){.cs-root .cs-panel.cs-pop{animation:none}}

/* Spiele-Leiste oben (auf allen Spieleseiten, unabhängig vom Spieldesign) */
.sp-nav{max-width:980px;margin:0 auto;padding:.25rem 1rem .5rem}
.sp-nav__track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;justify-content:safe center}
.sp-nav__item{flex:0 0 auto;width:84px;scroll-snap-align:start;text-decoration:none;color:#253D48;text-align:center;border-radius:12px;padding:5px;transition:background .15s,transform .15s}
.sp-nav__item:hover{background:#fff;transform:translateY(-2px)}
.sp-nav__img{display:block;width:74px;height:56px;margin:0 auto 5px;border-radius:9px;background:#253D48 center/cover no-repeat;box-shadow:0 3px 10px rgba(11,37,54,.15)}
.sp-nav__name{display:block;font:600 11px/1.25 "Open Sans",Arial,sans-serif;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-nav__item.is-current{background:#fff;box-shadow:0 0 0 2px #49757A inset}
.sp-nav__item.is-current .sp-nav__name{color:#49757A}
.sp-nav__grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:9px 14px;background:#EDEBDC}
.sp-nav__grid i{display:block;border-radius:4px;background:#49757A}.sp-nav__grid i:nth-child(2),.sp-nav__grid i:nth-child(3){background:#c8ab6a}
