:root{--base-gap: 1.25rem;--base-padding-horizontal: 2rem;--color-white: #ffffff;--color-grey-50: #f9fafb;--color-grey-100: #f3f4f6;--color-grey-200: #e5e7eb;--color-grey-300: #d1d5db;--color-grey-400: #9ca3af;--color-grey-500: #6b7280;--color-grey-600: #4b5563;--color-grey-700: #374151;--color-grey-800: #1f2937;--color-grey-900: #111827;--color-bg: var(--color-grey-50);--color-text-main: var(--color-grey-800);--color-text-muted: var(--color-grey-500);--color-selection-bg: rgba(37, 99, 235, .2);--color-selection-text: var(--color-grey-900);--color-action: var(--color-grey-900);--color-action-hover: var(--color-grey-700);--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-focus: rgba(37, 99, 235, .25);--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading: "Outfit", var(--font-sans);--weight-light: 300;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--line-height-none: 1;--line-height-tight: 1.15;--line-height-snug: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--line-height-loose: 1.8;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-hover: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 15px rgba(37, 99, 235, .4);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--gradient-card: linear-gradient( 135deg, var(--color-white), var(--color-grey-100) );--gradient-hero: linear-gradient( 145deg, var(--color-grey-900) 0%, var(--color-grey-800) 40%, #2a3b5c 100% )}@keyframes stroke-draw{0%{stroke-dasharray:0,100%}to{stroke-dasharray:100%,0}}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-bg);font-size:16px;line-height:var(--line-height-normal);color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background-color:var(--color-selection-bg);color:var(--color-selection-text)}::selection{background-color:var(--color-selection-bg);color:var(--color-selection-text)}*{margin:0;padding:0;box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-grey-900);line-height:var(--line-height-tight);margin-bottom:1rem;font-weight:var(--weight-bold);letter-spacing:-.03em}h1{font-size:clamp(2.5rem,6vw,4rem);letter-spacing:-.04em}h2{font-size:clamp(2rem,5vw,3rem)}h3{font-size:clamp(1.5rem,3.5vw,2.25rem)}h4{font-size:clamp(1.25rem,2.5vw,1.75rem)}h5{font-size:clamp(1.125rem,2vw,1.5rem)}h6{font-size:clamp(1rem,1.5vw,1.25rem)}p{margin-bottom:1rem;font-weight:var(--weight-normal);line-height:var(--line-height-relaxed);font-size:clamp(1rem,1.5vw,1.125rem)}b,strong{font-weight:var(--weight-semibold)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover,a:focus-visible{color:var(--color-accent-hover)}.content p,.content ul,.content ol{max-width:65ch}.content ul,.content ol{padding-left:1.5rem;margin-bottom:1rem;line-height:var(--line-height-relaxed);font-size:clamp(1rem,1.5vw,1.125rem)}.content li{margin-bottom:.5rem}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}.layout{background-color:var(--color-grey-100)}.container{margin:0 auto;padding:0 1rem;max-width:320px}@media(min-width:48rem){.container{padding:0 var(--base-padding-horizontal, 3rem);max-width:1024px}}.content{gap:1.25rem;display:flex;flex-direction:column}.content>p,.content>ul,.content>ol,.content>h1,.content>h2,.content>h3,.content>h4,.content>h5,.content>h6{margin-bottom:0}.page{gap:calc(var(--base-gap, 1.25rem) * 1.5);display:flex;width:100%;box-sizing:border-box;flex-direction:column;padding-top:3rem;padding-bottom:6rem}.horizontal{margin:0;padding:0;display:flex;flex-wrap:wrap;flex-direction:row;gap:var(--base-gap, 1.25rem);align-items:flex-end;list-style-type:none}.header{top:0;position:sticky;z-index:100;background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-grey-200)}.header__inner{display:flex;padding:1rem 0;position:relative;align-items:center;justify-content:space-between}.header__logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--color-grey-900)}.header__logo svg{width:2.5rem;height:auto;display:block}@media(min-width:48rem){.header__logo{gap:1rem}.header__logo svg{width:3rem}}.header__title{font-weight:900;font-size:1.5rem;white-space:nowrap;letter-spacing:-.025rem;margin-bottom:0;line-height:1}@media(min-width:48rem){.header__title{font-size:1.75rem}}.header__toggle{display:inline-flex;align-items:center;justify-content:center;height:2.75rem;padding:0 2rem;cursor:pointer;font-size:.875rem;text-transform:uppercase;letter-spacing:.025em;font-weight:var(--weight-semibold, 600);text-decoration:none;border-radius:var(--radius-md, .5rem);color:var(--color-white);background-color:var(--color-action, var(--color-grey-900));border:1px solid transparent;box-shadow:var(--shadow-sm);transition:all var(--transition-fast, .2s ease)}.header__toggle:hover{background-color:var(--color-action-hover, var(--color-grey-800));transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-white)!important}.header__toggle:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.header__toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-focus),var(--shadow-md)}.header__toggle{display:flex;font-size:1.4rem;padding:.5rem .75rem}@media(min-width:48rem){.header__toggle{display:none}}.header__toggle span{margin-top:-3px}.header__menu{left:0;padding:0;width:100%;gap:0;display:flex;overflow:hidden;position:absolute;margin-top:1.0625rem;list-style-type:none;box-sizing:border-box;flex-direction:column;background-color:var(--color-white);border:1px solid var(--color-grey-900);border-radius:0}@media(min-width:48rem){.header__menu{border:0;padding:0;margin-top:0;box-shadow:none;position:initial;flex-direction:row;background-color:transparent}}.header__menu-link{display:flex;align-items:center;height:100%;padding:.75rem 1.5rem;font-weight:var(--weight-semibold);text-decoration:none;color:var(--color-grey-900);text-transform:uppercase;font-size:.85rem;letter-spacing:.05em;background-color:transparent;transition:all .2s ease-in-out}.header__menu-link:hover,.header__menu-link:focus{background-color:var(--color-grey-900);color:var(--color-white)}@media(min-width:48rem){.header__menu-link:hover,.header__menu-link:focus{transform:translateY(-2px)}}@media(max-width:47.9375rem){.header__nav:not(.active) .header__menu{display:none}}.title{padding:5rem 0;background:var(--gradient-hero);color:var(--color-white)}.title h1,.title h2,.title h3,.title h4{font-family:var(--font-heading);color:var(--color-white);font-size:clamp(2.25rem,5vw,3.5rem);margin-bottom:1rem;font-weight:var(--weight-extrabold);letter-spacing:-.03em;line-height:var(--line-height-tight)}.title p{font-family:var(--font-sans);color:var(--color-grey-300);margin-bottom:0;font-size:clamp(1.125rem,1.5vw,1.25rem);font-weight:var(--weight-normal);line-height:var(--line-height-relaxed);max-width:60ch}.title__items{width:100%;display:flex;flex-direction:column}.featured{padding:5rem 0;display:flex;flex-direction:column;gap:3.5rem}.featured__more{display:inline-flex;align-items:center;justify-content:center;height:2.75rem;padding:0 2rem;cursor:pointer;font-size:.875rem;text-transform:uppercase;letter-spacing:.025em;font-weight:var(--weight-semibold, 600);text-decoration:none;border-radius:var(--radius-md, .5rem);color:var(--color-white);background-color:var(--color-action, var(--color-grey-900));border:1px solid transparent;box-shadow:var(--shadow-sm);transition:all var(--transition-fast, .2s ease)}.featured__more:hover{background-color:var(--color-action-hover, var(--color-grey-800));transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-white)!important}.featured__more:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.featured__more:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-focus),var(--shadow-md)}.featured__more{align-self:center}@media(min-width:48rem){.featured__more{align-self:flex-start}}.featured__title{gap:1.5rem;display:flex;flex-wrap:wrap;flex-direction:row;align-items:center;justify-content:space-between}.featured__title h2{margin-bottom:0}.featured__items{padding:0;margin:0;list-style-type:none;display:grid;gap:2.5rem;grid-template-columns:1fr}@media(min-width:48rem){.featured__items{grid-template-columns:repeat(3,1fr)}}.featured__items li{display:flex;justify-content:center}.app-preview{display:flex;flex-direction:column;height:100%;width:100%;text-decoration:none;background-color:var(--color-white);border-radius:.75rem;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;border:1px solid var(--color-grey-200);position:relative}.app-preview__icon{aspect-ratio:1/1;width:100%;flex-shrink:0;background:var(--color-grey-50);padding:0;display:flex;border-bottom:1px solid var(--color-grey-200)}.app-preview__icon img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.app-preview span{flex-grow:1;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:center;text-align:center;min-height:4.5rem;background-color:var(--color-grey-900);color:var(--color-white);text-transform:uppercase;font-weight:var(--weight-semibold);font-size:.85rem;letter-spacing:.05em;line-height:1.3;transition:background-color .3s ease,color .3s ease}.app-preview:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}.app-preview:hover span{background-color:var(--color-accent)}.app-preview:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-focus),var(--shadow-md);transform:translateY(-6px)}.app-preview:focus-visible span{background-color:var(--color-accent)}.app__screenshots{gap:1rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;scrollbar-width:none}.app__screenshots::-webkit-scrollbar{display:none}.app__screenshot{scroll-snap-align:center;flex-shrink:0}.app__screenshot img{height:auto;border:1px solid var(--color-grey-400);max-width:calc(320px - 5rem);border-radius:.5rem}.app__cover{height:25vh;min-height:15rem;width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.app__header{gap:2rem;display:grid;grid-template-rows:max-content 1fr}@media(min-width:48rem){.app__header{grid-template-rows:1fr;grid-template-columns:max-content 1fr}}.app__header img{width:100%;height:auto;max-width:20rem;overflow:hidden;border-radius:2rem;border:.0625rem solid var(--color-grey-400)}.app__title{gap:.5rem;display:flex;flex-direction:column}.app__description{gap:2rem;display:flex;flex-direction:column;align-items:flex-start}.app__links{align-items:center}.app__link{display:inline-flex;align-items:center;justify-content:center;height:2.75rem;padding:0 2rem;cursor:pointer;font-size:.875rem;text-transform:uppercase;letter-spacing:.025em;font-weight:var(--weight-semibold, 600);text-decoration:none;border-radius:var(--radius-md, .5rem);color:var(--color-white);background-color:var(--color-action, var(--color-grey-900));border:1px solid transparent;box-shadow:var(--shadow-sm);transition:all var(--transition-fast, .2s ease)}.app__link:hover{background-color:var(--color-action-hover, var(--color-grey-800));transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-white)!important}.app__link:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.app__link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-focus),var(--shadow-md)}.app__link{margin-top:-2px;padding:.775rem 2.5rem}.app__link-block{display:block}.app__link-block svg{width:10rem;height:auto}.app__screenshots-container{overflow:hidden;border-radius:.5rem;padding:1rem;background-color:var(--color-white);box-sizing:border-box;border:.0625rem solid var(--color-grey-400)}.app__screenshots{gap:1rem;flex-wrap:nowrap;overflow:auto}.app__screenshots:first-child{display:flex}@media(min-width:48rem){.app__screenshots:first-child{display:none}}.app__screenshots:last-child{display:none}@media(min-width:48rem){.app__screenshots:last-child{display:flex}}.app__screenshot img{height:auto;border:1px solid var(--color-grey-400);max-width:calc(320px - 5rem)}@media(min-width:48rem){.app__screenshot img{max-width:43rem}}.category-filters{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem;margin-bottom:2.5rem;justify-content:center}.category-filter-btn{padding:.5rem 1.25rem;border-radius:20px;border:2px solid #e2e8f0;background:transparent;color:#4a5568;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;outline:none}.category-filter-btn:hover{border-color:#cbd5e0;background:#f7fafc}.category-filter-btn.active{border-color:#4299e1;background:#4299e1;color:#fff}.app-item{transition:opacity .3s ease,transform .3s ease}form{width:31.25rem;max-width:100%;padding:calc(var(--base-gap, 1.25rem) * 1.5) calc(var(--base-gap, 1.25rem) * 1.5) calc(var(--base-gap, 1.25rem) * 2);border:1px solid var(--color-grey-300);border-radius:var(--radius-md, .5rem);background-color:var(--color-grey-200)}form fieldset{border:none;padding:0;margin:0 0 var(--base-gap, 1.25rem) 0}form input.hidden{display:none}form #Form_Form_error{color:var(--color-grey-900);background-color:var(--color-grey-300);font-size:1rem;margin-bottom:var(--base-gap, 1.25rem);padding:var(--base-gap, 1.25rem);border-radius:var(--radius-md, .5rem)}form fieldset .field{margin-bottom:1.5rem}form fieldset .field.required label:after{content:" *";color:var(--color-accent);font-weight:var(--weight-semibold, bold)}form fieldset .field label{display:block;font-size:1rem;color:var(--color-grey-800);font-weight:var(--weight-semibold, 600);margin-bottom:.5rem}form fieldset .field input[type=text],form fieldset .field input[type=email],form fieldset .field input[type=password],form fieldset .field textarea{width:100%;padding:.875rem 1rem;font-size:1rem;font-family:inherit;border:1px solid var(--color-grey-400);border-radius:var(--radius-md, .5rem);background-color:var(--color-white);transition:border-color var(--transition-fast, .2s ease),box-shadow var(--transition-fast, .2s ease)}form fieldset .field input[type=text]:hover,form fieldset .field input[type=email]:hover,form fieldset .field input[type=password]:hover,form fieldset .field textarea:hover{border-color:var(--color-grey-500)}form fieldset .field input[type=text]:focus,form fieldset .field input[type=email]:focus,form fieldset .field input[type=password]:focus,form fieldset .field textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-focus, rgba(37, 99, 235, .25));outline:none}form fieldset .field textarea{resize:vertical;min-height:6rem}form .btn-toolbar{display:flex;justify-content:flex-end;gap:1rem;margin-top:var(--base-gap)}form .btn-toolbar input[type=submit],form .btn-toolbar button[type=submit]{background-color:var(--color-accent);color:var(--color-white);border:1px solid transparent;padding:.75rem 1.75rem;font-size:1rem;font-weight:var(--weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}form .btn-toolbar input[type=submit]:hover:not(:disabled),form .btn-toolbar button[type=submit]:hover:not(:disabled){background-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}form .btn-toolbar input[type=submit]:active:not(:disabled),form .btn-toolbar button[type=submit]:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}form .btn-toolbar input[type=submit]:focus-visible,form .btn-toolbar button[type=submit]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-white),0 0 0 6px var(--color-accent)}form .btn-toolbar input[type=submit]:disabled,form .btn-toolbar button[type=submit]:disabled{background-color:var(--color-grey-300);color:var(--color-grey-500);cursor:not-allowed;transform:none;box-shadow:none}.footer{padding:4rem var(--base-padding-horizontal) 3rem;background-color:var(--color-grey-900);color:var(--color-grey-100);text-align:center;font-size:.875rem}.footer__container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.footer__text{margin:0;font-size:.9375rem;color:var(--color-grey-400)}.footer__list{list-style-type:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem}.footer__item{margin:0}.footer__link{text-decoration:none;font-size:.9375rem;font-weight:var(--weight-medium);color:var(--color-grey-300);transition:color .2s ease,text-decoration-color .2s ease;text-decoration-color:transparent;text-underline-offset:4px}.footer__link:hover{color:var(--color-accent);text-decoration:underline;text-decoration-color:var(--color-accent)}.footer__link:active{color:var(--color-accent-hover)}.footer__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:2px;color:var(--color-white)}.languages-bar{font-size:.85rem;background-color:var(--color-grey-900);padding:.5rem var(--base-padding-horizontal)}.languages-bar .horizontal{justify-content:center}.languages-bar,.languages-bar a{color:var(--color-grey-100)}.languages-bar a{text-decoration:none;text-underline-offset:.25rem}.languages-bar a:hover,.languages-bar a.active{text-decoration:underline}.hero{position:relative;box-sizing:border-box;background:var(--gradient-hero, linear-gradient(135deg, var(--color-grey-800), var(--color-grey-900)));background-attachment:fixed;height:calc(100vh - 6.25rem);min-height:500px;display:flex;justify-content:center;align-items:center;overflow:hidden}.hero>.container{position:relative;z-index:1;width:100%;display:flex;justify-content:center}.hero svg{width:auto;height:110%;-o-object-fit:cover;object-fit:cover;position:absolute;background-color:transparent}.hero svg path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:.3125rem;stroke:var(--color-grey-700);animation:stroke-draw 3s ease forwards}.hero__inner{gap:2rem;z-index:1;position:relative;display:flex;padding:2.5rem 2rem;align-items:center;flex-direction:column;width:100%;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xl, 1.25rem);box-shadow:var(--shadow-lg);max-width:600px;text-align:center;animation:fade-in .6s cubic-bezier(.16,1,.3,1) forwards}@media(min-width:1024px){.hero__inner{padding:3.5rem 4rem;gap:3rem;max-width:900px;flex-direction:row;justify-content:space-between;text-align:left}}.hero__text-block{display:flex;flex-direction:column;gap:1rem;flex:1}.hero__text-block .hero__title{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin:0;color:var(--color-grey-900);font-weight:var(--weight-semibold, 700);letter-spacing:-.02em}.hero__text-block .hero__subtitle{font-size:1.125rem;margin:0;color:var(--color-grey-700);max-width:35rem}.hero__action{display:flex;align-items:center;justify-content:center;flex-shrink:0}.hero__link{display:inline-flex;align-items:center;justify-content:center;height:3.25rem;padding:0 2rem;cursor:pointer;font-size:.875rem;text-transform:uppercase;letter-spacing:.025em;font-weight:var(--weight-semibold, 600);text-decoration:none;border-radius:var(--radius-md, .5rem);color:var(--color-white);background-color:var(--color-action, var(--color-grey-900));border:1px solid transparent;box-shadow:var(--shadow-sm);transition:all var(--transition-fast, .2s ease)}.hero__link:hover{background-color:var(--color-action-hover, var(--color-grey-800));transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-white)!important}.hero__link:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.hero__link{padding:0 2.5rem;font-size:1rem;background-color:var(--color-action, var(--color-grey-900));color:var(--color-white);border-radius:var(--radius-md, .5rem);font-weight:var(--weight-semibold, 600);white-space:nowrap;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.hero__link:hover{background-color:var(--color-accent);transform:translateY(-3px);box-shadow:var(--shadow-md)}.hero__link:active{transform:translateY(0)}.hero__link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-focus),var(--shadow-md)}@media(min-width:1024px){.hero__link{padding:0 3rem;font-size:1.125rem}}
