*{box-sizing:border-box}.responsive-grid{display:grid;grid-template-columns:1fr;gap:12px}.responsive-text{font-size:14px;line-height:1.5}.responsive-button{min-height:44px;padding:12px 16px;font-size:14px}.responsive-modal{width:100%;max-width:100vw;height:100vh;border-radius:0;padding:16px}.responsive-navigation{padding:8px 0 20px}@media (min-width:768px){.responsive-grid{grid-template-columns:repeat(2,1fr);gap:16px}.responsive-text{font-size:16px}.responsive-button{min-height:48px;padding:14px 20px;font-size:16px}.responsive-modal{width:90%;max-width:600px;height:auto;max-height:90vh;border-radius:24px;padding:32px}.responsive-navigation{padding:12px 0 24px}}@media (min-width:1024px){.responsive-grid{grid-template-columns:repeat(3,1fr);gap:20px}.responsive-button{min-height:50px;padding:16px 24px}.responsive-modal{width:80%;max-width:500px}}@media (min-width:1280px){.responsive-grid{grid-template-columns:repeat(4,1fr);gap:24px}}@media (hover:none) and (pointer:coarse){.touch-target{min-height:44px;min-width:44px}.clickable,button{min-height:44px;padding:12px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.high-dpi-text{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (orientation:landscape) and (max-height:500px){.responsive-modal{height:95vh;padding:16px}.responsive-navigation{padding:6px 0 16px}}@media (prefers-color-scheme:dark){.auto-dark{background-color:#000000;color:#ffffff}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.vertical-feed-container{scroll-snap-type:y mandatory;overflow-y:scroll;height:100vh;-webkit-overflow-scrolling:touch}.vertical-feed-item{scroll-snap-align:start;height:100vh;position:relative}.smooth-scroll{scroll-behavior:smooth}.bounce-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.gesture-zone{touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.micro-animation{transition:all .2s cubic-bezier(.4,0,.2,1)}.micro-animation:hover{transform:scale(1.05)}.micro-animation:active{transform:scale(.98)}@keyframes haptic-pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.haptic-feedback{animation:haptic-pulse .1s ease-out}.comment-overlay{transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.comment-overlay.open{transform:translateX(0)}@media print{.no-print{display:none!important}}