/* Tramoya — diseño tipo papel, blanco/negro estricto */ * { box-sizing: border-box; margin: 0; padding: 0; } html, body { background: #FFFFFF; color: #000000; font-family: 'Inter', -apple-system, system-ui, sans-serif; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } code, pre { font-family: 'JetBrains Mono', 'Courier New', monospace; font-size: 0.92em; } a { color: #000000; text-decoration: underline; text-underline-offset: 2px; } a:hover { text-decoration: none; } /* Layout principal */ .page { max-width: 720px; margin: 0 auto; padding: 96px 24px 64px; } /* Cabecera */ .masthead { text-align: left; margin-bottom: 64px; } .title { font-family: 'Playfair Display', Georgia, serif; font-weight: 900; font-size: 64px; line-height: 1; letter-spacing: -0.02em; margin-bottom: 16px; } .subtitle { font-family: 'Inter', sans-serif; font-size: 20px; font-weight: 400; color: #000000; margin-bottom: 8px; } .byline { font-size: 13px; color: #555555; } /* Introducción */ .intro { margin-bottom: 48px; } .intro p { font-size: 17px; line-height: 1.65; } /* Aviso de privacidad: filete arriba y abajo */ .privacy { border-top: 1px solid #000000; border-bottom: 1px solid #000000; padding: 20px 0; margin-bottom: 56px; text-align: center; } .privacy p { font-size: 14px; color: #000000; max-width: 560px; margin: 0 auto; } /* Error */ .error { border: 1px solid #8B0000; color: #8B0000; padding: 16px 20px; margin-bottom: 24px; font-size: 14px; } /* Zona de subida */ .upload { margin-bottom: 56px; } .dropzone { display: flex; align-items: center; justify-content: center; min-height: 200px; border: 1px dashed #000000; padding: 32px; cursor: pointer; text-align: center; transition: border-style 0.15s ease, background 0.15s ease; } .dropzone:hover, .dropzone.is-dragover { border-style: solid; background: #FAFAFA; } .dropzone-text { font-size: 16px; color: #000000; max-width: 420px; } .dropzone-text code { background: transparent; } .processing { margin-top: 16px; text-align: center; font-size: 14px; color: #555555; } .processing .dot { animation: blink 1s infinite; display: inline-block; } @keyframes blink { 0%, 50% { opacity: 1; } 51%, 100% { opacity: 0; } } /* Resultados */ .results { margin-bottom: 56px; } .stats { border-top: 1px solid #000000; border-bottom: 1px solid #000000; padding: 20px 0; margin-bottom: 40px; font-size: 15px; text-align: center; } .bundle { padding: 28px 0; border-bottom: 1px solid #E5E5E5; } .bundle:last-child { border-bottom: none; } .bundle h2 { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: 24px; margin-bottom: 6px; letter-spacing: -0.01em; } .bundle p { font-size: 15px; color: #555555; margin-bottom: 16px; } .actions { display: flex; gap: 12px; flex-wrap: wrap; } /* Botones: rectángulos negros, texto blanco, sin radio */ .btn { font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500; padding: 12px 24px; background: #000000; color: #FFFFFF; border: 1px solid #000000; border-radius: 0; cursor: pointer; transition: background 0.15s ease, color 0.15s ease; letter-spacing: 0.01em; } .btn:hover { background: #FFFFFF; color: #000000; } .btn:disabled { opacity: 0.4; cursor: not-allowed; } /* Controles IA */ .ai-controls { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; } .btn-secondary { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 500; padding: 10px 18px; background: #FFFFFF; color: #000000; border: 1px solid #000000; border-radius: 0; cursor: pointer; transition: background 0.15s ease, color 0.15s ease; letter-spacing: 0.01em; } .btn-secondary:hover { background: #000000; color: #FFFFFF; } .btn-secondary:disabled { opacity: 0.5; cursor: not-allowed; background: #FFFFFF; color: #000000; } .ai-status { font-size: 13px; color: #555555; flex: 1; min-width: 200px; } .ai-status.is-error { color: #8B0000; } /* Pie */ .colophon { border-top: 1px solid #000000; padding-top: 24px; text-align: center; font-size: 13px; color: #555555; } .colophon a { color: #555555; } /* Móvil */ @media (max-width: 600px) { .page { padding: 56px 20px 48px; } .title { font-size: 48px; } .subtitle { font-size: 18px; } .intro p { font-size: 16px; } .actions { flex-direction: column; } .btn { width: 100%; } }