:root{--max-content-width:100%;--header-height:56px;--footer-height:28px;--slide-padding:16px;--nav-button-size:32px;--content-spacing:16px;--font-size-base:14px;--font-size-title:1.5rem;--line-height-base:1.5;--transition-speed:0.3s}@media (min-width:768px){:root{--header-height:64px;--footer-height:32px;--slide-padding:80px;--nav-button-size:40px;--content-spacing:24px;--font-size-base:16px;--font-size-title:2.5rem}}@media (min-width:1024px){:root{--max-content-width:1280px}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base)}body{max-width:100vw;overflow-x:hidden;height:100%;-webkit-font-smoothing:antialiased;line-height:var(--line-height-base);font-family:var(--font-family)}.slide-container{position:relative;min-height:calc(100vh - var(--header-height) - var(--footer-height));width:100%;padding:var(--content-spacing);overflow-y:auto;-webkit-overflow-scrolling:touch}.nav-button{position:fixed;bottom:calc(var(--footer-height) + 16px);width:var(--nav-button-size);height:var(--nav-button-size);background:hsla(0,0%,100%,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:50%;color:#fff;z-index:100;cursor:pointer;transition:all var(--transition-speed) ease;touch-action:manipulation}.nav-button:hover{background:hsla(0,0%,100%,.3)}.nav-button.left{left:16px}.nav-button.right{right:16px}@media (min-width:768px){.nav-button{top:50%;bottom:auto;transform:translateY(-50%)}}.responsive-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--content-spacing);gap:var(--content-spacing);width:100%}@media (min-width:768px){.responsive-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}.interactive-element{min-height:44px;padding:12px;touch-action:manipulation}.mobile-title{font-size:clamp(1.25rem,5vw,2.5rem);line-height:1.2}.mobile-text{font-size:clamp(.875rem,4vw,1rem);line-height:1.5}.mantine-Paper-root{padding:clamp(16px,3vw,24px)!important}.mantine-List-item{padding-left:clamp(20px,4vw,32px)!important}@media (hover:none){.touch-feedback:active{transform:scale(.98);transition:transform .1s ease}}.loading-skeleton{opacity:.7;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%{opacity:.6}50%{opacity:.8}to{opacity:.6}}