.grain-overlay{position:relative;overflow:hidden}.grain-overlay:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' /%3E%3C/svg%3E");opacity:.04;mix-blend-mode:overlay;pointer-events:none;z-index:1}.grain-overlay>*{position:relative;z-index:2}.glass-modal{background:rgba(255,255,255,.85);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px 0 rgba(0,0,0,.1),inset 0 0 0 1px rgba(255,255,255,.1)}.dark .glass-modal{background:rgba(26,26,26,.85);border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px 0 rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.05)}.glass-card{background:rgba(255,255,255,.7);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border:1px solid rgba(255,255,255,.2)}.dark .glass-card{background:rgba(30,30,30,.7);border:1px solid rgba(255,255,255,.1)}.icon-button,.touch-target{min-width:44px;min-height:44px;padding:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.icon-button:hover{transform:scale(1.05)}.icon-button:active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-bounce-in,.animate-fade-in,.animate-pulse,.animate-scale-in,.animate-slide-down,.animate-slide-up{animation:none!important}.animate-fade-in{opacity:1!important}}.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.bento-item{background:rgba(255,255,255,.5);backdrop-filter:blur(10px);border-radius:1rem;padding:1.5rem;border:1px solid rgba(255,255,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.dark .bento-item{background:rgba(30,30,30,.5);border:1px solid rgba(255,255,255,.1)}.bento-item:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.1)}.bento-item-large{grid-row:span 2}.bento-item-large,.bento-item-wide{grid-column:span 2}.bento-item-tall{grid-row:span 2}@media (max-width:768px){.bento-grid{grid-template-columns:1fr}.bento-item-large,.bento-item-tall,.bento-item-wide{grid-column:span 1;grid-row:span 1}}.modal-backdrop{position:absolute;inset:0;background-color:rgba(0,0,0,.5)}.dark .modal-backdrop{background-color:rgba(0,0,0,.75)}.modal-scroll{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.5) transparent}.modal-scroll::-webkit-scrollbar{width:8px}.modal-scroll::-webkit-scrollbar-track{background:transparent}.modal-scroll::-webkit-scrollbar-thumb{background-color:rgba(156,163,175,.5);border-radius:4px}.modal-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(156,163,175,.7)}.dark .modal-scroll::-webkit-scrollbar-thumb{background-color:rgba(75,85,99,.5)}.dark .modal-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(75,85,99,.7)}