.bg-noise{position:relative}.bg-noise:before{content:"";z-index:0;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");position:absolute;inset:0}.mask-tear-bottom{padding-bottom:20px;mask-image:radial-gradient(circle at bottom,#0000 6px,#000 6.5px);mask-position:bottom;mask-size:20px 20px;mask-repeat:repeat-x}.bg-receipt{background-image:linear-gradient(#102a20 1px,#0000 1px),linear-gradient(90deg,#102a20 1px,#0000 1px);background-position:0 -1px;background-size:100% 32px,0 0}.font-handwriting{font-family:var(--font-serif);font-style:italic}.animate-float-slow{will-change:transform;animation:20s ease-in-out infinite float-slow}.animate-float-slower{will-change:transform;animation:25s ease-in-out infinite float-slower}@media (prefers-reduced-motion:reduce){.animate-float-slow,.animate-float-slower{animation:none}}.bosphorus-reveal{filter:blur(4px);opacity:.6;transition:all .7s}.bosphorus-reveal:hover{filter:blur();opacity:1}.london-reveal{opacity:.4;transition:all .6s;transform:scale(.8)}.london-reveal:hover{opacity:1;transform:scale(1)}@keyframes clipPathReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.text-reveal-clip{animation:.8s ease-out forwards clipPathReveal}.modal-scroll{scrollbar-width:thin;scrollbar-color:#00000040 transparent}.modal-scroll::-webkit-scrollbar{width:8px}.modal-scroll::-webkit-scrollbar-track{background:0 0}.modal-scroll::-webkit-scrollbar-thumb{background-color:#00000040;background-clip:padding-box;border:2px solid #0000;border-radius:9999px}.modal-scroll:hover::-webkit-scrollbar-thumb{background-color:#00000059}.touch-manipulation{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.no-select{-webkit-user-select:none;user-select:none}.touch-active:active{opacity:.9;transition:transform .1s,opacity .1s;transform:scale(.95)}.no-overscroll{overscroll-behavior:none}@media (display-mode:standalone){.pwa-safe-top{padding-top:env(safe-area-inset-top)}.pwa-safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.pwa-safe{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}}.animate-shimmer{animation:1.5s ease-in-out infinite shimmer}.animate-float{animation:3s ease-in-out infinite float}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}.animate-scale-in{animation:.2s ease-out forwards scale-in}.animate-slide-up{animation:.3s ease-out forwards slide-up}.animate-typing-1{animation:1.4s infinite typing-dot}.animate-typing-2{animation:1.4s .2s infinite typing-dot}.animate-typing-3{animation:1.4s .4s infinite typing-dot}.interactive-card{transition:transform .2s,box-shadow .2s,border-color .2s}.interactive-card:hover{transform:translateY(-2px)}.interactive-card:active{transform:translateY(0)scale(.99)}.ripple-button{position:relative;overflow:hidden}.ripple-button:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffff4d 0%,#0000 70%);position:absolute;inset:0;transform:scale(0)}.ripple-button:active:after{animation:.4s ease-out ripple}.focus-ring{outline:none;transition:box-shadow .15s}.focus-ring:focus-visible{box-shadow:0 0 0 2px var(--color-gastro-cream), 0 0 0 4px var(--color-chef-green)}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.hover-underline{position:relative}.hover-underline:after{content:"";background:currentColor;width:0;height:2px;transition:width .2s;position:absolute;bottom:-2px;left:0}.hover-underline:hover:after{width:100%}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#102a201a transparent}.scrollbar-thin::-webkit-scrollbar{width:4px;height:4px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:#102a201a;border-radius:9999px}.scrollbar-thin:hover::-webkit-scrollbar-thumb{background-color:#102a2033}.glass{-webkit-backdrop-filter:blur(12px);background:#ffffffb3}.glass-dark{-webkit-backdrop-filter:blur(12px);background:#102a20cc}.glass-warm{-webkit-backdrop-filter:blur(20px)saturate(150%);background:linear-gradient(#fffcf8e6,#f3f0e5d9)}.accent-copper{color:#b87333}.bg-copper-gradient{background:linear-gradient(135deg,#b87333 0%,peru 100%)}.accent-terracotta{color:#e07a5f}.bg-terracotta-gradient{background:linear-gradient(135deg,#e07a5f 0%,#d4583a 100%)}.dock-safe-area{padding-bottom:max(16px, env(safe-area-inset-bottom))}.tab-enter{opacity:0;transform:translate(20px)}.tab-enter-active{opacity:1;transition:opacity .2s ease-out,transform .2s ease-out;transform:translate(0)}.tab-exit{opacity:1;transform:translate(0)}.tab-exit-active{opacity:0;transition:opacity .2s ease-in,transform .2s ease-in;transform:translate(-20px)}@keyframes island-pulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 8px #f59e0b00}}.animate-island-pulse{animation:2s ease-in-out infinite island-pulse}.sidebar-transition{transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}@supports (interactive-widget:resizes-content){.keyboard-aware{min-height:100dvh}}.focus-mode .hide-in-focus{opacity:0;pointer-events:none;transition:opacity .3s ease-out}.coach-mark-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;background:#102a2099;position:fixed;inset:0}.coach-mark-spotlight{z-index:9999;border-radius:8px;position:relative;box-shadow:0 0 0 4px #f59e0b80,0 0 0 9999px #102a2099}.card-compact{padding:.75rem}.card-compact .card-title{font-size:.875rem;line-height:1.25rem}.card-compact .card-description{font-size:.75rem;line-height:1rem}.mini-card{border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem}.chat-dense .message-bubble{max-width:85%;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem}.app-interactive{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.film-perforations{background-image:repeating-linear-gradient(#0000,#0000 6px,#102a201a 6px 14px,#0000 14px 20px)}.cinematic-gradient-bottom{background:linear-gradient(#0000 0%,#0006 60%,#000c 100%)}.cinematic-gradient-top{background:linear-gradient(#0006 0%,#0000 100%)}@keyframes heat-pulse{0%,to{opacity:.8}50%{opacity:1}}.heat-indicator-active{animation:1.5s ease-in-out infinite heat-pulse}@keyframes scene-enter-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes scene-enter-left{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes scene-exit-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes scene-exit-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.cinematic-card-shadow{transition:all .2s ease-out;box-shadow:6px 6px #102a20}.cinematic-card-shadow:hover{transform:translateY(-2px);box-shadow:8px 8px #102a20}@keyframes progress-glow{0%,to{box-shadow:0 0 4px #f59e0b66}50%{box-shadow:0 0 12px #f59e0b99}}.progress-glow{animation:2s ease-in-out infinite progress-glow}.scene-image-container{overflow:hidden}.scene-image-container img{transition:transform .4s ease-out}.scene-image-container:hover img{transform:scale(1.05)}.cinematic-button{transition:all .15s ease-out;position:relative}.cinematic-button:active{transform:translate(3px)translateY(3px)}.cinematic-button:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff1a 0%,#0000 50%);position:absolute;inset:0}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100%)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.confetti{animation:3s ease-out forwards confetti-fall}.cinematic-touch-target{touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-width:48px;min-height:48px}@media (prefers-reduced-motion:reduce){.heat-indicator-active,.progress-glow,.confetti{animation:none}.scene-image-container img,.cinematic-button,.cinematic-card-shadow{transition:none}}
