:root{--bg:#1b1512;--bg-raised:#261e19;--line:#3a2f27;--text:#c9bcae;--text-h:#fbf3e6;--muted:#8d7f72;--accent:#f7c843;--ink:#120d0a;--sans:"Nunito", system-ui, "Segoe UI", Roboto, sans-serif;--display:"Baloo 2", "Nunito", system-ui, sans-serif;font:17px/1.55 var(--sans);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 50% -200px, #3a2a1c 0%, transparent 70%), var(--bg);min-height:100vh;margin:0}#root{max-width:1120px;margin:0 auto;padding:0 20px}h1,h2,h3{font-family:var(--display);color:var(--text-h);margin:0;line-height:1.1}a{color:inherit}img{max-width:100%;display:block}.site-header{justify-content:space-between;align-items:center;padding:24px 0;display:flex}.brand{font-family:var(--display);color:var(--text-h);align-items:center;gap:10px;font-size:1.5rem;font-weight:800;text-decoration:none;display:flex}.brand-mark{background:var(--accent);width:36px;height:36px;color:var(--ink);border-radius:10px;place-items:center;font-size:1.3rem;line-height:1;display:grid;box-shadow:0 3px #b8901f}.site-header nav{align-items:center;gap:20px;display:flex}.lang-picker{position:relative}.lang-button{border:1px solid var(--line);background:var(--bg-raised);color:var(--text-h);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:7px 10px;font-size:.88rem;font-weight:700;transition:border-color .15s;display:flex}.lang-button:hover,.lang-button[aria-expanded=true]{border-color:var(--accent)}.lang-button:focus-visible,.lang-list:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.flag{object-fit:cover;border-radius:3px;flex:none;width:20px;height:15px;box-shadow:0 0 0 1px #ffffff1f}.chevron{fill:none;width:12px;height:12px;stroke:var(--muted);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}.lang-button[aria-expanded=true] .chevron{transform:rotate(180deg)}.lang-list{z-index:20;border:1px solid var(--line);background:var(--bg-raised);border-radius:16px;width:260px;max-height:min(500px,100dvh - 90px);margin:0;padding:6px;list-style:none;animation:.12s ease-out lang-pop;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 16px 40px #00000080}@keyframes lang-pop{0%{opacity:0;transform:translateY(-4px)}}.lang-list li{cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:8px 10px;display:flex}.lang-list li.active{background:#ffffff0f}.lang-list li[aria-selected=true]{color:var(--text-h)}.lang-names{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.lang-names>span{color:var(--text-h);font-weight:700}.lang-names small{color:var(--muted);font-size:.75rem}.check{fill:none;width:16px;height:16px;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}@media (width<=560px){.lang-button-name{display:none}.lang-list{width:min(260px,100vw - 32px)}}@media (prefers-reduced-motion:reduce){.lang-list{animation:none}}.site-header nav a{white-space:nowrap}@media (width<=480px){.site-header{gap:12px}.site-header nav{gap:12px;font-size:.9rem}.brand{font-size:1.3rem}}.site-header nav a,.site-footer a{color:var(--muted);font-weight:700;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current],.site-footer a:hover{color:var(--text-h)}.footer-links{flex-wrap:wrap;gap:20px;display:flex}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:96px;padding:28px 0 40px;font-size:.9rem;display:flex}.kind{letter-spacing:.08em;text-transform:uppercase;color:var(--app-accent,var(--accent));font-size:.78rem;font-weight:800;display:inline-block}.app-icon{border-radius:22.5%;flex:none;width:64px;height:64px;box-shadow:0 0 0 1px #ffffff14,0 8px 20px #0006}.app-icon.large{width:128px;height:128px}.intro{max-width:720px;padding:56px 0 48px}.intro h1{margin-bottom:16px;font-size:clamp(2.2rem,6vw,3.6rem)}.intro p{margin:0;font-size:1.15rem}.app-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px;display:grid}.app-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:24px;text-decoration:none;transition:transform .2s,border-color .2s;display:block;overflow:hidden}.app-card:hover{border-color:var(--app-accent);transform:translateY(-4px)}.app-card-shot{aspect-ratio:16/9;object-fit:cover;object-position:top;width:100%;display:block}.app-card-body{align-items:flex-start;gap:12px;padding:12px 14px 14px;display:flex}.app-card-body>div{flex:1;min-width:0}.app-card-body .app-icon{width:44px;height:44px}.app-card .kind{font-size:.68rem}.app-card h3{text-overflow:ellipsis;white-space:nowrap;margin:1px 0 2px;font-size:1.08rem;overflow:hidden}.card-subtitle{min-height:2.8em;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.86rem;line-height:1.4;display:-webkit-box;overflow:hidden}.card-meta{white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.card-flags{flex:none;align-items:center;gap:8px;display:flex}.card-status{color:var(--app-accent);align-items:center;gap:6px;padding-left:3px;font-size:.72rem;font-weight:800;display:inline-flex}.card-status:before{content:"";width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 25%, transparent);background:currentColor;border-radius:50%;flex:none}.no-ai-badge.icon{cursor:help;display:inline-flex}.app-hero{align-items:flex-start;gap:32px;padding:40px 0 48px;display:flex}.app-hero h1{margin:4px 0 12px;font-size:clamp(2rem,5vw,3.2rem)}.tagline{max-width:620px;margin:0 0 24px;font-size:1.15rem}.actions{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.store-button{background:var(--app-accent);color:var(--ink);font-family:var(--display);box-shadow:0 4px 0 color-mix(in srgb, var(--app-accent) 60%, black);border-radius:14px;align-items:center;gap:10px;padding:10px 20px 10px 16px;font-size:1.25rem;font-weight:800;line-height:1;text-decoration:none;transition:transform .1s,box-shadow .1s;display:inline-flex}.store-button:hover{box-shadow:0 3px 0 color-mix(in srgb, var(--app-accent) 60%, black);transform:translateY(1px)}.store-button svg{fill:currentColor;width:28px;height:28px}.store-button small{font-family:var(--sans);margin-bottom:2px;font-size:.7rem;font-weight:700;display:block}.facts{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.facts li{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:700}.shots{scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-color:var(--line) transparent;gap:16px;margin:0 -20px;padding-inline:20px;display:flex;overflow-x:auto}.shots img{aspect-ratio:600/1304;object-fit:cover;scroll-snap-align:start;background:var(--bg-raised);border-radius:20px;flex:none;width:240px}.about{padding-top:56px}.lead{color:var(--text-h);max-width:760px;margin:0 0 40px;font-size:1.3rem}.features{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px;display:grid}.features article{background:var(--bg-raised);border:1px solid var(--line);border-radius:20px;padding:24px}.features h3{color:var(--app-accent);margin-bottom:8px;font-size:1.25rem}.features p{margin:0}.links{flex-wrap:wrap;gap:24px;padding-top:48px;display:flex}.links a{-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px;font-weight:700}.links a:hover{-webkit-text-decoration-color:var(--app-accent);text-decoration-color:var(--app-accent)}@media (width<=640px){.app-hero{flex-direction:column;gap:20px;padding-top:16px}.app-icon.large{width:96px;height:96px}.shots img{width:200px}}.intro a{color:var(--accent);font-weight:700}.intro .kind{margin-bottom:12px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.section-head h2{font-size:1.8rem}.filters{background:var(--bg-raised);border:1px solid var(--line);border-radius:999px;gap:4px;padding:4px;display:flex}.filters button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 16px;font-size:.9rem;font-weight:800}.filters button:hover{color:var(--text-h)}.filters button.active{background:var(--accent);color:var(--ink)}.card-stores{text-overflow:ellipsis;min-width:0;color:var(--muted);font-size:.78rem;font-weight:700;overflow:hidden}.store-button.secondary{color:var(--text-h);box-shadow:inset 0 0 0 2px var(--line);background:0 0}.store-button.secondary:hover{box-shadow:inset 0 0 0 2px var(--app-accent);transform:none}.store-button.soon,.store-button.soon:hover{color:var(--muted);box-shadow:inset 0 0 0 2px var(--line);cursor:default}.cv-head{padding:40px 0 16px}.cv-head h1{margin:8px 0 16px;font-size:clamp(2.2rem,6vw,3.6rem)}.cv-links{flex-wrap:wrap;gap:8px;margin:0 0 32px;padding:0;list-style:none;display:flex}.cv-links a{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:700;text-decoration:none;display:block}.cv-links a:hover{border-color:var(--accent);color:var(--text-h)}.cv-section{padding-top:56px}.cv-section h2{margin-bottom:24px;font-size:1.8rem}.timeline{margin:0;padding:0;list-style:none}.timeline>li{border-top:1px solid var(--line);grid-template-columns:180px 1fr;gap:24px;padding:28px 0;display:grid}.timeline-meta{color:var(--muted);flex-direction:column;gap:2px;font-size:.9rem;font-weight:700;display:flex}.timeline h3{font-size:1.4rem}.job-title{color:var(--accent);margin:2px 0 12px;font-weight:700}.points{margin:0 0 16px;padding-left:20px}.points li+li{margin-top:4px}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chips li{background:var(--bg-raised);border:1px solid var(--line);color:var(--text-h);border-radius:8px;padding:3px 10px;font-size:.82rem;font-weight:700}.skills{gap:16px;margin:0;display:grid}.skills>div{grid-template-columns:180px 1fr;gap:24px;display:grid}.skills dt{color:var(--muted);font-weight:800}.skills dd{margin:0}.cv-projects{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.cv-projects a{background:var(--bg-raised);border:1px solid var(--line);border-radius:16px;align-items:center;gap:14px;padding:12px;text-decoration:none;display:flex}.cv-projects a:hover{border-color:var(--accent)}.cv-projects .app-icon{width:48px;height:48px}.cv-projects strong{color:var(--text-h);display:block}.cv-projects small{color:var(--muted)}.two-col{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:48px;display:grid}.plain{margin:0;padding:0;list-style:none}.plain li+li{margin-top:20px}.plain h3{font-size:1.15rem}.plain p{margin:4px 0}.plain small{color:var(--muted);font-weight:700}@media (width<=640px){.timeline>li,.skills>div{grid-template-columns:1fr;gap:8px}.timeline-meta{flex-flow:wrap;gap:4px 12px}}.legal{max-width:760px;margin:0 auto}.legal-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 0 32px;display:flex}.legal-app{color:var(--muted);align-items:center;gap:12px;font-weight:700;text-decoration:none;display:flex}.legal-app:hover{color:var(--text-h)}.legal-app .app-icon{width:40px;height:40px}.legal-doc h1{margin:6px 0 8px;font-size:clamp(2rem,5vw,2.8rem)}.legal-updated{color:var(--muted);margin:0 0 32px;font-size:.9rem;font-weight:700}.legal-doc .lead{margin-bottom:8px;font-size:1.15rem}.legal-doc section{padding-top:28px}.legal-doc h2{color:var(--app-accent);margin-bottom:10px;font-size:1.4rem}.legal-doc p{margin:0 0 12px}.legal-doc ul{margin:0 0 12px;padding-left:22px}.legal-doc li+li{margin-top:4px}.legal-doc a{color:var(--app-accent)}.legal-meta{background:var(--bg-raised);border:1px solid var(--line);border-radius:16px;flex-wrap:wrap;gap:8px 32px;margin:0 0 32px;padding:16px 20px;display:flex}.legal-meta dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:800}.legal-meta dd{color:var(--text-h);overflow-wrap:anywhere;margin:0;font-weight:700}.legal-doc h3{margin:20px 0 8px;font-size:1.1rem}.legal-doc strong{color:var(--text-h)}.legal-table{border:1px solid var(--line);border-radius:14px;margin:0 0 16px;overflow-x:auto}.legal-table table{border-collapse:collapse;width:100%;font-size:.95rem}.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:12px 14px}.legal-table th{background:var(--bg-raised);color:var(--text-h);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:800}.legal-table td+td{min-width:10rem}.legal-table tr+tr td,.legal-table tbody tr:first-child td{border-top:1px solid var(--line)}.app-icon.wide{border-radius:12px}.app-hero.wide-art{align-items:center}.app-card{position:relative}.app-card-shot.landscape{object-position:center}.facts li.highlight{border-color:var(--app-accent);color:var(--app-accent)}.stats{flex-wrap:wrap;gap:12px;margin:20px 0 0;display:flex}.stats>div{border:1px solid var(--line);background:var(--bg-raised);border-radius:16px;flex-direction:column-reverse;min-width:140px;padding:12px 18px;display:flex}.stats dt{color:var(--muted);font-size:.85rem;font-weight:700}.stats dd{font-family:var(--display);color:var(--app-accent);margin:0;font-size:2rem;font-weight:800;line-height:1.1}.trailer{aspect-ratio:16/9;scroll-snap-align:start;border:1px solid var(--line);background:#000;border-radius:14px;flex:none;width:480px;position:relative;overflow:hidden}.trailer video{object-fit:cover;width:100%;height:100%;display:block}.trailer-play{cursor:pointer;background:linear-gradient(#0000001a,#00000073);border:0;place-items:center;display:grid;position:absolute;inset:0}.trailer-play svg{background:var(--app-accent);width:72px;height:72px;fill:var(--ink);border-radius:50%;padding:18px 15px 18px 21px;transition:transform .15s;box-shadow:0 10px 30px #00000080}.trailer-play:hover svg,.trailer-play:focus-visible svg{transform:scale(1.08)}.trailer-play:focus-visible{outline:3px solid var(--app-accent);outline-offset:-3px}.trailer-error{background:var(--bg-raised);color:var(--text-h);border-radius:999px;padding:8px 16px;font-weight:700;text-decoration:none;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.shots.landscape img{aspect-ratio:16/9;border-radius:14px;width:480px}@media (width<=640px){.shots.landscape img,.trailer{width:300px}.trailer-play svg{width:68px;height:68px;padding:17px 14px 17px 20px}}.community{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.community-link{border:1px solid var(--line);background:var(--bg-raised);color:var(--text-h);border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 11px;font-size:.88rem;font-weight:700;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.community-link svg{fill:currentColor;width:18px;height:18px}.community-link.discord:hover{background:#5865f226;border-color:#5865f2}.community-link.youtube:hover{background:#ff00331f;border-color:#f03}.community-link.x:hover{border-color:var(--text-h);background:#ffffff14}.news{padding-top:64px}.news-all{color:var(--app-accent);font-weight:700;text-decoration:none}.news-all:hover{text-decoration:underline}.news-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:12px;display:grid}.news-card{border:1px solid var(--line);background:var(--bg-raised);border-radius:16px;gap:14px;padding:10px;text-decoration:none;transition:border-color .15s;display:flex}.news-card:hover{border-color:var(--app-accent)}.news-card img{aspect-ratio:16/9;object-fit:cover;background:#000;border-radius:10px;flex:none;align-self:flex-start;width:128px}.news-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.news-meta{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:.75rem;font-weight:700;display:flex}.news-type{border:1px solid var(--line);border-radius:999px;padding:1px 8px}.news-type.update{border-color:var(--app-accent);color:var(--app-accent)}.news-card h3{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.news-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.45;display:-webkit-box;overflow:hidden}.credits{padding-top:48px}.credits h2{margin-bottom:16px;font-size:1.8rem}.credits dl{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px;margin:0;display:grid}.credits dl>div{border:1px solid var(--line);background:var(--bg-raised);border-radius:16px;padding:14px 18px}.credits dt{letter-spacing:.06em;text-transform:uppercase;color:var(--app-accent);font-size:.75rem;font-weight:800}.credits dd{color:var(--text-h);margin:4px 0 0;font-weight:700}.details{padding-top:48px}.details h2{margin-bottom:16px;font-size:1.8rem}.details dl{border:1px solid var(--line);border-radius:16px;margin:0;overflow:hidden}.details dl>div{grid-template-columns:160px 1fr;gap:16px;padding:11px 18px;display:grid}.details dl>div+div{border-top:1px solid var(--line)}.details dl>div:nth-child(odd){background:var(--bg-raised)}.details dt{color:var(--muted);font-weight:700}.details dd{color:var(--text-h);margin:0}@media (width<=480px){.details dl>div{grid-template-columns:1fr;gap:2px}}.details dd a{color:var(--app-accent);font-weight:700}.no-ai-badge{white-space:nowrap;align-items:center;gap:7px;font-weight:800;display:inline-flex}.no-ai-mark{background:linear-gradient(140deg,#8ff0b8,#4cc283);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid;box-shadow:inset 0 -1px #0000002e}.no-ai-mark svg{fill:#10301f;stroke:#10301f;stroke-width:0;width:12px;height:12px}.no-ai-mark svg path+path{fill:none;stroke-width:1.6px;stroke-linecap:round}.facts li.no-ai{color:#a6ecc4;background:linear-gradient(90deg,#6fcf9729,#6fcf970a);border-color:#6fcf9773;padding:3px 12px 3px 4px}.no-ai-badge.assisted .no-ai-mark{background:linear-gradient(140deg,#d2c4ff,#9579f2)}.no-ai-badge.assisted .no-ai-mark svg{fill:#1f1640}.facts li.no-ai.assisted{color:#cdbfff;background:linear-gradient(90deg,#a087f52e,#a087f50a);border-color:#a087f573}.stats>.wide{justify-content:flex-end;max-width:100%}.stats>.wide dd{font-family:var(--sans);color:var(--text-h);padding-bottom:6px;font-size:1.05rem;line-height:1.35}.filter-groups{flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;display:flex}.filter-groups .filters{scrollbar-width:none;min-width:0;max-width:100%;overflow-x:auto}.filter-groups .filters button{flex:none}.no-results{text-align:center;color:var(--muted);margin:0;padding:40px 0}
