*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root{--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}body.is-native{padding-top:var(--safe-area-top);padding-bottom:0;overscroll-behavior:none;-webkit-overflow-scrolling:touch}body.is-ios{padding-top:var(--safe-area-top)}body.is-ios.is-native{min-height:100vh;min-height:-webkit-fill-available}body.is-android{padding-bottom:var(--safe-area-bottom)}body.is-native .header-wrapper,body.is-native [class*=headerWrapper]{padding-top:calc(var(--safe-area-top) + .5rem);position:sticky;top:0;z-index:1000}body.is-native .mobile-bottom-nav,body.is-native [class*=bottomNav]{padding-bottom:calc(var(--safe-area-bottom) + .5rem);height:calc(64px + var(--safe-area-bottom))}body.is-native{padding-bottom:calc(64px + var(--safe-area-bottom))}body.is-native .modal-overlay,body.is-native [class*=modalOverlay]{padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom)}body.is-native .modal-content,body.is-native [class*=modalContent]{max-height:calc(100vh - var(--safe-area-top) - var(--safe-area-bottom) - 2rem)}body.is-native .fullscreen-modal{padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom)}body.is-native .camera-modal,body.is-native [class*=cameraModal]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000}body.is-native .camera-controls{padding-bottom:calc(var(--safe-area-bottom) + 1rem)}body.is-native input,body.is-native textarea,body.is-native select{font-size:16px!important;min-height:44px}body.is-native button{min-height:44px;min-width:44px;touch-action:manipulation}body.is-ios input[type=date],body.is-ios input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none}body.is-native{overscroll-behavior-y:contain}body.is-native .scroll-container{-webkit-overflow-scrolling:touch;overflow-y:auto}body.is-ios .scroll-container{-webkit-overflow-scrolling:touch}body.is-native .app-container{animation:nativeFadeIn .3s ease-out}@keyframes nativeFadeIn{0%{opacity:0}to{opacity:1}}.offline-banner{display:none;position:fixed;top:var(--safe-area-top, 0);left:0;right:0;z-index:99999;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;text-align:center;padding:.5rem 1rem;font-size:.85rem;font-weight:500;animation:slideDown .3s ease}.offline-banner.show{display:block}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}body.is-ios .card,body.is-ios [class*=Card]{border-radius:16px}body.is-ios button{border-radius:12px}body.is-android button{position:relative;overflow:hidden}body.is-android button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s}body.is-android button:active:after{width:200%;height:200%}body.is-native{-webkit-user-select:none;user-select:none}body.is-native input,body.is-native textarea,body.is-native [contenteditable],body.is-native .selectable{-webkit-user-select:text;user-select:text}body.is-native img{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}@media (prefers-color-scheme: dark){body.is-native:not(.light-mode-forced){--color-cream: #1a1a1a;--color-cream-dark: #252525;--color-white: #2d2d2d;--color-text: #FDFCFB;--color-text-secondary: #9ca3af;--color-border: #333333}body.is-native:not(.light-mode-forced) .offline-banner{background:linear-gradient(135deg,#991b1b,#7f1d1d)}}body.is-native.keyboard-open .mobile-bottom-nav,body.is-native.keyboard-open [class*=bottomNav]{display:none!important}body.is-native.keyboard-open{padding-bottom:0!important}@media screen and (orientation: landscape){body.is-native{padding-left:var(--safe-area-left);padding-right:var(--safe-area-right)}}:root{--color-navy: #1a2744;--color-navy-light: #2d3a52;--color-navy-dark: #0f1829;--color-rose: #d4a574;--color-rose-light: #e8c4a0;--color-rose-dark: #b8895c;--color-cream: #FDFCFB;--color-cream-dark: #F8F6F3;--color-white: #FFFFFF;--color-text: #1a2744;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-border: rgba(26, 39, 68, .1);--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--font-heading: "Cormorant Garamond", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--shadow-sm: 0 2px 8px rgba(26, 39, 68, .06);--shadow-md: 0 4px 16px rgba(26, 39, 68, .08);--shadow-lg: 0 10px 30px rgba(26, 39, 68, .12);--shadow-card: 0 4px 20px rgba(26, 39, 68, .08);--transition-fast: .15s ease;--transition-normal: .3s ease;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px}[data-theme=dark],.dark-mode{--color-cream: #1a1a1a;--color-cream-dark: #252525;--color-white: #2d2d2d;--color-text: #FDFCFB;--color-text-secondary: #9ca3af;--color-border: #333333}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background-color:var(--color-cream);color:var(--color-text);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500;line-height:1.2}h1{font-size:clamp(2.5rem,5vw,3.5rem)}h2{font-size:clamp(2rem,4vw,2.8rem)}h3{font-size:clamp(1.25rem,3vw,1.5rem)}p{color:var(--color-text-secondary);line-height:1.7}a{color:var(--color-rose);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--color-rose-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;font-size:.95rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-normal);border:none;outline:none}.btn-primary{background:var(--color-navy);color:var(--color-white)}.btn-primary:hover{background:var(--color-navy-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:transparent;color:var(--color-text);border:1.5px solid var(--color-navy)}.btn-secondary:hover{background:var(--color-navy);color:var(--color-white)}.btn-rose{background:var(--color-rose);color:var(--color-navy)}.btn-rose:hover{background:var(--color-rose-light)}input,textarea,select{width:100%;padding:14px 16px;font-size:.95rem;color:var(--color-text);background:var(--color-cream-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--color-rose);box-shadow:0 0 0 3px #d4a5741a}label{display:block;margin-bottom:8px;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);letter-spacing:.1em;text-transform:uppercase}.card{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-card);transition:var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-rose)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.animate-fade-in{animation:fadeIn .3s ease}.animate-fade-in-up{animation:fadeInUp .5s ease}.animate-pulse{animation:pulse 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-spin{animation:spin .8s linear infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-cream-dark)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-rose)}@media (max-width: 768px){.mobile-bottom-nav{display:flex!important}body{padding-bottom:64px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progressPulse{0%{width:20%}50%{width:80%}to{width:20%}}@keyframes ripple{to{transform:scale(4);opacity:0}}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes progressStripe{0%{background-position:0 0}to{background-position:40px 0}}@keyframes heartBeat{0%,to{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(1)}75%{transform:scale(1.05)}}@media (max-width: 768px){.hero-logo{height:120px!important}.page-header{padding:2rem 1rem!important}.upload-grid{grid-template-columns:1fr!important}.footer-top{grid-template-columns:1fr!important;text-align:center!important}.footer-section{padding:1rem 0!important}}details summary::-webkit-details-marker{display:none}details[open] summary span:last-child{transform:rotate(45deg)}details summary span:last-child{transition:transform .3s ease}
