:root{--bg-color:#FFF5F5;--candy-red:#FF3344;--candy-dark-red:#C90E2A;--candy-white:#FFFFFF;--candy-stripe:#FFB3C1;--mint-green:#2DCDA7;--chocolate:#5D4037;--gold:#FFD93D;--font-title:'Mountains of Christmas', cursive;--font-body:'Quicksand', sans-serif;--shadow-soft:0 10px 25px rgba(255, 51, 68, 0.15);--card-radius:25px;--safe-bottom:env(safe-area-inset-bottom, 20px);}*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}body{margin:0;background-color:var(--bg-color);background-image:repeating-linear-gradient(
        45deg,
        rgba(255, 51, 68, 0.03) 0px,
        rgba(255, 51, 68, 0.03) 20px,
        transparent 20px,
        transparent 40px);color:var(--chocolate);font-family:var(--font-body);height:100dvh;display:flex; flex-direction: column; overflow:hidden;}a{color:var(--candy-red);text-decoration:none;font-weight:700;transition:color 0.3s ease, text-shadow 0.3s ease;}a:hover{color:var(--candy-dark-red);text-shadow:0 2px 4px rgba(255, 51, 68, 0.2);}.legal-mini a, .subtitle a{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;}h1{font-family:var(--font-title);color:var(--candy-red);font-size:1.5rem;margin-bottom:0;text-align:center;line-height:1;text-shadow:2px 2px 0px #FFF, 4px 4px 0px rgba(255, 51, 68, 0.1);}.subtitle{color:#886A6A; font-size: 1rem; text-align: center; margin-bottom: 15px; font-weight:600;}.snowflakes{display:none;}.floating-header{position:absolute; top: 10px; right: 15px; z-index:100;}.icon-btn-small{background:rgba(255,255,255,0.7); border:1px solid var(--candy-stripe);color:var(--candy-red); font-size: 0.7rem; font-weight:bold;padding:4px 10px; border-radius: 15px; cursor:pointer;box-shadow:0 2px 5px rgba(0,0,0,0.05); font-family:var(--font-body);backdrop-filter:blur(2px);}.input-tabs{display:flex;margin-bottom:10px;background:#FFF;border-radius:40px;padding:4px;border:1px solid #FFDEE9;box-shadow:0 2px 8px rgba(0,0,0,0.05);width:100%;}.input-tab{flex:1; text-align: center; padding:10px;border-radius:30px; cursor: pointer; color:#FFB7C5;font-weight:700; transition: all 0.3s; font-size: 0.95rem; white-space:nowrap;}.input-tab.active{background:var(--candy-red); color:#FFF;box-shadow:0 2px 10px rgba(255, 51, 68, 0.2); transform:scale(1.02);}.upload-zone{width:100%;flex-grow:1;min-height:300px; max-height:60vh;border:3px dashed var(--candy-stripe); background:#FFF;border-radius:30px; position: relative; overflow:hidden;display:flex; flex-direction: column; align-items: center; justify-content:center;margin:0 auto 10px auto; box-shadow:inset 0 0 20px rgba(0,0,0,0.05);transition:0.3s;}.upload-zone video{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;z-index:1;}.upload-zone img{width:100%;height:100%;object-fit:contain;position:absolute;top:0;left:0;z-index:2;}.upload-zone video.mirror{transform:scaleX(-1);}.upload-placeholder{text-align:center; color: var(--candy-stripe); z-index: 2; pointer-events:none;}.upload-placeholder p{font-weight:700; font-size: 1rem; margin:0;}.cam-controls{position:absolute; bottom: 20px; left: 0; width:100%;display:flex; justify-content: center; gap: 25px; align-items:center;z-index:10; display:none;}.cam-btn-shutter{width:65px; height: 65px; border-radius:50%;background:#fff; border:4px solid rgba(255,255,255,0.5);cursor:pointer; box-shadow: 0 5px 15px rgba(0,0,0,0.2); transition:0.2s;}.cam-btn-shutter:active{transform: scale(0.9); background: var(--candy-red); border-color:#FFF;}.cam-btn-switch{width:40px; height: 40px; border-radius:50%;background:rgba(255,255,255,0.9); color:var(--candy-red);border:none; cursor:pointer;display:flex; align-items: center; justify-content:center;font-size:1.1rem; font-weight: bold; box-shadow:0 4px 10px rgba(0,0,0,0.1);}.mode-selector{display:flex; justify-content: center; gap: 10px; margin-bottom:10px;background:rgba(255,255,255,0.6); padding: 5px; border-radius:20px;width:fit-content; margin-left: auto; margin-right:auto;}.mode-selector label{display:flex; align-items: center; gap: 5px; font-weight:700;color:#FFB7C5; cursor: pointer; padding:5px 12px;border-radius:20px; border:1px solid transparent;transition:0.3s; background: #FFF; font-size:0.85rem;}.mode-selector input{display:none;}.mode-selector label:has(input:checked){border-color:var(--candy-red); color:var(--candy-red);background:#FFF5F5; box-shadow:0 2px 8px rgba(255, 51, 68, 0.1);transform:translateY(-1px);}.app-container{flex:1; position: relative; width: 100%; max-width: 480px; margin:0 auto;display:flex; flex-direction:column;background:rgba(255,255,255,0.5); backdrop-filter:blur(5px);z-index:2;}.screen{position:absolute; top: 0; left: 0; width: 100%; height:100%;padding:20px; padding-bottom:60px;opacity:0; pointer-events:none;transition:all 0.6s cubic-bezier(0.68, -0.55, 0.27, 1.55);transform:scale(0.8) translateY(50px);display:flex; flex-direction: column; justify-content:center;overflow-y:auto;}.screen.active{opacity:1; pointer-events: all; transform: scale(1) translateY(0); z-index:10;}.card-glass{background:rgba(255,255,255,0.8); border:2px solid #FFF;border-radius:var(--card-radius); padding:20px;box-shadow:var(--shadow-soft); margin-bottom:20px;}.btn-main{background:linear-gradient(135deg, var(--candy-red), var(--candy-dark-red));color:#fff; border: none; padding: 14px; border-radius:50px;font-size:1.1rem; font-weight: 800; width: 100%; cursor:pointer;box-shadow:0 6px 15px rgba(255, 51, 68, 0.25); text-transform:uppercase;margin-top:10px; margin-bottom: 20px; transition:transform 0.2s;letter-spacing:1px; font-family:var(--font-body);display:flex; align-items: center; justify-content: center; gap:10px;}.btn-main:active{transform:scale(0.96);}.btn-link{background:none; border: none; color:var(--candy-stripe);text-decoration:underline; cursor: pointer; margin-top:10px;font-size:0.9rem; font-family:var(--font-body);}.btn-share{background:linear-gradient(135deg, var(--mint-green), #20bf95); box-shadow:0 8px 20px rgba(45, 205, 167, 0.4);}.btn-group-row{display:flex; gap: 10px; margin-top: 10px; width: 100%; margin-bottom:20px;}.btn-small{flex:1; background: #FFF; border:2px solid var(--candy-stripe);color:var(--candy-red); padding: 10px; border-radius:20px;font-weight:bold; cursor: pointer; text-align:center;text-decoration:none; font-family: var(--font-body); font-size:0.9rem;}input{width:100%; padding: 15px; border-radius:15px;border:2px solid #FFDEE9; background: #FFF; color:var(--chocolate);text-align:center; font-size: 1.2rem; font-weight:600;margin-bottom:10px; outline: none; font-family:var(--font-body);}input:focus{border-color: var(--candy-red); background:#FFF5F7;}.result-frame{padding:10px; background: #FFF; border-radius:25px;box-shadow:0 10px 30px rgba(0,0,0,0.1); margin-bottom:15px;width:100%; max-width:350px;}.result-media{width:100%; height: auto; max-height:55vh;object-fit:contain; border-radius: 20px; display:block;}#chrono-alert{position:fixed; top: 0; left: 0; width: 100%; height:100%;background:rgba(93, 64, 55, 0.8);display:none;justify-content:center; align-items:center;z-index:9999;backdrop-filter:blur(5px);}#chrono-alert.visible{opacity:1; pointer-events:all;}.alert-box{background:#FFF; border:2px solid var(--candy-red);padding:25px; width: 90%; max-width:350px;text-align:center; border-radius:25px;box-shadow:0 20px 50px rgba(0,0,0,0.3);animation:popIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);}@keyframes popIn{0%{transform:scale(0.8); opacity: 0;}100%{transform: scale(1); opacity:1;}}.alert-title{font-family:var(--font-title); color:var(--candy-red);font-size:1.8rem; margin: 0 0 10px 0; line-height:1;}.alert-msg{margin-bottom:20px; line-height: 1.4; color: var(--chocolate); font-size:1rem;}#time-tunnel{position:fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 245, 245, 0.98); z-index: 5000; display: none; align-items: center; justify-content: center; flex-direction: column; text-align: center; padding:20px;}.spinner{width:70px; height: 70px; border: 6px solid #FFE0E6; border-top: 6px solid var(--candy-red); border-radius: 50%; animation:spin 1s linear infinite;}@keyframes spin{100%{transform:rotate(360deg);}}.magic-text{margin-top:25px; font-family: var(--font-title); font-size: 1.8rem; color: var(--candy-red); animation:pulse 2s infinite;}@keyframes pulse{0%, 100%{opacity:0.6;}50%{opacity:1;}}.nuvol-footer{position:absolute; bottom: 5px; width: 100%; text-align: center; font-size: 0.65rem; color: rgba(93, 64, 55, 0.4); z-index: 100; font-family: var(--font-body); pointer-events: none; display: flex; flex-direction: column; gap:2px;}.nuvol-footer a{color:var(--candy-red); text-decoration: none; pointer-events: all; font-weight:bold;}.ai-disclaimer{font-size:0.55rem; opacity: 0.6; max-width: 90%; margin: 0 auto; letter-spacing:0.3px;}.modal-overlay{position:fixed; top: 0; left: 0; width: 100%; height:100%;background:rgba(93, 64, 55, 0.9); backdrop-filter:blur(5px);z-index:2000; display: none; align-items: center; justify-content:center;}.modal-overlay.open{opacity:1; pointer-events:all;}.modal-box{background:#FFF; border: 1px solid #FFDEE9; padding:20px;width:90%; max-width: 400px; border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,0.2); text-align:center;position:relative;display:flex; flex-direction:column;max-height:90vh;}.modal-box h3{color:var(--candy-red); font-family: var(--font-title); font-size:1.2rem;margin-top:0; margin-bottom:10px;}.legal-scroll-area{text-align:left;background:rgba(0,0,0,0.03); padding: 15px; border-radius:10px;border:1px solid #EEE; margin-bottom:10px;overflow-y:auto;flex-grow:1;}.legal-scroll-area p{color:#666; font-size: 0.85rem; margin-bottom: 10px; line-height:1.4;}.legal-scroll-area ul{list-style:none;padding:0;margin:0;}.legal-scroll-area ul li{margin-bottom:15px;padding-left:0;position:relative;line-height:1.4;color:#555;font-size:0.9rem;}.legal-scroll-area strong{color:var(--candy-red);display:block;margin-bottom:3px;font-size:0.95rem;}.help-list{list-style:none; padding: 0; margin: 0 0 20px 0; text-align:left;}.help-list li{display:flex; align-items: flex-start; margin-bottom: 10px; font-size: 0.9rem; color: #666; line-height:1.3;}.help-list li .icon{font-size:1.1rem; margin-right: 10px; min-width:20px;}.help-list strong{color:var(--candy-red); display: block; margin-bottom: 1px; font-size:0.8rem;}.modal-box .btn-main{flex-shrink:0; margin-top:10px;}#userGalleryModal.modal-overlay{z-index:3000 !important; background:rgba(0, 0, 0, 0.95);}.gallery-grid{display:grid; grid-template-columns: repeat(2, 1fr); gap: 8px; padding:5px;}.gallery-item{background:#151515; border: 1px solid #333; border-radius: 6px; overflow: hidden; position: relative; display: flex; flex-direction:column;}.gallery-media-container{width:100%; aspect-ratio: 1/1; background: #000; display: flex; align-items: center; justify-content: center; overflow: hidden; position:relative;}.gallery-media-container img, .gallery-media-container video{width:100%; height: 100%; object-fit:cover;}.gallery-placeholder{color:var(--gold); font-size: 1.5rem; animation:pulse 1.5s infinite;}.gallery-info{padding:6px; font-size: 0.7rem; background: #1a1a1a; display: flex; justify-content: space-between; align-items: center; border-top:1px solid #222;}.gallery-btn-download{color:var(--gold); text-decoration: none; font-weight: bold; font-size: 0.65rem; border: 1px solid var(--gold-dim); padding: 3px 8px; border-radius: 10px; background:rgba(212, 175, 55, 0.1);}