.touch-target{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}@media (hover:none) and (pointer:coarse){.touch-target{min-height:48px;min-width:48px}}.mobile-padding{padding:12px}.mobile-padding-sm{padding:8px}.mobile-padding-lg{padding:16px}.mobile-margin{margin:12px}.mobile-margin-sm{margin:8px}.mobile-margin-lg{margin:16px}@media (max-width:768px){.mobile-text-xs{font-size:.75rem}.mobile-text-sm{font-size:.875rem}.mobile-text-base{font-size:1rem}.mobile-text-lg{font-size:1.125rem}.mobile-text-xl{font-size:1.25rem}.mobile-text-2xl{font-size:1.5rem}}@media (max-width:475px){.xs-hidden{display:none!important}.xs-block{display:block!important}.xs-flex{display:flex!important}.xs-grid{display:grid!important}}.mobile-input{font-size:16px;padding:12px 16px;border-radius:8px;border:1px solid #d1d5db;width:100%}.mobile-input:focus{outline:2px solid #3b82f6;outline-offset:2px;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.mobile-button{min-height:44px;padding:12px 16px;font-size:16px;border-radius:8px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px}.mobile-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.5);z-index:40;animation:fadeIn .3s ease-out}.mobile-sidebar{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:24rem;background-color:#fff;border-left:1px solid #e5e7eb;box-shadow:-10px 0 25px -3px rgba(0,0,0,.1);z-index:50;transform:translateX(100%);transition:transform .3s ease-in-out}.mobile-sidebar.open{transform:translateX(0)}.dark .mobile-sidebar{background-color:#1f2937;border-left-color:#374151}.touch-pan-x{touch-action:pan-x}.touch-pan-y{touch-action:pan-y}.touch-manipulation{touch-action:manipulation}.no-touch{touch-action:none}.mobile-card{border-radius:12px;padding:16px;margin:8px 0;border:1px solid #e5e7eb;background-color:#fff;box-shadow:0 1px 3px 0 rgba(0,0,0,.1)}.dark .mobile-card{background-color:#1f2937;border-color:#374151}.safe-top{padding-top:max(12px,env(safe-area-inset-top))}.safe-bottom{padding-bottom:max(12px,env(safe-area-inset-bottom))}.safe-left{padding-left:max(12px,env(safe-area-inset-left))}.safe-right{padding-right:max(12px,env(safe-area-inset-right))}.mobile-nav{position:sticky;top:0;z-index:30;background-color:#fff;border-bottom:1px solid #e5e7eb;padding:8px 16px}.dark .mobile-nav{background-color:#1f2937;border-bottom-color:#374151}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideOutRight{0%{transform:translateX(0)}to{transform:translateX(100%)}}@media (max-width:768px){.mobile-scroll::-webkit-scrollbar{width:6px}.mobile-scroll::-webkit-scrollbar-track{background:transparent}.mobile-scroll::-webkit-scrollbar-thumb{background-color:rgba(156,163,175,.5);border-radius:3px}.mobile-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(156,163,175,.8)}}@media (max-width:768px){.mobile-container{width:100vw;overflow-x:hidden}.mobile-container,.mobile-container *{max-width:100%;box-sizing:border-box}}.mobile-loading{display:flex;align-items:center;justify-content:center;padding:24px;min-height:120px}.mobile-list{gap:8px}.mobile-list,.mobile-list-item{display:flex;flex-direction:column}.mobile-list-item{padding:16px;border:1px solid #e5e7eb;border-radius:8px;background-color:#fff}.dark .mobile-list-item{background-color:#1f2937;border-color:#374151}@media (hover:none) and (pointer:coarse){.mobile-no-hover:hover{background-color:initial;transform:none;box-shadow:none}.mobile-active:active{transform:scale(.95);opacity:.8;transition:all .1s ease}}.theme-transitioning,.theme-transitioning *{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,fill .3s ease,stroke .3s ease!important}.theme-transitioning .no-transition,.theme-transitioning .no-transition *{transition:none!important}.color-picker-transitioning{transition:background-color .15s ease}.palette-card{transition:transform .2s ease,box-shadow .2s ease}.palette-card:hover{transform:translateY(-2px)}.theme-preview-component{transition:all .2s ease}@keyframes theme-pulse{0%,to{opacity:1}50%{opacity:.7}}.theme-loading{animation:theme-pulse 1.5s ease-in-out infinite}@keyframes swatch-appear{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.color-swatch{animation:swatch-appear .3s ease-out}.theme-success{animation:theme-success-flash .5s ease}@keyframes theme-success-flash{0%,to{background-color:transparent}50%{background-color:rgba(34,197,94,.1)}}.theme-error{animation:theme-error-shake .5s ease}@keyframes theme-error-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}