:root{--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-heading: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--bg: #0b0b0f;--surface: #15151c;--surface-2: #1e1e27;--border: rgba(255, 255, 255, .1);--border-strong: #8a8a96;--text: #f4f4f6;--text-muted: #b4b4c0;--btn-bg: #f4f4f6;--btn-text: #0b0b0f;--c-violet: #c9a8ff;--c-blue: #7cc4ff;--c-green: #6ee7a0;--c-orange: #ffb366;--c-pink: #f5a9b8;--c-red: #ff9d9d;--focus: var(--c-blue);--hue: var(--text);--radius: 8px;--radius-sm: 6px;--header-h: 60px;--gutter: 16px;--pride: linear-gradient(90deg, #000 0 9%, #784f17 9% 18%, #5bcefa 18% 27%, #f5a9b8 27% 36%, #fff 36% 45%, #e40303 45% 54.2%, #ff8c00 54.2% 63.4%, #ffed00 63.4% 72.6%, #008026 72.6% 81.8%, #004dff 81.8% 91%, #750787 91% 100%);--rainbow: linear-gradient(90deg, #e40303, #ff8c00, #ffed00, #008026, #004dff, #750787);color-scheme:dark}:root[data-theme=light]{--bg: #f7f6f3;--surface: #ffffff;--surface-2: #efede8;--border: rgba(20, 20, 26, .1);--border-strong: #6b6a75;--text: #14141a;--text-muted: #43434d;--btn-bg: #14141a;--btn-text: #ffffff;--c-violet: #5b21b6;--c-blue: #1e3a8a;--c-green: #14532d;--c-orange: #7c2d12;--c-pink: #831843;--c-red: #7f1d1d;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;min-height:100vh;font-family:var(--font-body);font-size:1rem;line-height:1.6;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2;margin:0 0 .5em;font-weight:700}p{margin:0 0 1.5em}main p,main li{max-width:75ch}p:last-child{margin-bottom:0}a{color:inherit;text-underline-offset:3px}code{font-family:var(--font-mono);font-size:.9em;padding:.1em .35em;border-radius:4px;background:var(--surface-2)}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:8px;z-index:2000;padding:.7rem 1rem;border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--btn-text);font-weight:700;text-decoration:none}.skip-link:focus{top:8px}.container{width:100%;max-width:1120px;margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}.ph,.ph-fill{display:inline-block;flex-shrink:0;line-height:1}.pride-stripe{height:4px;background:var(--pride)}.btn,.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.7rem 1.25rem;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}.btn-primary,.submit-btn{background:var(--btn-bg);color:var(--btn-text)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn:hover,.submit-btn:hover:not(:disabled){transform:translateY(-1px)}.btn-ghost:hover{background:var(--surface-2)}.submit-btn:disabled{opacity:.55;cursor:not-allowed}.primary-link{color:var(--c-blue);font-weight:500}.primary-link:hover{text-decoration-thickness:2px}.primary-link .ph-arrow-square-out,.footer-link .ph-arrow-square-out,.nav-link .ph-arrow-square-out{font-size:.75em;opacity:.75}.header{position:sticky;top:0;z-index:1000;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px)}.header-content{display:flex;flex-wrap:wrap;align-items:center;align-content:center;padding-top:8px;padding-bottom:8px;gap:.5rem;min-height:var(--header-h)}.logo{display:inline-flex;align-items:center;min-height:44px;margin-right:auto;font-family:var(--font-heading);font-weight:700;font-size:1.05rem;letter-spacing:.12em;text-decoration:none;padding:.5rem 0}.icon-btn,.nav-toggle,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:44px;min-height:44px;padding:0 .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;font-size:.95rem;font-weight:500}.nav-toggle .ph-fill,.theme-toggle .ph-fill{font-size:1.2rem}.theme-toggle{padding:0}.theme-toggle .moon-icon{display:none}:root[data-theme=light] .theme-toggle .sun-icon{display:none}:root[data-theme=light] .theme-toggle .moon-icon{display:inline-block}.header-nav{display:none;order:10;flex:1 0 100%;padding:0 0 .75rem}.header-nav.is-open{display:block}.nav-links{display:flex;flex-direction:column}.nav-link{display:flex;align-items:center;gap:.6rem;min-height:48px;padding:0 .5rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:500}.nav-link:hover,.nav-link[aria-current=page]{background:var(--surface-2)}@media(min-width:720px){.nav-toggle{display:none}.header-nav{display:block;order:0;flex:0 1 auto;padding:0}.nav-links{flex-direction:row;gap:.25rem}.nav-link{min-height:44px;padding:0 .8rem;border-radius:var(--radius-sm);font-size:.95rem}.nav-link .ph-fill:first-child{display:none}}main{padding-bottom:3rem}.section-block{padding:3rem 0 0}.section-head{margin-bottom:1.25rem}.section-title{display:flex;align-items:center;gap:.5rem;font-size:clamp(1.4rem,1.1rem + 1.4vw,1.9rem);margin:0 0 .35rem}.section-title .ph-fill{font-size:.85em}.section-lead{color:var(--text-muted);max-width:42rem;margin:0}.text-muted{color:var(--text-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.hero{padding:2.5rem 0 .5rem}.hero-kicker{display:block;margin:0 0 .75rem;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.hero-title-wrap{display:inline-grid;gap:.2em;margin-bottom:1rem;font-size:clamp(2.6rem,1.6rem + 6vw,5rem)}.hero-title{font-size:1em;letter-spacing:-.02em;line-height:1;margin:0}.rainbow-rule{height:6px;border-radius:3px;background:var(--rainbow)}.hero-subtitle{max-width:34rem;margin:0 0 1.5rem;font-size:clamp(1.05rem,1rem + .4vw,1.25rem);color:var(--text-muted)}.hero-actions{display:flex;flex-direction:column;gap:.75rem}@media(min-width:480px){.hero-actions{flex-direction:row;flex-wrap:wrap}}@media(min-width:720px){.hero{padding-top:4rem}}.search-input-group{position:relative;display:flex;align-items:center;margin-bottom:.75rem}.search-icon{position:absolute;left:1rem;font-size:1.15rem;color:var(--text-muted);pointer-events:none}.search-input{width:100%;min-height:50px;padding:.7rem 3rem .7rem 2.75rem;font-size:1rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);-webkit-appearance:none;appearance:none}.search-input::placeholder{color:var(--text-muted)}.search-input::-webkit-search-cancel-button{display:none}.search-clear{position:absolute;right:3px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:var(--radius-sm);background:transparent}.search-clear:hover{background:var(--surface-2)}.services-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.filter-tab{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;min-height:44px;padding:0 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;font-size:.925rem;font-weight:500;white-space:nowrap}.filter-tab .ph-fill{color:var(--hue)}.filter-tab:hover{background:var(--surface-2)}.filter-tab.active{background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-bg)}.filter-tab.active .ph-fill{color:inherit}.tab-count{min-width:1.5em;padding:0 .4em;border-radius:4px;background:var(--surface-2);color:var(--text-muted);font-size:.8em;text-align:center}.filter-tab.active .tab-count{background:color-mix(in srgb,var(--btn-text) 18%,transparent);color:inherit}[data-category=premium],.filter-tab[data-filter=premium],.legend-item.premium{--hue: var(--c-violet)}[data-category=user-required],.filter-tab[data-filter=user-required],.legend-item.user-required{--hue: var(--c-blue)}[data-category=free],.filter-tab[data-filter=free],.legend-item.free{--hue: var(--c-green)}[data-category=documentation],.filter-tab[data-filter=documentation],.legend-item.documentation{--hue: var(--c-orange)}[data-category=coming-soon]{--hue: var(--text-muted)}.group-note{margin-bottom:1rem}.group-note p{margin:0}.group-note p+p{margin-top:.5rem}.services-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}@media(min-width:560px){.services-grid{grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:.75rem}}.service-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:.4rem .9rem;width:100%;min-height:72px;padding:.85rem 1rem;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease,background-color .15s ease;-webkit-tap-highlight-color:transparent}.service-card:hover{border-color:var(--hue);transform:translateY(-2px)}.service-card.selected{border-color:var(--hue);box-shadow:inset 0 0 0 1px var(--hue)}.service-card:disabled,.service-card[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.service-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--hue) 16%,transparent);color:var(--hue);font-size:1.4rem}.service-content{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.service-name{font-family:var(--font-heading);font-weight:600;font-size:1rem;line-height:1.3}.service-desc{font-size:.875rem;color:var(--text-muted);line-height:1.4}.service-badge{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;padding:.2rem .55rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--hue) 45%,transparent);color:var(--hue);font-size:.75rem;font-weight:600;white-space:nowrap}.service-unlocked{display:inline-flex;margin-left:.15rem}@media(min-width:560px){.service-card{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.1rem}.service-badge{margin-top:auto}}@media(max-width:399px){.service-card{grid-template-columns:44px minmax(0,1fr)}.service-icon{grid-row:span 2}.service-badge{justify-self:start}}.services-empty{margin:1rem 0 0;padding:1.25rem;text-align:center;color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:var(--radius)}.form-section{margin-top:1rem;scroll-margin-top:calc(var(--header-h) + 16px)}.form-card{overflow:hidden;padding:0 1.25rem 1.25rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius)}.form-card>.rainbow-rule{height:3px;border-radius:0;margin:0 -1.25rem 1.25rem}.form-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600}.form-label .ph-fill{font-size:1.2rem;color:var(--c-violet)}.form-input{width:100%;min-height:50px;padding:.7rem 1rem;font-size:1rem;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.form-input.valid{border-color:var(--c-green)}.form-input.invalid{border-color:var(--c-red)}.form-input[readonly]{color:var(--text-muted)}.form-help{margin-top:.5rem;font-size:.875rem;color:var(--text-muted)}.turnstile-container{margin:1rem 0;min-height:65px}.turnstile-placeholder,.turnstile-error{padding:1rem;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);text-align:center;font-size:.9rem;color:var(--text-muted)}.turnstile-error{color:var(--c-red);border-color:currentColor}.turnstile-error a{color:inherit}#kattiid-form .submit-btn,.access-request-card .submit-btn{width:100%}.form-grid{display:grid;gap:1rem}@media(min-width:720px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-textarea{min-height:7rem;resize:vertical}.service-choice{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0;padding:.75rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.service-choice legend{padding:0 .4rem;font-weight:600}.service-choice label,.consent-row{display:flex;align-items:center;gap:.55rem;min-height:44px}.service-choice input,.consent-row input{flex:0 0 auto;width:44px;height:44px;margin:0;accent-color:var(--c-violet)}.consent-row{align-items:flex-start;margin-top:1rem}.consent-row>span{padding-top:.55rem}.request-status{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.request-status h3,.request-status h4{margin-bottom:.5rem}#access-activation-form{margin-top:1rem;padding:1rem;border:1px solid var(--c-green);border-radius:var(--radius-sm)}#access-activation-form .form-label:not(:first-of-type){margin-top:1rem}#access-activation-form .submit-btn{margin-top:1rem}.loading-spinner{display:none;width:1.1rem;height:1.1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.submit-btn.loading .loading-spinner{display:inline-block}.submit-btn.loading .ph-fill{display:none}@keyframes spin{to{transform:rotate(360deg)}}#generated-url-container{margin-top:1rem}.url-copy-container{display:flex;flex-direction:column;gap:.5rem}#kattiid-form .copy-btn{background:transparent;color:var(--text);border-color:var(--border-strong)}#kattiid-form .copy-btn:hover{background:var(--surface-2)}@media(min-width:560px){.url-copy-container{flex-direction:row}.url-copy-container .form-input{flex:1 1 auto}#kattiid-form .copy-btn{width:auto;flex:0 0 auto}}.message{margin-top:.75rem;padding:.7rem .9rem;border-radius:var(--radius-sm);font-size:.925rem;border:1px solid currentColor}.message.error{color:var(--c-red)}.message.cooldown{color:var(--c-orange)}.message.success{color:var(--c-green)}.legend-grid{display:grid;gap:.75rem}@media(min-width:860px){.legend-grid{grid-template-columns:3fr 2fr}}.legend-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}.legend-item{position:relative;padding-left:1.25rem}.legend-item:before{content:"";position:absolute;left:0;top:.5em;width:.6rem;height:.6rem;border-radius:50%;background:var(--hue)}.legend-item strong{color:var(--hue)}.note-card{border-color:color-mix(in srgb,var(--c-pink) 50%,transparent);background:color-mix(in srgb,var(--c-pink) 7%,var(--surface))}.card h3{font-size:1.05rem;margin-bottom:.6rem}.faq-list{display:grid;gap:.5rem}.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:56px;padding:.8rem 1rem;border:0;background:transparent;text-align:left;font-weight:600}.faq-question-label{display:flex;align-items:center;gap:.6rem}.faq-question-label .ph-fill{color:var(--c-violet);font-size:1.1rem}.faq-chevron{transition:transform .2s ease;color:var(--text-muted)}.faq-item.active .faq-chevron{transform:rotate(180deg)}.faq-answer{display:none;padding:0 1rem 1rem 2.7rem;color:var(--text-muted)}.faq-item.active .faq-answer{display:block}.support-grid{display:grid;gap:1rem}@media(min-width:860px){.support-grid{grid-template-columns:1fr 1fr;align-items:start}}.support-mailto-btn{width:100%;margin:.5rem 0 .75rem}@media(min-width:480px){.support-mailto-btn{width:auto}}.support-mailto-hint{font-size:.875rem}.support-template{margin:0;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:.875rem;white-space:pre-wrap;overflow-x:auto}.info-cards{display:grid;gap:.75rem;margin-top:1rem}@media(min-width:720px){.info-cards{grid-template-columns:repeat(3,1fr)}}.info-card{display:flex;gap:.9rem;align-items:flex-start}.info-card-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;border-radius:var(--radius-sm);font-size:1.25rem;background:color-mix(in srgb,var(--hue) 16%,transparent);color:var(--hue)}.info-card h3{font-size:1rem;margin:0 0 .25rem}.info-card p{font-size:.925rem;color:var(--text-muted)}.links-grid{display:grid;gap:.75rem}@media(min-width:720px){.links-grid{grid-template-columns:1fr 1fr 1fr}}.link-card{display:flex;align-items:center;gap:.9rem;min-height:72px;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.link-card:hover{border-color:var(--hue);transform:translateY(-2px)}.link-card h3{font-size:1rem;margin:0}.link-card p{font-size:.875rem;color:var(--text-muted);margin:0}.link-card .link-arrow{margin-left:auto;color:var(--text-muted)}.link-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1rem}.link-list a{display:inline-flex;align-items:center;gap:.3rem;min-height:44px}.footer{margin-top:2rem;padding-bottom:env(safe-area-inset-bottom);background:var(--surface)}.footer-grid{display:grid;gap:1.5rem;padding:2rem 0 1.5rem}@media(min-width:720px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}.footer-logo{font-family:var(--font-heading);font-weight:700;letter-spacing:.12em;margin:0 0 .25rem}.footer-tagline{color:var(--text-muted);margin-bottom:.5rem}.footer-acronym{font-size:.85rem;color:var(--text-muted);max-width:22rem}.footer-nav-section h3{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem}.footer-nav-section ul{list-style:none;margin:0;padding:0}.footer-link{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;text-decoration:none}.footer-link:hover{text-decoration:underline}.footer-link .ph-fill:first-child{color:var(--text-muted)}.footer-bottom{padding:1rem 0 1.5rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-muted)}.legal-page{max-width:820px}.legal-hero{padding:2.5rem 0 1rem}.legal-hero h1{display:flex;align-items:center;gap:.5rem;font-size:clamp(1.9rem,1.4rem + 2.4vw,2.8rem)}.legal-updated{color:var(--text-muted);font-size:.9rem}.legal-back{margin-top:.5rem}.legal-page .section{margin-top:1.5rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.legal-page .section h2{display:flex;align-items:center;gap:.5rem;font-size:1.4rem}.legal-page .section h3{font-size:1.15rem;margin-top:1.75rem}.legal-page .section h4{font-size:1rem;margin-top:1.25rem}.legal-page .section ul{padding-left:1.25rem;margin:0 0 1em}.legal-page .section li{margin-bottom:.35rem}.legal-page .highlight,.legal-page .contact-info{margin:1rem 0;padding:1rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2)}@media(min-width:720px){.legal-page .section{padding:2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
