/* --- Language Toggle --- */ html.lang-de [lang="en"] { display: none !important; } html:not(.lang-de) [lang="de"] { display: none !important; } /* --- Modern Glassmorphic Language Selector --- */ .lang-select-container { position: relative; display: inline-flex; align-items: center; gap: 8px; background: oklch(0.27 0.035 130 / 0.4); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 9999px; padding: 6px 14px; transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1); color: var(--text-muted); } .lang-select-container:hover { background: oklch(0.27 0.035 130 / 0.6); border-color: oklch(0.68 0.13 150 / 0.3); color: var(--text); box-shadow: 0 0 15px oklch(0.68 0.13 150 / 0.1); } .lang-select-container .globe-icon { width: 16px; height: 16px; flex-shrink: 0; opacity: 0.8; transition: transform 0.5s ease; } .lang-select-container:hover .globe-icon { transform: rotate(15deg); opacity: 1; } .lang-select-container .chevron-icon { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 12px; height: 12px; pointer-events: none; opacity: 0.6; } .lang-select-container:hover .chevron-icon { opacity: 1; } .lang-dropdown { appearance: none; -webkit-appearance: none; -moz-appearance: none; background: transparent; border: none; outline: none; font-family: inherit; font-size: 0.8rem; font-weight: 600; color: currentColor; cursor: pointer; padding: 0 28px 0 0; margin: 0; width: auto; min-width: 110px; overflow: hidden; } @supports (appearance: base-select) { .lang-dropdown::picker(select) { appearance: base-select; background-color: oklch(0.20 0.025 140); border: 1px solid oklch(0.32 0.03 125); border-radius: 8px; padding: 4px; font-family: 'Twemoji Country Flags', inherit; } } .lang-dropdown option { background: oklch(0.20 0.025 140); color: white; font-family: inherit; font-size: 0.9rem; } /* Light theme: the pill was designed on the dark glass recipe — by day it becomes frosted white so it sits in the same family as the buttons. */ html.theme-light .lang-select-container { background: rgba(255, 255, 255, 0.6); border-color: oklch(0.28 0.035 140 / 0.14); } html.theme-light .lang-select-container:hover { background: rgba(255, 255, 255, 0.85); border-color: oklch(0.56 0.13 150 / 0.35); box-shadow: 0 0 15px oklch(0.56 0.13 150 / 0.12); } html.theme-light .lang-dropdown option { background: #ffffff; color: oklch(0.21 0.03 140); } @supports (appearance: base-select) { html.theme-light .lang-dropdown::picker(select) { background-color: #ffffff; border-color: oklch(0.28 0.035 140 / 0.18); } } /* --- Hamburger Menu --- */ .hamburger { display: none; align-items: center; justify-content: center; background: none; border: none; color: var(--text); font-size: 1.5rem; cursor: pointer; padding: 0.25rem; line-height: 1; } /* --- Feature Cards: subtle differentiation --- */ .feature-card:nth-child(1) { --card-accent: oklch(0.68 0.13 150 / 0.06); } .feature-card:nth-child(2) { --card-accent: oklch(0.62 0.14 45 / 0.06); } .feature-card:nth-child(3) { --card-accent: oklch(0.68 0.13 150 / 0.06); } .feature-card:nth-child(4) { --card-accent: oklch(0.75 0.10 150 / 0.06); } .feature-card:nth-child(5) { --card-accent: oklch(0.68 0.14 45 / 0.06); } .feature-card:nth-child(6) { --card-accent: oklch(0.62 0.14 45 / 0.06); } .feature-card:nth-child(7) { --card-accent: oklch(0.62 0.14 45 / 0.06); } .feature-card:nth-child(8) { --card-accent: oklch(0.68 0.13 150 / 0.06); } .feature-card { background: linear-gradient(135deg, var(--card-accent, transparent), oklch(0.27 0.035 130 / 0.45)); } /* --- Compatibility Section --- */ .compat-section { padding: 0.5rem 0 2.5rem 0; text-align: center; background: transparent; border-bottom: 0; } .compat-mascot { display: block; margin: 0 auto 0.3rem auto; max-width: 270px; width: 100%; height: auto; transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); } .compat-mascot:hover { transform: scale(1.05) translateY(-5px) rotate(1deg); } .compat-heading { font-size: 1rem; font-weight: 600; color: var(--text-muted); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 1.4rem; } .compat-row { display: flex; justify-content: center; align-items: center; gap: 2.4rem 3rem; flex-wrap: wrap; } .compat-logo { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 700; color: var(--text-muted); transition: opacity 0.3s; opacity: 0.55; } .compat-logo:hover { opacity: 0.85; } .compat-logo img { width: 28px; height: 28px; display: block; } .compat-logo img.compat-logo-wide { width: 52px; height: 28px; object-fit: contain; } .compat-logo img.compat-logo-disneyplus-mark { width: 60px; height: 30px; object-fit: contain; filter: brightness(0) saturate(100%) invert(63%) sepia(12%) saturate(621%) hue-rotate(203deg) brightness(92%) contrast(88%); } html.theme-light .compat-logo img.compat-logo-disneyplus-mark { filter: none; } @media (max-width: 700px) { .compat-section { padding: 0 0 1.6rem; } .compat-mascot { max-width: 220px; margin-bottom: 0.1rem; } .compat-heading { font-size: 0.92rem; line-height: 1.55; margin-bottom: 1rem; } .compat-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.55rem 0.75rem; align-items: start; } .compat-logo { gap: 0.35rem; font-size: 0.72rem; } .compat-logo img { width: 26px; height: 26px; } .compat-logo img.compat-logo-wide { width: 48px; height: 26px; } .compat-logo img.compat-logo-disneyplus-mark { width: 56px; height: 28px; } .compat-logo-jellyfin { display: none; } .compat-more { grid-column: 1 / -1; justify-self: center; white-space: nowrap; } } .compat-more { opacity: 0.4; cursor: help; flex-direction: row; gap: 0.35rem; position: relative; } .compat-more:hover { opacity: 0.6; } .compat-more-icon { font-size: 1.1rem; font-weight: 700; color: var(--accent); line-height: 1; } .compat-tooltip { display: none; position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); background: var(--card); color: var(--text-muted); padding: 0.6rem 0.9rem; border-radius: 8px; font-size: 0.72rem; font-weight: 500; white-space: nowrap; border: 1px solid var(--glass-border); box-shadow: 0 8px 20px rgba(0,0,0,0.4); z-index: 10; line-height: 1.4; } .compat-tooltip::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top-color: var(--glass-border); } .compat-more:hover .compat-tooltip { display: block; }