.app-showcase { position: relative; width: 100%; margin: 64px auto 0; padding: 0 20px 86px; isolation: isolate; }
@font-face { font-family: 'Permanent Marker'; src: url('/permanent-marker.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
.showcase-iphone { position: relative; display: block; width: 375px; max-width: 100%; height: auto; margin: 0 auto; }
.showcase-languages { position: absolute; top: 104px; left: 50%; transform: translateX(-50%); width: 1400px; color: #ededed; font-family: 'Permanent Marker', cursive; font-size: 64px; font-style: normal; font-weight: 400; letter-spacing: 0; line-height: 92px; pointer-events: none; user-select: none; }
.showcase-languages { width: 100%; overflow: hidden; pointer-events: auto; color: rgba(0,0,0,.10); }
.language-group > span { transition: color 200ms ease; }
@media (hover: hover) { .language-group > span:hover { color: rgba(0,0,0,.20); } }
.language-row { overflow: hidden; }
.language-track { display: flex; width: max-content; animation: language-marquee var(--duration) linear infinite; animation-delay: var(--offset); will-change: transform; }
.language-group { display: flex; flex: 0 0 auto; align-items: center; gap: 32px; padding-right: 32px; white-space: nowrap; }
@keyframes language-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .language-track { animation: none; }
}
.demo-phone { position: relative; width: 310px; height: 624px; margin: auto; border: 3px solid #a9a9a7; border-radius: 48px; padding: 6px; background: #171717; box-shadow: 0 0 0 1px #d5d5d2, inset 0 0 0 2px #050505, 0 16px 30px #00000012; text-align: left; }
.demo-phone::before, .demo-phone::after { content: ''; position: absolute; left: -5px; width: 3px; background: linear-gradient(#a6a6a3, #737370, #bcbcb8); border-radius: 2px; }
.demo-phone::before { top: 118px; height: 38px; }
.demo-phone::after { top: 166px; height: 58px; }
.demo-screen { height: 100%; background: linear-gradient(#fff 84%, #151515 98%); border-radius: 38px; overflow: hidden; position: relative; display: flex; flex-direction: column; }
.demo-status { height: 48px; flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; font-size: 13px; font-weight: 600; letter-spacing: -.3px; color: #161616; }
.demo-time { width: 46px; text-align: center; }
.demo-system-icons { display: flex; align-items: center; gap: 4px; padding-top: 1px; }
.demo-phone .demo-system-icons svg { fill: currentColor; stroke: none; width: 14px; height: 10px; }
.demo-phone .demo-system-icons .demo-wifi { width: 13px; }
.demo-phone .demo-system-icons .demo-battery { width: 21px; height: 11px; }
.demo-status i { position: absolute; top: 11px; left: 50%; transform: translateX(-50%); width: 86px; height: 25px; background: #050505; border-radius: 20px; }
.demo-status i::after { content: ''; position: absolute; right: 9px; top: 8px; width: 7px; height: 7px; background: #111b24; border-radius: 50%; }
.demo-content { flex: 1; min-height: 0; padding: 16px 12px 0; position: relative; overflow: hidden; }
.demo-card-stack { position: relative; height: calc(100% - 40px); padding-top: 10px; }
.demo-back-card { position: absolute; top: 0; left: 12px; right: 12px; height: 80px; border: 1px solid #ebebeb; border-radius: 28px; background: #fafafa; }
.demo-back-card + .demo-back-card { top: 5px; left: 6px; right: 6px; }
.demo-word-card { position: relative; height: 100%; padding: 20px; border: 1px solid #ebebeb; border-radius: 28px; background: #fafafa; display: flex; flex-direction: column; justify-content: space-between; touch-action: pan-y; cursor: grab; }
.demo-word-copy h2 { margin: 0 0 6px; font-size: 30px; font-weight: 500; line-height: 1.15; letter-spacing: -.9px; overflow-wrap: anywhere; }
.demo-word-copy p { margin: 0; color: #b5b5b5; font-size: 16px; line-height: 1.4; }
.demo-phone button { font-family: inherit; appearance: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.demo-phone button:focus-visible, .demo-word-card:focus-visible { outline: 2px solid #888; outline-offset: 3px; }
.demo-phone svg { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.demo-card-actions { display: flex; gap: 8px; margin: 0 -10px -10px; }
.demo-card-actions button { flex: 1; height: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid #ffffffb3; border-radius: 99px; color: #888; background: #ffffff66; box-shadow: inset 0 0 12px #fff, 0 8px 30px #0000000b; transition: box-shadow 180ms, background 180ms; }
.demo-card-actions .demo-dark-button { color: #fff; background: #434343; box-shadow: inset 0 0 14px #ffffff80, 0 8px 25px #0000001a; border-color: #ffffff33; }
.demo-card-actions button:hover { box-shadow: inset 0 0 20px #ffffffbf; }
.demo-list-picker { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 10px auto 0; padding: 0 12px; height: 28px; max-width: 100%; background: transparent; border: 0; color: #888; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.demo-tabs { display: flex; gap: 10px; justify-content: center; padding: 9px 16px 22px; flex-shrink: 0; }
.demo-tabs button { display: flex; align-items: center; justify-content: center; gap: 7px; height: 42px; padding: 0 13px; border: 1px solid #ffffff28; border-radius: 99px; background: #ffffff18; color: #888; font-size: 13px; backdrop-filter: blur(16px); box-shadow: inset 0 0 10px #ffffff12; }
.demo-tabs button[aria-pressed=true] { color: #fff; background: #434343; box-shadow: inset 0 0 14px #ffffff40; }
.demo-tabs button svg { width: 20px; height: 20px; }
.demo-home-indicator { position: absolute; bottom: 7px; left: 50%; transform: translateX(-50%); height: 4px; width: 90px; border-radius: 8px; background: #ffffff80; }
.demo-list-title { font-size: 25px; font-weight: 500; letter-spacing: -.8px; margin: 5px 0 20px; }
.demo-search { display: flex; align-items: center; gap: 8px; padding: 0 12px; height: 44px; border-radius: 99px; box-shadow: inset 0 0 18px #fff, 0 8px 30px #00000008; background: #fafafa; color: #888; margin-bottom: 20px; }
.demo-search svg { width: 18px; height: 18px; }
.demo-search input { border: 0; background: transparent; min-width: 0; width: 100%; font: inherit; font-size: 14px; color: #434343; outline-offset: 4px; }
.demo-search input::placeholder { color: #b5b5b5; }
.demo-wordlists { max-height: calc(100% - 105px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; padding-bottom: 24px; }
.demo-list-row { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; text-align: left; padding: 0 12px; height: 58px; margin-bottom: 10px; border: 1px solid #ebebeb; border-radius: 16px; background: #fafafa; color: #434343; font-size: 17px; font-weight: 500; letter-spacing: -.5px; }
.demo-list-row[hidden] { display: none; }
.demo-list-row > span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.demo-list-row small { font-size: 10px; color: #b5b5b5; vertical-align: super; font-weight: 400; letter-spacing: 0; }
.demo-list-row svg { color: #b5b5b5; }
.demo-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.real-demo-viewport { flex: 1; min-height: 0; position: relative; background: #121212; overflow: hidden; }
.real-app-demo { display: block; border: 0; width: 390px; height: 746px; transform: scale(.748718); transform-origin: top left; }
@media (max-width: 640px) {
  .app-showcase { margin-top: 48px; padding-bottom: 64px; }
  .showcase-iphone { width: min(280px, 80%); }
  .showcase-languages { width: 100%; font-size: 40px; line-height: 60px; text-align: center; top: 50%; transform: translate(-50%, calc(-50% - 32px)); }
  .language-group { gap: 24px; padding-right: 24px; }
  .demo-phone { width: min(310px, 100%); }
}
@media (prefers-reduced-motion: reduce) { .demo-phone button { transition: none; } }
